# Patent application title: Determining Intensity Similarity in Low-Light Conditions Using the Poisson-Quantization Noise Model

##
Inventors:
Yasuyuki Matsushita (Beijing, CN)
Xiaoou Tang (Beijing, CN)
Francois Alter (Paris, FR)

Assignees:
Microsoft Corporation

IPC8 Class: AG06K968FI

USPC Class:
382218

Class name: Template matching (e.g., specific devices that determine the best match) electronic template comparator

Publication date: 2010-12-02

Patent application number: 20100303367

## Inventors list |
## Agents list |
## Assignees list |
## List by place |

## Classification tree browser |
## Top 100 Inventors |
## Top 100 Agents |
## Top 100 Assignees |

## Usenet FAQ Index |
## Documents |
## Other FAQs |

# Patent application title: Determining Intensity Similarity in Low-Light Conditions Using the Poisson-Quantization Noise Model

##
Inventors:
Xiaoou Tang
Yasuyuki Matsushita
Francois Alter

Agents:
LEE & HAYES, PLLC

Assignees:

Origin: SPOKANE, WA US

IPC8 Class: AG06K968FI

USPC Class:

Publication date: 12/02/2010

Patent application number: 20100303367

## Abstract:

A Poisson-quantization noise model for modeling noise in low-light
conditions is described. In one aspect, image information is received. A
Poisson-quantization noise model is then generated from a Poisson noise
model and a quantization noise model. Poisson-quantization noise is then
estimated in the image information using the Poisson-quantization noise
model.## Claims:

**1.**A computer-readable media having computer-program instructions executable by a processor for:receiving image information;generating a Poisson-quantization noise model from a Poisson noise model and a quantization noise model;estimating Poisson-quantization noise in the image information using the Poisson--quantization noise model;determining an intensity similarity function using the Poisson-quantization noise model; andfinding pixel correspondence using the intensity similarity function.

**2.**The computer-readable media as recited in claim 1, wherein receiving comprises receiving at least two frames of image information.

**3.**The computer-readable media as recited in claim 1, wherein the Poisson noise model comprises: p ( k , λ , Q ) = i = q k q k + 1 - 1 λ i i ! - λ ##EQU00047## wherein k represents an intensity level, λ represents an intensity source, and Q represents quantization.

**4.**The computer-readable media as recited in claim 1, wherein the intensity similarity function comprises: d ( k , l , Q ) = min λ { - ln ( P ( k , l , λ , Q ) ) } = - ln P ( k , l , λ ^ , Q ) = - ln { - 2 λ ^ ( i = q k q k + 1 - 1 λ ^ i i ) ( j = q l q l + 1 - 1 λ ^ j j ! ) } , ##EQU00048## wherein k and l represent two intensity observations, λ represents an intensity source, P represents a joint probability, {circumflex over (λ)} represents an intensity source maximizing the joint probability P, and Q represents quantization.

**5.**The computer-readable media as recited in claim 1, wherein determining comprises finding a maximum joint probability that that two intensity observations k and l share the same intensity source.

**6.**The computer-readable media as recited in claim 5, wherein finding comprises performing a dichotomic search over the first derivative of the joint probability to find {circumflex over (λ)} corresponding to minima for the convex function -ln(P).

**7.**The computer-readable media as recited in claim 5, wherein finding comprises one of performing a gradient descent, and performing a Newton-Raphson descent to find the optimal {circumflex over (λ)}.

**8.**A computing device comprising:a processor; anda memory coupled to the processor, the memory comprising computer-program instructions executable by the processor for:receiving image information;generating a Poisson-quantization noise model from a Poisson noise model and a quantization noise model;estimating Poisson-quantization noise in the image information using the Poisson-quantization noise model;determining an intensity similarity function using the Poisson-quantization noise model; andfinding pixel correspondence using the intensity similarity function.

**9.**The device of claim 8, wherein receiving comprises receiving at least two frames of image information.

**10.**The device of claim 8, wherein the Poisson noise model comprises: p ( k , λ , Q ) = i = q k q k + 1 - 1 λ i i ! - λ ##EQU00049## wherein k represents an intensity level, λ represents an intensity source, and Q represents quantization.

**11.**The device of claim 8, wherein generating comprises combining the Poisson noise model and the quantization noise model.

**12.**The device of claim 8, wherein the intensity similarity function comprises: d ( k , l , Q ) = min λ { - ln ( P ( k , l , λ , Q ) ) } = - ln P ( k , l , λ ^ , Q ) = - ln { - 2 λ ^ ( i = q k q k + 1 - 1 λ ^ i i ) ( j = q l q l + 1 - 1 λ ^ j j ! ) } , ##EQU00050## wherein k and l represent two intensity observations, λ represents an intensity source, P represents a joint probability, {circumflex over (λ)} represents an intensity source maximizing the joint probability P, and Q represents quantization.

**13.**The device of claim 8, wherein determining comprises finding a maximum joint probability that two intensity observations k and l share the same intensity source.

**14.**The device of claim 13, wherein finding comprises performing a dichotomic search over the first derivative of the joint probability to find {circumflex over (λ)} corresponding to minima for the convex function -ln(P).

**15.**The device of claim 13, wherein finding comprises one of performing a gradient descent, and performing a Newton-Raphson descent to find the optimal {circumflex over (λ)}.

**16.**A computing device comprising:a processor;a Poisson-quantization noise modeling module executable on the processor to estimate Poisson quantization noise;an intensity similarity measure module executable on the processor to determine an intensity similarity function based on the estimated Poisson quantization noise; anda pixel correspondence module for finding pixel correspondence between image frames based on the intensity similarity function.

**17.**The computing device of claim 16, wherein the Poisson-quantization noise modeling module estimates Poisson quantization noise using a Poisson-quantization noise model comprising: p ( k , λ , Q ) = i = q k q k + 1 - 1 λ i i ! - λ , ##EQU00051## wherein k represents an intensity level, λ represents an intensity source, Q represents quantization, and q

_{k}represents the minimum number of electrons to produce an intensity level of k.

**18.**The computing device of claim 16, wherein the Poisson-quantization noise module estimates quantization parameters for two image frames.

