# Patent

## Title
System and method for enhancing video images in a conferencing environment

## Abstract

A method is provided in one example and includes receiving image data for a field of view associated with a display. The image data is used to generate a plurality of red green blue (RGB) frames. The method also includes emitting infrared energy onto the field of view in order to generate a plurality of infrared frames, the plurality of RGB frames and the plurality of infrared frames are generated by a single camera. The plurality of RGB frames can be combined with the plurality of infrared frames in order to generate a video data stream. In a more particular embodiment, the emitting of the infrared energy is synchronized with the camera such that the infrared energy is emitted onto the field of view at one half of an existing frame rate of the camera.

## Background
TECHNICAL FIELD
This disclosure relates in general to the field of video imaging and, more particularly, to enhancing video images in a conferencing environment.
BACKGROUND
Video services have become increasingly important in today's society. In certain architectures, service providers may seek to offer sophisticated video conferencing services for their end users. The video conferencing architecture can offer an “in-person” meeting experience over a network. Video conferencing architectures can deliver real-time, face-to-face interactions between people using advanced visual, audio, and collaboration technologies. Some issues have arisen in video conferencing scenarios where proper lighting is not provided during a video conference. Deficient lighting can hinder the quality of video images being sent to participants in a video conference. The ability to optimize lighting environments provides a significant challenge to system designers, device manufacturers, and participants of video conferences.



BRIEF DESCRIPTION OF THE DRAWINGS
To provide a more complete understanding of the present disclosure and features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying figures, wherein like reference numerals represent like parts, in which:
FIG. 1 is a simplified block diagram of a system for enhancing video images in a conferencing environment in accordance with one embodiment of the present disclosure;
FIG. 2 is a simplified block diagram illustrating one example implementation of an image processing module associated with the system;
FIG. 3 is a simplified circuit diagram illustrating one example implementation of a fusion module of the system; and
FIG. 4 is a simplified flow diagram illustrating potential operations associated with the system.



DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
Overview
A method is provided in one example and includes receiving image data for a field of view associated with a display. The image data is used to generate a plurality of red green blue (RGB) frames. The method also includes emitting infrared energy onto the field of view in order to generate a plurality of infrared frames, the plurality of RGB frames and the plurality of infrared frames are generated by a single camera. The plurality of RGB frames can be combined with the plurality of infrared frames in order to generate a video data stream.
In a more particular embodiment, the emitting of the infrared energy is synchronized with the camera such that the infrared energy is emitted onto the field of view at one half of an existing frame rate of the camera. An infrared phase associated with emitting the infrared energy can have a shorter exposure time than a RGB phase associated with generating the RGB frames such that the camera has unequal shutter times. Every other video frame generated by the camera is an infrared frame for which the infrared energy was provided. The method can also include executing image denoising to reduce temporal noise or spatial noise associated with the plurality of RGB frames. Further, the method can include adding infrared video image data on a pixel basis to generate enhanced video frames included in the video data stream.
Example Embodiments
Turning to FIG. 1, FIG. 1 is a simplified block diagram of a system 10 for providing enhanced video images in a conferencing environment. System 10 may include a camera 14, a display 16, one or more audience members 18, an Internet protocol (IP) network 20, and a server 40. A remote site 32 is also provided in FIG. 1, where audience members 18 can interface with individuals at remote site 32 during a video conference. Camera 14 may include an image processing module 38 and a microphone 22 in a particular implementation. A series of illumination elements 24 are also provided in conjunction with camera 14, where illumination elements 24 can be configured to shine infrared (IR) light on audience members 18, as described below. Server 40 may include a processor 42 and a memory element 44. In general terms, system 10 can be configured to capture video image data under low visible light, but also under bright infrared light, by intermittently flashing infrared light at a particular frame rate. A process can then be employed to combine the multi-spectral images to create a low-noise red-green-blue (RGB) video output having enhanced picture quality.
For purposes of illustrating certain example techniques of system 10, it is important to understand the communications that may be occurring in a video conferencing environment. The following foundational information may be viewed as a basis from which the present disclosure may be properly explained. In modern digital imaging, lighting is an inherent problem. Many video conferencing systems can attain terrific image quality under controlled environments. For example, some component manufacturers can build a complete room that provides exceptional lighting for video conferencing activities. However, in environments where the lighting conditions are poor (e.g., in homes, in small offices, in Internet cafés, etc.), the image quality can deteriorate significantly (e.g., due to incorrect exposure, low contrast problems, high noise characteristics, a lack of sharp details, etc.).
Note that low-light performance can be rectified by simply providing more (or more intense) visible light energy. However, most individuals in video conferencing scenarios would rather not be subjected to harsh lighting environments, nor would these individuals wish to incur excessive fees in adding new lighting fixtures, just to assist in generating acceptable video images. Infrared illumination can enhance video images, but using pure infrared illumination would not offer acceptable color characteristics in video imaging applications. For example, night vision systems can capture details associated with a scene, but these monochromatic systems do not provide acceptable color images. Simply using two cameras (e.g., one camera for RGB images and another camera for infrared images) is not ideal because using two cameras implicates two different lenses and two different viewpoints, which ultimately need to be integrated.
System 10 can resolve the aforementioned issues (and others) to combine the properties of infrared illumination with the color properties of RGB frames to offer an optimal solution in video conferencing scenarios. System 10 is configured to use infrared illumination, which is invisible to humans, and a fusion process to combine an infrared image with an RGB image. In a general sense, while a low-light RGB image may appear grainy (or include unwanted noise), it can be improved with information from the infrared image, which may include a much better signal-to-noise ratio (SNR). Additionally, system 10 can be configured to use a single camera for the collection of red, green, blue, and infrared light. Hence, system 10 (even though operating in a low-light environment) can achieve better image quality using a single camera configuration that includes strobing infrared light.
In one particular example, infrared illumination can be synchronized to camera 14 and flashed onto a scene (e.g., audience members 18) at one-half of the existing frame rate. This protocol can cause every other video frame to be an infrared image, where the other video frames would represent simple RGB images. Video signal processing of the image sequence can fuse the RGB and infrared frames to create a superior final video stream having natural color, low picture noise, and sharper edges. Additionally, signal-to-noise ratio parameters can be further improved by using a shorter exposure for the infrared phase and a longer exposure for the RGB phase. This creates unequal shutter times for camera 14, which enhances the video images. System 10 can also include the use of multiple bilateral filters, as detailed below with respect to FIG. 3.
System 10 can be configured to combine a full-spectral image sensor with a near-infrared (NIR) illuminator (e.g., illumination elements 24), which can be synchronized to a capturing clock. Illumination elements 24 can be only activated at half of the frame rate and for a sufficiently small amount of time (to avoid partial exposure due to the rolling shutter). Additionally, system 10 can be configured to capture temporally adjacent image pairs, including ones with and without exposure to the infrared flash. System 10 can include an infrared-sensitive sensor that is collocated with the color (i.e., RGB) imaging sensor for sharing the incoming light with an optical beam splitter. The two sensors can be synchronized (e.g., gen-locked) to capture videos at the same frame rate. Pixel correspondences between the two sensors can also be calibrated. The RGB sensor may have a different resolution than the infrared sensor, in which case re-sampling can occur during the calibration stage.
Input to image processing module 38 can include a pair of IR/RGB images at every frame, with the captured infrared video providing a bright and clear view of the environment, while the color image can contain desired perceptual characteristics (albeit with low intensity and high noise). The image-processing pipeline can include three phases following a pre-processing step that stretches a dark color image to the full dynamic range. The phases can include image denoising, detail transfer, and perceptual quality improvement. The first two phases can be focused on fusing the infrared video data into the color domain. The third phase can be used to adjust the brightness and the color tone of the image in a face-centric fashion, as discussed in detail below.
In regards to a physical infrastructure, camera 14 can be configured to fasten to any edge (e.g., a top edge) of a flat screen (e.g., display 16). Camera 14 can be included as part of an integrated component (i.e., a single component, a proprietary element, a set-top box, etc.) that could include microphone 22 (e.g., an array microphone) and infrared illumination elements 24. Thus, all of these elements (camera 14, microphone 22, infrared illumination elements 24, etc.) can be combined and/or be suitably consolidated into an integrated component that rests on (or is fixed to, or is positioned near) display 16. Alternatively, each of these elements (camera 14, microphone 22, infrared illumination elements 24, etc.) are their own separate devices that can be coupled (or simply interact with each other), or be adequately positioned in any appropriate fashion.
In one example implementation, the illuminators of illumination elements 24 include a bank of small infrared light emitting diodes (LEDs) positioned linearly (e.g., in a line about 15 inches long). The LEDs can be covered with a plastic diffuser, where the circuit that drives the LEDs can be synchronized to the frame rate of camera 14. The LEDs can readily be pulsed on and off in microsecond intervals, or triggered using any other suitable timing configuration. Camera 14 does not use an infrared filter in certain implementations. In other example scenarios, illumination elements 24 can have a single LED (or simply a few, possibly larger LEDs) that can provide an appropriate level of light energy for improving video image data. Along similar reasoning, the LEDs can readily be replaced by other lighting mechanisms that could provide the appropriate amount of infrared energy. Additionally, it should be noted that, in alternative embodiments, illumination elements 24 can emit other types of light that could be used in enhancing video image data. For example, illumination elements 24 (instead of using infrared energy) could use/flash other types of light energy that could augment or otherwise improve video image data.
In one example implementation, camera 14 includes a complementary metal-oxide-semiconductor (CMOS) sensor with a Bayer pattern. A hot mirror can also be included in this configuration, where the hot mirror represents a specialized dielectric mirror/dichroic filter configured to reflect infrared light back into a light source, while allowing visible light to pass. The hot mirror that deflects infrared light can have two positions. In a daylight mode, the hot mirror can be positioned over the lens of camera 14, where no infrared light reaches camera 14. In a nighttime mode, the mirror can be moved out of the way by a small motor such that camera 14 can have a field of view of things lit by the infrared LEDs. In a generic sense, such an arrangement is similar to a dual day/night security camera. Camera 14 is configured to systematically collect a stream of video frames: half of which can include infrared illumination, as discussed herein.
FIG. 2 is a simplified block diagram illustrating additional details related to image processing module 38. Image processing module 38 may include a processor 46 and a memory element 48. In this particular example, a video image stream 56 is being sent to image processing module 38 at 60-frames/second, where a demultiplexer (DEMUX) 58 divides the stream into odd and even frames. A dashed line is provided to illustrate how video image stream 56 is divided from 60-frames/second to 30-frames/second. Additionally, the top portion of FIG. 2 illustrates a series of IR frames 70, along with a series of RGB frames 72 propagating through image processing module 38. The resultant of the processing by these elements is shown as a series of RGB frames 80.
An infrared (IR) processing module 60 and a RGB processing module 62 are configured to process video information at 30-frames/second (where such processing by these modules may potentially be executed in parallel). Thus, as a general matter, the next series of processing mechanisms operate at half the speed of the original incoming video image stream 56. In one particular configuration, IR processing module 60 and RGB processing module 62 are digital signal processors (DSPs) configured to perform the operations detailed herein.
Images from IR processing module 60 and RGB processing module 62 are subsequently combined by a fusion module 64, which can further process this data using bilateral filters as discussed below with reference to FIG. 3. Ultimately, the resultant from fusion module 64 can be sent as a series of RGB images 66 to any suitable next destination. In this particular implementation, images are sent at 30-frames/second. In more practical terms, an odd numbered frame could show original noisy RGB images with color having been stretched. An even numbered frame could show an original IR image. The output of the processing executed by IR processing module 60 and RGB processing module 62 reflects a fusing of RGB video with infrared video.
Note that the basic idea of the fusion process it to use the infrared information to find out which parts of the image are smooth and which part of the image are actual edges and textures. Then, the RGB data can be filtered with an edge sensitive filter (e.g., a bilateral filter). In one example scenario, the bilateral filter is sensitive to edges found in the infrared image. Stated otherwise, the infrared can dictate (to the filter) which parts of the image can withstand spatial blurring to illuminate noise (and conversely, which parts cannot withstand spatial blurring). The original image itself is not seen in the output and, instead, the colors are true colors (and not the false color seen by the infrared light imagery).
Camera 14 is configured to generate 60-frames/second (e.g., RGB frames) using its internal frame generator in a particular example of system 10. For example, a vertical synchronization (v-sync) mechanism can be used in such an instance. These frames can be sent to image processing module 38 to generate a new chain of images, which have the qualities of both IR and natural light. The IR strobe could be activated at a time when it equally exposes all lines of the picture. This is a very short time compared to the full exposure time of the frame.
The shudder in camera 14 can be open for any suitable time period (e.g., 16 ms) for each frame. The general notion is that, for each frame, a pulse (a digital signal) is sent to IR illumination elements 24. In essence, the pulse is turning IR illumination elements 24 on for the even numbered frames, and turning it off for the odd numbered frames. A suitable frame strobe can be used to divide the incoming frames (e.g., from 60-frames/second to 30-frames/second).
It should be noted that system 10 has no specific requirement on shutter times. System 10 can be configured to work around the rolling shutter that commonly exists in CMOS sensors. CMOS image sensors typically use a rolling shutter, which means that progressive lines of the picture are exposed and are converted (i.e., analog-to-digital) at different times. This has implications in the use of a strobe. In one example implementation, the strobe of the infrared illumination flash (of illumination elements 24) can be narrowed to be within the vertical blanking time to avoid partial exposure due to the rolling shutter. As a related notion, unequal shutter times can further improve the images propagating through system 10. There could be an uneven exposure for the odd and even frames for camera 14. Longer shutter times can equate to more light energy being received at the sensor, which improves the SNR of the image. For example, instead of a 16 ms interval for RGB and a 16 ms interval for infrared, system 10 can be configured to use 31 ms for RGB and 1 ms for IR (or use any other suitable combination of these time parameters). The IR phase could be configured to be long enough to see the IR flash. This could leave more time for the RGB phase, where the lengthened shutter would improve the RGB image. Before turning to additional details and operational flows of system 10, a brief discussion is provided about some of the infrastructure of FIGS. 1-2.
In one particular example, camera 14 is video camera configured to capture, record, maintain, cache, receive, and/or transmit image data. This could include transmitting packets over IP network 20 to a suitable next destination. The captured/recorded image data could be stored in camera 14 itself, or be provided in some suitable storage area (e.g., a database, a server, etc.). In one particular instance, camera 14 can be its own separate network device and have a separate IP address. Camera 14 could be a wireless camera, a high-definition camera, or any other suitable camera device configured to capture image data.
Camera 14 may interact with (or be inclusive of) devices used to initiate a communication for a video session, such as a switch, a console, a proprietary endpoint, a microphone, a dial pad, a bridge, a telephone, a computer, or any other device, component, element, or object capable of initiating video, voice, audio, media, or data exchanges within system 10. Camera 14 can also be configured to include a receiving module, a transmitting module, a processor, a memory, a network interface, a call initiation and acceptance facility such as a dial pad, one or more speakers, one or more displays, etc. Any one or more of these items may be consolidated, combined, or eliminated entirely, or varied considerably and those modifications may be made based on particular communication needs.
Camera 14 may include image processing module 38 to support the activities associated with enhancing video images through the use of infrared illumination elements 24, as outlined herein. In one implementation, camera 14 includes software to achieve (or to foster) the video image enhancements, as outlined herein in this Specification. Note that in one example, camera 14 can have an internal structure (e.g., with a processor, a memory element, etc.) to facilitate some of the operations described herein. In other embodiments, these video image enhancements features may be provided externally to camera 14 or included in some other device to achieve this intended functionality. In still other embodiments, camera 14 may include any suitable algorithms, hardware, software, components, modules, interfaces, or objects that facilitate the operations thereof.
Display 16 offers a screen at which video data can be rendered for the end user. Note that as used herein in this Specification, the term ‘display’ is meant to connote any element that is capable of delivering image data (inclusive of video information), text, sound, audiovisual data, etc. to an end user (e.g., audience members 18). This would necessarily be inclusive of any panel, plasma element, television, monitor, computer interface, screen, TelePresence devices (inclusive of TelePresence boards, panels, screens, surfaces, etc.) or any other suitable element that is capable of delivering/rendering/projecting such information. Note also that the term ‘image data’ is meant to include any type of media or video (or audio-video) data applications (provided in any protocol or format) that could operate in conjunction with display 16. Additionally, and with reference to illumination elements 24, the term ‘emit’ is meant to include any type of pulsing, flashing, radiating, transmitting, etc. of light energy.
Audience members 18 are simply individuals within the proximity, or within the field of view, of display 16. Audience members 18 can be persons engaged in a video conference involving other individuals at remote site 32. Audience members 18 can be associated with corporate scenarios, consumer scenarios, residential scenarios, etc. or associated with any other suitable environment to which system 10 may be applicable.
IP network 20 represents a series of points or nodes of interconnected communication paths for receiving and transmitting packets of information that propagate through system 10. IP network 20 offers a communicative interface between any of the components of FIG. 1 and remote sites, and may be any local area network (LAN), wireless local area network (WLAN), metropolitan area network (MAN), wide area network (WAN), virtual private network (VPN), Intranet, Extranet, or any other appropriate architecture or system that facilitates communications in a network environment. IP network 20 may implement a UDP/IP connection and use a TCP/IP communication language protocol in particular embodiments of the present disclosure. However, IP network 20 may alternatively implement any other suitable communication protocol for transmitting and receiving data packets within system 10.
Server 40 is configured to receive information from camera 14 (e.g., via some connection that may attach to an integrated device (e.g., a set-top box, a proprietary box, etc.) that sits atop display 16 and that includes [or is part of] camera 14). Server 40 may also be configured to control compression activities, or additional processing associated with data received from camera 14. Alternatively, the actual integrated device can perform this additional processing before image data is sent to its next intended destination. Server 40 can also be configured to store, aggregate, process, export, or otherwise maintain image data and logs in any appropriate format, where these activities can involve processor 42 and memory element 44. Server 40 is a network element that facilitates data flows between endpoints and a given network. As used herein in this Specification, the term ‘network element’ is meant to encompass routers, switches, gateways, bridges, loadbalancers, firewalls, servers, processors, modules, or any other suitable device, component, element, or object operable to exchange information in a network environment.
Server 40 may interface with camera 14 through a wireless connection, or via one or more cables or wires that allow for the propagation of signals between these two elements. These devices can also receive signals from an intermediary device, a remote control, etc. and the signals may leverage infrared, Bluetooth, WiFi, electromagnetic waves generally, or any other suitable transmission protocol for communicating data (e.g., potentially over a network) from one element to another. Virtually any control path can be leveraged in order to deliver information between server 40 and camera 14. Transmissions between these two devices can be bidirectional in certain embodiments such that the devices can interact with each other. This would allow the devices to acknowledge transmissions from each other and offer feedback where appropriate. Any of these devices can be consolidated with each other, or operate independently based on particular configuration needs.
FIG. 3 is a simplified circuit diagram 82 of one example internal structure associated with fusion module 64 of FIG. 2. In this particular example, spatial processes in IR/color video fusion are being depicted. FIG. 3 includes a dual bilateral filter 84, a basic bilateral filter 86, a Laplacian of Gaussian (LoG) element 88, and an output 90. As a preliminary matter, it should be noted that a stretching process can be achieved by gamma correction. For example, for each color channel c, where Vin and Vout are the input and output pixel values, the following can be performed: Vout=Vinγc, γc>1.
Note that this process may simply be accomplished by increasing the gain of camera 14. Using a typical camera setup, increasing the gain under a low-lighting condition is also expected to amplify the noise levels significantly, which can be addressed by a denoising process. Image denoising can be achieved to reduce the temporal and spatial noise of the color video, while preserving motion and edges. A temporal joint bilateral filter can be employed to reduce the temporal noise in a color image. Thereafter, the color space can be converted from RGB to YUV. (YUV is a color space typically used as part of a color image pipeline. The YUV model defines a color space in terms of one luminance (Y) and two chrominance (UV) components.)
The luminance (Y) channel can move through dual bilateral filter 84, which again uses both the color and IR observations, to suppress the spatial noise and the rest of the fusion activity. The chrominance (UV) channels can be simply Gaussian smoothed. In one example implementation, and in an effort to achieve better perceptual quality, processing is performed on the YUV color space directly after the color stretching, where both are treated equally in the denoising process. In other words, each Y/U/V channel can propagate through a joint temporal bilateral filter followed by a dual spatial bilateral filter.
In regards to the detail transfer, this step is aimed to enhance/transfer detail features, which were well captured in the IR image, to the visible one. Unlike that in the flash/no-flash context, where both images are captured in the visible light spectrum, it is not desirable to have features captured in the IR spectrum appear in the visible image. Circuit diagram 82 illustrates a simple approach for providing detail features from the IR image to the luminance channel. To achieve this, basic bilateral filter 86 is applied to the IR image and the result, which represents the large-scale features in the image, is subtracted (to varying degrees) from the input. The output is then added to (or is subtracted from) Y, depending on the LoG response of Y (e.g., performed by LoG element 88).
The processes described above can be conducted without the knowledge of the application context (i.e., video conferencing). A final step in this process relates to improving the perceptual quality of the color image based on an awareness of the context (e.g., in particular, the human face). The objective is to adjust the brightness and color tone of the image toward a more visually pleasing image.
For the color channels (U and V), a Gaussian mixture model can be created using a set of training images, covering different races. For each input frame, which includes the YUV color image from the previous processes and the IR image, face detection can initially be performed using cues from both images (e.g., where face detection is based on the color image). The brightness of the visible image can then be adjusted by processing the Y channel, while the color tone can be adjusted by processing the U and V channels. In both processes, the mapping functions can be created based on the pixels in the facial region, but this could also be applied to all the pixels in the entire image.
By increasing the IR illumination (and potentially in a diffused fashion), a higher-quality IR image can be acquired, which can further improve the final fusion result. Note that just beyond basic bilateral filter 86, infrared video image data can be added (i.e., in a large or a small extent) on a pixel basis. A determination can be made as to how bright an image can be before it is sent to its ultimate destination. Details and edges can be largely smoothed out, where a resultant image (i.e., output 90) is much clearer as a result of the processing. Note that a certain amount of scaling can also occur before the resultant image is generated.
In regards to the computational complexity of the image processing, a majority of the computation in the image processing pipeline is allocated to the multi-spectral video fusion. This is due to the use of bilateral filtering, where a common form of the bilateral filter can be expressed as:




  
    
      
        
          
            BF
            ⁡
            
              [
              I
              ]
            
          
          p
        
        =
        
          
            1
            
              W
              p
            
          
          ⁢
          
            
              ∑
              
                q
                ∈
                Ω
              
            
            ⁢
            
              
                
                  G
                  
                    σ
                    s
                  
                
                ⁡
                
                  (
                  
                    
                    
                      p
                      -
                      q
                    
                    
                  
                  )
                
              
              ⁢
              
                
                  G
                  
                    σ
                    s
                  
                
                ⁡
                
                  (
                  
                    D
                    ⁡
                    
                      (
                      
                        p
                        ,
                        q
                      
                      )
                    
                  
                  )
                
              
              ⁢
              
                I
                q
              
            
          
        
      
    
    
      
        (
        1
        )
      
    
  
  
    
      
        
          
            W
            p
          
          =
          
            
              ∑
              
                q
                ∈
                Ω
              
            
            ⁢
            
              
                
                  G
                  
                    σ
                    s
                  
                
                ⁡
                
                  (
                  
                    
                    
                      p
                      -
                      q
                    
                    
                  
                  )
                
              
              ⁢
              
                
                  G
                  
                    σ
                    s
                  
                
                ⁡
                
                  (
                  
                    D
                    ⁡
                    
                      (
                      
                        p
                        ,
                        q
                      
                      )
                    
                  
                  )
                
              
            
          
        
        ,
        
          and
          ⁢
          
            
          
          ⁢
          typically
        
      
    
    
      
        (
        2
        )
      
    
  
  
    
      
        
          D
          ⁡
          
            (
            
              p
              ,
              q
            
            )
          
        
        =
        
          
          
            
              I
              p
            
            -
            
              I
              q
            
          
          
        
      
    
    
      
        (
        3
        )
      
    
  




    
    
        where Gσ connotes a zero-mean Gaussian with a standard deviation of σ. Due to its nonlinearity, bilateral filtering is computationally demanding, particularly so as the size of a kernel increases. The complexity of a simple bilateral filter is O(|S|×σs2), where |S| denotes the number of pixels and σs is the size of the kernel.
    
    


