Abstract:
A method is disclosed herein that derives a post-alignment transform that is applied to the input source after the application of an alignment transform to ensure that when each source illuminates the screen, the display is aligned and retains the correct displayed aspect ratio. The transform takes into account the alignment transform and the input source aspect, and then performs a secondary, post-processing transformation that corrects the distortion induced by the alignment transform. This aspect-preserving function is a linear transform that maps pixels in the aligned space to the aligned and aspect-correct space and can be applied to the input signal after the first alignment transform, or, in the case where the alignment transform is also linear, transforms can be directly combined to derive a compound multi-projector, aspect preserving transform. In this way, the input signal to the projectors will be aligned as well as retain proper aspect.

Description:
RELATED APPLICATIONS 
       [0001]    This Application is claims the benefit of U.S. application Ser. No. 61/636,318 filed Apr. 20, 2012 and is incorporated by reference herein. 
     
    
     BACKGROUND AND STATEMENT OF THE PROBLEM 
       [0002]    Multi-projector display systems have become increasingly popular when large-scale, high resolution displays are required. Overlapping projectors to combine the resolution, brightness and size of several projectors into a single display is a well-known method for achieving these goals. Because each of the projectors will have its own geometric position, brightness, color response, and distortion, it is important that the image output by each projector is transformed into a common space to ensure that the individual images combine into a seamless image on the display surface. In order to achieve this, post-processing alignment step is applied to the video signal at each projector.  FIG. 1 , which is a diagram of an exemplary multiple projector system that can be aligned by the present method, depicts the situation wherein: 
         [0000]      Aspect ratio  A   3xL =( wS 1+ wS 2+ wS 3)/ h    
         [0000]        Iw=w 1+ w 2+ w 3=( a−G+G−H+H−f)    
         [0000]      Ih=h 
         [0003]    As shown in  FIG. 1 , input video sources Ik 103(1)-103(3) are input into an array of video projectors Pk 104 (three projectors P1-P3 are shown) that illuminate a respective surface 105(1)-105(3) whose resulting images Sk 107(1)-107(3) are distorted by the display surface shape, the configuration of the projectors and other factors. The aspect ratio of each input source is h/w and the total aspect ratio of the input image display is defined by each of the input aspect ratios and their configuration. This input size and aspect ratio is simply the combination of each input signal and how those signals are logically configured into an input array. For example, a computer that contains a graphics subsystem with three outputs may be configured into a in a 3×1 configuration as shown to support a wide computer desktop application. The resulting aspect, then, is the sum of the widths SI 1  (a-c in FIG.  1 )+SI 2 +SI 3 . 
         [0004]    The goal of multi-projector alignment is to re-map the input images so that when they reach the projector and illuminate the display, they create a seamless image on the screen surface. However, when the input images are geometrically distorted by the alignment process, the aspect ratio of the input source is not typically retained. The goal of alignment has been viewed as independent of both alignment and preserving input image aspect. A proper post-processing step is required to compute an alignment transform that remaps input pixels from each of the source images I 1 -I k  to an output image that will be aligned physically on the displays surface when the SI 1  . . . k images are combined but also preserves the input aspect ratio of the display system. 
         [0005]    This is a significant problem because the change in effective aspect ratio, in particular, for projector displays that are dynamically reconfigured or are constructed in an ad hoc manner can lead to significant changes in the display&#39;s effective aspect ratio. In  FIG. 1 , for example a 1×3 array of projectors yields an aspect ratio that is three times the input width by the height of the input. When the projectors are overlapped to create a 1×3 overlapped array of projected images with horizontal overlap only, pixels are effectively “lost” in the overlap zones and impact the display width significantly, while loss of pixels in the vertical direction may be less. This type of alignment transform does not reserve the input aspect of the image and can result in unwanted distortions. 
         [0006]    Take, for example, the case when a three-projector system is being driven by three WUXA input signals whose source resolution is 1920×1200 (w=1920, h=1200). If the input signals are configured to be a three-wide-one-high configuration (e.g., a wide screen desktop computer), the resulting aspect ratio is: 5760/1200 or 4.8. When these outputs are used to drive a multi-projector array that is overlapped and then calibrated, the data is remapped into a virtual window whose effective resolution is somewhat less than that of the input source. This new virtual display has a width and height that is determined both by the geometric transform that aligns the input images as well as other constraints including determination of the viewable area (i.e. specification of a rectangular region to which the input video must be mapped). This pixel loss is related to the degree to which the projectors are overlapped, skew on the screen of the projected image, and other factors. 
         [0007]    In the previous 1×3 example, there is no overlap between projected images a-G, G-H, and H-f. If it is now, in a second example, assumed that all the vertical 1200 pixels in each projector are retained projected to the screen surface but 10% of the pixels in the horizontal area between the projected displays are lost due to overlap of the adjacent images, then the result is a new aspect ratio of: (5760*0.9)/1200, or 4.32, as indicated by overlapping displays a-c, b-e, and d-f [compare this new aspect ratio with the previous value of 4.8]. Thus, in effect, the alignment transform induces a geometric distortion in all cases except where the lost pixels in the overlapping region exactly match in both the vertical and horizontal directions. However, this is almost never the case. There has been no previous solution that addresses the above problem with aligned projector displays. 
       SUMMARY 
       [0008]    A method is disclosed that derives a post-alignment transform which is applied to the input source after the application of an alignment transform to ensure that when each source of a multiple-display system illuminates the screen, the display is aligned and retains the correct displayed aspect ratio. The post-alignment transform takes into account the alignment transform and the input source aspect, and then performs a secondary, post-processing transformation that corrects the distortion induced by the alignment transform. This aspect-preserving function is a linear transform that maps pixels in the aligned space to the aligned and aspect-correct space and which can be applied to the input signal after the first alignment transform, or, in the case where the alignment transform is also linear, transforms can be directly combined to derive a compound multi-projector, aspect preserving transform. In this way, the input signal to the projectors will be aligned as well as retain proper aspect. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  is a diagram of an exemplary multiple projector system; 
           [0010]      FIG. 2  is an exemplary diagram of one embodiment of the present system; 
           [0011]      FIG. 3  shows an exemplary processing pipeline in one embodiment of the present system; 
           [0012]      FIG. 4  is depicts an exemplary method for determining Sh and Sw values in one embodiment of the present method; and 
           [0013]      FIG. 5  is a flowchart showing an exemplary set of steps performed in one embodiment of the present method. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]      FIG. 2  is a diagram of one exemplary embodiment  200  of the present system, and  FIG. 3  shows an exemplary processing pipeline  300  in one embodiment of the present system. Although  FIGS. 1 and 2 , and subsequent examples herein address a three-projector system, it should be understood that the present system and method is operable with any practicable number and arrangement of projectors Pn [reference no.  104 ]. 
         [0015]    As shown in  FIGS. 1-3 , initially, at step  310 , each of the constituent input images I 1 , I 2 , I 3 , is first passed through an alignment transform T(al)n that aligns those images onto respective parts of display surface  105 ( 1 - 3 ). The total displayable width and height, including the overlapped area, of those constituent images Sh(I) and Sw(I) is then determined. These values can be determined through a user feedback mechanism, or automatically derived using the information contained in the alignment transform data. For example, a user may interactively specify a rectangular region on the aligned display into which they want to map the resulting data. This rectangle&#39;s width and height can then be measured and used to derive a screen surface aspect ratio that is provided to the system. 
         [0016]    Alternatively, as described further below, the largest enclosing rectangle (bounding region) contained in the aligned display surface can be derived. The relative width and height of this rectangle can be derived through well-known projective geometry methods and an estimated screen surface aspect ratio is computed. A hardware arrangement  200  such as that shown in  FIG. 2  can be used to measure displayed screen shapes and to measure values for display heights and widths Sh and Sw. Measurements may be made using a control computer  101  including camera  106  coupled to a measurement module  102 . Control of projectors  104  is provided by control module  109 , which includes the computer software required for executing the various transforms and related operations described herein. 
         [0017]    As previously noted, the input aspect ratio IA=(Iw/Ih) will not normally be the same as the screen surface aspect SA=(Sw/Sh). Therefore, a transformation is computed that maps image content to a final display mapping whose aspect matches that of the input aspect (to avoid image distortions) and which, after a correction factor C is applied, has a corrected width and height of Cw, Ch, respectively. This linear transform T is typically a 2D scale transform in both the X/Y directions as well as a 2D translation and is applied in sequence with the input distortion so that the content is aligned and so that IA=CA. 
         [0018]    Below is an example for a single projector (P 1  in  FIG. 1 ) with sample data shown in brackets: 
         [0000]    
       
         
           
             SA 
             = 
             
               
                 Sw 
                 Sh 
               
                
               
                 
                   
                     
                       [ 
                       3.0 
                       ] 
                     
                   
                 
                 
                   
                     
                       [ 
                       2.0 
                       ] 
                     
                   
                 
               
                
               
                 
                   
                     
                       ( 
                       
                         
                           in 
                            
                           
                               
                           
                            
                           
                             FIG 
                             . 
                             
                                 
                             
                              
                             1 
                           
                         
                         , 
                         
                           
                             Sw 
                              
                             
                               ( 
                               
                                 I 
                                  
                                 
                                     
                                 
                                  
                                 1 
                               
                               ) 
                             
                           
                           = 
                           
                             a 
                              
                             
                               - 
                             
                              
                             c 
                           
                         
                       
                       ) 
                     
                   
                 
                 
                   
                     
                         
                     
                   
                 
               
             
           
         
       
       
         
           
             IA 
             = 
             
               
                 Iw 
                 Ih 
               
                
               
                 
                   
                     
                       [ 
                       4.0 
                       ] 
                     
                   
                 
                 
                   
                     
                       [ 
                       2.0 
                       ] 
                     
                   
                 
               
             
           
         
       
       
         
           
             C 
             = 
             
               
                 
                   
                     Sw 
                     / 
                   
                   
                     Sh 
                     / 
                   
                 
                  
                 
                   Iw 
                   Ih 
                 
               
               = 
               
                 
                   
                     
                       [ 
                       3.0 
                       ] 
                     
                      
                     
                       
                         / 
                       
                        
                       
                         [ 
                         4.0 
                         ] 
                       
                     
                   
                   
                     2.0 
                      
                     
                       / 
                     
                      
                     2.0 
                   
                 
                 = 
                 
                   
                     0.75 
                     1 
                   
                    
                   
                     
                       
                         
                           = 
                           
                             horizontal 
                              
                             
                                 
                             
                              
                             correction 
                           
                         
                       
                     
                     
                       
                         
                           = 
                           
                             vertical 
                              
                             
                                 
                             
                              
                             correction 
                           
                         
                       
                     
                   
                 
               
             
           
         
       
       
         
           
             
               IA 
               = 
               CA 
             
             , 
             
               
                 where 
                  
                 
                     
                 
                  
                 Cw 
               
               = 
               
                 0.75 
                  
                 
                     
                 
                  
                 w 
               
             
             , 
             
               
                 and 
                  
                 
                     
                 
                  
                 Ch 
               
               = 
               
                 1 
                  
                 
                     
                 
                  
                 h 
               
             
           
         
       
     
         [0019]    This correcting aspect ratio, CA, is then used to derive a target transform T that maps the transformed images to a new image space that contains that aspect ratio of the input space. For example, a 2D scale transform can map the 2D transformed images to a scaled space in which the sum of each of the transformed images results in a new output image that is aspect correct. 
         [0020]      FIG. 3  shows an exemplary processing pipeline  300  in one embodiment of the present system. Initially, an alignment transform Tal is computed at step  305 , and at step  310 , applied to each input image In, which is displayed at step  315 , to generate the resulting aligned display  320  with width Sw and height Sh. Display  320  is then analyzed at step  325  to determine an aspect-preserving transform Tas  330 , that is applied to the input image data at step  335  to generate an aspect-corrected display  340 . 
         [0021]    It may be difficult to estimate the resulting aspect ratio of the displayed image. If the projectors are illuminating a curved surface, overlap in partial and complex ways, and are protectively distorted-it may be unclear what the screen surface aspect may be. Two methods are disclosed herein, which respectively address this problem by means of: 
         [0022]    1) user-supplied target values Sh and Sw, or 
         [0023]    2) an automatically derived Sh and Sw that is computed from the alignment transforms Tal and Tas themselves. 
         [0024]      FIG. 4  depicts an exemplary method  400  for determining real-world Sh and Sw values by analyzing the aligned display surface alone.  FIG. 5  is a flowchart showing an exemplary set of steps performed in one embodiment of the present method. Operation of the present system is best understood by viewing  FIGS. 4 and 5  in conjunction with one another. 
         [0025]    As shown in  FIGS. 4 and 5 , at step  501 , multiple video inputs I 1 -In are configured into a logical array, such as the 3×1 array shown in  FIG. 1 . At step  503 , the input aspect ratio, IA=Iw/Ih, of the array is computed from the aspect ratios of the input sources Ik and their configuration. At step  505 , an alignment transform T(al)k is calculated that maps input video signals into a seamless continuous image on display surface  405 , as is known in the art. Optionally, a set of transforms may be derived that map the display surface pixels to pixels as captured by camera  106 . 
         [0026]    In the case when a user is supplying the Sh and Sw values, a user can provide values that reflect the physically visible area or an aspect ratio that was measured on the screen. A user-interface module reads these values and then uses them to derive the aspect ratio preserving transform. 
         [0027]    In the case where Sh and Sw values are automatically derived by the present method, a bounding region  417  is fit to the measured alignment mappings, Tk. Each of the warped images, Tk(Ik) [T being the alignment transform that maps each projector to an aligned screen space that did not necessarily preserve aspect] are added together to form a resulting addressable space of 2D values. This space defines the extents of the display and may take almost any arbitrary shape, such as for example, where the projectors are illuminating a curved display surface. 
         [0000]      FIG. 4  shows how the input images of a system may be mapped to a 2D display region that is distorted. As shown in  FIGS. 4 and 5 , at step  510 , an input image array  405  with its own aspect ratio wi/hi is transformed into a differently shaped display region  410  after the above alignment transforms have been applied, and at step  520 , the combined transformed images are displayed: 
         [0000]        Tk×Iw ( k )/ Ih ( k )= Sw/Sh.    
         [0028]    At step  525 , this new shape is the set of pixels that can be addressed after fitting a polygonal bounding region  417  to the display  410  in which a new display frame is defined, as shown by arrow  415 . However, this display frame is potentially still perspectively distorted based on how the alignment transform was computed and applied. For example, in the case when a camera was used to align the projector array the position of the camera may include a perspective distortion to the bounding region  417 . This polygonal bounding region  417  is then transformed into a rectangle  420  to automatically derive values for Sh and Sw. One approach to deriving rectangle  420  from the observed polygonal projective geometry is described below. 
         [0029]    Because the alignment transform maps 2D input pixel locations to their position on the 3D display surface, there is a known relationship between the 2D camera and the display surface. There is a known pixel-wise relationship between each 3D line segment of the bounding polygon and the 2D image line. If we suppose that a 3D line L on the display surface is given as the set: 
         [0000]    
       
         
           
             L 
             = 
             
               { 
               
                 
                   
                     ( 
                     
                       
                         
                           x 
                         
                       
                       
                         
                           y 
                         
                       
                       
                         
                           z 
                         
                       
                     
                     ) 
                   
                   | 
                   
                     for 
                      
                     
                         
                     
                      
                     some 
                      
                     
                         
                     
                      
                     λ 
                   
                 
                 , 
                 
                   
                     ( 
                     
                       
                         
                           x 
                         
                       
                       
                         
                           y 
                         
                       
                       
                         
                           z 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           
                             
                               a 
                               1 
                             
                           
                         
                         
                           
                             
                               a 
                               2 
                             
                           
                         
                         
                           
                             
                               a 
                               3 
                             
                           
                         
                       
                       ) 
                     
                     + 
                     
                       λ 
                        
                       
                         [ 
                         
                           
                             
                               
                                 b 
                                 1 
                               
                             
                           
                           
                             
                               
                                 b 
                                 2 
                               
                             
                           
                           
                             
                               
                                 b 
                                 3 
                               
                             
                           
                         
                         ] 
                       
                     
                   
                 
               
               } 
             
           
         
       
     
         [0000]    and its corresponding 2D line is the perspective projection of L written as: 
         [0000]    
       
         
           
             M 
             = 
             
               { 
               
                 
                   
                     ( 
                     
                       
                         
                           u 
                         
                       
                       
                         
                           v 
                         
                       
                     
                     ) 
                   
                   | 
                   
                     for 
                      
                     
                         
                     
                      
                     some 
                      
                     
                         
                     
                      
                     η 
                   
                 
                 , 
                 
                   
                     ( 
                     
                       
                         
                           u 
                         
                       
                       
                         
                           v 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           
                             
                               c 
                               1 
                             
                           
                         
                         
                           
                             
                               c 
                               2 
                             
                           
                         
                       
                       ) 
                     
                     + 
                     
                       η 
                        
                       
                         [ 
                         
                           
                             
                               
                                 d 
                                 1 
                               
                             
                           
                           
                             
                               
                                 d 
                                 2 
                               
                             
                           
                         
                         ] 
                       
                     
                   
                 
               
               } 
             
           
         
       
     
         [0030]    If it is assumed that the camera lens is the origin of the coordinate system the well-known perspective transform relates the 3D line locations to 2D image positions as: 
         [0000]    
       
         
           
             u 
             = 
             
               f 
                
               
                 x 
                 z 
               
             
           
         
       
       
         
           
             v 
             = 
             
               f 
                
               
                 y 
                 z 
               
             
           
         
       
     
         [0000]    where f is the focal length of the camera that is calibrated to the display surface. 
         [0031]    Hence, for any given λ, η must satisfy: 
         [0000]    
       
         
           
             
               
                 c 
                 1 
               
               + 
               
                 η 
                  
                 
                     
                 
                  
                 
                   d 
                   1 
                 
               
             
             = 
             
               
                 f 
                  
                 
                   ( 
                   
                     
                       a 
                       1 
                     
                     + 
                     
                       λ 
                        
                       
                           
                       
                        
                       
                         b 
                         1 
                       
                     
                   
                   ) 
                 
               
               
                 ( 
                 
                   
                     a 
                     3 
                   
                   + 
                   
                     λ 
                      
                     
                         
                     
                      
                     
                       b 
                       3 
                     
                   
                 
                 ) 
               
             
           
         
       
       
         
           
             
               
                 c 
                 2 
               
               + 
               
                 η 
                  
                 
                     
                 
                  
                 
                   d 
                   2 
                 
               
             
             = 
             
               
                 f 
                  
                 
                   ( 
                   
                     
                       a 
                       2 
                     
                     + 
                     
                       λ 
                        
                       
                           
                       
                        
                       
                         b 
                         2 
                       
                     
                   
                   ) 
                 
               
               
                 ( 
                 
                   
                     a 
                     3 
                   
                   + 
                   
                     λ 
                      
                     
                         
                     
                      
                     
                       b 
                       3 
                     
                   
                 
                 ) 
               
             
           
         
       
     
         [0032]    Given these constraints, it is possible to derive two equations that relate parameters d 1 , d 2 , c 1 , and c 2  of the perspectively transformed line on the camera plane with the unknown parameters a 1 , a 2 , a 3 , b 1 , b 2 , and b 3  that describe the 3D line segment as follows: 
         [0000]        d   2   fa   1   −d   1   fa   2 +( c   2   d   1   −c   1   d   2 ) a   3 =0 
         [0000]        d   2   fb   1   −d   1   fb   2 +( c   2   d   1   −c   1   d   2 ) b   3 =0 
         [0033]    This yields two constraints on the unknown six parameters of the 3D line segment. However, an additional constraint is implied by the parameterization of the line segment 
         [0000]        b   1   2   +b   2   2   +b   3   2 =1 
         [0034]    Finally, an additional constraint that makes the 3D point a 1 , a 2 , a 3  (through which the line passes) unique is possible by requiring that the vector from the origin to it is perpendicular. In this case: 
         [0000]        a   1   b   1   +a   2   b   2   +a   3   b   3 =1 
         [0035]    The above-described process yields four of the six constraints that are required to determine the 3D line segment from its perspective projection. Finally, we assume that the 3D line segments in question represent a rectangle in the 3D display surface space. This means that the 3D line segments are perpendicular. In fact, one edge segment of the rectangle will be perpendicular to the other two lines that it intersects. In this case, the two lines that it intersects have the same direction cosines and it is possible to derive an additional two constraints that relate the 2D line segments in the camera space to that of the screen space. These 3D line segments are used to compute Sh and Sw values that yield the screen aspect ratio prior to it being corrected. As previously described, a correcting transform is then computed that reconciles the difference between screen aspect and the input aspect. 
         [0036]    There is no unique solution to computing the aspect preserving transform. A variety of 2D transforms will map the transformed images into an output space whose aspect is correct (i.e., any scale multiple of the correct aspect ratio). For example, any integer scale multiple of a correct aspect ratio will yield the same aspect ratio but may be undesirable to the user. Imagine a case where the derived aspect is 2/1. The same aspect ratio can be derived through a 2D transform that also induces an integer scale factor of 4, 4*(2/1)=8/4=2/1. However, this 2D transform will result in an image that is 4 times larger. 
         [0037]    Therefore, external constraints must be used to determine a single transform that preserves aspect. Example constraints are largest viewable area or the minimum distortion of the video content from the input source. In practice a user can select between these constraints to yield different mappings that still preserve aspect. Example choices include “Stretch”—ignore source aspect ratio and the aspect preserving transform becomes identity, “Fit”—when all pixels in the largest dimension of the bounding region are used but the resulting image aspect is preserved and “Fill”—where the smallest axis of the bounding region is filled, aspect is preserved but in order to do so the input content may be outside the viewable bounding region. 
         [0038]    At step  530 , the display surface aspect ratio of the viewable rectangular region, e.g.,  105 ( 1 )+ 105 ( 2 )+ 105 ( 3 ), is computed. At step  535 , an aspect preserving transform T(as)(In) is computed using (Iw/Ih) and (Sw/Sh), and the transform is applied to input images Ik to generate aligned image  420  having a properly preserved aspect ratio. 
         [0039]    Certain changes may be made in the above methods and systems without departing from the scope of that which is described herein. It is to be noted that all matter contained in the above description or shown in the accompanying drawings is to be interpreted as illustrative and not in a limiting sense. The elements and steps shown in the present drawings may be modified in accordance with the methods described herein, and the steps shown therein may be sequenced in other configurations without departing from the spirit of the system thus described.