Patent ID: 12212834

This specification includes references to “one embodiment” or “an embodiment.” The appearances of the phrases “in one embodiment” or “in an embodiment” do not necessarily refer to the same embodiment. Particular features, structures, or characteristics may be combined in any suitable manner consistent with this disclosure.

“Comprising.” This term is open-ended. As used in the appended claims, this term does not foreclose additional structure or steps. Consider a claim that recites: “An apparatus comprising one or more processor units. . . . ” Such a claim does not foreclose the apparatus from including additional components (e.g., a network interface unit, graphics circuitry, etc.).

“Configured To.” Various units, circuits, or other components may be described or claimed as “configured to” perform a task or tasks. In such contexts, “configured to” is used to connote structure by indicating that the units/circuits/components include structure (e.g., circuitry) that performs those task or tasks during operation. As such, the unit/circuit/component can be said to be configured to perform the task even when the specified unit/circuit/component is not currently operational (e.g., is not on). The units/circuits/components used with the “configured to” language include hardware—for example, circuits, memory storing program instructions executable to implement the operation, etc. Reciting that a unit/circuit/component is “configured to” perform one or more tasks is expressly intended not to invoke 35 U.S.C. § 112 (f) for that unit/circuit/component. Additionally, “configured to” can include generic structure (e.g., generic circuitry) that is manipulated by software and/or firmware (e.g., an FPGA or a general-purpose processor executing software) to operate in manner that is capable of performing the task(s) at issue. “Configure to” may also include adapting a manufacturing process (e.g., a semiconductor fabrication facility) to fabricate devices (e.g., integrated circuits) that are adapted to implement or perform one or more tasks.

“First,” “Second,” etc. As used herein, these terms are used as labels for nouns that they precede, and do not imply any type of ordering (e.g., spatial, temporal, logical, etc.). For example, a buffer circuit may be described herein as performing write operations for “first” and “second” values. The terms “first” and “second” do not necessarily imply that the first value must be written before the second value.

“Based On.” As used herein, this term is used to describe one or more factors that affect a determination. This term does not foreclose additional factors that may affect a determination. That is, a determination may be solely based on those factors or based, at least in part, on those factors. Consider the phrase “determine A based on B.” While in this case, B is a factor that affects the determination of A, such a phrase does not foreclose the determination of A from also being based on C. In other instances, A may be determined based solely on B.

It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, without departing from the intended scope. The first contact and the second contact are both contacts, but they are not the same contact.

The terminology used in the description herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context.

DETAILED DESCRIPTION

Various embodiments described herein relate to a device having a multi-camera system including one or more camera modules, whereby at least one of the camera modules may use a chassis cut-out to improve reliability and image quality. In some embodiments, the at least one camera module may include a chassis structure, one or more lenses, and an image sensor. The chassis structure may include at least one aperture to pass through light to the one or more lenses. The lenses may further pass through the light to the image sensor. The image sensor may generate image signals, e.g., electrical signature, based on light received from the lenses, and the image signals may be further processed by a processor to produce an image. In some embodiments, the device may be a mobile multipurpose device, such as a smartphone, table, pad device, and the like.

In some embodiments, the lenses and/or the image sensor of the camera module may be movable relative to one another to implement various camera functions. For instance, in some embodiments, the camera module may have a bearing structure including one or more stages. A first stage may be suspended from a spatially fixed and stationary base structure by a first group of rolling elements, such that the first stage may move on the first group of rolling elements approximately in a first direction, e.g., a direction in parallel to an optical axis of the lenses (or Z-axis) to adjust a focus distance between the image sensor and the lenses to perform autofocus (AF). In addition, in some embodiments, the bearing structure may include a second stage suspending from the first stage through a second group of rolling elements such that the second stage may be movable approximately in a second direction, e.g., a direction (e.g., along X-axis direction) orthogonal to the optical axis of the lenses (or Z-axis) to compensate for unwanted misalignment between the image sensor and lenses along the second direction to implement optical image stabilization (OIS). Further, the first and second stages (e.g., the raceways at the first and second stages for the second group of rolling elements in-between) may be designed, such that the second stage may not necessarily have a degree of freedom in other directions (e.g., along Z-axis). Therefore, the second stage may move together with the first stage as the first stage moves along Z-axis. Moreover, in some embodiments, the bearing structure may include a third stage suspending from the second stage through a third group of rolling elements so as to allow the third stage to be movable approximately in a third direction, e.g., another direction (e.g., along Y-axis direction) orthogonal to the optical axis of the lenses (or Z-axis) to implement OIS in the third direction. Similarly, the bearing structure may be designed such that the third stage may move together with the second stage as the second stage moves along Y-axis, as well as moves with the first stage as the first stage moves along Z-axis. In other words, the third stage may move in Z, X, and/or Y-axis. In some embodiments, a movable component (e.g., one of the lenses and image sensor) may be mounted to the third stage, whilst the other component may be affixed to the base structure and thus stay fixed. Therefore, the movable component may move with the third stage relative to the stationary component approximately along Z-, X-, and/or Y-axis to implement AF and/or OIS functions.