In one example implementation, circuit diagram 82 is associated with a DSP/firmware implementation of the bilateral filters, where lookup tables can be employed for Gaussian calculation. In this case, filtering one pixel based on equations (1)-(3) can translate to a number of operations (additions, multiplications, divisions, and table lookups) for a 3×3 kernel. Dual bilateral filter 84 requires a larger number of operations, in comparison to basic bilateral filter 86. For instance, instead of comparing the intensities of p and q in the visible image, a temporal joint bilateral filter could use intensities in the IR image, and define D(p,q) as a sum of squared differences (SSD) between small spatial neighborhoods Ψ (3×3 or 5×5) around p and q, weighted to favor the kernel's center by Gaussian ω(x, y):




  
    
      
        
          
            D
            ⁡
            
              (
              
                p
                ,
                q
              
              )
            
          
          =
          
            
              ∑
              
                
                  (
                  
                    x
                    ,
                    y
                  
                  )
                
                ∈
                Ψ
              
            
            ⁢
            
              
                ω
                ⁡
                
                  (
                  
                    x
                    ,
                    y
                  
                  )
                
              
              ⁢
              
                
                  (
                  
                    
                      I
                      p
                    
                    -
                    
                      I
                      q
                    
                  
                  )
                
                2
              
            
          
        
        ,
      
    
    
      
        (
        4
        )
      
    
  




    
    
        where Ip denotes the pixel value in the IR image. If an associated memory permits, a given box kernel may be used to speed up the spatial bilateral filters applied on an IR image, while a 3D kernel may be extended for the spatial dual bilateral filter when a larger kernel is needed.
    
    


