Digital camera apparatus with dynamically customized focus reticle and automatic focus reticle positioning

An apparatus includes digital camera equipment and a display that provides a viewfinder. A processor that is operatively coupled to the camera equipment, and to the display, controls the camera equipment and the display to provide a custom reticle that defines a region-of-interest having a shape corresponding to an object-of-interest as the object-of-interest appears in the viewfinder. One or more object templates may be stored in memory. The object templates contain location information and size information for one or more objects-of-interest in a geographic region where the apparatus is located. The processor may construct the custom reticle using one or more of the object templates. The processor can determine that an object-of-interest is displayed in the viewfinder and construct a custom reticle for that particular object-of-interest.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to digital cameras and other mobile devices that include a digital camera, and more particularly to focusing procedures for a digital camera.

BACKGROUND

FIG. 1illustrates a mobile device100having an integrated digital camera which operates in accordance with known procedures. The mobile device100includes a display101that provides a viewfinder for the digital camera feature. The viewfinder is operative to display a scene captured by a lens and camera sensor of the digital camera equipment within a field-of-view103. A focus reticle105may be controlled by a user and moved across or about the scene in the viewfinder and placed upon an object-of-interest, for example a building in a city skyline as illustrated.

For digital camera operation such as discussed in the example ofFIG. 1, one of the largest contributors to the amount of time taken to capture an image is the time required to focus on the image to be captured. For example, the focusing procedure may be considered to include several steps: 1) Pointing the digital camera in the general direction of an object-of-interest; 2) Repositioning the digital camera to place the object-of-interest at a desired position on the digital camera's viewfinder; 3) Repositioning the focus reticle onto the object-of-interest; and 4) Performing a focus sweep operation by the digital camera.

Although the first and second steps can be accomplished relatively quickly by a user, the third step requires the user to use both hands, because one hand is required to hold the camera (or mobile device100) and the second hand is required to position the focus reticle105. The fourth step is dependent upon the focus technology employed by the digital camera, but may take anywhere from 300 ms to 1 s. Therefore, the third step of moving the focus reticle105and waiting for focus to complete, and the fourth step of performing the focus sweep are time consuming and can negatively impact the user's experience.

DETAILED DESCRIPTION

Briefly, the disclosed embodiments provide a digital camera apparatus that can construct a custom reticle within the viewfinder based on a known or determined location of an object-of-interest when the object-of-interest appears within the viewfinder. The disclosed digital camera apparatus is operative to determine its lens position with respect to the object-of-interest using location information and sensor data, and automatically move the custom reticle to a position over the object-of-interest in the viewfinder. The digital camera apparatus may be used in devices that are solely digital cameras or in any of various forms of consumer devices such as mobile phones, laptops, etc., that include integrated camera features.

One disclosed embodiment is an apparatus with camera equipment that includes one or more lenses and one or more camera sensors operative to detect at least three colors. The apparatus includes a display that is operatively coupled to the camera equipment, and that provides a viewfinder for the camera. A processor is operatively coupled to the camera equipment and to the display. The processor is configured to control the camera equipment and the display to provide a custom reticle that defines a region-of-interest having a shape corresponding to an object-of-interest as the object-of-interest appears in the viewfinder.

In some embodiments, the processor is further configured to limit usage of image statistics of a captured image as used by at least one of an auto exposure routine and an auto white balance routine. In other words, processing may be reduced by using only the image statistics corresponding to grid areas falling within a perimeter defined by the custom reticle.

The disclosed apparatus may further include non-volatile, non-transitory memory that is operatively coupled to the processor, and that stores at least one object template. The object template includes location information and size information for the object-of-interest. The processor can construct the custom reticle using the object template stored in memory. The processor is further configured to determine that the object-of-interest is displayed in the viewfinder and, in response, construct the custom reticle.

The apparatus may further include location determination hardware that is operatively coupled to the processor, and a gyroscope which is also operatively coupled to the processor. The processor may be further configured to determine the apparatus's distance from the object-of-interest using location information of the apparatus obtained from the location determination hardware and location information of the object-of-interest contained in the object template. The processor determines the direction of the object-of-interest with respect to a lens of the camera equipment using the gyroscope, and determines that the object-of-interest is displayed in the viewfinder based on the determined distance and direction of the object-of-interest with respect to the lens position. The processor may construct the custom reticle by scaling size information from an appropriate object template using the determined distance and direction of the object-of-interest with respect to the lens. The processor may store the apparatus's distance from the object-of-interest and the direction of the object-of-interest with respect to the lens in a table in the non-volatile, non-transitory memory.