In some embodiments, the camera module may use one or more actuators, such as one or more voice coil motor (VCM) actuators, to control movement of the movable component. For instance, a VCM actuator may include one or more coils and one or more corresponding magnets. The magnets may be attached to a first component, whilst the coils may be affixed to a second component. The coils may conduct current that may electromagnetically interact with magnetic fields of the magnets to generate motive force (e.g., Lorentz force) to move the first component relative to the second component. For example, consider the bearing structure described above. The magnets may be attached to the first stage, whilst the coils may be affixed to the base structure, such that the first stage may be controlled by the actuators to move relative to the base structure approximately along Z-axis.

In some embodiments, an indentation may be formed at the surface of a raceway for the rolling elements. As described above, the indentation can degrade image performance, cause poor AF and/or OIS performance, and/or actuator control instability. One way to address these issues is to increase a span distance of rolling elements. Assuming a group of rolling elements is arranged approximately in a line (e.g., a straight line along Z-axis), the span distance may broadly refer to the length of the group of rolling elements in the line, or the distance between the two rolling elements at the two ends of the group of rolling elements. When a rolling element rolls over an indentation, this rolling element may shift or wobble from its regular moving path, and thus become tilted with respect to other rolling elements. The longer the span distance or length of the group of rolling elements, the farther the other rolling elements is away from the this rolling element, and the more the tilt can be attenuated. Therefore, increase of the span distance or length of the rolling elements can reduce sensitivity of the group of rolling elements (and its associated moving component) to the indentation. Moreover, the increase of the span distance or length of the rolling elements may also increase the stroke distance for adjusting the focal distance between the lenses and the image sensor. As a result, it may also improve the performance for autofocus (AF).

In some embodiments, the chassis structure of the camera module may define a limit for the span distance or length of a group of rolling elements. Thus, to increase the span distance or length for the rolling elements, at least one portion of the chassis structure may be cut out or removed to provide extra space to allow the span distance or length of the rolling elements to be increased. For instance, in some embodiments, a top wall of the chassis in X-Y plane may be cut out to create an opening such that the span distance or length of the rolling elements may extend proximate or at least partially into the opening along Z-axis. In addition, in some embodiments, the chassis cut-out may also allow diameters of the rolling elements to be increased, which may also help to reduce the sensitivity of the rolling elements to raceway indentations. But note that the diameter increase may cause the size of the rolling elements to increase in multiple directions (e.g., also in X- and/or Y-axis), thus increasing the overall size of the camera module. In some embodiments, the bearing structure of the camera module may use balls and/or rollers (also called needle elements) as the rolling elements. As described above, in some embodiments, the device may have a multi-camera system including one or more camera modules. Thus, the chassis cut-out techniques may apply to multiple camera modules to improve reliability.

FIG.1shows an example device that includes a multi-camera system, according to some embodiments. For purposes of illustration, only relevant components are displayed in the figure. In this example, device100may include multi-camera system102that may include camera modules104,106, and108. Camera modules104,106, and108may individually include chassis structures110,112, and114. In some embodiments, chassis structures110,112, and/or114may be formed using metal sheets. For instance, a process may include deep drawing one or more sheets of metal (e.g., stainless steel, copper alloy, etc.) to form, at least in part, chassis structures110,112and/or114. In some embodiments, chassis structures110,112, and114may be welded together at joints126and128. Alternatively, chassis structures110,112, and114may be formed as a single integral piece. For instance, in some embodiments, chassis structures110and112may be formed as one single piece, whilst chassis structure114may be a separate piece and welded with chassis structures110and112. In some embodiments, chassis structures110,112, and114may individually include apertures120,122, and124to receive at least a corresponding portion of camera modules104,106, and108. For instance, aperture120may be formed at top wall118of chassis structure110to receive a portion of the lens holder that contains one or more lenses of camera module104. Aperture120may allow light to pass through to the one or more lenses to capture images. As indicated inFIG.1, chassis structure110may include cut-out portion116, e.g., at top wall118. As a result, chassis structure110may have a “hybrid” structure, whereby at least a portion of top wall118may be present and at least a portion of top wall118may be cut out and removed. As indicated inFIG.1, in some embodiments, cut-out portion116may be a separate opening from the aperture of camera module104(e.g., aperture120).

As indicated in the cross-sectional view from perspective A-A′ inFIG.1, camera module104may include a first group of rolling elements134(e.g., extending along Z-axis on the right) inside camera module104. The group of rolling elements134may suspend a first stage132from stationary base structure130. The first group of rolling elements134may be retained in a raceway (also called groove) between first stage132and base structure130, such that rolling elements136and138may rotate locally inside the raceway between first stage132and base structure130. As a result, the first stage132may move on the first group of rolling elements134approximately along Z-axis. The raceway between base structure130and/or first stage132may be in one of many possible shapes. For instance, in some embodiments, the raceway may be in a V-shape. Alternatively, in some embodiments, the raceway may be in a circular or trapezoidal shape. In addition, in this example, for purposes of illustration, it is assumed that rolling elements136and138are balls. Alternatively, in some embodiments, rolling elements136and138may be rollers or needle elements. As indicated inFIG.1, rolling elements136at the ends of the first group of rolling elements134may have larger diameters than intermediate rolling elements138in-between. Thus, rolling elements136may be called driving balls136because they provide the suspension between the first stage132and base structure130as they can touch the first stage132and base structure130at a same time. By comparison, intermediate rolling elements138may be called spacing balls138because they primarily provide spacing between driving balls136. As indicated inFIG.1, the span distance or length of the first group of rolling elements134may be measured from a center of a first driving ball136at the bottom to a center of a second driving ball136at the top.

In some embodiments, chassis structure110may include one top wall118(e.g., in the X-Y plane) that may include aperture120, and one or more side walls119adjacent top wall118. Chassis110may be attached with camera module104using glue111. As indicated inFIG.1, top wall118may define a limit for the span distance or length of the first group of rolling elements134, or the length of the raceway of the first group of rolling elements134. Thus, in some embodiments, a portion of top wall118of chassis structure110(and an associate portion of glue111) may be removed to create cut-out portion116, as indicated on the right side inside camera module104. As a result, the shoulder of camera module104may be elevated (e.g., along Z-axis), an opening above the first group of rolling elements134may become available, and thus its span distance or length may be increased. For purposes of illustration, the space distance of the first group of rolling elements134is shown to extend up to approximately the lower edge of cut-out portion116inFIG.1. In some embodiments, the space distance may extend at least partially into the opening created by cut-out portion116, e.g., beyond the lower edge but may or may not extend beyond the upper edge of cut-out portion116. As described above, increase of the span distance or length of the first group of rolling elements134may reduce the sensitivity of the rolling elements to a raceway indentation139. For instance, the first driving ball136(1) at the bottom rolls over indentation139, and thus tilts with respect to the second driving ball136(2) at the top. As the span distance or length between the two driving balls is extended, the tilt may be further attenuated. In some embodiments, a movable component of camera module104(e.g., the lenses) may be placed closer to the second driving ball138at the top (as described below inFIG.2). Thus, the effect of indentation139to position of the movable component may be lessened. In some embodiments, cut-out116of chassis structure110may allow the span distance or length of the first group of rolling elements134to be increased by a few hundreds of micrometers.

FIG.2is an exploded view to further illustrate an internal structure of camera module104, according to some embodiments. For purposes of illustration, an optical coordinate system is displayed, where an optical axis of one or more lenses142of camera module104is defined as Z-axis. InFIG.2, camera module104may include lenses142(contained in a lens holder) and image sensor140. In this example, image sensor140may be attached to a substrate that may be further affixed to base structure130. Lenses142(and the lens holder) may be attached to bearing structure138that may be suspended from base structure130using bearing structure138. Thus, image sensor140may be spatially fixed and stationary, whilst lenses142may be movable in different directions (thus called a “lens-shift” structure). As indicated inFIG.2, bearing structure138may include the first stage132that may be suspended from base structure130using the first group of rolling elements134. As described above, the first group of rolling elements134may be placed into a raceway between the first stage132and base structure130, such that the first stage132may move on the first group of rolling elements134approximately in a first direction in parallel to the optical axis of lenses142(e.g., Z-axis). In other words, the first stage132may move relative to base structure130(and image sensor140) along Z-axis to implement AF, as indicated by the arrow inFIG.2. In some embodiments, camera module104may include one or more light folding element, such as one or more mirrors or prisms, to reflect and change the direction of light transmitting within camera module104.

In addition, in some embodiments, bearing structure138may include a second stage150that may be suspended from the first stage132via a second group of rolling elements154. The raceway for the second group of rolling elements154between the first stage132and the second stage150(e.g., raceway156at the second stage150) may be designed such that the second group of rolling elements154(e.g., extending along X-axis) may have the degree of movement freedom along X-axis, but not in other directions (e.g., along Z-axis). As a result, the second stage150may move relative to the first stage132along X-axis thus implementing OIS in X-axis, as indicted by the arrow inFIG.2. In addition, the second stage150may have to move together with the first stage132as the first stage132moves relative to base structure130along Z-axis.

Moreover, in some embodiments, bearing structure138may include a third stage152that may be suspended from the second stage150through a third group of rolling elements156and an associated raceway (e.g., extending along Y-axis). Similarly, the third stage152may move relative to the second stage150along Y-axis thus implementing OIS in Y-axis, but may have not to move with the second stage150in other directions. Thus, the third stage152itself may move approximately along Y-axis. In addition, when the second stage150moves approximately along X-axis, the third stage152may also move together with the second stage150along X-axis; and when the first stage132moves approximately along Z-axis, the second stage150and third stage152may move together with the first stage132along Z-axis. In other words, the third stage152may be movable approximately along Z-, X-, and/or Y-axis. In some embodiments, lenses142of camera module104may be affixed to the third stage152through plate144, and accordingly become movable as well relative to image sensor140along Z-, X-, and/or Y-axis.

In some embodiments, camera module104may use one or more actuators, e.g., one or more VCM actuators, to control movement of lenses142. For instance, inFIG.2, the actuators of camera module104may include AF coil160, OIS-X coil162, and/or OIS-Y coil164affixed to base structure130. In addition, the actuators may include AF magnet170affixed to first stage132, as well OIS-X magnet172and/or OIS-Y magnet174. AF coil160may conduct current that may interact with the magnetic field of AF magnet170to generate motive force (e.g., Lorentz force) to cause AF magnet170(and the first stage132) to move approximately along Z-axis. Similarly, OIS-X coil162and OIS-Y coil164may respectively electromagnetically interact with OIS-X magnet172and OIS-Y magnet174to move the second stage150and third stage152approximately along X-axis and Y-axis. As a result, the actuators may be used to control the location of lenses142relative to image sensor140along Z-, X- and/or Y-axis. Note that camera module104inFIGS.1-2is presented only as an example for purposes of illustration and is not intended to limit the present disclosure. In some embodiments, the stack-up sequence of the stages of bearing structure138may be different. For instance, in some embodiments, the first stage132may be stacked on top of the second stage150, and the third stage152may then ride on top of the first stage132. In addition, in some embodiments, camera module104may use a sensor-shift structure, not the lens-shift structure. For instance, lenses142may be fixed, whilst image sensor140may be mounted to one stage of bearing structure138(e.g., the third stage152) to be thus movable in the one or more directions. Alternatively, in some embodiments, both lenses142and image sensor140may be movable (e.g., camera module104including both lens-shift and sensor-shift structures). For instance, lenses142may be movable along Z-axis to perform AF, whilst image sensor140may be movable along X- and/or Y-axis to implement OIS. But regardless of the different designs, the techniques disclosed herein may be still applied to use a chassis cut-out to increase a bearing span distance or length for a group of rolling elements to reduce the effect of raceway indentations. As indicated inFIG.2, camera module104may include at least an opening through top wall118created by chassis cut-out portion116at top wall118, which may be positioned above the first group of rolling elements134. As a result, the span distance or length of the first group of rolling elements may extend proximate or at least partially into the opening created by chassis cut-out portion116. Note that for purposes of illustration, inFIG.2, cut-out portion116is shown to extend fully between the two opposite sides of chassis110. In some embodiments, cut-out portion116may extend only partially (e.g., as shown inFIG.4).

FIG.3is a schematic diagram to show benefits of an increased bearing span distance or length, according to some embodiments. InFIG.3, the diagram on the left shows the first group of rolling elements134that may suspend the first stage132from base structure130with chassis cut-out portion116, whilst the diagram on the right shows an alternative embodiment without a chassis cut-out. As indicated inFIG.3, top wall118of chassis structure110may form a limit for the span distance or length of the first group of rolling elements134, e.g., along Z-axis. Thus, with chassis cut-out portion116, at least a portion of top wall118of chassis structure110(and an associated portion of glue111) may be removed and an opening may be created. Thus, the span distance or length of the first group of rolling elements134may extend proximate or at least partially into the opening to be increased. For instance, the raceway between base structure130and the first stage132may be extended longer (e.g., along Z-axis) to become proximate or at least partially into the opening, and more spacing balls138in the first group of rolling elements134may be added (e.g., from one to two), such that the space distance between the two driving balls136at the two ends may grow longer. InFIG.3, when the bearing span distance or length is increased, the driving ball136(2) at the top may be farther away from the driving ball136(1) at the bottom. As a result, when the driving ball136(1) rolls over indentation139at the surface of the raceway at base structure130, the tilt between the bottom driving ball136(1) with respect to the top driving ball136(2) may be reduced given the trigonometric relationship as indicated inFIG.3. In other words, considering the top driving ball136(2) as a reference point, the bottom driving ball136(1) may shift less with respect to this reference point when the span distance or length between the two driving balls increases. Referring back toFIG.2, the movable lenses142may reside on top of the first stage132that further moves on the first group of rolling elements including the driving balls136. Therefore, the sensitivity of the position shift of lenses142with respect to indentation139may be reduced. Note that in some embodiments, at least a portion of side walls119adjacent top wall118of chassis structure110may be removed so as to allow the span distance or length of another group of rolling elements to be increased. For instance, a cut-out portion at side walls119at the position Y-axis may allow the span distance or length of the third group of rolling elements156(extending along Y-axis) to be increased along Y-axis.

FIG.4shows example chassis structures of a device including a multi-camera system, according to some embodiments. InFIG.4, in some embodiments, multi-camera system102of device100may include camera modules104,106, and108. Camera modules104,106, and108may individually include chassis structures110,112, and114. As described above, chassis structures110,112, and/or114may be formed as separate components that are welded together (e.g., at joints116and118), or alternatively as a single integral piece. Further, chassis structures110,112, and/or114may individually include at least one top wall and one or more side walls adjacent the at least one top wall. For instance, chassis structure110may include top wall118and several side walls119adjacent top wall118. In some embodiments, there may be electrical wires routed across chassis structures110,112, and114in order to transfer power and/or other electrical signals between camera modules104,106, and108. As indicated inFIG.4, chassis structures110,112, and114may individually include apertures120,122, and124to receive at least a corresponding portion of camera modules104,106, and108. For instance, chassis structure110may include aperture120at top wall118to receive at least a portion of the lens holder (containing lenses142) of camera module104. Similarly, chassis structure112may include aperture122to receive at least a portion of the lens holder (containing lenses180) for camera module106, and chassis structure114may include aperture124to receive at least a portion of the lens holder (containing lenses182) for camera module108. As indicated in FIG.4, chassis structure110may include cut-out portion116at top wall118to allow the span distance or length of the first group of rolling elements134to be increased, e.g., along Z-axis. In this example, top wall118may be oriented to reside in the X-Y plane, and cut-out portion116may allow the span distance or length of the first group of rolling elements134to be extended along Z-axis. As described above, in some embodiments, one or more portions of side walls116may be also cut out and removed to create an opening to allow the span distance or length of another group of rolling elements to be increased. Moreover, the chassis cut-out techniques described above may be also applied to camera modules106and/or108.

FIG.5illustrates a schematic representation of an example device500that may have a multi-camera system including a camera module with a chassis cut-out, e.g., as described herein with reference toFIGS.1-4, according to some embodiments. In some embodiments, the device500may be a mobile device and/or a multifunction device. In various embodiments, the device500may be any of various types of devices, including, but not limited to, a personal computer system, desktop computer, laptop, notebook, tablet, slate, pad, or netbook computer, mainframe computer system, handheld computer, workstation, network computer, a camera, a set top box, a mobile device, an augmented reality (AR) and/or virtual reality (VR) headset, a consumer device, video game console, handheld video game device, application server, storage device, a television, a video recording device, a peripheral device such as a switch, modem, router, or in general any type of computing or electronic device.

