# Patent

## Title
Super resolution and color motion artifact correction in a pulsed color imaging system

## Abstract

The disclosure extends to methods, systems, and computer program products for producing an image in light deficient environments and associated structures, methods and features. The features of the systems and methods described herein may include providing improved resolution and color reproduction.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of (1) U.S. Provisional Application No. 61/790,487, filed Mar. 15, 2013, (2) U.S. Provisional Application No. 61/790,804, filed Mar. 15, 2013; and (3) U.S. Provisional Application No. 61/791,473, filed Mar. 15, 2013, all of which are hereby incorporated by reference herein in their entireties, including but not limited to those portions that specifically appear hereinafter, the incorporation by reference being made with the following exception: In the event that any portion of any of the above-referenced provisional applications is inconsistent with this application, this application supersedes said above-referenced provisional applications.


STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable.
BACKGROUND
Advances in technology have provided advances in imaging capabilities for medical use. One area that has enjoyed some of the most beneficial advances is that of endoscopic surgical procedures because of the advances in the components that make up an endoscope.
The disclosure relates generally to electromagnetic sensing and sensors. The disclosure also relates generally to increasing the resolution and color accuracy of a video stream. The features and advantages of the disclosure will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by the practice of the disclosure without undue experimentation. The features and advantages of the disclosure may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims.



BRIEF DESCRIPTION OF THE DRAWINGS
Non-limiting and non-exhaustive implementations of the disclosure are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified. Advantages of the disclosure will become better understood with regard to the following description and accompanying drawings where:
FIG. 1 illustrates a flow chart of a method and system for producing an image in a light deficient environment made in accordance with the principles and teachings of the disclosure;
FIG. 2 is an illustration of a schematic of a pixel array configured in an x and y plane;
FIG. 3 is an illustration of a schematic of a pixel array configured in an x and y plane in accordance with the principles and teachings of the disclosure;
FIG. 4 is a graphical representation of an imaged object's motion through time in accordance with the principles and teachings of the disclosure;
FIG. 5 illustrates a schematic of supporting and enabling hardware in accordance with the principles and teachings of the disclosure;
FIGS. 6A and 6B illustrate a perspective view and a side view, respectively, of an implementation of a monolithic sensor having a plurality of pixel arrays for producing a three dimensional image in accordance with the teachings and principles of the disclosure;
FIGS. 7A and 7B illustrate a perspective view and a side view, respectively, of an implementation of an imaging sensor built on a plurality of substrates, wherein a plurality of pixel columns forming the pixel array are located on the first substrate and a plurality of circuit columns are located on a second substrate and showing an electrical connection and communication between one column of pixels to its associated or corresponding column of circuitry; and
FIGS. 8A and 8B illustrate a perspective view and a side view, respectively, of an implementation of an imaging sensor having a plurality of pixel arrays for producing a three dimensional image, wherein the plurality of pixel arrays and the image sensor are built on a plurality of substrates.



DETAILED DESCRIPTION
The disclosure extends to methods, systems, and computer based products for digital imaging that may be primarily suited to medical applications. In the following description of the disclosure, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific implementations in which the disclosure may be practiced. It is understood that other implementations may be utilized and structural changes may be made without departing from the scope of the disclosure.
For any digital imaging system, the final quality of video depends fundamentally on the engineering details of the front-end image electronic capture process. Broadly speaking, perceived image quality is dependent on the following properties:
Signal to noise ratio (SNR)
Dynamic range (DR)
Spatial resolution
Perception of visible unnatural artifacts
Perception of spatial distortion
Color fidelity and appeal
In general, manufacturers of cameras for many common purposes face continuous pressure toward greater miniaturization and lower cost. Both factors may have a detrimental effect however, on their ability to deliver high quality images.
More expensive cameras often use three monochrome sensors, precisely coupled to an elaborate arrangement of prisms and filters, since that provides for the best spatial resolution and color separation. Color cameras based on a single sensor generally have individual pixel-sized color filters fabricated onto the sensor in a mosaic arrangement. The most popular mosaic is the Bayer pattern, which exploits the fact that spatial resolution is more important for green data than for red or blue. While much cheaper to fabricate, Bayer based cameras cannot achieve the image quality realized by three-sensor solutions because of the spacing of the pattern. Sophisticated interpolation (demosaic) algorithms, such as that proposed by Malvar, He and Cutlar at Microsoft Research, help to reduce the resolution loss, but it can never be fully recovered. Another undesirable side-effect comes in the form of artifacts introduced by the color segmentation pattern, which are especially egregious around black and white edges. This can be addressed by lowering the optical MTF, but that may further degrade the final camera resolution.
If pixel count is a valued trait, that may necessitate smaller pixels in order to make a marketable product. Smaller pixels naturally have lower signal capacity which may reduce the dynamic range. Lower signal capacity also means the maximum possible signal to noise ratio is reduced, since photon shot noise scales as the square root of the signal charge. Lowering the pixel area also reduces the sensitivity, not only in proportion with the capture area, but quite likely at an even greater rate than that. This is because it becomes harder to direct photons into the light sensitive structure and thus to maintain quantum efficiency. Loss of sensitivity may be compensated by lowering the F-number, however, that may reduce the depth of focus (which impacts the resolution), and may lead to greater spatial distortion. Smaller pixels are also harder to manufacture consistently, which may result in greater defect rates, etc.
Rather than making the pixels smaller, it is thus desirable to seek other ways to bolster the resolution. This disclosure concerns an approach in which a monochrome sensor is employed. The color information is produced by illuminating different frames with alternating single wavelengths (i.e. red, green and blue) or combinations thereof. This allows the full pixel count to be exploited and Bayer artifacts to be avoided, as in three-sensor cameras. One issue with the frame-wise color switching arises from motion occurring within the scene, from frame to frame. Since different frames supply different color components, unnatural, colored effects may be visible, particularly in the vicinity of significant edges. Implementations may involve a full custom sensor capable of captured frame rates as high as e.g. 240 fps. Having access to such high rates allows for high progressive video rates (e.g. 60 P or higher), post-color reconstruction. While the high capture rate limits the impact of color motion artifacts, they may still be visible depending on the incident angular rate of motion of the scene, or of any object within it, relative to the sensor.
An implementation may employ an approach to colored frame pulsing in which the red, green and blue monochromatic sources are pulsed in combination. For every second frame, their relative energies are set in proportion to the standard luminance (Y) coefficients, so as to provide direct luminance information. On the alternate frames, the chrominance (Cb and Cr) information is provided by making a linear sum of the standard luminance and chrominance coefficients in order to bring the corresponding individual pulse energies to zero or positive values. The chrominance frames themselves alternate between Cb and Cr. This is referred to herein as the Y-Cb-Y-Cr sequence. This approach offers an advantage in terms of perceived resolution, compared with pure red, green and blue (R-G-B-G) pulsing, since all of the Y information per resulting output frame is derived from a single captured frame. With R-G-B-G pulsing, data is combined from three adjacent frames to provide the luminance. Therefore any motion will impact the resultant image sharpness.
A system designed for small diameter endoscopes with the image sensor placed at the distal end may be realized, which may preserve HD resolution, high inherent dynamic range and high sensitivity at the same time. The basis of this is a specially designed monochrome sensor which has fewer pixels than, e.g., a 1280×720 Bayer sensor, but which has superior spatial resolution by virtue of being monochrome. Maintaining a relatively large pixel at the expense of pixel count has multiple advantages for image quality, as discussed earlier.
In this disclosure, a method is described to further enhance the perceived resolution by applying the principal of super-resolution (SR) and to correct for the color artifacts resulting from the frame-wise modulation of color (CMAC), by making use of the motion information that is extracted by the SR algorithm.
Before the structure, systems and methods for producing an image in a light deficient environment are disclosed and described, it is to be understood that this disclosure is not limited to the particular structures, configurations, process steps, and materials disclosed herein as such structures, configurations, process steps, and materials may vary somewhat. It is also to be understood that the terminology employed herein is used for the purpose of describing particular embodiments only and is not intended to be limiting since the scope of the disclosure will be limited only by the appended claims and equivalents thereof.
In describing and claiming the subject matter of the disclosure, the following terminology will be used in accordance with the definitions set out below.
It must be noted that, as used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise.
As used herein, the terms “comprising,” “including,” “containing,” “characterized by,” and grammatical equivalents thereof are inclusive or open-ended terms that do not exclude additional, unrecited elements or method steps.
As used herein, the phrase “consisting of” and grammatical equivalents thereof exclude any element or step not specified in the claim.
As used herein, the phrase “consisting essentially of” and grammatical equivalents thereof limit the scope of a claim to the specified materials or steps and those that do not materially affect the basic and novel characteristic or characteristics of the claimed disclosure.
As used herein, the term “proximal” shall refer broadly to the concept of a portion nearest an origin.
As used herein, the term “distal” shall generally refer to the opposite of proximal, and thus to the concept of a portion farther from an origin, or a furthest portion, depending upon the context.
As used herein, color sensors or multi spectrum sensors are those sensors known to have a color filter array (CFA) thereon so as to filter the incoming electromagnetic radiation into its separate components. In the visual range of the electromagnetic spectrum, such a CFA may be built on a Bayer pattern or modification thereon in order to separate green, red and blue spectrum components of the light.
In super resolution (SR), data from multiple, adjacent frames are combined to produce individual frames with higher spatial resolution. This depends upon accurate motion detection within local regions of the scene. Since the luminance plane is the most critical for spatial resolution, this is done for luminance frames only (or for green frames in the case of R-G-B-G light pulsing).
The systems and methods disclosed herein will be described in the context of the Y-Cb-Cr light pulsing scheme. However, the systems and methods of the disclosure are not limited or restricted to that particular pulsing scheme and are also applicable to the R-G-B-G image sequence scenario, with G taking the place of Y, and R and B taking the place of Cr and Cb.
There are four types of captured frames. Thus, for example, imagine f is a continuously rotating frame index which repeatedly counts from 0 to 3 during active video capture.
Then:
If (f mod 4)=0 or (f mod 4)=2 it is a Y frame, containing pure luminance information.
If (f mod 4)=1, it is a ‘Cb’ frame, containing a linear sum of Y and Cb data (Cb+Y).
If (f mod 4)=3, it is a ‘Cr’ frame, containing a linear sum of Y and Cr data (Cr+Y).
During frame reconstruction (color fusion), there may be one full color frame (in YCbCr space) generated for each luminance frame at the input. The luminance data may be combined with the chrominance data from the frame prior to and the frame following the Y frame. Note that given this pulsing sequence, the position of the Cb frame with respect to the Y frame ping-pongs between the before and after slots for alternate Y cases, as does its complementary Cr component. Therefore, the data from each captured Cb or Cr (i.e., C) frame may actually be utilized in two resultant full-color images. The minimum frame latency may be provided by performing the color fusion process during C frame capture.
FIG. 1 illustrates a flow chart of a method and system 100 for producing an image, image stream, or video in a light deficient environment made in accordance with the principles and teachings of the disclosure. It will be appreciated that the super resolution (SR) and color motion artifact correction (CMAC) processes 106 may take place within the camera ISP on raw, captured sensor data 102, right after all the digital sensor correction processes 104 and prior to fusion into linear RGB or YCbCr space color images. FIG. 1 illustrates placement of super resolution (SR) and color motion artifact correction (CMAC) within a camera ISP chain designed for frame-wise color modulation with Y-Cb-Y-Cr sequencing.
Two frame FIFOs are constructed, one for Y frames 110 in arrival order, the other for Cb plus Cr frames 108. The number of frames to use for the super resolution (SR) process is an optional variable. The Y FIFO depth would normally be odd in an actual embodiment, and its size would be determined by the available processing, memory or memory-bandwidth, or by motion detection precision or acceptable latency considerations. CMAC can in principle be performed with the minimum FIFO depth of 3 frames for Y and 2 for C. For the super resolution (SR) aspect, the use of 5 ‘Y’ frames may result in better resolution. On Y frames, the current object frame may be the central frame in the Y FIFO. On chrominance frames, the two C frames that flank the central Y frame may be adjusted in order to line up their motion to the central Y frame.
The motion detection method described here may be based upon the block matching approach which provides x and y motion vectors for small, independent blocks of pixels of configurable dimensions. There are other motion detection algorithms that could also be used in principle. Block matching offers advantages for simplicity of implementation, particularly for real time processing in hardware. A 2-stage match process is described which provides for a super resolved frame with double the pixel count in x and y. Further stages could be added to increase the pixel count further, however many more buffered frames and computation would be required to make it worthwhile.
In addition to the raw, buffered, Y object frame sitting in the middle of the Y FIFO (referred to as RY), three ×2 up-scaled versions of it may be created. The first may be up-scaled using bilinear interpolation (referred to as buffer BL), the second using bicubic interpolation (buffer BC) and the third with no interpolation, just zeros where the empty pixels are (called NI). BL may be used in the block matching method, NI forms the baseline for the super-resolved frame and BC is the fallback pixel source for unfilled pixels within the super-resolved frame.
Referring to FIG. 2, there is illustrated a schematic of a pixel array 201 configured in an x and y plane. For each Y frame in the buffer, except for RY, the array may be segmented into square blocks 206 of some dimension, (e.g., 4×4). Each block 206 of pixels 202 may be shifted around, one pixel at a time, in both x and y, within some defined range of shifts in both + and − directions (e.g., +/−3 pixels). For each location it may be compared to the equivalent block 208 of pixels 204 sitting in that location with the object frame, RY. The x and y shifts encountered for the best match position become the recorded Cartesian motion co-ordinates for all pixels within the block. There may be various ways to make the comparison and a relatively convenient metric. One implementation may be to take the modulus of the pixel differences, (i.e., between the stationary pixel 204 in RY and the corresponding pixel in the block 206 under study), summed over all pixels in the block. The best match may be taken as the minimum of this value. It can also be recorded for each block as a matching quality metric, which may be used to arbitrate between competing pixels during the super resolution (SR) process. In an implementation, the minimum sum of squared differences may be used as the matching metric, for example.
Referring now to FIG. 3, at this stage, each pixel 302 within non-RY, Y-frames, has a motion estimate that is quantized at the captured resolution. This may not provide a feature or use for super resolution (SR), but it can nevertheless be used for the CMAC, if no super resolution (SR) is desired. If ×2 super resolution is sought, the next stage involves, for block of pixels 306 within the non-RY frames 302, comparing to the BL buffer instead of the RY buffer. Starting from the best shifted position (according to the recorded motion vectors), shifts are performed by + and −1 half-pixel, giving a total of 9 possible positions as illustrated best in FIG. 3. A half-pixel in the Y frame under study is one whole pixel with respect to BL. Of those 9 possible pixel positions, the best match is again determined and the recorded motion vector is adjusted accordingly. If the motion vector at this stage has a half integer component (with  ̃75% probability), then it has the potential to enhance the final resolution.
Motion vectors for the two Y frames flanking RY, may be saved for the CMAC process, which occurs during the C frames.
The super resolution (SR) process itself may involve combining data from multiple Y frames into a central super-resolved frame, which is stationary with respect to the RY buffer. For each of the non-central Y buffers, a ×2 up-scaled version may be produced, in which the individual blocks have been shifted according to their (x,y) motion vectors. Any pixels at the ×2 resolution that are not filled after shifting are left blank.
The basis of the super-resolved frame is the NI buffer, which is the up-scaled version of RY with no interpolation. Three out of every four pixels in NI may be initially blank, and the primary objective is to fill the pixels with data from the up-scaled & shifted Y buffers. One approach may be to scan through the pixels looking for the first match for each empty pixel. At the end, any pixels that are still blank may be filled in from the BC buffer, which is the bicubic interpolated version of the central Y frame. Another approach to filling blank pixels may be to assess all possible candidates and choose the best one, based on some parameter that has been logged as a motion estimate quality metric. An example of such a metric may be the minimum sum of absolute differences for the originating block of pixels, or some derivative thereof. This requires at least one additional frame buffer per Y frame. Alternatively, all candidates can be combined in some way, e.g., as an average, which can be, e.g., weighted according to a quality parameter. In this case, even the non-zero pixels in NI can be substituted as well. The benefit may be that in addition to enhancing the resolution, the net signal to noise ratio is improved. Candidates with notably poor quality values can also be rejected altogether.
FIG. 4 illustrates the issue of significant motion from frame to frame with frame-wise color modulation. In the figure, the ball 402 is illustrated as moving on a trajectory across the scene during capture, resulting in different positions for the Y, Cb and Cr components. The color motion artifact correction may utilize the relative motion estimate for adjacent Y frames, to predict the motion that occurred for the intermediate C frames relative to the Y frame, to which they become associated during color fusion. One implementation may be to take the motion vectors and divide them by 2. In this implementation, there is an assumption that any motion that has occurred from Y frame to Y frame is linear. In an implementation, if motion estimation is available for 3 or more Y frames in addition to the object frame (RY), then bicubic interpolation may be employed for a more precise interpolation.
The pixel shifting can take place either at the original or the doubled resolution, following a bicubic upscale. Either way, after shifting there are many void locations with various random shapes and sizes to be filled in.
The application of the motion information is a little different for CMAC compared with super resolution (SR). Super resolution (SR) has the bicubic up-scaled version of RY as its default, so the worst case is that a pixel void is filled by interpolation using its sixteen closest neighbors in the correct motion frame. For CMAC there may be no predicting the distance of the nearest filled neighbors, all is known is that it is limited to the original block search distance divided by two (in the case of linear interpolation). Some means of interpolation is thus required to fill in the holes. One implementation to do this is for each missing pixel, find the distance to the closest filled pixel in +x, −x, +y and −y, then fill with an average level that has been weighted according to the reciprocal of each distance.
It should be noted that as used herein the term “light” is both a particle and a wavelength, and is intended to denote electromagnetic radiation that is detectable by a pixel array, and may be include wavelengths from the visible and non-visible spectrums of electromagnetic radiation. The term “partition” is used herein to mean a predetermined range of wavelengths of the electromagnetic spectrum that is less than the entire spectrum, or in other words, wavelengths that make up some portion of the electromagnetic spectrum. An emitter may be a light source that is controllable as to the portion of the electromagnetic spectrum that is emitted, the intensity of the emissions, or the duration of the emission, or all three. An emitter may emit light in any dithered, diffused, or columnated emission and may be controlled digitally or through analog methods or systems.
A pixel array of an image sensor may be paired with an emitter electronically, such that they are synced during operation for both receiving the emissions and for the adjustments made within the system. An emitter may be tuned to emit electromagnetic radiation, which may be pulsed in order to illuminate an object. It will be appreciated that the emitter may be in the form of a laser, which may be pulsed in order to illuminate an object. The emitter may pulse at an interval that corresponds to the operation and functionality of a pixel array. The emitter may pulse light in a plurality of electromagnetic partitions, such that the pixel array receives electromagnetic energy and produces a data set that corresponds (in time) with each specific electromagnetic partition.
A system may comprise a monochromatic pixel array (black and white), which is simply sensitive to electromagnetic radiation of any wavelength. The light emitter illustrated in the figure may be a laser emitter that is capable of emitting a green electromagnetic partition, a blue electromagnetic partition, and a red electromagnetic partition in any desired sequence. It will be appreciated that other light emitters may be used without departing from the scope of the disclosure, such as digital or analog based emitters.
During operation, the data created by the monochromatic sensor for any individual pulse may be assigned a specific color partition, wherein the assignment may be based on the timing of the pulsed color partition from the emitter. Even though the pixels are not color dedicated they can be assigned a color for any given data set based on timing. In one embodiment, three data sets representing RED, GREEN and BLUE pulses may then be combined to form a single image frame. It will be appreciated that the disclosure is not limited to any particular color combination or any particular electromagnetic partition, and that any color combination or any electromagnetic partition may be used in place of RED, GREEN and BLUE, such as Cyan, Magenta and Yellow, Ultraviolet, infra-red, or any other color combination, including all visible and non-visible wavelengths, without departing from the scope of the disclosure. The object to be imaged contains a red portion, green portion and a blue portion. As illustrated in the figure, the reflected light from the electromagnetic pulses only contains the data for the portion of the object having the specific color that corresponds to the pulsed color partition. Those separate color (or color interval) data sets can then be used to reconstruct the image by combining the data sets.
Implementations of the disclosure may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Implementations within the scope of the disclosure may also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are computer storage media (devices). Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, implementations of the disclosure can comprise at least two distinctly different kinds of computer-readable media: computer storage media (devices) and transmission media.
Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. In an implementation, a sensor and camera control unit may be networked in order to communicate with each other, and other components, connected over the network to which they are connected. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures that can be transferred automatically from transmission media to computer storage media (devices) (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media (devices) at a computer system. RAM can also include solid state drives (SSDs or PCIx based real time memory tiered Storage, such as FusionIO). Thus, it should be understood that computer storage media (devices) can be included in computer system components that also (or even primarily) utilize transmission media.
Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. 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 described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
Those skilled in the art will appreciate that the disclosure may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, control units, camera control units, hand-held devices, hand pieces, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, various storage devices, and the like. It should be noted that any of the above mentioned computing devices may be provided by or located within a brick and mortar location. The disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
Further, where appropriate, functions described herein can be performed in one or more of: hardware, software, firmware, digital components, or analog components. For example, one or more application specific integrated circuits (ASICs) or field programmable gate arrays can be programmed to carry out one or more of the systems and procedures described herein. Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, components may be referred to by different names. This document does not intend to distinguish between components that differ in name, but not function.
FIG. 5 is a block diagram illustrating an example computing device 500. Computing device 500 may be used to perform various procedures, such as those discussed herein. Computing device 500 can function as a server, a client, or any other computing entity. Computing device can perform various monitoring functions as discussed herein, and can execute one or more application programs, such as the application programs described herein. Computing device 500 can be any of a wide variety of computing devices, such as a desktop computer, a notebook computer, a server computer, a handheld computer, camera control unit, tablet computer and the like.
Computing device 500 includes one or more processor(s) 502, one or more memory device(s) 504, one or more interface(s) 506, one or more mass storage device(s) 508, one or more Input/Output (I/O) device(s) 510, and a display device 530 all of which are coupled to a bus 512. Processor(s) 502 include one or more processors or controllers that execute instructions stored in memory device(s) 504 and/or mass storage device(s) 508. Processor(s) 502 may also include various types of computer-readable media, such as cache memory.
Memory device(s) 504 include various computer-readable media, such as volatile memory (e.g., random access memory (RAM) 514) and/or nonvolatile memory (e.g., read-only memory (ROM) 516). Memory device(s) 504 may also include rewritable ROM, such as Flash memory.
Mass storage device(s) 508 include various computer readable media, such as magnetic tapes, magnetic disks, optical disks, solid-state memory (e.g., Flash memory), and so forth. As shown in FIG. 5, a particular mass storage device is a hard disk drive 524. Various drives may also be included in mass storage device(s) 508 to enable reading from and/or writing to the various computer readable media. Mass storage device(s) 508 include removable media 526 and/or non-removable media.
I/O device(s) 510 include various devices that allow data and/or other information to be input to or retrieved from computing device 500. Example I/O device(s) 510 include digital imaging devices, electromagnetic sensors and emitters, cursor control devices, keyboards, keypads, microphones, monitors or other display devices, speakers, printers, network interface cards, modems, lenses, CCDs or other image capture devices, and the like.
Display device 530 includes any type of device capable of displaying information to one or more users of computing device 500. Examples of display device 530 include a monitor, display terminal, video projection device, and the like.
Interface(s) 106 include various interfaces that allow computing device 500 to interact with other systems, devices, or computing environments. Example interface(s) 506 may include any number of different network interfaces 520, such as interfaces to local area networks (LANs), wide area networks (WANs), wireless networks, and the Internet. Other interface(s) include user interface 518 and peripheral device interface 522. The interface(s) 506 may also include one or more user interface elements 518. The interface(s) 506 may also include one or more peripheral interfaces such as interfaces for printers, pointing devices (mice, track pad, etc.), keyboards, and the like.
Bus 512 allows processor(s) 502, memory device(s) 504, interface(s) 506, mass storage device(s) 508, and I/O device(s) 510 to communicate with one another, as well as other devices or components coupled to bus 512. Bus 512 represents one or more of several types of bus structures, such as a system bus, PCI bus, IEEE 1394 bus, USB bus, and so forth.
For purposes of illustration, programs and other executable program components are shown herein as discrete blocks, although it is understood that such programs and components may reside at various times in different storage components of computing device 500, and are executed by processor(s) 502. Alternatively, the systems and procedures described herein can be implemented in hardware, or a combination of hardware, software, and/or firmware. For example, one or more application specific integrated circuits (ASICs) can be programmed to carry out one or more of the systems and procedures described herein.
Referring now to FIGS. 6A and 6B, the figures illustrate a perspective view and a side view, respectively, of an implementation of a monolithic sensor 600 having a plurality of pixel arrays for producing a three dimensional image in accordance with the teachings and principles of the disclosure. Such an implementation may be desirable for three dimensional image capture, wherein the two pixel arrays 602 and 604 may be offset during use. In another implementation, a first pixel array 602 and a second pixel array 604 may be dedicated to receiving a predetermined range of wave lengths of electromagnetic radiation, wherein the first pixel array 602 is dedicated to a different range of wave length electromagnetic radiation than the second pixel array 604.
FIGS. 7A and 7B illustrate a perspective view and a side view, respectively, of an implementation of an imaging sensor 700 built on a plurality of substrates. As illustrated, a plurality of pixel columns 704 forming the pixel array are located on the first substrate 702 and a plurality of circuit columns 708 are located on a second substrate 706. Also illustrated in the figure are the electrical connection and communication between one column of pixels to its associated or corresponding column of circuitry. In one implementation, an image sensor, which might otherwise be manufactured with its pixel array and supporting circuitry on a single, monolithic substrate/chip, may have the pixel array separated from all or a majority of the supporting circuitry. The disclosure may use at least two substrates/chips, which will be stacked together using three-dimensional stacking technology. The first 702 of the two substrates/chips may be processed using an image CMOS process. The first substrate/chip 702 may be comprised either of a pixel array exclusively or a pixel array surrounded by limited circuitry. The second or subsequent substrate/chip 706 may be processed using any process, and does not have to be from an image CMOS process. The second substrate/chip 706 may be, but is not limited to, a highly dense digital process in order to integrate a variety and number of functions in a very limited space or area on the substrate/chip, or a mixed-mode or analog process in order to integrate for example precise analog functions, or a RF process in order to implement wireless capability, or MEMS (Micro-Electro-Mechanical Systems) in order to integrate MEMS devices. The image CMOS substrate/chip 702 may be stacked with the second or subsequent substrate/chip 706 using any three-dimensional technique. The second substrate/chip 706 may support most, or a majority, of the circuitry that would have otherwise been implemented in the first image CMOS chip 702 (if implemented on a monolithic substrate/chip) as peripheral circuits and therefore have increased the overall system area while keeping the pixel array size constant and optimized to the fullest extent possible. The electrical connection between the two substrates/chips may be done through interconnects 703 and 705, which may be wirebonds, bump and/or TSV (Through Silicon Via).
FIGS. 8A and 8B illustrate a perspective view and a side view, respectively, of an implementation of an imaging sensor 800 having a plurality of pixel arrays for producing a three dimensional image. The three dimensional image sensor may be built on a plurality of substrates and may comprise the plurality of pixel arrays and other associated circuitry, wherein a plurality of pixel columns 804a forming the first pixel array and a plurality of pixel columns 804b forming a second pixel array are located on respective substrates 802a and 802b, respectively, and a plurality of circuit columns 808a and 808b are located on a separate substrate 806. Also illustrated are the electrical connections and communications between columns of pixels to associated or corresponding column of circuitry.
It will be appreciated that the teachings and principles of the disclosure may be used in a reusable device platform, a limited use device platform, a re-posable use device platform, or a single-use/disposable device platform without departing from the scope of the disclosure. It will be appreciated that in a re-usable device platform an end-user is responsible for cleaning and sterilization of the device. In a limited use device platform the device can be used for some specified amount of times before becoming inoperable. Typical new device is delivered sterile with additional uses requiring the end-user to clean and sterilize before additional uses. In a re-posable use device platform a third-party may reprocess the device (e.g., cleans, packages and sterilizes) a single-use device for additional uses at a lower cost than a new unit. In a single-use/disposable device platform a device is provided sterile to the operating room and used only once before being disposed of.
Additionally, the teachings and principles of the disclosure may include any and all wavelengths of electromagnetic energy, including the visible and non-visible spectrums, such as infrared (IR), ultraviolet (UV), and X-ray.
It will be appreciated that various features disclosed herein provide significant advantages and advancements in the art. The following embodiments are exemplary of some of those features.
In the foregoing Detailed Description of the Disclosure, various features of the disclosure are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed disclosure requires more features than are expressly recited in each claim. Rather, inventive aspects lie in less than all features of a single foregoing disclosed embodiment.
It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the disclosure. Numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of the disclosure and the appended claims are intended to cover such modifications and arrangements.
Thus, while the disclosure has been shown in the drawings and described above with particularity and detail, it will be apparent to those of ordinary skill in the art that numerous modifications, including, but not limited to, variations in size, materials, shape, form, function and manner of operation, assembly and use may be made without departing from the principles and concepts set forth herein.
The foregoing description has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. Further, it should be noted that any or all of the aforementioned alternate implementations may be used in any combination desired to form additional hybrid implementations of the disclosure.
Further, although specific implementations of the disclosure have been described and illustrated, the disclosure is not to be limited to the specific forms or arrangements of parts so described and illustrated. The scope of the disclosure is to be defined by the claims appended hereto, any future claims submitted here and in different applications, and their equivalents.

## Claims

1. A digital imaging method for use with an endoscope in ambient light deficient environments comprising:
actuating an emitter to emit a plurality of pulses of electromagnetic radiation, wherein the plurality of pulses comprises a sequence of predetermined wavelengths of electromagnetic radiation to cause illumination within the light deficient environment;
pulsing said emitter at a predetermined interval;
sensing reflected electromagnetic radiation from each of said pulses with a pixel array;
wherein said pixel array is actuated at a sensing interval that corresponds to the pulse interval of said emitter;
creating a sample frame for each pulse of electromagnetic radiation in the sequence, wherein the sample frame comprises one of chrominance or luminance;
providing a plurality of sample frames to create an output frame, wherein the plurality of sample frames comprise a plurality of luminance sample frames and at least one chrominance sample frame;
detecting motion of objects being imaged;
increasing resolution for the pixel array by compensating for the detected motion based at least in part on the luminance sample frames;
wherein increasing resolution comprises:
sensing luminescence of a plurality of neighboring pixels to gather luminance data;
bilinear interpolating the luminance data into a first upscaled data set;
bicubic interpolating the luminance data into a second upscaled data set;
creating a baseline with no interpolation of the luminance data into a third upscaled data set; and

creating a stream of images by combining each output frame, such that there is a constant output frame rate.

2. The method of claim 1, wherein said sensing process comprises sensing luminance and linear sums of luminance plus chrominance in adjacent images in a stream of images forming a video stream.

3. The method of claim 2, further comprising indexing frames within the video stream with a rotating frame index.

4. The method of claim 3, wherein the rotating frame index comprises four counts.

5. The method of claim 4, further comprising reconstructing the video stream by combining luminance and chrominance data from a prior indexed frame.

6. The method of claim 4, further comprising reconstructing the video stream by combining luminance and chrominance data from a prior indexed frame and following indexed frame.

7. The method of claim 4, further comprising reconstructing a frame for luminance and two frames for chrominance.

8. The method of claim 4, further comprising reconstructing the video stream by combining luminance and chrominance data from a plurality of prior indexed frames and a plurality of latter indexed frames for increased resolution and accuracy.

9. The method of claim 1, wherein the first upscaled data set is used for block matching.

10. The method of claim 1, wherein the second upscaled data set is used for fall back pixel data.

11. The method of claim 1, wherein the third upscaled data set forms the baseline for a resolution-enhanced data set.

12. The method of claim 1, further comprising segmenting data created by the pixel array into segments of pixels and nearest neighbors.

13. The method of claim 12, further comprising shifting each segment of pixels in the x direction and comparing with a neighboring frame at the same resolution, in order to determine motion of an object being imaged in the x direction.

14. The method of claim 13, further comprising shifting each segment of pixels in the x direction in sub-pixel increments and comparing to a first up-scaled data set for greater precision of motion detection in the x direction.

15. The method of claim 13, further comprising shifting each segment of pixels in the y direction and comparing with a neighboring frame at the same resolution, in order to determine motion of an object being imaged in the y direction.

16. The method of claim 15, further comprising shifting each segment of pixels in the y direction in sub-pixel increments and comparing to a first up-scaled data set for greater precision of motion detection in the y direction.

17. The method of claim 15, further comprising determining the vector of the motion of the object by combining the x and y motion of the object being imaged.

18. The method of claim 17, further comprising estimating motion to combine data from multiple luminance frames into a single, higher resolution luminance frame.

19. The method of claim 18, wherein said process is repeated for every frame containing luminance data in a continuous sequence.

20. The method of claim 19, further comprising utilizing the motion estimation between neighboring luminance frames to infer the motion at the intermediate frames, containing the chrominance data, with respect to luminance frames, by interpolation.

21. The method of claim 20, wherein said process is repeated for every frame containing chrominance data in a continuous sequence.

22. The method of claim 1, further comprising: actuating the emitter to emit a plurality of pulses of electromagnetic radiation in sequence to cause illumination; wherein a first pulse is within a first range that is only a portion of an electromagnetic spectrum,
wherein a second pulse is within a second range that is only a portion of an electromagnetic spectrum,
wherein a third pulse is within a third range that is only a portion of an electromagnetic spectrum,
pulsing said pulses at a predetermined interval,
wherein said pixel array is actuated at a first sensing interval that corresponds to the pulse interval of said first pulse,
wherein said pixel array is actuated at a second sensing interval that corresponds to the pulse interval of said second pulse, and
wherein said pixel array is actuated at a third sensing interval that corresponds to the pulse interval of said third pulse.

23. The method of claim 22, wherein a blanking interval is concurrent with a portion of any interval of said first pulse, second pulse, or third pulse.

24. The method of claim 1, wherein the method further comprises correcting for color artifacts due to the pulsing of the emitter and the detected motion, wherein the plurality of sample frames comprise adjacent luminance sample frames and an intermediate chrominance sample frame, and wherein the correcting for color artifacts utilizes a relative motion estimate for the adjacent luminance sample frames to predict motion that occurred for the intermediate chrominance frame relative to the luminance frames to which they become associated during a color fusion to create the output frame.

25. The method of claim 1, wherein said emitter is a laser diode.

26. The method of claim 1, wherein said emitter is a light emitting diode (LED).

27. A digital imaging method for use with an endoscope in ambient light deficient environments comprising:
actuating an emitter to emit a plurality of pulses of electromagnetic radiation, wherein the plurality of pulses comprises a sequence of predetermined wavelengths of electromagnetic radiation to cause illumination within the light deficient environment;
pulsing said emitter at a predetermined interval;
sensing reflected electromagnetic radiation from each of said pulses with a pixel array;
wherein said pixel array is actuated at a sensing interval that corresponds to the pulse interval of said emitter;
creating a sample frame for each pulse of electromagnetic radiation in the sequence, wherein the sample frame comprises one of chrominance or luminance;
providing a plurality of sample frames to create an output frame, wherein the plurality of sample frames comprise a plurality of luminance sample frames and at least one chrominance sample frame;
detecting motion of objects being imaged;
increasing resolution for the pixel array by compensating for the detected motion based at least in part on the luminance sample frames;
wherein increasing resolution comprises:
sensing luminescence of a plurality of neighboring pixels to gather luminance data;
bilinear interpolating the luminance data into a first upscaled data set;
bicubic interpolating the luminance data into a second upscaled data set;
creating a baseline with no interpolation of the luminance data into a third upscaled data set;

correcting for color artifacts due to the pulsing of the emitter and the detected motion; and
creating a stream of images by combining each output frame, such that there is a constant output frame rate.

28. The method of claim 27, wherein the first upscaled data set is used for block matching.

29. The method of claim 27, wherein the second upscaled data set is used for fall back pixel data.

30. The method of claim 27, wherein the third upscaled data set forms the basis of a resolution-enhanced data set.

31. The method of claim 27, further comprising segmenting data created by the pixel array into segments of pixels and nearest neighbors.

32. The method of claim 31, further comprising shifting each segment of pixels in the x direction in order to determine motion of an object being imaged in the x direction.

33. The method of claim 32, further comprising shifting each segment of pixels in the y direction in order to determine motion of an object being imaged in the y direction.

34. The method of claim 33, further comprising determining the vector of the motion of the object by combining the x and y motion of the object being imaged.

35. The method of claim 34, further comprising plotting the motion of the object being imaged by accounting for the modulus of pixel differences between frames of the stream of images.

36. The method of claim 27, further comprising: actuating the emitter to emit a plurality of pulses of electromagnetic radiation in sequence to cause illumination,
wherein a first pulse is within a first range that is only a portion of an electromagnetic spectrum,
wherein a second pulse is within a second range that is only a portion of an electromagnetic spectrum,
wherein a third pulse is within a third range that is only a portion of an electromagnetic spectrum,
pulsing said pulses at a predetermined interval,
wherein said pixel array is actuated at a first sensing interval that corresponds to the pulse interval of said first pulse,
wherein said pixel array is actuated at a second sensing interval that corresponds to the pulse interval of said second pulse, and
wherein said pixel array is actuated at a third sensing interval that corresponds to the pulse interval of said third pulse.

37. The method of claim 36, further comprising: actuating said emitter to not emit light for a calibration interval, and actuating said pixel array during said calibration interval.

38. The method of claim 37, further comprising: stopping further pulses if said pixel array senses light during said calibration interval.

39. The method of claim 36, wherein a blanking interval is not concurrent with any interval of said first beam of light, second beam of light, or third beam of light.

40. The method of claim 36, wherein a blanking interval is concurrent with a portion of any interval of said first pulse, second pulse, or third pulse.

41. The method of claim 36, wherein said pulse is of a green visible light spectrum range, and wherein said second pulse is of a red visible light spectrum, and wherein said third pulse is of a blue visible light spectrum.

42. The method of claim 36, wherein one of said pulses is from a non-visible range of electromagnetic spectrum.

43. The method of claim 36, wherein said sensor is configured to sense any of said first pulse, second pulse, and third pulse equally.

44. The method of claim 36, wherein said sensor is configured to sense any spectrum range of said electromagnetic spectrum.

45. The method of claim 27, wherein said emitter is a laser diode.

46. The method of claim 27, wherein said emitter is a light emitting diode (LED).