-
Die
Erfindung betrifft ein Verfahren der im Oberbegriff des Anspruchs
1 angegebenen Gattung und eine zur Durchführung dieses Verfahrens geeignete
Vorrichtung.
-
Verfahren
und Vorrichtungen dieser Art sind bekannt (z. B. PAM in
EP 0 836 332 A1 ).
Bei ihrer Anwendung werden die Bildpixel eines Bildschirms, die
aus je einem roten, grünen
und blauen, nachfolgend mit den Bezeichnungen Gr, Bl und Rt versehenen
Subpixeln gebildet sind, zeilenweise so angesteuert, dass abwechselnd
vertikale, rechte und linke Subpixelstreifen entstehen, die zur
Erzeugung zugeordneter, rechter und linker Bildstreifen dienen.
Diese Bildstreifen werden mit Hilfe einer vor dem Bildschirm angeordneten
Rasterscheibe zu den für
3D-Darstellungen benötigten,
rechten und linken Bildern zusammengefasst.
-
Bei
einer bekannten Weiterentwicklung dieser Verfahren und Vorrichtungen
zur Wiedergabe von 3D-Darstellungen (PARSC in PCT
WO 2004/081863 A2 ) wird
ein Flachbildschirm mit nebeneinander liegenden Farbsubpixeln verwendet.
Die Subpixel werden dabei verkämmt
angesteuert, so dass in jeder Bildschirmzeile abwechselnd aufeinander
folgende Subpixelstreifen entstehen, die Bildstreifen für mindestens
zwei unterschiedliche Betrachtungsrichtungen erzeugen. Vor dem Bildschirm
ist dabei eine Rasterscheibe angeordnet, die die Bildstreifen zu
rechten und linken Bildern zusammenfasst. Außerdem ist vorgesehen, die
originalen rechten und linken Bilder zunächst in Zeilenrichtung auf
z. B. ein Drittel ihrer Breite zu stauchen und dann mit Hilfe der
vor dem Bildschirm angeordneten Rasterscheibe wieder auf das ursprüngliche
Maß zu
strecken. Zur Vermeidung von Farbstörungen und zur Verbesserung
der Auflösung
werden die Helligkeits- und Farbwerte der verschiedenen Bildpixel
mit Hilfe von Helligkeits- und Farbfiltern in unterschiedlicher
Weise und so auf die Subpixel des Bildschirms verteilt, dass die
Helligkeitsinformation nahezu unverändert bleibt, während die
Farbinformation um ca. zwei Drittel reduziert wird. Trotz der Stauchung
der Ursprungsbilder auf ein Drittel geht daher praktisch keine Helligkeitsinformation
verloren, und die gewählte
Farbverteilung führt
trotz des Informationsverlustes dazu, dass die Farbqualität für einen
Betrachter allenfalls geringfügig
verschlechtert wird. Diese als HR-Filterung (High Resolution Filterung)
bezeichnete Maßnahme
macht von der bekannten Eigenschaft Gebrauch, dass das menschliche
Auge aufgrund seiner physiologischen Gegebenheiten Helligkeitsschwankungen
stärker
als Farbschwankungen wahrnimmt.
-
Ein
bei der HR-Filterung noch nicht befriedigend gelöstes Problem besteht darin,
dass wegen der hohen erforderlichen Rechenleistungen, die z. B.
durch Bildschirmgrößen mit
1024·768
Bildpixeln, 50 Bilder pro Sekunde und zwei Filter mit z. B. je sieben
oder mehr Filterkoeffizienten bedingt sind, die Echtzeitfähigkeit
verloren gehen kann.
-
Alternativ
wäre es
möglich,
die erforderliche Stauchung der Originalbilder dadurch herbeizuführen, dass
man jedes zweite und dritte Bildpixel wegfallen lässt. Dadurch
würde der
Rechenaufwand erheblich reduziert. Nachteilig wäre jedoch, dass bei der nachträglichen
Verbreiterung der Bildpunkte auf das Dreifache vergleichsweise grobe
Raster und dadurch insbesondere bei schrägen Kanten stark treppenstufenförmige und unschön wirkende
Begrenzungslinien erhalten würden.
Außerdem
würden
sich Aliasfehler ergeben. Diese könnten zwar dadurch vermieden
werden, dass bei der Stauchung jeweils eine Mittelwertbildung über je drei Bildpixel
vorgenommen wird. Das würde
jedoch eine Reduzierung der Auflösung
auf ca. ein Drittel zur Folge haben.
-
Aus
den genannten Gründen
kann heute zwischen einer autostereoskopischen Darstellung mit hohem Auflösungsvermögen und
nicht immer ausreichender Echtzeitfähigkeit und einer 3D-Darstellung
in Echtzeit, jedoch mit mäßiger Auflösung gewählt werden.
-
Bekannt
ist ferner ein auch für
3D-Darstellungen geeignetes Anti-Aliasing-Verfahren (
WO 02/077919 A2 ), bei
dem die zur Erzeugung der Darstellungen erforderlichen Daten als
Polygone vorliegen. Zur Wiedergabe der Darstellungen wird ein Bildschirm
verwendet, der über
in Zeilen und Spalten angeordnete Bildpixel verfügt. Für von einer Polygonlinie durchlaufene
Pixel wird bestimmt, welcher Anteil des Pixels auf welcher Seite
der Polygonlinie liegt und welchen Anteilen dementsprechend dem
Pixel die Farbe benachbarter Pixel beigemischt werden muss. Zur
Ermittlung des auf der jeweiligen Seite der Polygonlinie liegenden
Pixelanteils und zur Bestimmung der beizumischenden Farbanteile
benachbarter Pixel wird das jeweilige Pixel in eine vorgegebene
Zahl von Subpixeln unterteilt und eine Subpixel-Maske generiert.
-
Ausgehend
von diesem Stand der Technik besteht das technische Problem der
vorliegenden Erfindung darin, die eingangs bezeichneten Verfahren
und Vorrichtungen dahingegen zu verbessern, dass sowohl Echtzeitfähigkeit
erreicht als auch eine hohe Auflösung
erzielt wird.
-
Zur
Lösung
dieser Aufgabe dienen ein Verfahren mit den Merkmalen des Anspruchs
1 und eine Vorrichtung, die zur Durchführung dieses Verfahrens eingerichtet
ist.
-
Die
Erfindung bringt den Vorteil mit sich, dass jeweils in schmalen
Umgebungszonen von Polygonlinien eines auf Vektorbasis vorliegenden
Bildes eine spezielle, anhand von Subpixelmustern erfolgende Ansteuerung
der Bildschirm-Subpixel vorgenommen wird. Dadurch ist es möglich, einmal
geschaffene Subpixelmuster so oft wie nötig zu wiederholen, was zumindest
im Bereich der Polygonlinien den Rechenaufwand erheblich reduziert.
Wird außerdem
berücksichtigt,
dass die beschriebene HR-Filterung in den von den Polygonlinien umgrenzten
Bereichen, in denen keine oder nur geringfügige Farb- und Helligkeitsänderungen
stattfinden, keine wesentlichen qualitativen Vorteile mit sich bringt,
dann kann die HR-Filterung in diesen Bereichen erfindungsgemäß auch ganz
unterbleiben. Dadurch werden wesentliche Teile der bisher benötigten Rechenzeiten eingespart
und erfindungsgemäß 3D-Darstellungen
in Echtzeit und mit hoher Auflösung
ermöglicht.
-
Weitere
vorteilhafte Merkmale der Erfindung ergeben sich aus den Unteransprüchen.
-
Die
Erfindung wird nachfolgend in Verbindung mit den beiliegenden Zeichnungen
an Ausführungsbeispielen
näher erläutert. Es
zeigen:
-
1 schematisch
ein bekanntes 3D-Wiedergabesystem;
-
2 optische
Strahlengänge
für das
rechte und linke Auge bei Anwendung einer mit Zylinderlinsen versehenen
Rasterscheibe für
einen Teil einer horizontalen Subpixelzeile eines Bildschirms des
Wiedergabesystems nach 1;
-
3 schematisch
das Generieren und Verkämmen
von Perspektiven für
autostereoskope 3D-Darstellungen;
-
4 schematisch
die Darstellung von grauen Streifen auf einem farbigen Untergrund
jeweils bei einer Aufösung
im Bildpixelbereich (A1, A2) und bei einer erfindungsgemäßen Auflösung im
Subpixelbereich (B1, B2);
-
5 und 6 die
erfindungsgemäße Behandlung
von Übergängen zwischen
zwei Farbflächen;
-
7 schematisch
die erfindungsgemäße Generierung
von 3D-Darstellungen;
-
8 ein
Ablaufdiagramm der Vorfilterung zur HR-3D-Subpixelfilterung; und
-
9 je
einen Luminanz-Filter hL und einen Chrominanz-Filter
hC zur HR-3D- Subpixelfilterung.
-
1 und 2 zeigen
schematisch ein erfindungsgemäßes Wiedergabesystem
für 3D-Darstellungen,
die Bilder oder Szenen beinhalten können. Das Wiedergabesystem
enthält
einen Bildschirm 1, insbesondere einen Flachbildschirm
(TFT- oder Plasma-Bildschirm),
vor dem eine hier als Linsenrasterscheibe ausgebildete Rasterscheibe 2 angeordnet
ist. Der Bildschirm 1 enthält gemäß 2 in einer
Vielzahl von z. B. 768 bis 1200 (horizontalen) Zeilen eine Vielzahl
von nebeneinander liegenden, z. B. je 1024 bis 1920 Bildpixeln, die
aus je drei nebeneinander liegenden, farbigen Subpixeln in den Farben
rot (= Rt), grün
(= Gr) und blau (= Bl) zusammengesetzt sind. Innerhalb jedes Bildpixels
ist die Reihenfolge der Subpixel stets dieselbe, z. B. Rt, Gr, Bl.
-
Zur
Erzeugung von 3D-Darstellungen dient eine Prozessoreinheit 3,
die z. B. eine mit einem Speicher versehene Grafikkarte enthält, auf
die in Echtzeit die von einer Kamera od. dgl. gelieferten, elektrischen
Signale von Bildern, Szenen od. dgl. überspielt werden. Alternativ
können
diese Signale auch aus einem Massenspeicher kommen und ständig neu
geliefert werden. Die Bilder können
auch sonstwie z. B. in Punktform, auf der Karte abgelegt sein.
-
Von
der Prozessoreinheit 3 werden rechte und linke Bildsignale
für in 1 schematisch
durch Rechtecke angedeutete, rechte bzw. linke Bilder 4 und 5 in
Originalgröße und in
Pixelform erzeugt und z. B. in je einem rechten und linken Speicher
abgelegt. Diese Bildsignale werden dann einem Block 6 zugeführt und
in diesem, bezogen auf die Bildschirmbreite, z. B. auf je ein Drittel
ihrer ursprünglichen
Breite und insbesondere in demselben Verhältnis gestaucht, wie sie später durch
die Rasterscheibe 2 wieder vergrößert werden. Dadurch werden
Bildsignale für
schmale, durch weitere Rechtecke angedeutete, rechte und linke Bilder 7 und 8 erhalten.
Außerdem
können
die Bildsignale im Block 6 bei Bedarf ganz und/oder in
ausgewählten
Bereichen einer weiter unten erläuterten,
eingangs kurz als HR-Filterung bezeichneten Behandlung unterworfen
werden.
-
Die
Signale der gestauchten Bilder 7 und 8 werden
einem weiteren Block 9 zugeführt, in dem sie in Signale
für rechte
und linke Bildstreifen 10 und 11 zerlegt werden.
Die Berechnung der Bildstreifensignale erfolgt vorzugsweise adaptiv,
d. h. in Abhängigkeit
von der Position eines Betrachters vor dem Bildschirm, wozu insbesondere
die jeweilige Anfangsposition der Bildstreifen 10 und 11 auf
dem Bildschirm nach jeder Bewegung neu und genau ermittelt werden
muss. Die Bildstreifensignale werden im Block 9 außerdem verkämmt bzw.
gemultiplext, so dass sich die zugehörigen Bildstreifen 10, 11 entsprechend 1 in
Zeilenrichtung miteinander abwechseln, während sie in Spaltenrichtung
(vertikal) z. B. durchgehend sind. Die die rechten und linken Bildstreifen 10, 11 repräsentierenden
Signale werden schließlich über eine übliche Schnittstelle 12 dem mit
dem Bildschirm 1 versehenen Monitor od. dgl. zugeführt.
-
Damit
die Berechnung der Bildstreifensignale adaptiv erfolgen kann, ist
dem Betrachter beispielsweise ein Eye-Tracker 14 zugeordnet,
dessen Signale der Prozessoreinheit 3 und der die Blöcke 6 und 9 enthaltenden,
nachfolgend insgesamt als Codiereinheit bezeichneten Einrichtung
zugeführt
werden. Außerdem
kann das Wiedergabesystem der 1 in üblicher
Weise mit einer 3D-Maus 15, einer Eingabesteuerung 16,
einer 3D-Bibliothek 17 und ggf. einer Einstellvorrichtung 18 für personenspezifische
Einstellungen versehen sein.
-
2 zeigt
in der obersten Reihe schematisch einige mit den Bezugszeichen Rt
(= rot), Gr (= grün) und
Bl (= blau) bezeichnete Subpixel des Flachbildschirms 1 der 1,
wobei je drei solcher Subpixel Rt, Gr, Bl und von links nach rechts
in jedem Bildpixel stets dieselbe Reihenfolge, z. B. Rt, Gr, Bl–Rt, Gr,
Bl usw. haben. Weiter zeigt 2, dass
vor den den Bildschirm 1 repäsentierenden Subpixeln eine
in Querschnitt dargestellte Linsenrasterscheibe 20 angeordnet
ist, die eine Glasscheibe 21 und eine Mehrzahl von nebeneinander
angeordneten, vertikal erstreckten Zylinderlinsen (z. B. einige
100) aufweist, die z. B. auf der dem Betrachter zugewandten Breitseite
der Glasscheibe 21 angebracht sind, von denen jedoch 2 nur
zwei Zylinderlinsen 22a und 22b zeigt. Schließlich zeigt 2 schematisch
den optischen Strahlengang, ausgehend von je einem rechten bzw.
linken Auge 23, 24 eines Betrachters.
-
Erfindungsgemäß ist die
Linsenrasterscheibe 20 so dimensioniert und angeordnet,
dass zumindest die in einem ausgewählten Bereich des Bildschirms 1 von
den Subpixeln Rt, Gr und Bl erzeugten, rechten und linken Bildstreifen
für den
Betrachter überlappungsfrei
bzw. disjunkt erscheinen und sich die Reihenfolge der Farben beim Übergang
von einem rechten (linken) Subpixelstreifen zum jeweils vorhergehenden
oder nachfolgenden rechten (linken) Subpixelstreifen stets stetig
fortsetzt. Dies ist z. B. aus 2 ersichtlich.
Hier sind abwechselnd rechte bzw. linke, aus je sechs Subpixeln
Rt, Gr und Bl gebildete Subpixelstreifen 25a, 25b bzw. 26a, 26b dargestellt,
wobei der rechte Subpixelstreifen 25a links mit einem grünen Subpixel
beginnt und rechts mit einem roten Subpixel endet, während der
nächste
rechte Subpixelstreifen 25b links ebenfalls mit einem grünen Subpixel
beginnt und rechts mit einem roten Subpixel endet, so dass – über beide
Subpixelstreifen betrachtet – von
links nach rechts durchgehend stetig die Farbreihenfolge Gr, Bl,
Rt usw. erhalten wird. Entsprechend ergibt sich für die linken
Subpixelstreifen 26a, 26b durchgehend die Farbreihenfolge
Gr, Bl, Rt, Gr, Bl, Rt usw., wiederum von links nach rechts betrachtet.
-
Wenn
die Zahl der nebeneinander liegenden Subpixel sowohl in den rechten
als auch in den linken Subpixelstreifen 25, 26 in 2 einem
ganzzahligen Vielfachen der Farbenzahl bzw. einem ganzzahligen Vielfachen
einer Bildpixelbreite entspricht und die Subpixelstreifen 25, 26 ohne
Zwischenräume
aneinander grenzen, dann sind die rechten (linken) Subpixelstreifen 25, 26 automatisch
so voneinander beabstandet, dass die Zwischenräume bzw. Sichtsprünge zwischen
einem seitlichen Ende (z. B. 26c in 2) eines
rechten (linken) Subpixelstreifen und einem zugewandten seitlichen
Ende (z. B. 26d) in 2 von einem
in Zeilenrichtung vorhergehenden und/oder nachfolgenden rechten
(linken) Subpixelstreifen genau einem ganzzahligen Vielfachen eines
Bildpixels (bzw. der vorhandenen Anzahl der Pixelfarben) entsprechen.
Als nachteilig könnte
dabei allerdings empfunden werden, dass die rechten und linken Subpixelstreifen
jeweils unmittelbar aneinander grenzen, was bei ungenauer Positionierung
der Rasterscheibe 20 und bei geringen Bewegungen des Betrachters zu
Bildstörungen
führen
könnte.
Daher wird in Weiterbildung der Erfindung vorgeschlagen, zwischen
den Subpixelstreifen 25, 26 weitere Subpixel Rt,
Gr bzw. Bl vorzusehen.
-
Dies
ist in 2 dadurch sichtbar gemacht, dass zwischen den
Subpixelstreifen 25a und 26a bzw. 26a und 25b bzw. 25b und 26b jeweils
drei weitere Subpixel 27a, 27b bzw. 27c angeordnet
sind. Diese weiteren Subpixel 27 dienen einerseits der
besseren räumlichen
Trennung der Subpixelstreifen 25, 26 und ermöglichen andererseits
begrenzte Kopfbewegungen eines Betrachters, wie weiter unten näher erläutert ist,
ohne dadurch Bildstörungen
zu verursachen. Letzteres gilt insbesondere dann, wenn die Zahl
der weiteren Subpixel 27 vorzugsweise einem ganzzahligen
Vielfachen der Bildpixelbreite bzw. der vorhandenen Pixelfarben
(hier drei) entspricht.
-
Weiter
zeigt 2, dass die Codiereinheit 6, 9 so
steuerbar und die Rasterscheibe 20 so dimensioniert und
angeordnet ist, dass zumindest diejenigen rechten und linken Bildstreifen,
z. B. 28 und 29, die in einem ausgewählten Bereich
des Bildschirms 1 (z. B. in dessen linker Hälfte) erzeugt
werden, vom Betrachter überlappungsfrei
gesehen werden. Dabei ist klar, dass in 2 die rechten
Bildstreifen 28 durch die rechten Subpixelstreifen 25 und
die linken Bildstreifen 29 durch die linken Subpixelstreifen 26 erzeugt
werden und alle rechten bzw. linken Bildstreifen 28 und 29,
von denen in 2 nur zwei gezeigt sind, durch
die Rasterscheibe 20 zu einem das räumliche Sehen ermöglichenden
rechten bzw. linken Bild für
das rechte bzw. linke Auge 23, 24 zusammengefasst
werden, wobei durch die Rasterscheibe 20 eine der vorhergehenden
Stauchung in dem Block 6 (1) entsprechende
Streckung der Bilder erfolgt.
-
Zwischen
der Rasterscheibe 20 und dem Bildschirm 1 kann
eine Schutzfolge 30 (2) angeordnet sein.
-
Zur
Verbesserung der Auflösung,
die durch die Stauchung der Bilder auf etwa ein Drittel ihrer Breite (in
Zeilenrichtung) stark reduziert ist, können die Bildpunkte z. B. im
Block 6 (1) der mehrfach genannten HR-Filterung
unterzogen werden. Dabei wird in einem ersten Schritt ein Helligkeitsfilter
mit einer Mehrzahl von Koeffizienten derart angewendet, dass ein
gleichbleibender Grauwert im Originalbild einen entsprechenden mittleren
Grauwert im Zielbild liefert. Mit anderen Worten werden die Helligkeitswerte
Y = (G + B + R)/3 von drei nebeneinander liegenden Bildpixeln des
Originals in einer von den Filterkoeffizienten abhängigen Weise auf
die drei Subpixel eines zugeordneten Bildpixels auf dem Bildschirm
verteilt. Dabei bedeuten die Größen G, B
und R die Intensitäten
bzw. Helligkeiten der einzelnen Subpixel Gr, Bl und Rt, während Y
die Helligkeit eines Pixels angibt.
-
In
einem zweiten Schritt wird die Farbinformation mit einer reduzierten örtlichen
Auflösung
hinzugefügt.
Dies erfolgt dadurch, dass die Farbdifferenzwerte DG = G – Y, DB
= B – Y
und DR = R – Y
mit einem ebenfalls eine Mehrzahl von Koeffizienten aufweisenden
Farbfilter behandelt und dann in den gestauchten Bildern den Helligkeitswerten
Y = (G + B + R)/3 hinzuaddiert werden. Für die rechten und linken Bilder
werden zweckmäßig dieselben
Operationen durchgeführt.
-
Verfahren
und Vorrichtungen der beschriebenen Art sind bekannt. Insoweit wird
insbesondere auf das Dokument PCT
WO 2004/081863 A2 verwiesen, das hiermit
zur Vermeidung von Wiederholungen zum Gegenstand der vorliegenden
Offenbarung gemacht wird.
-
3 zeigt
schematisch die Erzeugung einer 3D-Darstellung auf dem Bildschirm,
von dem hier nur die Linsenrasterscheibe 20 dargestellt
ist. In der obersten Reihe der 3 sind zwei
Perspektiven P1, P2 eines einfachen, quaderförmigen Gegenstandes dargestellt,
wobei klar ist, dass bei Multi-View-Darstellungen auch mehr als
zwei Perspektiven P1, P2, .... Pi vorhanden sein können. Die
einzelnen Quader sind jeweils durch Flächen 31, 32, 33 usw.
begrenzt.
-
In
der zweiten Reihe der 3 sind die aus den Perspektiven
P1 und P2 erhaltenen, gestauchten Perspektiven PS1 und PS2 und weitere
gestauchte, z. B. aus Perspektiven P3 und P4 erhaltene Perspektiven
PS3 und PS4 dargestellt.
-
In
der dritten Reihe der 3 sind schließlich schematisch
die auf den Bildschirm kopierten Subpixelstreifen angedeutet.
-
In 3 ist
vorausgesetzt, dass die einzelnen Flächen überall gleiche Farb- und Helligkeitswerte
aufweisen, d. h. z. B. die Fläche 31 durchgehend
den Wert Y1 = (G1, B1, R1), die Fläche 32 durchgehend
den Wert Y2 = (G2, B2, R2) und die Fläche 33 durchgehend
den Wert Y3 = (G3, B3, R3) besitzt. Für die anderen Perspektiven
P2...Pi gilt im Beispiel sinngemäß dasselbe.
Hier bedeuten die Größen G1,
B1, R1 bzw. G2, B2, R2 usw. die Intensitäten der Subpixel in den Flächen 31, 32 und 33,
während
die Größen Y1 bis
Y3 die daraus resultierenden Helligkeitswerte für die Pixel in diesen Flächen sind.
-
Ein
Ausschnitt der Fläche 32 ist
auch in 4 dargestellt. Dabei ist für einen
besonders einfachen Fall zusätzlich
angenommen, dass die Fläche 32 mit
einem schräg
verlaufenden, grauen oder weißen,
durch parallele und gerade Seitenkanten begrenzten Streifen 34 von
der Breite eines Bildpixels versehen ist. Bei der herkömmlichen
Bildverarbeitung, die auf der Basis von Bildpixeln arbeitet, hat
das zur Folge, dass auf dem Bildschirm alle längs des Streifens 34 angeordneten,
in 4 übereinander
liegenden neun Bildpixel grau dargestellt werden. Die sich dadurch
ergebende Darstellung ist im Bild A1 der 4 in der
gestauchten, durch die Ansteuerung der Bildschirmpixel erhaltenen
Anordnung und im Bild A2 der 4 durch
diejenige Anordnung gezeigt, die sich bei der Betrachtung des Bildes
A1 durch die Linsenrasterscheibe hindurch ergibt, durch die eine
in Zeilenrichtung gedehnte Darstellung erhalten wird. Daraus ist
ersichtlich, dass die neun in 4 dargestellten
Bildpixel im sichtbaren Bild A2 zu einem stark ausgeprägten, treppenstufenförmigen Verlauf
des Streifens 34 zwischen zwei beispielhaft eingezeichneten, übertrieben
dick dargestellten Begrenzungslinien 34a und 34b führen. Dadurch
sind die ursprünglich
geraden Seitenkanten des Streifens 34 stark verzerrt. Eine feinere
Auflösung
ist hier nicht möglich.
-
Demgegenüber wird
erfindungsgemäß vorgeschlagen,
die Bilder, insbesondere die gestauchten Bilder vektoriell abzuspeichern.
Bei dieser Art der Speicherung werden nur die Eckpunkte von Polygonflächen abgespeichert,
wobei die Polygonflächen
durch gedachte, die Eckpunkte verbindende Polygonlinien begrenzt sind.
Innerhalb einer Polygonfläche
ist dabei stets dieselbe Farbe (Gr, Bl, Rt) vorhanden. Dadurch ergeben
sich für
die Fläche 32 zwei
nicht dargestellte Eckpunkte, zwischen denen eine den Streifen 34 markierende
Polygonlinie 35 verläuft,
die auch als Kante aufgefasst werden kann, längs der sich die Werte G, B,
R entsprechend dem darzustellenden Streifen 34 ändern. Die
Berechnung der Polygonlinien 35 erfolgt über die
Software, und zwar vorzugsweise nicht anhand der Perspektiven, sondern
anhand der Flächen,
die sich nach der Projektion der Perspektiven auf die Bildschirmebene
ergeben, unter Anwendung einer geeigneten Grafikkarte.
-
Erfindungsgemäß wird weiter
vorgesehen, dem Streifen 34 nicht wie in A1, A2 die von
der Polygonlinie 35 getroffenen bzw. durchlaufenen Bildpixel,
sondern nur die von der Polygonlinie 35 durchlaufenen Subpixel zuzuordnen.
Dabei ist zur Vereinfachung der Beschreibung in 4,
Bild B1 angenommen, dass die Polygonlinie 35 jeweils ein
Subpixel 36, 37, 38...39 durchläuft, wobei
das Subpixel 36 grün,
das Subpixel 37 rot, das Subpixel 38 blau und
das Subpixel 39 ebenfalls blau ist, was an der unterschiedlichen
Schattierung der einzelnen Subpixel erkennbar ist. Es werden daher
zunächst
die Subpixel 36...39 berechnet, die auf der Polygonlinie 35 liegen.
Dabei zeigt das Bild B1 wie das Bild A1 die Verhältnisse am Bildschirm und das
Bild B2 wie das Bild A2 die Verhältnisse
bei Betrachtung durch die Zylinderlinse.
-
Da
der Streifen 34 grau oder auch weiß mit G = B = R dargestellt
werden soll, wird erfindungsgemäß jedem
von der Polygonlinie 35 durchlaufenen Subpixel 36...39 je
eine Umgebungszone zugeordnet, die das durchlaufene Subpixel und
in einer engen Umgebung unmittelbar benachbarte Subpixel enthält. Im Bild
B1 von 4 wird die Umgebungszone des Subpixels 36 insgesamt
durch ein links von der Polygonlinie 35 liegendes, rotes
Subpixel 40, das Subpixel 36 und ein rechts von
der Polygonlinie 35 liegendes, blaues Subpixel 41 gebildet.
Entsprechend wird in den anderen Zeilen vorgegangen, so dass das
blaue Subpixel 39, ein links daneben liegendes grünes Subpixel 42 und
ein rechts daneben liegendes rotes Subpixel 43 eine dem
Subpixel 39 zugeordnete Umgebungszone bilden.
-
Schließlich wird
softwaremäßig festgelegt,
dass die erläuterten
Umgebungszonen nach einem vorgegebenen, von den Helligkeits- und/oder
Farbwerten beidseitig der Polygonlinie 35 abhängigen Subpixelmuster angesteuert
werden. Im Ausführungsbeispiel
soll der Streifen 34 z. B. grau sein. Daher wird den Subpixeln 40 und 41 derselbe
Farbwert bzw. dieselbe Intensität
wie dem Subpixel 36 und den Subpixeln 42, 43 derselbe Farbwert
bzw. dieselbe Intensität
wie dem Subpixel 39 gegeben. Längs des gesamten Streifens 34 haben
daher jeweils die von der Polygonlinie 35 durchlaufenen
und die beiden Nachbar-Subpixel dieselben Farbwerte G = B = R.
-
Bei
der beschriebenen Vorgehensweise ist es lediglich erforderlich,
für jeweils
ein grünes,
rotes und blaues Subpixel 36, 37, 38 die
Umgebungszonen und die diesen zugeordneten Subpixelmuster auszurechnen. Dieselben
Subpixelmuster werden dann längs
des gesamten Streifens 34 wiederholt. Die einmal ermittelten Subpixelmuster
können
außerdem
gespeichert und an anderen Stellen im Bild wieder verwendet werden,
wo es erforderlich oder erwünscht
ist. Soll im Streifen 34 überall G = B = R gelten, dann
genügt
im Prinzip auch die Ermittlung einer einzigen Umgebungszone und
eines zugehörigen
Subpixelmusters. In jedem Fall wird die Rechenzeit für den Bereich
des Streifens 34 erheblich reduziert.
-
Das
Ergebnis der beschriebenen Verfahrensweise zeigt das Bild B2 in 4,
wobei allerdings die unterste Zeile abweichend vom Bild B1 ein Rt,
Gr, B1-Bildpixel ist und das Bildpixel 39, 42, 43 aus
B1 die zweite Zeile von unten in B2 bildet. Nach der Verbreiterung
des gestauchten Bildes B1 durch die Linsenrasterscheibe (Bild B2)
werden längs
des Streifens 34 neun, in Spaltenrichtung aufeinander folgende,
aus je drei Subpixeln bestehende Bildpixel erhalten. In diesen gilt
jeweils G = B = R, wobei die Reihenfolge der Farben in jedem Bildpixel
abweichend von den Bildern A1, A2 jeweils von links nach rechts
und von Zeile zu Zeile wechselt (z. B. unterste Zeile Rt, Gr und
B1, in der nächsten
Zeile dagegen Gr, Bl und Rt usw. in B2). Insbesondere zeigt Bild B2
im Vergleich zu Bild A2, dass der treppenstufenförmige Verlauf längs Begrenzungslinien 44a und 44b im Bild
B2 wesentlich weniger stark ausgeprägt und die Auflösung daher
verbessert ist.
-
Alternativ
wäre es
möglich,
den Streifen 34 farbig auszubilden, in welchem Fall mittels
des Subpixelmusters vorgegeben wird, dass die Subpixel entsprechend
unterschiedliche G-, B- und R-Werte haben.
-
Soll
ein scharfkantiger Übergang
zwischen zwei farbigen Flächen
vorgesehen werden, wie in 5 für zwei Flächen mit
den Farben F1 = (G1, B1, R1) und F2 = (G2, B2, R2) dargestellt ist,
wird erfindungsgemäß analog
zu 4 vorgegangen. Es wird zunächst aus den Vektordaten eine
den Farbübergang
anzeigende Polygonlinie 46 ermittelt. Danach werden von
der Polygonlinie 46 durchlaufene bzw. auf ihr liegende
Subpixel berechnet, die hier durch die Bezugszeichen 47, 48, 49...50 angegeben
sind. Je nach Fall handelt es sich dabei um ein grünes, blaues
oder rotes Subpixel.
-
Es
wird nun jedem durchlaufenen Subpixel 47 bis 50 eine
Umgebungszone aus mehreren, hier in einer Zeile unmittelbar benachbarten
Subpixeln zugeordnet. Im Beispiel werden dem Subpixel 50 zwei
unmittelbar links folgende Subpixel 51, 52 sowie
drei unmittelbar rechts folgende Subpixel 53, 54 und 55 zugeordnet,
und diese Subpixel 50 bis 55 bilden die Umgebungszone.
Schließlich
werden die in dieser Umgebungszone liegenden Subpixel 50 bis 55 entsprechend
einem vorgegebenen, in Abhängigkeit
von den Helligkeits- und/oder Farbwerten beidseitig der Polygonlinie 46 festgelegten
Subpixelmuster angesteuert. Das bedeutet in 5, dass
z. B. die links von Polygonlinie 46 liegenden Subpixel 51, 52 und
das getroffene Subpixel 50 in der Farbe der Fläche F1 dargestellt
werden, d. h. die Subpixel 50 bis 52 erhalten
die Werte G1, B1 und R1. Dagegen werden die Subpixel 53 bis 55 mit
den Werten der rechten Fläche
F2, d. h. mit G2, B2 und R2 angesteuert. Alternativ wäre es aber
auch möglich,
die Subpixel 50, 53 und 54 entsprechend
der Farbe/Helligkeit der Fläche F2
und die Subpixel 51, 52 und ein weiteres Subpixel
entsprechend der Farbe/Helligkeit der Fläche F1 anzusteuern. Auch hier
ergibt sich, dass der Übergangsbereich
zwischen den Flächen
F1 und F2 viel feiner abgestuft ist, als wenn die Trennung auf der
Basis von Bildpixeln vorgenommen würde.
-
Eine
weitere Möglichkeit
für den
Fall der 5 wäre, mittels des Subpixelmusters für die Subpixel 50 bis 52 die
Werte G3 = B3 = R3 so festzulegen, dass sich insgesamt dieselbe
Helligkeit Y = (G3 + B3 + R3)/3 wie in der Fläche F1 ergibt, und entsprechend
für die
Subpixel 53 bis 55 vorzugehen. In diesem Fall
würde zwischen
den Flächen
F1, F2 ein kaum sichtbarer, grauer Streifen erzeugt.
-
Im übrigen zeigt 5,
dass längs
der Polygonlinie 46 grüne,
blaue und rote Subpixel aufeinander folgen und daher für jede Farbe
je ein Subpixelmuster erforderlich ist.
-
Die
im Einzelfall anzuwendenden Subpixelmuster sind weitgehend frei
wählbar
und in Abhängigkeit von
den jeweiligen Farben/Helligkeiten festzulegen. Außerdem ist
es möglich,
die Umgebungszonen nicht aus drei (4) oder
sechs (5) Subpixeln, sondern aus einer anderen Anzahl
von Subpixeln zu bilden, was auch Umgebungszonen einschließt, die
sich über
mehr als eine Bildschirmzeile erstrecken. Zweckmäßig sollten jedoch alle Umgebungszonen
insgesamt jeweils gleich viele grüne, blaue und rote Subpixel
enthalten.
-
In
komplexeren Fällen
kann es erwünscht
sein, die als brauchbar erwiesene HR-Filterung anzuwenden, insbesondere wenn
dies in Echtzeit möglich
ist. In diesem Fall könnte
entsprechend 6 vorgesehen sein, einer Mehrzahl
von in Spaltenrichtung aufeinander folgenden Subpixeln, die sämtlich von
einer Polygonlinie 56 durchlaufen werden, eine vergleichsweise
große
Umgebungszone 57 zuzuordnen, auf alle in dieser Umgebungszone 57 liegenden
Subpixel eine HR-Filterung anzuwenden und diese HR-Filterung in entsprechenden,
längs der
Polygonlinie 56 aufeinander folgenden Umgebungszonen 57a, 57b, 57c usw.
zu wiederholen. Auch in diesem Fall könnte das in der Umgebungszone 57 vorgesehene,
hier als HR-Filterung ausgeführte
Subpixelmuster abgespeichert und damit auf einfache Weise auf die
Umgebungszonen 57a bis 57c übertragen werden, wodurch erhebliche
Rechenzeiten eingespart und das Erreichen der Echtzeitfähigkeit
zumindest erleichert würden.
-
Aus
allen beschriebenen Fällen
ergibt sich, dass die Grundidee der vorliegenden Erfindung darin
besteht, nur schmale Umgebungszonen der Polygonlinien 35, 46, 56 auf
Subpixelebene zu generieren und dadurch die Auflösung in diesen Umgebungszonen
zu vergrößern.
-
Mit
der HR-Filterung durchgeführte
Berechnungen und Versuche haben gezeigt, dass die anhand der 4 und 5 beschriebenen
Subpixelmuster in den angegebenen Bereichen eine gute bzw. sehr
gute Approximation der HR-Filterung darstellen. Außerdem hat
sich ergeben, dass eine HR-Filterung in den von Polygonlinien umgrenzten
Flächen
(z. B. F1 und F2) keine Vorteile mit sich bringt. Daher ist es erfindungsgemäß möglich, in
entsprechender Anwendung des sog. Renderns die in 3 dargestellten
Perspektiven dadurch zu generieren, dass entsprechend 7 von
Polygonlinien 61, 62, 63, 64 umgrenzte
Flächenbereiche
der Perspektiven (z. B. 65 von PS1 in 7)
unverändert
gelassen werden, während
im Bereich der Übergänge bzw. Kanten,
an denen die Polygonlinien 61 bis 64 liegen, die
oben beschriebene, subpixelgenaue Anpassung erfolgt, wie in 7 durch
die Ansichten PU1 bis PU4 mit Übergangsbereichen 66 bis 69 usw.
angedeutet ist. Die Gesamtbilder bzw. Gesamtperspektiven PSU1 bis
PSU4 (7) ergeben sich dann durch Zusammenführen der
Polygonflächen
(z. B. 65) und der Übergangsbereiche
(z. B. 66 bis 69).
-
Auf
die beschriebene Weise können
unter erheblicher Einsparung an Rechenzeit und damit in Echtzeit autostereoskopische
3D-Darstellungen realisiert werden, die trotz der beschriebenen
Vereinfachungen eine hohe Qualität
hinsichtlich Auflösung
und Farbe haben.
-
Eine
Hardwareanordnung, die dazu in der Lage ist, die Helligkeitssignale
Y und die Farbdifferenzsignale DG, DB und DR in Echtzeit zu erzeugen,
ist schematisch in 8 anhand eines Ablaufdiagramms
zur HR-3D-Subpixelfilterung gezeigt. Dagegen zeigt 9 schematisch
und beispielhaft, wie zur HD-3D-Subpixelfilterung (HR-Filterung) mittels
je eines dazu verwendeten Luminanzfilters hL und
eines Chrominanzfilters hc Farb- und Helligkeitswerte
auf die umgebenden Subpixel verteilt werden können.
-
Bei
einem Echtzeitfilter wird aus den roten, grünen und blauen Umgebungspixeln
des Urbildes R(n-i, m-k), G(n-i, m-k), B(n-i, m-k) das Ziel-Subpixel
S(n, m) gebildet – über die
Filter-Koeffizienten HL(i, k) und HC(i, k), für die Luminanz bzw. Chrominanzdifferenz.
-
Im
folgenden wird ein konkretes Beispiel eine HR-Filterung ausgeführt, die
sich für
eine Stereo Bild-Erzeugung mit einem DELL-Laptop M60 mit senkrechter
Linsenrasterscheibe und 1920·1200
TFT-Pixeln eignet.
-
Parameter:
-
- Senkrechte Linsen, Lenspitch = 12 SP, SPSeen = 3 SP, 2 × 1/4 is
seen (right and left), SPJump = 9; gestauchte Bilder (rechts und
links) von 1920 auf 1920/4·3
= 1440·1200;
Format Y = int{R + G + B)/3}, DR = Y – R, DB = Y – B.
-
Die
Angaben bedeuten insbesondere, dass sich hier eine Linse der Linsenrasterscheibe über zwölf Subpixel
des Bildschirms erstreckt, pro Linse jeweils drei Subpixel des rechten
und linken Bildes gleichzeitig gesehen werden und der Sprung vom
Ende eines rechten Bildstreifens zum Anfang des nächsten rechten
Bildstreifens neun Subpixel beträgt.
Von diesen bilden drei Subpixel einen dazwischen liegenden (verkämmten) Bildstreifen
für das
linke Bild, wohingegen die übrigen
sechs Subpixel als Reserve dienen und geringfügige Kopfbewegungen nach rechts
bzw. links ermöglichen
(vgl. PCT
WO 2004/081863
A2 ). Dabei werden von den sechs Subpixeln pro Bildstreifen
immer nur drei durch eine Linse gesehen. Folglich muss unter der
nächsten Linse
eine Wiederholung der letzten drei Subpixel der vorhergehenden Linse
vorgenommen werden, während die
nächsen
drei Subpixel der jeweiligen Quelle neu entnommen werden. Außerdem wird
eine Stauchung von 1920 Bildpixeln auf ein Viertel, d. h. 480 Bildpixel
vorgenommen, die je drei Subpixel, d. h. insgesamt 1440 Subpixel
enthalten.
-
Als
Helligkeitsfilter wird der in der nachfolgenden Tabelle beispielhaft
angegebene Filter verwendet, der sich über drei Zeilen und sieben
(horizontal benachbarte) Subpixel erstreckt. Dabei gehören die
Koeffizienten in den Spalten H
i,-3, H
i,-0 und H
i,3 jeweils
zur Farbe 1, die Koeffizienten H
i,-2 und
H
i,1 zur Farbe 2 und die Koeffizienten H
i,-2 und H
i,2 zur
Farbe 3. Tabelle 1
# | Hi,-3 | Hi,-2 | Hi,-1 | Hi,-0 | Hi,1 | Hi,2 | Hi,3 |
I
= –1 | –0.7/12 | 0.4/12 | 0.6/12 | –1/12 | 0.6/12 | 0.4/12 | –0.7/12 |
I
= 0 | –1.6/12 | 0.8/12 | 1.2/12 | 12/12 | 1.2/12 | 0.8/12 | –1.6/12 |
I
= 1 | –0.7/12 | 0.4/12 | 0.6/12 | –1/12 | 0.6/12 | 0.4/12 | –0.7/12 |
-
Die
Summe der Koeffizienten, die zu den Subpixeln gleicher Farbe gehören, beträgt 1/3 (z.
B. gilt für die
Farbe 1 hier 2 × (–0,7/12 – 1,6/12 – 0,7/12) – 1/12 +
12/12 – 1/12
= 1/3. Die Gesamtsumme aller Koeffizienten ist gleich 1.
-
Der
Filter wird in der Weise angewendet, dass die Koeffizienten in einem
ersten Schritt mit den G-, B- bzw. R-Werten von sieben benachbarten
Subpixeln des rechten oder linken Originalbildes multipliziert und
einem ersten Subpixel eines zugeordneten Bildpixels des Bildschirms
hinzuaddiert werden, und zwar für
drei übereinander
liegenden Zeilen des Originals. In einem zweiten Schritt wird der
Filter in der Weise verschoben, dass die Koeffizienten jetzt auf
sieben Subpixeln des Originals angewendet werden, die zu den im
ersten Schritt verwendeten Subpixeln in Zeilenrichtung um genau
drei versetzt sind. Die erhaltene Summe wird dem zweiten Subpixel
des bereits im ersten Schritt verwendeten Bildpixels des Bildschirms
hinzugefügt.
Im dritten Schritt erfolgt wiederum ein Versatz um drei Subpixel
im Original und ein Versatz um ein Subpixel des Zielbildes. Da die
Koeffizienten für
die drei Farben jeweils in der Summe ein Drittel betragen, wird
auf diese Weise die Helligkeitsinformation von drei Bildpixeln bzw.
neun Subpixeln des Originals als Grauwert auf das betreffende eine Bildpixel
des Zielpixels übertragen,
bei dem für
diese Werte G = B = R gilt. Diese Art der Filterung wird über das
gesamte Original fortgesetzt.
-
Der
verwendete, in der nachfolgenden Tabelle 2 beispielhaft angegebene
Farbfilter erstreckt sich ebenfalls über drei Zeilen und sieben
horizontal benachbarte Subpixel. Die Gesamtsumme aller Koeffizienten ist
gleich 1. Im Gegensatz zur Helligkeitsfilterung werden die Koeffizienten
C
i,-3 bis C
i,3 in
einem ersten Schritt auf die Farbe 1 (z. B. Gr) von sieben benachbarten
Bildpixeln des Original angewendet, wobei die erhaltene Summe einem
zugeordneten Subpixel derselben Farbe 1 auf dem Bildschirm zugeordnet
wird. In weiteren Schritten werden die übrigen Farbinformationen des
Originals auf zugeordnete Zielpixel verteilt. Tabelle 2
# | Ci,-3 | Ci,-2 | Ci,-1 | Ci,-0 | Ci,1 | Ci,2 | Ci,3 | Su |
I
= –1 | 0,6 | 0,9 | 2 | 2 | 2 | 0,9 | 0,6 | 9 |
I
= 0 | 1,2 | 1,8 | 4 | 4 | 4 | 1,8 | 1,2 | 18 |
I
= 1 | 0,6 | 0,9 | 2 | 2 | 2 | 0,9 | 0,6 | 9 |
| | | | | | | | 36 |
-
Die
angegebenen Koeffizienten sind jeweils mit 1/36 zu multiplizieren,
so dass sich die Gesamtsumme zu 36/36 = 1 errechnet.
-
Die
Filteroperation kann durch folgende Formel ausgedrückt werden.
-
Sei
DC(n, m, 0) = DR(n, m), DC(n, m, 1) = DG(n, m) und DC(n, m, 2) =
DB(n, m).
-
Die
Anzahl der Subpixel ist für
jedes gefilterte Bild (rechts, links) für den DELL-Laptop M60, wie oben angegeben, NSP = 1920/4·3 = 1440. Das gefilterte
Bild besteht dann aus NSP/3 = NP =
480 Pixel.
-
Zeilen
und Spalten können
beim Filter modulo operieren, d. h. (i)mod(1200), (k)mod(1440).
Mit (n)mod(M) = n –M·int(n/M).
-
Für n = 0
bis 1200–1,
m = 0 bis 1440–1
gilt dann
-
Ist
man bereit, im Ergebnisbild Subpixel-Sprünge in Kauf zu nehmen, so kann
die Stauchoperation beim Filtern ohne Zusatzaufwand mit durchgeführt werden
durch folgende Umnummerierung:
mit
f(n-i)
= int[(n-i)·4/3]und
f(m-k) = int[(m-k)·4/3].
-
Weitere
Einzelheiten lassen sich PCT
WO 2004/081863 A2 entnehmen.
-
Dieselben
Filterkoeffizienten können
bei schräger
Anordnung der Zylinderlinsen vor dem Bildschirm angewendet werden
(vgl. hierzu PCT
WO
2004/081863 A2 ,
9). Dabei können die Linsen z. B. mit einem Versatz
von einem Bildpixel auf sechs (oder zwölf) Zeilen angeordnet sein,
woraus sich ein Versatz LSL = 1/6 bzw. = 1/12 ergibt. Für LSL =
1/6 gilt außerdem
SPPitch
= 12·sqr(1
+ 1/6
2) = 12,6553; SPSprung = 12; SP(gesehen)
= SPPitch – SPSprung,
während für LSL =
1/12 gelten würde
SPPitch = 12,0416.
-
Die
Erfindung ist nicht auf die beschriebenen Ausführungsbeispiele beschränkt, die
auf vielfache Weise abgewandelt werden können. Dies gilt zunächst für die beispielhaft
beschriebene Art der Verkämmung,
die Zahl der Subpixel pro Bildstreifen sowie die Art und die Geometrie
der Rasterscheibe und des Bildschirms. Weiter ist klar, dass es
auch Fälle
geben kann, in denen die Bildpunkte nicht aus drei, sondern aus
z. B. zwei oder mehr als drei unterschiedlich farbigen Subpixeln
gebildet werden und/oder die Subpixel innerhalb der Bildpixel nicht
zeilenweise nebeneinander, sondern zumindest teilweise auch übereinander
angeordnet sind. Die Zuordnungen und Subpixelmuster müssen dann
entsprechend angepasst werden. Außerdem läßt sich die Erfindung natürlich auch
bei anderen Bildschirmen, insbesondere bei Plasma-Bildschirmen anwenden,
die eine digitale und subpixelgenaue Ansteuerung ermöglichen.
Auch die im Rahmen der HR-Filterung beschriebene Zuordnung der für die Helligkeits-
und Farbsteuerung verwendeten Subpixel bzw. deren Verteilung auf benachbarte
Subpixel oder innerhalb der Umgebungszonen kann geändert und
den speziellen Bedürfnissen angepasst
werden. Weiterhin ist die Zahl der vorgesehenen Perspektiven bzw.
Standorte, von denen aus die 3D-Darstellungen betrachtet werden
können,
in weiten Grenzen variabel. Ferner können die Subpixelmuster, die
in den beschriebenen Umgebungszonen angewendet werden, in vielfacher
Weise variiert und an die im Einzelfall vorliegenden Verhältnisse
angepasst werden. Dabei ist es im Prinzip gleichgültig, während welcher Verfahrensstufe
der Bildübertragung
die Subpixelmuster gebildet und den Umgebungszonen zugeordnet werden.
Insbesondere wäre
es möglich,
zur Auffüllung
der Umgebungszonen aus bereits gespeicherten Subpixelmustern diejenigen
auszuwählen,
die dem gewünschten
Muster ähnlich
sind oder möglichst
nahekommen. Hierdurch ließe
sich die Zahl der Subpixelmuster, die zur Erfassung aller denkbaren
Fälle gespeichert
werden müssen,
wesentlich reduzieren. Schließlich
versteht sich, dass die verschiedenen Merkmale auch in anderen als
den beschriebenen und dargestellten Kombinationen angewendet werden
können.