# Patent

## Title
Systems and methods for array camera focal plane control

## Abstract

Systems and methods for controlling the parameters of groups of focal planes as focal plane groups in an array camera are described. One embodiment includes a plurality of focal planes, and control circuitry configured to control the capture of image data by the pixels within the focal planes. In addition, the control circuitry includes: a plurality of parameter registers, where a given parameter register is associated with one of the focal planes and contains configuration data for the associated focal plane; and a focal plane group register that contains data identifying focal planes that belong to a focal plane group. Furthermore, the control circuitry is configured to control the imaging parameters of the focal planes in the focal plane groups by mapping instructions that address virtual register addresses to the addresses of the parameter registers associated with focal planes within specific focal plane groups.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation of U.S. application Ser. No. 14/079,510 entitled “Systems and Methods for Array Camera Focal Plane Control,” filed Nov. 13, 2013, which application claims priority to U.S. Provisional Patent Application Ser. No. 61/725,934 entitled “Systems and Methods for Array Camera Focal Plane Control,” filed Nov. 13, 2012, and U.S. Provisional Patent Application Ser. No. 61/772,315 entitled “Systems and Methods for Array Camera Focal Plane Control,” filed Mar. 4, 2013. The disclosures of which are hereby incorporated by reference in their entirety.


FIELD OF THE INVENTION
The present invention is generally related to array cameras and more specifically to parameter control of array camera focal plane groups by an external device such as a processor.
BACKGROUND
Imaging devices, such as cameras, can be used to capture images of portions of the electromagnetic spectrum, such as the visible light spectrum, incident upon an image sensor. For ease of discussion, the term light is generically used to cover radiation across the entire electromagnetic spectrum. In a typical imaging device, light enters through an opening (aperture) at one end of the imaging device and is directed to an image sensor by one or more optical elements such as lenses. The image sensor includes pixels or sensor elements that generate signals upon receiving light via the optical element. Commonly used image sensors include charge-coupled device (CCDs) sensors and complementary metal-oxide semiconductor (CMOS) sensors.
Generally, image capture utilizes a single image sensor, to capture individual images, one at a time. A digital camera typically combines both an image sensor and processing capabilities. When the digital camera takes a photograph, the data captured by the image sensor is provided to the processor by the image sensor. Processors are able to control aspects of a captured image by changing image capture parameters of the sensor elements or groups of sensor elements used to capture the image. Integration time, which is the length of time that a sensor element measures incident light, is one parameter that can be adjusted to increase or decrease light exposure for an image sensor. Another parameter that the processor can control is pixel gain, which is the adjustment of the scaling applied to the signal generated by the sensor element.
SUMMARY OF THE INVENTION
Systems and methods in accordance with embodiments of the invention for controlling the parameters of groups of focal planes as focal plane groups in an array camera. One embodiment of the invention includes a plurality of focal planes, where each focal plane includes a plurality of rows of pixels that also form a plurality of columns of pixels and each focal plane is contained within a region that does not contain pixels from another focal plane, and control circuitry configured to control the capture of image data by the pixels within the focal planes, where the control circuitry is configured so that the capture of image data by the pixels in at least two of the focal planes is separately controllable. In addition, the control circuitry includes a plurality of registers with associated register addresses, where the plurality of registers includes: a plurality of parameter registers, where a given parameter register is associated with one of the plurality of focal planes and contains configuration data for the associated focal plane; and a focal plane group register that contains data identifying focal planes from the plurality of focal planes that belong to a focal plane group. Furthermore, the control circuitry is further configured to: receive commands to write data to and read data from register addresses via an interface; map a virtual register address to the addresses of the parameter registers associated with the focal planes that belong to the focal plane group; modify the parameter registers associated with the focal planes in the focal plane group in response to receiving a command to write a value to the virtual register address via the interface; and control imaging parameters of the plurality of focal planes based upon the configuration data in the parameter register associated with each of the plurality of focal planes.
In a further embodiment, the control circuitry is further configured to modify the data in the focal plane group register to change the focal planes from the plurality of focal planes that are identified as forming a focal plane group in response to receiving a command to write a value to the register address of the focal plane group register via the interface.
In another embodiment, the focal plane group register contains a list of the focal planes in the focal plane group.
In a still further embodiment, the focal plane group register is one of a plurality of focal plane group registers and each focal plane group register contains data identifying focal planes from the plurality of focal planes that belong to a specific focal plane group.
In still another embodiment, the plurality of focal plane group registers is configured so that a given focal plane belongs to a plurality of different focal plane groups.
In a yet further embodiment, the control circuitry is configured to prevent the plurality of focal plane group registers from being configured so that a given focal plane belongs to a predetermined set of focal plane groups.
In yet another embodiment, the configuration data in a given parameter register controls integration time of pixels in the focal plane associated with the given parameter register.
In a further embodiment again, the configuration data in a given parameter register controls a gain applied to pixel outputs of pixels in the focal plane associated with the given parameter register.
In another embodiment again, the configuration data in a given parameter register controls focal plane operational state of the focal plane associated with the given parameter register.
A further additional embodiment further includes at least one system descriptor register, where the at least one system descriptor register contains system descriptor data describing the imaging sensor. In addition, the control circuitry is configured to receive instructions to read data from the at least one system descriptor register via the interface.
In another additional embodiment, the system descriptor data includes at least one piece of data selected from a group consisting of information identifying: a type of imaging sensor; a version of the imaging sensor, a communication protocol supported by the imaging sensor; an imaging sensor hardware manufacturer; a hardware manufacturer's model and version; the number of the plurality focal planes; a layout for the plurality of focal planes; an initial imaging sensor configuration; default focal plane groups for the plurality of focal planes; default integration times for default focal plane groups; and default gains for default focal plane groups.
A still yet further embodiment also includes at least one color filter applied to the pixels on at least one focal plane.
In still yet another embodiment, the at least one color filter applied to the pixels on at least one focal plane forms a Bayer pattern on at least one focal plane.
In a still further embodiment again, the at least one color filter applied to the pixels on at least one focal plane are applied so that the pixels of at least one of the plurality of focal planes are configured to capture image data from the same discrete portion of the electromagnetic spectrum.
In still another embodiment again, the focal plane group register is one of a plurality of focal plane group registers and each focal plane group register contains data identifying focal planes from the plurality of focal planes that belong to a specific focal plane group. In addition, the control circuitry is further configured to modify the data in a given focal plane group register to change the focal planes that are identified as forming a focal plane group in response to receiving a command to write a value to the register address of the given focal plane group register via the interface. Furthermore, the configuration data in a given parameter register controls: a focal plane operational state of the focal plane associated with the given parameter register; integration time of pixels in the focal plane associated with the given parameter register; and a gain applied to pixel outputs of pixels in the focal plane associated with the given parameter register.
An embodiment of the method of the invention includes: receiving a command to write data to a virtual register address via an interface; mapping the virtual register address to at least one physical address based upon data identifying focal planes from the plurality of focal planes that belong to a focal plane group stored in a focal plane group register associated with the virtual address using control circuitry; modifying configuration data stored in parameter registers associated with the focal plane groups in response to the instruction to write data to a virtual register address using the control circuitry; and controlling imaging parameters of pixels within the plurality of focal planes based upon configuration data stored in the parameter registers associated with each of the plurality of focal planes using the control circuitry.
A further embodiment of the method of the invention also includes receiving a command to write a value to a register address associated with the focal plane group register via the interface, and modifying the data in the focal plane group register to change the focal planes from the plurality of focal planes that are identified as forming a focal plane group in response to the command using the control circuitry.
Another embodiment of the method of the invention includes: assigning multiple focal planes from the plurality of focal planes to a focal plane group by outputting a command to an imaging sensor interface to write a value to a register address associated with a focal plane group register on the imaging sensor using a processor configured by array camera software; controlling imaging parameters for the multiple focal planes assigned to the focal plane group by outputting a command to the imaging sensor interface to write a value to a virtual address using the processor configured by the array camera software; and receiving imaging data from the imaging sensor via the imaging sensor interface, where the imaging data includes imaging data captured by the multiple focal planes assigned to the focal plane group using imaging parameters determined based upon the command to write a value to the virtual address.
A still further embodiment of the method of the invention also includes: receiving at least one system descriptor from the imaging sensor via the imaging sensor interface using the processor configured by the array camera application; and determining the number of focal planes in the plurality of focal planes based upon the at least one system descriptor using the processor configured by the array camera application.
Still another embodiment of the method of the invention also includes determining the layout of the plurality of focal planes based upon the at least one system descriptor using the processor configured by the array camera application.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an array camera constructed using a sensor including a 5×5 array of focal planes and storage hardware, where the sensor is connected to a processor in accordance with an embodiment of the invention.
FIG. 2A illustrates a sensor including storage where the sensor includes a 4×4 array of focal planes, where each focal plane includes an array of sensor elements and is grouped into one of three focal plane groups, namely focal plane group “A”, focal plane group “B” or focal plane group “C”, in accordance with an embodiment of the invention.
FIG. 2B illustrates digital logic configured to write data addressed to a virtual address to registers associated with the virtual address by a group member list defining focal plane groups in accordance with embodiments of the invention.
FIG. 3 illustrates a process for assigning and controlling focal plane groups in accordance with an embodiment of the invention.
FIG. 4 illustrates a process for controlling an arbitrary number of focal plane groups in accordance with an embodiment of the invention.



