DE102012002442B3 - Method for processing monoscopic, stereoscopic or multiview image signals for e.g. factory planning application, involves performing computation of geometric distortion and determination of color independent-calibration parameter - Google Patents
Method for processing monoscopic, stereoscopic or multiview image signals for e.g. factory planning application, involves performing computation of geometric distortion and determination of color independent-calibration parameter Download PDFInfo
- Publication number
- DE102012002442B3 DE102012002442B3 DE201210002442 DE102012002442A DE102012002442B3 DE 102012002442 B3 DE102012002442 B3 DE 102012002442B3 DE 201210002442 DE201210002442 DE 201210002442 DE 102012002442 A DE102012002442 A DE 102012002442A DE 102012002442 B3 DE102012002442 B3 DE 102012002442B3
- Authority
- DE
- Germany
- Prior art keywords
- output
- input
- views
- image
- calibration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3179—Video signal processing therefor
- H04N9/3185—Geometric adjustment, e.g. keystone or convergence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/327—Calibration thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/363—Image reproducers using image projection screens
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3141—Constructional details thereof
- H04N9/3147—Multi-projection systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3179—Video signal processing therefor
- H04N9/3182—Colour adjustment, e.g. white balance, shading or gamut
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
Description
Technisches GebietTechnical area
Die Erfindung betrifft ein Verfahren zur Aufbereitung von Bildsignalen für Mehrsegment-Projektionsanlagen, die aus monoskopischen oder stereoskopischen Projektoren aufgebaut sind, sowie eine Vorrichtung zur Ansteuerung von derartigen Mehrsegment-Projektionsanlagen mit einem oder mehreren Videosignalen, die Bildinhalte von ein oder mehreren Ansichten beinhalten.The invention relates to a method for processing image signals for multi-segment projection systems, which are constructed from monoscopic or stereoscopic projectors, as well as a device for controlling such multi-segment projection systems with one or more video signals, the image content of one or more views.
Stand der TechnikState of the art
Stereoskopische Sichtsysteme werden heute in vielen Bereichen eingesetzt. Es existiert eine Vielzahl unterschiedlicher Verfahren, um einem menschlichen Betrachter unterschiedliche Bildinhalte für das linke und rechte Auge zuzuführen. Bei der stereoskopischen Bilderzeugung kann zwischen Systemen unterschieden werden, die die Einzelbilder eines stereoskopischen Bildpaares getrennt verarbeiten (zum Beispiel zwei separate Projektoren, die auf die gleiche Fläche projizieren), sowie Systemen, die stereoskopische Bildpaare zusammengefasst entgegennehmen und über nur eine Bilderzeugungseinheit verfügen, die für beide Einzelbilder benutzt wird (wie zum Beispiel Shutter-Verfahren, Anaglyphbrillen).Stereoscopic vision systems are used today in many areas. There are a variety of different methods for providing different image contents to the human eye viewers for the left and right eyes. In stereoscopic imaging, a distinction can be made between systems which process the individual images of a stereoscopic image pair separately (for example two separate projectors projecting onto the same surface) and systems which collect stereoscopic image pairs in summary and have only one imaging unit which is suitable for both frames are used (such as shutter methods, anaglyph glasses).
Für viele Einsatzzwecke wie zum Beispiel Produktentwicklung, Virtuelles Prototyping, Fabrikplanung oder Produktpräsentationen ist eine sehr große Bildfläche bei gleichzeitig hoher Bildauflösung erforderlich. Einzelne Displaysysteme erfüllen derartige Anforderungen nicht, daher finden segmentierte Anzeigesysteme Verwendung, die separate Anzeigesysteme derartig kombinieren, dass ein homogener Bildeindruck über die Gesamtfläche entsteht. Eine weit verbreitete Ausprägung dieser Technik sind Mehrsegment-Projektionsanlagen, bei denen mehrere Projektoren auf einzelne Teilbereiche einer gemeinsamen Projektionsfläche projizieren, wobei sich die Bilder benachbarter Projektoren teilweise überlappen können. Bei diesen Systemen ergibt sich die Notwendigkeit einer Kalibrierung zum Ausgleich von:
- – Verzerrungen, die von der Projektor-Optik verursacht werden ([1])
- – Verzerrungen durch nicht exakt senkrechte Projektion (Trapezentzerrung, [2])
- – Verzerrungen durch nichtebene Projektionsflächen
- – Helligkeits- und Farbunterschieden innerhalb eines Segments ([3])
- – Helligkeits- und Farbunterschieden zwischen den Segmenten ([4], [5])
- – Helligkeitsunterschieden in den Überlappungsbereichen (Edge-Blending, [4])
- - Distortions caused by the projector optics ([1])
- - Distortions due to not exactly vertical projection (trapezoidal strain, [2])
- - Distortions by non-planar projection surfaces
- - Brightness and color differences within a segment ([3])
- - Brightness and color differences between the segments ([4], [5])
- - Brightness differences in the overlapping areas (edge blending, [4])
Zur Kalibrierung derartiger Anlagen werden unterschiedliche Ansätze verfolgt. Die Bandbreite reicht dabei von vollständig manuellen Verfahren, bei denen die Korrekturparameter von Hand eingestellt werden müssen, über interaktive und halbautomatische Verfahren bis hin zu vollautomatischen kamerabasierten Systemen. Dabei werden spezielle Kalibriermuster auf der Anlage dargestellt und mittels einer Kamera der Ist-Zustand erfasst. Das Kalibriersystem berechnet daraus die zur Überführung des Ist-Zustands in den Soll-Zustands benötigten Kalibrierparameter. Diese können auf Bildinhalte angewendet werden und bewirken eine geometrische Verzerrung (Warping [1], [2], [5], [7], [4], [8], [9]) der Bilddaten sowie eine Anpassung der Farbwerte ([4], [5]). Werden die so aufbereiteten Bilddaten mit den Projektoren wiedergegeben, so ergibt sich ein homogener Bildeindruck auf der Projektionsfläche.For calibration of such systems different approaches are pursued. The spectrum ranges from fully manual procedures, where the correction parameters have to be set manually, through interactive and semi-automatic procedures to fully automated camera-based systems. Special calibration patterns are displayed on the system and the actual status is recorded by means of a camera. From this, the calibration system calculates the calibration parameters required for transferring the actual state into the desired state. These can be applied to image content and cause a geometric distortion (warping [1], [2], [5], [7], [4], [8], [9]) of the image data as well as an adjustment of the color values ([ 4], [5]). If the image data processed in this way are reproduced with the projectors, the result is a homogeneous image impression on the projection surface.
Stereoskopische Mehrsegmentprojektionsanlagen lassen sich auf zwei Arten realisieren:
- a) Benutzung der doppelten Anzahl (monoskopischer) von Projektoren, so dass jeder Punkt der Bildfläche von jeweils mindestens zwei Projektoren ausgeleuchtet wird, in Kombination mit einem geeigneten Filtersystem zur Trennung der Bildpaare (zum Beispiel Polarisationsfilter) oder
- b) Einsatz von stereoskopischen Projektoren.
- a) using twice the number (monoscopic) of projectors, so that each point of the image area is illuminated by at least two projectors, in combination with a suitable filter system for the separation of image pairs (for example polarization filter) or
- b) Use of stereoscopic projectors.
Die Variante a) hat den Vorteil, dass sie direkt in die bisherige Bildaufbereitungskette integriert werden kann, weil jedes Segment nur – genau wie im monoskopischen Fall – einen Ausschnitt eines Einzelbildes berücksichtigen muss. Allerdings sind solche Systeme prinzipiell aufwendig und teuer, neben der Verdopplung der Projektorkosten ergibt sich auch ein größerer Aufwand zur mechanischen Befestigung der Projektoren. Eventuell notwendige Off-Axis-Projektionen sowie der Einsatz von Lens-Shift führen zu stärkeren Verzerrungen. Weitere Nachteile sind der erhöhter Platzbedarf und Stromverbrauch. Wünschenswert ist daher der Einsatz stereoskopischer Projektoren in Mehrsegment-Projektionsanlagen.The variant a) has the advantage that it can be integrated directly into the previous image processing chain, because each segment only - just as in the monoscopic case - must take into account a section of a single image. However, such systems are in principle complex and expensive, in addition to doubling the cost of the projector also results in a greater effort for mechanical attachment of the projectors. Any necessary off-axis projections and the use of lens shift lead to stronger distortions. Other disadvantages are the increased space requirements and power consumption. It is therefore desirable to use stereoscopic projectors in multi-segment projection systems.
Es gibt derzeit keinen allgemein akzeptierten Standard zur Zuführung stereoskopischer Bildinhalte an solche Projektoren, sondern eine Reihe unterschiedlicher Stereoformate, die beschreiben, wie die zwei Einzelbilder innerhalb des Gesamtbildes kodiert werden müssen:
- – nebeneinander oder untereinander mit jeweils halbierter Auflösung pro Ansicht
- – zeilenweise oder spaltenweise verschachtelt
- – Schachbrett-Muster (insbesondere bei DLP-Projektoren verbreitet)
- – Sequentielle Zuführung mit doppelter Frequenz (typisch 120 Hz)
- - side by side or below each other, each with halved resolution per view
- - nested line by line or column by column
- - Checkerboard pattern (especially popular with DLP projectors)
- - Sequential feeding with double frequency (typically 120 Hz)
Auf Grund dieser Tatsache besteht die Notwendigkeit, Stereoformate ineinander umwandeln zu können. Es existieren einzelne Verfahren und Geräte, die derartige Konvertierungen vornehmen können ([10], [6]).Because of this, there is a need to be able to interconvert stereomata. There are individual methods and devices that can perform such conversions ([10], [6]).
Das Verfahren und die Vorrichtung nach [6] erlaubt die Konvertierung der Bildinhalte in Echtzeit und kann dabei mit beliebig vielen Ein- und Ausgabesignalen arbeiten, wobei die Bilddaten dabei auch weiterverarbeitet werden können, um z. B. die Bilder zu skalieren oder die stereoskopische Ausrichtung anzupassen, also die Positionierung der linken und rechten Ansicht zueinander zu verändern. Das Verfahren bzw. die Vorrichtung genügt jedoch nicht zur Ansteuerung von stereoskopischen Mehrsegment-Projektionsanlagen, da dabei keine Anwendung eines Kalibrierverfahrens erfolgt, sondern löst dabei nur das Teilproblem der Ansteuerung der Projektoren im jeweiligen stereoskopischen Format, oder beim Einsatz mehrerer monoskopischer Projektoren, die auf die gleiche Bildfläche projizieren, auch die getrennte Zuführung der Ansichten und gegeben falls den Ausgleich von moderaten Lageunterschieden durch die Anpassung der stereoskopischen Ausrichtung sowie Keystone-Korrektur. Alle darüber hinaus auftretenden Bildverzerrungen (z. B. durch die Projektionsoptiken oder nicht perfekt planare Projektionsflächen) werden dabei vernachlässigt.The method and the device according to [6] allows the conversion of the image content in real time and can work with any number of input and output signals, the image data can also be further processed to z. As to scale the images or adjust the stereoscopic orientation, so to change the positioning of the left and right view to each other. However, the method or the device is not sufficient for driving stereoscopic multi-segment projection systems, since it does not apply a calibration method, but solves only the sub-problem of controlling the projectors in the respective stereoscopic format, or when using several monoscopic projectors on the projecting the same image area, including the separate feeding of the views and, if appropriate, the compensation of moderate positional differences by adjusting the stereoscopic alignment and keystone correction. All image distortions occurring beyond this (eg due to the projection optics or not perfectly planar projection surfaces) are thereby neglected.
Problembeschreibung/Nachteile der bisherigen VerfahrenProblem description / disadvantages of the previous methods
Beim Einsatz stereoskopischer Projektoren innerhalb von Mehrsegment-Projektionsanlagen stellt sich das Problem, dass die Kalibrierparameter für jede Bildansicht individuell angewendet werden müssen. Es ist im Allgemeinen nicht einfach möglich, ein für einen derartigen Projektor aufbereitetes Eingabesignal direkt zu entzerren, da die Stereo-Kodierung durch die geometrische Verzerrung zerstört werden würde.When using stereoscopic projectors within multi-segment projection systems, the problem arises that the calibration parameters must be used individually for each image view. It is generally not easily possible to directly equalize an input signal prepared for such a projector, since the stereo coding would be destroyed by the geometric distortion.
Die naheliegende Vorgehensweise zur Lösung dieses Problems besteht in der Dekodierung der Eingabesignale in die einzelnen Bildansichten, Anwendung der Kalibrierungsparameter auf die Einzelansichten und erneuter Kodierung der Ansichten in ein für den Projektor geeignetes Format. Das Verfahren aus [6] arbeitet nach diesem Prinzip: die Bildinhalte werden in zwei separate Kanäle für die linke und rechte Ansicht getrennt und die Bildverarbeitung separat auf diesen Kanälen durchgeführt, die Kombination des Verfahrens aus [6] mit einem Kalibrierverfahren stellt dann nur eine Erweiterung der bereits vorhandenen Bildverarbeitungsschritte dar.The obvious approach to solving this problem is decoding the input signals into the individual image views, applying the calibration parameters to the individual views, and re-encoding the views into a format suitable for the projector. The method from [6] works according to this principle: the image contents are separated into two separate channels for the left and right view and the image processing is carried out separately on these channels, the combination of the method from [6] with a calibration method then only provides an extension the already existing image processing steps.
Der Hauptnachteil dieser Vorgehensweise liegt in dem hohen Berechnungsaufwand und den daraus resultierenden Kosten für Rechneranlagen. Insbesondere existieren moderne Grafikkarten mit sechs Ausgängen. Damit lässt sich zum Beispiel eine Mehrsegment-Projektionsanlage aus 3×2 stereoskopischen Projektoren mit nur einem einzigen Rechner betreiben, falls es gelingt, die notwendige Datenverarbeitung effizient mittels dieser Grafikkarte durchzuführen.The main disadvantage of this approach lies in the high computational effort and the resulting costs for computer systems. In particular, there are modern graphics cards with six outputs. This allows, for example, a multi-segment projection system of 3 × 2 stereoscopic projectors operate with only a single computer, if it is possible to perform the necessary data processing efficiently using this graphics card.
Die naive Herangehensweise führt zu einem erhöhten Verarbeitungsaufwand, da
- a) die Kalibrierungsverarbeitung für alle Pixel aller Ansichten durchgeführt wird, unabhängig davon, welche Ansichten auf Grund des benötigten Ausgabeformates tatsächlich in den jeweiligen Ausgabepixeln sichtbar sind, und
- b) das Kalibrierverfahren immer unabhängig für alle Ansichten durchgeführt wird, und dabei für alle Ansichten bei einer gegebenen Ausgabeposition identische Kalibrierschritte mehrfach durchgeführt werden.
- a) the calibration processing is performed for all pixels of all views, regardless of which views are actually visible in the respective output pixels due to the required output format, and
- b) the calibration procedure is always performed independently for all views, and identical calibration steps are carried out repeatedly for all views at a given output position.
Zielstellunggoal
Ziel der vorliegenden Erfindung ist es, stereoskopische Mehrsegment-Projektionsanlagen bestehend aus monoskopischen oder stereoskopischen Projektoren anzusteuern, wobei die Eingangssignale beliebige monoskopische, stereoskopische oder Multiview-Bildinhalte repräsentieren. Dabei sollen neben monoskopischen Inhalten auch stereoskopische und Multiview-Bilddaten in unterschiedlichen Stereo- bzw. Multiview-Formaten sowohl bei der Bildentgegennahme als auch der Bildausgabe unterstützt und eine automatische Konvertierung der Formate vorgenommen werden.The aim of the present invention is to control stereoscopic multi-segment projection systems consisting of monoscopic or stereoscopic projectors, wherein the input signals represent any monoscopic, stereoscopic or multiview image contents. In addition to monoscopic content, stereoscopic and multiview image data in different stereo or multiview formats should be supported in the image reception as well as the image output and an automatic conversion of the formats should be carried out.
Aufgabe der Erfindung ist es, die Kalibrierparameter in Echtzeit auf diese Bildinhalte anzuwenden. Um eine hohe Gesamtauflösung verarbeiten zu können, ist die Effizienz der Bildverarbeitung von entscheidender Bedeutung. Daher ist es erforderlich, die Stereokonvertierung und Anwendung der Kalibrierungsdaten nicht als getrennte Schritte durchzuführen (indem die stereoskopischen Einzelbilder zunächst getrennt, die Kalibrierung nacheinander auf die Einzelbilder des Bildpaares angewendet und schließlich wieder zum Ausgabebild im gewünschten Format kombiniert werden), sondern es ist die Zielstellung der Erfindung, die Erzeugung der stereoskopischen Bildausgabe direkt mit der Anwendung der Kalibrierung derart zu kombinieren, so dass nur die tatsächlich im Ausgabebild sichtbaren Pixel bei der Anwendung der Kalibrierung berücksichtigt werden müssen und Teilschritte bei der Anwendung der Kalibrierung, die für beide Einzelbilder identisch sind, auch nur einmalig ausgeführt werden. The object of the invention is to apply the calibration parameters in real time to these image contents. In order to be able to process a high overall resolution, the efficiency of the image processing is of crucial importance. Therefore, it is not necessary to perform the stereo conversion and application of the calibration data as separate steps (by first separating the stereoscopic images, applying the calibration sequentially to the frames of the image pair, and finally combining them back to the output image in the desired format), but it is the objective the invention of combining the generation of the stereoscopic image output directly with the application of the calibration such that only the pixels actually visible in the output image must be taken into account in the application of the calibration and sub-steps in the application of the calibration which are identical for both individual images, also be executed only once.
Neben stereoskopischen Sichtsystemen gibt es bereits erste Multiview-Systeme, bei denen mehr als zwei Ansichten einer Szene benutzt werden. Dies ermöglicht einerseits die Realisierung von Mehrbenutzer-Stereosystemen, bei denen jedem Nutzer seine individuelle stereoskopische Ansicht präsentiert wird. Andererseits wird dies für autostereoskopische Sichtsysteme verwendet. Solche Systeme werden in Zukunft weitere Verbreitung finden. Im Hinblick darauf ist es ein weiteres Ziel der hier vorliegenden Erfindung, auch mehr als die für herkömmliche Stereoskopie benötigten zwei Ansichten zu verarbeiten.In addition to stereoscopic vision systems, there are already the first multiview systems that use more than two views of a scene. On the one hand, this enables the realization of multi-user stereo systems in which each user is presented with their individual stereoscopic view. On the other hand, this is used for autostereoscopic vision systems. Such systems will become more widespread in the future. In view of this, it is a further object of the present invention to also process more than the two views required for conventional stereoscopy.
Beschreibung der ErfindungDescription of the invention
Zur Lösung der zuvor genannten Aufgaben wird mit der Erfindung ein Verfahren zur Aufbereitung von monoskopischen, stereoskopischen und Multiview-Bildinhalten zur Ansteuerung von Mehrsegment-Projektionsanlagen vorgeschlagen. Die Erfindung beinhaltet weiterhin eine Vorrichtung bestehend aus
- – einem oder mehreren Rechnersystemen mit je – einer oder mehreren Grafikkarten mit je einem oder mehreren Ausgängen – einem oder mehreren Videograbbern mit je einem oder mehreren Eingängen
- - One or more computer systems, each with - one or more graphics cards, each with one or more outputs - one or more video grabbers, each with one or more inputs
Die Gesamtzahl der Grafikkartenausgänge im System wird im Folgenden mit A bezeichnet, die Gesamtzahl der Video-Eingänge mit E. Um eine Mehrsegment-Projektionsanlage mit P separaten Projektoren zu betreiben, muss die Anlage so konzipiert werden, dass A >= P gilt. Die Anzahl der Eingänge E muss dabei >= 1 sein.The total number of video card outputs in the system is denoted by A below, the total number of video inputs by E. To operate a multi-segment projection system with P separate projectors, the system must be designed so that A> = P. The number of inputs E must be> = 1.
Liste der Formelzeichen:List of formula symbols:
- A Anzahl der AusgängeA number of outputs
- Ba Bildbreite (Anzahl Pixel) von Ausgang aB a Image width (number of pixels) of output a
- C = (Cx, Cy) normierte Koordinaten im Eingabe-Koordinatensystem, (0, 0) entspricht linker unterer Ecke und (1, 1) rechter oberer EckeC = (C x , C y ) normalized coordinates in the input coordinate system, (0, 0) corresponds to left lower corner and (1, 1) right upper corner
- De Eingabe-Bildformat von Eingang eD e input image format of input e
- E Anzahl der EingängeE number of inputs
- F = (Fr, Fg, Fb) RGB-Farbsample aus einem EingabebildpufferF = (F r , F g , F b ) RGB color sample from an input image buffer
- F' = (F'r, F'g, F'b) korrigiertes RGB-Farbsample nach EingabeformatdekodierungF '= (F' r , F ' g , F' b ) corrected RGB color sample after input format decoding
- Ga Ausgabe-Bildformat von Ausgang aG a Output image format of output a
- Ha Bildhöhe (Anzahl Pixel) von Ausgang aH a Image height (number of pixels) of output a
- K = {K0, ... Kk-1} Liste von Intermediate-Ansichten eines spezifischen AusgabepixelsK = {K 0 , ... K k-1 } List of intermediate views of a specific output pixel
- L = {L0, ..., Ll-1} Liste der aktiven Intermediate-AnsichtenL = {L 0 , ..., L l-1 } List of active intermediate views
- Me Bildbreite (Anzahl Pixel) von Eingang eM e image width (number of pixels) of input e
- M'e Breite eines Eingabepixels im normierten KoordinatensystemM ' e Width of an input pixel in the normalized coordinate system
- Ne Bildhöhe (Anzahl Pixel) von Eingang eN e Image height (number of pixels) of input e
- N'e Höhe eines Eingabepixels im normierten KoordinatensystemN ' e height of an input pixel in the normalized coordinate system
- O = (Ox, Oy) Pixelkoordinaten im Ausgabe-Koordinatensystem, (0, 0) entspricht linker unterer Ecke und (Ba-1, Ha-1) rechter oberer EckeO = (O x , O y ) pixel coordinates in the output coordinate system, (0, 0) corresponds to left lower corner and (B a-1 , H a-1 ) right upper corner
- P Anzahl der ProjektorenP number of projectors
- Q Größe je Eingabe-RingpufferQ size per input ring buffer
- Re Anzahl benutzter Einträge im Eingabe-Ringpuffer von Eingang eR e Number of used entries in the input ring buffer of input e
- S = {S0, ..., Ss-1} Liste von Eingängen in einer SynchronisationsgruppeS = {S 0 , ..., S s-1 } List of inputs in a synchronization group
- T = (Tx, Ty) Koordinaten im Geräte-Koordinatensystem des ProjektorsT = (T x , T y ) Coordinates in the device coordinate system of the projector
- U = (Ux, Uy) normierte Koordinaten im Intermediate-Koordinatensystem (0, 0) entspricht linker unterer Ecke und (1, 1) rechter oberer EckeU = (U x , U y ) normalized coordinates in the intermediate coordinate system (0, 0) corresponds left lower corner and (1, 1) right upper corner
- Vi i-te Ansicht eines Ein- oder AusgabebildpuffersV i i th view of an input or output image buffer
- Liste der Intermediate-Ansichten, die Ausgang a zugeordnet sind List of intermediate views associated with output a
- Zj = (Zj,r, Zj,g, Zj,b) RGB-Farbsample aus der der Ausgabe-Ansicht j zugeordneten Intermediate-Ansicht des Intermediate-Bildpuffers Zj = ( Zj, r , Zj , g , Zj , b ) RGB color sample from the intermediate view's intermediate view associated with the output view j
- Z kombiniertes Farbsample aller Ansichten, beschrieben als Vektor von Farbkomponenten, nicht notwendigerweise dreidimensionalZ combined color sample of all views described as a vector of color components, not necessarily three-dimensional
- Z' Ausgabefarbsample nach Korrektur durch das KalibrierverfahrenZ 'output color sample after correction by the calibration method
- a Index eines Ausgangs, 0 <= a <= A – 1a Index of an output, 0 <= a <= A - 1
- e Index eines Eingangs, 0 <= e <= E – 1e index of an input, 0 <= e <= E - 1
- i Intermediate-Ansichti Intermediate view
- j Index einer Ein- oder Ausgabeansichtj Index of an input or output view
- k Anzahl der Intermediate-Ansichten eines spezifischen Ausgabepixelsk Number of intermediate views of a specific output pixel
- l Anzahl der aktiven Intermediate-Ansichtenl Number of active intermediate views
- pi Pixel im Intermediate-Bildpuffer von Ansicht ip i pixels in the intermediate image buffer of view i
- pa Pixel im Ausgabe-Bildpuffer von Ansicht ap a pixel in the output image buffer of view a
- s Anzahl der Eingänge in einer Synchronisationsgruppe Ss Number of inputs in a synchronization group S
- ve Anzahl der Eingabe-Ansichten von Eingang ev e Number of input views of input e
- wa Anzahl der Ausgabe-Ansichten von Ausgang aw a Number of output views of output a
- α pixelspezifische Kalibrierparameter (abhängig von den Gerätekoordinaten, aber unabhängig von der Pixelfarbe)α pixel-specific calibration parameters (depending on the device coordinates, but independent of the pixel color)
- βa Allgemeine Kalibrierparameter für Projektor an Ausgang aβ a General calibration parameters for projector at output a
- δ0, δ1 Parameter für Eingabeformatdekodierung anaglyphδ 0 , δ 1 Parameter for input format decoding anaglyph
- μ0, μ1, μm Parameter für Ausgabeformatkodierung anaglyphμ 0 , μ 1 , μ m Parameters for output format coding anaglyph
- εe Parameter für die Multiview-Eingabeformatdekodierungε e Parameter for multiview input format decoding
- εa Parameter für die Multiview-Ausgabeformatkodierungε a Parameter for the multiview output format coding
Verwendete mathematische FunktionenUsed mathematical functions
Bei der Beschreibung des Verfahrens wird auf mathematische Funktionen Bezug genommen, die hier definiert werden:
- x mod y: x modulo y: Rest der Ganzahldivision x/y
- floor(x): x gerundet in Richtung der nächstkleineren Ganzzahl
- dot(x, y) = xx·yx + xy·yy + xz·yz: Skalarprodukt der dreidimensionalen Vektoren
- clamp(x, a, b) = a, falls x < a x, falls a <= x <= b b, falls x > b
- nearest(x, y) = (floor(x·y – 0.5) + 0.5)/y
- factor(x, y) = (x·y – 0.5) – floor(x·y – 0.5)
- pixel(x, e): Farbwert (RGB-Vektor) des Pixels des Eingabe-Bildpuffers von Eingang e, dessen Pixelzentrum den Koordinaten x = (xx, xy) am nächsten liegt, wobei das Koordinatensystem derart normiert ist, dass (0, 0) der linken unteren Bildecke und (1, 1) der rechten oberen Bildecke entsprechen. Die tatsächlichen Pixelkoordinaten x' zum Zugriff auf den Bildpuffer mit der gegebenen Auflösung Me·Ne entsprechen dabei x' = (clamp(floor(xx·Me), 0, Me – 1), clamp(floor(xy·Ne), 0, Ne – 1).
- x mod y: x modulo y: remainder of the integer division x / y
- floor (x): x rounded in the direction of the next smallest integer
- dot (x, y) = x x · y x + x y · y y + x z · y z : scalar product of the three-dimensional vectors
- clamp (x, a, b) = a, if x <ax, if a <= x <= bb, if x> b
- nearest (x, y) = (floor (x · y - 0.5) + 0.5) / y
- factor (x, y) = (x · y - 0.5) - floor (x · y - 0.5)
- pixel (x, e): color value (RGB vector) of the pixel of the input image buffer of input e whose pixel center is closest to the coordinates x = (x x , x y ), the coordinate system being normalized such that (0 , 0) correspond to the lower left corner and (1, 1) to the upper right corner. The actual pixel coordinates x 'for accessing the image buffer with the given resolution M e · N e in this case correspond to x' = (clamp (floor (x x * M e ), 0, M e - 1), clamp (floor (x y · N e ), 0, N e - 1).
Das hier beschriebene Verfahren nimmt Bezug auf ein Kalibrierverfahren zur Aufbereitung von Bildinhalten hinsichtlich mindestens eines der folgenden Aspekte:
- – Platzierung und Ausrichtung der Projektoren. Jedem Projektor muss nur der Teilausschnitt zugeführt werden, der seinem Anteil auf der gemeinsamen Projektionsfläche entspricht
- – Ausgleich geometrischer Verzerrungen der Projektors
- – Ausgleich von Helligkeitsunterschieden in den Überlappungsbereichen mehrerer Projektoren
- – Angleichen von Farben und Helligkeiten zwischen den Projektoren
- – Angleichen von Farb- und Helligkeitsunterschieden innerhalb des projizierten Bildes eines einzelnen Projektors.
- - Placement and orientation of the projectors. Each projector must be fed only the partial section, which corresponds to its share on the common projection screen
- - Compensation of geometric distortions of the projector
- - Compensation of brightness differences in the overlapping areas of several projectors
- - Matching colors and brightness between the projectors
- - Matching color and brightness differences within the projected image of a single projector.
Damit dies mit dem hier vorgestellten Verfahren kombiniert werden kann, wird vorausgesetzt, dass sich die notwendige Bildaufbereitung gemäß des Kalibrierverfahrens mit den drei im Folgenden definierten mathematischen Funktionen beschreiben lässt:
- warpa(x, βa): geometrische Anpassung: Berechnet 2D-Koordinaten im Intermediate-Koordinatensystem, welches dem Ausgabepixel mit den Gerätekoordinaten x = (xx, xy) vom Projektor am Ausgang a entspricht. Damit lässt sich sowohl der grundsätzliche Bildausschnitt als auch ein Image-Warping zur Entzerrung der Projektorbilder realisieren.
- parama(x, βa): Berechnung positionsabhängiger aber farbunabhängiger Parameter: Berechnet einen nicht näher spezifizierten Parametervektor mit Kalibrierungsparametern in Abhängigkeit des Ausgabepixels mit den Gerätekoordinaten x = (xx, xy) vom Projektor am Ausgang a. Dieser Parametervektor ist nur abhängig von der Pixelposition, nicht aber der später zu setzenden Pixelfarbe oder der gewählten stereoskopischen Ansicht. Als Beispiel eines solchen Parameters kann der Blend-Faktor für Soft-Edge-Blending genannt werden.
- colora(Z, α, βa): Anpassung der Farben: Berechnet den Farbvektor, der die korrigierte Projektor-Eingangsfarbe für den Projektor am Ausgang a und die gewünschte Farbe Z beschreibt, dabei kann auf die Parameter α = parama(x) zurückgegriffen werden, die getrennt von dieser Funktion berechnet wurden.
- warp a (x, β a ): geometric fit: Computes 2D coordinates in the intermediate coordinate system, which corresponds to the output pixel with the device coordinates x = (x x , x y ) from the projector at output a. Thus, both the basic image detail and an image warping for equalization of the projector images can be realized.
- param a (x, β a ): Calculation of position-dependent but color-independent parameters: Calculates an unspecified parameter vector with calibration parameters depending on the output pixel with the device coordinates x = (x x , x y ) from the projector at output a. This parameter vector is only dependent on the pixel position, but not the pixel color to be set later or the selected stereoscopic view. As an example of such a parameter, the blend factor for soft edge blending may be mentioned.
- color a (Z, α, β a ): Adjusting the colors: Computes the color vector that describes the corrected projector input color for the projector at the output a and the desired color Z, while allowing the parameters α = param a (x) be recalculated separately from this function.
Alle drei Funktionen verfügen über den Parameter βa, der alle spezifischen Parameter des gewählten Kalibrierverfahrens für den Projektor am Ausgang a repräsentiert.All three functions have the parameter β a , which represents all specific parameters of the selected calibration method for the projector at the output a.
Das Verfahren zur Aufbereitung der Bildinhalte wird in 3 Phasen durchgeführt:The process for processing the image content is carried out in 3 phases:
Phase 1: Einrichtung der AnlagePhase 1: Installation of the system
a): Konfiguration der Anlagea): Configuration of the system
- – Jedem Eingang e der E Eingänge werden manuell zugeordnet: – ein Eingabe-Format De, und im Falle eines Multiview-Eingabeformates auch ein Parameter εe. Das Eingabe-Format legt die Anzahl der Eingabe-Ansichten ve fest, wobei jeder der ve Eingabe-Ansichten eine beliebige Anzahl von Intermediate-Ansichten zugeordnet wird. Auf die möglichen Eingabe-Formate wird im Abschnitt „Konvertierung der Eingabeformate” näher eingegangen. – Parameterwerte δ0,e und δ1,e, falls anaglyphes Eingabeformat gewählt wurde. – die Position und Orientierung des Segments im normalisierten Intermediate-Koordinatensystem in Form von vier 2D-Punktkoordinaten zur Beschreibung eines Rechtecks. – eine Synchronisationsgruppe, gekennzeichnet durch eine Ganzzahl. Alle Eingänge, denen die gleiche Zahl zugeordnet wird, bilden eine Synchronisationsgruppe.- Each input e of the E inputs are assigned manually: - an input format D e , and in the case of a multiview input format also a parameter ε e . The input format specifies the number of input views v e, each of e v input views any number of intermediate views is assigned. The possible input formats are described in more detail in the section "Conversion of input formats". - Parameter values δ 0, e and δ 1, e , if anaglyphes input format was selected. The position and orientation of the segment in the normalized intermediate coordinate system in the form of four 2D point coordinates describing a rectangle. A synchronization group characterized by an integer. All inputs to which the same number is assigned form a synchronization group.
- – Für jeden Ausgang a der A Ausgänge: – Ermittlung der Kalibrierungsparameter βa für den an diesem Ausgang a betriebenen Projektor. – Manuelle Zuordnung eines Ausgabe-Formates Ga, das für diesen Projektor geeignet ist. Im Multiview-Fall muss zusätzlich der Parameter εa festgelegt werden. Das Ausgabe-Format bestimmt die Anzahl der Ausgabe-Ansichten wa, wobei jedem der wa Ausgabe-Ansichten genau eine Intermediate-Ansicht zugeordnet wird. Es entsteht die Liste Auf die möglichen Ausgabe-Formate wird im Abschnitt „Konvertierung der Ausgabeformate” näher eingegangen. – Festlegung der Pixelauflösung: Ba Breite, Ha Höhe – Festlegung der Parameterwerte μ0, μ1 und μm, falls ein anaglyphes Ausgabeformat gewählt wurde.- For each output a of the A outputs: - Determination of the calibration parameters β a for the projector operated at this output a. - Manual assignment of an output format G a , which is suitable for this projector. In the multiview case, the parameter ε a must be set additionally. The output format determines the number of output views w a , with each of the w a output views being assigned exactly one intermediate view. The list is created The possible output formats are described in more detail in the section "Conversion of output formats". - Definition of the pixel resolution: B a width, H a height - Definition of the parameter values μ 0 , μ 1 and μ m if an anaglyphic output format has been selected.
- – Konfiguration weiterer Parameter – Festlegung der Pixelauflösung des Intermediate-Framebuffers. – Festlegung der Ringpuffer-Größe Q- Configuration of further parameters - Determine the pixel resolution of the intermediate frame buffer. - Determination of the ring buffer size Q
Die Phase 1a) wird nach dem Aufbau der Anlage durchgeführt, sowie bei jeder Änderung der Zuspielsituation oder der Konfiguration der Anlage (Anzahl und Art der Projektoren). Anzumerken ist, dass derartige Konfigurationsdaten in Rechneranlagen abgespeichert und wieder abgerufen werden können, so dass ein schnelles Umschalten zwischen vorher definierten Zuspielsituationen realisierbar ist.Phase 1a) is carried out after the system has been set up, as well as whenever the playback situation or configuration of the system (number and type of projectors) has changed. It should be noted that such configuration data can be stored in computer systems and retrieved again, so that a fast switching between previously defined feed situations can be realized.
Die Ermittlung der eigentlichen Kalibrierparameter βa bleibt hiervon unberührt. Der Ablauf und die Zeitpunkte der Kalibrierung hängen direkt vom eingesetzten Kalibrierverfahren ab, haben aber keinen weiteren Einfluss auf die Konfiguration dieses Verfahrens. The determination of the actual calibration parameters β a remains unaffected. The procedure and times of calibration depend directly on the calibration procedure used, but have no further influence on the configuration of this method.
b) Initialisierung des Intermediate-Bildpuffersb) Initialization of the intermediate image buffer
- – Ermittlung der tatsächlich benötigten Intermediate-Ansichten durch Auflistung aller zugeordneten Intermediate-Ansichten über alle A Ausgänge, wobei Duplikate entfernt werden, es entsteht eine Liste L = {L0, ..., Ll-1}, die die l tatsächlich relevanten (weil an mindestens einem Projektor ausgegebenen) Intermediate-Ansichten enthält.- Determination of the actually required intermediate views by listing all assigned intermediate views on all A outputs, with duplicates removed, resulting in a list L = {L 0 , ..., L l-1 }, which are the l actually relevant (because there are at least one projector output) intermediate views.
- – Erzeugung eines Intermediate-Bildpuffers, der l getrennte Farbpuffer enthält. Die Auflösung jedes Puffers ist identisch und wird in Phase 1a) festgelegt.Generation of an intermediate image buffer containing 1 separate color buffers. The resolution of each buffer is identical and is set in phase 1a).
Die Phase 1b) muss beim Starten des Verfahrens ausgeführt sowie nach jeder Konfigurationsänderung (Phase 1a)) erneut durchlaufen werden.Phase 1b) must be executed when starting the procedure and run again after every configuration change (phase 1a)).
c) Initialisierung der Eingabe-Bildpufferc) initialization of the input image buffer
- – Für jeden Eingang werden ein Ringpuffer aus Bildpuffern sowie ein zusätzlicher Eingabe-Bildpuffer angelegt. Die Pixelauflösung aller Puffer eines Eingangs ist jeweils identisch und entspricht der Auflösung des am Eingang anliegenden Signals aus Me Spalten und Ne Zeilen.- A ring buffer consisting of image buffers and an additional input image buffer are created for each input. The pixel resolution of all buffers of an input is identical in each case and corresponds to the resolution of the signal present at the input from M e columns and N e rows.
- – Für jeden Eingang e wird die Anzahl der benutzten Puffer im Ringpuffer Re mit 0 initialisiert.- For each input e, the number of used buffers in the ring buffer R e is initialized with 0.
Die Phase 1c) wird beim Starten des Verfahrens ausgeführt und bei einer Konfigurationsänderung oder einer Änderung der Auflösung eines Eingabesignals erneut durchlaufen.Phase 1c) is executed at the start of the process and iterated during a configuration change or a change in the resolution of an input signal.
d) Initialisierung der Ausgabe-Bildpufferd) Initialization of the output image buffers
- – Für jeden Ausgang wird ein Ausgabe-Bildpuffer mit Ba Spalten und Ha Zeilen angelegt. Falls Ga = stereo gewählt wurde, so wird ein stereoskopischer Ausgabepuffer angelegt, der aus einer Ansicht für das linke und einer Ansicht für das rechte Auge, jeweils in der vollen Auflösung, besteht. Falls Ga = mv gewählt wurde, so wird ein Multivew-Ausgabepuffer bestehend aus εa Ansichten, jeweils in der vollen Auflösung, angelegt.- For each output an output frame buffer with B a columns and H a rows is created. If G a = stereo has been selected, then a stereoscopic output buffer is created consisting of a view for the left and a view for the right eye, each in full resolution. If G a = mv has been selected, a multivew output buffer consisting of ε a views, each in full resolution, is created.
Die Phase 1d) wird beim Starten der des Verfahrens ausgeführt und bei einer Konfigurationsänderung erneut durchlaufen.Phase 1d) is executed at the start of the process and run through again during a configuration change.
Phase 2: Verfahren zur Aufbereitung der BildinhaltePhase 2: Process for the preparation of the image content
In Phase 2 werden die Bilddaten der Eingangssignale verarbeitet und die Intermediate-Bildpuffer entsprechend aktualisiert.
a) Aktualisierung der Eingabesignalea) Updating the input signals
- – Sobald neue Bildinformationen an einem Eingang e' vorliegen, wird überprüft, ob Re' < Q gilt. Ist dies der Fall, so werden Bildinformationen in den nächsten freien Slot des Ringpuffers kopiert und Re' um 1 inkrementiert, andernfalls wird der Bildinhalt verworfen (Frame Dropping)- As soon as new image information is present at an input e ', it is checked whether R e' <Q holds. If this is the case, image information is copied to the next free slot of the ring buffer and R e ' is incremented by 1, otherwise the image content is discarded (frame dropping).
- – Sei S = {S0, ..., Ss-1} die Synchronisationsgruppe, zu der Eingang e' gehört. Falls für alle s Eingänge e der Synchronisationsgruppe S Re > 0 gilt, so muss der Bildinhalt dieser Synchronisationsgruppe wie in Phase 2b) beschrieben weiterverarbeitet werden, andernfalls ist die Synchronisationsgruppe nicht komplett und es ist keine Aktualisierung der Eingabe-Bildpuffer erforderlich und Phase 2a) beginnt erneut.Let S = {S 0 , ..., S s-1 } be the synchronization group to which input e 'belongs. If the synchronization group SR e > 0 applies to all s inputs e, then the image content of this synchronization group must be further processed as described in phase 2b), otherwise the synchronization group is not complete and no update of the input image buffer is required and phase 2a) begins again.
b) Aktualisierung der Eingabe-Bildpuffer b) Updating the input image buffers
- – Iteration über alle Eingänge e der Synchronisationsgruppe S. Kopieren des ältesten noch nicht verarbeiteten Bildinhaltes aus dem Eingang e zugeordneten Ringpuffer in den Eingang e zugeordneten Eingabe-Bildpuffer und dekrementieren von Re um 1. Damit enthalten die Eingabe-Bildpuffer den neuen Bildinhalt der Synchronisationsgruppe zum Synchronisationszeitpunkt und die Ringpuffer haben wieder Platz für mindestens einen weiteren Frame.- iteration over all inputs e of the synchronization group S. Copy of the oldest unprocessed image content from input buffer e associated ring buffer in the input e associated input image buffer and decrement of R e by 1. Thus, the input image buffer contain the new image content of the synchronization group at the synchronization time and the ring buffers have room for at least one more frame.
- – Da in Phase 2b) mindestens ein Eingabe-Bildpuffer aktualisiert wurde, muss der gesamte Intermediate-Puffer aktualisiert werden. Daher erfolgt für jeden Eingang e aller E Eingänge (nicht nur der Synchronisationsgruppe) das in Phase 2c) beschriebene Verfahren.Since at least one input image buffer has been updated in phase 2b), the entire intermediate buffer must be updated. Therefore, for each input e of all E inputs (not just the synchronization group), the method described in phase 2c) is performed.
c) Verarbeitung der Eingabeinhaltec) processing the input contents
- – Iteration über alle dem Eingang zugeordneten Eingabe-Ansichten j.- iteration over all input views assigned to the input j.
- – Iteration über alle dem Eingange zugeordneten Intermediate-Ansichten aus der Konfiguration in Phase 1a). Sei i die jeweilige Intermediate-Ansicht. Falls Ansicht i nicht in der Liste der zugeordneten Ansichten L vorhanden ist, werden die Bildinformationen dieser Ansicht nicht weiter betrachtet, andernfalls:- iteration over all intermediate views associated with the input from the configuration in phase 1a). Let i be the respective intermediate view. If view i is not present in the list of associated views L, the image information of that view will not be considered, otherwise:
- – Iteration über alle Pixel pi im Intermediate-Koordinatensystem, die vom dem Eingang e zugeordneten Rechteck eingeschlossen werden (Rasterisierung) und Durchführung der im Folgenden als Phase 2d) beschriebenen Verarbeitung.- iteration over all the pixels p i in the intermediate coordinate system which are enclosed by the input e assigned rectangular (rasterization), and performing the processing described in the following as phase 2d).
d) Verarbeitung der Eingabe-Pixeld) Processing of input pixels
- – Berechnung der Pixelkoordinaten C im Eingangskoordinatensystem unter Benutzung einer Abbildung, die die Intermediate-Koordinaten des Vierecks auf die Pixelkoordinaten der Eckpunkte des Eingangsbildes abbildet. Dies führt (optional) zu Skalierung, Rotation und Spiegelung der Bildinformationen.Calculation of the pixel coordinates C in the input coordinate system using an image that maps the intermediate coordinates of the quadrilateral to the pixel coordinates of the vertices of the input image. This leads (optionally) to scaling, rotation and mirroring of the image information.
- – Bestimmung des Farbwertsdurch Sampling des Eingabebildpuffers entsprechend Schritt 1 des Konvertierungsverfahrens für Eingabedaten in Abhängigkeit des Eingabeformates De, der aktuellen Ansicht j sowie der berechneten Eingabe-Pixelkoordinaten C.- Determination of the color value by sampling the input image buffer corresponding to step 1 of the input data conversion method depending on the input format D e , the current view j, and the calculated input pixel coordinates C.
-
– Modifikation des Farbwerts F zu Farbwertin Abhängigkeit des Eingabeformats De und der aktuellen Ansicht j gemäß Schritt 2 des Konvertierungsverfahrens für Eingabedaten.- Modification of the color value F to color value depending on the input format D e and the current view j according to
step 2 of the input data conversion method. - – Aktualisieren des aktuellen Pixels pi im der Intermediate-Ansicht i zugeordnetem Farbpuffer des Intermediate-Bildpuffers mit dem resultierendem Farbwert F'.Updating the current pixel p i in the intermediate image i associated color buffer of the intermediate image buffer with the resulting color value F '.
Konvertierung der EingabeformateConversion of the input formats
In Phase 2d) wurde Bezug genommen auf das Konvertierungsverfahren für Eingabedaten. Diese Konvertierung erfolgt dabei immer in zwei Schritten, die hier als die mathematischen Funktionen decode1 und decode2 bezeichnet wurden. Diese Funktionen werden für jedes unterstützte Eingabeformat im Folgenden spezifiziert:
- decode1(C, j, e): Sampling des Farbwertes in Abhängigkeit von Pixelposition und Ansicht:
In diesem Verarbeitungsschritt wir der Farbwert an den Eingabe-Pixelkoordinaten C der Ansicht j des Bildes im Eingabebildpuffer e ermittelt. Nach Möglichkeit wird eine bilineare Interpolation der Pixelfarbwerte in
der 2×2 Pixel großen lokalen Nachbarschaft durchgeführt. Dabei muss berücksichtigt werden, dass benachbarte Pixel einer Ansicht nicht direkt benachbarten Pixeln im Eingabe-Framepuffer entsprechen müssen, es kann daher eine Anpassung der Eingabe-Pixelkoordinaten in Abhängigkeit der Eingabe-Ansicht erfolgen. - M'e = 1/Me: Pixelbreite in normierten Koordinaten
- N'e = 1/Ne: Pixelhöhe in normierten Koordinaten
- j: Ansicht (Zählung beginnt bei 0)
- C = (Cx, Cy): Die unmodifizierten normierten Eingabe-Pixelkoordinaten
- decode2(F, j, e): Modifikation des Farbwerts in Abhängigkeit der Ansicht: Manche Stereoformate benutzen Farbkanäle zur Kodierung unterschiedlicher Ansichten. In diesen Fällen ist es notwendig, die Farbinformationen in Abhängigkeit der Eingabe-Ansicht zu modifizieren.
- decode1 (C, j, e): Sampling of the color value as a function of pixel position and view: In this processing step, the color value at the input pixel coordinate C of the view j of the image in the input image buffer e is determined. If possible, bilinear interpolation of the pixel color values in the 2x2 pixel local neighborhood is performed. It has to be taken into account that neighboring pixels of a view do not have to correspond directly to neighboring pixels in the input frame buffer, therefore an adaptation of the input pixel coordinates can take place depending on the input view.
- M ' e = 1 / M e : pixel width in normalized coordinates
- N ' e = 1 / N e : pixel height in normalized coordinates
- j: view (counting starts at 0)
- C = (C x , C y ): The unmodified normalized input pixel coordinates
- decode2 (F, j, e): Modification of the color value depending on the view: Some stereo formats use color channels to encode different views. In these cases, it is necessary to modify the color information depending on the input view.
Eingabeformat mono: monoskopischInput format mono: monoscopic
Es wird eine Eingabe-Ansicht definiert. Der Eingabe-Bildpuffer enthält die Eingabe-Ansicht 0 als Vollbild. In
Eingabeformat ilh: Interlaced (zeilenweise)Input format ilh: Interlaced (line by line)
Es werden zwei Eingabe-Ansichten definiert. Der Eingabe-Bildpuffer enthält zeilenweise abwechselnd Ansicht 0 (gerade Zeilennummern) und Ansicht 1 (ungerade Zeilennummern). In
Eingabeformat ilv: Interlaced (spaltenweise)Input format ilv: Interlaced (column by column)
Es werden zwei Eingabe-Ansichten definiert. Der Eingabe-Bildpuffer enthält spaltenweise abwechselnd Ansicht 0 (gerade Spaltennummern) und Ansicht 1 (ungerade Spaltennummern). In
Eingabeformat cb: Checkerboard (Schachbrett-Muster) Input format cb: Checkerboard (checkerboard pattern)
Es werden zwei Eingabe-Ansichten definiert, welche schachbrettartig über den Eingabe-Bildpuffer verteilt sind. Ist die Summe aus Spalten- und Zeilennummer gerade, so entspricht das Pixel Ansicht 0, andernfalls Ansicht 1. In
Eingabeformat sbs: Side-By-Side (Nebeneinander)Input format sbs: Side-By-Side
Es werden zwei Eingabe-Ansichten definiert, welche als zwei Vollbilder (jeweils mit halbierter Auflösung) nebeneinander im Eingabe-Bildpuffer kodiert sind. In
Eingabeformat tb: Top-Bottom (Untereinander)Input format tb: Top-Bottom
Es werden zwei Eingabe-Ansichten definiert, welche als zwei Vollbilder (jeweils mit halbierter Auflösung) untereinander im Eingabe-Bildpuffer kodiert sind. In
Eingabeformat ag: anaglyphInput format ag: anaglyph
Es werden zwei Eingabe-Ansichten definiert, welche in unterschiedlichen Farbkanälen kodiert sind. Die entstehenden Einzelansichten entsprechen dabei einem monochromen Bildinhalt. Die Kodierung der Farbkanäle wird über folgende Parameter gesteuert:
- – δ0: dreidimensionaler Vektor mit einem Koeffizient pro Farbkanal, beschreibt den
Anteil von Ansicht 0 - – δ1: dreidimensionaler Vektor mit einem Koeffizient pro Farbkanal, beschreibt den
Anteil von Ansicht 1
- - δ 0 : three-dimensional vector with one coefficient per color channel, describes the proportion of
view 0 - - δ 1 : three-dimensional vector with one coefficient per color channel, describes the proportion of
view 1
In
Eingabeformat sbsmv: Side-By-Side Multiview (Nebeneinander)Input format sbsmv: Side-By-Side Multiview
Es wird eine beliebige Anzahl von εe Eingabe-Ansichten definiert, die als Vollbilder mit jeweils der Bildbreite Me/εe nebeneinander im Eingabe-Bildpuffer kodiert sind. In
Eingabeformat tbmv: Top-Bottom Multiview (Untereinander)Input format tbmv: Top-Bottom Multiview
Es wird eine beliebige Anzahl von εe Eingabe-Ansichten definiert, die als Vollbilder mit jeweils der Bildhöhe Ne/εe untereinander im Eingabe-Bildpuffer kodiert sind. In
Abschluss von Phase 2:Completion of phase 2:
Nachdem alle Eingangsdaten der Synchronisationsgruppe verarbeitet wurden, enthält der Intermediate-Bildpuffer, die neuen Bildinformationen, getrennt nach den einzelnen Intermediate-Ansichten, als Vollbilder. Falls im Verlauf von Phase 2 der Intermediate-Bildpuffer modifiziert wurde, muss nun Phase 3 ausgeführt werden, um die Ausgabepuffer ebenfalls zu aktualisieren. Andernfalls wird wieder Phase 2 von Beginn an ausgeführt.After all input data of the synchronization group have been processed, the intermediate image buffer contains the new image information, separated into individual intermediate views, as full images. If the intermediate image buffer has been modified during
Phase 3) Erzeugung der AusgabesignalePhase 3) Generation of the output signals
In Phase 3 werden die Ausgabe-Bildpuffer aktualisiert, so dass die geänderten Eingabe-Bilddaten schließlich auch von den Projektoren dargestellt werden.
a) Ermittlung der Intermediate-Ansichten pro Pixel, a) determination of the intermediate views per pixel,
- – Iteriere über jeden Ausgang a der A Ausgänge und iteriere über jedes Pixel pa des Ausgangs a und führe das in Phase 2b) beschriebene Verfahren aus.- iterate over each output a of the A outputs and iterate over each pixel p a of the output a and perform the procedure described in phase 2b).
b) Ermittlung der Farbwerte aller Ausgabe-Ansichten pro Pixel,b) determining the color values of all output views per pixel,
- – O = (Ox, Oy) entspricht den Pixelkoordinaten von pa,.- O = (O x , O y ) corresponds to the pixel coordinates of p a ,.
-
– Berechnung der Geräte-Pixelkoordinaten T(Tx, Ty) gemäß Schritt 1 des Konvertierungsverfahrens für Ausgabedaten. Calculation of the device pixel coordinates T (T x , T y ) according to
step 1 of the output data conversion method. - – Ermittlung der Intermediate-Bildkoordinaten U, die den Geräte-Pixelkoordinaten T zugeordnet sind. Diese Umrechnung erfolgt mit Hilfe der gespeicherten Kalibrierparameter des zugehörigen Projektors, die in irgend einer Form eine Abbildung der Gerätekoordinaten auf die Intermediate-Koordinaten beschreiben, welche nicht näher in der Beschreibung dieser Erfindung betrachtet werden soll. U = warpa(T, βa)- Determining the intermediate image coordinates U, which are assigned to the device pixel coordinates T. This conversion is done using the stored calibration parameters of the associated projector, which in some form describe a mapping of the device coordinates to the intermediate coordinates, which should not be further considered in the description of this invention. U = warp a (T, β a )
- – Ermittlung des den Geräte-Pixelkoordinaten zugeordneten Parametervektors α, wie z. B. einen Blend-Faktor für Soft-Edge-Blending. α = parama(T, βa)- Determining the device pixel coordinates associated parameter vector α, such. For example, a blend factor for soft edge blending. α = param a (T, β a )
-
– Ermittlung der Liste K = {K0, ..., Kk-1} der k benötigten Ausgabe-Ansichten je nach Ausgabe-Format für Ausgabekoordinaten O gemäß Schritt 2 des Konvertierungsverfahrens für Ausgabedaten. Determination of the list K = {K 0 ,..., K k-1 } of the k required output views depending on output format for output coordinates O according to
step 2 of the output data conversion method. - – Ermittlung der zugehörigen Intermediate-Ansichten i für alle Ansichten j der Liste K mittels der Zuordnungsliste Wa von Ausgabe-Ansichten zu Intermediate-Ansichten aus der KonfigurationDetermination of the associated intermediate views i for all views j of the list K by means of the assignment list W a from output views to intermediate views from the configuration
- – Für jede der ermittelten Intermediate-Ansichten i: Bilineares Filtern des zugehörigen Intermediate-Bildpuffers an den Intermediate-Bildkoordinaten U. Es ergibt sich pro Ausgabe-Ansicht j ein Farbsample Zj For each of the detected intermediate views i: Bilinear filtering of the associated intermediate image buffer at the intermediate image coordinate U. The result for each output view j is a color sample Z j
- – Nachdem alle Farbsamples aller Ansichten j aus Liste K berechnet wurden, wird Phase 3c) durchgeführtAfter all color samples of all views j from list K have been calculated, phase 3c) is performed
c) Erzeugung des Ausgabepixelfarbwertsc) Generation of the output pixel color value
-
– Kombination der Farbsamples Zj aller Ausgabe-Ansichten gemäß Schritt 3 des Konvertierungsverfahrens für Ausgabedaten zum Farbsample Z. - Combination of the color samples Z j all output views according to
step 3 of the conversion method for output data for color sampling Z. - – Umrechnung des Farbwertes auf den Ausgabefarbwert für den Projektor anhand der Kalibrierparameter. Z' = colora(Z, α, βa)- Conversion of the color value to the output color value for the projector based on the calibration parameters. Z '= color a (Z, α, β a )
- – Aktualisieren des Ausgabepixels pa mit Farbwert Z'Updating the output pixel p a with color value Z '
Konvertierung der AusgabeformateConversion of the output formats
Die Konvertierung der Intermediate-Bilddaten in das jeweilige Ausgabeformat erfolgt immer in drei Schritten, die jeweils abstrakt durch die mathematischen Funktionen encode1, encode2 und encode3 beschrieben werden.
- encode1(O, a): Ermittlung der Gerätekoordinaten in Abhängigkeit der Ausgabepixelposition: Diese Geräte-Pixelkoordinaten dienen als Eingabekoordinaten der Image-Warping-Stufe der Geometriekalibrierung.
- encode2(O, a): Ermittlung der notwendigen Ansichten in Abhängigkeit der Ausgabepixelposition: Jedes Ausgabe-Pixel kann Bilddaten von keiner, einer oder mehreren Ausgabe-Ansichten enthalten. In diesem Schritt muss ermittelt werden, welche Ausgabe-Ansichten tatsächlich auf dieses Ausgabe-Pixel wirken. Es entsteht eine Liste K, die alle k Ausgabe-Ansichten enthält, wobei jede Ansicht durch eine Ganzzahl definiert wird, deren Zählung bei Null beginnt. Die Liste der Ansichten ist abhängig von den Ausgabe-Pixelkoordinaten O.
- encode3(O, a, Z0, ..., Zk-1): Kombination der Farbwerte mehrerer Ansichten In Phase 3b) wird für jede Ausgabe-Ansicht j der Liste K ein Farbsample Zj der der Ausgabe-Ansicht i zugeordneten Intermediate-Ansicht ermittelt. Diese Farbsamples werden mit dieser Funktion zu einem finalen Farbwert Z kombiniert. Dies ist notwendig für Ausgabeformate, die unterschiedliche Ansichten in unterschiedlichen Farbkanälen kodieren, sowie für stereoskopische oder Multiview-Ausgabebildpuffer.
- encode1 (O, a): Obtain Device Coordinates Dependent on Output Pixel Position: These device pixel coordinates serve as input coordinates of the image warping level of the geometry calibration.
- encode2 (O, a): Determining the Necessary Views Dependent on the Output Pixel Position: Each output pixel may contain image data from none, one or more output views. In this step, it must be determined which output views actually affect that output pixel. A list K is created containing all k output views, each view being defined by an integer whose count starts from zero. The list of views depends on the output pixel coordinates O.
- encode3 (O, a, Z 0 , ..., Z k-1 ): Combining the Color Values of Multiple Views In step 3b), for each output view j of the list K, a color sample Z j of the intermediates associated with the output view i View determined. These color samples are combined with this function to form a final color Z value. This is necessary for output formats that encode different views in different color channels, as well as for stereoscopic or multiview output image buffers.
Ausgabeformat mono: monoskopisch Output format mono: monoscopic
Es wird eine Ausgabe-Ansicht definiert. Der Ausgabe-Bildpuffer enthält die Ausgabe-Ansicht 0 als Vollbild. In
Ausgabeformat stereo: Stereoskopischer BildpufferOutput format stereo: Stereoscopic image buffer
Viele Workstation-Grafikkarten unterstützen den sogenannten Quadbuffer-Modus. Dabei enthält der Framebuffer separate Bildpuffer für die Aufnahme der Bilder für das linke und rechte Auge (in Kombination mit dem üblichen Double Buffering ergeben sich vier Puffer, daher der Name). Es ist sinnvoll, ein derartiges Ausgabe-Format direkt zu unterstützen. Da in diesem Verfahren beide Ansichten immer zusammen verarbeitet werden, betrachten wir die Farbsamples eines Pixels für beide Ansichten als Vektor mit der doppelten Anzahl an Komponenten Z = (Zr1, Zg1, Zb1, Zr2, Zg2, Zb2). Beim Aktualisieren eines Ausgabepixels werden dann immer beide Ansichten aktualisiert.
Ausgabeformat mv: Multiview-BildpufferOutput format mv: Multiview image buffer
Im Hinblick auf zukünftige Entwicklungen ist es sinnvoll, ein Ausgabeformat mit einer beliebigen Anzahl εa von Ansichten zur Verfügung zu haben, bei dem alle Ansichten in der vollen Ausgabeauflösung zur Verfügung stehen. Dafür wird hier ein allgemeines Multiview-Ausgabeformat definiert, bei dem der Ausgabepuffer εa separate Bildpuffer enthält. Da in diesem Verfahren alle Ansichten immer zusammen verarbeitet werden, betrachten wir die Farbsamples eines Pixels für alle εa Ansichten als Vektor mit der εa-fachen Anzahl an Komponenten Z = (Zr1, Zg1, Zb1, Zr2, Zg2, Zb2, ...). Beim Aktualisieren eines Ausgabepixels werden dann immer alle Ansichten aktualisiert.
Ausgabeformat ilh: Interlaced (zeilenweise)Output format ilh: Interlaced (line by line)
Es werden zwei Ausgabe-Ansichten definiert. Der Ausgabe-Bildpuffer enthält zeilenweise abwechselnd Ansicht 0 (gerade Zeilennummern) und Ansicht 1 (ungerade Zeilennummern). In
Ausgabeformat ilv: Interlaced (spaltenweise)Output format ilv: interlaced
Es werden zwei Ausgabe-Ansichten definiert. Der Ausgabe-Bildpuffer enthält spaltenweise abwechselnd Ansicht 0 (gerade Spaltennummern) und Ansicht 1 (ungerade Spaltennummern). In
Ausgabeformat cp: Checkerboard (Schachbrett-Muster) Output format cp: Checkerboard (checkerboard pattern)
Es werden zwei Ausgabe-Ansichten definiert, welche schachbrettartig über den Ausgabe-Bildpuffer verteilt sind. Ist die Summe aus Spalten- und Zeilennummer gerade, so entspricht das Pixel Ansicht 0, andernfalls Ansicht 1. In
Ausgabeformat sbs: Side-By-Side (Nebeneinander)Output format sbs: Side-By-Side
Es werden zwei Ausgabe-Ansichten definiert, welche als zwei Vollbilder (jeweils mit halbierter Auflösung) nebeneinander im Ausgabe-Bildpuffer kodiert sind. In
Ausgabeformat tb: Top-Bottom (Untereinander)Output format tb: Top-Bottom
Es werden zwei Ausgabe-Ansichten definiert, welche als zwei Vollbilder (jeweils mit halbierter Auflösung) untereinander im Ausgabe-Bildpuffer kodiert sind. In
Ausgabeformat ag: anaglyphOutput format ag: anaglyph
Es werden zwei Ausgabe-Ansichten definiert, welche in unterschiedlichen Farbkanälen kodiert sind. Die Kodierung der Farbkanäle wird über folgende Parameter gesteuert:
- – μ0: dreidimensionaler Vektor mit einem Koeffizient pro Farbkanal, beschreibt den
Anteil von Ansicht 0 - – μ1: dreidimensionaler Vektor mit einem Koeffizient pro Farbkanal, beschreibt den
Anteil von Ansicht 1
- - μ 0 : three-dimensional vector with one coefficient per color channel, describes the proportion of
view 0 - - μ 1 : three-dimensional vector with one coefficient per color channel, describes the proportion of
view 1
In
Ausgabeformat agm: anaglyph_monochromOutput format agm: anaglyph_monochrom
Analog zum Format „anaglyph”, jedoch werden die Farbsamples noch mittels eines zusätzlichen Parameters in eine monochromatische Darstellung umgerechnet.
- – μm: dreidimensionaler Vektor mit einem Koeffizient pro Farbkanal, beschreibt die Konvertierung in monochromatische Darstellung
encode1agm(O, a) = O encode2agm(O, a) = {0, 1} h0 = dot(Z0, μm) h1 = dot(Z1, μm) Z'0 = (h0, h0, h0) Z'1 = (h1, h1, h1) encode3agm(O, a, Z0, Z1) = μ0·Z'0 + μ1·Z'1
- - μ m : three-dimensional vector with one coefficient per color channel, describes the conversion into monochromatic representation
encode1 agm (O, a) = O encode2 agm (O, a) = {0, 1} h 0 = dot (Z 0 , μ m ) h 1 = dot (Z 1 , μ m ) Z ' 0 = (h 0 , h 0 , h 0 ) Z ' 1 = (h 1 , h 1 , h 1 ) encode3 agm (O, a, Z 0 , Z 1 ) = μ 0 · Z' 0 + μ 1 · Z ' 1
Ausgabeformat sbsmv: Side-By-Side Multiview (Nebeneinander) Output format sbsmv: Side-By-Side Multiview
Es wird eine beliebige Anzahl von εa Ausgabe-Ansichten definiert, die als Vollbilder mit jeweils der Bildbreite Ba/εe nebeneinander im Eingabe-Bildpuffer kodiert sind. In
Ausgabeformat tbmv: Top-Bottom (Untereinander)Output format tbmv: Top-Bottom
Es wird eine beliebige Anzahl von εa Ausgabe-Ansichten definiert, die als Vollbilder mit jeweils der Bildhöhe Ha/εe untereinander im Eingabe-Bildpuffer kodiert sind. In
Abschluss von Phase 3:Completion of Phase 3:
Damit ist das Verfahren für einen darzustellenden Bildinhalt (bestehend aus den Bildsignalen aller relevanten Eingänge) abgeschlossen, die Projektoren erhalten als Eingabesignal die entsprechend der Kalibrierparameter verzerrten und farblich angepassten Teilbilder in dem für den jeweiligen Projektor erforderlichen monoskopischen, stereoskopischen oder Multiview-Format. Nach Abschluss von Phase 3 wird das Verfahren wieder mit Phase 2 fortgeführt, um in Echtzeit fortlaufend die neuen Eingangssignale verarbeiten und darstellen zu können.Thus, the process for an image content to be displayed (consisting of the image signals of all relevant inputs) is completed, the projectors receive as input signal the distorted according to the calibration parameters and color-matched partial images in the required for each projector monoscopic, stereoscopic or multiview format. After completing
Vorteilhaft an diesem Verfahren ist insbesondere, dass die Formate der Eingabe- und Ausgabeansichten unabhängig voneinander individuell frei wählbar sind und die Anwendung des eigentlichen Kalibrierverfahrens derart mit der Konvertierung der Daten in das Ausgabeformat kombiniert wird, so dass der Verarbeitungsaufwand minimiert wird. Weiterhin ist vorteilhaft, dass das Verfahren mit moderner Computertechnologie in Form von Vertex- und Fragmentshadern direkt auf der Grafikkarte ausführbar ist.An advantage of this method is, in particular, that the formats of the input and output views are independently selectable independently of each other and the application of the actual calibration method is combined with the conversion of the data in the output format, so that the processing cost is minimized. Furthermore, it is advantageous that the method can be executed directly on the graphics card with modern computer technology in the form of vertex and fragment shaders.
Für die Ansteuerung großer Anlagen bestehend aus sehr vielen Projektoren genügt der Einsatz eines einzigen Rechners nicht mehr. In diesem Fall kann das Verfahren auch in einem Rechnercluster eingesetzt werden. Dazu ist lediglich anzumerken, dass im Falle von sich überlappenden Projektorbildern die diesen Bereich betreffenden Eingabebilddaten gegebenenfalls an mehrere Rechner verteilt werden müssen. Das hier vorgestellte Verfahren kann dann auf jedem Rechner des Clusters individuell ausgeführt werden, wobei die von einem anderen Clusterknoten stammenden Bilddaten jeweils als weiteres Eingabesignal betrachtet werden.For the control of large systems consisting of very many projectors, the use of a single computer is no longer sufficient. In this case, the method can also be used in a computer cluster. It should merely be noted that, in the case of overlapping projector images, the input image data relating to this area may have to be distributed to several computers. The method presented here can then be executed individually on each computer of the cluster, wherein the image data originating from another cluster node are each regarded as a further input signal.
Ausführungsbeispiel: Stereoskopische Powerwall mit 4 stereoskopischen Projektoren und 3 EingängenExemplary embodiment: Stereoscopic powerwall with 4 stereoscopic projectors and 3 inputs
Für das Ausführungsbeispiel wird von einer Anlage bestehend aus 4 baugleichen stereoskopischen FullHD-Projektoren ausgegangen, die als 2×2-Array so angeordnet sind, dass sich die projizierten Bilder auf der ebenen Projektionsfläche jeweils um ca. 20% überlappen. Als Projektoren kommen Ein-Chip DLP-Projektoren zum Einsatz, die Stereoinhalt kodiert als Checkerboard-Daten (mit effektiv halbierter Auflösung pro Ansicht) entgegennehmen und die beiden Ansichten im Shutterverfahren mit abwechselnd mit einer Frequenz von 120 Hz darstellen.For the exemplary embodiment, it is assumed that a system consisting of 4 structurally identical stereoscopic FullHD projectors, which are arranged as a 2 × 2 array so that the projected images on the planar projection surface each overlap by approximately 20%. The projectors used are single-chip DLP projectors, which encode stereo contents encoded as checkerboard data (with effectively halved resolution per view) and display the two views alternately with a frequency of 120 Hz using the shutter method.
Als Bildquelle soll eine Grafik-Workstation dienen, die stereoskopische Bildinhalte als Vollbilder in der Auflösung 1920×1200 über jeweils einen eigenen Grafikkarten-Ausgang zur Verfügung stellt. Weiterhin soll in einem kleinen Rechteck rechts oben im Gesamtbild die Ausgabe eines Notebooks eingeblendet werden (Bild-in-Bild). Das Notebook verfügt über nur einen Ausgang, es soll aber trotzdem stereoskopische Bildinhalte darstellen. Die Auflösung des Notebooks betrage 1024×768 Pixel.The image source is a graphics workstation that provides stereoscopic image content as full-screen images in 1920 × 1200 resolution via its own graphics card output. Furthermore, the output of a notebook should be displayed in a small rectangle in the upper right corner of the picture (picture-in-picture). The notebook has only one output, but it should still represent stereoscopic image content. The resolution of the notebook is 1024 × 768 pixels.
In
Phase 1) Phase 1)
a)a)
Es existieren die Eingänge 0, 1, 2 sowie die Ausgänge 0 bis 3.There are
Die Eingänge werden wie folgt konfiguriert
- – Eingang 0:
– D0 = mono (monoskopisches Eingabe-Format)
– Es wird nur eine Ansicht wie folgt zugeordnet:
– Eingabe-Ansicht 0 -> Intermediate-
Ansicht 0 – Als Rechteck wird das achsparallele Rechteck (0, 0), (1, 0), (1, 1), (0, 1) gewählt, damit der Eingang auf Vollbild-Darstellung skaliert wird –Zuweisung von Synchronisationsgruppe 0 - – Eingang 1:
– D1 = mono (monoskopisches Eingabe-Format)
– Es wird nur eine Ansicht wie folgt zugeordnet:
– Eingabe-Ansicht 0 -> Intermediate-
Ansicht 1 – Als Rechteck wird das achsparallele Rechteck (0, 0), (1, 0), (1, 1), (0, 1) gewählt, damit der Eingang auf Vollbild-Darstellung skaliert wird –Zuweisung von Synchronisationsgruppe 0 - – Eingang 2:
– D2 = ilh (Eingabe-Format: Interlaced (zeilenweise)
– Das interlaced-
Format definiert 2 Ansichten, die wie folgt zugewiesen werden: – Eingabe-Ansicht 0 -> Intermediate-Ansicht 0 – Eingabe-Ansicht 1 -> Intermediate-Ansicht 1 – Als Rechteck wird (0.5, 0.75), (1.0, 0.75), (1.0, 1.0), (0.5, 1.0) gewählt, damit dieser Eingang in der rechten oberen Ecke erscheint. –Zuweisung von Synchronisationsgruppe 1
- - Input 0: - D 0 = mono (monoscopic input format) - Only one view is assigned as follows: - Input view 0 -> Intermediate view 0 - As a rectangle, the axis-parallel rectangle (0, 0), ( 1, 0), (1, 1), (0, 1) is selected so that the input is scaled to full screen representation - assignment of
synchronization group 0 - - Input 1: - D 1 = mono (monoscopic input format) - Only one view is assigned as follows: - Input view 0 -> Intermediate view 1 - As a rectangle, the axis-parallel rectangle (0, 0), ( 1, 0), (1, 1), (0, 1) is selected so that the input is scaled to full screen representation - assignment of
synchronization group 0 - - Input 2: - D 2 = ilh (Input format: Interlaced - The interlaced format defines 2 views, which are assigned as follows: - Input view 0 -> Intermediate view 0 - Input view 1 - > Intermediate view 1 - Select a rectangle (0.5, 0.75), (1.0, 0.75), (1.0, 1.0), (0.5, 1.0) so that this input appears in the upper right corner - Assigning
synchronization group 1
In diesem Beispiel sollen die baugleichen Projektoren alle in den gleichen Einstellungen betrieben werden. Daher ist die Konfiguration für jeden Ausgang a der A Ausgänge identisch:
- – Ausgang a:
– Ermittlung der Kalibrierparameter βa. In diesem Beispiel wird ein kamerabasiertes Kalibrierverfahren verwendet, welches an Hand bekannter projizierter Bildmuster die Position und geometrische Verzerrung ermittelt. Weiterhin berechnet das Kalibrierverfahren einen Blendfaktor für jedes Pixel des Projektors, der für den Helligkeitsabgleich in den Überlappungsbereichen eigesetzt wird. Derartige Verfahren sind im Abschnitt „Stand der Technik” erläutert.
– Ga = cb (Ausgabe-Format: Checkerboard)
– Das Checkerboard-
Ausgabeformat definiert 2 Ansichten, denen wie folgt Intermediate-Ansichten zugewiesen werden: Wa = {0, 1} – Ausgabe-Ansicht 0 -> Intermediate-Ansicht 0 – Ausgabe-Ansicht 1 -> Intermediate-Ansicht 1 – Ba = 1920, Ha = 1080 (FullHD)
- - Output a: - Determination of the calibration parameters β a . In this example, a camera-based calibration method is used which determines the position and geometric distortion based on known projected image patterns. Furthermore, the calibration method calculates a glare factor for each pixel of the projector that is used for the brightness adjustment in the overlap areas. Such methods are explained in the section "Prior Art". - G a = cb (Output Format: Checkerboard) - The checkerboard output format defines 2 views to which intermediate views are assigned as follows: W a = {0, 1} - Output View 0 -> Intermediate View 0 - Output View 1 -> Intermediate View 1 - B a = 1920, H a = 1080 (FullHD)
Als Auflösung für den Intermediate-Puffer werden beispielhaft 3840×2160 Pixel gewählt, weil dies der Gesamtauflösung des Projektor-Arrays (ohne Berücksichtigung der Überlappung) entspricht. Als Ringpuffer-Größe wird beispielhaft 3 verwendet.By way of example, 3840 × 2160 pixels are selected as the resolution for the intermediate buffer, because this corresponds to the overall resolution of the projector array (without consideration of the overlap). As a ring buffer size, 3 is used as an example.
b)b)
Die Aufzählung aller Intermediate-Ansichten aller Ausgänge mit Entfernung der Duplikate ergibt L = {0, 1}. Es werden also 2 Intermediate-Ansichten verwendet, so dass 2 Intermediate-Bildpuffer, jeweils mit der Auflösung 3840×2160 Pixel, angelegt werdenThe enumeration of all intermediate views of all outputs with the removal of the duplicates yields L = {0, 1}. Thus, 2 intermediate views are used so that 2 intermediate frame buffers, each with a resolution of 3840 × 2160 pixels, are created
c)c)
Für jeden Eingang e werden ein Ringpuffer mit Q = 3 Bildpuffern sowie ein zusätzlicher Eingabe-Bildpuffer angelegt. Die Auflösungen der Bildpuffer sind pro Eingang konstant und ergeben sich aus den zugespielten Bildsignalen wie folgt:
- – M0 = M1 = 1920, N0 = N1 = 1200
- – M2 = 1024, N2 = 768
- - M 0 = M 1 = 1920, N 0 = N 1 = 1200
- - M 2 = 1024, N 2 = 768
Weiterhin wird für alle Eingänge e Re mit 0 initialisiert.Furthermore, e R e is initialized to 0 for all inputs.
d)d)
Es wird für jeden der 4 Ausgänge eine Ausgabe-Bildpuffer mit 1920×1080 Pixeln angelegt.An output image buffer of 1920 × 1080 pixels is applied for each of the 4 outputs.
Phase 2)Phase 2)
a)a)
Es treffe zunächst am Eingang e' = 1 ein neues Bild ein. Da R1 = 0 < Q gilt, wird das Eingabebild in den Ringpuffer von Eingang 1 kopiert. Die Synchronisationsgruppe, zu der e' gehört, ist S = {0, 1}. Da die Bedingung R0 > 0 nicht gilt, wird das Verfahren wieder bei Phase 2a fortgesetzt und auf weitere Bilddaten gewartet.First, at the entrance e '= 1, it enters a new image. Since R 1 = 0 <Q, the input image is copied to the ring buffer of
Es treffe nun am Eingang e' = 0 ein neues Bild ein. Da R0 = 0 < Q gilt, wird das Eingabebild in den Ringpuffer von Eingang 0 kopiert. Die Synchronisationsgruppe, zu der e' gehört, ist S = {0, 1}. Da Re > 0 für alle e aus S gilt, wird das Verfahren in Phase 2b) fortgesetzt.It now enters a new image at the input e '= 0. Since R 0 = 0 <Q, the input image is copied to the ring buffer of
b)b)
Für jeden Eingang e aus S wird der älteste noch nicht verarbeitete Bildinhalt des Ringpuffers in den Eingabe-Bildpuffer kopiert und Re um 1 dekrementiert, so dass wieder R0 = R1 = 0 gilt. Die ältesten Bildinhalte sind in diesem Fall die ersten (und einzigen) Bilddaten, die in den Ringpuffer kopiert wurden. Es wird nun für jeden Eingang e der E Eingänge Phase 2c) durgeführt.For each input e from S, the oldest unprocessed image content of the circular buffer is copied into the input frame buffer and R e is decremented by 1 so that again R 0 = R 1 = 0. The oldest image contents in this case are the first (and only) image data copied to the ring buffer. It is now carried out for each input e of the inputs Phase 2c).
c) e = 0c) e = 0
Da v0 = 1 gilt, gibt es eine Eingabe-Ansicht j = 0. Aus der Konfiguration (Phase 1a) kann Ansicht 0 die Intermediate-Ansicht i = 0 zugeordnet werden. Diese ist in der Liste L enthalten, also wird die Rasterisierung durchgeführt: Für jedes Pixel pi, des Intermediate-Bildpuffers für Ansicht i, das im Rechteck von Eingang 0 im normierten Intermediate-Koordinatensystem liegt wird Phase 2d) ausgeführt.Since v 0 = 1, there is an input view j = 0. From the configuration (phase 1a)
d) e = 0, Pixel pi d) e = 0, pixel p i
Für das Pixel werden die zugehörigen Eingabe-Koordinaten ausgerechnet. Dies erfolgt über eine lineare Abbildung, welche den normierten Intermediate-Koordinaten normierte Eingabe-Pixelkoordinaten zuweist, derart, dass die gegebenen Eckpunkte des Rechtecks im Intermediate-Koordinatensystem auf die Eckpunkte des Eingabebildes (0, 0), (1, 0), (1, 1), (1, 0) abgebildet werden. Dies lässt sich mathematisch mit den affinen Abbildungen Skalierung, Spiegelung und Translation erreichen. Im Beispiel ergibt sich für den Eingang 0 die Einheits-Transformation.For the pixel, the corresponding input coordinates are calculated. This is done via a linear mapping which assigns normalized input pixel coordinates to the normalized intermediate coordinates, such that the given vertices of the rectangle in the intermediate coordinate system correspond to the vertices of the input image (0, 0), (1, 0), (1 , 1), (1, 0). This can be achieved mathematically with the affine mappings scaling, mirroring and translation. In the example, the unit transformation results for
Hier wird beispielhaft die Vorgehensweise für das Pixel pi mit den normierten Intermediate-Koordinaten (0.5, 0.5), also der Bildmitte gewählt. Es ergibt sich C = (0.5, 0.5). D0 = mono, also müssen die decode-Funktionen des monoskopischen Bildformats angewandt werden, decode1mono beschreibt ein gewöhnliches bilineares Filtern in der 2×2-Nachbarschaft von C. F ergibt sich damit als der bilinear gefilterte Bildinhalt des Eingabe-Bildpuffers 0 an den Koordinaten C, decode2mono beschreibt eine Einheitsabbildung, so dass F' = F gilt. Schließlich wird der Farbwert des Pixels pi des Intermediate-Bildpuffers der Ansicht i = 0 auf F' gesetzt.Here, by way of example, the procedure for the pixel p i with the normalized intermediate coordinates (0.5, 0.5), ie the center of the image, is selected. The result is C = (0.5, 0.5). D 0 = mono, so the decode functions of the monoscopic image format must be used, decode1 mono describes ordinary bilinear filtering in the 2 × 2 neighborhood of C. Thus F results in the bilinear filtered image content of the
Die Phase 2d) wird für jedes weitere der 3840×2160 Pixel des Rechtecks im Intermediate-Bildpuffer durchgeführt, damit ergibt sich eine (verzerrend) skalierte, bilinear gefilterte Kopie des Eingabebildes von Eingang 0 im Intermediate-Bildpuffer der Ansicht 0. Da der Eingabe-Ansicht keine weiteren Intermediate-Ansichten mehr zugeordnet sind, ist Phase 2c) für Eingang 0 ebenfalls angeschlossen, es folgt die Ausführung von Phase 2c) und d) für Eingang e = 1.Phase 2d) is performed for each additional one of the 3840 × 2160 pixels of the rectangle in the intermediate frame buffer, resulting in a (distorted) scaled, bilinear filtered copy of the input image of
c) e = 1 c) e = 1
Die Ausführung unterscheidet sich von der schon geschilderten Ausführung für e = 0 nur dadurch, dass nun in Intermediate-Ansicht i = 1 rasterisiert wird. Die Intermediate-Bildpuffer enthalten nun das komplette stereoskopische Signal der Workstation, aber noch nicht den Bild-In-Bild-Anteil des Notebooks. Es folgt die Ausführung von Phase 2c) und d) für Eingang e = 2.The execution differs from the already described execution for e = 0 only in that now in the intermediate view i = 1 is rasterized. The intermediate image buffers now contain the complete stereoscopic signal of the workstation, but not yet the picture-in-picture portion of the notebook. This is followed by the execution of phase 2c) and d) for input e = 2.
c) e = 2c) e = 2
Da v2 = 2 gilt, gibt es die beiden Eingabe-Ansichten 0 und 1. Zunächst wird daher die Ansicht j = 0 verarbeitet. Aus der Konfiguration (Phase 1a) kann Eingabe-Ansicht 0 die Intermediate-Ansicht i = 0 zugeordnet werden. Diese ist in der Liste L enthalten, also wird die Rasterisierung durchgeführt: Für jedes Pixel pi, des Intermediate-Bildpuffers für Ansicht i, das im Rechteck von Eingang 0 im normierten Intermediate-Koordinatensystem liegt, wird Phase 2d) ausgeführt.Since v 2 = 2, there are two input views, 0 and 1. Therefore, the view j = 0 is processed first. From the configuration (phase 1a)
d) e = 2, j = 0, i = 0, Pixel pi d) e = 2, j = 0, i = 0, pixel p i
Das Rechteck (0.5, 0.75), (1.0, 0.75), (1.0, 1.0), (0.5, 1.0) wird auf die normierten Eingangskoordinaten (0, 0), (1, 0), (1, 1), (1, 0). Diese Abbildung lässt sich durch eine horizontale Skalierung um den Faktor 2 und eine vertikale Skalierung um den Faktor 4 sowie eine anschließende Verschiebung um (–1, –3) realisieren.The rectangle (0.5, 0.75), (1.0, 0.75), (1.0, 1.0), (0.5, 1.0) is applied to the normalized input coordinates (0, 0), (1, 0), (1, 1), (1 , 0). This figure can be realized by a factor of 2 by a horizontal scaling and by a factor of 4 by a vertical scaling and a subsequent shift by (-1, -3).
Hier wird beispielhaft die Vorgehensweise für das Pixel pi mit den normierten Intermediate-Koordinaten (0.75, 0.875) (Mitte des Rechtecks) gewählt. Es ergibt sich C = (0.5, 0.5). D2 = ilh, also müssen die decode-Funktionen des zeilenweisen Interlace-Bildformats angewandt werden:
Der besseren Nachvollziehbarkeit halber werden hier die den normalisierten Koordinaten x entsprechenden Pixelkoordinaten x' angegeben:
x'1 = (511, 382), x'2 = (512, 382), x'3 = (511, 384), x'4 = (512, 384).For better traceability, the pixel coordinates x 'corresponding to the normalized coordinates x are indicated here:
x ' 1 = (511, 382), x' 2 = (512, 382), x ' 3 = (511, 384), x' 4 = (512, 384).
Auf Grund der Eingabe-Ansicht j = 0 wurden nur Pixel in Zeilen mit geraden Nummern ausgewählt. Die Funktion decode1ilh liefert also die bilineare Interpolation der Farbwerte dieser Pixel mit den Interpolationsfaktoren f = (0.5, 0.75), und decode2ilh modifiziert den Farbwert nicht.Due to the input view j = 0, only pixels in even-numbered rows were selected. The function decode1 ilh thus provides the bilinear interpolation of the color values of these pixels with the interpolation factors f = (0.5, 0.75), and decode2 ilh does not modify the color value.
Die Phase 2d) wird für jedes weitere Pixel des Rechtecks im Intermediate-Bildpuffer durchgeführt. Durch die Dekodierungsfunktion werden nur die geradzahligen Zeilen des Eingabepuffers von Eingang 2 gesampelt. Da der Eingabe-Ansicht keine weiteren Intermediate-Ansichten mehr zugeordnet sind, wird Phase 2c) mit der Eingabe-Ansicht j = 1 für Eingang 2 fortgesetzt.Phase 2d) is performed for each additional pixel of the rectangle in the intermediate frame buffer. The decoding function only samples the even-numbered lines of
c) e = 2 (Fortsetzung)c) e = 2 (continued)
Der Eingabe-Ansicht j = 1 ist die Intermediate-Ansicht i = 1 zugeordnet, welche ebenfalls in L enthalten ist. Es wird somit das Rechteck in die Ansicht i rasterisiert und pro Pixel wieder Phase 2d) ausgeführt.The input view j = 1 is assigned the intermediate view i = 1, which is also contained in L. Thus, the rectangle is rasterized into the view i, and phase 2d) is executed again per pixel.
d) e = 2, j = 1, i = 1, Pixel pi d) e = 2, j = 1, i = 1, pixel p i
Auf Grund des geänderten Parameters j unterscheiden sich die Ergebnisse vom Durchlauf der Phase 2d) in der vorherigen Ansicht. Für das Beispielpixel pi an den Koordinaten C = (0.5, 0.5) gilt nun:
Auf Grund der Eingabe-Ansicht j = 1 wurden nur Pixel in Zeilen mit ungeraden Nummern ausgewählt. Die Funktion decode1ilh liefert also die bilineare Interpolation der Farbwerte dieser Pixel mit den Interpolationsfaktoren f = (0.5, 0.25), und decode2ilh modifiziert den Farbwert nicht. Due to the input view j = 1, only pixels in odd-numbered lines were selected. The function decode1 ilh thus provides the bilinear interpolation of the color values of these pixels with the interpolation factors f = (0.5, 0.25), and decode2 ilh does not modify the color value.
Die Phase 2d) wird für jedes weitere Pixel des Rechtecks im Intermediate-Bildpuffer durchgeführt. Durch die Dekodierungsfunktion werden nur die ungeraden Zeilen des Eingabepuffers von Eingang 2 gesampelt. Da der Eingabe-Ansicht keine weiteren Intermediate-Ansichten mehr zugeordnet sind, und alle v2 = 2 Eingabe-Ansichten abgearbeitet wurden, ist die Ausführung für Eingang e = 2 abgeschlossen.Phase 2d) is performed for each additional pixel of the rectangle in the intermediate frame buffer. The decoding function only samples the odd lines of
Die Intermediate-Bildpuffer jeder Ansicht enthalten nun das auf Puffergröße skalierte Eingangsbild der Eingänge 0 und 1 sowie als Bild-in-Bild in der rechten oberen Ecke das Eingabe-Bild von Eingang 2, wobei in Intermediate-Ansicht 0 nur Pixel mit gerader Zeilennummer und in Intermediate-Ansicht 1 nur Pixel mit ungerader Zeilennummer des Eingangs 2 verarbeitet wurden, d. h. das Stereosignal wurde dekodiert. Für die Illustration des Verfahrens spielt es dabei keine Rolle, dass der Eingabe-Bildpuffer von Eingang 2 zu diesem Zeitpunkt noch die Initialwerte enthält, da noch kein Eingabebild an diesem Eingang anlag. Es ist offensichtlich, dass das soeben beschriebene Vorgehen zum gewünschten Resultat führt, wenn sichergestellt ist, dass der Eingabepuffer die korrekten Bildinformationen enthält. Da Eingang 2 eine eigene Synchronisationsgruppe bildet, führt das in Verfahren in Phase 2a) und 2b) dazu, dass mit Verfügbarkeit neuer Bilddaten an Eingang 2 auch der zugehörige Eingabe-Bildpuffer aktualisiert wird und in den Phase 2c) und 2d) auch die tatsächlichen Bildinhalte weiterverarbeitet werden.The intermediate image buffers of each view now contain the input image of
Da es keine weiteren Eingänge mehr gibt, wird nun Phase 3) durchgeführt.Since there are no more inputs, phase 3) is now performed.
Phase 3)Phase 3)
a)a)
Die Phase 3a) beschreibt die Iteration über alle A Ausgänge. Es sei daher zunächst a = 0. Für jedes Pixel pa des Ausgabe-Bildpuffers von Ausgang a wird das in Phase 3b) beschriebene Verfahren durchgeführt.Phase 3a) describes the iteration over all A outputs. Therefore, let a = 0 initially. For each pixel p a of the output image buffer of output a, the method described in phase 3b) is carried out.
b) a = 0, pa b) a = 0, p a
Beispielhaft soll das Verfahren hier für ein Pixel nahe am linken unteren Rand mit den Koordinaten O = (10, 0) durchgeführt werden. Da Ga = cb in der Konfiguration gewählt wurde, werden nun die encodecb-Funktionen zur Ausgabe-Kodierung verwendet. Dieses Format definiert die Geräte-Pixelkoordinaten identisch zu den Ausgabe-Pixelkoordinaten, d. h.: T = encode1cb(O, 0) = (10, 0).By way of example, the method is to be carried out here for a pixel close to the lower left margin with the coordinates O = (10, 0). Since G a = cb was chosen in the configuration, the encode cb functions are now used for output encoding. This format defines the device pixel coordinates as identical to the output pixel coordinates, ie: T = encode1 cb (0, 0) = (10, 0).
Nun werden diese Gerätekoordinaten in das Intermediate-Koordinatensystem abgebildet. Diese Abbildung liefert das Kalibrierverfahren. Beispielhaft liefere das Kalibrierverfahren U = warpa(T, βa) = (0.01, 0.42), d. h. die linke untere Ecke von Projektor 0 liegt etwas unterhalb der Mitte am linken Rand der Bildfläche. Weiterhin wird angenommen, dass das Kalibrierverfahren Soft-Edge-Blending über einen positionsabhängigen Blendfaktor realisiert wird. Der Parametervektor α enthalte diesen Blendfaktor. Da beim Soft-Edge-Blending ein weicher Übergang realisiert werden soll, und sich das aktuelle Ausgabepixel am Rand des Projektors im Überlappungsbereich befindet, wird hier α = parama(T, βa) = 0.01 angenommen.Now these device coordinates are mapped into the intermediate coordinate system. This figure provides the calibration procedure. By way of example, the calibration method U = warp a (T, β a ) = (0.01, 0.42), ie the lower left corner of
Zunächst werden alle Intermediate-Ansichten bestimmt, die in diesem Ausgabepixel kodiert werden müssen. K = encode2cb(O, 0) = {0}. Mit Hilfe der Liste W0 kann nun für jede Ausgabe-Ansicht j die Intermediate-Ansicht zugeordnet werden.First, all intermediate views are determined that must be encoded in this output pixel. K = encode2 cb (O, 0) = {0}. Using list W 0 , the intermediate view can now be assigned to each output view j.
Bei der Checkerboard-Kodierung wird pro Pixel jeweils eine Ansicht kodiert, für das Ausgabe-Pixel an O = (10, 0) gilt j = 0 und gemäß W0 auch i = 0. Es wird der Intermediate-Bildpuffer für Ansicht i = 0 an den Koordinaten U = (0.01, 0.42) mit bilinearem Filter gesampelt. Der resultierende RGB-Farbvektor wird als Z0 gespeichert. Da nun alle Ansichten verarbeitet wurden, folgt die Durchführung von Phase 3c)In checkerboard coding, one view is coded per pixel, for the output pixel at O = (10, 0), j = 0 and, according to W 0, also i = 0. The intermediate image buffer for view i = 0 at the coordinates U = (0.01, 0.42) sampled with bilinear filter. The resulting RGB color vector is stored as Z 0 . Since all views have been processed, the execution of phase 3c follows)
c) a = 0, pa für O = (10, 0) und K = {0}c) a = 0, p a for O = (10, 0) and K = {0}
Der Farbwert Z ergibt sich aus encode3cb(O, 0, Z0) = Z0, d. h. der Farbwert wird unverändert übernommen. Schließlich folgt die Anpassung des Farbwerts durch das Kalibrierverfahren, welches in diesem Schritt die Angleichung von Helligkeiten, das Blending sowie die farbraumspezifischen Umrechnungen anhand der zuvor ermittelten Kalibrierparameter vornimmt: Z' = colora(Z, α, βa). Z' ist damit der Farbwert, der an den Projektor a geschickt werden muss, damit auf der Projektionsfläche der gewünschte Farbwert Z bzw. in Überlappungsbereichen der Anteil des Projektors a am gewünschten Farbwert Z entsteht. Daher wird das Ausgabe-Pixel pa auf den Farbwert Z' gesetzt.The color value Z results from encode3cb (O, 0, Z 0 ) = Z 0 , ie the color value is adopted unchanged. Finally, the color value is adapted by the calibration method, which in this step performs the adjustment of brightness, blending and the color space-specific conversions on the basis of the previously determined calibration parameters: Z '= color a (Z, α, β a ). Z 'is thus the color value that has to be sent to the projector a so that the desired color value Z or, in overlapping areas, the proportion of the projector a at the desired color value Z is produced on the projection surface. Therefore, the output pixel p a is set to the color value Z '.
Pixel pa ist aktualisiert und in Phase 3b) wird zum nächsten Pixel übergegangen. An den Koordinaten O = (11, 0) gilt encode2cb(O, 0) = {1}, daher wird hier der Intermediate-Bildpuffer für Ansicht i = 1, der der Ausgabe-Ansicht j = 1 zugeordnet ist, gesampelt.Pixel p a is updated and in step 3b) the next pixel is transitioned. At the coordinates O = (11, 0) encode2 cb (O, 0) = {1}, so here the intermediate image buffer for view i = 1, which is assigned to the output view j = 1, is sampled.
Nach Iteration über alle Pixel des Ausgabe-Bildpuffers des Ausgangs a = 0 ist die gewünschte schachbrettartige Kodierung der Intermediate-Ansichten entstanden.After iterating over all pixels of the output image buffer of the output a = 0, the desired checkerboard coding of the intermediate views has been created.
Das Verfahren wird also in Phase 3a) mit dem nächsten Ausgang a = 1 fortgeführt. Dabei unterscheidet sich dieser Ablauf nur dadurch vom Ausgang 0, dass die Kalibrierfunktionen andere Parameter liefern und somit der für den jeweiligen Projektor passende Bildausschnitt erzeugt wird. Auf weitere Erläuterungen für die Ausgänge 1 bis 3 wird daher hier verzichtet.The process is therefore continued in phase 3a) with the next output a = 1. In this case, this process differs from
Mit Abschluss der Phase 3 stellen alle Projektoren die stereoskopischen Bildinhalte dar. Das Verfahren beginnt erneut mit Phase 2a), so dass neue Bilddaten fortlaufend verarbeitet werden.
Literaturverzeichnisbibliography
- [1] R. Y. Yang, D. Gotz, J. Hensley, H. Towles und M. S. Brown, „PixelFlex: a reconfigurable multi-projector display system,” in Proceedings of the conference on Visualization '01, San Diego, California, 2001.[1] R. Y. Yang, D. Gotz, J. Hensley, H. Towles, and M.S. Brown, "PixelFlex: a reconfigurable multi-projector display system," in Proceedings of the Conference on Visualization, 01, San Diego, California, 2001.
- [2] H. Chen, S. Rahul, G. Wallace und K. Li, „Scalable alignment of large-format multi-projector displays using camera homography trees.,” in Proceedings of the conference on Visualization '02 (VIS '02)., Washington, DC, USA, 2002.[2] H. Chen, S. Rahul, G. Wallace, and K. Li, "Scalable alignment of large-format multi-projector displays using camera homography trees." In Proceedings of the conference on Visualization '02 (VIS '02 ), Washington, DC, USA, 2002.
- [3] A. Majumder und R. Stevens, „Color nonuniformity in projection-based displays: analysis and solutions,” in IEEE Transactions on Visualization and Computer Graphics, 2004.[3] A. Majumder and R. Stevens, "Color nonuniformity in projection-based displays: analysis and solutions," in IEEE Transactions on Visualization and Computer Graphics, 2004.
- [4] R. Raskar, M. S. Brown, R. Yang, W.-C. Chen, G. Welch, H. Towles, B. Seales und H. Fuchs, „Multi-projector displays using camera-based registration,” in Proceedings of the conference on Visualization '99: celebrating ten years (VIS '99), Los Alamitos, CA, USA, 1999.[4] R. Raskar, M.S. Brown, R. Yang, W.-C. Chen, G. Welch, H. Towles, B. Seales and H. Fuchs, "Multi-projector displays using camera-based registration," in Proceedings of the conference on Visualization '99: celebrating ten years (VIS '99), lot Alamitos, CA, USA, 1999.
-
[5] C. O. Jaynes und S. B. Webb, „Multi-Projector Intensity Blending System”. Patent
US2007188719 US2007188719 -
[6] A. W. Divelbiss und W. V. Tserkovnyuk, „General Purpose Stereoscopic 3D Format Conversion System and Mehod”. US Patent
US20040218269 US20040218269 -
[7] M. J. Johnson, R. Chandrarasekhar und C.-J. Chef, „Super-Resolution Display”. Patent
US6456339 WO0007376 US6456339 WO0007376 -
[8] M. Schiewe und S. Klose, „Kalibrierungsverfahren und Kalibrierungssystem”. Patent
DE10 2006 002 602 US2009067749 WO2007082690 EP1972134 DE10 2006 002 602 US2009067749 WO2007082690 EP1972134 -
[9] R. J. Surati und K. T. F. Jr., „Method and Apparatus for Calibrating a Tiled Display”. Patent
EP1116386 WO0018139 DE69917470 US6525772 US6310650 EP1116386 WO0018139 DE69917470 US6525772 US6310650 -
[10] T. A. Barrett und B. Crosby, „Method and apparatus for providing for the display of video content”. Patent
WO2011084169 WO2011084169
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210002442 DE102012002442B3 (en) | 2012-02-06 | 2012-02-06 | Method for processing monoscopic, stereoscopic or multiview image signals for e.g. factory planning application, involves performing computation of geometric distortion and determination of color independent-calibration parameter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210002442 DE102012002442B3 (en) | 2012-02-06 | 2012-02-06 | Method for processing monoscopic, stereoscopic or multiview image signals for e.g. factory planning application, involves performing computation of geometric distortion and determination of color independent-calibration parameter |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102012002442B3 true DE102012002442B3 (en) | 2013-07-25 |
Family
ID=48742577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201210002442 Active DE102012002442B3 (en) | 2012-02-06 | 2012-02-06 | Method for processing monoscopic, stereoscopic or multiview image signals for e.g. factory planning application, involves performing computation of geometric distortion and determination of color independent-calibration parameter |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102012002442B3 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103760973A (en) * | 2013-12-18 | 2014-04-30 | 微软公司 | Reality-enhancing information detail |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040218269A1 (en) * | 2002-01-14 | 2004-11-04 | Divelbiss Adam W. | General purpose stereoscopic 3D format conversion system and method |
-
2012
- 2012-02-06 DE DE201210002442 patent/DE102012002442B3/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040218269A1 (en) * | 2002-01-14 | 2004-11-04 | Divelbiss Adam W. | General purpose stereoscopic 3D format conversion system and method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103760973A (en) * | 2013-12-18 | 2014-04-30 | 微软公司 | Reality-enhancing information detail |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69733233T2 (en) | Image processing for three-dimensional rendering of image data on the display of an image capture device | |
US7961196B2 (en) | Cost effective rendering for 3D displays | |
DE602004006657T2 (en) | Two-dimensional image compatible three-dimensional image display device | |
DE112005000686T5 (en) | Method and system for displaying an image in three dimensions | |
EP2800350A2 (en) | Assembly and method for recording and reproducing images of a scene and/or an object | |
DE10340089B4 (en) | Sweet-spot beam splitter for image separation | |
WO2011103865A2 (en) | Method and autostereoscopic display for producing three-dimensional images | |
DE102014211612A1 (en) | Method and device for generating, storing, transmitting, receiving and reproducing depth maps using the color components of an image that is part of a three-dimensional video stream | |
WO2015188948A1 (en) | Optical free-space transmission | |
WO2009082990A1 (en) | Method and device for real-time multi-view production | |
CN102790899A (en) | Crosstalk cancellation in 3d displays | |
EP0760145A1 (en) | Process for producing spatial-effect images | |
US10368048B2 (en) | Method for the representation of a three-dimensional scene on an auto-stereoscopic monitor | |
DE102017113227A1 (en) | DISPLAY DEVICE AND DISPLAY CONTROL METHOD FOR DISPLAYING IMAGES | |
WO2018025474A1 (en) | Information processing device, information processing method, and program | |
DE102012002442B3 (en) | Method for processing monoscopic, stereoscopic or multiview image signals for e.g. factory planning application, involves performing computation of geometric distortion and determination of color independent-calibration parameter | |
EP0089611A1 (en) | Method and device for producing a stereoscopic effect of the picture reproduced on the screen of a television receiver | |
DE112010005619T5 (en) | Three-dimensional imaging | |
DE102005036744B4 (en) | Method and device for autostereoscopic reproduction of 3D representations | |
DE602004001225T2 (en) | PROCESSING SIGNALS FOR A COLOR EQUENTIAL DISPLAY | |
WO2010022805A1 (en) | Display system | |
DE19843296A1 (en) | Device for generating three-dimensional images | |
WO2019029985A1 (en) | Method for operating an autostereoscopic display device, and autostereoscopic display device | |
EP2612502B1 (en) | Method for representing a plurality of image sequences | |
EP3907987B1 (en) | Method and device for projection of individual images for a plurality of viewers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20131026 |
|
R081 | Change of applicant/patentee |
Owner name: 3DLNSIGHT GMBH, DE Free format text: FORMER OWNER: 3DINSIGHT GMBH , 09126 CHEMNITZ, DE Effective date: 20130214 Owner name: 3DLNSIGHT GMBH, DE Free format text: FORMER OWNER: 3DINSIGHT GMBH, 09112 CHEMNITZ, DE Effective date: 20140213 Owner name: 3DINSIGHT GMBH, DE Free format text: FORMER OWNER: 3DINSIGHT GMBH, 09112 CHEMNITZ, DE Effective date: 20140213 Owner name: 3DINSIGHT GMBH, DE Free format text: FORMER OWNER: 3DINSIGHT GMBH , 09126 CHEMNITZ, DE Effective date: 20130214 Owner name: 3DINSIGHT GMBH, DE Free format text: FORMER OWNER: 3DINSIGHT GMBH, 09131 CHEMNITZ, DE Effective date: 20140213 |
|
R081 | Change of applicant/patentee |
Owner name: 3DLNSIGHT GMBH, DE Free format text: FORMER OWNER: 3DINSIGHT GMBH, 09112 CHEMNITZ, DE |