-
Die
Erfindung betrifft ein Verfahren zur Änderung von Registerinhalten
in einer Schaltung zur Videosignalverarbeitung und eine Schaltung
zur Videosignalverarbeitung.
-
In
heutigen Fernsehgeräten
eingesetzte Schaltungen zur Videosignalverarbeitung sind komplexe
Systeme, die in der Lage sind, verschiedenste Verarbeitungsalgorithmen
auf ein Videosignal anzuwenden, um ein verarbeitetes Videosignal
zu erzeugen, das auf dem Bildschirm des Fernsehgerätes dargestellt
wird. Diese Bildverarbeitung umfasst beispielsweise: ein Deinterlacing,
also die Erzeugung eines Videosignals zur Darstellung einer Vollbildfolge aus
einem Videosignal für
eine zeilenverkämmte Halbbildfolge;
eine Skalierung, also die Vergrößerung oder
Verkleinerung eines darzustellenden Bildes oder eine Veränderung
des Bildformats; oder eine Mehrfach-Bilddarstellung, bei der zwei oder mehr
Bildfolgen, die durch verschiedene Videosignale repräsentiert
sind, gemeinsam dargestellt werden, beispielsweise nebeneinander
oder in Bild-in-Bild-Darstellung.
Diese Algorithmen werden beispielsweise durch unterschiedliche Videosignalverarbeitungseinheiten
realisiert, die in der Lage sind, ein Videosignal in Echtzeit zu
verarbeiten und die als festverdrahtete Schaltungsblöcke realisiert sein
können.
-
Zur
Steuerung dieser Videosignalverarbeitungseinheiten sind Register
vorgesehen – die
nachfolgend als Konfigurationsregister bezeichnet sind –, in denen
Funktionsparameter für
diese Schaltungsblöcke
abgespeichert werden können
und auf welches diese Schaltungsblöcke während des Betriebs zugreifen.
Funktionsparameter für
ein Deinterlacing ist beispielsweise ein Aktivierungs-/Deaktivierungsparameter,
durch den das Deinterlacing aktiviert oder deaktiviert werden kann,
und zwar beispielsweise abhängig
davon, ob das zu verarbeitende Videosignal als Halbbildfolge oder
als Vollbildfolge vorliegt. Funktionsparameter für eine Skalierung sind beispielsweise
ein Skalierungsfaktor und/oder ein Skalierungsformat, und Funktionsparameter
für eine
Mehrfach-Bilddarstellung sind beispielsweise Größe und Position der gemeinsam
darzustellenden Bilder. In modernen Schaltungen zur Videosignalverarbeitung
können mehrere
hundert bis mehrere tausend solcher Register vorgesehen sein.
-
Zum
Beschreiben der Register kann ein Mikrocontroller vorgesehen sein,
der gesteuert durch Software die Registerinhalte bereitstellt und
damit die Gesamtfunktion der Signalverarbeitungsschaltung bestimmt.
Diese Registerinhalte werden durch den Mikrocontroller in Zwischenregister
geschrieben und von dort nach Maßgabe eines Steuersignals in
die Konfigurationsregister übernommen,
von wo aus sie auf die Signalverarbeitung wirken.
-
Die Änderung
eines Funktionsparameters eines Schaltungsblocks erfordert üblicherweise
das Schreiben mehrerer Registerwerte in die Konfigurationsregister.
Diese mehreren Registerwerte bilden einen Parametersatz. Um Artefakte
in der Bilddarstellung zu vermeiden sollte die Funktion der Videosignalverarbeitungseinheiten
nicht während
der Verarbeitung eines durch das Videosignal repräsentierten Bildes
geändert
werden, sondern erst nachdem die Verarbeitung eines Bildes abgeschlossen
ist und noch bevor die Verarbeitung eines nächsten Bildes beginnt. Des
weiteren sollte ein Parametersatz stets vollständig in die Schaltungsregister
geschrieben werden, um zu vermeiden, dass sich in den Registern Daten
unterschiedlicher Parametersätze
befinden, was die Funktion negativ beeinträchtigen könnte.
-
Die
erste Anforderung kann dadurch erreicht werden, dass Parametersätze aus
den Zwischenregistern beispielsweise stets nach einem Vertikalsynchronimpuls,
der das Ende eines Bildes markiert, in die Konfigurationsregister übernommen
werden. In den Zwischenregistern muss der übernommene Parametersatz zum
Zeitpunkt der Übernahme
dann vollständig
vorhanden sein, um auch die zweite Anforderung zu erfüllen. Problematisch
in diesem Zusammenhang ist, dass der Mikrocontroller die Parametersätze asynchron
zu dem Übernahmesignal
bereitstellt, schon deshalb weil die Anzahl der Registerspeicherplätze, deren
Inhalt sich von Bild zu Bild ändern
soll, variieren kann. So ist die Notwendigkeit, die Registerinhalte
zu ändern
beispielsweise von der Art des zu verarbeitenden Videosignals oder
auch von Benutzereingaben, z. B. zur Änderung des Bildkontrasts oder
der Helligkeit, abhängig.
-
Die
zweite Anforderung könnte
dadurch erfüllt
werden, dass die Ablaufsteuerung die Datensätze synchronisiert zu den Impulsen,
die die Übernahme
der Daten aus den Zwischenregistern in das Konfigurationsregister
veranlassen, in die Zwischenregister schreibt. Dies würde insgesamt
jedoch zu einer Verringerung der Verarbeitungsgeschwindigkeit der Ablaufsteuerung
bzw. zu einer nicht optimalen Auslastung der Ablaufsteuerung führen.
-
Aufgabe
der vorliegenden Erfindung ist es, ein Verfahren zur Änderung
von Registerinhalten in einer Videosignalverarbeitungsschaltung
zur Verfügung
zu stellen, bei dem ein vollständiges
Schreiben eines Datensatzes in die Register auf einfach zu realisierende
Weise sichergestellt ist, ohne dabei die Verarbeitungsgeschwindigkeit
der Ablaufsteuerung zu verringern, und eine Videosignalverarbeitungsschaltung
zur Durchführung
eines solchen Verfahrens zur Verfügung zu stellen.
-
Diese
Aufgabe wird durch ein Verfahren nach Anspruch 1 und durch eine
Videosignalverarbeitungsschaltung nach Anspruch 12 gelöst. Ausgestaltungen
und Weiterbildungen der Erfindung sind Gegenstand von Unteransprüchen.
-
Bei
einem Ausführungsbeispiel
des erfindungsgemäßen Verfahrens
zur Änderung
des Inhalts wenigstens eines ersten Registers in einer Videosignalverarbeitungsschaltung,
auf das wenigstens eine Videosignalverarbeitungseinheit zugreift,
umfasst: das Bereitstellen von Registerdatensätzen, die Konfigurationsdaten
enthalten, durch eine Ablaufsteuerung; das Speichern der Registerdatensätze in wenigstens
einem Pufferspeicher; das Auslesen der Registerdatensätze aus
dem wenigstens einen Pufferspeicher nach Maßgabe eines ersten Auslesesignals und
Speichern wenigstens der Konfigurationsdaten in wenigstens einem
zweiten Register; und das Auslesen der Konfigurationsdaten aus dem
wenigstens einen zweiten Register nach Maßgabe eines zweiten Auslesesignals
und Speichern der ausgelesenen Konfigurationsdaten in dem wenigstens
einen ersten Register.
-
Die
Zwischenspeicherung der durch die Ablaufsteuerung bereitgestellten
Registerdatensätze
in einem Pufferspeicher ermöglicht,
dass die Ablaufsteuerung die Registerdatensätze asynchron zu Schreibvorgängen des
wenigstens einen zweiten Registers bereitstellen kann, wodurch durch
Schreibvorgänge
des zweiten Registers keine Verlangsamung der Verarbeitungsgeschwindigkeit
der Ablaufsteuerung notwendig ist, so dass eine optimale Auslastung der
Ablaufsteuerung gewährleistet
ist. Diese Ablaufsteuerung ist beispielsweise ein durch ein Softwareprogramm
gesteuerter Mikrocontroller.
-
Bei
einem Beispiel des erfindungsgemäßen Verfahrens
ist vorgesehen, dass vor Auslesen eines Registerdatensatzes aus
dem Pufferspeicher überprüft wird,
ob der Registerdatensatz vollständig
ist, wobei ein Registerdatensatz nur dann ausgelesen wird, wenn
er vollständig
ist. Ein vollständiger
Registerdatensatz umfasst beispielsweise wenigstens eine Registeradresse,
wenigstens ein Konfigurationsdatum und einen Abschlussbefehl. Die
wenigstens eine Registeradresse gibt dabei an, an welcher Position des
ersten Registers das wenigstens eine Konfigurationsdatum abgespeichert
werden soll. Ein Abschlussbefehl, der nachfolgend auch als Übernahmebefehl
oder Übernahme-Flag
bezeichnet wird, kennzeichnet das Ende eines Registerdatensatzes und
ermöglicht
dadurch eine Überprüfung des
Registerdatensatzes auf Vollständigkeit.
-
Das
Auslesen von Registerdatensätzen
aus dem Pufferspeicher in das wenigstens eine zweite Register und
aus dem wenigstens einen zweiten Register in das wenigstens eine
erste Register kann nach Maßgabe
von Signalimpulsen eines einzigen Auslesesignals erfolgen. Bei einem
Signalimpuls dieses Auslesesignals wird dabei wenigstens ein Konfigurationsdatum
eines aktuell in dem Pufferspeicher gespeicherten Registerdatensatzes
in das zweite Register geschrieben, während das bislang im zweiten
Register abgespeicherte Konfigurationsdatum in das erste Register
geschrieben wird. Das Auslesesignal ist beispielsweise ein sogenanntes
vertikales Synchronisationssignal. Durch die Videosignalverarbeitungseinheiten
werden in einem Videosignal enthaltene Videodaten bildweise verarbeitet.
Das vertikale Synchronisationssignal signalisiert hierbei Zeitpunkte,
zu denen die Verarbeitung eines Bildes durch die Videosignalverarbeitungseinheiten
abgeschlossen ist. Innerhalb eines vorgegebenen Zeitfensters bis
zum Beginn der Verarbeitung eines nächsten Bildes können dann
Registerinhalte des ersten Registers geändert werden. Hierdurch ist
sichergestellt, dass die in dem ersten Register gespeicherten Registerdatensätze, die
beispielsweise Konfigurationsparameter der Videosignalverarbeitungseinheit
darstellen, nicht während
der Verarbeitung eines Bildes geändert
werden, was sichtbare Artefakte in dem Bild zur Folge haben könnte. Das
Zeitfenster zwischen dem Ende der Verarbeitung eines Bildes und
dem Beginn der Verarbeitung eines nächsten Bildes beträgt je nach
Fernseh- oder Videostandard zwischen 16 ms und 20 ms.
-
Die
wenigstens eine in der Videosignalverarbeitungsschaltung vorhandene
Videosignalverarbeitungseinheit ist beispielsweise eine Bildskalierungseinheit,
eine Deinterlacing-Einheit oder eine Mehrfachbilddarstellung-Einheit.
-
Eine
Videosignalverarbeitungsschaltung gemäß einem Ausführungsbeispiel
der Erfindung umfasst: wenigstens eine Videosignalverarbeitungseinheit
und wenigstens ein an die wenigstens eine Videosignalverarbeitungseinheit
angeschlossenes erstes Register; eine Ablaufsteuerung; eine zwischen
die Ablaufsteuerung und das wenigstens eine erste Register geschaltete
Schnittstellenschaltung mit einem an das wenigstens eine erste Register
angeschlossenen wenigstens einen zweiten Register und wenigstens
einem zwischen die Ablaufsteuerung und das zweite Register geschalteten
Pufferspeicher.
-
Beispiele
der vorliegenden Erfindung werden nachfolgend anhand von Figuren
näher erläutert. Die Figuren
dienen dabei zur Veranschaulichung des Grundprinzips der Erfindung,
wobei lediglich die zur Erläuterung
dieses Grundprinzips notwendigen Funktions- bzw. Schaltungsblöcke dargestellt
sind. In den Figuren bezeichnen, sofern nicht anders angegeben,
gleiche Bezugszeichen gleiche Signale und Komponenten mit gleicher
Bedeutung.
-
1 zeigt
ein Blockschaltbild einer Videosignalverarbeitungsschaltung, die
mehrere Videosignalverarbeitungseinheiten, die auf Register zugreifen,
eine Ablaufsteuerung und eine zwischen die Ablaufsteuerung und das
Register geschaltete Schnittstellenschaltung aufweist.
-
2 zeigt
ein Beispiel einer Schnittstellenschaltung, die zweite Register,
mehrere Pufferspeicher und eine zwischen die mehreren Pufferspeicher und
die zweiten Register geschalteten Ausleseschaltung aufweist.
-
3 zeigt
schematisch den Aufbau eines Beispiels eines vollständigen Registerdatensatzes.
-
4 zeigt
schematisch den Aufbau eines weiteren Beispiels eines vollständigen Registerdatensatzes.
-
5 zeigt
ein zweites Beispiel der Schnittstellenschaltung.
-
1 zeigt
ein Blockschaltbild einer Videosignalverarbeitungsschaltung. Diese
Videosignalverarbeitungsschaltung umfasst einen Videosignalverarbeitungsblock 30,
mit mehreren Videosignalverarbeitungseinheiten 32, 33, 34,
die an eine erstes Registereinheit 31 mit mehreren ersten
Registern 311 ...31m ,
die nachfolgend auch als Konfigurationsregister bezeichnet werden,
angeschlossen sind. Die einzelnen ersten Register 311 ...31m ,
die in 1 schematisch als rechteckförmige Felder innerhalb der
Registereinheit 31 dargestellt sind, dienen beispielsweise
jeweils zur Speicherung eines Datenwortes einer vorgegebenen Länge, beispielsweise
der Länge
8, 16 oder 32 bit.
-
Der
Videosignalprozessor 30 ist dazu ausgebildet, wenigstens
ein ihm zugeführtes
Videosignal VS1 in Echtzeit zu verarbeiten und ein verarbeitetes Videosignal
VS zur Darstellung auf einen Bildschirm 40 oder zur Speicherung
auf einem Speichermedium (nicht dargestellt) zur Verfügung zu
stellen. Die Videosignalverarbeitungseinheiten 32–34 des
Videosignalverarbeitungsblocks 30 können beliebige, grundsätzlich bekannte
Signalverarbeitungseinheiten zur Verarbeitung eines Videosignals
sein. Diese Videosignalverarbeitungseinheiten erzeugen beispielsweise ein
eine Vollbildfolge repräsentierendes
Videosignal aus einem eine Halbbildfolge repräsentierenden Videosignal (Deinterlacing)
oder dienen zur Bildskalierung, also zur Interpolation von Zwischenwerten
mit dem Ziel, die Anzahl darstellbarer Bildpunkte, und damit die
Größe des Bildes,
zu erhöhen
bzw. das Bildformat zu verändern.
Weitere Funktionen solcher Bildverarbeitungseinheiten sind beispielsweise
die bewegungsrichtige (bewegungskompensierte) Erzeugung von Zwischenbildern
zwischen vorgegebenen Bildern einer Bildfolge oder die Veränderung
der Bildhelligkeit und/oder des Bildkontrastes.
-
Ein
weiteres Beispiel einer Signalverarbeitungseinheit ist eine Mehrfachbilddarstellungs-Einheit,
die aus zwei oder mehr Videosignalen, wie dem Videosignal VS1 und
einem optionalen zweiten Videosignal VS2, ein Videosignal erzeugt,
das die Inhalte beider verarbeiteter Videosignale VS1, VS2 repräsentiert.
Die durch die verarbeiteten Videosignale VS1, VS2 repräsentierten
Bilder können
dabei nebeneinander oder übereinander
in dem zusammengesetzten Bild dargestellt werden. Darüber hinaus kann
bei einer sogenannten Bild-in-Bild-Darstellung das durch ein Videosignal
repräsentiertes
Bild verkleinert indem durch das andere Videosignal repräsentierten
Bild dargestellt werden.
-
Der
Videosignalverarbeitungsblock 30 ist auf eine hohe Verarbeitungsgeschwindigkeit
optimiert, um dadurch die Signalverarbeitung in Echtzeit zu ermöglichen.
Der Videosignalverarbeitungsblock 30 ist hierzu beispielsweise
als fest verdrahtete Schaltung realisiert. Um dennoch die Verarbeitungseigenschaften
der einzelnen Signalverarbeitungseinheiten 32–34 verändern zu
können,
sind die Konfigurationsregister 31[1]... 31[k] vorgesehen,
in denen Konfigurationsparameter der einzelnen Signalverarbeitungseinheiten 32–34 abgespeichert
sind und die die Konfiguration, das heißt die Signalverarbeitungseigenschaften,
der einzelnen Verarbeitungseinheiten 32–34 bestimmen. Ein
Konfigurationsparameter einer Skalierungseinheit ist beispielsweise
der Skalierungsfaktor, der angibt, wie stark das Bild vergrößert werden
soll. Ein Konfigurationsparameter einer Einheit zur Bild-in-Bild-Darstellung
ist beispielsweise ein Positionsparameter, der die Position des
einzublendenden Bilds angibt, sowie Breiten- und Höhenparame ter,
die angeben, wie breit und wie hoch das einzublendende Bild sein
soll.
-
Die
Konfiguration der Videosignalverarbeitungseinheiten 32–34,
und damit die Konfiguration des Videosignalverarbeitungsblocks erfolgt
durch eine Ablaufsteuerung 10, die beispielsweise ein softwaregesteuerter
Mikroprozessor ist. Nach Maßgabe eines
Ablaufprogramms stellt diese Ablaufsteuerung 10 die Inhalte
der Konfigurationsregister 31[1]...31[k] des Signalprozessors 30 zur
Verfügung.
Diese Registerinhalte, und damit die Konfiguration des Signalprozessors 30 sind
beispielsweise abhängig
von dem zu verarbeitenden Videosignal selbst oder abhängig von
Benutzereingaben. Ist das Videosignal beispielsweise bereits ein
Vollbildsignal, so ist kein Deinterlacing erforderlich und die Deinterlacing-Einheit
kann über
das Konfigurationsregister beispielsweise deaktiviert werden. Zur
Ermittlung der von dem Videosignal selbst abhängigen Konfigurationsparameter
ist das Videosignal VS1, bzw. sind die Videosignale VS1, VS2, der
Ablaufsteuerung zugeführt,
die beispielsweise eine Analyseeinheit (nicht dargestellt) zur Analyse
des zu verarbeitenden Videosignals aufweist. Ein Benutzer kann über eine
Benutzerschnittstelle, die in 1 durch
ein Benutzersignal US repräsentiert
ist, beispielsweise die Bildhelligkeit und den Kontrast verändern oder
kann zwischen verschiedenen Darstellungsoptionen umschalten, wie
z. B. von einer Einbilddarstellung zu einer Mehrfachbilddarstellung.
-
Zwischen
die Ablaufsteuerung 10 und den Signalprozessor 30 ist
eine Schnittstellenschaltung 20 geschaltet, der von der
Ablaufsteuerung 10 bereitgestellte, in dem Konfigurationsregister 31 zu
speichernde Konfigurationsdaten zugeführt sind, die diese Konfigurationsdaten
zwischenspeichert und die zwischengespeicherten Konfigurationsdaten
in die Konfigurationsregister 31[1]...31[k] schreibt.
Die Ankopplung der Ablaufsteuerung 10 an die Schnittstellenschaltung 20 erfolgt
beispielsweise über
einen Datenbus. Entsprechend kann die An kopplung der Schnittstellenschaltung 20 an
den Signalprozessor ebenfalls über
einen Datenbus, an den noch weitere Einheiten angeschlossen sind,
erfolgen.
-
Ein
Beispiel einer Schnittstellenschaltung 20 ist in 2 dargestellt.
Diese Schnittstellenschaltung weist mehrere, in dem Beispiel vier,
Pufferspeicher 211 –21n auf, die jeweils einen an die Ablaufsteuerung 10 angeschlossenen
Eingang aufweisen. Signalverbindungen zwischen der Ablaufsteuerung 10 und
den Pufferspeichern 211 –21n sind in 2 lediglich
schematisch dargestellt. Diese Signalverbindungen können jeweils
einzelne Verbindungen zwischen jedem der Pufferspeicher 211 –21n und der Ablaufsteuerung 10 sein.
In gleicher Weise kann jedoch auch ein Datenbus zwischen der Ablaufsteuerung 10 und
den einzelnen Pufferspeichern 211 , 21n vorgesehen sein. Die einzelnen Pufferspeicher 211 –21n dienen jeweils zur Zwischenspeicherung
von in das Konfigurationsregister (31 in 1)
zu schreibenden Konfigurationsdaten. Diese Konfigurationsdaten sind
Teil eines Registerdatensatzes, wobei jeder Registerdatensatz neben
den Konfigurationsdaten als Nutzdaten auch Adressdaten umfasst,
die angeben, an welcher Registeradresse in dem Konfigurationsregister 31 die Nutzdaten
abzuspeichern sind. Die Signalverarbeitungseinheiten (32–34)
in 1 sind beispielsweise festverdrahtet an das Konfigurationsregister
angeschlossen. Über
die Registeradresse ist in diesem Fall festgelegt, für welche
Signalverarbeitungseinheit die Konfigurationsdaten bestimmt sind.
-
Die
Kapazität
der einzelnen Pufferspeicher 211 –21n kann insbesondere so gewählt sein,
dass mehrere Registerdatensätze
in jedem Pufferspeicher gespeichert werden können. Einzelne in den Pufferspeichern 211 –21n gespeicherte Registerdatensätze sind
in 2 als Sechsecke symbolisiert. Die Schnittstellenschaltung 23 weist
außerdem
eine Ausleseschaltung 22 auf, die an die Pufferspeicher 211 –21n angeschlossen ist und die dazu ausgebildet ist,
Registerdatensätze
aus den Pufferspeichern 211 –21n nach Maßgabe eines Auslesesignals
SYNC auszule sen und die ausgelesenen Registerdatensätze in eine
zweite Registereinheit 23, die nachfolgend als Zwischenregistereinheit
bezeichnet ist, zu schreiben. Diese Zwischenregistereinheit 23 weist
mehrere Register 23[1]...23[k], die nachfolgend
als Zwischenregister bezeichnet werden, auf. Die Anzahl der Zwischenregister
in der Zwischenregistereinheit 23 kann dabei insbesondere
der Anzahl der Konfigurationsregister in der Konfigurationsregistereinheit 31 entsprechen.
In diesem Fall ist jedem Konfigurationsregister genau ein Zwischenregister
zugeordnet.
-
Den
einzelnen Zwischenregistern in der Zwischenregistereinheit sind
Adressen zugewiesen, über
welche die Zwischenregister adressierbar sind. Für die nachfolgende Erläuterung
sei angenommen, dass in jedem Zwischenregister bzw. in jedem Konfigurationsregister
ein Konfigurationsdatum abgespeichert werden kann. Ein Konfigurationsdatum
ist hierbei ein Datenwort mit einer in einem einzelnen Register
abspeicherbaren Wortlänge.
Ein Registerdatensatz kann ein solches Konfigurationsdatum oder kann
mehrere solcher Konfigurationsdaten umfassen. Im zuletzt genannten
Fall sind mehrere Zwischenregister und Konfigurationsregister zur
Speicherung des Registerdatensatzes erforderlich. Die in einem ausgelesenen
Registerdatensatz enthaltenden Konfigurationsdaten werden durch
die Ausleseschaltung 22 in einem oder in mehreren Zwischenregistern
abgelegt. In welchem Zwischenregister oder in welchen Zwischenregistern
das Konfigurationsdatum/die Konfigurationsdaten abgespeichert werden sollen,
ist durch ein Adressdatum bzw. durch Adressdaten vorgegeben, das/die
im jeweiligen Registerdatensatz enthalten ist/sind. In den Zwischenregistern 23[1]...23[k] gespeicherte
Konfigurationsdaten werden bei dieser Schnittstellenschaltung nach
Maßgabe
eines weiteren Auslesesignals ausgelesen und in den jeweiligen Konfigurationsregistern
(31[1]...31[k] in 1, in 2 nicht
dargestellt) abgelegt.
-
Das
erste Auslesesignal, nach dessen Maßgabe Registerdatensätze aus
den Pufferspeichern 211 –21n ausgelesen und in den Zwischenregistern abgespeichert
werden, und das zweite Auslesesignal, nach dessen Maßgabe die
in den Zwischenregistern 23 abgespeicherten Konfigurationsdaten
in die Konfigurationsregister verschoben werden, können identische
getaktete Signale sein. Nach einem Taktimpuls dieses Signals werden
einerseits Registerdatensätze
aus den Pufferspeichern 211 –21n ausgelesen und in den Zwischenregistern 23 gespeichert, und
die bislang in den Zwischenregistern 23 gespeicherten Konfigurationsdaten
werden in die Konfigurationsregister verschoben. Das Auslesesignal
ist beispielsweise ein vertikales Synchronisationssignal. Dieses
vertikale Synchronisationssignal kennzeichnet Zeitpunkte, zu denen
die Videosignalverarbeitungseinheiten (32–34 in 1)
die Verarbeitung eines Bildes abgeschlossen haben. Mit einem Impuls dieses
Synchronisationssignals werden die in den Zwischenregistern 23[1]...23[k] abgespeicherten Konfigurationsdaten
nahezu ohne Verzögerung
in die Konfigurationsregister 31[1]...31[k] übernommen, die übernommenen
Daten werden dann bei der Prozessierung eines nächsten Bildes durch die Videosignalverarbeitungseinheiten
verwendet. Die Prozessierung eines nächsten Bildes beginnt beispielsweise nach
einer Pause von beispielsweise 16 ms bis 20 ms nach dem Impuls des
Synchronisationssignals.
-
Unmittelbar
nachdem die Konfigurationsdaten aus den Zwischenregistern in die
Konfigurationsregister übernommen
wurden, können
neue Konfigurationsdaten in die Zwischenregister geschrieben werden.
Dieser Übernahmevorgang
sollte dabei abgeschlossen sein, bevor eine erneute Übernahme von
Konfigurationsdaten aus den Zwischenregistern in die Konfigurationsregister
erfolgt.
-
Die
einzelnen Speicherpuffer 211 –21n sind als FIFO-Puffer realisiert, das
heißt
durch die Ausleseschaltung 22 wird mit jedem Impuls des
Auslesesignals SYNC jeweils der Registerdatensatz ausgelesen, der
sich bereits am längsten
in dem je weiligen Speicherpuffer 211 –21n befindet. Die einzelnen Pufferspeicher 211 –21n können
hierbei sogenannte Ringpuffer sein.
-
Die
Ausleseschaltung 22 ist dazu ausgebildet, vor Auslesen
eines Registerdatensatzes den Registerdatensatz auf Vollständigkeit
zu überprüfen. Bezugnehmend
auf 3 ist ein Registerdatensatz beispielsweise dann
vollständig,
wenn er wenigstens eine Registeradresse ADR, wenigstens ein Konfigurationsdatum
D und einen Abschluss- oder Übernahmebefehl
TO aufweist, die zeitlich aufeinanderfolgend in den jeweiligen Pufferspeicher
geschrieben werden. Vor Auslesen eines Registerdatensatzes überprüft die Ausleseschaltung 22 hierbei,
ob der Datensatz durch einen Übernahmebefehl
TO abgeschlossen ist. Nur wenn ein solcher Abschlussbefehl TO vorhanden
ist, wird der Registerdatensatz als vollständig angesehen und übernommen.
Nicht vollständig
vorhandene Konfigurationsdaten könnten
zu sichtbaren Artefakten in dem Bild führen.
-
Bezugnehmend
auf 4 kann ein in den Pufferspeichern 211 –21n abgespeicherter Registerdatensatz
auch mehrere Konfigurationsdaten enthalten, die in unterschiedlichen
Zwischenregistern der Zwischenregistereinheit 23 und damit
in unterschiedlichen Konfigurationsregistern der Konfigurationsregistereinheit
(31 in 1) abzuspeichern sind. Nach einem
Impuls des Synchronisationssignals werden diese mehreren Konfigurationsdaten
eines Registerdatensatzes aus den Pufferspeichern 211 –21n ausgelesen und in den jeweiligen Zwischenregistern
abgespeichert.
-
Der
Speicherzugriff der Ablaufsteuerung einerseits und der Ausleseschaltung 22 andererseits auf
einen der Pufferspeicher wird nachfolgend kurz erläutert: Der
Pufferspeicher verfügt über eine
Anzahl von Speicherplätzen,
die jeweils eine eindeutige Speicheradresse besitzen. Ausgehend
von einer Anfangsadresse schreibt die Ablaufsteuerung 10 nach einem
fest vorgegebenen Schema in die Speicherplätze des Pufferspeichers, wobei
die Ablaufsteuerung 10 wieder an der Anfangsad resse beginnt,
wenn alle Speicherplätze
einmal beschrieben sind. Das Schreibschema sieht beispielsweise
vor, dass jedes neue Datenwort an die gegenüber der zuletzt beschriebenen
Speicheradresse nächsthöhere oder nächstniedrigere
Speicheradresse geschrieben wird. Unter Datenwort ist in diesem
Zusammenhang ein beliebiges Datenwort zu verstehen, das eine Adresse,
ein Konfigurationsdatum oder ein Abschlussbefehl sein kann. Die
Ausleseschaltung 22 beginnt mit dem Auslesen des Pufferspeichers
an derselben Anfangsadresse wie die Ablaufsteuerung 10 und
liest die einzelnen Speicheradressen nach gemäß selben Schema aus, gemäß dem die
Ablaufsteuerung den Pufferspeicher beschreibt. Nach einem Auslesevorgang,
bei dem ein Registerdatensatz aus dem Pufferspeicher ausgelesen
wurde, "merkt" sich die Ausleseschaltung 22 die
Speicheradresse des Pufferspeichers, auf die zuletzt zugegriffen
wurde und beginnt mit dem nächsten
Auslesevorgang an dieser letzten Speicheradresse. Vor einem Auslesen überprüft die Ausleseschaltung 22 ob
an einer der nachfolgend auszulesenden Speicheradressen ein Übernahmebefehl
abgespeichert ist. Nur dann werden die vorangehenden Speicheradressen
bis zu diesem Übernahmebefehl
ausgelesen. Andernfalls liegt ein nicht vollständiger Registerdatensatz vor,
der vor einem Auslesen erst durch die Ablaufsteuerung 10 vervollständigt und
durch den Übernahmebefehl
TO abgeschlossen werden muss.
-
Die
in einem Registerdatensatz vorhandenen Konfigurationsdaten bilden
zusammen mit den Adressdaten einen Konfigurations- oder Parameterdatensatz.
Die Pufferspeicher 211 –21n stellen sicher, dass nur vollständige Konfigurationsdatensätze in das
Konfigurationsregister 31 übernommen werden und ermöglichen
zugleich, dass die Ablaufsteuerung 10 vollständig asynchron
zum Beschreiben des Konfigurationsregisters Konfigurationsdaten
in den Pufferspeicher schreiben kann, wobei die Konfigurationsdaten
erst dann ausgelesen werden, wenn sie vollständig vorhanden sind. Unvollständig vorhandene
Konfigurationsdatensätze
können
sich als sichtbare Artefakte in dem Bild bemerkbar machen. Hingegen
spielt es für
den Bildeindruck häufig
keine Rolle, ob eine Änderung
von Konfigurationsdaten ein Bild früher oder ein Bild später in der
dargestellten Bildfolge einsetzt.
-
Die
einzelnen Signalverarbeitungseinheiten (32–34 in 1)
des Signalprozessors (30 in 1) können unterschiedlichen
Taktdomänen
angehören, d.
h. sie können
das Bild nach Maßgabe
unterschiedlicher insbesondere gegeneinander phasenverschobener
Takte verarbeiten. Die einzelnen Signalverarbeitungseinheit verarbeiten
ein Bild bzw. die einem Bild zugeordneten Bilddaten nicht parallel
sondern zeitlich aufeinanderfolgend. Bei solchen Systemen gibt es
mehrere, gegeneinander phasenverschobene vertikale Synchronisationssignale,
wobei jedes dieser Synchronisationssignale einer Taktdomäne zugeordnet
ist und signalisiert, wann die Signalverarbeitungseinheiten in dieser
Taktdomäne
die Verarbeitung eines Bildes abgeschlossen haben. 5 zeigt ein
Ausführungsbeispiel
einer Schnittstellenschaltung 20 für eine Signalverarbeitungsschaltung
mit mehreren Taktdomänen.
Diese Signalverarbeitungsschaltung weist mehrere, jeweils einer
Taktdomäne zugeordnete
Ausleseschaltungen 221 , 222 , 22m auf, die
jeweils nach Maßgabe
des der jeweiligen Taktdomäne
zugeordneten Auslesesignals, beispielsweise des vertikalen Synchronisationssignals
SYNC1, SYNC2, SYNCm, die Pufferspeicher 211 –21n auf vollständig vorhandenes Registerdatensätze überprüfen und
vollständig
vorhandene Registerdatensätze
auslesen und in ein Zwischenregister einspeichern. Jeder Ausleseschaltung 22 ist
dabei eine Zwischenregistereinheit 231 , 232 , 23m zugeordnet,
deren Registerinhalte entsprechend der Erläuterungen zu 2 nach
Maßgabe
des Synchronisationssignals der jeweiligen Taktdomäne in die
Konfigurationsregister übertragen
werden. Jede Ausleseschaltungen überprüft hierbei
bei jedem Taktimpuls des für
sie maßgeblichen
Synchronisationssignals jeden der Pufferspeicher dahingehend, ob
Registerdatensätze
vorhanden sind, die in ihren Zwischenregistern abzuspeichern sind
und übernimmt
diese Registerdatensätze.
-
Die
Registeradresse in dem Konfigurationsregister, und damit auch die
Registeradressen der Zwischenregister 231 –23m , sind über alle Taktdomänen hinweg
eindeutig. Hierdurch ist beim Auslesen der Pufferspeicher 211 –21n durch die Ausleseschaltungen ausgeschlossen,
dass es zu Mehrdeutigkeiten beim Beschreiben der Zwischenregister
und somit beim anschließenden
Beschreiben der Konfigurationsregister kommt.