**19.**The computing device of claim 16, wherein the intensity similarity function comprises: d ( k , l , Q ) = min λ { - ln ( P ( k , l , λ , Q ) ) } = - ln P ( k , l , λ ^ , Q ) = - ln { - 2 λ ^ ( i = q k q k + 1 - 1 λ ^ i i ) ( j = q l q l + 1 - 1 λ ^ j j ! ) } ##EQU00052## wherein k and l represent two intensity observations, λ represents an intensity source, P represents a joint probability, {circumflex over (λ)} represents an intensity source maximizing the joint probability P, Q represents quantization, and q

_{k}represents the minimum number of electrons to produce an intensity level of k.

**20.**The computing device of claim 16, wherein the computing device is used to improve images in one of night vision, medical imaging, underwater imaging, microscopic imaging and astronomical imaging.

## Description:

**RELATED APPLICATIONS**

**[0001]**This application is a continuation application Ser. No. 11/275,265, filed on Dec. 21, 2005, the entirety of which are incorporated herein by reference.

**BACKGROUND**

**[0002]**Noise is inevitable in any imaging device. This is especially the case in low-light situations (also known as photon limited situations) arising from either a weak light source illuminating an object being photographed, or the use of a small or low quality lens by the device attempting to photograph the object. In either case, the low light situation often precludes the capture and rendering of a high quality image.

**SUMMARY**

**[0003]**This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

**[0004]**In view of the above, a Poisson-quantization noise model for modeling noise in low-light conditions is described. In one aspect, image information is received. A Poisson-quantization noise model is then generated from a Poisson noise model and a quantization noise model. Poisson-quantization noise is then estimated in the image information using the Poisson-quantization noise model.

**BRIEF DESCRIPTION OF THE DRAWINGS**

**[0005]**In the Figures discussed below the left-most digit of a component reference number identifies the particular Figure in which the component first appears.

**[0006]**FIG. 1 illustrates an exemplary system, including a video content analysis engine, for video content analysis.

**[0007]**FIG. 2 is a block diagram of a computing device on which an exemplary video content analysis engine resides.

**[0008]**FIG. 3 includes two graphs illustrating exemplary mean and variance properties of Poisson-quantization noise.

**[0009]**FIG. 4 illustrates an exemplary intensity similarity function for the Poisson noise model.

**[0010]**FIG. 5 is a flow diagram of an exemplary method to identify pixel correlation between two frames of image information.

**[0011]**FIG. 6 is a flow diagram of an exemplary method to determine an intensity similarity function.

**[0012]**FIG. 7 illustrates an example of a suitable computing environment in which an intensity similarity function may be established based on Poisson-quantization noise.

**DETAILED DESCRIPTION**

**Overview**

**[0013]**The following disclosure describes a Poisson-quantization (PQ) noise model which can be used to model noise in low-light conditions. In one embodiment, the PQ noise model may be used to create an intensity similarity function. It will be understood that the terms intensity similarity function and intensity similarity measure as used herein are interchangeable. In general, an intensity similarity measure represents a probability that two slightly different observations of a same (or same colored) point in a three dimensional scene are observations of the same point.

**[0014]**In one embodiment, the intensity similarity measure may be used to calculate an intensity similarity to process video content. These calculations may entail finding pixel correspondence among video frames that may be used for various image processing operations, for example, denoising, object tracking, pattern matching, etc., especially in low-light conditions.

**[0015]**These and other aspects of the systems and methods to model Poisson-quantization noise and generate an intensity similarity function based thereon are now described in greater detail.

**An Exemplary System**

**[0016]**Although not required, systems and methods to generate a Poisson-quantization noise model and an intensity similarity measure in low-light conditions are described in the general context of computer-executable instructions (program modules) being executed by a computing device such as a personal computer. Program modules generally include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. While the systems and methods are described in the foregoing context, it will be understood that acts and operations described hereinafter may be implemented in any suitable hardware, software, firmware, or combination thereof.

**[0017]**FIG. 1 illustrates an exemplary system 100 for processing video content. In one implementation, system 100 may be used to calculate Poisson-quantization noise using a Poisson-quantization noise model. In one implementation, the calculated Poisson-quantization noise is utilized to create an intensity similarity measure. The intensity similarity measure can be used to process video content captured by the system 100. For example, in one implementation, the intensity similarity measure is used to find correspondence among video images.

**[0018]**System 100 includes an imaging device such as a camera 102. Camera 102 includes optics 104, a photodetector 106, and a video content analysis engine 108. Although the imaging device is illustrated as a digital camera 102, the imaging device can also be any type of imaging device such as a conventional analog camera, a cell phone equipped with an imaging device, a personal digital assistant (PDA) equipped with an imaging device, a webcam, etc. Object image information captured by an imaging device typically includes photon noise 112 received by optics 104 and transmitted to photodetector 106. Photon noise 112 arises because photons do not arrive at optics 104 in a steady stream. Instead, photons arrive in a fluctuating manner consistent with that of a Poisson noise model. This temporal fluctuation in the intensity of photons arriving at photodetector 106 becomes especially significant in low-light conditions where the number of incoming photons is limited.

**[0019]**In addition to photon noise 112, other types of noise, including quantization noise, can be encountered by camera 102. Quantization noise is created when the photodetector 106 digitizes input photon energy into quantized values, thus changing photons to electrons by converting the incident optical intensity to a detector current or signal. In photon-limited conditions photon noise and quantization noise become dominant due to the lack of intensity resolution in the limited dynamic range. Thus, quantization noise and photon noise may exert an especially deleterious effect on low-light vision applications such as night vision, medical imaging, underwater imaging, microscopic imaging, astronomical imaging, and/or other applications.

**[0020]**Other types of noise, in addition to photon noise 112 and quantization noise, such as reset noise, dark current noise and read-out noise may also be significant. In general, these types of noise have the potential to significantly degrade the quality of an image 114 formed in camera 102. In high-speed imaging, Poisson noise often becomes significant, and the combination of Poisson noise and quantization noise may contribute significantly to uncertainty in observations. Reset noise, dark current noise and read-out noise follow a Poisson distribution. Sometimes, however, read-out noise may also be modeled by Gaussian noise. This results since Gaussian noise with variance σ

^{2}and mean σ

^{2}is nearly identical to Poisson noise with mean σ

^{2}if σ is sufficiently large. For instance, when operating camera 102 at room temperature and with a high read-out frequency, a may be sufficiently large to satisfy this condition.