FIG. 4 is a simplified flowchart illustrating one example flow 100 associated with system 10. Flow 100 begins at step 110, where the shutter of camera 14 opens and takes a picture of a scene in its field of view. This generates an RGB image that can be digitized at step 120 and, subsequently, sent to RGB processing module 62 via demultiplexer 58. At step 130, the shutter of camera 14 opens again and takes another picture of a scene in its field of view. In this particular instance, an electrical pulse was sent to illumination elements 24, where this pulse directed illumination elements 24 to flash (e.g., with a certain intensity, for a certain duration, etc.). The infrared illumination is invisible to the user. Compared to the previous image, this image is brighter and clearer; however, this image data would not have the color characteristics of the previous image.
The second image is sent to IR processing module 60 via demultiplexer 58 at step 140. The output from IR processing module 60 and RGB processing module 62 can be subsequently sent to fusion module 64 at step 150. Note that the processing in these two elements can occur at 30-frames/second (i.e., half of the incoming frame rate) in this particular scenario. At step 160, bilateral filtering can be applied for luminance and for infrared images. At step 170, the resultants of this bilateral filtering are combined into a single image. Note that a certain amount of processing could also be involved at this juncture in order to scale the image data and/or to add/subtract the infrared input. At step 180, a final image can be sent over the network to a suitable next destination. Note that this final image could be compressed or further processed before being sent to a subsequent destination.
Note that in certain example implementations, the video image enhancement functions outlined herein may be implemented by logic encoded in one or more tangible media (e.g., embedded logic provided in an application specific integrated circuit [ASIC], digital signal processor [DSP] instructions, software [potentially inclusive of object code and source code] to be executed by a processor, or other similar machine, etc.). In some of these instances, a memory element [as shown in FIG. 2] can store data used for the operations described herein. This includes the memory element being able to store software, logic, code, or processor instructions that are executed to carry out the activities described in this Specification. A processor can execute any type of instructions associated with the data to achieve the operations detailed herein in this Specification. In one example, the processor [as shown in FIG. 2] could transform an element or an article (e.g., data) from one state or thing to another state or thing. In another example, the activities outlined herein may be implemented with fixed logic or programmable logic (e.g., software/computer instructions executed by a processor) and the elements identified herein could be some type of a programmable processor, programmable digital logic (e.g., a field programmable gate array [FPGA], an erasable programmable read only memory (EPROM), an electrically erasable programmable ROM (EEPROM)) or an ASIC that includes digital logic, software, code, electronic instructions, or any suitable combination thereof.
In one example implementation, camera 14 (and/or its associated proprietary component, set-top box, etc.) can include memory elements for storing information to be used in achieving the intelligent image enhancement operations, as outlined herein. Additionally, camera 14 may include a processor that can execute software or an algorithm to perform the video image enhancement activities, as discussed in this Specification. These devices may further keep information in any suitable memory element [random access memory (RAM), ROM, EPROM, EEPROM, ASIC, etc.], software, hardware, or in any other suitable component, device, element, or object where appropriate and based on particular needs. Any of the memory items discussed herein (e.g., database, table, key, etc.) should be construed as being encompassed within the broad term ‘memory element.’ Similarly, any of the potential processing elements, modules, and machines described in this Specification should be construed as being encompassed within the broad term ‘processor.’ Camera 14 can also include suitable interfaces for receiving, transmitting, and/or otherwise communicating data or information in a network environment.
Note that with the example provided above, as well as numerous other examples provided herein, interaction may be described in terms of two, three, or four elements. However, this has been done for purposes of clarity and example only. In certain cases, it may be easier to describe one or more of the functionalities of a given set of flows by only referencing a limited number of elements. It should be appreciated that system 10 (and its teachings) are readily scalable and can accommodate a large number of components, as well as more complicated/sophisticated arrangements and configurations. Accordingly, the examples provided should not limit the scope or inhibit the broad teachings of system 10 as potentially applied to a myriad of other architectures.
It is also important to note that the steps in the preceding flow diagrams illustrate only some of the possible signaling scenarios and patterns that may be executed by, or within, system 10. Some of these steps may be deleted or removed where appropriate, or these steps may be modified or changed considerably without departing from the scope of the present disclosure. In addition, a number of these operations have been described as being executed concurrently with, or in parallel to, one or more additional operations. However, the timing of these operations may be altered considerably. The preceding operational flows have been offered for purposes of example and discussion. Substantial flexibility is provided by system 10 in that any suitable arrangements, chronologies, configurations, and timing mechanisms may be provided without departing from the teachings of the present disclosure.
Although the present disclosure has been described in detail with reference to particular arrangements and configurations, these example configurations and arrangements may be changed significantly without departing from the scope of the present disclosure. For example, although the present disclosure has been described with reference to particular communication exchanges involving certain server components, system 10 may be applicable to other protocols and arrangements (e.g., those involving any type of video image processing). Additionally, although camera 14 has been described as being mounted in a particular fashion, camera 14 could be mounted in any suitable manner in order to enhance video images. Other configurations could include suitable wall mountings, aisle mountings, furniture mountings, cabinet mountings, upright (standing) assemblies, etc., or arrangements in which cameras would be appropriately spaced or positioned to perform its functions.
Additionally, system 10 can have direct applicability in TelePresence environments such that video image enhancements can occur during video sessions. A TelePresence screen can be used in conjunction with a server in order to intelligently enhance video image data. Also, illumination elements 24 can emit any type of light that could be used in enhancing video image data. For example, illumination elements 24 (instead of using infrared energy) could use other types of light energy that would augment or otherwise improve video image data.
Additionally, certain discussions (above) outline how the image acquisition in a camera can have two phases: an RGB phase and an IR phase. The camera can have two phases with different exposure times, shutter speeds, etc. This is because low light levels are expected during the RGB phase and it is desirable to increase the amount of light. Another feature of the tendered concept is the use of different gains for the image sensor in the camera for the two phases (i.e., the RGB phase and the IR phase). The camera gain could flip back and forth between a higher gain for the RGB phase and a lower gain for the IR phase. This feature could eliminate or supplement the color stretching part of the RGB processing. The gain of the sensor can increase the voltage level coming from the sensor before the A/D. During the RGB phase, the light level may be low, so the voltage is low, and the numbers from the A/D would be low and have a limited dynamic range. By increasing the gain, the signal can use the full dynamic range of the A/D. However, commonly this gain would be high for the IR phase and cause possible overexposure. Thus, for the IR phase, the gain should be lower in certain scenarios. Sensor gain is sometimes denoted as the camera film speed or ISO setting. Moreover, although system 10 has been illustrated with reference to particular elements and operations that facilitate the communication process, these elements and operations may be replaced by any suitable architecture or process that achieves the intended functionality of system 10.