A disclosed method of operation includes displaying a scene in a viewfinder, and providing a custom reticle in the viewfinder that defines a region-of-interest having a shape corresponding to an object-of-interest as the object-of-interest appears in the viewfinder. In some embodiments, the method may further include limiting usage of image statistics of a captured image, used by at least one of an auto exposure routine and an auto white balance routine, by using only the image statistics corresponding to grid areas falling within a perimeter defined by the custom reticle.

The method may further include constructing the custom reticle using an object template stored in memory. The object template includes location information and size information for the object-of-interest. The method may include determining that the object-of-interest is displayed in the viewfinder and, in response, constructing the custom reticle.

In some embodiments, the method may further include determining the apparatus's distance from the object-of-interest using location information of the apparatus obtained from location determination hardware and location information of the object-of-interest contained in the object template; determining the direction of the object-of-interest with respect to a lens of the camera equipment using a gyroscope; and determining that the object-of-interest is displayed in the viewfinder based on the determined distance and direction of the object-of-interest with respect to the lens position.

The method may further include scaling the object template size information using the determined distance and direction of the object-of-interest with respect to the lens and may also include storing the apparatus's distance from the object-of-interest and the direction of the object-of-interest with respect to the lens in a table.

The disclosed embodiments include another apparatus with camera equipment having one or more lenses and one or more camera sensors operative to detect at least three colors. A display is operatively coupled to the camera equipment and provides a viewfinder. A processor is operatively coupled to the camera equipment and to the display. The processor is configured to control the camera equipment and the display to position a reticle over an object-of-interest as the object-of-interest appears in the viewfinder by using location information obtained for the object-of-interest. The reticle is positioned automatically without requiring any user input.

The apparatus may further include non-volatile, non-transitory memory that is operatively coupled to the processor and that stores at least one object template. The object template includes the location information and size information for the object-of-interest. The processor may determine the orientation of a camera equipment lens with respect to an object-of-interest to determine that the object-of-interest is displayed in the viewfinder, and may, in response, construct a custom reticle for the object-of-interest.

The apparatus may include location determination hardware that is operatively coupled to the processor, and a gyroscope that is also operatively coupled to the processor. The processor can determine the apparatus's distance from the object-of-interest using location information of the apparatus obtained from the location determination hardware and location information of the object-of-interest contained in the object template. The processor can determine the direction of the object-of-interest with respect to the lens of the camera equipment using the gyroscope, and can determine that the object-of-interest is displayed in the viewfinder based on the determined distance and direction of the object-of-interest with respect to the lens position.

The processor may be configured to construct the custom reticle by scaling size information contained in an object template using the determined distance and direction of the object-of-interest with respect to the lens. The processor may store the apparatus's distance from the object-of-interest and the direction of the object-of-interest with respect to the lens in a table in the non-volatile, non-transitory memory.

Another disclosed method includes displaying a scene in a viewfinder on a display of an apparatus, and positioning a reticle in the viewfinder over an object-of-interest as the object-of-interest appears in the viewfinder. The may further include selecting the object-of-interest from a plurality of objects-of-interest displayed in the viewfinder, prior to positioning the reticle over the object-of-interest. These operations are performed automatically, without any input from the user. The method may also include determining the orientation of a camera equipment lens with respect to the object-of-interest to determine that the object-of-interest is displayed in the viewfinder.

Turning now toFIG. 2a mobile device200is illustrated that includes an integrated digital camera which operates in accordance with the embodiments. The mobile device200includes a display201that provides a viewfinder for the digital camera feature. The viewfinder is operative to display an image209of a scene captured by a lens and camera sensor within a field-of-view203. A custom focus reticle205is constructed for an object-of-interest207and is moved across or about the image209in the viewfinder automatically and placed upon the object-of-interest207, which is a building in a city skyline as illustrated by the example ofFIG. 2.

FIG. 3illustrates how a mobile device300with an integrated digital camera can communicate with a server310to receive object templates in accordance with an embodiment. When the mobile device300launches a camera application, a process is started to resolve the mobile device300location and to build a database of interesting location based objects-of-interest. In some embodiments, this process may be always running in the background which helps to improve the overall user experience.

The mobile device300may obtain location information from its internal location hardware (such as a Global Positioning System (GPS) chip) or may obtain location information311over a wireless link309from a wireless local area network307. The mobile device establishes an Internet Protocol (IP) connection301with the server310and sends the server310the obtained location information303. The IP connection301may be established over the WLAN wireless link309or over a wireless wide area network (WAN) such as a wireless telephone network. The server310includes or can access a geotagged objects database315which contains object templates305for various objects-of-interest. Objects-of-interest may be, for example, architectural objects such as buildings, statues or monuments, natural land formations, or any other object-of-interest that may be tied to a location. An object template contains at least size and shape information and location information for an object-of-interest. The object template may also contain color information, lighting or shading information or any other information that may be useful for focusing and capturing an image of the object-of-interest by a digital camera. In some embodiments, various object templates may be pre-stored based a location related to the mobile device300network service area. Additionally, or alternatively, object templates may be occasionally sent to the mobile device300by the server310as the mobile device300roams through different network location areas. These object templates may be created by participating mobile devices that are operative to create an object template at the time of image capture of an object-of-interest. These participating mobile devices geotag the object template and upload it to the server310for incorporation into the geotagged objects database315.

The server310may generate an object template list for the location corresponding to the location information303and for a predetermined surrounding area. For example a surrounding area may be determined as a predetermined radius such as 10 miles, 20 miles, 30 miles, or some other radial distance etc. extending from the specified location coordinates. The surrounding distance need not be radial but could also be determined by a geometric shape such as a square or rectangle based on a grid pattern etc. The object templates305corresponding to the predetermined surrounding area are then sent to the mobile device300by the server310.

After or as the mobile device300is receiving the object templates305, the camera application resolves the camera lens direction and uses the mobile device300location information303to determine if there are any objects-of-interest in the scene. The camera application does this by reading the object templates'305location information to check if there are any objects-of-interest located in the direction the camera lens is pointing.

If any object-of-interest is found to be present in the scene (i.e. in the viewfinder), then a custom region-of-interest is then created and moved automatically to the location based object or objects in the scene. The custom region-of-interest can be designated to the mobile device300user by showing a custom reticle that has the shape of, and surrounds the perimeter of, the object-of-interest. Additionally, depending on the distance to the object, the lens may be adjusted directly to a calculated position or a focus sweep may be performed on one or more objects-of-interest.

Therefore, among other advantages of the disclosed embodiments, the mobile device300can make use of its location information303and location information for surrounding objects-of-interest to generate and automatically move a customized focus reticle and adjust the camera lens to an appropriate position.

Further details of an embodiment are provided inFIG. 4which is a block diagram of an example mobile device400. In accordance with the example embodiment ofFIG. 4, the mobile device400includes camera equipment413that is operative to capture and provide image frames to an image signal processing pipeline427. The camera equipment includes at least one lens, a camera sensor that can detect at least three colors, and internal memory. The internal memory is non-volatile, non-transitory memory and contains camera unit calibration data and golden reference calibration data (which may also be referred to as “classic” calibration data) for the camera equipment413. The camera equipment413calibration data includes white balance calibration data for the camera equipment413collected with respect to a reference such as a calibrated white card reference.

The mobile device400also includes one or more processors401, display405which is used to provide a camera viewfinder, user interface407, one or more wide area network transceivers409(such as, but not limited to CDMA, UMTS, GSM, etc.), WLAN baseband hardware411, GPS hardware415, and memory403. All of the components shown are operatively coupled to the one or more processors401by one or more internal communication buses402. In some embodiments, a separate sensor processor439monitors sensor data from various sensors including a gyroscope441and an accelerometer443as well as other sensors445. The gyroscope441and accelerometer443may be separate or may be combined into a single integrated unit. In some embodiments, the mobile device400may include an eCompass that includes the accelerometer443and a magnetometer. The eCompass may be present as an alternative to the gyroscope441and accelerometer443or may be a separate additional component of the mobile device400.

The memory403is non-volatile and non-transitory and stores executable code for an operating system431that, when executed by the one or more processors401, provides an application layer (or user space)417, libraries418(also referred to herein as “application programming interfaces” or “APIs”) and a kernel419. The memory403also stores executable code for various applications433, object templates435and an objects distance and directions table437. The one or more processors401are operative to launch and execute the applications433including a camera application420in accordance with the embodiments. The example camera application420may include an object distance and direction module421, and object template scaling module423and a focus assist module425. However it is to be understood that the camera application420can be implemented in other ways that are contemplated by the present disclosure and that the example shown inFIG. 4is only one possible implementation. For example the object distance and direction determination module421and the object template scaling module423may be integrated together or may be integrated with the focus assist module425in some embodiments, etc. The memory403may be operatively coupled to the one or more processors401via the internal communications buses402as shown, may be integrated with the one or more processors401, or may be some combination of operatively coupled memory and integrated memory.

In some embodiments, when the camera application420is launched, the WLAN baseband hardware411may scan for networks and attempt to obtain location information311if available. The camera application420may also access the GPS hardware415to obtain location information. Location information obtained over the WLAN may be an alternative in situations where GPS location information may not be available such as when indoors or other locations where GPS satellite data cannot be accessed. As another alternative, the camera application420may obtain location information from a WAN via the network transceivers409in some embodiments.

After obtaining location information from the GPS hardware415, using a WLAN connection, using a WAN connection, or some combination of these, the camera application420may proceed in one of two ways. In some embodiments, the objects templates435may already be stored in memory403based on the previously known location of the mobile device400, or may have been preloaded at the time of purchase of the mobile device400. Otherwise, the mobile device400may obtain the object templates435(or an update of the object templates435) by sending location information303to the server310. Obtaining and sending the location information303is handled by the camera application420which can communicate with the GPS hardware415and the WLAN baseband hardware411over the internal communication buses402.

The camera application420is operative to obtain the object templates435from the server310and to store them in the memory403. The object templates435contain size and shape (i.e. dimensions), location information, and may also contain color and lighting information for various viewing angles in some embodiments, for various objects-of-interest. The various objects-of-interest are located within a geographic area surrounding the location of the mobile device400.

The focus assist module425is operative to control camera equipment413by sending camera control signals429to adjust lens position. The object template scaling module423is operative to scale one or more object templates435using the mobile device400location information, an object-of-interests distance, and camera lens position such that a custom reticle can be generated for an object-of-interest shown on the display405(i.e. in the camera viewfinder). The camera application420is operatively coupled to the image signal processing pipeline427and to a camera equipment413automatic white balance (AWB) routine (not shown), automatic exposure control (AEC) routine (not shown) and auto-focus routine (not shown) using appropriate APIs (i.e. from libraries418). The camera equipment AWB routine is operative to obtain auto white balance statistics from the image signal processing pipeline427, and to provide white balance results as output. In some embodiments, the focus assist module425may also adjust the camera equipment413white balance results using information contained in the object templates435.

In some embodiments, the camera application420may also play a role in building the geotagged objects database315and the object templates305stored therein. More particularly, the camera application420may from time-to-time communicate over the Internet313with the server310to send location information, and image data for objects-of-interest captured using the camera equipment413. This may be facilitated by the object template scaling module423which may also be operative to define a template for an object-of-interest. In some embodiments, the object template scaling module423is operative to obtain object size and shape information as user input to the user interface407and display409(such as through a touchscreen feature). For example, in one embodiment, a user can use their finger (or a stylus) to draw a rough outline around a displayed object-of-interest in the camera viewfinder using a touchscreen display feature. The image signal processing pipeline is operative to perform edge detection to refine the size and shape for the object-of-interest template generation. In some embodiments, algorithms such as, but not limited to, Sobel filtering, Canny edge detection, etc., may be applied to further refine the size and shape. Regarding location information for an object-of-interest, the server310is operative to combine inputs received from various users to estimate the location of an object-of-interest through triangulation. In one example, if two users at different locations provide the same size information for an object-of-interest, then the server310may assume that the two users were at the same distance from the object-of-interest. Through triangulation, the location of the object can be estimated.

Any of the components shown inFIG. 4including without limitation the camera application420, object distance and direction determination module421, object template scaling module423, focus assist module425and/or the image signal processing pipeline427may be implemented as executable instructions executed by the one or more processors401, or may be implemented as hardware, or as a combination of hardware and software/firmware. In embodiments in which one or more of these components is implemented as software, or partially in software/firmware, the executable instructions may be stored in the operatively coupled, non-volatile, non-transitory memory403, that may be accessed by the one or more processors401as needed.

However, it is to be understood that any of the above described example components in the example mobile device400may be implemented as software (i.e. executable instructions or executable code) or firmware (or a combination of software and firmware) executing on one or more processors, or using ASICs (application-specific-integrated-circuits), DSPs (digital signal processors), hardwired circuitry (logic circuitry), state machines, FPGAs (field programmable gate arrays) or combinations thereof. Therefore the mobile device400illustrated inFIG. 4and described herein provides just one example of a camera system embodiment and is not to be construed as a limitation on the various other possible implementations that may be used in accordance with the various embodiments.

