The present disclosure is directed at methods, systems, and techniques for adjusting camera focus to facilitate infrared imaging.
A camera, such as a video camera used in a physical security system, may have the ability to operate in a “day mode” and a “night mode”. When in day mode, an infrared cut-off filter (“IR cut filter”) filters out infrared light from the light that is incident on the camera's imager; this results in the camera generating an image only from visible light. When visible light levels are low, the camera may be switched to night mode, which removes the IR cut filter from the path of the incident light. Consequently, the camera's imager is exposed to infrared light and to the remaining low levels of visible light. This facilitates generation of an infrared-light based image in conditions in which visible light levels may be insufficient to permit a good quality image to be generated.
Given the commercial benefits and flexibility of having a camera that is able to operate in day and night modes, research and development continue into methods, systems, and techniques for facilitating infrared imaging.
According to a first aspect, there is provided a camera comprising a camera housing comprising an aperture to permit light to enter the camera housing; a lens located within the camera housing and positioned to refract the light entering the camera housing through the aperture; an imager located within the camera housing and positioned to receive the light that the lens refracts; a focus motor coupled to at least one of the lens and the imager and operable to adjust the focus of the camera by changing the position of the lens relative to the imager; a processor communicatively coupled to the focus motor; and a non-transitory computer readable medium communicatively coupled to the processor and having stored thereon computer program code that, when executed, causes the processor to perform a method comprising actuating the focus motor to adjust the focus of the camera to account for a difference in wavelength between visible and infrared light. The actuating comprises moving the focus motor to a position comprising a base value and an offset value.
The camera may further comprise an infrared cut-off filter (“IR cut filter”) located within the camera housing and movable between a day position wherein the light that is incident on the imager passes through the IR cut filter and a night position wherein the light that is incident on the imager bypasses the IR cut filter. The method may further comprise moving the IR cut filter from the day position to the night position.
The lens may be a zoom lens and the camera may further comprise a zoom motor coupled to the zoom lens and operable to adjust the focal length of the zoom lens.
The base value may be determined in accordance with a curve of focus motor position vs. zoom motor position at an object distance, and the curve may be determined for a wavelength of infrared light.
The base value may be determined in accordance with a curve relating focus motor position and a wavelength of infrared light, and wherein the curve is determined for an object distance.
The camera may further comprise an infrared emitter configured to emit infrared light at the wavelength for which the curve is determined; and a current driver electrically coupled to the infrared emitter and to the processor, the processor causing the current driver to activate the infrared emitter when the IR cut filter is in the night position.
The method may further comprise applying an autofocus method to determine the base value.
The offset value may be entered by a user of the camera.
The method may further comprise sending, to a client terminal, a prompt requesting that a person specify the offset value; and receiving, from the client terminal, the offset value in response to the prompt, with the actuating comprising moving the focus motor to the base value and, after receiving the offset value from the client terminal, moving the focus motor by the offset value.
The prompt may comprise a slider that ranges from a minimum value to a maximum value. The minimum value may correspond to moving the focus motor by a certain percentage of the total range of the focus motor in one direction and the maximum value may correspond to moving the focus motor by the certain percentage of the total range of the focus motor in an opposite direction. Alternatively, the minimum value may correspond to moving the focus motor a certain percentage of the distance between a current focus motor position and a lower limit position of the focus motor and the maximum value may correspond to moving the focus motor by the certain percentage of the distance between the current focus motor position and an upper limit position of the focus motor.
The method may further comprise applying an autofocus method to determine the offset value.
According to another aspect, there is provided a system for adjusting camera focus to facilitate infrared imaging. The system comprises a client terminal; and a camera. The camera comprises a camera housing comprising an aperture to permit light to enter the camera housing; a lens located within the camera housing and positioned to refract the light entering the camera housing through the aperture; an imager located within the camera housing and positioned to receive the light that the lens refracts; a focus motor coupled to at least one of the lens and the imager and operable to adjust the focus of the camera by changing the position of the lens relative to the imager; a processor communicatively coupled to the focus motor; and a non-transitory computer readable medium communicatively coupled to the processor and having stored thereon computer program code that, when executed, causes the processor to perform a method comprising: actuating the focus motor to adjust the focus of the camera to account for a difference in wavelength between visible and infrared light, wherein the actuating comprises moving the focus motor to a position comprising a base value and an offset value; sending, to the client terminal, a prompt requesting that a person specify the offset value; and receiving, from the client terminal, the offset value in response to the prompt. The actuating comprises moving the focus motor to the base value and, after receiving the offset value from the client terminal, moving the focus motor by the offset value.
The camera may further comprise an IR cut filter located within the camera housing and movable between a day position wherein the light that is incident on the imager passes through the IR cut filter and a night position wherein the light that is incident on the imager bypasses the IR cut filter, and the method may further comprise moving the IR cut filter from the day position to the night position.
The lens may be a zoom lens and the camera may further comprise a zoom motor coupled to the zoom lens and operable to adjust the focal length of the zoom lens.
The base value may be determined in accordance with a curve of focus motor position vs. zoom motor position at an object distance, and the curve may be determined for a wavelength of infrared light.
The base value may be determined in accordance with a curve relating focus motor position and a wavelength of infrared light, and wherein the curve is determined for an object distance.
The camera may further comprises an infrared emitter configured to emit infrared light at the wavelength for which the curve is determined; and a current driver electrically coupled to the infrared emitter and to the processor, the processor causing the current driver to activate the infrared emitter when the IR cut filter is in the night position.
The method may further comprise applying an autofocus method to determine the base value.
The prompt may comprise a slider that ranges from a minimum value to a maximum value. The minimum value may correspond to moving the focus motor by a certain percentage of the total range of the focus motor in one direction and the maximum value may correspond to moving the focus motor by the certain percentage of the total range of the focus motor in an opposite direction. Alternatively, the minimum value may correspond to moving the focus motor a certain percentage of the distance between a current focus motor position and a lower limit position of the focus motor and the maximum value may correspond to moving the focus motor by the certain percentage of the distance between the current focus motor position and an upper limit position of the focus motor.
According to another aspect, there is provided a method for adjusting camera focus to facilitate infrared imaging, the method comprising actuating a focus motor of a camera to adjust the focus of the camera to account for a difference in wavelength between visible and infrared light, wherein the actuating comprises moving the focus motor to a position comprising a base value and an offset value.
The camera may further comprise an IR cut filter movable between a day position wherein the light that is incident on the imager passes through the IR cut filter and a night position wherein the light that is incident on the imager bypasses the IR cut filter, and the method may further comprise moving the IR cut filter from the day position to the night position.
The camera may comprise a zoom lens and a zoom motor coupled to the zoom lens that is operable to adjust the focal length of the zoom lens.
The base value may be determined in accordance with a curve of focus motor position vs. zoom motor position at an object distance, and the curve may be determined for a wavelength of infrared light.
The base value may be determined in accordance with a curve relating focus motor position and a wavelength of infrared light, and wherein the curve is determined for an object distance.
The camera may further comprise an infrared emitter configured to emit infrared light at the wavelength for which the curve is determined and a current driver electrically coupled to the infrared emitter and to the processor, and the method may further comprise activating the infrared emitter when the IR cut filter is in the night position.
The method may further comprise applying an autofocus method to determine the base value.
The offset value may be entered by a user of the camera.
The method may further comprise sending, to a client terminal, a prompt requesting that a person specify the offset value; and receiving, from the client terminal, the offset value in response to the prompt. The actuating may comprise moving the focus motor to the base value and, after receiving the offset value from the client terminal, moving the focus motor by the offset value.
The prompt may comprise a slider that ranges from a minimum value to a maximum value. The minimum value may correspond to moving the focus motor by a certain percentage of the total range of the focus motor in one direction and the maximum value may correspond to moving the focus motor by the certain percentage of the total range of the focus motor in an opposite direction. Alternatively, the minimum value may correspond to moving the focus motor a certain percentage of the distance between a current focus motor position and a lower limit position of the focus motor and the maximum value may correspond to moving the focus motor by the certain percentage of the distance between the current focus motor position and an upper limit position of the focus motor.
The method may further comprise applying an autofocus method to determine the offset value.
According to another aspect, there is provided a non-transitory computer readable medium having encoded thereon computer program code that, when executed, causes a processor to perform the method of any of the above aspects or suitable variations thereof.
This summary does not necessarily describe the entire scope of all aspects. Other aspects, features and advantages will be apparent to those of ordinary skill in the art upon review of the following description of specific embodiments.
In the accompanying drawings, which illustrate one or more example embodiments:
Directional terms such as “top”, “bottom”, “upwards”, “downwards”, “vertically”, and “laterally” are used in the following description for the purpose of providing relative reference only, and are not intended to suggest any limitations on how any article is to be positioned during use, or to be mounted in an assembly or relative to an environment. Additionally, the term “couple” and variants of it such as “coupled”, “couples”, and “coupling” as used in this description are intended to include indirect and direct connections unless otherwise indicated. For example, if a first device is coupled to a second device, that coupling may be through a direct connection or through an indirect connection via other devices and connections. Similarly, if the first device is communicatively coupled to the second device, communication may be through a direct connection or through an indirect connection via other devices and connections.
One example type of camera that comprises an on-board light source is a camera that is able to illuminate a region of interest using infrared (“IR”) light and that is able to record and display the IR light that the region of interest reflects. This permits the camera to record images in darkness. However, for a camera that is able to image using IR light to also be useful during the day, the camera should also be able to image using visible light. As used herein, “IR light” refers to electromagnetic radiation having a wavelength of about 750 nm-about 1 mm and, more particularly, of about 750 nm-about 1,000 nm. Example wavelengths of IR light used particularly for imaging include about 850 nm and about 950 nm. While the wavelengths of “visible light” can vary, one industry accepted definition of “visible light” is electromagnetic radiation having a wavelength of about 400 nm-about 750 nm. As shown in
In at least some of the embodiments described herein, camera focus is adjusted in response to a change from a camera's “day mode”, in which the camera images based on visible light, to a camera's “night mode”, in which the camera images based on IR light. The change in focus is effected by actuating a focus motor mechanically coupled to the camera's lens, which moves at least a portion of the lens relative to the camera's imager and allows the lens's focal point to remain on the imager's surface. The amount the focus motor is moved is determined based on a “base value” and an “offset value”, with the base value determined using data provided by the lens manufacturer and the offset value being input by a user of the camera in response to real-time feedback from the camera. Requesting and applying the offset value when adjusting camera focus allows camera focus to be customized on a per-camera basis.
Referring now to
The camera 101 itself comprises a camera housing 104 comprising a housing wall that demarcates the interior of the camera 101 from the camera's 101 environment. A front portion 107 of the camera housing 104 comprises, at its front, a substantially flat face on which is overlaid a tinted window 102; the tinted window 102 hides the on-camera light source, as discussed in more detail below. At the center of the face is an optical aperture 106 through which light from the environment enters the camera housing 104.
Referring now to
The imaging apparatus 200 also comprises a microcontroller 215 communicatively coupled to the I2C interface 208; in this example embodiment, the microcontroller 215 is an Atmel™ AVR™ microcontroller. A lens driver 216 is communicatively coupled to at least one of the microcontroller's 215 GPIO lines. The lens driver 216 comprises a focus motor 217 and a zoom motor 219, each of which is mechanically coupled to a varifocal lens 220 (“zoom lens 220”). The zoom motor 219 changes the focal length of the zoom lens 220, which alters the camera's 101 field of view. The focus motor 217 alters the focal point of the zoom lens 220 by moving at least a portion of the zoom lens 220 relative to the imager 218; depending on the embodiment, one or both of the lens 220 and the imager 218 may be moved relative to the housing 104, for example, to adjust focus. The zoom motor 219 is movable between various positions with each position corresponding to a different focal length, and the focus motor 217 is movable between various positions with each position corresponding to a different focal point. As discussed in more detail below in respect of
The imaging apparatus 200 also comprises an imager 218 communicatively coupled to the image signal processor 210, an infrared cut-off filter actuator 230 (“IR cut filter actuator 230”) communicatively coupled to at least one of the microcontroller's 215 GPIO lines, an infrared cut-off filter 232 (“IR cut filter 232”) mechanically coupled to the IR cut filter actuator 230, and a pair of current drivers 222a,b (collectively, “current drivers 222”) each electrically coupled to a different one of the GPIO lines 206. Each of a pair of IR emitters 228a,b (collectively, “IR emitters 228”) is electrically coupled to a different one of the current drivers 222 and emits IR light when driven by the current drivers 222. One of the IR emitters 228 produces an IR beam having a wide angle linear profile (hereinafter “wide angle emitter 228a”) while the other of the IR emitters 228 produces an IR beam having a narrow angle linear profile (hereinafter “narrow angle emitter 228b”). The imager 218 is configured to capture light in the infrared spectrum and can be, for example, a digital sensor such as a complementary metal-oxide-semiconductor (“CMOS”) sensor. The specifications of the imager 218 and the zoom lens 220 can be selected based on an operator's requirements and performance expectations.
While
The zoom lens 220 is mounted at the front of the camera 101 and is positioned to refract the light that enters the camera housing 104 through the optical aperture 106. The imager 218 is also located within the camera housing 104 and is positioned behind the zoom lens 220 to receive the light that the zoom lens 220 refracts. The IR cut filter 232 is movable between a day position and a night position: when in the day position, the IR cut filter 232 is positioned between the zoom lens 220 and the imager 218 so that light that is incident on the imager 218 passes through the IR cut filter 232 and has had the infrared light filtered from it; when in the night position, the IR cut filter 232 is moved out of the path of the light incident on the imager 218 so that the incident light bypasses the IR cut filter 232. The processor 204 controls the IR cut filter's 232 position by signalling the IR cut filter actuator 230 via the I2C interface 208.
A printed circuit board (“PCB”, not shown) is also mounted at the front of the camera 101 around the zoom lens 220; the wide angle IR emitter 228a and narrow angle IR emitter 228b are respectively mounted on this PCB and face the same direction as the zoom lens 220 and serve to illuminate the field of view of the zoom lens with infrared light. The IR emitters 228 are aligned such that illumination pattern produced by each of the IR emitters 228 is centred on the same location in the field of view, and more particularly, at the center of the field of view of the zoom lens 220. The imaging apparatus 200 can be electrically coupled to a power source such as a nearby electrical outlet (not shown) and is configured with a maximum power rating that defines the total available power that can be sent to the IR emitters 228.
Each of the IR emitters 228 in this embodiment respectively comprises a set of infrared emitting diodes 224 (“IREDs 224”), each of which acts as an on-camera light source. An example of these IREDs 224 are a pair of Osram™ SFH4715S IREDs. The wide angle emitter 228a further comprises a right wide angle lenslet 230a and a left wide angle lenslet 230b (collectively, “wide angle lenslets” 230) and the narrow angle emitter 228b analogously further comprises a right narrow angle lenslet 231a and a left narrow angle lenslet 231b (collectively, “narrow angle lenslets” 231). The wide angle lenslets 230 are configured to shape the IRED emission into an IR beam with a linear profile that is relatively widely dispersed, and the narrow angle lenslets 231 are configured to shape the IRED emission into an IR beam with a linear profile that is relatively narrowly dispersed. Examples of these lenslets 230,231 are those provided by Ledil Oy™ based in Finland.
The current drivers 222 are designed to regulate the current delivered to the IR emitters 228. The current drivers 222 can be controlled to deliver all available power to one or the other of the IR emitters 228, or to vary the power ratio between the two IR emitters 228. The current drivers 222 may each be, for example, the AL8805 Buck LED Driver by On Semiconductor™. This program code stored on the memory 205 includes instructions for sending a control signal from the SoC 202 along two of the GPIO lines 206 to the current drivers 222 to produce the IR beam.
Referring now to
The GUI 500 of
The filter control 504 in
The zoom controls 506 permit the user to zoom the zoom lens 220 out or in; that is, to increase the camera's 101 field of view by decreasing the zoom lens's 220 focal length or to decrease the camera's 101 field of view by increasing the zoom lens's 220 focal length. Selecting the zoom controls 506 causes the processor 204 to actuate the camera's 101 zoom motor 219 if the zoom motor 219 is not at a limit position.
The focus controls 508 permit the user to focus the zoom lens 220 out or in; that is, to move the zoom lens 220 relative to the imager 218 so that objects that are located at longer object distances from the zoom lens 220 are in focus or so that objects that are located at shorter object distances from the zoom lens 220 are in focus. Selecting the focus controls 508 causes the processor 204 to actuate the camera's 101 focus motor 217 if the focus motor 217 is not at a limit position. The user may also instruct the camera 101 to autofocus itself, in which case the camera 101 applies any one of several known autofocus methods to automatically focus on an object within the camera's 101 field of view.
The memory 205 stores a lookup table of various focus motor vs. zoom motor positions. More specifically, in the depicted embodiment the memory 205 stores a 2D array with one index of the array representing zoom position, another index of the array representing object distance, and the value of the array representing the focus motor position (in motor steps). While only four different curves 602 are shown, the memory 205 may have stored in it values that correspond to any number of curves 602, each of which corresponds to a particular object distance and wavelength of light used for imaging. The curves 602 and the corresponding entries for the lookup table are provided by the manufacturer of the zoom lens 220. For any given object distance and light wavelength, the curves 602 represent the zoom and focus motor positions that result in an object at the object distance being imaged in focus.
While in the depicted example embodiment the curves 602 are of zoom motor position vs. focus motor position at various wavelengths of light and object distances, in different embodiments (not depicted) alternative curves 602 are possible. As another example, in embodiments in which the lens 220 has a static focal length and field-of-view, the curves 602 may be of object distance vs. focus motor position, with different curves 602 corresponding to different wavelengths of light; additionally or alternatively, in embodiments in which the lens 220 has a static focal length and field-of-view, the curves 602 may be of wavelength of light vs. focus motor position, with different curves 602 corresponding to different object distances.
The focal length of the zoom lens 220 varies with the wavelength of the light used to generate an image, as evidenced by contrasting the infinite infrared and visible curves 602a,b and the 0.01 m infrared and visible curves 602c,d. When the camera 101 switches from day mode to night mode and the processor 204 accordingly moves the IR cut filter 232 from the day position to the night position, the processor 204 actuates the focus motor 217 with the goal of having objects that are in focus when imaged using visible light remain in focus when imaged using infrared light.
For example, referring to the infinite infrared and visible curves 602a,b, the camera 101 may be focused at an infinite object distance and the focus and zoom motors 217,219 may be at positions corresponding to a first day mode point 614a on the infinite visible curve 602b. When the camera 101 switches to night mode and the processor 204 moves the IR cut filter 232 to the night position, the processor 204 accesses the lookup table stored in the memory 205 and automatically adjusts the focus motor position so that the zoom and focus motor positions correspond to a first base night mode point 612a on the infinite infrared curve 602a. The position of the focus motor 217 at the first night mode point 612a is the “base value”.
The infinite infrared curve 602a, however, may not accurately represent the characteristics of the zoom lens 220. For example, the lens manufacturer may base the infinite infrared curve 602a on ideal lens manufacturing conditions, when in reality lens-to-lens variability is introduced during manufacturing that makes the infinite infrared curve 602a only an approximation of the zoom lens's 220 behavior when infrared light is being used for imaging.
To address this, the user may specify an “offset value” by using the offset slider 502. If after the processor 204 adjusts the focus and zoom motor positions to those that correspond to the first base night mode point 612a and the object being focused on in the image 510 is blurry, the user can actuate the focus motor 217 by adjusting the offset slider 502. In
An analogous description applies to the 0.01 m infrared and visible curves 602c,d. With these curves 602c,d, during day mode the processor 204 positions the zoom and focus motors 219,217 at positions corresponding to the zoom and focus motor positions at a second day mode point 614b. Upon transitioning to night mode, the processor 204 moves the zoom and focus motors 219,217 to positions corresponding to those of a second base night mode point 612b; the focus motor position at the second base night mode point 612b is the “base value”. The user is then able to manually adjust the focus motor position and moves the focus motor position to the position corresponding to that of a second offset night mode point 610b. In contrast to the example involving the infinite infrared and visible curves 602a,b, with the 0.01 m infrared and visible curves 602c,d the user moves the offset slider 502 to a negative value. The difference between the focus motor positions at the second base and offset night points 612b,610b is again the “offset value”, which the processor 204 stores in the memory 205 for future use.
The relationship between movement of the offset slider 502 and change in focus motor position may take any one of several suitable forms. For example, in the depicted embodiment the offset slider 502 is used to select values ranging from [−100,100], with a value of 0 translating to no movement of the focus motor 217, a value of 100 translating to movement of one half the total range of the focus motor 217 in one direction, a value of −100 translating to movement of one half the total range of the focus motor in an opposite direction, and values selected from the intervals of (0,100) and (−100,0) being linearly interpolated from the focus motor positions that correspond to the offset slider 502 values of −100, 0, and 100. Alternatively, a value of 0 may translate to no movement of the focus motor 217, a value of 100 may translate to movement of one half the distance between the current focus motor position and its upper limit position, and a value of −100 may translate to movement of one half the distance between the current focus motor position and its lower limit position.
Referring now to
A LensCtrlInstance class implements the SetPositionOffset_(bool) method in the LensCtrl class, and uses a CalcManualIrOffset( ) method comprising part of a LensCtrlUtil class to translate the value the user enters using the offset slider 502 into a number of motor steps to be moved by the focus motor 217.
Referring now to
The processor 204 begins one branch of the method 800 at block 802 and proceeds to block 804 where it determines whether it is dark enough to enter night mode by referencing the camera's 101 luma sensor. If it not dark enough to enter night mode, the processor 204 proceeds to a delay block 806, subsequently returns to block 804, and loops until it is dark enough to enter night mode. Once it is dark enough to enter night mode, the processor 204 proceeds to block 808 and enters night mode. Upon entering night mode at block 808 the processor 204 moves the IR cut filter 232 to the night position and begins encoding images in monochrome to reflect that infrared light is being used for imaging. The processor 204 then proceeds to block 810 where it adjusts the focus motor position in accordance with the base value that the processor 204 accesses from the memory 205 and that corresponds to the curves 602 provided by the lens manufacturer. The processor 204 adjusts the focus motor position by calling SetRelFocusOffset(float). The processor 204 then proceeds to block 812 where it further adjusts the focus motor position based on the offset value, which is stored in the memory 205; the processor 204 does this by again calling SetRelFocusOffset(float). After setting the focus motor position, the processor 204 proceeds to block 814 where it determines based on readings from the camera's 101 luma sensor whether it is bright enough to return to day mode. If no, the processor 204 proceeds to a delay block 816 and loops between blocks 814 and 816 until it is bright enough to enter day mode. Once it is bright enough, the processor 204 proceeds to block 818 where the processor 204 enters day mode and consequently moves the IR cut filter 232 to the day position and begins color image encoding again. The processor 204 proceeds to block 820 where it resets the focus motor's 217 position to correspond with the curves 602 for visible light, and then repeats this branch of the method 800 by proceeding to block 804.
The processor 204 begins the other branch of the method 800 at block 822 and proceeds to block 824. At block 824, the processor 204 determines whether the user has specified an offset value using the offset slider 502. If no, the processor 204 loops back to block 824 and awaits user input; if yes, the processor 204 proceeds to block 826 and translates the user input from [−100,100] to a particular focus motor position using CalcManualOffset( ). The processor 204 then stores the offset value returned using CalcManualOffset( ) at block 830 in the memory 205. After storing the offset value the processor 204 proceeds to block 832 where it determines whether the camera 101 is currently in night mode. If no, the processor 204 does not need to adjust the focus motor's 217 position and it consequently returns to block 824. If yes, the processor 204 proceeds to block 834 where it adjusts the focus motor position based on the offset value before returning to block 824. Because the processor 204 adjusts the focus motor's 217 position based on the base and offset values upon entering the night mode at blocks 810 and 812, the processor 204 only adjusts the focus motor position at block 834 if the user changes the offset value while the camera is in night mode.
In one alternative embodiment (not depicted), the offset slider 502 may be replaced with an IR autofocus button (not shown), in which the processor 204 applies an autofocus method to automatically focus the camera 101 once it has entered night mode. This autofocus can be used to determine the offset value automatically, with the processor 204 determining the base value from the appropriate curves 602 as described above. Alternatively, the processor 204 may use autofocus while in night mode to determine both the base and offset values, in which case the processor 204 can avoid reference to the curves 602 as discussed above in respect of
While the camera 101 discussed above is able to emit and image using IR light, in some alternative embodiments (not depicted) the camera 101 does not comprise an on-board light source and relies instead on off-camera IR light sources to image using IR light. These off-camera IR sources may comprise, for example, standalone IR lamps or the subjects being recorded by the camera, such as IR emitting objects or people.
Furthermore, while the example embodiments above use the zoom lens 220, in alternative embodiments (not depicted) the camera's 101 lens may be a prime lens with a constant focal length. The processor 204 may nonetheless adjust the focus of the prime lens in response to whether the camera 101 is operating in day or night mode.
Additionally, while a single processor 204 and single memory 205 are shown in the example embodiments above, in alternative embodiments (not depicted) the processor 204 may be replaced with multiple processors 204 working independently or networked together to work in concert, and the memory 205 may be replaced with multiple memories 205 working independently or networked together to work in concert.
The processor 204 used in the foregoing embodiments may be, for example, a microprocessor, microcontroller, programmable logic controller, field programmable gate array, or an application-specific integrated circuit. Examples of the memory 205 are non-transitory computer readable media and include disc-based media such as CD-ROMs and DVDs, magnetic media such as hard drives and other forms of magnetic disk storage, semiconductor based media such as flash media, random access memory (including DRAM and SRAM), and read only memory.
It is contemplated that any part of any aspect or embodiment discussed in this specification can be implemented or combined with any part of any other aspect or embodiment discussed in this specification.
For the sake of convenience, the example embodiments above are described as various interconnected functional blocks. This is not necessary, however, and there may be cases where these functional blocks are equivalently aggregated into a single logic device, program or operation with unclear boundaries. In any event, the functional blocks can be implemented by themselves, or in combination with other pieces of hardware or software.
While particular embodiments have been described in the foregoing, it is to be understood that other embodiments are possible and are intended to be included herein. It will be clear to any person skilled in the art that modifications of and adjustments to the foregoing embodiments, not shown, are possible.
Number | Date | Country | |
---|---|---|---|
62055601 | Sep 2014 | US |