## Claims

1. A method, comprising:
receiving image data for a field of view associated with a display, wherein the image data is used to generate a red green blue (RGB) frame;
emitting infrared energy onto the field of view in order to generate an infrared frame, wherein the RGB frame and infrared frame are alternately generated by a single camera and wherein the emitting occurs such that the infrared energy is directed away from the camera and toward the field of view to illuminate the entire field of view; and
combining the RGB frame with the infrared frame in order to generate a video data stream;
wherein the emitting of the infrared energy is synchronized with the camera such that the infrared energy is emitted onto the field of view at one half of an existing frame rate of the camera.

2. The method of claim 1, wherein an infrared phase associated with emitting the infrared energy has a shorter exposure time than a RGB phase associated with generating the RGB frame such that the camera has unequal shutter times.

3. The method of claim 1, wherein every other video frame generated by the camera is an infrared frame for which the infrared energy was provided.

4. The method of claim 1, further comprising:
executing image denoising to reduce temporal noise or spatial noise associated with the RGB frame.

5. The method of claim 1, further comprising:
adding infrared video image data on a pixel basis to generate enhanced video frames included in the video data stream.

6. The method of claim 1, wherein the emitting infrared energy onto the field of view is provided by an illumination element that comprises light emitting diodes (LEDs), which are covered by a diffuser.

