Abstract:
A system and method for transmitting a clear image of a whiteboard work surface for remote collaboration. The image is separated into two portions; the projected image of the work surface, and the writing physically added to the whiteboard by participants. This separation allows several benefits. The bandwidth requirements are much lower than video teleconferencing, and the benefits of whiteboard sharing are improved. The visual echo created on a physical whiteboard can be canceled.

Description:
BACKGROUND  
       [0001]     1. Technical Field  
         [0002]     The invention is related to a system that incorporates a whiteboard into a projector-camera system. More particularly, this invention is related to a system and method for transmitting a clear image of a whiteboard work surface for remote collaboration by employing a visual echo cancellation technique.  
         [0003]     2. Related Art  
         [0004]     During the past few years one has witnessed the transformation of video cameras and projectors from expensive lab equipments to affordable consumer products. This has triggered the creation of many human-computer interaction systems that incorporate both the large-scale display provided by the projector and intelligent feedback from one or more cameras. On the other hand, the whiteboard is still an indispensable part of many meetings (including lecturing, presentations and brainstorming), because it provides a large shared space for meeting participants to focus their attention and express and exchange their ideas spontaneously.  
         [0005]     Previous works have integrated whiteboards within a projector-camera system. However, these previous works mostly focused on group collaboration at the same physical location. The use of a whiteboard where there are remote participants, on the other hand, poses a variety of problems. For example, remote meeting participants cannot contribute to the content written on a whiteboard because they are not physically in the same place as the whiteboard. Additionally, sending images of the whiteboard to remote participants via a network use a great amount of network bandwidth and is often quite slow.  
         [0006]     Therefore, what is needed is a system and method for capturing and transmitting the contents of writing on a whiteboard that can be transferred to remote meeting participants via a network in a legible manner without requiring a large bandwidth. The system should also allow remote participants to contribute to the whiteboard content and allow for the whiteboard content to be archived for viewing at a later date.  
       SUMMARY  
       [0007]     The system and method of the present invention integrates a whiteboard into a projector-camera system by using the whiteboard both as a writing surface and a projecting surface. The invention captures an image sequence or video of the whiteboard with a camera and separates the writing on the whiteboard from the contents projected on it.  
         [0008]     By adding the extracted writings digitally on the original computer presentation for display at remote sites, remote attendees can have a better viewing experience than just viewing the transmitted display content where the writing on the whiteboard is not available. They also have a better viewing experience than just viewing the raw whiteboard video in which the quality of the original display content is poor. Furthermore, if remote attendees send an annotation to the local meeting room, the annotation will be projected, but it will not be sent back to the remote site. By analogy with echo cancellation in audio conferencing, this is called visual echo cancellation. Visual echo, by strict definition, is the appearance of the projected annotation (from remote attendees) viewed by the camera. However, since the computer presentation is sent to remote attendees for better viewing quality, one must also consider the appearance of the projected presentation as visual echo. Visual echo cancellation is then solved if one can extract only the physical writings from the video or sequence of images of the items projected on the whiteboard. For this, one needs an accurate prediction of the appearance of the computer-projected content viewed by the camera. This, in turn, requires two basic components: geometric calibration and color calibration. Geometric calibration concerns the mapping between the position in the camera view and the position in the projector screen, namely the whiteboard in this case. Color calibration concerns the mapping between the actual color of the projected content and that seen by the camera.  
         [0009]     A typical process by which the system and method according to the invention can be employed is as follows. Initially, geometric calibration data and color calibration data are obtained. Images or video of the whiteboard having projected items thereon, such as for example, a projected presentation or annotations made by remote participants, as well as writings written on the physical whiteboard are captured. Then, the visual echo for a given captured image is computed. Visual echo cancellation is then used to isolate the writings written on the whiteboard from the projected content (e.g., the remote participant&#39;s annotations and the electronic presentation). The writings may be sent to the remote participants to be displayed at a remote display in conjunction with the transmitted presentation and the annotations made by the remote participants. Similarly, the writings may be archived for future viewing.  
         [0010]     Several immediate advantages of the system and method according to the invention are that computer presentations and whiteboard discussions are seamlessly integrated into one session. Meeting attendees are not distracted by switching their attention from a projector screen to the whiteboard, and vice versa. Furthermore, such a system enables local and remote attendees to collaborate with each other on a single mutually shared workspace. Local attendees have a much more natural writing surface than if a commercial large display product, such as an electronic whiteboard, is used. Most importantly, the system can be easily deployed on top of current meeting environments. The system and method of the present invention is therefore much more economical than most large display products that require installing specialized and usually expensive equipments and accessories.  
         [0011]     In addition to the just described benefits, other advantages of the present invention will become apparent from the detailed description which follows hereinafter when taken in conjunction with the accompanying drawing figures. 
     
    
     DESCRIPTION OF THE DRAWINGS  
       [0012]     The specific features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:  
         [0013]      FIG. 1  is a general system diagram depicting a general-purpose computing device constituting an exemplary system for implementing the present invention.  
         [0014]      FIG. 2  illustrates a projector-camera-whiteboard system according to the present invention.  
         [0015]      FIG. 3  illustrates an exemplary flow diagram for the general process of separating projected content and whiteboard writings according to the present invention.  
         [0016]      FIG. 4  illustrates a flow diagram for the geometric calibration process according to the present invention.  
         [0017]      FIG. 5  illustrates a flow diagram for the corner detection process employed by the system and method according to the present invention.  
         [0018]      FIG. 6  illustrates a flow diagram for the color calibration process employed by the system and method according to the present invention.  
         [0019]      FIG. 7  illustrates a flow diagram for estimating visual echoes employed by the system and method according to the present invention.  
         [0020]      FIG. 8  illustrates a flow diagram for canceling visual echoes employed by the system and method according to the present invention.  
         [0021]      FIG. 9  illustrates experimental results obtain by using the visual echo cancellation system and method according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0022]     In the following description of the preferred embodiments of the present invention, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.  
         [0000]     1.0 Exemplary Operating Environment:  
         [0023]      FIG. 1  illustrates an example of a suitable computing system environment  100  on which the invention may be implemented. The computing system environment  100  is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment  100  be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment  100 .  
         [0024]     The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held, laptop or mobile computer or communications devices such as cell phones and PDA&#39;s, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.  
         [0025]     The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices. With reference to  FIG. 1 , an exemplary system for implementing the invention includes a general-purpose computing device in the form of a computer  110 .  
         [0026]     Components of computer  110  may include, but are not limited to, a processing unit  120 , a system memory  130 , and a system bus  121  that couples various system components including the system memory to the processing unit  120 . The system bus  121  may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.  
         [0027]     Computer  110  typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer  110  and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer  110 . Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.  
         [0028]     The system memory  130  includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM)  131  and random access memory (RAM)  132 . A basic input/output system  133  (BIOS), containing the basic routines that help to transfer information between elements within computer  110 , such as during start-up, is typically stored in ROM  131 . RAM  132  typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit  120 . By way of example, and not limitation,  FIG. 1  illustrates operating system  134 , application programs  135 , other program modules  136 , and program data  137 .  
         [0029]     The computer  110  may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,  FIG. 1  illustrates a hard disk drive  141  that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive  151  that reads from or writes to a removable, nonvolatile magnetic disk  152 , and an optical disk drive  155  that reads from or writes to a removable, nonvolatile optical disk  156  such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive  141  is typically connected to the system bus  121  through a non-removable memory interface such as interface  140 , and magnetic disk drive  151  and optical disk drive  155  are typically connected to the system bus  121  by a removable memory interface, such as interface  150 .  
         [0030]     The drives and their associated computer storage media discussed above and illustrated in  FIG. 1 , provide storage of computer readable instructions, data structures, program modules and other data for the computer  110 . In  FIG. 1 , for example, hard disk drive  141  is illustrated as storing operating system  144 , application programs  145 , other program modules  146 , and program data  147 . Note that these components can either be the same as or different from operating system  134 , application programs  135 , other program modules  136 , and program data  137 . Operating system  144 , application programs  145 , other program modules  146 , and program data  147  are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer  110  through input devices such as a keyboard  162  and pointing device  161 , commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit  120  through a user input interface  160  that is coupled to the system bus  121 , but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor  191  or other type of display device is also connected to the system bus  121  via an interface, such as a video interface  190 . In addition to the monitor, computers may also include other peripheral output devices such as speakers  197  and printer  196 , which may be connected through an output peripheral interface  195 .  
         [0031]     Further, the computer  110  may also include, as an input device, a camera  192  (such as a digital/electronic still or video camera, or film/photographic scanner) capable of capturing a sequence of images  193 . Further, while just one camera  192  is depicted, multiple cameras could be included as input devices to the computer  110 . The use of multiple cameras provides the capability to capture multiple views of an image simultaneously or sequentially, to capture three-dimensional or depth images, or to capture panoramic images of a scene. The images  193  from the one or more cameras  192  are input into the computer  110  via an appropriate camera interface  194 . This interface is connected to the system bus  121 , thereby allowing the images  193  to be routed to and stored in the RAM  132 , or any of the other aforementioned data storage devices associated with the computer  110 . However, it is noted that image data can be input into the computer  110  from any of the aforementioned computer-readable media as well, without requiring the use of a camera  192 .  
         [0032]     The computer  110  may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer  180 . The remote computer  180  may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer  110 , although only a memory storage device  181  has been illustrated in  FIG. 1 . The logical connections depicted in  FIG. 1  include a local area network (LAN)  171  and a wide area network (WAN)  173 , but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.  
         [0033]     When used in a LAN networking environment, the computer  110  is connected to the LAN  171  through a network interface or adapter  170 . When used in a WAN networking environment, the computer  110  typically includes a modem  172  or other means for establishing communications over the WAN  173 , such as the Internet. The modem  172 , which may be internal or external, may be connected to the system bus  121  via the user input interface  160 , or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer  110 , or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,  FIG. 1  illustrates remote application programs  185  as residing on memory device  181 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.  
         [0034]     The exemplary operating environment having now been discussed, the remaining part of this description will be devoted to a discussion of the program modules and processes embodying the present invention.  
         [0000]     2.0 A System and Method for Visual Echo Cancellation in a Projector-Camera-Whiteboard System.  
         [0035]     The system and method of the invention integrates a whiteboard into a projector-camera system by using the whiteboard both as a writing surface and a projecting surface. The invention captures video or a sequence of images of a whiteboard and separates writing on the whiteboard from the projected image. It is very beneficial to be able to separate whiteboard writings from the projected contents for a variety of reasons. For example, it dramatically reduces the bandwidth requirement for teleconferencing, because both extracted writing and the computer-projected contents can be transmitted with very low bandwidth, compared to the original mixed video which is affected by shadows and lighting variations. Additionally, extracted writings are essential for archiving and browsing meetings offline. Writing on the whiteboard usually indicates an important event in a meeting. By feeding the results to an optical character recognition (OCR) system, the meeting archive can be more easily accessed and transferred into other forms.  
         [0000]     2.1 System Overview.  
         [0036]      FIG. 2  illustrates one embodiment of the projector-camera-whiteboard system  200  of the present invention. A local meeting room  202  is equipped with a projector  204 , a camera  206 , and a whiteboard  208 . The projector  204  and the camera  206  are preferably rigidly attached to each other, although theoretically they can be positioned anywhere as long as the projector projects on the whiteboard  208  and the camera sees the whole projection area (referred to as the projector space). The projector  204  and the camera  206  are linked (wirelessly or not) to a computer  210 , and the computer is connected to the communication network (e.g., intranet or internet)  212 . Remote attendees  214  also connect their computers to the communication network  212 . Data transmission between the computer in the meeting room and remote computers is preferably conducted through real-time transport protocol (RTP).  
         [0037]     An electronic presentation  216  is projected on the whiteboard  208  via a video mixer  218  and the projector  204  and is also sent to the remote participants  214  via the network  212  for display at the remote participants. A presentation  216  can, for example, be presentation slides, a spreadsheet, a PDF file, and so on, anything that would typically presented in a meeting, lecture, or brainstorming session. The data stream for the presentation  220  is indicated by “P” in  FIG. 2 . Remote attendees  214  may annotate the presentation, and the annotation stream  222  is indicated by “A”. Both the presentation data stream “P”  220  and the annotation data stream “A”  222  are mixed together via the video mixer  218  before sending them to the projector  204  to project them on the whiteboard  208 . During the presentation, the presenter or other local attendees may write or draw on the whiteboard. The camera  206  captures both the projected content and the writings. Through geometric and color calibrations, the system predicts the appearance of the projected “P” and “A” data streams viewed by the camera, i.e., a visual echo. A Visual Echo Cancellation module  224  in the computer  210  extracts only the writings on the whiteboard  226 , indicated by “W”, by subtracting the predicted visual echo from the live video/images captured by the camera. At the remote side, the presentation data stream “P”  220  and the whiteboard writing stream “W”  226  are mixed via a mixer  228  before displaying on the remote participant&#39;s computer display  230 .  
         [0038]     A typical process by which the system and method according to the invention could be employed is shown in  FIG. 3 . As shown in  FIG. 3 , process action  302 , geometric calibration data is obtained. Similarly, color calibration data is obtained, as shown in process action  304 . Images or video of the whiteboard having projected items thereon, such as for example, a projected presentation and/or annotations made by remote participants, as well as writings written on the physical whiteboard are captured, as shown in process action  306 . Then, as shown in process action  308 , a visual echo of a captured image is computed. Visual echo cancellation is then used to isolate the writings written on the whiteboard from the projected content (e.g., the remote participant&#39;s annotations and the electronic presentation) as shown in process action  310 . The writings may be sent to the remote participants to be displayed at a remote display in conjunction with the transmitted presentation and the annotations made by the remote participants. Likewise, the writings may be archived for future viewing (process action  312 ).  
         [0039]     Various details of the system and process discussed above are provided in the paragraphs below.  
         [0040]     2.2 Geometric Calibration.  
         [0041]     For visual echo cancellation, one needs to know the relationship between the position in the camera view and the position in the projector screen. This is the task of geometric calibration. Assuming that both camera and projector are linear projective and that the whiteboard surface is planar, it can be easily shown that the mapping between a point in the camera view and a point in the projector screen/whiteboard is a homography, and can be described by a 3×3 matrix H defined up to a scale factor.  
         [0042]     For geometric calibration, it is assumed that both the camera and the projector are linear projective, and a robust, accurate and simple technique is implemented by leveraging the fact that the projector can actively project desired patterns.  
         [0043]      FIG. 4  shows a simplified flowchart for the geometric calibration process employed by the system and method according to the invention. In one working embodiment the whole geometric calibration process takes less than two minutes and is only necessary when camera is moved with respect to the projector. As shown in  FIG. 4 , process action  402 , initially N rectangles are sequentially projected onto the whiteboard and their images are simultaneously captured using a fixed camera. In one working embodiment of the invention N=40 was used. Next, as shown in process action  404 , the four corners of each of the rectangles are detected in the images, as discussed in the paragraph below. Then, the 4×N detected corners and their corresponding known positions in the projector space are used to estimate the homography between the projector screen/whiteboard and the image plane of the camera (process action  406 ). The projector space can be viewed as the virtual plane of the computer display screen. Since one can control where to display the rectangular on the computer screen, the positions of the corners in the projector space are known. It should be noted that in theory, only four points (i.e., one rectangle) are necessary to estimate the homography. In order to achieve higher accuracy, the system and method of the invention uses a greater number of rectangles that are projected at different locations of the whiteboard. Compared to other geometric calibration methods, the system and method according to the invention takes advantage of the fact that the relative position between the camera and the projection surface is fixed during the calibration. Therefore, correspondences detected in different images can be used for estimating a single homography, which increase the accuracy and robustness of the system and method without complicating the corner detection algorithm.  
         [0044]     2.2.1. Corner Detection for Geometric Calibration.  
         [0045]     One process that can be used for corner detection is shown in  FIG. 5 . The corner detection process begins by converting the color images to gray scale images, as shown in process  502 . In order to reduce the noise in edge map and to increase the contrast, one needs to find the region inside and outside the projected rectangle and quantize the grayscale value. Since the inside region is bright and homogeneous, it forms peak p1 at the higher range of the histogram, while the background forms peak p2 at the lower range. A coarse-to-fine histogram-based method is used to find the two peaks and set the higher threshold  
       h1   =         3   4     ×   p1     +       1   4     ×   p2           
 
 and the lower threshold  
       h2   =         1   4     ×   p1     +       3   4     ×     p2   .             
 
 The grayscale level of all pixels above h1 are set to h1, while those below h2 are set to h2, and those in between remain unchanged. The edges of the rectangles are then detected in the grayscale image using one of the conventional methods of edge detection to create an edge map (process action  504 ). A Hough transform is then used to detect straight lines on the edge map (process action  506 ). A quadrangle is then fit using the lines, as shown in process action  508 . The corners of the quadrangle are then found (process action  510 ). 
 
         [0046]     2.4 Color Calibration.  
         [0047]     For visual echo cancellation, for a given pixel in the projector space on the whiteboard, one knows its corresponding position in the camera space through the geometric calibration described above. However, one also needs to know what the corresponding color in projector space should look like in the captured images/video, which is determined by color calibration. The same color in the projector space appears differently in the camera, depending where the color is projected on the whiteboard. This is because the projector light bulb does not produce uniform lighting, the lighting in the room is flickering and not uniform, and the whiteboard surface is not Lambertian. Therefore, color calibration should be both color- and position-dependent.  
         [0048]     For color calibration, pixels of the visual echo are modeled as independent Gaussian random variables and a lookup-table-based approach is used. Note that both geometric calibration and color calibration should also be useful for other tasks than visual echo cancellation, such as automatic keystone correction for projectors.  
         [0049]      FIG. 6  shows the flowchart for color calibration. As shown in  FIG. 6 , process action  602 , this process begins by quantizing the RGB color space into bins. In one working embodiment of the invention 9×9×9 or 729 bins were used. In process action  604 , each quantized color is projected over the whole display region and its image is captured in synchronization, storing n frames for each color (process action  606 ). In one working embodiment 5 frames were stored for each color. In process action  608 , each image is warped to the projected screen coordinates using the homography H found in the geometric calibration. The display region is divided evenly into rectangular blocks (e.g., 32×32 or 1024) and the mean and variance of each color in each block is calculated across the n frames, as shown in process  610 . The mean and variance values are entered into a lookup table for color C (process action  612 ) and the next color is projected until all quantized colors have been projected (process action  614  and  616 ).  
         [0050]     Using the process of  FIG. 6 , a lookup table is built for the quantized colors (e.g. 729) at each of the blocks (e.g. 1024 blocks). Note that the spatial dimensionality is necessary because the same projected color will have a different appearance at different positions on the screen/whiteboard. The best result would be obtained if a lookup table were built for every pixel position, but this seems unnecessary based on experimental data because the color appearance changes smoothly across the display surface.  
         [0051]     Usually it is sufficient to perform the color calibration procedure once. However, it may be necessary to perform the color calibration procedure again if certain settings for the projector (color temperature, contrast or brightness) or the camera (exposure or white balance) are changed. Projecting and capturing 729×n (=3645 when n=5) frames at 10 fps (to ensure projecting and capturing are synchronized) takes about 6 minutes in one embodiment of the invention.  
         [0052]     2.5. Visual Echo Cancellation.  
         [0053]     The following paragraphs describe the visual echo estimation and cancellation procedures.  
         [0054]     2.5.1 Visual Echo Estimation.  
         [0055]     Given arbitrary display content of a captured image (process action  702 ), the system and method of the invention estimates the visual echoE, as shown in  FIG. 7 , by initially substituting each pixel with its correspondent mean color in the lookup table defined in the color calibration procedure (process action  704 ). For colors not in the table, linear interpolation of the two nearest bins is used. Then, as shown in process action  706 , each pixel in the image is warped to the camera view. To obtain an estimate of the error bound for each pixel, one also looks up and warps the variances to get a pixel-wise variance map V (process action  708 ).  
         [0056]     2.5. Visual Echo Cancellation  
         [0057]      FIG. 8  shows a flowchart of the general visual echo cancellation process according to the present invention. The details are explained in the following subsections. As shown in  FIG. 8 , process action  802 , an image of the whiteboard containing the projected content such as a presentation and any annotations, as well as possible whiteboard writings for which the visual echo was calculated is input into the system. The projected content (e.g., projected presentation and annotations) of the image is compared with the corrected image (visual echo) using the ratio of the albedo of the captured image to the albedo of the visual echo, as shown in process action  804 . Using the albedo ratio, the writings on the whiteboard (vice the projected content) are identified and their color is recovered, as shown in process action  806 .  
         [0058]     2.5.1. Generative Process of The Captured Image.  
         [0059]     By writing/drawing with a marker on a whiteboard, one actually changes the surface albedo of the whiteboard, and therefore changes the reflection. Therefore, in a general sense, extracting the writings on the whiteboard boils down to detecting the changes of the surface albedo.  
         [0060]     Assuming all the images are geometrically aligned, and denoting the incident light map by P, the surface albedo of the whiteboard by A, the pixel-wise color transformation due the camera sensor by C, and the visual echo by E, one has E=C×A×P. If nothing is written on the whiteboard, then the captured image I should be equal to E. If there is anything written on the whiteboard, the surface albedo changes, and is denoted by Ã. The captured image can then be described by I=C×Ã×P. One can compute the albedo change by estimating the albedo ratio a=Ã/A of the pixel [x,y] in color channel cε{R,G,B}, which is given by  
               a       [     x   ,   y     ]     ,   c       =       I       [     x   ,   y     ]     ,   c         E       [     x   ,   y     ]     ,   c                 (   1   )             
 
 Note that writings on the whiteboard absorb the light, so Ã≦A, and in consequence a [x,y]c ≦1. 
 
         [0061]     Based on the albedo ratio a, one can detect the writings and recover their color. The albedo for the whiteboard region without writings should be 1. Assuming the sensor noise on the albedo is additive and has a zero-mean Gaussian distribution with variance  
         V   E     ,       
 
 the following decision rule results: 
 
 Pixel [x,y] belongs to the written region if and only if  
               1   -         a       [     x   ,   y     ]     ,   R       +     a       [     x   ,   y     ]     ,   G       +     a       [     x   ,   y     ]     ,   B         3       &gt;         V       [     x   ,   y     ]     ,   R       +     V       [     x   ,   y     ]     ,   G       +     V       [     x   ,   y     ]     ,   B             E       [     x   ,   y     ]     ,   R       +     E       [     x   ,   y     ]     ,   G       +     E       [     x   ,   y     ]     ,   B                   (   2   )             
 
 Note that the decision rule is one-sided, because, as mentioned earlier, the albedo ratio for written whiteboard region is strictly less than 1. 
 
         [0062]     For each pixel [x,y] that belongs to the written region, one can recover the writings with its colors as 
 
 W   [x,y]c   =a   [x,y]c ×255  (3) 
 
 assuming the color intensity ranges from 0 to 255. 
 
         [0063]     2.5.2. Practical Considerations.  
         [0064]     Due to the noise in geometric calibration, I and E are not exactly aligned. The 1 to 2 pixel errors are most evident near strong edges in E. Therefore, in written region segmentation, one first applies an erosion on E which increases the dark region. Erosion is a standard image morphological operation. In a binary image, it will assign a 0 (black) value to pixels with a certain neighborhood pattern. It is extended to grayscale and color images. The system and method of the invention use its extension in a color image. Thus, the pixels near the dark regions in E have higher A and are less likely be classified as written region. This preprocessing reduces error because in order to make the writings more visible, most users prefer to write on top of brighter background instead of darker background.  
         [0065]     In practice, to make the colors in W visible, one needs to set the camera exposure to be much higher than normality. This will cause over-exposure during color calibration. The system and method of the invention addresses this problem by setting the exposure optimal for color calibration, and using a classification method to recover the colors of the writings. The four most commonly used markers (red, black, blue and green) are chosen as classes M o ˜M 3 . For supervised training, one uses Equations (2) and (3) to recover a set of writings W, and then converts it from RGB color space to HSI (hue, saturation and intensity) color space, and denotes the new image as W′. The training data for class M i  is labeled by manually by selecting the region of written by Marker i, and collecting its histogram n i (h,s,i).  
         [0066]     To classify a pixel W [x,y]  obtained from Equation (3), its RGB value is converted to W′ [x,y]  in HSI space and evaluate the likelihood that it belongs Cluster i as  
                       p   ⁡     (       [     x   ,   y     ]     |     M   i       )       =         n   i     ⁡     (       W       [     x   ,   y     ]     ⁢   h     ′     ,     W       [     x   ,   y     ]     ⁢   s     ′     ,     W       [     x   ,   y     ]     ⁢           ⁢   i     ′       )         N   i         ,               for   ⁢           ⁢   i     =   0     ,     …   ⁢           ⁢   3     ,                 (   4   )             
 
 where N i  is the total number of data points in Histogram i. 
 
         [0067]     Due to noise in camera sensor, a MAP decision rule may not give spatially consistent results, so a 61×61 window is used to the collect votes from all the pixels in the neighborhood and to classify the center pixel based on the maximum votes.  
         [0068]     3.0 Experimental Results.  
         [0069]     The geometric calibration method was used using various projectors (including an InFocus LP530 and a Proxima DP6155) and various video cameras (including a Aplex USB2, a Logitech Pro4000 and a SONY EVI30), under both artificial lighting and natural lighting conditions. The fitting error for solving the homography based on correspondences ranges from 0.3 to 0.7 pixels.  
         [0070]     For color calibration, a SONY projector and EVI30 camera were used. Comparing the estimated visual echo E with the actual captured image I, the average error is around 3 (color intensity range 0˜255). The majority of the discrepancy is around the regions with strong edges, due to the noise in geometric calibration.  
         [0071]      FIG. 9  shows the visual echo cancellation results on various backgrounds. One can see that majority of the writings are recovered except for the parts on top of extremely complex backgrounds. In this case, however, it is even difficult for the human eye to discern the writings.  
         [0072]     The foregoing description of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.