**[0021]**Video content analysis engine 108 may be employed to effect image restoration in photon-limited images which would otherwise suffer from severe degradation. As discussed below, video content analysis engine 108 accomplishes this by: modeling photon noise 112, quantization noise, reset noise, dark current noise, and read-out noise; and creating an intensity similarity measure. These operations are useful in filtering various types of noise to improve the quality of image 114.

**[0022]**Computer 116 is illustrated as a desktop computer. However, computer 116 could alternately comprise a variety of other types of computer and computer-like devices, such as a notebook or portable computer, a tablet PC, a cell phone, a personal digital assistant (PDA), a workstation, a mainframe computer, a server, an Internet appliance, a set-top box, combinations thereof, and so on. In one implementation, video content analysis engine 108 is implemented on computer 116. In another implementation, a portion of video content analysis engine 108 resides on the computer 116, while another portion of video content analysis engine 108 resides on a computer readable medium outside of computer 116, or on a device separate from computer 116, such as camera 102.

**[0023]**Computer 116 is coupled to a network 120, such as the Internet, via any possible connection type known in the art, including telephone lines and ISDN lines. Moreover, other computers 122(1)-122(N) may be connected to the network 120. In this fashion, computers 122(1)-122(N) can share data and instructions with each other, and with computer 116. In one implementation, this includes sharing by computer 116 of video content captured by camera 102 and processed by the video content analysis engine 108 with computers 122(1)-122(N) over network 120. For example, in one implementation, camera 102 comprises a cell phone with an imaging device. In this example, images taken by the imaging device are processed by the video content analysis engine 108. These images may then be communicated to computer 116, network 120, or computers 122(1)-122(N).

**An Exemplary Computing Device**

**[0024]**Although not required, the systems and methods for creating a Poisson-quantization (PQ) noise model and an intensity similarity measure based on the PQ noise model are described in the general context of computer-executable instructions (program modules) being executed by a computing device such as a personal computer. Program modules generally include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. While the systems and methods are described in the foregoing context, acts and operations described hereinafter may also be implemented in hardware, software, firmware or combinations of hardware, software, firmware, etc.

**[0025]**FIG. 2 illustrates an exemplary computing device 200 including program modules 202 and program data 204. Program modules 202 include the video content analysis engine 108. Video content analysis engine 108 includes PQ noise modeling module 206 and intensity similarity measure module 208. Program modules 202 also include other program modules 210 such as, an operating system, a pixel correspondence module, and one or more applications to perform denoising applications based on PQ noise model 212 generated by PQ noise modeling module 206, and/or an intensity similarity measure 214 generated by intensity similarity measure module 208. Program data 204 includes PQ noise model 212, intensity similarity measure 214 and other program data 216 such as, for example, input image data, intermediate values and results, and intensity observations.

**[0026]**Noise reduction in an image sequence may be accomplished by finding pixel correspondences among the images in the sequence. Once the correspondences are obtained, color/intensity values of the pixels are smoothed by selecting an average or median value for the color/intensity values of corresponding pixels found in images within the sequence. In this manner, noise in the images can be reduced.

**[0027]**The intensity similarity measure module 208 is useful for finding pixel correspondences in low-light conditions, because the intensity similarity measure is built upon the physics-based noise model, i.e., PQ noise model 212. To compute the intensity similarity measure 214, parameters q and q

_{1}of PQ noise model 212 are determined. This is achieved by fitting the observed noise data in the calibration stage, as will be described in more detail below. Once the parameters q and q

_{1}for the PQ noise model 212 are obtained, the intensity similarity measure 214 may be obtained. Methods describing how to obtain the similarity measure 214 are also discussed in more detail below. It will be understood that if gain and white balancing parameters in the images are fixed, such computations need only be completed once.

**[0028]**Below, PQ noise model 212, which is a realistic noise model in low-light conditions, is derived. The PQ noise model 212 is built upon two inevitable noise sources in low-light conditions: Poisson noise and quantization noise. The PQ noise model 212 accounts for uncertainties caused by the nature of photon arrival, as well as by the digitizing process carried out at the photodetector 106. Intensity similarity measure 214 is based on PQ noise model 212. Intensity similarity measure 214 is useful in many computer vision applications which involve intensity differencing, e.g., block matching, stereo, optical flow and image alignment. Intensity similarity measure 214 can replace existing intensity distance functions based on Euclidean distance.

**Poisson**-Quantization Noise Model

**[0029]**As mentioned above, the quality of video content captured by camera 102 may suffer from uncertainty generated by photon noise 112 and quantization noise. The Poisson-quantization (PQ) noise model 212 discussed below accounts for this uncertainty.

**Poisson Noise Model**

**[0030]**Poisson noise is modeled by a Poisson distribution with parameter λ defined for all kεN by the probability:

**p**( k , λ ) = λ k k ! - λ , ( 1 ) ##EQU00001##

**wherein the mean E and variance V are defined as follows**:

**E**( λ ) = k = 0 ∞ kp ( k , λ ) = λ , V ( λ ) = k = 0 ∞ k 2 p ( k , λ ) - E 2 = λ . ( 2 ) ##EQU00002##

**Quantization Noise Model**

**[0031]**As also noted above, quantization noise is the uncertainty caused when observed amplitudes in image data are rounded to discrete levels in photodetector 106. This arises due to the finite amplitude resolution inherent in any digital system (i.e. in analog-to-digital conversion, assuming that a signal lies within a predefined range).

**[0032]**If the minimum number of electrons necessary to raise one level of observed intensity is q, and e

_{q}is the quantization noise, then the count of electrons is proportional to the number of photons by the factor of the photon-electron conversion efficiency (the quantum efficiency of the sensor). Quantization noise can thus be modeled as:

**e q**= N q - N q , ( 3 ) ##EQU00003##

**where N is the number of electrons generated by the measurement**. More detailed quantization error analysis in computer vision can be found in "Evaluation of Quantization Error in Computer Vision" by B. Kamgar-Parsi and B. Kamgar-Parsi, as found in IEEE Trans. Pattern Anal. Mach. Intell., 11(9):929 940, 1989, which is incorporated herein by reference.

**Poisson**-Quantization Noise Model