More particularly, the object distance and direction determination module421, object template scaling module423, focus assist module425and/or the image signal processing pipeline427may be a single component or may be implemented as any combination of DSPs, ASICs, FPGAs, CPUs running executable instructions, hardwired circuitry, state machines, etc., without limitation. Therefore, as one example, the object distance and direction determination module421and the object template scaling module423may be integrated together and may be implemented using an ASIC or an FPGA that may be operatively coupled to a separate focus assist module425and to the image signal processing pipeline427. Likewise the focus assist module425may be executed as code or may be implemented using an ASIC or an FPGA operatively coupled to the camera equipment413and/or to the image signal processing pipeline427where the focus assist module425is also implemented using an ASIC or an FPGA. These example embodiments and other embodiments are contemplated by the present disclosure.

The various operations of the example mobile device300shown inFIG. 3and example mobile device400shown inFIG. 4are best understood in conjunction with the flowcharts ofFIG. 5,FIG. 6andFIG. 7. Turning toFIG. 5, in operation block501, the camera application420is launched and executed by the one or more processors401within the user space417. In operation block503, the one or more processors401obtain location information for the mobile device400. This is accomplished either by accessing the GPS hardware415, or by obtaining location information from a WLAN using the WLAN baseband hardware411. In operation block504the one or more processors401access object templates435stored in memory403and identify any objects-of-interest which may be present in the camera viewfinder shown on the display405.

By using object-of-interest location information contained in the object templates435, and the mobile device400location information obtained in operation block503, the one or more processors401construct or update the object distance and direction table437and store the new or updated object distance and direction table437in memory403. The object distance and direction table437is constructed as shown in operation block505and the process then ends.

Turning toFIG. 6, in operation block601, the one or more processors401resolve the camera's direction. This is done using sensor data along with the location information obtained from either from the GPS hardware415, WAN, or from a WLAN using the WLAN baseband hardware411. The one or more processors401are operative to communicate with the sensor processor439and obtain sensor data from the gyroscope441and the accelerometer443(or from an eCompass component). The one or more processors401then execute a compass operation and determine the direction in which a lens of the camera equipment413is pointing. Once the determination of the camera's direction is made in operation block601, the process proceeds to operation block603. In operation block603, the one or more processors401check the object templates435and use the contained object location information to determine which objects-of-interest are located in the direction the camera lens is pointing. These objects-of-interest will therefore appear within the camera viewfinder displayed on display405.

In operation block605, the one or more processors401proceed to construct a custom region-of-interest which is demarcated by a customized focus reticle. The one or more processors401obtain size and shape information for the objects-of-interest from the object templates435, and construct the custom reticle by appropriately scaling the size and shape to fit about the object-of-interest as displayed within the camera viewfinder. In order to scale the object template size and shape, the one or more processors401also access and use the object distance and direction table437which was generated by the one or more processors401during the process discussed above with respect toFIG. 5.

In operation block607, the one or more processors401control the camera equipment413and the display405such that the custom reticle is automatically moved across the scene in the viewfinder and positioned upon the object-of-interest. In operation block609, the one or more processors401may further control the camera equipment413to adjust lens focus by adjusting the lens position according to the determined distance of the object-of-interest stored in the objects distance and direction table437. The process then ends as shown.

The flow chart ofFIG. 7illustrates operations of the object distance and direction determination module421, the object template scaling module423and the focus assist module425. In operation block701, the object distance and direction determination module may obtain location data from the mobile device hardware (i.e. the GPS hardware415, WAN network transceivers409or from a WLAN via the WLAN baseband hardware411). In operation block703, the object distance determination module may also communicate with the sensor processor439to obtain sensor data from the gyroscope441and from the accelerometer443, from an eCompass or a combination of such sensors. The sensor data is used, along with the location data, to determine the position and direction of a camera lens of the camera equipment413. The object distance and direction determination module421is operative to access any needed APIs from libraries418in order to communicate with the sensor processor439, the GPS hardware415and/or the WLAN baseband hardware411.

In decision block705, the object distance and direction determination module421checks the memory403to see if object templates are present or if any existing object templates435define objects within the geographic area indicated by the mobile device400location. If no object templates for the location are stored in the memory403then, in operation block707, the object distance and direction determination module421sends the location information to the server310. In operation block709, in response to sending the location information, the object distance and direction determination module421obtains new object templates for objects-of-interest based on the location of the mobile device400. The new object templates435are then stored in memory403. The object templates435include location information, size and shape, and other information for the objects-of-interest in a predetermined geographic area related to the mobile device400coordinates.

