-
Hintergrund
-
Dies betrifft allgemein Bildprojektoren, die Bilder anzeigen, welche von prozessor-basierten Systemen produziert werden.
-
Es sind viele Projektoren verfügbar, die an einen Prozessor gekoppelt werden können, um Fernsehen, Text, Präsentationsfolien oder andere Inhalte auf einer Anzeigeoberfläche anzuzeigen.
-
In einer Situation kann die Anzeigeoberfläche bezüglich des Projektionsstrahls gewinkelt sein. Dies verursacht einen Effekt, stürzende Linien genannt, der unter Verwendung verschiedener Algorithmen korrigiert werden kann.
-
Figurenliste
-
Einige Ausführungsformen werden anhand der folgenden Figuren beschrieben:
- 1 ist eine Hardwaredarstellung für eine Ausführungsform;
- 2 ist eine Darstellung eines Teils einer Tiefenanordnung gemäß einer Ausführungsform; und
- 3 ist ein Flussdiagramm für eine Ausführungsform.
-
Detaillierte Beschreibung
-
Gemäß einigen Ausführungsformen kann ein Projektor ein gut definiertes Bild auf Oberflächen jeglicher Form projizieren. Zum Beispiel kann der Projektor ein Bild auf eine gekrümmte Anzeigeoberfläche projizieren, so dass die Krümmung der Anzeigeoberfläche berücksichtigt wird. Das Bild, das projiziert wird, kann für eine planare Projizierung definiert sein, kann aber auch umgeformt werden, so dass es auf einer gekrümmten Oberfläche klar angezeigt werden kann.
-
Es gibt viele Anwendungsmöglichkeiten für einen solchen Projektor. In vielen Situationen kann ein Benutzer ein Bild auf eine Wandoberfläche projizieren, die nicht flach ist. Sie kann gekrümmt sein oder sie kann innen oder außen Ecken darin aufweisen. Sie kann ein Bild aufweisen, das auf der Oberfläche hängt, was eine unregelmäßige Kontur bereitstellt. Ein Benutzer könnte auch wünschen, dass ein Bild auf ein anderes Objekt projiziert wird, wie etwa eine Statue oder irgendein anderes Objekt, so dass es die Erscheinung dieses Objekts verändert.
-
Gemäß einigen Ausführungsformen kann sich der Projektor an praktisch jede Oberfläche jeder Form und jeder Komplexität anpassen. Eine Tiefenkamera bestimmt den Aufbau der Anzeigeoberfläche. Insbesondere kann die Tiefenkamera eine Anordnung von Tiefenproben mit einer Körnung produzieren, die so bestimmt ist, dass die Komplexität der Oberfläche berücksichtigt wird. Ein Computerprozessor kann diese Anordnung von Proben und dazugehörigen Abschnitte nehmen und jeden Abschnitt an die lokale Oberflächenkontur anpassen. Dann können alle Abschnitte kombiniert und als ein kombiniertes Bild projiziert werden, das alle Oberflächenunregelmäßigkeiten in der Körnung, in der die Proben genommen wurden, berücksichtigt. Am Anfang kann die Tiefenkamera jedoch angepasst werden, um die Körnung oder Dichte der Probenpunkte, an welchen Tiefen berechnet werden, auf der Basis einer Analyse der Komplexität der Anzeigeoberfläche zu verändern.
-
Mit Bezug auf 1 kann gemäß einer Ausführungsform eine Einheit aus Projektor und Tiefenkamera in einer Ausführungsform verwendet werden. Und zwar kann die Tiefenkamera als Teil einer Paketeinheit mit einem Projektor integriert sein. In einem solchen Fall werden der Projektor und die Tiefenkamera in der Fabrik vorkalibriert, so dass sie zusammenarbeiten können. In anderen Ausführungsformen können eine separate Tiefenkamera und ein Projektor kalibriert werden, um zusammenzuarbeiten.
-
Insbesondere kann, wie in 1 gezeigt, eine Gehäuseeinheit 10 eine Tiefenkamera 12, einen Projektor 14 und einen Prozessor 16, der sowohl mit der Tiefenkamera 12 als auch mit dem Projektor 14 verbunden ist, aufweisen. Der Prozessor 16 kann einen Speicher 18 aufweisen. Die Anzeigeoberfläche kann irgendeine unregelmäßige Oberfläche sein, auf die der Benutzer ein Bild projizieren möchte.
-
Zuerst bildet die Tiefenkamera die Anzeigeoberfläche ab und legt eine Tiefenkarte an, welche die Tiefe oder den Abstand vom Projektor zu jedem Punkt einer Anordnung von Probepunkten auf der Anzeigeoberfläche modelliert. Für komplexere Oberflächen werden mehr Probepunkte genommen und die resultierende Anordnung von Tiefenwerten kann detaillierter sein. Für weniger komplexe Oberflächen werden möglicherweise weniger Details benötigt und eine entsprechend geringere Anzahl von Proben wird genommen.
-
Basierend auf der Tiefenanordnung, die dem Prozessor 16 von der Tiefenkamera 12 bereitgestellt wird, kann der Prozessor veranlassen, dass das auf der unregelmäßigen Anzeigeoberfläche anzuzeigende planare Bild modifiziert wird, um an die unregelmäßig geformte Anzeigeoberfläche angepasst zu werden. Er tut dies, indem er jeden mit einem Probepunkt verknüpften Abschnitt modifiziert. Der Abschnitt ist grundsätzlich ein Raster einer Zone vordefinierter Form und Größe zwischen benachbarten Probepunkten, wie in 2 gezeigt.
-
Mit Bezug auf 3 kann gemäß einiger Ausführungsformen ein Ablauf 20 in Software, Firmware und/oder Hardware implementiert werden. In Software- und Firmwareausführungsformen kann dieser durch computerausführbare Befehle, die in einem oder mehreren nichtvergänglichen computerlesbaren Medien gespeichert sind, implementiert werden. Gemäß einiger Ausführungsformen können diese ein Teil des mit dem Prozessor 16 verknüpften Speichers 18 sein.
-
Der Ablauf 20 beginnt durch das Erhalten eines Tiefenbildes einer Anzeigeoberfläche von der Tiefenkamera 12, typischerweise als Reaktion auf eine Benutzeroperation. Andere Möglichkeiten, das Tiefenbild auszulösen, können ebenfalls verfügbar sein, einschließlich Abtasten verschiedener Bedingungen, wie etwa ein Zeitpunkt, eine Bewegung, eine Identifizierung eines bestimmten Objekts zu Verfolgungszwecken, um nur einige Beispiele zu nennen.
-
Sobald als erstes das Tiefenbild erfasst ist, wie in Block 22 angegeben, wird es analysiert, um seine Komplexität zu bestimmen, wie in Block 24 angegeben. In einer Ausführungsform kann die Anzahl von innerhalb der Anzeigeoberfläche identifizierten Kanten bestimmt werden und mit einer Tabelle verglichen werden, welche die Komplexität anhand der Anzahl von Kanten bestimmt. Basierend auf der Komplexität kann eine Anzahl von Probepunkten für das endgültige Tiefenbild bestimmt werden. Allgemein gilt, je komplexer die Anzeigeoberfläche, desto mehr Proben werden genommen, und umgekehrt.
-
Dann kann, wie in Block 26 angegeben, die Körnung der Proben bestimmt werden und durch den Prozessor 16 für die Tiefenkamera 12 spezifiziert werden. Daraufhin erfasst die Tiefenkamera 12 ein Tiefenbild der Anzeigeoberfläche und überträgt eine Anordnung von Tiefen, deren Anzahl bestimmt ist durch die Anzahl von Probepunkten, die durch den Prozessor basierend auf der Komplexität identifiziert wurden. Sobald die Tiefenanordnung empfangen wurde, wie in Block 28 angegeben, wird jeder Probepunkt mit einem benachbarten Abschnitt, der den Probepunkt umgibt, verknüpft. Typischerweise ist der Abschnitt auf dem Probepunkt zentriert, und die Abschnitte füllen das gesamte Tiefenbild. In einigen Fällen können Objekte Öffnungen darin aufweisen und diese können berücksichtigt werden, weil dort einfach keine Proben bereitgestellt werden und deshalb kein Bild in diese Bereiche projiziert wird.
-
Als nächstes führt der Prozessor 16 Abschnitt für Abschnitt eine Modifizierung durch Verkrümmen (engl. Warping) des zu projizierenden Bildes basierend auf der Tiefe zur Kamera, wie in Block 30 angegeben, durch. Mit anderen Worten, der Computer stellt basierend auf der Kameratiefe eine Modifizierung des zu projizierenden Bildes gemäß der lokalen Zone bereit. Dies kann unter Verwendung einer Vielfalt von Algorithmen, einschließlich eines einfachen linearen Algorithmus, erfolgen, der das Bild basierend auf der Tiefe unabhängig von der Krümmung verzerrt, wobei die Krümmung durch die Anordnung von Proben, die genommen werden, berücksichtigt wird. Tatsächlich wird dann eine komplexe Oberfläche in eine Reihe von Abschnitten mit einfacherem Aufbau verfeinert, die im Modifizierungsalgorithmus einfacher berücksichtigt werden können.
-
Schließlich werden die Veränderungen, die für jeden Abschnitt bereitgestellt werden, auf das Bild selbst übertragen, das zu projizierende Bild wird dadurch modifiziert oder umgeformt, so dass dem Projektor ein modifiziertes Bild zum Projizieren auf die Anzeigeoberfläche bereitgestellt wird, wie in Block 32 angegeben.
-
In einigen Ausführungsformen kann die Komplexität in Bezug auf Probepunkte für verschiedene Teile des Bildes unterschiedlich sein. Zum Beispiel kann eine Kennzeichnung verbundener Komponenten verwendet werden, um flache Flächenbereiche im Tiefenkamerabild zu identifizieren. Diese flachen Oberflächenbereiche, Kennzeichnungen oder Flecken genannt, können basierend auf der Farbgebung des Tiefenbildes bestimmt werden, wobei sich Objekte derselben Farbe im gleichen Abstand von der Kamera befinden. Außerdem sind Bereiche, die flach sind, weniger komplex, und deshalb können weniger Proben verwendet werden. In Bereichen mit größerer Komplexität können mehr oder weniger Probepunkte verwendet werden.
-
In einigen Ausführungsformen kann eine unregelmäßige Anordnung von Probepunkten erzeugt werden, die jeder Kennzeichnung oder jedem Fleck innerhalb des Tiefenbildes entspricht.
-
In einigen Ausführungsformen kann angenommen werden, dass der Fokus des Benutzers in der Mitte des Bildes liegt, und deshalb kann die Probenkörnung innerhalb einer Zone, die näher an der Mitte des angezeigten Bildes liegt, größer und in Bereichen um diese mittlere Zone herum weniger dicht sein. In einigen Ausführungsformen kann die mittlere Zone ovalförmig sein.
-
Die folgenden Absätze und/oder Beispiele betreffen weitere Ausführungsformen: Ein Ausführungsbeispiel kann ein Verfahren sein, das das Empfangen eines Tiefenbildes einer Anzeigeoberfläche, das Bestimmen einer Anzahl von Proben auf der Basis der Komplexität der Anzeigeoberfläche, das Erstellen einer Tiefenanordnung, welche Tiefen der Anordnung von Proben aufweist, und das Modifizieren eines zu projizierenden planaren Bildes für einen Oberflächenaufbau der Anzeigeoberfläche unter Verwendung der Tiefenanordnung umfasst. Das Verfahren kann eine Anpassung des zu projizierenden Bildes an die Krümmung in der Anzeigeoberfläche umfassen. Das Verfahren kann das Modifizieren eines Bildabschnitts um eine Probe herum basierend auf den Abständen der Probe von der Anzeigeoberfläche umfassen. Das Verfahren kann das Kombinieren einer Vielzahl von Abschnitten zum Modifizieren eines zu projizierenden planaren Bildes, um Oberflächenkonturen auf der Anzeigeoberfläche zu berücksichtigen, umfassen. Das Verfahren kann das Bestimmen einer Oberflächenkomplexität durch Zählen einer Anzahl von Kanten in einem Tiefenbild umfassen. Das Verfahren kann die Verwendung einer Tiefenkamera- und Projektoreinheit umfassen.
-
Ein weiteres Ausführungsbeispiel kann ein nichtvergängliches computerlesbares Medium oder mehrere nichtvergängliche computerlesbare Medien sein, die Befehle zur Durchführung eines Ablaufs speichern, der Folgendes umfasst: das Empfangen eines Tiefenbildes einer Anzeigeoberfläche, das Bestimmen einer Anzahl von Proben auf der Basis der Komplexität der Anzeigeoberfläche, das Erstellen einer Tiefenanordnung, welche Tiefen der Anordnung von Proben aufweist, und das Modifizieren eines zu projizierenden planaren Bildes für einen Oberflächenaufbau der Anzeigeoberfläche unter Verwendung der Tiefenanordnung. Die Medien können ferner Befehle zur Durchführung eines Ablaufs, der das Anpassen des zu projizierenden Bildes an die Krümmung in der Anzeigeoberfläche aufweist, speichern. Die Medien können ferner Befehle zur Durchführung eines Ablaufs, der das Modifizieren eines Bildabschnitts um eine Probe herum basierend auf den Abständen der Probe von der Anzeigeoberfläche aufweist, speichern. Die Medien können ferner Befehle zur Durchführung eines Ablaufs, der das Kombinieren einer Vielzahl von Abschnitten zum Modifizieren eines zu projizierenden planaren Bildes, um Oberflächenkonturen auf der Anzeigeoberfläche zu berücksichtigen, aufweist, speichern. Die Medien können ferner Befehle zur Durchführung eines Ablaufs, der das Bestimmen einer Oberflächenkomplexität durch Zählen einer Anzahl von Kanten in einem Tiefenbild aufweist, speichern. Die Medien können ferner Befehle zur Durchführung eines Ablaufs, der die Verwendung einer Tiefenkamera- und Projektoreinheit aufweist, speichern.
-
Eine weitere Ausführungsform kann eine Vorrichtung sein, die einen Prozessor zum Empfangen eines Tiefenbildes einer Anzeigeoberfläche, Bestimmen einer Anzahl von Proben auf der Basis der Komplexität der Anzeigeoberfläche, Erstellen einer Tiefenanordnung, welche Tiefen der Anordnung von Proben aufweist, und Modifizieren eines zu projizierenden planaren Bildes für einen Oberflächenaufbau der Anzeigeoberfläche unter Verwendung der Tiefenanordnung, und einen an den Prozessor gekoppelten Speicher umfasst. Die Vorrichtung kann den Prozessor zum Anpassen des zu projizierenden Bildes an die Krümmung in der Anzeigeoberfläche aufweisen. Die Vorrichtung kann den Prozessor zum Modifizieren eines Bildabschnitts um eine Probe herum basierend auf den Abständen der Probe von der Anzeigeoberfläche aufweisen. Die Vorrichtung kann den Prozessor zum Kombinieren einer Vielzahl von Abschnitten, um ein zu projizierendes planares Bild zu modifizieren, um Oberflächenkonturen auf der Anzeigeoberfläche zu berücksichtigen, aufweisen. Die Vorrichtung kann den Prozessor zum Bestimmen einer Oberflächenkomplexität durch Zählen einer Anzahl von Kanten in einem Tiefenbild aufweisen. Die Vorrichtung kann eine Tiefenkamera und einen Projektor aufweisen.
-
Die hierin beschriebenen Grafikverarbeitungstechniken können in verschiedenen Hardwarearchitekturen implementiert werden. Zum Beispiel kann eine Grafikfunktionalität innerhalb eines Chipsatzes integriert werden. Alternativ kann ein diskreter Grafikprozessor verwendet werden. Als noch eine weitere Ausführungsform können die Grafikfunktionen durch einen Allzweckprozessor, der einen Mehrkernprozessor aufweist, implementiert werden.
-
Die Verwendung von „eine Ausführungsform“ in dieser Beschreibung bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Charakteristik, die im Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens einer in der vorliegenden Offenbarung umfassten Implementierung enthalten ist. Somit beziehen sich die Erscheinungen des Ausdrucks „eine Ausführungsform“ oder „in einer Ausführungsform“ nicht unbedingt auf dieselbe Ausführungsform. Des Weiteren können die bestimmten Merkmale, Strukturen oder Charakteristiken in anderen geeigneten Formen als in der jeweilig veranschaulichten Ausführungsform realisiert werden, und alle diese Formen können in den Ansprüchen der vorliegenden Anwendung umfasst sein.
-
Es wurde zwar eine begrenzte Anzahl von Ausführungsformen beschrieben, aber für den Fachmann ergeben sich zahlreiche Modifizierungen und Variationen davon. Die angefügten Ansprüche sollen alle diese Modifizierungen und Variationen als innerhalb des Wesens und Schutzbereiches dieser Offenbarung fallend abdecken.