DETAILED DESCRIPTION
Turning now to the drawings, systems and methods for controlling the parameters of groups of focal planes as focal plane groups in an array camera in accordance with embodiments of the invention are illustrated. An array camera is an image capture device that includes multiple lens stacks or optical channels that direct light onto a corresponding number of focal planes, enabling the capture of multiple images of a scene using the focal planes. The term focal plane can be used to describe a region on a sensor containing an array of pixel elements configured to capture an image based upon light directed onto the focal plane via a lens stack or optical channel. A sensor can include multiple focal planes, where each focal plane receives light from a separate optical channel. As such, the sensor is configured to separately and (in many instances) independently capture and output image data from each of the focal planes. Color filters can be located within the optical stack or applied to the pixels on a focal plane (e.g. using a conventional Bayer pattern) so that individual focal planes and/or individual pixels capture images of discrete portions of the electromagnetic spectrum. Various examples of array cameras are described in U.S. patent application Ser. No. 12/935,504, entitled “Capturing and Processing of Images Using Monolithic Camera Array with Heterogeneous Imagers”, to Venkataraman et al., which is incorporated by reference herein in its entirety. In many embodiments, faster and more efficient control of image capture is accomplished by managing multiple focal planes on a sensor in groups rather than individually. Controlling the focal planes in focal plane groups rather than individually reduces the number and frequency with which commands are exchanged between a processor and a sensor containing multiple focal planes. The reduction of commands exchanged between the processor and the sensor when controlling the capture of images by the focal planes allows the configuration of the focal planes of an array camera to be modified more rapidly. In many embodiments, the focal planes of an array camera can be reconfigured in less than the time it takes for one of the focal planes to capture a single image or frame. In many embodiments, a processor can issue write instructions to a virtual address associated with a focal plane group and logic within the sensor maps the virtual address to a set of physical addresses and writes the data to the physical addresses.
In many embodiments, the sensor is configured so that a processor can control the parameters, or imaging characteristics, of focal planes using focal plane groups. In addition, the processor can also dynamically configure the focal planes that are included in each focal plane group. In several embodiments, the focal plane group parameters that can be controlled include integration time and gain. Other parameters can include (but are not limited to) the operational state of a focal plane, such as whether the focal plane is active, in a reduced power state or on standby. Still other parameters include image quality of a captured image from a focal plane or whether an image captured by a focal plane is output to a processor. Yet other parameters include test patterns that focal planes can take for troubleshooting or other purposes. Despite the limited number of parameters mentioned above, numerous other parameters can be utilized to control focal planes for image capture or to create additional photographic effects in accordance with numerous embodiments of the invention.
In many embodiments of the invention, sensors include memory in which at least one system descriptor is stored. In several embodiments, processors can be robustly coupled with any sensor that includes a system descriptor of the sensor. The processor retrieves the system descriptor and utilizes the system descriptor to interpret the output of the imaging sensor. These system descriptors can be stored in memory incorporated into the circuitry of the sensor. In this way, the array camera software can configure the processor to coordinate communication with the imaging sensor based upon the type of sensor detected. System descriptors can include any type of information relating to a sensor including (but not limited to) information identifying the sensor, the version of the sensor, the communication protocol to be used between the sensor and processor, the sensor hardware manufacturer, the hardware manufacturer's model and version, the number of focal planes and the layout of the focal plane. Although a number of system descriptors are detailed above, many other system descriptors that describe aspects of an array camera can be utilized as appropriate to the requirements of a specific application in accordance with many embodiments of the invention. Array cameras, sensors, and the control of image capture by array cameras in accordance with embodiments of the invention are discussed below.
System Architecture
Array cameras in accordance with embodiments of the invention are configured so that the array camera software can vary the manner in which a sensor captures image data. In many embodiments, the array camera uses registers on the sensor to provide information to the software concerning the configuration of the sensor and to enable the processor to control the manner in which the sensor elements of the sensor capture image data. An array camera including a sensor having registers that are accessible via a processor is illustrated in FIG. 1. The array camera 100 includes a sensor 102 configured to communicate with a processor 108. The processor receives image data generated by the sensor and, as is discussed further below, the processor can read and write to registers located on the sensor. In many embodiments, the processor can read and write to registers by issuing read and/or write commands that include register addresses.
The sensor 102 includes multiple focal planes 104. Sensors including multiple focal planes are discussed in U.S. patent application Ser. No. 13/106,797 entitled “Architectures for System on Chip Array Cameras”, to Pain et al., the disclosure of which is incorporated by reference. In the illustrated embodiment, the focal planes are configured in a 5×5 array. In other embodiments, any of a variety of array configurations can be utilized including linear arrays. Each focal plane 104 of the sensor is capable of capturing an image of the scene. The sensor elements utilized in the focal planes can be individual light sensing elements such as, but not limited to, traditional CIS (CMOS Image Sensor) pixels, CCD (charge-coupled device) pixels, high dynamic range sensor elements, multispectral sensor elements and/or any other structure configured to generate an electrical signal indicative of light incident on the structure. In many embodiments, the sensor elements of each focal plane have similar physical properties and receive light via the same optical channel and color filter (where present). In other embodiments, the sensor elements have different characteristics and, in many instances, the characteristics of the sensor elements are related to the color filter applied to each sensor element.
In the illustrated embodiment, the sensor 102 also includes multiple registers 106. In many embodiments, the sensor registers can contain information concerning the configuration of the sensor. In several embodiments, the processor 108 can write values to one or more registers on the sensor to control the manner in which the sensor elements of the sensor capture image data.
In many embodiments, the processor is able to read system descriptors in the register of a sensor to determine information that the processor can use to control the capture of image data by the sensor elements in each of the focal planes of the sensor. System descriptors can include information such as the number and orientation of focal planes, allowing for the processor to simply read a description of the sensor rather than requiring it to otherwise detect the number and orientation of focal planes, or other information essential for the processor to control the focal planes in the sensor. Additionally, the system descriptors can include information such as the initial configuration of the sensor, such as preprogramed or default focal plane groups of the focal planes as well as the gain or integration time associated with particular focal planes. In various embodiments, a processor can utilize information from the system descriptors to assign focal planes in a sensor into specific focal plane groups for enhanced control of the sensor's output to optimize the image captured by an array camera. These assigned focal plane groups free the processor from controlling each focal plane individually.
In numerous embodiments, control of focal plane groups is accomplished by adjusting parameters associated with the focal planes of the focal plane group. These parameters can be related to the way that a focal plane interacts with light, such as integration time. These parameters can also include preprocessing considerations for data output from the sensor to the processor, such as the gain of the sensor element output. In other embodiments, any of a variety of parameters appropriate to a specific application can be controlled via registers on a sensor in accordance with embodiments of the invention.
In many embodiments, parameters associated with control of focal plane groups are stored directly in a register, memory or any other means of hardware data storage on the sensor. Thereby, the focal plane groups are directly configured in the hardware of the sensor and a processor can directly control the parameters of focal planes and focal plane groups by adjusting the configuration data stored in the sensor.
Although specific array camera system architectures are discussed above, many other array camera architectures are possible in accordance with various embodiments of the invention. Further discussions of sensor configurations are detailed below.
Sensor Configuration
The focal planes on a sensor can be dynamically configured (i.e. the focal plane groups are programmable) into a plurality of focal plane groups of at least one focal plane in accordance with embodiments of the invention. In a number of embodiments, the focal plane groups are defined using group member lists that identify the focal planes that belong to a specific focal plane group. In several embodiments, logic circuitry on the sensor uses the group member list to associate the register addresses of the focal planes identified by the group member list with a virtual register address or a set of virtual register addresses. When the sensor receives a request to write data to a virtual register address, logic within the sensor causes the data to be written to the appropriate register(s) of the focal planes associated with the virtual address by the group member list. In this way, a focal plane group can be controlled with a single command, which reduces the likelihood that communication of commands would span more than one frame time for all focal planes within the focal plane group and allows for faster and more efficient command and control of individual focal planes by a processor.
A sensor with a 4×4 array of focal planes configured into three focal plane groups that can be independently controlled by a processor in accordance with an embodiment of the invention is illustrated in FIG. 2A. The 4×4 sensor 200 includes 16 focal planes 202 divided into three focal plane groups as designated with symbols “A”, “B”, and “C”. Although specific assignments are shown, the focal plane groups can be dynamically modified. The sensor also includes local storage of data associated with the sensor in at least one register 204 on the sensor. The register(s) 204 are configured to store focal plane parameters. In many embodiments, a group member list is used to associate register addresses with a virtual register address. When the sensor receives a command to write parameters to a virtual register address, logic on the sensor uses the group member list to map the virtual register address to the appropriate registers of the focal planes listed in the group member list. The parameters are then written to each of the physical focal plane registers to which the virtual register address maps. In many embodiments, the parameters written to the focal plane registers include (but are not limited to) the focal planes assigned to each focal plane group, the integration time of the pixels of the focal planes in each focal plane group and the gain applied to the outputs of the pixels in the focal planes of each group as well as system descriptors of the sensor.
Circuitry within a sensor configured to write data to registers associated with focal planes identified in a group member list in accordance with an embodiment of the invention is illustrated in FIG. 2B. In the illustrated embodiment, the sensor circuitry 220 is configured to receive instructions to write data to and read data from register addresses via an interface 222. In several embodiments, the interface can be a two wire interface such as (but not limited to) the I2C interface specified by NXP Semiconductors of Eindhoven, Netherlands. In other embodiments, any of a variety of appropriate interfaces can be utilized in accordance with embodiments of the invention. The sensor is also configured to identify sensor groups using group member lists, which are stored within memory 224 on the sensor. In many embodiments, logic 226 within the sensor enables the processor to define the sensor groups by directly writing or causing group member lists to be written to the memory 224. The logic 226 can use the group member lists to map a virtual address to the physical addresses of registers 228 associated with the focal planes listed in a group member list. When an instruction to write a value to a virtual address is received via the interface 222, the logic 226 determines the registers 228 associated with the virtual address using the group member list associated with the virtual address. Although specific logic circuitry is illustrated in FIG. 2B, any circuitry that can map virtual addresses to one or more physical register addresses can be incorporated into a sensor in accordance with embodiments of the invention.
In comparing embodiments illustrated in FIG. 1 and FIG. 2A, sensors can include any number or arrangement of focal planes such as (but not limited to) the 5×5 arrangement 102 shown in FIG. 1, the 4×4 arrangement 102 shown in FIG. 2A, and any other arrays of focal planes including linear arrays and/or multiple arrays. In addition, the geometric configuration of the sensors is not limited to merely a square or rectangular array but can be arranged in any of a variety of configurations including (but not limited to) circular and/or irregular configurations including configurations in which individual and/or focal plane groups are unevenly spaced from each other in accordance with embodiments of the invention.
In many embodiments, focal planes are formed into focal plane groups based upon the color channel to which the focal plane belongs (i.e. the portion of the electromagnetic spectrum captured by the focal plane). For example, focal planes within a first focal plane group are configured for the detection of red light, while the focal planes in another focal plane group are configured to detect green light and the focal planes in yet another focal plane group are configured to detect blue light, and the imaging parameters for each of the focal plane groups can be set by the processor accordingly. In other embodiments, focal plane groups can be formed from focal planes configured to capture any portion of the electromagnetic spectrum including (but not limited to) infra red light, near-infra red, ultra violet light, and/or extended color light. In other embodiments, the focal plane groups are defined based upon a criteria unrelated to the color channel to which the focal planes belong. Indeed any of a variety of criteria can be utilized in the selection of focal plane groups including (but not limited to) the ability of the sensor to capture images having different dynamic ranges that can be used to synthesize a high dynamic range image.
Although specific processes for configuring sensors using focal plane groups are discussed above, any number of sensor configurations, focal plane groups, and processes for controlling sensor configuration using focal plane groups can be implemented in accordance with embodiments of the invention. The control of the imaging parameters of pixels of a focal plane within a sensor using focal plane groups in accordance with embodiments of the invention is discussed further below.
Focal Plane Group Control
Sensors in accordance with embodiments of the invention are typically designed for efficient control of focal planes by assigning specific focal planes to focal plane groups for enhanced control of focal plane parameters in accordance with embodiments of the invention. In many embodiments, control of focal plane groups occurs seamlessly through the use of system descriptors that indicate to a processor how to interface with the sensor. A process utilized by a processor to control focal plane groups on a sensor in accordance with an embodiment of the invention is illustrated in FIG. 3. The process includes reading (302) system descriptors from registers on the sensor, assigning (304) focal planes on the sensor to focal plane groups by writing values to registers defining focal plane groups on the sensor and controlling (306) the focal plane groups by writing values to registers defining the imaging parameters of the focal planes within a focal plane group.
In many embodiments, the reading (302) of system descriptors from registers on the sensor allows a processor to identify the particular sensor. In other embodiments, the processor does not read system descriptors as the information is available to the processor via another source (e.g. configuration data stored in memory separate from the sensor).
In several embodiments, assignment (304) of focal plane groups can be performed by a processor or can occur through default settings on the sensor, such as (but not limited to) a preprogramed set of focal plane groups set by the sensor. In various embodiments, the membership of a focal plane group can be dynamically changed based upon the operation of an array camera with a corresponding update to a group member list associated with the changed focal plane group. In certain embodiments, if focal planes are preprogramed to be in certain focal plane groups, a processor can reprogram and reassign focal planes to different focal plane groups. In particular embodiments, focal plane groups need not be of any specific number and therefore the reprograming and reassigning of focal plane groups can occur with a different number of focal plane groups and/or different constitutions of focal planes within the focal plane groups. In various embodiments, certain focal planes can be part of numerous groups, for example a focal plane can be a member of a focal plane group with a specified gain parameter and a focal plane group that is also on standby. In many embodiments, the assignments of focal planes to focal plane groups are limited such that the assignments do not call for the focal planes to perform in an impossible manner.
In numerous embodiments, control (306) of focal plane groups occurs by changing the parameters associated with focal planes within a group. In several embodiments, the parameters of the focal planes within a focal plane group are changed by writing a new set of parameters to a virtual address associated with the focal plane group. Logic within the sensor maps the virtual address to physical registers associated with the focal planes within the focal plane group. In this way, a single command can be used to rapidly update the parameters of every focal plane within a focal plane group.
A process for controlling an arbitrary number of focal plane groups, where each focal plane group has an associated virtual address, in accordance with an embodiment of the invention is illustrated in FIG. 4. The process includes controlling (402) focal plane group 1 by writing a new set of parameters to a first virtual address associated with group 1, and controlling (404) focal plane group 2 by writing a new set of parameters to a second virtual address associated with group 2. Parameters are written to a separate virtual address associated with each of the focal plane groups until parameters controlling (406) the focal planes in focal plane group “n” are written to the virtual address associated with focal plane group “n.” In the illustrated embodiment, the control process writes parameters to at least one virtual address associated with each focal plane group sequentially. In many processes, the sensor is configured to enable a processor to randomly write parameters to virtual addresses associated with specific focal plane groups.
While the above description contains many specific embodiments of the invention, these should not be construed as limitations on the scope of the invention, but rather as an example of one embodiment thereof. For example, although certain circuits for performing focal plane group control are discussed above, many other circuits for performing focal plane group control can be utilized beyond the specific embodiments mentioned, including (but not limited to) circuits configured to control focal plane groups where different focal planes utilize different sensor elements or different numbers of sensor elements or where certain focal plane groups include a plurality of focal planes and other focal plane groups include only one focal plane. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents.