7. Logic encoded in one or more non-transitory tangible media that includes code for execution and when executed by a processor operable to perform operations comprising:
receiving image data for a field of view associated with a display, wherein the image data is used to generate a red green blue (RGB) frame;
emitting infrared energy onto the field of view in order to generate an infrared frame, wherein the RGB frame and infrared frame are alternately generated by a single camera and wherein the emitting occurs such that the infrared energy is directed away from the camera and toward the field of view to illuminate the entire field of view; and
combining the RGB frame with the infrared frame in order to generate a video data stream;
wherein the emitting of the infrared energy is synchronized with the camera such that the infrared energy is emitted onto the field of view at one half of an existing frame rate of the camera.

8. The logic of claim 7, wherein an infrared phase associated with emitting the infrared energy has a shorter exposure time than a RGB phase associated with generating the RGB frame such that the camera has unequal shutter times.

9. The logic of claim 7, wherein every other video frame generated by the camera is an infrared frame for which the infrared energy was provided.

10. The logic of claim 7, wherein the operations further comprise:
executing image denoising to reduce temporal noise or spatial noise associated with the RGB frame.

11. The logic of claim 7, wherein the operations further comprise:
adding infrared video image data on a pixel basis to generate enhanced video frames included in the video data stream.

12. An apparatus, comprising:
a memory element configured to store data,
a processor operable to execute instructions associated with the data, and
an image processing module configured to:
receive image data for a field of view associated with a display, wherein the image data is used to generate a red green blue (RGB) frame, wherein infrared energy is emitted onto the field of view in order to generate an infrared frame, wherein the RGB frame and infrared frame are alternately generated by a single camera and wherein the emitting occurs such that the infrared energy is directed away from the camera and toward the field of view to illuminate the entire field of view; and
combine the RGB frame with the infrared frame in order to generate a video data stream;

wherein the emitting of the infrared energy is synchronized with the camera such that the infrared energy is emitted onto the field of view at one half of an existing frame rate of the camera.

13. The apparatus of claim 12, wherein an infrared phase associated with emitting the infrared energy has a shorter exposure time than a RGB phase associated with generating the RGB frames such that the camera has unequal shutter times.

14. The apparatus of claim 12, wherein every other video frame generated by the camera is an infrared frame for which the infrared energy was provided.

15. The apparatus of claim 12, wherein the image processing module is further configured to:
execute image denoising to reduce temporal noise or spatial noise associated with the plurality of RGB frames.

16. The apparatus of claim 12, wherein the image processing module is further configured to:
add infrared video image data on a pixel basis to generate enhanced video frames included in the video data stream.

17. The apparatus of claim 12, further comprising:
an integrated component that includes the image processing module, the camera, and an illumination element that is configured to provide the infrared energy onto the field of view, wherein the illumination element further comprises light emitting diodes (LEDs), which are covered by a diffuser.