The object templates435may include any information related to the objects-of-interest such as, but not limited to, location coordinates; other location information such as country, city, state town, etc.; object name; object historical information; or any other information related to the object-of-interest.

The process then proceeds to operation block711. Likewise, if in decision block705the object distance and direction determination module421determines that object templates435are present in memory403and that they include object templates relevant for the location of the mobile device400, the process also proceeds to operation block711. In operation block711, the object distance and direction determination module421uses the mobile device400location and the location information in the object templates435to construct an object distance and direction table437and store the table in memory403.

In operation block713, the object distance and direction determination module421determines if any objects-of-interest are located in the direction of the camera lens using object distance and direction table437, mobile device400location information obtained in operation block701, and the sensor data obtained in operation block703. More particularly, the object distance and direction determination module421uses the gyroscope441data and accelerometer443data to determine the mobile device400orientation in space. The location of the camera lens within the camera equipment413is known along with the mobile device400location, therefore the orientation of the camera is used to determine the direction of the camera lens. By reading the object distance and direction table437, which was constructed earlier, the object distance and direction determination module421can identify the objects-of-interest in the camera lens direction. Barring any intervening objects or persons blocking the camera lens, these objects-of-interest will appear in the camera viewfinder foreground or background if the lens is partially blocked.

In operation block715, the object distance and direction determination module421accesses the object templates435and selects any templates for objects-of-interest located in the direction of the camera lens. These templates can then be handed over to the object template scaling module423. In operation block717, the object template scaling module423scales the selected object templates using the object distance and direction table437and constructs a custom reticle for at least one object-of-interest in the scene within the camera viewfinder.

In operation block719, the focus assist module425may then move the custom reticle across the scene in the viewfinder (i.e. on the display405), until the custom reticle correlates with a portion of the scene. In operation block721, the focus assist module425may accordingly send camera control signals429to the camera equipment413to adjust focus and capture the image. The method of operation then ends as shown.

The user may override the automatic selection of the object-of-interest by manually selecting one or more different objects-of-interest in the viewfinder. This may be done using a touchscreen feature or mouse selection etc. of the display405or using some other feature of the user interface407. In that case, the object template scaling module423will select and scale the appropriate object template (from object templates435) based on the user's selection and will construct a new custom reticle. The focus assist module425will position the new reticle over the user's selection.

FIG. 8is a diagram of a digital camera viewfinder illustrating the partitioning of a captured image into a grid for purposes of image statistics collection and in which a customized focus reticle overlaps one or more grid areas. More particularly, the focus assist module425may communicate with the image signal processing pipeline427and may improve processing speed by limiting the statistics required to perform focus operations. In the example shown inFIG. 8, a scene801contained within the viewfinder is broken into a 16×12 grid800over the field of view of the camera equipment413. As understood by those of ordinary skill, each block within the grid800contains a focus score or focus metric that may be used by various routines performed within or externally to the image signal processing pipeline427as part of the image capture processes.

A custom reticle805surrounds the perimeter of an object-of-interest807which in this example is a skyscraper. This information to be used by the focus assist module425to limit which portions of the grid800statistics are used for processes of the image signal processing pipeline427or any external processes that use the statistics. For example, as shown inFIG. 8, the focus assist module425may limit the statistics used to the grid800grid blocks defined by a rectangle803having corners at column four, row three and column six, row nine. The rectangle803encompasses the custom reticle805around the object-of-interest807and therefore limits the statistics used to a smaller region-of-interest than the entire scene801. The focus assist module425may access an API through the libraries418to instruct the image signal processing pipeline427to limit the statistics utilized to the specified portion of the grid800. The limited statistics may be also be used for the camera equipment413AWB and automatic exposure control (AEC) routines. Although the example ofFIG. 8uses a rectangle803to define a limited statistics region-of-interest, any shape may be used for this purpose in accordance with the embodiments.

In some embodiments, the focus assist module425may also be used to maintain focus on an object-of-interest to improve image quality when capturing a panoramic view. For example, as the camera equipment413sweeps across the scene in order to form the panoramic view, the focus assist module425may maintain focus on one or more objects-of-interest defined within a customized focus reticle.

While various embodiments have been illustrated and described, it is to be understood that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the scope of the present invention as defined by the appended claims.