## Claims

1. An array camera system comprising:
a processor;
array camera software stored in a memory readable by processor;
an imaging sensor configured to capture a plurality of images using a plurality of focal planes, comprising:
a plurality of focal planes, where each focal plane comprises a plurality of rows of pixels that also form a plurality of columns of pixels and each focal plane is contained within a region that does not contain pixels from another focal plane; and
control circuitry configured to control the capture of image data by the pixels within the focal planes, where the control circuitry is configured so that the capture of image data by the pixels in at least two of the focal planes is separately controllable;
an interface for communicating with the processor;
wherein the control circuitry comprises a plurality of registers with associated register addresses;
wherein the plurality of registers comprises:
a plurality of parameter registers, where a given parameter register is associated with one of the plurality of focal planes and contains configuration data for the associated focal plane; and
a focal plane group register that contains data identifying focal planes from the plurality of focal planes that belong to a focal plane group;

wherein the control circuitry is further configured to:
receive commands to write data to and read data from register addresses via the interface;
map a virtual register address to the addresses of the parameter registers associated with the focal planes that belong to the focal plane group;
modify the parameter registers associated with the focal planes in the focal plane group in response to receiving a command to write a value to the virtual register address via the interface; and
control imaging parameters of the plurality of focal planes based upon the configuration data in the parameter register associated with each of the plurality of focal planes; and

where the array camera software configures the processor to:
generate the commands to write data to and read data from the register addresses; and
provide the commands to the control circuitry via the interface.

2. The array camera system of claim 1, wherein the control circuitry of the imaging sensor is further configured to modify the data in the focal plane group register to change the focal planes from the plurality of focal planes that are identified as forming the focal plane group in response to receiving a command to write a value to the register address of the focal plane group register via the interface.

3. The array camera system of claim 2, wherein the focal plane group register contains a list of the focal planes in the focal plane group.

4. The array camera system of claim 1, wherein the focal plane group register is one of a plurality of focal plane group registers and each focal plane group register contains data identifying focal planes from the plurality of focal planes that belong to a specific focal plane group.

5. The array camera system of claim 4, wherein the plurality of focal plane group registers is configured so that a given focal plane belongs to a plurality of different focal plane groups.

6. The array camera system of claim 4, wherein the control circuitry is configured to prevent the plurality of focal plane group registers from being configured so that a given focal plane belongs to a predetermined set of focal plane groups.

7. The array camera system of claim 1, wherein the configuration data in a given parameter register controls integration time of pixels in the focal plane associated with the given parameter register.

8. The array camera system of claim 1, wherein the configuration data in a given parameter register controls a gain applied to pixel outputs of pixels in the focal plane associated with the given parameter register.

