-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese
Erfindung betrifft im Allgemeinen die Verarbeitung von Computergraphiken
für die
Anzeige auf einem Fernsehgerät
und insbesondere das Flimmerfiltern für Computergraphikdaten.
-
2. Beschreibung des Standes
der Technik
-
Infolge
der kontinuierlichen Entwicklung von neuen Technologien wird die
Unterscheidung zwischen Computern, insbesondere Computermonitoren,
und Fernsehgeräten
zunehmend verschwommen. Mit anderen Worten, die Computernetzwerke
wie z. B. das Internet und das World Wide Web waren gewöhnlich fast ausschließlich ein
Computerphänomen.
Nun können
jedoch auch Fernsehgeräte
verwendet werden, um auf diese Netzwerke zuzugreifen. Als weiteres
Beispiel gehörte
gewöhnlich
die Rundfunkunterhaltung deutlich zur Fernsehdomäne. Nun bieten jedoch viele
Dienstanbieter Unterhaltung für
Computerbenutzer über
Computernetzwerke an. Infolge dieser Konvergenz besteht ein Bedarf,
Computergraphiken, die ursprünglich
für Computer
bestimmt waren, auf Fernsehgeräten
anzuzeigen.
-
Fernsehgeräte und Computer
verwenden jedoch im Allgemeinen inkompatible Graphikformate. Viele Formate
für Computermonitore
und Flachbildschirme sind beispielsweise ohne Zeilensprung. Mit
anderen Worten, das ganze Vollbild von Computergraphiken wird auf
einmal aktualisiert. Im Gegensatz dazu sind viele übliche Fernsehformate
mit Zeilensprung, was bedeutet, dass das Vollbild in ungerade und
gerade Halbbilder unterteilt wird und nur ein Halbbild oder die
Hälfte
des Vollbildes auf einmal aktualisiert wird.
-
Um
Computergraphiken auf einem Fernsehgerät anzuzeigen, müssen die
Computergraphiken folglich häufig
von einem Format ohne Zeilensprung in eines mit Zeilensprung umgewandelt
werden. Diese Umwandlung umfasst typischerweise das Fallenlassen
von Zeilen der Anzeige. Dies führt
jedoch unerwünschte
visuelle Effekte infolge der Umwandlung von einem Format ohne Zeilensprung
in eines mit Zeilensprung ein.
-
Zusätzlich zum
Umwandlungsprozess führt
der Stand der Technik auch eine Flimmerfilterung durch, um die Bildqualität zu verbessern.
Zwei übliche
Arten von Flimmerfilterung sind 2-Abgriff- und 3-Abgriff-Filterung,
wobei entweder zwei oder drei Zeilen ohne Zeilensprung kombiniert
werden, um jede Zeile zusammen zu bilden. Der Stand der Technik
hat versucht, die Flimmerfilterung durch Fallenlassen von Zeilen
in sowohl geraden als auch ungeraden Halbbildern durchzuführen, um
zu veranlassen, dass das Bild ohne Zeilensprung vertikal an die
für Anzeigen
mit Zeilensprung übliche
Abtastzeile angepasst wird.
-
Es
gibt jedoch zwei Probleme bei der Methode des Standes der Technik.
Erstens erfordert der Stand der Technik, dass das Flimmerfiltern
und die Umwandlung seriell nacheinander durchgeführt werden. Überdies erfordert
jeder Prozess, das Flimmerfiltern und die Umwandlung, seine eigene
Hardware oder einen Universalgraphikprozessor mit einer Software
zum Durchführen
jedes Prozesses. Ferner stellt der Stand der Technik kein Verfahren
bereit, um sowohl 2-Abgriff- als auch 3-Abgriff-Flimmerfiltern durchzuführen.
-
WO 96/35203 A1 offenbart
ein RGB/YUV-Faltungssystem, das Hochfrequenzinformationen in einer Computeranzeige
mit Zeilensprung glättet,
um das Flimmern zu vermeiden. Eine Y-Komponente einer Zeile über und
unter der aktuellen Abtastzeile wird derart gemittelt, dass eine
verringerte Anzahl von Hardwarekomponenten erforderlich ist. Das
eingehende Signal wird zu einem Kombinator und einem ersten Zeilenpuffer
gesandt. Ein Signal vom Kombinator wird über eine Schiebeeinheit zu
einem zweiten Puffer zugeführt
und von dort wieder dem Kombinator zugeführt. Das Y-Komponenten-Ausgangssignal
ist dann das gemittelte Signal. Dieses Y-Komponenten-Ausgangssignal
wird dann zusammen mit den U- und V-Komponenten in einem Codierer
in ein Signal codiert, das für
die Anzeige geeignet ist.
-
Folglich
besteht ein Bedarf für
Verfahren mit der Fähigkeit,
sowohl eine 2-Abgriff- als auch 3-Abgriff-Filterung zu implementieren.
Außerdem
besteht ein Bedarf, diese Operationen durchzuführen, während die Hardwareanforderungen
minimiert werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
Erfindung ist in Anspruch 1 definiert.
-
Spezielle
Ausführungsbeispiele
sind in den abhängigen
Ansprüchen
dargelegt.
-
Gemäß der vorliegenden
Erfindung umfasst eine Vorrichtung, die sowohl 2-Abgriff- als auch
3-Abgriff-Flimmerfiltern von Zeilen von Computergraphikdaten ohne
Zeilensprung zum Erzeugen von Zeilen mit Zeilensprung durchführen kann,
einen Datenpacker, einen Datenentpacker und eine Filterschaltung.
-
Die
Filterschaltung empfängt
Zeilen ohne Zeilensprung von einer Computergraphikquelle und empfängt auch
Zeilen, die vorübergehend
in zwei Zeilenpuffern gespeichert werden. Die Filterschaltung filtert
die empfangene Zeilen, um gefilterte Zeilen zu erzeugen. Der Datenpacker
wandelt die gefilterten Zeilen in ein Format um, das für die Zeilenpuffer
geeignet ist, und schreibt sie dann in die Zeilenpuffer. Der Datenentpacker liest
die in den Zeilenpuffern gespeicherten Zeilen und wandelt sie in
ein Format um, das für
die Filterschaltung geeignet ist. Die gelesenen Zeilen werden entweder
zur Filterschaltung zum weiteren Filtern gesandt oder werden ausgegeben,
damit sie angezeigt werden. Sowohl das 2-Abgriff- als auch 3-Abgriff-Flimmerfiltern
können durch
Verändern
der Reihenfolge und/oder Anzahl von Lese-, Schreib- und Filteroperationen
durchgeführt werden.
-
Die
vorliegende Erfindung ist besonders vorteilhaft, da sowohl das 2-Abgriff-
als auch 3-Abgriff-Flimmerfiltern durch dieselbe Hardware durchgeführt werden
können. Überdies
ist die Hardware vereinfacht, da dieselben Grundfunktionen des Lesens,
Schreibens und Filterns verwendet werden, um sowohl das 2-Abgriff- als
auch 3-Abgriff-Flimmerfiltern
durchzuführen.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
Die
Erfindung hat weitere Vorteile und Merkmale, die aus der folgenden
ausführlichen
Beschreibung der Erfindung und den beigefügten Ansprüchen in Verbindung mit der
zugehörigen
Zeichnung leichter ersichtlich sind, in welchen gilt:
-
1 ist
ein Blockdiagramm eines Systems mit der vorliegenden Erfindung;
-
2 ist
ein Blockdiagramm eines bevorzugten Ausführungsbeispiels der Flimmerfiltervorrichtung 104 von 1,
die verwendet wird, um den Datenfluss durch die Vorrichtung darzustellen;
-
3A ist
ein Blockdiagramm eines bevorzugten Ausführungsbeispiels der Flimmerfiltervorrichtung 104 von 1 und 2;
-
3B ist
ein Blockdiagramm eines zweiten alternativen Ausführungsbeispiels
der Flimmerfiltervorrichtung 104;
-
4A und 4B sind
Ablaufdiagramme, die ein Verfahren zum 2-Abgriff-Flimmerfiltern unter Verwendung der
Flimmerfiltervorrichtung 104 von 3 darstellen;
-
5A und 5B sind
Ablaufdiagramme, die ein Verfahren zum 3-Abgriff-Flimmerfiltern unter Verwendung der
Flimmerfiltervorrichtung 104 von 3 darstellen;
-
6A und 6B sind
Ablaufdiagramme, die ein zweites Verfahren zum 3-Abgriff-Flimmerfiltern unter
Verwendung der Flimmerfiltervorrichtung 104 von 3 darstellen;
-
7A und 7B sind
Ablaufdiagramme, die ein drittes Verfahren zum 3-Abgriff-Flimmerfiltern unter
Verwendung der Flimmerfiltervorrichtung 104 von 3 darstellen; und
-
8 ist
ein Ablaufdiagramm, das die Erzeugung von Ausgangssteuersignalen
aus Eingangssteuersignalen unter Verwendung der Flimmerfiltervorrichtung 360 von 3B darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSBEISPIELE
-
1 ist
ein Blockdiagramm eines Systems 100, das die vorliegende
Erfindung einschließt.
Das System 100 umfasst eine Datenquelle 102, eine
Flimmerfiltervorrichtung 104, einen Anzeigecodierer 106 und
zwei Zeilenpuffer 108 und 110. Die Datenquelle 102 ist
zum Senden von Eingangsdaten und eines Eingangssteuersignals zur
Flimmer-filtervorrichtung 104 auf den Leitungen 112 bzw. 114 gekoppelt.
Fachleute werden erkennen, dass die Flimmerfiltervorrichtung 104 auch
viele Eingangsdaten und jeweilige Steuersignale empfangen und verarbeiten
könnte.
Die Flimmerfilter-vorrichtung 104 ist zum Senden von Ausgangsdaten
und eines Ausgangssteuersignals zum Anzeigecodierer 106 auf
Leitungen 116 bzw. 118 gekoppelt. Die Flimmerfiltervorrichtung 104 ist
auch zum Schreiben und Lesen von Daten in die und aus den Zeilenpuffern 108 und 110 auf den
Leitungen 120, 122, 124 bzw. 126 gekoppelt.
Die Lese/Schreib-Operationen werden durch Steuersignale gesteuert,
die von der Flimmerfiltervorrichtung 104 zu den Zeilenpuffern 108 und 110 auf
den Leitungen 128 bzw. 130 gesandt werden.
-
Die
Datenquelle 102 liefert Computergraphiken in einer Form
ohne Zeilensprung und entsprechende Steuersignale zur Flimmerfiltervorrichtung 104.
Bei einem Ausführungsbeispiel
ist die Datenquelle 102 ein Streamprozessor oder ein anderer ähnlicher
Graphikprozessor, insbesondere eine CRT-Steuereinheit. Bei einem
beispielhaften Ausführungsbeispiel
ist die Datenquelle 102 ein Trio 64 V+ oder VIRGE-Graphiksteuereinheitschip,
der von S3 Incorporated in Santa Clara, Kalifornien, hergestellt
wird. Bei einem bevorzugten Ausführungsbeispiel
ist die Datenquelle 102 ein MUX, der aus einer Anzahl von
verschiedenen Datenquellen, einschließlich Streamprozessoren, auswählen kann.
Bei einem bevorzugten Ausführungsbeispiel
sind die Eingansdaten von der Datenquelle 102 auf der Leitung 112 digitale
Daten im RGB-Format.
-
Die
Flimmerfiltervorrichtung 104 empfängt die Eingangsdaten ohne
Zeilensprung auf der Leitung 112 und flimmerfiltert die
Daten, um Ausgangsdaten mit Zeilensprung auf der Leitung 116 zu
erzeugen. Die Vorrichtung 104 erzeugt auch das entsprechende Ausgangssteuersignal
auf der Leitung 118. Bei einem bevorzugten Ausführungsbeispiel
umfasst die Flimmerfiltervorrichtung 104 vier Betriebsarten.
Erstens kombiniert die Flimmerfiltervorrichtung 104 in
der 2-Abgriff-Filterbetriebsart zwei Zeilen von Eingangsdaten ohne
Zeilensprung, um jede Zeile von Ausgangsdaten mit Zeilensprung zu
erzeugen. Zweitens kombiniert die Flimmerfiltervorrichtung 104 in
der 3-Abgriff-Filterbetriebsart drei Zeilen von Eingangsdaten ohne
Zeilensprung, um jede Zeile von Ausgangsdaten mit Zeilensprung zu
erzeugen. Drittens empfängt
die Flimmerfiltervorrichtung 104 in der Betriebsart ohne
Filtern Daten ohne Zeilensprung auf der Leitung 112, leitet
sie zum Anzeigecodierer 106 über die Leitung 116 ohne
irgendeine Flimmerfilterung weiter. Viertens empfängt die
Flimmerfiltervorrichtung 104 in einer Betriebsart mit nur
Umwandlung Daten ohne Zeilensprung und wandelt sie von ohne Zeilensprung in
mit Zeilensprung um und dann werden sie zum Anzeigecodierer 106 über die
Leitung 116 ohne irgendeine Flimmerfilterung weitergeleitet.
-
Der
Anzeigecodierer 106 empfängt die Ausgangsdaten mit Zeilensprung
auf der Leitung 116 und sieht eine Quelle für Daten
mit Zeilensprung für
eine Anzeigevorrichtung (in 1 nicht
gezeigt) vor. Bei einigen Ausführungsbeispielen
kann der Anzeigecodierer 106 das Format der eingehenden
Daten in ein Format umwandeln, das für die Anzeigevorrichtung geeigneter
ist. Bei einem bevorzugten Ausführungsbeispiel
ist die Anzeigevorrichtung beispielsweise ein Fernsehgerät und der
Anzeigecodierer 106 ist ein TV-Codierer. Der TV-Codierer 106 kann
die empfangenen Daten auf der Leitung 116 von einem digitalen
in ein analoges Format und/oder von einem Signal in diskreter Zeit
in eines in kontinuierlicher Zeit und/oder zwischen verschiedenen Farbformaten
umwandeln.
-
Die
Zeilenpuffer 108 und 110 werden während der
Flimmerfilterung verwendet. Bei einem bevorzugten Ausführungsbeispiel
wird nur einer der Zeilenpuffer 108 oder 110 für das 2-Abgriff-Filtern
verwendet; während beide
Puffer 108 und 110 für das 3-Abgriff-Filtern verwendet werden.
-
Bei
einem bevorzugten Ausführungsbeispiel
sind die Zeilenpuffer 108 und 110 ein statischer
Mehrzweck-RAM, der auch für
andere Zwecke verwendet werden kann. Wenn sich die Flimmerfiltervorrichtung 104 beispielsweise
in der 2-Abgriff-Betriebsart befindet und der Puffer 108 für das 2-Abgriff-Filtern
verwendet wird, dann kann der Puffer 110 für andere,
vielleicht vollständig
nicht in Zusammenhang stehende Zwecke verwendet werden. Als spezielles
Beispiel ist bei einem bevorzugten Ausführungsbeispiel die Datenquelle 102 ein Streamprozessor
und der Zeilenpuffer 110 wird mit dem Streamprozessor gemeinsam
genutzt. In der 2-Abgriff-Betriebsart kann der Streamprozessor dann
den Zeilenpuffer 110 verwenden, um einen sekundären Strom vertikal
zu interpolieren. In der Betriebsart ohne Filtern können beide
Zeilenpuffer 108 und 110 für andere Zwecke, wie z. B.
Unterstützen
eines zweiten Videostroms für
eine Videokonferenz, verwendet werden.
-
2 ist
ein Blockdiagramm eines bevorzugten Ausführungsbeispiels der Flimmerfiltervorrichtung 104 von 1,
die verwendet wird, um den Datenfluss durch die Vorrichtung darzustellen.
Die Flimmerfiltervorrichtung 104 umfasst eine Filterschaltung 200,
einen Datenpacker 202 und einen Datenentpacker 204.
Alle in 2 gezeigten Leitungen sind Datenleitungen.
-
Die
Filterschaltung
200 weist zwei Eingänge und einen Ausgang auf.
Ein erster Eingang ist dazu ausgelegt, Eingansdaten in einem externen
Format auf der Leitung
112A zu empfangen; der zweite Eingang
ist zum Empfangen von Daten vom Datenentpacker
204 auf
der Leitung
220 gekoppelt. Der Ausgang ist zum Senden von
Daten zum Datenpacker
202 auf der Leitung
222 gekoppelt.
Die Filterschaltung
200 kombiniert die zwei Eingangsdatenströme, von
denen jeder typischerweise eine Zeile von Computergraphiken darstellt,
in eine einzelne gefilterte Datenzeile, die an den Datenpacker
202 ausgegeben
wird. Bei einem bevorzugten Ausführungsbeispiel
bildet die Filterschaltung
200 eine gewichtete Summe der
zwei Eingangszeilen. Mit anderen Worten, jede der Eingangszeilen
wird mit einer Konstante multipliziert, und die zwei Produkte werden
dann summiert, um die gefilterte Zeile zu bilden. Bei anderen Ausführungsbeispielen
kann die Filterschaltung
200 mehr als zwei Datenströme zu einer
einzelnen gefilterten Datenzeile kombinieren und/oder kann mehr
als einen Datenstrom auf entweder der Leitung
112A oder
220 empfangen.
Die Filterschaltung
200 kann beispielsweise ein Standardfilter
verwenden, wie z. B. wenn die erste Zeile mit f multipliziert wird
und die zweite Zeile mit (1-f) multipliziert wird, wobei 0 ≤ f ≤ 1. Noch spezieller
ist ein solches beispielhaftes Filter unter Verwendung eines Pixels
von der Zeile 1 (Zeile 1) und eines Pixels von der Zeile 2 (Zeile
2) in der Gleichung gegeben:
-
Bei
diesem Beispiel sind die Pixel jeweils 8 Bits, während f 4 Bits ist. Jeder Zähler ist
daher 12 Bits. Das Dividieren durch 16 verringert das Ergebnis auf
8 Bits.
-
Der
Datenpacker 202 ist dazu ausgelegt, Datenzeilen in die
Zeilenpuffer 108 und 110 über die Leitungen 120 und 124 zu
schreiben. Der Datenpacker 202 empfängt die gefilterte Zeile von
der Filterschaltung 200, wandelt die gefilterte Zeile von
ihrem externen Format in ein internes Format um und schreibt dann
die Zeile in einen der Zeilenpuffer 108 oder 110.
-
Die
Begriffe "intern" und "extern" beziehen sich auf
die Zeilenpuffer 108 und 110. Das "interne Format" ist das Format,
das beim Speichern von Daten in den Zeilenpuffern 108 und 110 verwendet
wird; während
das "externe Format" dasjenige ist, das
beim Verarbeiten von Daten in der Filterschaltung 200 verwendet
wird.
-
Bei
einem bevorzugten Ausführungsbeispiel
ist das "externe
Format" das 4:4:4-YCrCb-Format mit Vorzeichen;
während
das "interne Format" entweder das 4:2:2-
oder das 4:1:1-YCrCb-Format sein kann. Das YCrCb-Format ist vorteilhaft,
da viele Filter stark auf dem Leuchtdichtewert beruhen, der Y in
YCrCb ist. Das 4:2:2- und das 4:1:1-Format sind kürzer als das 4:4:4-Format,
was folglich die Verwendung von kleineren Zeilenpuffern 108 und 110 ermöglicht oder
alternativ ermöglicht,
dass eine komplexere Filterung mit Zeilenpuffern mit derselben Größe durchgeführt wird.
Daten, die beispielsweise 24 Bits pro Pixel (bpp) im 4:4:4-Format
erfordern, würden
16 bpp im 4:2:2-Format und 12 bpp im 4:1:1-Format erfordern. Die
Umwandlung der Daten durch den Datenpacker 202 vom 4:4:4-YCrCb-Format
in das 4:2:2- oder 4:1:1-YCrCb-Format kann unter Verwendung irgendeiner
von mehreren Schaltungen und Verfahren, die auf dem Fachgebiet gut
bekannt sind, durchgeführt
werden.
-
Der
Datenentpacker 204 ist dazu ausgelegt, Datenzeilen aus
den Zeilenpuffern 108, 110 jeweils über die
Leitungen 122, 126 zu lesen. Der Datenentpacker 204 empfängt die
Datenzeile vom Zeilenpuffer 106 oder 110, wandelt
die Zeile vom internen in das externe Format um und sendet dann
entweder die Zeile zur Filterschaltung 200 für eine weitere f4-Iterierung oder gibt die
Datenzeile auf der Leitung 116A aus. Der Datenentpacker 204 wandelt
die Daten vom 4:2:2- oder 4:1:1-YCrCb-Format in das 4:4:4-YCrCb-Format
unter Verwendung von irgendeiner der herkömmlichen Schaltungen oder Verfahren,
die auf dem Fachgebiet gut bekannt sind, um.
-
Die
allgemeine Operation der Flimmerfiltervorrichtung 104 ergibt
sich wie folgt. Die Zeilenpuffer 108 und/oder 110 halten
Zwischenergebnisse. Der Datenentpacker 204 liest diese
Zwischenergebnisse aus den Zeilenpuffern 108 und 110.
Wenn das Zwischenergebnis eine vollendete Zeile mit Zeilensprung
ist, dann wird sie auf der Leitung 116A ausgegeben. Wenn
es keine vollendete Zeile mit Zeilensprung ist, dann kombiniert die
Filterschaltung 200 die Zwischenergebnisse mit einer eingehenden
Zeile ohne Zeilensprung, die auf der Leitung 112A empfangen
wird. Das neue Zwischenergebnis wird dann in die Zeilenpuffer 108 und 110 durch den
Datenpacker 202 geschrieben und der Prozess wird wiederholt.
-
Bei
einem alternativen Ausführungsbeispiel
ist der Datenpacker 202 auch dazu ausgelegt, Eingangsdaten
in einem externen Format auf der Leitung 112A zu empfangen,
was folglich das direkte Schreiben solcher Daten in die Zeilenpuffer 108 und 110 ermöglicht,
ohne zuerst einen Durchgang durch die Filterschaltung 200 zu
erfordern.
-
3A ist
ein detailliertes Blockdiagramm eines bevorzugten Ausführungsbeispiels
der Flimmerfiltervorrichtung 104 von 1 und 2.
Zusätzlich
zu den in 2 gezeigten Komponenten umfasst
die Flimmerfiltervorrichtung 104 ferner eine Zeilenpuffer-Schreibsteuerschaltung 302,
eine Zeilenpuffer-Lesesteuerschaltung 304, ein Eingangsregister 306,
einen Farbraumwandler 308, eine Ausgangssteuerschaltung 310 und
eine Taktschaltung 312. Vor der Beschreibung, wie die verschiedenen
Komponenten gekoppelt sind, ist es nützlich, die verschiedenen Signale
zu beschreiben, die von der Flimmerfiltervorrichtung 104 empfangen und
gesandt werden.
-
Die
Eingangsdaten auf der Leitung 112 umfassen 24 Bits von
RGB-Daten, die mit FID[23:0] bezeichnet sind.
-
Das
Eingangssteuersignal auf der Leitung
114 umfasst Steuersignale
zum Steuern des Betriebs der Flimmerfiltervorrichtung
104 und
Steuersignale zum Steuern der Anzeige der Eingangsdaten. Die ersteren
umfassen die in der nachstehenden Tabelle 1 gezeigten Signale; während die
letzteren in
3A mit "Steuerungen" bezeichnet sind und in Tabelle 2 zusammengefasst
sind. Tabelle 1: Eingangssteuersignale zum Steuern
der Flimmerfilterung Vorrichtung 104
Eingangssteuersignal | Funktion |
SR70[3:2] | Legt
das interne Format fest. |
SR80–88[8:0];
SR72[6] | Steuert
Koeffizienten für
den Farbraumwandler 308. |
SR70[5.1];
SR71–SR77 | Steuert
die Filterschaltung 200. |
SR70[4] | Steuert
die Ausgangssteuerschaltung 310. |
CR3D[0] | Aktiviert
die Flimmerfiltervorrichtung 104. |
SR70[0] | Aktiviert
die Flimmerfilterung. |
Tabelle 2: Eingangssteuersignale zum Steuern
der Anzeige der Eingabe Daten
Eingangssteuersignal | Funktion |
FIDCLK | Punkttakt |
FIHSYNC | Horizontale
Synchronisation |
FIVSYNC | Vertikale
Synchronisation |
FINDE | Horizontale
Anzeigefreigabe |
FINDE | Vertikale
Anzeigefreigabe |
FIODDF | Gibt
an, ob ungerades Halbbild oder gerades Halbbild erzeugt werden soll. |
FOSSDE | Gibt
den Ort von sekundären
Stromdaten an |
FIHBLANK | Horizontale
Austastung |
FIVBLANK | Vertikale
Austastung |
-
Die
Ausgangsdaten auf der Leitung 116 umfassen 24 Bits von
4:4:4-YCrCb-Daten, die mit FOD[23:0] bezeichnet sind.
-
Das
Ausgangssteuersignal auf der Leitung
118 umfasst die in
der nachstehenden Tabelle 3 gezeigten Signale. Tabelle 3: Ausgangssteuersignale
Ausgangssteuersignal | Funktion |
FODCLK | Punkttakt |
FCHSYNC | Horizontale
Synchronisation |
FOVSYNC | Vertikale
Synchronisation |
-
Die
Zeilenpuffer 108 und 110 können 720 16-Bit-Pixel oder
900 12-Bit-Pixel beim bevorzugten Ausführungsbeispiel von 3A speichern.
Daten werden in die Zeilenpuffer 108 und 110 in
128-Bit-Stücken
geschrieben oder aus diesen gelesen, wie durch die Signale LBIDW[127:0],
LBIDR[127:0], LB2DW[127:0] und LB2DR[127:0] angegeben.
-
Der
Zeilenpuffer
108 umfasst zwei Lesezeiger und einen Schreibzeiger.
Das Steuersignal für
den Zeilenpuffer
108 auf der Leitung
128 umfasst
die in nachstehender Tabelle 4 gezeigten Signale. Tabelle 4: Steuersignale für den Zeilenpuffer
108
Steuersignal | Funktion |
LBLRD | Leseimpuls
für den
ersten Lesezeiger |
LB1RD1 | Leseimpuls
für den
zweiten Lesezeiger |
LBLWR | Schreibimpuls |
LBIRDSEL | Wählt zwischen
dem ersten und dem zweiten Lesezeiger aus |
LBLRST | Rücksetzen
von erstem Lesezeiger und Schreibzeiger |
LB1RST1 | Rücksetzen
von zweitem Lesezeiger |
-
Der
Zeilenpuffer 110 umfasst einen Lesezeiger und einen Schreibzeiger.
Das Steuersignal für
den Zeilenpuffer 110 auf der Leitung 130 umfasst
LB2RD, einen Leseimpuls; LB2WR, einen Schreibimpuls; und LB2RST,
ein Rücksetzen
für die
Lese- und Schreibzeiger.
-
Die
Kopplungen und Basisfunktionen von jeder der Komponenten in der
Flimmerfiltervorrichtung 104 werden nun beschrieben.
-
Die
Taktschaltung 312 ist dazu ausgelegt, den Eingangstakt
FIDCLK und verschiedene andere Eingangssteuersignale auf der Leitung 114 zu
empfangen, und gibt zwei Takte aus: FICLK und FFCLK. Insbesondere
wird FIDCLK invertiert und dann mit CR3D[0] (Schaltungsaktivierung)
und SR70[0] (Flimmerfilteraktivierung) torgesteuert, um FICLK zu
erzeugen, was Eingangsdaten und Eingangssteuersignale im Eingangsregister 306 zwischenspeichert
und auch den Farbraumwandler 308 taktet. FICLK wird wiederum
invertiert und mit SR70[0] torgesteuert, um FFCLK zu erzeugen, was
den Rest der Flimmerfiltervorrichtung 104 taktet. Der Versatz
von FIDCLK zu FICLK und der Versatz von FICLK zu FFCLK sind vorzugsweise
jeweils weniger als die Hälfte
der minimalen Taktperiode.
-
Das
Eingangsregister 306 ist dazu ausgelegt, die Eingangsdaten
auf der Leitung 112 und Steuerungen auf der Leitung 114 zu
empfangen, und ist auch zum Empfangen des Takts FICLK von der Taktschaltung 312 gekoppelt.
Das Register 306 speichert die Eingangsdaten und Eingangssteuersignale
bei der steigenden Flanke von FICLK und gibt dann die zwischengespeicherten
Steuerungen und RGB-Daten, die nun als FFD[23:0] bezeichnet sind,
aus.
-
Der
Farbraumwandler 308 ist zum Empfangen der Steuerungen und
RGB-Daten FFD[23:0] vom Eingangsregister 306 gekoppelt
und ist auch zum Empfangen von FICLK von der Taktschaltung 312 für Taktzwecke
gekoppelt. Der Farbraumwandler 308 ist auch dazu ausgelegt,
verschiedene andere Eingangssteuersignale auf der Leitung 114 zu
empfangen. Der Farbraumwandler 308 führt eine anfängliche
Farbverarbeitung an den Eingangsdaten durch, teilweise in Reaktion
auf die auf der Leitung 114 empfangenen Steuersignale.
Insbesondere wandelt der Farbraumwandler 308 die Eingangsdaten
vom RGB-Format in das 4:4:4-YCrCb-Format mit Vorzeichen, das externe
Format, um. Der Farbraumwandler 308 kann auch eine andere
anfängliche Verarbeitung
durchführen,
wie z. B. Farbeinstellungen oder Farbintensitätsfilterung. Bei einem bevorzugten Ausführungsbeispiel
umfasst der Farbraumwandler 308 ein 9-Abgriff-Farbintensitätsfilter
(nicht dargestellt), das die Farbintensitätsfilterung am Ausgangssignal
aus dem Farbraumwandler durchführt.
Vorzugsweise verwendet das Farbintensitätsfilter Koeffizienten von
{3, 6, 8, 10, 10, 10, 8, 6, 3} und skaliert mit 1/64. Die verarbeiteten
Daten, nun im YCrCb-Format, werden auf der Leitung 112A ausgegeben.
Die entsprechenden Steuerungen werden auch durch den Farbraumwandler 308 ausgegeben.
-
Die
Filterschaltung 200 ist zum Empfangen der Steuerungen und
der YCrCb-Daten vom Farbraumwandler 308 gekoppelt. Die
Filterschaltung 200 ist auch zum Empfangen von Daten vom
Datenentpacker 204 auf der Leitung 220 gekoppelt.
Die Filterschaltung 200 ist ferner zum Empfangen von FFCLK
von der Taktschaltung 312 auf der Leitung 115 gekoppelt
und dazu ausgelegt, verschiedene Eingangssteuersignale SR70[5,1]
und SR71–SR77
auf der Leitung 114 zu empfangen. Wie vorher beschrieben,
kombiniert die Filterschaltung 200 die empfangenen Eingangsdatenströme zu einer
einzelnen gefilterten Datenzeile, die an den Datenpacker 202 auf
der Leitung 222 ausgegeben wird. Obwohl 3A nur
zwei Leitungen 112A und 220 zum Empfangen von
zu filternden Daten darstellt, dient diese Beschreibung für Klarheitszwecke
in 3A. Die Filterschaltung 200 ist nicht
auf das Kombinieren von zwei Datenströmen auf einmal begrenzt. Die
Filterung wird durch die verschiedenen empfangenen Steuersignale
gesteuert und durch FFCLK getaktet.
-
Der
Datenpacker 202 ist zum Empfangen der gefilterten Daten
von der Filterschaltung 200 auf der Leitung 222 gekoppelt.
Der Datenpacker 202 ist auch zum Empfangen von Daten im
externen Format, 4:4:4-YCrCb-Format bei diesem Ausführungsbeispiel,
direkt vom Farbraumwandler 308 auf der Leitung 112A gekoppelt.
Der Datenpacker 202 ist ferner zum Empfangen von Steuersignalen
von der Schreibsteuerschaltung 302, die dazu ausgelegt
ist, Eingangssteuersignale auf der Leitung 114 zu empfangen,
gekoppelt und zum Empfangen von FFCLK von der Taktschaltung 312 gekoppelt.
Wie vorher beschrieben, wandelt der Datenpacker 202 empfangene
Datenzeilen vom externen Format in ein internes Format um und schreibt
dann die umformatierte Zeile in einen der Zeilenpuffer 108 oder 110 über die
Leitungen 120 oder 124.
-
Die
Zeilenpuffer-Schreibsteuerschaltung 302 steuert das Schreiben
von Daten vom Datenpacker 202 in die Zeilenpuffer 108 oder 110.
Insbesondere ist die Schreibsteuerschaltung 302 zum Empfangen
von Steuerungen vom Farbraumwandler 308 und FFCLK von der
Taktschaltung 312 gekoppelt und ist dazu ausgelegt, Eingangssteuersignale
auf der Leitung 114 zu empfangen. In Reaktion auf diese
Eingangssignale erzeugt die Schreibsteuerschaltung 302 Steuersignale
für den
Datenpacker 202 und Schreibsteuersignale für die Zeilenpuffer 108 und 110 auf
den Leitungen 128 bzw. 130.
-
Der
Datenentpacker 204 ist dazu ausgelegt, Datenzeilen von
den Zeilenpuffern 108 und 110 über Leitungen 122 und 126 zu
empfangen. Der Datenentpacker 204 ist ferner zum Empfangen
von Steuersignalen von der Lesesteuerschaltung 304 gekoppelt
und dazu ausgelegt, Eingangssteuersignale auf der Leitung 114 zu
empfangen. Wie vorher beschrieben, wandelt der Datenentpacker 204 empfangene
Zeilen vom internen in das externe Format um und sendet dann entweder
die Zeile zur Filterschaltung 200 auf der Leitung 220 zum weiteren
Filtern oder gibt die Datenzeile auf der Leitung 116A aus.
-
Die
Zeilenpuffer-Lesesteuerschaltung 306 steuert das Lesen
von Daten aus den Zeilenpuffern 108 oder 110 in
den Datenentpacker 204. Insbesondere ist die Lesesteuerschaltung 304 zum
Empfangen von Steuerungen vom Farbraumwandler 308 und FFCLK
von der Taktschaltung 312 gekoppelt und dazu ausgelegt,
Eingangssteuersignale auf der Leitung 114 zu empfangen.
In Reaktion auf diese Eingangssignale erzeugt die Lesesteuerschaltung 304 Steuersignale
für den
Datenentpacker 204 und Lesesteuersignale für die Zeilenpuffer 108 und 110 auf
den Leitungen 128 bzw. 130.
-
Schließlich ist
die Ausgangssteuerschaltung 310 zum Empfangen von Daten
vom Datenentpacker 204 auf der Leitung 116A oder
vom Farbraumwandler 308 auf der Leitung 112A gekoppelt.
Die Ausgangssteuerschaltung 310 ist auch zum Empfangen
von Steuersignalen vom Farbraumwandler 308 gekoppelt, der
zum Empfangen von FICLK und FFCLK von der Taktschaltung 312 gekoppelt
ist, und dazu ausgelegt, Eingangssteuersignale auf der Leitung 114 zu
empfangen. Die Ausgangssteuerschaltung 310 sendet Ausgangsdaten, die
mit FOD[23:0] bezeichnet sind, zum Anzeigecodierer 106 von 1 auf
der Leitung 116. Die Ausgangssteuerschaltung 310 wandelt
auch die Eingangssteuerungen in Ausgangssteuersignale um, die für die Ausgangsdaten
geeignet sind. Die Ausgangssteuersignale werden auf der Leitung 118 zum
Anzeigecodierer 106 übertragen.
-
Die
obigen Komponenten wurden im Zusammenhang mit der Umwandlung von
Eingangsdaten ohne Zeilensprung in Ausgangsdaten mit Zeilensprung
beschrieben. Die Flimmerfiltervorrichtung 104 muss jedoch nicht
immer eine Flimmerfilterung implementieren. Die Flimmerfiltervorrichtung 104 kann
beispielsweise nur eine Umwandlung der Daten von ohne Zeilensprung
in mit Zeilensprung ohne Flimmerfilterung durchführen, indem der Wert von f
auf Eins gesetzt wird. Die Flimmerfilterung kann beispielsweise
deaktiviert werden, indem SR70C[0] nicht aktiviert wird, unabhängig davon,
ob die Umwandlung durchgeführt
wird. Dann sind die von der Ausgangssteuerschaltung 310 gelieferten
Ausgangsdaten die ungefilterten Daten, die vom Farbraumwandler 308 auf
der Leitung 112A empfangen werden, und der Ausgangstakt
FODCLK ist FICLK. Im Gegensatz dazu sind, wenn die Flimmerfilterung
aktiviert wird, dann die Ausgangsdaten die Daten vom Datenentpacker 204 auf der
Leitung 116A und der Ausgangstakt FODCLK ist FFCLK.
-
Mit
Bezug auf 3B wird nun ein zweites Ausführungsbeispiel 360 der
Flimmerfiltervorrichtung 104 gezeigt. Das zweite Ausführungsbeispiel 360 umfasst
vorzugsweise einen Farbraumwandler 350, ein 9-Abgriff-Farbintensitätsfilter 352,
eine Vielzahl von Multiplexern 356, 358, eine
Filter- und Aperturkorrekturschaltung 354, und eine andere
Steuerschaltung 370, 372, 374, 376, 378.
Das zweite Ausführungsbeispiel 360 der Flimmerfiltervorrichtung 104 ist
mit einer Vielzahl von Datenpackern 202a, 202b,
einer Vielzahl von Datenentpackern 204a, 204b, 204c,
dem ersten Zeilenpuffer 108 und dem zweiten Zeilenpuffer 110 gekoppelt
gezeigt.
-
Der
Farbraumwandler 350 ist mit der Datenquelle 102 gekoppelt,
um ein RGB-Signal zu empfangen. Der Farbraumwandler 350 wandelt
vorzugsweise 24 Bits von RGB in 24 Bits im YCrCb-Format um. Diese
Umwandlung wird auf eine herkömmliche
Weise durchgeführt.
Der Ausgang des Farbraumwandlers 350 ist mit dem Eingang
des 9-Abgriff-Farbintensitätsfilters 352 gekoppelt.
Das 9-Abgriff-Farbintensitätsfilter 352 führt beispielsweise
eine Farbintensitätsfilterung
auf eine vorstehend beschriebene Weise unter Verwendung der Koeffizienten
von {3, 6, 8, 10, 10, 10, 8, 6, 3} und eine Skalierung mit 1/64
durch. Das Ausgangssignal des 9-Abgriff-Farbintensitätsfilters 352 wird
zu einem Eingang des ersten Multiplexers 356, zu einem
Eingang des zweiten Multiplexers 358, zu einem Eingang
der Flimmerfilter- & Aperturkorrekturschaltung 354 und
zu einem Eingang des zweiten Datenpackers 202b geliefert.
-
Der
zweite Multiplexer 358 weist auch einen zweiten Eingang
auf, der mit dem Ausgang des Ausgangsdatenentpackers 204 gekoppelt
ist. Der Steuereingang ist zum Empfangen eines TVFF-Freigabesignals gekoppelt.
Folglich gibt der zweite Multiplexer 358 entweder ein flimmergefiltertes
Signal aus dem Ausgangsdatenentpacker 204 oder ein Signal,
das nicht flimmergefiltert ist, direkt aus dem Ausgang des 9-Abgriff-Farbintensitätsfilters 352 aus.
-
Der
erste Eingang des ersten Multiplexers 356 ist mit dem Ausgang
des 9-Abgriff-Farbintensitätsfilters 352 gekoppelt,
wie vorstehend beschrieben, und ein zweiter Ausgang desselben ist
mit dem Ausgang der Flimmerfilter-Aperturkorrekturschaltung 354 gekoppelt.
Der erste Multiplexer 356 liefert an seinem Ausgang entweder
die neue eingehende Datenzeile oder Daten von der Flimmerfilter- & Aperturkorrekturschaltung 354.
Der Ausgang des ersten Multiplexers 356 ist wiederum mit
dem ersten Datenpacker 202a gekoppelt, der die Daten zur
Speicherung im ersten Zeilenpuffer 108 packt. Der erste
Datenpacker 202a arbeitet ähnlich zur vorstehend beschriebenen
Vorrichtung 202. Der erste Datenpacker weist einen Eingang,
der mit dem Ausgang des ersten Multiplexers 356 gekoppelt
ist, und einen Ausgang, der mit einem Eingang des ersten Zeilenpuffers 108 gekoppelt
ist, auf.
-
Der
erste Zeilenpuffer 108 wird verwendet, um Daten, die teilweise
flimmergefiltert wurden, und Partialsummen zu speichern. Der Ausgang
des ersten Zeilenpuffers 108 ist mit einem Eingang des
Ausgangsdatenentpackers 204a gekoppelt, um Daten zum TV-Codierer 106 zu
senden. Der Ausgang des ersten Zeilenpuffers 108 ist auch
mit einem Eingang des Datenentpackers 1 204a gekoppelt,
um Daten zur Flimmerfilter-Aperturkorrekturschaltung 354 zu
senden.
-
Der
Datenpacker 2 202b, der zweite Zeilenpuffer 110 und
der Datenentpacker 2 204c sind wie ihre Gegenstücke, der
Datenpacker 1 202a, der erste Zeilenpuffer 108 und
der Datenentpacker 1 204b, miteinander gekoppelt. Der Eingang
in den Datenpacker 2 202b ist jedoch mit dem Ausgang des
9-Abgriff-Farbintensitätsfilters 352 gekoppelt,
wie vorstehend angegeben, und der Ausgang des Datenentpackers 2 204c ist
mit einem anderen Ausgang der Flimmerfilter- & Aperturkorrekturschaltung 354 gekoppelt.
-
Schließlich stellt
das zweite Ausführungsbeispiel 360 eine ähnliche
Steuerlogik mit einer Zeilenpuffer-(LB)Schreibsteuereinheit 370,
einer LB-Lesesteuereinheit 372, einem Taktgenerator 374,
der eine Divisionsschaltung zum Erzeugen des FODCLK-Signals ist, einer
horizontalen Synchronisationssteuereinheit 376 und einer
vertikalen Synchronisationssteuereinheit 378 bereit. Auf
der Basis der Ablaufdiagramme, die beschrieben werden, werden Fachleute
verstehen, wie diese Steuereinheiten konstruiert werden sollen und
wie sie betrieben werden, um die in 3B gezeigten
anderen Komponenten zu steuern.
-
4–8 stellen
verschiedene Verfahren zum Betreiben der Flimmerfiltervorrichtung 104 von 3A dar. 4–7 stellen die Erzeugung von Ausgangsdaten
mit Zeilensprung aus den Eingangsdaten ohne Zeilensprung dar; während 8 die
Erzeugung von Ausgangssteuersignalen aus den Eingangssteuersignalen
darstellt.
-
4A und 4B sind
ein Ablaufdiagramm, das ein Verfahren zur 2-Abgriff-Flimmerfilterung
unter Verwendung der Flimmerfiltervorrichtung 104 von 3A darstellt. 4A stellt
die Erzeugung eines geraden Halbbildes eines Ausgangssignals mit
Zeilensprung dar, das insgesamt 480 Zeilen anzeigt; während 4B die
Erzeugung des entsprechenden ungeraden Halbbildes darstellt. Das
Verfahren ist nicht auf die Anzeigen von 480 Zeilen begrenzt. Der
Zeilenpuffer 110 für
die 2-Abgriff-Filterung nicht erforderlich.
-
Die
in 4A und 4B verwendete
Nomenklatur ist wie folgt. Die Signale FIODDF, FIVSYNC ... FOVSYNC
sind wie vorher mit Bezug auf 3A beschrieben.
Die Nomenklatur "Ln't stellt die Eingangsdatenzeile
n dar. Folglich ist in dem Beispiel mit 480 Zeilen von 4A und 4B ein
Vollbild von Eingangsdaten ohne Zeilensprung durch LO, LI ... L479
dargestellt, wie in der FID[23:0] entsprechenden Zeile dargestellt. Die
Nomenklatur "Lm,n'1 stellt die Datenzeile
dar, die sich aus dem Filtern von Eingangsdatenzeilen m und n zusammen
ergibt. Die Ausgangsdatenzeilen sind LO, 1; L2, 3; ... L478, 479
für das
gerade Halbbild von 4A und Li, 2; L3, 4; ... L477,
478; L4791 für
das ungerade Halbbild von 4B, wie
in den FOD[23:0] entsprechenden Zeilen dargestellt.
-
4A stellt
die Erzeugung des geraden Halbbildes dar. Die Zeile 0 (LO) wird
von der Flimmerfiltervorrichtung 104 empfangen 400 und
in den Zeilenpuffer 108 geschrieben 402. Wenn
die Zeile 1 (L1) empfangen wird 404, wird die Zeile 0 aus
dem Zeilenpuffer 108 gelesen 406 und dann mit
der Zeile 1 gefiltert. Die gefilterte Zeile LO, 1 wird wieder in
den Zeilenpuffer 108 geschrieben 408. Dies ist
grundsätzlich
eine Lesen-Modifizieren-Schreiben-Operation für den Zeilenpuffer 108.
Wenn die gefilterten Daten LO, 1 in den Zeilenpuffer 108 geschrieben
werden 408, werden sie aus dem Zeilenpuffer 108 gelesen 410 und
mit der halben Taktrate, mit der die Eingangsdaten empfangen werden,
ausgegeben 412. Derselbe Prozess wird für aufeinander folgende Zeilen
wiederholt, um das gerade Halbbild zu erzeugen.
-
Genauer
wird mit zusätzlichem
Bezug auf 3A die Zeile 0 vom Eingangsregister 306 empfangen 400,
durch den Farbraumwandler 308 in das externe 4:4:4-YCrCb-Format umgewandelt
und dann vom externen Format in das interne Format umgewandelt und
durch den Datenpacker 202 unter der Steuerung der Schreibsteuerschaltung 302 in
den Zeilenpuffer 108 geschrieben 402. Die Zeile
1 wird dann durch das Eingangsregister 306 empfangen 404 und
durch den Farbraumwandler 308 in das externe Format umgewandelt. Gleichzeitig
wird die Zeile 0 aus dem Puffer 108 gelesen 406 und
durch den Datenentpacker 204 unter der Steuerung der Lesesteuerschaltung 304 in
das externe Format umgewandelt. Die Zeilen 0 und 1, beide im externen
Format, werden dann zu einer gefilterten Zeile LO, 1 durch die Filterschaltung 200 kombiniert.
Die gefilterte Zeile LO, 1 wird durch den Datenpacker 202 unter
der Steuerung der Schreibsteuerschaltung 302 in das interne
Format umgewandelt und wieder in den Zeilenpuffer 108 geschrieben 408.
Der Datenentpacker 204 liest 410 unter der Steuerung
der Lesesteuerschaltung 304 die gefilterten Daten LO, 1
aus dem Zeilenpuffer 108, wandelt sie in das externe Format
um und gibt die gefilterte Zeile LD, 1 über die Ausgangssteuerschaltung 310 aus 412.
-
Eine
Art von Schreiboperation 408 wird in den Zeilenpuffer 108 durchgeführt, aber
zwei verschiedene Arten von Leseoperationen werden durchgeführt: eine
zum Lesen 406 der vorher gespeicherten Zeile und eine zum
Lesen 410 der Ausgangszeile. Die zwei Leseoperationen 406, 410 können unter
Verwendung eines Zeilenpuffers 108 mit zwei Leseanschlüssen implementiert
werden. Beim bevorzugten Ausführungsbeispiel
von 3A werden jedoch die zwei Leseoperationen 406, 410 unter
Verwendung von zwei Lesezeigern LBLRD und LB1RD1 zeitlich multiplexiert,
wobei das Signal LBLRDSEL auswählt,
welcher Lesezeiger aktiv ist. Folglich erfordert der Zeilenpuffer 108 nur
einen einzelnen Leseanschluss.
-
Ferner
werden der erste Lesezeiger LBLRD und der Schreibzeiger LBLWR beide
durch LBLRST zurückgesetzt,
das in diesem Ausführungsbeispiel
in Reaktion auf entweder FIHSYNC oder die steigende Flanke von FINDE
erzeugt wird. Der zweite Lesezeiger LB1RD1 weist eine unabhängige Rücksetzung
LB1RST1 auf, die in diesem Ausführungsbeispiel
einmal für
alle zwei Eingangszeilen erzeugt wird, da eine Ausgangsdatenzeile
für alle
zwei Eingangsdatenzeilen erzeugt wird. Da das Rücksetzsignal LBLRST manchmal
erzeugt wird, wenn LB1RD1 immer noch aktiv aus dem Zeilenpuffer 108 liest,
sollte das Rücksetzen
LBLRST Daten im Zeilenpuffer 108 nicht verfälschen.
-
In
der restlichen Beschreibung wird auf den in den vorherigen drei
Absätzen
enthaltene Detailierungsgrad der Deutlichkeit halber verzichtet.
-
Das
ungerade Halbbild von 4B wird auf eine analoge Weise
mit den folgenden Spezialfällen
am Beginn und am Ende des Halbbildes erzeugt. Am Beginn des Halbbildes
wird die Zeile 0 (LO) nicht verwendet. Am Ende des Halbbildes sollte
die letzte Ausgangszeile (L4791) mit Zeilensprung durch Filtern
der Zeilen 479 und 480 erzeugt werden, aber die Zeile 480 existiert
nicht. Daher wird L4791 erzeugt, indem entweder die Zeile 479 nicht
gefiltert wird oder die Zeile 479 mit sich selbst gefiltert wird.
Andere Methoden zum Handhaben dieser Spezialfälle sind für Fachleute in Abhängigkeit
von der Implementierung ersichtlich.
-
5A und 5B sind
Ablaufdiagramme, die ein Verfahren zum 3-Abgriff-Flimmerfiltern unter Verwendung der
Flimmerfiltervorrichtung 104 von 3A darstellen.
Wie bei 4A und 4B stellt 5A die
Erzeugung eines geraden Halbbildes eines Formats mit Zeilensprung,
das 480 Zeilen anzeigt, dar; während 5B die
Erzeugung des entsprechenden ungeraden Halbbildes darstellt.
-
Die
grundlegende Operation ist durch die Erzeugung der gefilterten Zeile
LO, 1, 2 in 5B dargestellt. Wenn die Zeile
0 (LO) empfangen wird 500, wird sie in den Zeilenpuffer 110 geschrieben 502.
Wenn die Zeile 1 (Li) empfangen wird 504, wird sie in den
Zeilenpuffer 108 geschrieben 506. Wenn die Zeile
2 (L2) empfangen wird 508, wird LO aus dem Zeilenpuffer 110 gelesen 510 und
Li wird aus dem Zeilenpuffer 108 gelesen 512.
Alle drei Zeilen LO, Li und L2 werden zusammen gefiltert und die
resultierende gefilterte Zeile LO, 1, 2 wird dann wieder in den
Zeilenpuffer 108 geschrieben 514. Wenn die gefilterten
Daten LO, 1, 2 in den Zeilenpuffer 108 geschrieben werden 514,
werden sie dann aus dem Zeilenpuffer 108 gelesen und mit
der halben Eingangstaktrate ausgegeben 518. Die Zeile 2
wird auch in den Zeilenpuffer 110 zur Vorbereitung auf
die Erzeugung der gefilterten Zeile L2, 3, 4 geschrieben 520.
Derselbe Prozess wird für
aufeinander folgende Zeilen wiederholt.
-
Der
Lesezeiger LB2RC und der Schreibzeiger LB2WR werden durch L32RST
gelöscht,
das in diesem Ausführungsbeispiel
in Reaktion auf entweder FIHSYNC oder die steigende Flanke von FINDE
erzeugt wird.
-
Spezialfälle können am
Beginn und am Ende jedes Halbbildes auftreten. Für das gerade Halbbild von 5A ist
beispielsweise die gefilterte Zeile LO, 1 ein Spezialfall, da die
Zeile –1
nicht existiert. Als weiteres Beispiel ist für das ungerade Halbbild von 5E die gefilterte Zeile L478, 479 ein
Spezialfall, da die Zeile 480 nicht existiert. Wie vorher beschrieben,
sind verschiedene Methoden im Allgemeinen für die Handhabung dieser Spezialfälle bekannt.
-
6A und 6B sind
Ablaufdiagramme, die ein zweites Verfahren zur 3-Abgriff-Flimmerfilterung unter
Verwendung der Flimmerfiltervorrichtung 104 von 3A darstellen.
Wie üblich,
zeigt 6A die Erzeugung des geraden
Halbbildes; während 6B die
Erzeugung des ungeraden Halbbildes zeigt.
-
Die
grundlegende Operation ist durch die Erzeugung der gefilterten Zeile
LO, 1, 2 in 6B dargestellt. Die Zeile 0
(LO) wird empfangen 600 und in den Zeilenpuffer 110 geschrieben 602.
Wenn die Zeile 1 (L1) empfangen wird 604, wird die Zeile
0 aus dem Zeilenpuffer 110 gelesen 606 und mit
der Zeile 1 gefiltert. Die resultierende gefilterte Zeile LO, 1,
die ein Zwischenergebnis ist, wird in den Zeilenpuffer 108 geschrieben
608. Wenn die Zeile 2 (L2) empfangen wird 610, wird das
Zwischenergebnis LO, 1 aus dem Zeilenpuffer 108 gelesen 612 und
mit der Zeile 2 gefiltert. Die gefilterte Zeile LO, 1, 2 wird dann
wieder in den Zeilenpuffer 108 geschrieben 614.
Wenn die gefilterten Daten LO, 1, 2 in den Zeilenpuffer 108 geschrieben
werden 614, werden sie dann aus dem Zeilenpuffer 108 gelesen 616 und
mit der halben Eingangstaktrate ausgegeben 618. Die Zeile
2 wird zur Vorbereitung auf die Erzeugung der gefilterten Zeile
L2, 3, 4 auch in den Zeilenpuffer 110 geschrieben 620.
Derselbe Prozess wird für
aufeinander folgende Zeilen wiederholt.
-
Wiederum
können
Spezialfälle
am Beginn und/oder am Ende jedes Halbbildes auftreten. Beispiele umfassen
die gefilterte Zeile LO, 1 in 6A und
die gefilterte Zeile L478, 479 in 6B.
-
7A und 7B sind
Ablaufdiagramme, die ein drittes Verfahren zum 3-Abgriff-Flimmerfiltern unter
Verwendung der Flimmerfiltervorrichtung 104 von 3A darstellen.
Wie üblich,
zeigt 7A die Erzeugung des geraden
Halbbildes; während 7B die
Erzeugung des ungeraden Halbbildes zeigt.
-
Die
grundlegende Operation ist durch die Erzeugung der gefilterten Zeile
LO, 1, 2 in 7B dargestellt. Die Zeile 0
(LO) wird empfangen 700 und in den Zeilenpuffer 108 geschrieben 702.
Wenn die Zeile 1 (L1) empfangen wird 704, wird die Zeile
0 aus dem Zeilenpuffer 108 gelesen 706 und mit
der Zeile 1 gefiltert. Die resultierende gefilterte Zeile Lo, 1
die ein Zwischenergebnis ist, wird in den Zeilenpuffer 108 geschrieben 708. Wenn
die Zeile 2 (L2) empfangen wird 710, wird das Zwischenergebnis
LO, 1 aus dem Zeilenpuffer 108 gelesen 712 und
mit der Zeile 2 gefiltert. Die gefilterte Zeile LO, 1, 2 wird dann
in den Zeilenpuffer 110 geschrieben 714. Wenn
die gefilterten Daten LO, 1, 2 in den Zeilenpuffer 110 geschrieben
werden 714, werden sie dann aus dem Zeilenpuffer 110 gelesen 716 und
mit der halben Eingangstaktrate ausgegeben 718. Die Zeile
2 wird auch zur Vorbereitung auf die Erzeugung der gefilterten Zeile
L2, 3, 4 in den Zeilenpuffer 108 geschrieben 720. Derselbe
Prozess wird für
aufeinander folgende Zeilen wiederholt. Wiederum können Spezialfälle am Beginn und/oder
am Ende jedes Halbbildes auftreten. Dieses Verfahren hat den Vorteil,
dass es nicht den zweiten Lesezeiger LB1RD1 für den Zeilenpuffer 108 erfordert.
-
Die
Flimmerfiltervorrichtung 104 von 3A kann
irgendeines der vorstehend dargestellten 2-Abgriff- oder 3-Abgriff-Flimmerfilterverfahren
implementieren. Daher besteht ein Vorteil der Flimmerfiltervorrichtung 104 von 3A darin,
dass dieselbe Hardware verwendet werden kann, um verschiedene Flimmerfilterfunktionen
mit verschiedenen Zahlen von Abgriffen zu implementieren.
-
8 ist
ein Ablaufdiagramm, das die Erzeugung von Ausgangssteuersignalen
aus Eingangssteuersignalen unter Verwendung der Flimmerfiltervorrichtung 104 von 3 darstellt. Insbesondere erzeugt die Ausgangssteuerschaltung 310 die
Ausgangssteuersignale mit Zeilensprung FOHSYNC, PODE und FOVSYNC
aus den Eingangssteuersignalen FIHSYNC, FINDE, FINDE, FIVBLANK und
FIHSYNC der Betriebsart ohne Zeilensprung. Infolge der Umwandlung
vom Format ohne Zeilensprung in das Format mit Zeilensprung werden
die Eingangsdaten mit zweimal der Rate empfangen, mit der die Ausgangsdaten
erzeugt werden.
-
Beim
bevorzugten Ausführungsbeispiel
von 8 wird die Erzeugung des Ausgangssteuersignals
zu Beginn des geraden Halbbildes eingeleitet. 8 stellt
einen Zeitraum dar, der dieser Einleitung entspricht.
-
FOHSYNC
wird folgendermaßen
erzeugt. Der Teil der Ausgangssteuerschaltung 310, der
FOHSYNC erzeugt, wird an der ersten steigenden Flanke 800 der
horizontalen Anzeigefreigabe (FINDE), die der fallenden Flanke 802 der
vertikalen Austastung (FIVBLANK) während des geraden Halbbildes
folgt, zurückgesetzt
(d. h. FIODDF ist niedrig 804). Während ungeraden Halbbildern
geschieht das Rücksetzen
nicht. Die Ausgangssteuerschaltung 310 bestimmt die Startposition
T1 von FIHSYNC, welche die Zeit zwischen der steigenden Flanke 800 von
FINDE und der steigenden Flanke 806 von FIHSYNC ist. Die
Ausgangssteuerschaltung 310 ermittelt auch die Breite T2
von FIHSYNC. Sowohl Ti als auch T2 werden mit Zwei multipliziert,
um das horizontale Synchronisationsausgangssignal mit Zeilensprung
FOHSYNC zu erzeugen, das auf die Vorderflanke 800 von FINDE
bezogen ist. Die Flimmerfilter-Datenpipelineverzögerung wird auch bei der Erzeugung
von FOHSYNC hinzugefügt.
In 8 ist eine Wartezeit vorgesehen, um die Verzögerung durch
die Flimmerfiltervorrichtung 200 und die Verzögerung bei
der Verarbeitung der Daten im Farbraumwandler 308 abzugleichen.
-
FODE
wird durch Bestimmen des Zeitraums T3 von der fallenden Flanke 812 von
FIHSYNC zur nächsten
Vorderflanke 814 von FINDE erzeugt. Die Parameter T1, T2
und T3 werden alle mit Zwei multipliziert, um die Ausgangsfreigabe
FODE mit Zeilensprung zu erzeugen, die auch auf die Vorderflanke 800 von
FINDE bezogen ist.
-
Beim
Ausführungsbeispiel
von 8 beginnt die Erzeugung von FOHSYNC eine Zeile
früher
von der ersten aktiven Eingangszeile (LO) oder zwei Zeilen früher von
den ersten aktiven Ausgangsdaten (LO, 1) und der Ausgangsanzeigefreigabe
(FODE). Dies führt
zur korrekten Synchronisation von FOHSYNC mit FODE und FCD(23:01).
Im Allgemeinen muss die Erzeugung von FOHSYNC an einem Punkt beginnen,
der sicherstellt, dass FOHSYNC zwischen zwei Ausgangszeilen erzeugt
wird.
-
FOVSYNC
wird durch Verzögern
von FIVSYNC durch die Flimmerfilter-Datenpipelineverzögerung und auch durch das im
TV-VSYNC-Verzögerungsregister
festgelegte Ausmaß (SR78)
erzeugt. Ein Zähler,
der verwendet wird, um sowohl die steigende Flanke als auch die
fallende Flanke von FIVSYNC um das durch SR78 festgelegte Ausmaß zu verzögern, wird
um FFCLK/16 inkrementiert. Da die vertikale Synchronisation um mehr als
eine horizontale Zeit verzögert
werden kann, kann FIVSYNC wahlweise derart programmiert werden,
dass es eine Zeile früher
als in den obigen Ablaufdiagrammen gezeigt erzeugt wird und dann
um ungefähr
eine horizontale Zeit verzögert
wird. Dies ist sehr empfohlen, da FOVSYNC dann unabhängig von
FOHSYNC positioniert werden kann. Die Verzögerung hängt vom Zeitablauf auf der
Basis der Programmierung der CRT-Steuereinheit ab.
-
Obwohl
die Erfindung in beachtlichem Detail mit Bezug auf bestimmte bevorzugte
Ausführungsbeispiele
derselben beschrieben wurde, sind andere Ausführungsbeispiele möglich. Die
Erfindung kann beispielsweise in eine integrierte Schaltung auf
einem Halbleiterbauelement unter Verwendung von auf dem Fachgebiet bekannten
Verfahren integriert werden. Daher sollte der Schutzbereich der
beigefügten
Ansprüche
nicht auf die hierin enthaltene Beschreibung der bevorzugten Ausführungsbeispiele
begrenzt werden.