In some embodiments, the device500may include a display system502(e.g., comprising a display and/or a touch-sensitive surface) and/or one or more cameras504. In some non-limiting embodiments, the display system502and/or one or more front-facing cameras504amay be provided at a front side of the device500, e.g., as indicated inFIG.5. Additionally, or alternatively, one or more rear-facing cameras504bmay be provided at a rear side of the device500. In some embodiments comprising multiple cameras504, some or all of the cameras may be the same as, or similar to, each other. Additionally, or alternatively, some or all of the cameras may be different from each other. In various embodiments, the location(s) and/or arrangement(s) of the camera(s)504may be different than those indicated inFIG.5.

Among other things, the device500may include memory506(e.g., comprising an operating system508and/or application(s)/program instructions510), one or more processors and/or controllers512(e.g., comprising CPU(s), memory controller(s), display controller(s), and/or camera controller(s), etc.), and/or one or more sensors516(e.g., orientation sensor(s), proximity sensor(s), and/or position sensor(s), etc.). In some embodiments, the device500may communicate with one or more other devices and/or services, such as computing device(s)518, cloud service(s)520, etc., via one or more networks522. For example, the device500may include a network interface (e.g., network interface610) that enables the device500to transmit data to, and receive data from, the network(s)522. Additionally, or alternatively, the device500may be capable of communicating with other devices via wireless communication using any of a variety of communications standards, protocols, and/or technologies.

FIG.6illustrates a schematic block diagram of an example computing device, referred to as computer system600, that may include or host embodiments of a multi-camera system including a camera module with a chassis cut-out, e.g., as described herein with reference toFIGS.1-5, according to some embodiments. In addition, computer system600may implement methods for controlling operations of the camera and/or for performing image processing images captured with the camera. In some embodiments, the device500(described herein with reference toFIG.5) may additionally, or alternatively, include some or all of the functional components of the computer system600described herein.

The computer system600may be configured to execute any or all of the embodiments described above. In different embodiments, computer system600may be any of various types of devices, including, but not limited to, a personal computer system, desktop computer, laptop, notebook, tablet, slate, pad, or netbook computer, mainframe computer system, handheld computer, workstation, network computer, a camera, a set top box, a mobile device, an augmented reality (AR) and/or virtual reality (VR) headset, a consumer device, video game console, handheld video game device, application server, storage device, a television, a video recording device, a peripheral device such as a switch, modem, router, or in general any type of computing or electronic device.

In the illustrated embodiment, computer system600includes one or more processors602coupled to a system memory604via an input/output (I/O) interface606. Computer system600further includes one or more cameras608coupled to the I/O interface606. Computer system600further includes a network interface610coupled to I/O interface606, and one or more input/output devices612, such as cursor control device614, keyboard616, and display(s)618. In some cases, it is contemplated that embodiments may be implemented using a single instance of computer system600, while in other embodiments multiple such systems, or multiple nodes making up computer system600, may be configured to host different portions or instances of embodiments. For example, in one embodiment some elements may be implemented via one or more nodes of computer system600that are distinct from those nodes implementing other elements.

In various embodiments, computer system600may be a uniprocessor system including one processor602, or a multiprocessor system including several processors602(e.g., two, four, eight, or another suitable number). Processors602may be any suitable processor capable of executing instructions. For example, in various embodiments processors602may be general-purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. Also, in some embodiments, one or more of processors602may include additional types of processors, such as graphics processing units (GPUs), application specific integrated circuits (ASICs), etc. In multiprocessor systems, each of processors602may commonly, but not necessarily, implement the same ISA. In some embodiments, computer system600may be implemented as a system on a chip (SoC). For example, in some embodiments, processors602, memory604, I/O interface606(e.g., a fabric), etc. may be implemented in a single SoC comprising multiple components integrated into a single chip. For example, an SoC may include multiple CPU cores, a multi-core GPU, a multi-core neural engine, cache, one or more memories, etc. integrated into a single chip. In some embodiments, an SoC embodiment may implement a reduced instruction set computing (RISC) architecture, or any other suitable architecture.

System memory604may be configured to store program instructions620accessible by processor602. In various embodiments, system memory604may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type of memory. Additionally, existing camera control data622of memory604may include any of the information or data structures described above. In some embodiments, program instructions620and/or data622may be received, sent or stored upon different types of computer-accessible media or on similar media separate from system memory604or computer system600. In various embodiments, some or all of the functionality described herein may be implemented via such a computer system600.

In one embodiment, I/O interface606may be configured to coordinate I/O traffic between processor602, system memory604, and any peripheral devices in the device, including network interface610or other peripheral interfaces, such as input/output devices612. In some embodiments, I/O interface606may perform any necessary protocol, timing or other data transformations to convert data signals from one component (e.g., system memory604) into a format suitable for use by another component (e.g., processor602). In some embodiments, I/O interface606may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard, for example. In some embodiments, the function of I/O interface606may be split into two or more separate components, such as a north bridge and a south bridge, for example. Also, in some embodiments some or all of the functionality of I/O interface606, such as an interface to system memory604, may be incorporated directly into processor602.

Network interface610may be configured to allow data to be exchanged between computer system600and other devices attached to a network624(e.g., carrier or agent devices) or between nodes of computer system600. Network624may in various embodiments include one or more networks including but not limited to Local Area Networks (LANs) (e.g., an Ethernet or corporate network), Wide Area Networks (WANs) (e.g., the Internet), wireless data networks, some other electronic data network, or some combination thereof. In various embodiments, network interface610may support communication via wired or wireless general data networks, such as any suitable type of Ethernet network, for example; via telecommunications/telephony networks such as analog voice networks or digital fiber communications networks; via storage area networks such as Fibre Channel SANs, or via any other suitable type of network and/or protocol.

Input/output devices612may, in some embodiments, include one or more display terminals, keyboards, keypads, touchpads, scanning devices, voice or optical recognition devices, or any other devices suitable for entering or accessing data by one or more computer systems600. Multiple input/output devices612may be present in computer system600or may be distributed on various nodes of computer system600. In some embodiments, similar input/output devices may be separate from computer system600and may interact with one or more nodes of computer system600through a wired or wireless connection, such as over network interface610.

Those skilled in the art will appreciate that computer system900is merely illustrative and is not intended to limit the scope of embodiments. In particular, the computer system and devices may include any combination of hardware or software that can perform the indicated functions, including computers, network devices, Internet appliances, PDAs, wireless phones, pagers, etc. Computer system900may also be connected to other devices that are not illustrated, or instead may operate as a stand-alone system. In addition, the functionality provided by the illustrated components may in some embodiments be combined in fewer components or distributed in additional components. Similarly, in some embodiments, the functionality of some of the illustrated components may not be provided and/or other additional functionality may be available.

Those skilled in the art will also appreciate that, while various items are illustrated as being stored in memory or on storage while being used, these items or portions of them may be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments some or all of the software components may execute in memory on another device and communicate with the illustrated computer system via inter-computer communication. Some or all of the system components or data structures may also be stored (e.g., as instructions or structured data) on a computer-accessible medium or a portable article to be read by an appropriate drive, various examples of which are described above. In some embodiments, instructions stored on a computer-accessible medium separate from computer system900may be transmitted to computer system900via transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network and/or a wireless link. Various embodiments may further include receiving, sending or storing instructions and/or data implemented in accordance with the foregoing description upon a computer-accessible medium. Generally speaking, a computer-accessible medium may include a non-transitory, computer-readable storage medium or memory medium such as magnetic or optical media, e.g., disk or DVD/CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR, RDRAM, SRAM, etc.), ROM, etc. In some embodiments, a computer-accessible medium may include transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as network and/or a wireless link.

The methods described herein may be implemented in software, hardware, or a combination thereof, in different embodiments. In addition, the order of the blocks of the methods may be changed, and various elements may be added, reordered, combined, omitted, modified, etc. Various modifications and changes may be made as would be obvious to a person skilled in the art having the benefit of this disclosure. The various embodiments described herein are meant to be illustrative and not limiting. Many variations, modifications, additions, and improvements are possible. Accordingly, plural instances may be provided for components described herein as a single instance. Boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of claims that follow. Finally, structures and functionality presented as discrete components in the example configurations may be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements may fall within the scope of embodiments as defined in the claims that follow.