9. The array camera system of claim 1, wherein the configuration data in a given parameter register controls focal plane operational state of the focal plane associated with the given parameter register.

10. The array camera system of claim 1, further comprising:
at least one system descriptor register, where the at least one system descriptor register contains system descriptor data describing the imaging sensor; and
wherein the control circuitry is configured to receive instructions to read data from the at least one system descriptor register from the processor via the interface.

11. The array camera system of claim 10, wherein the system descriptor data includes at least one piece of data selected from a group consisting of information identifying:
a type of imaging sensor;
a version of the imaging sensor;
a communication protocol supported by the imaging sensor;
an imaging sensor hardware manufacturer;
a hardware manufacturer's model and version;
the number of the plurality focal planes;
a layout for the plurality of focal planes;
an initial imaging sensor configuration;
default focal plane groups for the plurality of focal planes;
default integration times for default focal plane groups; and
default gains for default focal plane groups.

12. The array camera system of claim 1, further comprising at least one color filter applied to the pixels on at least one focal plane.

13. The array camera system of claim 12, wherein the at least one color filter applied to the pixels on at least one focal plane forms a Bayer pattern on at least one focal plane.

14. The array camera system of claim 13, wherein the at least one color filter applied to the pixels on at least one focal plane are applied so that the pixels of at least one of the plurality of focal planes are configured to capture image data from the same discrete portion of the electromagnetic spectrum.

15. The array camera system of claim 1, wherein:
the focal plane group register is one of a plurality of focal plane group registers and each focal plane group register contains data identifying focal planes from the plurality of focal planes that belong to a specific focal plane group;
the control circuitry is further configured to modify the data in a given focal plane group register to change the focal planes that are identified as forming the focal plane group in response to receiving a command to write a value to the register address of the given focal plane group register via the interface; and
the configuration data in a given parameter register controls:
a focal plane operational state of the focal plane associated with the given parameter register;
integration time of pixels in the focal plane associated with the given parameter register; and
a gain applied to pixel outputs of pixels in the focal plane associated with the given parameter register.

16. A method of configuring imaging parameters of a plurality of focal planes on an imaging sensor of an array camera system, where the array camera system includes the imaging sensor and a processor that is configured by array camera software and where each focal plane in the plurality of focal planes in the imaging sensor comprises a plurality of rows of pixels that also form a plurality of columns of pixels and each focal plane is contained within a region of the imaging sensor that does not contain pixels from another focal plane in the plurality of focal planes, the method comprising:
receiving a command to write data to a virtual register address in control circuitry of the imaging sensor from the processor via an interface;
mapping the virtual register address to at least one physical address based upon data identifying focal planes from the plurality of focal planes that belong to a focal plane group stored in a focal plane group register associated with the virtual address using the control circuitry;
modifying configuration data stored in parameter registers associated with the focal plane groups in response to the instruction to write data to a virtual register address using the control circuitry; and
controlling imaging parameters of pixels within the plurality of focal planes based upon configuration data stored in the parameter registers associated with each of the plurality of focal planes using the control circuitry.

17. The method of claim 16, further comprising:
receiving a command to write a value to a register address associated with the focal plane group register from the processor in the control circuitry via the interface; and
modifying the data in the focal plane group register to change the focal planes from the plurality of focal planes that are identified as forming the focal plane group in response to the command using the control circuitry.

18. A method of capturing imaging data using an array camera having an imaging sensor and a processor configured by array camera software where the imaging sensor comprises a plurality of focal planes, where each focal plane in the plurality of focal planes comprises a plurality of rows of pixels that also form a plurality of columns of pixels and each focal plane is contained within a region that does not contain pixels from another one of the plurality of focal planes, the method comprising:
assigning multiple focal planes from the plurality of focal planes to a focal plane group by outputting a command to an imaging sensor interface to write a value to a register address associated with a focal plane group register on the imaging sensor using the processor configured by the array camera software;
controlling imaging parameters for the multiple focal planes assigned to the focal plane group by outputting a command to the imaging sensor interface to write a value to a virtual address using the processor configured by the array camera software; and
receiving imaging data from the imaging sensor in the processor via an imaging sensor interface, where the imaging data includes imaging data captured by the multiple focal planes assigned to the focal plane group using imaging parameters determined based upon the command to write the value to the virtual address.

19. The method of claim 18, further comprising:
receiving at least one system descriptor from the imaging sensor via the imaging sensor interface using the processor configured by the array camera software; and
determining the number of focal planes in the plurality of focal planes based upon the at least one system descriptor using the processor configured by the array camera software.

20. The method of claim 19, further comprising determining the layout of the plurality of focal planes based upon the at least one system descriptor using the processor configured by the array camera software.