**[0033]**Given the Poisson noise model and the quantization noise model discussed above, the PQ-noise model 212 can be formed as follows. A Poisson distribution with parameter λ and quantization Q={q

_{0}=0, . . . , q

_{k}, . . . , q

_{n}+1=∞} may be defined for all kε{0, . . . , n} by the probability p(k, λ, Q) as:

**p**( k , λ , Q ) = i = q k q k + 1 - 1 λ i i ! - λ . ( 4 ) ##EQU00004##

**where the quantization parameter q**

_{k}represents the minimum number of electrons used to produce an intensity level k.

**[0034]**In one implementation, the quantization interval is considered constant, i.e., q

_{k}=kq, and the observations are considered to be far from saturation. In such an instance, the quantization interval can be defined as the range of input values assigned to the same output level, and the behavior of the PQ-noise model 212 can be seen to differ from the behavior of the Poisson noise model.

**[0035]**To derive the mean E(λ, q) and variance V(λ,q) of the PQ-noise model 212, XεZ is considered to be a discrete random variable having a characteristic function φ(t)=E(e

^{it}X). The quantized version X

_{q}can thus be defined by:

**X q**= X q . ##EQU00005##

**[0036]**Moreover, the characteristic function φ

_{q}of X

_{q}may be given by:

**φ q ( t ) = 1 - - t q k = 0 q - 1 φ ( t + 2 π k q ) 1 - - t + 2 π k q . ##EQU00006##**

**This can be proven by setting p**

_{n}=P(X=n). The characteristic function φ

_{q}of X

_{q}is therefore:

**φ q ( t ) = n = - ∞ ∞ p n n q t = n = - ∞ ∞ p n n q t ( n q t - n q t ) ##EQU00007##**

**[0037]**Since the function:

**f**: { Z C n ( n q t - n q t ) i ##EQU00008##

**is q**-periodic, it can therefore be written as a trigonometric polynomial:

**k**= 0 q - 1 a k 2 π kn q . ##EQU00009##

**Using a discrete Fourier transformation**, it can be shown that:

**a k**= 1 q j = 0 q - 1 f ( j ) - 2 πj k q = 1 q j = 0 q - 1 - j q t - 2 πj k q = 1 q j = 0 q - 1 - j ( t + 2 π k ) q = 1 - - ( t + 2 π k ) q ( 1 - - t + 2 π k q ) = 1 - - t q ( 1 - - t + 2 π k q ) . ##EQU00010## Therefore , φ q ( t ) = n = - ∞ ∞ p n n q t k = 0 q - 1 a k 2 π kn q = k = 0 q - 1 n = - ∞ ∞ p n n t + 2 π k q 1 - - t q ( 1 - - t + 2 π k q ) = k = 0 q - 1 φ ( t + 2 π k q ) 1 - - t q ( 1 - - t + 2 π k q ) . ##EQU00010.2##

**[0038]**Corollary 1. The mean E

_{q}of X

_{q}and variance V

_{q}of X

_{q}can be written by the mean E, the variance V, and the characteristic function φ of X as:

**E q**= E q - 1 2 + 1 2 q + 1 q k = 1 q - 1 φ ( 2 π k / q ) 1 - - 2 π k q ##EQU00011## V q = V q + 1 12 - 1 12 q 2 - 2 E q 2 k = 1 q - 1 2 π k q φ ( 2 π k / q ) 1 - - 2 π k q + 2 q 2 k = 1 q - 1 - 2 π k q φ ( 2 π k / q ) ( 1 - - 2 π k q ) 2 + 1 q k = 1 q - 1 φ ( 2 π k / q ) 1 - - 2 π k q - 1 q 2 ( k = 1 q - 1 φ ( 2 π k / q ) 1 - - 2 π k q ) 2 . ##EQU00011.2##

**These formulas result from a computation of the derivatives of**φ

_{q}, using the fact that E

_{q}=-iφ

_{q}'(0) and V

_{q}=-φ

_{q}''(0)-E

_{q}

^{2}.

**[0039]**Further, by using a Poisson distribution having the characteristic function φ(t)=e.sup.λ(e

^{it}

^{-1}) the following formulas are obtained:

**E**( λ , q ) = λ q - 1 2 + 1 2 q + 1 q k = 1 q - 1 λ ( 2 π k q - 1 ) 1 - - 2 π k q ( 5 ) V ( λ , q ) = λ q + 1 12 - 1 12 q 2 - 2 λ q 2 k = 1 q - 1 2 π k q λ ( 2 π k q - 1 ) 1 - - 2 π k q + 2 q 2 k = 1 q - 1 - 2 π k q λ ( 2 π k q - 1 ) 1 - - 2 π k q + 1 q k = 1 q - 1 λ ( 2 π k q - 1 ) 1 - - 2 π k q - 1 q 2 ( k = 1 q - 1 λ ( 2 π k q - 1 ) 1 - - 2 π k q ) 2 . ( 6 ) ##EQU00012##

**[0040]**Remark 1. This result can be extended to the continuous random variable case by allowing X to be a random variable in , and by allowing φ

_{x}(t) to be the characteristic function of X. .left brkt-bot.X.right brkt-bot. can then be allowed to be the quantized version of X. Through use of the Fourier series of the 1-periodic function defined over , i.e.:

**f**( x ) = t ( x - x ) = n = - ∞ ∞ - ( t + 2 π n ) - 1 t + 2 π n 2 π nx , ##EQU00013##

**it can be shown that show that the characteristic function**φ.sub..left brkt-bot.x.right brkt-bot. of .left brkt-bot.X.right brkt-bot. is

**φ X ( t ) = n = - ∞ ∞ - ( t + 2 π n ) - 1 t + 2 π n φ X ( t + 2 π n ) , ##EQU00014##**

**where the summation is done by grouping terms of n and**-n together if no convergence is present. The mean k.sub..left brkt-bot.x.right brkt-bot. can be derived by:

**E X**= E X - 1 2 + n ≠ 0 φ X ( 2 π n ) 2 π n . ##EQU00015##

**[0041]**This applies to any kind of distribution, for example, the mean of a Gaussian distribution can be derived by allowing X to be a random variable following the Gaussian law N(μ,σ

^{2}). The characteristic function becomes

**φ X ( t ) = μ t - σ 2 t 2 2 . ##EQU00016##**

**Therefore**,

**[0042]**E X = μ - 1 2 + n ≠ 0 μ 2 π n - 2 σ 2 π 2 n 2 2 π n = μ - 1 2 + n = 1 ∞ cos ( 2 π n μ ) - 2 σ 2 π 2 n 2 π n ##EQU00017##

**As the series on the right decreases exponentially with n**, a practical way to compute E.sub..left brkt-bot.X.right brkt-bot. is achieved.

**[0043]**FIG. 3 illustrates the differences between the ordinary Poisson (P) noise model and the PQ-noise model 212 (as delineated by the mean and variance equations shown above). In graph 302, evolution of the mean with respect to λ with q=100 for both P noise and PQ noise is shown. Due to quantization noise, strong oscillations are observed in the mean of the PQ noise, while the mean of the p noise is nearly linear with respect to λ.

**[0044]**Similarly, graph 304 illustrates the evolution of the variance of both P noise and PQ noise with respect to the mean, with q=100. Again, due to quantization noise, strong oscillations are observed in the mean of the PQ noise, while the variance of P noise exhibits a near linear relationship with the mean of P noise.

**[0045]**The oscillation in the mean of PQ noise in graph 302, and the variance of PQ noise in graph 304, decays exponentially according to the formula:

**- λ ( 1 - cos 2 π q ) ##EQU00018##**

**The minimum intensity level of the linear range corresponds to**:

**λ ∝ 1 1 - cos 2 π q ≈ q 2 2 π 2 . ##EQU00019##**

**[0046]**In practice, q

_{l}does not equal q due to the shift of the function caused by the offset voltage. However, under the PQ noise model 212, with the assumption that q

_{0}=0 and q

_{k}=q

_{1}+(k-1)q it is possible to derive E(λ,q) and V(λ,q) for this condition by the same derivation used for Eqs. (5) and (6) above. Thus, when E(λ,q) is reasonably high, i.e. when

**E**( λ , q ) >> q 2 π 2 , ##EQU00020##

**The following relationship between E**(λ,q) and V(λ,q) holds in the linear range:

**V**( E , q , q 1 ) = E q + q 2 + 12 q 1 - 6 q - 7 12 q 2 . ( 7 ) ##EQU00021##

**This results because it may be assumed that observed intensities are far**enough from saturation that the approximation n=∞ may be used. By bifurcating the problem, two cases are formed.

**[0047]**Case 1. If q

_{1}≦q, and X(λ) is a discrete random variable on the shifted Poisson distribution defined by:

**.A-inverted. k ≧ q 1 - q P ( X ( λ ) = k ) = λ k + q 1 - q ( k + q 1 - q ) ! - λ . then , X ( λ ) q ##EQU00022##**

**possesses the desired PQ**-distribution. It can thus be seen that E

_{x}(λ)=λ+q

_{1}-q, and V

_{X}(λ)=λ.

**[0048]**Case 2. If q

_{1}>q, and X(λ) is a discrete random variable which satisfies

**{ P ( X ( λ ) = 0 ) = j = 0 q 1 - q λ j j ! - λ , P ( X ( λ ) = k ) = λ k + q 1 - q ( k + q 1 - q ) ! - λ , .A-inverted. k ≧ 1 then X ( λ ) q ##EQU00023##**

**has the desired PQ**-distribution. When λ is large, the approximation P(X=0)≈0 holds. Therefore, E

_{X}(λ)≈λ+q

_{1}-q, and V

_{X}(λ)≈λ are deduced.

**[0049]**Using Corollary 1 and Remark 1, which show that

**lim**λ → ∞ φ X ( λ ) ( 2 k π ) = lim λ → ∞ φ X ( λ ) ' ( 2 k π ) = 0 , ##EQU00024##

**it can be deduced that**:

**E**( λ , q , q 1 ) = λ + q 1 q - 1 2 + 1 2 q and V ( λ , q , q 1 ) = λ q 2 + 1 12 - 1 12 q 2 ##EQU00025##

**in the linear range**. Therefore:

**V**( λ , q , q 1 ) = qE ( λ , q , q 1 ) - q 1 + q / 2 - 1 / 2 q 2 + 1 12 - 1 12 q 2 = E ( λ , q , q 1 ) q + q 2 + 12 q 1 - 6 q - 7 12 q 2 . ##EQU00026##

**[0050]**The PQ noise model has two unknown parameters: q and q

_{1}. These unknown parameters can be calibrated by fitting the observed noise data to Eq. (7) above.

**Intensity Similarity Measure**

**[0051]**The similarity between two intensity observations k and l is often measured by Euclidean distance with an assumption that k and l are true signals, or the noise model being employed is non-biased. Such assumptions, however, do not hold in low-light conditions. In contrast, intensity similarity measure 214 is based on the probability that two intensity observations come from the same source intensity. For the sake of clarity, the intensity similarity measure for the Poisson noise case will be derived before intensity similarity measure 214 for the PQ-noise model 212 is derived. It will be understood that the Poisson noise model can be considered as a special case of the PQ noise model 212 in which the quantization parameters q=q

_{1}=1.

**Poisson Noise Case**

**[0052]**In the Poisson noise model, when two observed intensities arise from the same intensity distribution, it can be assumed that two observed intensities share the same parameter λ. Given this, the probability of obtaining two observations k and l is

**P**( k , l , λ ) = p ( k , λ ) p ( l , λ ) = λ k + l k ! l ! - 2 λ . ( 8 ) ##EQU00027##

**[0053]**Since parameter λ is unknown, the actual probability may not be calculable. However, by viewing the optimal case where λ maximizes the probability, the measure which maximizes the similarity between k and l may be found. This approach corresponds to the ML estimation of the observation of the pair (k,l). Therefore, the optimal {circumflex over (λ)} can be obtained by setting the first derivative to zero:

**∂ P ∂ λ = 0 , ##EQU00028##**

**such that**

**λ ^ = k + l 2 , ( 9 ) ##EQU00029##**

**is obtained**. Eq. 9 maximizes the probability defined in Eq. (8). In this way, the intensity similarity function can be defined as:

**d**( k , l ) = - ln ( P ( k , l , λ ^ ) ) = ( k + l ) ( 1 - ln ( k + l 2 ) ) + ln ( k ! ) + ln ( l ! ) . ( 10 ) ##EQU00030##

**This similarity measure does not agree with the exact definition of**distance, because d(k,k)>0 if k>0. However, the similarity measure does produce the similarity between two observations.

**[0054]**FIG. 4 illustrates the intensity similarity function defined in Eq. (10) in graphed function 402. Graphed function 402 is similar to the l

^{2}norm when two observed intensity levels are high. In fact, when k and l are sufficiently large, d(k,l) has a connection to the squared l

^{2}norm. This can be shown by rewriting Eq. (10) with the approximation ln(k!)≈k ln(k)-k:

**d**( k , l ) ≈ k ln ( k ) + l ln ( l ) - ( k + l ) ln ( k + l 2 ) = f ( k ) + f ( l ) - 2 f ( k + l 2 ) ≈ f '' ( k + l 2 ) ( k - l ) 2 4 ≈ ( k - l ) 2 2 ( k + 1 ) . ( 11 ) ##EQU00031##

**Poisson**-Quantization Noise Case

**[0055]**Using the derivation in the previous section, the intensity similarity function for the PQ-noise model 212 may be formalized. The joint probability P is defined as the probability of observing k and l having parameters λ

_{k}and λ

_{l}respectively with the quantization Q, by

**P**(k,l,λ

_{k},λ

_{1},Q)=p(k,λ

_{k},Q)p(l,λ

_{1}- ,Q), (12)

**Parameter**{circumflex over (λ)} (=λ

_{k}=λ

_{l}), which maximizes the probability P, is first determined. This is equivalent to maximizing the probability that two intensity observations share the same intensity source. When λ

_{k}=λ

_{l}, it can be said that P(k,l,λ,Q)=P(k,l,λ

_{k},λ

_{1},Q). The optimal {circumflex over (λ)} exists since the logged probability -In P is convex.

**[0056]**Convexity of the logged probability -lnP in Eq. (12) can be shown by the following:

**[0057]**Proposition:

**f**: λ - ln ( i = m n λ i i ! - λ ) ##EQU00032##

**is convex**.

**[0058]**Proof

**f**' ( λ ) = - i = m n ( λ i - 1 ( i - 1 ) - λ i i ! ) - λ λ i i ! - λ = λ n n ! - λ m - 1 ( m - 1 ) ! λ i i ! ##EQU00033## f '' ( λ ) = i = m n ( λ n - 1 ( n - 1 ) ! - λ m - 2 ( m - 2 ) ! ) λ i i ! - ( λ n n ! - λ m - 1 ( m - 1 ) ! ) λ i - 1 ( i - 1 ) ! ( λ i i ! ) 2 = i = m n λ n + i - 1 n ! i ! ( n - i ) + λ m + i - 2 ( m - 1 ) ! i ! ( i - m + 1 ) ( λ i i ! ) 2 > 0. ##EQU00033.2##

**Therefore**, f is convex.

**[0059]**Returning to the formalization of the intensity similarity function for the PQ-noise model 212:

**[0060]**(1). If k=l, the maximum of P(k,k,λ,Q) is given by

**λ ^ = ( q k ( q k + 1 - 1 ) ) 1 q k + 1 - q k - 1 ( 13 ) ##EQU00034##**

**This can be derived from the first derivation of the function described**above in the proof of the convexity of the logged probability -ln P.

**[0061]**(2). If k≠1, the optimal {circumflex over (λ)} may be obtained by minimizing the convex function -lnP. This can be accomplished by describing a simple algorithm for finding the optimal {circumflex over (λ)} with a dichotomic search over the first derivative of P.

**TABLE**-US-00001 Algorithm for finding the optimal {circumflex over (λ)} Inputs are k,l,q

_{k,q}

_{k}+1,q

_{l},q

_{l}+1 and n

_{iter}. Set λ

_{min}= 0 and λ

_{max}sufficiently big, and n = 0, While n < n

_{iter}and P' ≠ 0 do Set λ λ min + λ max 2 and n n + 1. ##EQU00035## Compute P ' = ∂ ln ( P ( k , l , λ , Q ) ) ∂ λ ##EQU00036## If P' < 0 set λ

_{min} λ. If P' < 0 set λ

_{max} λ. done Set {circumflex over (λ)}λ.

**[0062]**The sign of P' can be determined by computing the sign of:

**( λ q k + 1 - 1 ( q k + 1 - 1 ) ! - λ q k - 1 ( q k - 1 ) ! ) i = q l q l + 1 - 1 λ i i ! + ( λ q l + 1 - 1 ( q l + 1 - 1 ) ! - λ q l - 1 ( q l - 1 ) ! ) i = q k q k + 1 - 1 λ i i ! ( A ) ##EQU00037##**

**Alternately**, to find the optimal {circumflex over (λ)}, other descent methods such as gradient descent, Newton-Raphson, etc. can also be used.

**[0063]**The intensity similarity function is finally determined by plugging in the optimal {circumflex over (λ)} into the following function using Eqs. (4) and (12):

**d**( k , l , Q ) = min λ { - ln ( P ( k , l , λ , Q ) ) } = - ln P ( k , l , λ ^ , Q ) = - ln { - 2 λ ^ ( i = q k q k + 1 - 1 λ ^ i i ) ( j = q l q l + 1 - 1 λ ^ j j ! ) } ( 14 ) ##EQU00038##

**An Exemplary Procedure to Process Video Content**

**[0064]**FIG. 5a shows an exemplary procedure 500 to create a table of intensity similarity measure. For ease of understanding, the method 500 is delineated as separate steps represented as independent blocks in FIG. 5a; however, these separately delineated steps should not be construed as necessarily order dependent in their performance. Additionally, for discussion purposes, the method 500 is described with reference to elements in FIGS. 1-2. This flow diagram may be implemented in any suitable hardware, software, firmware, or combination thereof. In the case of software and firmware, this diagram represents sets of operations implemented as computer-executable instructions. The left-most digit of a component reference number identifies the particular figure in which the component first appears.

**[0065]**At block 502, image information is received. For example, video information is collected using camera 102, or any other suitable photographic device. Alternately, camera 102, or any other suitable photographic device, can be used to collect several still frames of an object of interest.

**[0066]**At block 504, the image information received at block 502 is accumulated and stored. The accumulation of images can include, for example, a collection of approximately 1000 images. It will also be understood, however, that more or less images may be accumulated at block 504. The accumulation may be stored at any suitable memory device, including memory associated with computer 116, camera 102 or video content analysis engine 108.

**[0067]**At block 506, the accumulated image information stored at block 504 is used to calibrate an uncalibrated Poisson-quantization (PQ) noise model (block 508):

**p**( k , λ , Q ) = i = q k q k + 1 - 1 λ i i ! - λ ( 4 ) ##EQU00039##

**where the quantization parameter q**

_{k}represents the minimum number of electrons which produce an intensity level k. The PQ noise model has two unknown parameters: q and q

_{l}. In practice, q

_{l}does not equal q due to the shift of the function caused by the offset voltage. However, these unknown parameters can be estimated by fitting the observed noise data to Eq. (7) below (block 506):

**V**( E , q , q 1 ) = E q + q 2 + 12 q 1 - 6 q - 7 12 q 2 . ( 7 ) ##EQU00040##

**[0068]**Once the parameters q and q

_{l}have been estimated, they are used in conjunction with Eq. 4 to establish a calibrated PQ-noise model with determined parameters q and q

_{l}(block 510).

**[0069]**This calibrated PQ noise model with determined parameters q and q

_{l}(block 512) is then used to establish the intensity similarity measure (block 514). The intensity similarity measure is calculated based on the probability that intensity observations come from the same source intensity. In one implementation, the intensity similarity measure is calculated from an intensity similarity function obeying the formula:

**d**( k , l , Q ) = min λ { - ln ( P ( k , l , λ , Q ) ) } = - ln P ( k , l , λ ^ , Q ) = - ln { - 2 λ ^ ( i = q k q k + 1 - 1 λ ^ i i ) ( j = q l q l + 1 - 1 λ ^ j j ! ) } ( 14 ) ##EQU00041##

**[0070]**Once calculated, the intensity similarity measure is used to establish an intensity similarity measure table (block 516). When creating an intensity similarity measure table (block 516) the intensity similarity is computed for each combination of observations k and l. Therefore, the table becomes a symmetric square matrix where the number of rows and columns is the number of discrete observations, e.g., when the range of observation is 0-255, the number of rows and columns becomes 256. Once created, the intensity similarity table (block 518) provides an intensity similarity measure for two intensity observations. For instance, when two intensity values k and l are observed, the intensity similarity can be measured by looking up the intensity similarity measure table 518.

**An Exemplary Procedure to Process Video Content**

**[0071]**FIG. 5b shows an exemplary procedure 530 to find pixel correspondence between two frames of image information. For ease of understanding, the method 500 is delineated as separate steps represented as independent blocks in FIG. 5b; however, these separately delineated steps should not be construed as necessarily order dependent in their performance. Additionally, for discussion purposes, the method 530 is described with reference to elements in FIGS. 1-2 and 5a. This flow diagram may be implemented in any suitable hardware, software, firmware, or combination thereof In the case of software and firmware, this diagram represents sets of operations implemented as computer-executable instructions. The left-most digit of a component reference number identifies the particular figure in which the component first appears.

**[0072]**Once the table of intensity measure 518 has been created, it may be used to find pixel correspondences between two images. For example, at block 532, image information is received. This image information may be the same image information received at block 502 in method 500, or it may be new image information. Also the image information may include video information collected using camera 102, or any other suitable photographic device. Alternately, in another possible implementation, camera 102, or any other suitable photographic device, can be used to collect several still frames of an object of interest.

**[0073]**At block 534 two frames from either the video information or the collection of still frames are chosen.

**[0074]**At block 536 the two images are compared using the pre-calculated table of intensity similarity measure (block 518), and pixel correspondence between the two frames may be found using block matching optical flow estimation, or any other suitable method known in the art.

**An Exemplary Procedure to Create a PQ Noise Model**

**[0075]**FIG. 6 shows an exemplary procedure 600 to derive an intensity similarity measure. For ease of understanding, the method 600 is delineated as separate steps represented as independent blocks in FIG. 6; however, these separately delineated steps should not be construed as necessarily order dependent in their performance. Additionally, for discussion purposes, the method 600 is described with reference to elements in FIGS. 1-2. This flow diagram may be implemented in any suitable hardware, software, firmware, or combination thereof In the case of software and firmware, this diagram represents sets of operations implemented as computer-executable instructions. The left-most digit of a component reference number identifies the particular figure in which the component first appears.

**[0076]**Method 600 is used to derive an intensity similarity measure based upon the probability that two intensity observations come from the same source intensity. At block 602, the joint probability P of observing two intensity observations k and l having parameters λ

_{k}and λ

_{l}respectively with the quantization Q, is defined by:

**P**(k,l,λ

_{k},λ

_{l},Q)=p(k,λ

_{k},Q)p(l,λ

_{l}- ,Q), (12)

**[0077]**At block 604, maxima of joint probability P are isolated such that {circumflex over (λ)} (=λ

_{k}=λ

_{l}). This is equivalent to finding maxima in the probability that two intensity observations share the same intensity source. When λ

_{k}=λ

_{l}, it can be said that P(k,l,λ,Q)=P(k,l,λ

_{k},λ

_{l},Q). Moreover, since the logged probability -ln P is convex, maxima corresponding to {circumflex over (λ)} exist.

**[0078]**At block 606, intensity observations k and l are observed to determine if they are equal. If so ("yes" path from block 606) then the maxima of P(k,k,λ,Q) is found using the formula:

**λ ^ = ( q k ( q k + 1 - 1 ) ) 1 q k + 1 - q k - 1 ( block 608 ) . ##EQU00042##**

**[0079]**Alternately, if at block 606, intensity observations k and l are determined to be unequal ("no" path from block 606), then a dichotomic search over the first derivative of P is conducted to find {circumflex over (λ)} corresponding to minima for the convex function -ln(P) (block 610). In one implementation, the dichotomic search over the first derivative of P is conducted using the following algorithm:

**TABLE**-US-00002 Algorithm for finding the optimal {circumflex over (λ)} Inputs are k, l, q

_{k}, q

_{k}+1, q

_{1}, q

_{1}+1 and n

_{iter}. Set λ

_{min}= 0 and λ

_{max}sufficiently big, and n = 0 , While n < n

_{iter}and P' ≠ 0 do Set λ λ min + λ max 2 and n n + 1. ##EQU00043## Compute P ' = - ∂ ln ( P ( k , l , λ , Q ) ) ∂ λ ##EQU00044## If P' < 0 set λ

_{min} λ. If P' < 0 set λ

_{max} λ. done Set {circumflex over (λ)} λ.

**Alternately**, to find the optimal {circumflex over (λ)}, other descent methods such as gradient descent, Newton-Raphson, etc. can also be used.

**[0080]**The sign of P' can be determined (block 612) by computing the sign of:

**( λ q k + 1 - 1 ( q k + 1 - 1 ) ! - λ q k - 1 ( q k - 1 ) ! ) i = q l q l + 1 - 1 λ i i ! + ( λ q l + 1 - 1 ( q l + 1 - 1 ) ! - λ q l - 1 ( q l - 1 ) ! ) i = q k q k + 1 - 1 λ i i ! ( A ) ##EQU00045##**

**Once the optimal**{circumflex over (λ)} is found in block 608, or in blocks 610-612, the optimal value for {circumflex over (λ)} is then used by method 600 to determine the intensity similarity function by plugging the optimal {circumflex over (λ)} into the following function (block 614):

**d**( k , l , Q ) = min λ { - ln ( P ( k , l , λ , Q ) ) } = - ln P ( k , l , λ ^ , Q ) = - ln { - 2 λ ^ ( i = q k q k + 1 - 1 λ ^ i i ) ( j = q l q l + 1 - 1 λ ^ j j ! ) } ( 14 ) ##EQU00046##

**From the intensity similarity function**, an intensity similarity measure can be calculated.

**An Exemplary Operating Environment**

**[0081]**FIG. 7 illustrates an example of a suitable computing environment in which a Poisson-quantization (PQ) noise model can be used to create an intensity similarity measure. Exemplary computing environment 700 is only one example of a suitable computing environment for the exemplary system of FIG. 1, exemplary computing device of FIG. 2, and exemplary operations of FIGS. 5-6, and is not intended to suggest any limitation as to the scope of use or functionality of systems and methods the described herein. Neither should computing environment 700 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in computing environment 700.

**[0082]**The methods and systems described herein are operational with numerous other general purpose or special purpose computing systems, environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on. Compact or subset versions of the framework may also be implemented in clients of limited resources, such as handheld computers, or other computing devices. The invention is practiced in a distributed computing environment 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 memory storage devices.

**[0083]**With reference to FIG. 7, an exemplary system for calculating an intensity similarity measure based on the PQ noise model includes a general purpose computing device in the form of a computer 710 implementing, for example, computing device 200 of FIG. 2. The following described aspects of computer 710 are exemplary implementations of computing device 200, computer 116, computers 122(1)-122(N) and camera 102. Components of computer 710 may include, but are not limited to, processing unit(s) 720, a system memory 730, and a system bus 721 that couples various system components including the system memory to the processing unit 720. The system bus 721 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 may 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.

**[0084]**A computer 710 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computer 710 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 710.

**[0085]**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 a direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.

**[0086]**System memory 730 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 731 and random access memory (RAM) 732. A basic input/output system 733 (BIOS), containing the basic routines that help to transfer information between elements within computer 710, such as during start-up, is typically stored in ROM 731. RAM 732 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 720. By way of example and not limitation, FIG. 7 illustrates operating system 734, application programs 735, other program modules 736, and program data 737.

**[0087]**The computer 710 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 7 illustrates a hard disk drive 741 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 751 that reads from or writes to a removable, nonvolatile magnetic disk 752, and an optical disk drive 755 that reads from or writes to a removable, nonvolatile optical disk 756 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 741 is typically connected to the system bus 721 through a non-removable memory interface such as interface 740, and magnetic disk drive 751 and optical disk drive 755 are typically connected to the system bus 721 by a removable memory interface, such as interface 750.

**[0088]**The drives and their associated computer storage media discussed above and illustrated in FIG. 7, provide storage of computer-readable instructions, data structures, program modules and other data for the computer 710. In FIG. 7, for example, hard disk drive 741 is illustrated as storing operating system 744, application programs 745, other program modules 746, and program data 747. Note that these components can either be the same as or different from operating system 734, application programs 735, other program modules 736, and program data 737. Application programs 735 includes, for example program modules of computing devices 102 or 104 of FIG. 1. Program data 737 includes, for example, program data of computing devices 102 or 104 of FIG. 1. Operating system 744, application programs 745, other program modules 746, and program data 747 are given different numbers here to illustrate that they are at least different copies.

**[0089]**A user may enter commands and information into the computer 710 through input devices such as a keyboard 762 and pointing device 761, 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 720 through a user input interface 760 that is coupled to the system bus 721, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).

**[0090]**A monitor 791 or other type of display device is also connected to the system bus 721 via an interface, such as a video interface 790. In addition to the monitor, computers may also include other peripheral output devices such as printer 796 and audio device(s) 797, which may be connected through an output peripheral interface 795.

**[0091]**The computer 710 operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 780. In one implementation, remote computer 780 represents computing device 102 or networked computer 104 of FIG. 1. The remote computer 780 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and as a function of its particular implementation, may include many or all of the elements described above relative to the computer 710, although only a memory storage device 781 has been illustrated in FIG. 7. The logical connections depicted in FIG. 7 include a local area network (LAN) 771 and a wide area network (WAN) 773, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

**[0092]**When used in a LAN networking environment, the computer 710 is connected to the LAN 771 through a network interface or adapter 770. When used in a WAN networking environment, the computer 710 typically includes a modem 772 or other means for establishing communications over the WAN 773, such as the Internet. The modem 772, which may be internal or external, may be connected to the system bus 721 via the user input interface 760, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 710, or portions thereof, may be stored in the remote memory storage device. By way of example and not limitation, FIG. 7 illustrates remote application programs 785 as residing on memory device 781. The network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

**CONCLUSION**

**[0093]**Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.

User Contributions:

comments("1"); ?> comment_form("1"); ?>## Inventors list |
## Agents list |
## Assignees list |
## List by place |

## Classification tree browser |
## Top 100 Inventors |
## Top 100 Agents |
## Top 100 Assignees |

## Usenet FAQ Index |
## Documents |
## Other FAQs |

User Contributions:

Comment about this patent or add new information about this topic: