Patent Description:
Point and shoot cameras sometimes include a lens which may be extended out of a housing for photo taking and retracted into the housing when the camera is not in use. Mobile phones often include a camera to take pictures and/or video.

<CIT> discusses A digital photographing apparatus such as a digital camera, having a retractable body tube containing a lens assembly, and a method of controlling the same. The digital camera receives an ongoing series of images, analyzes differences between images to determine an abnormal camera condition such as dropping the camera, and automatically retracts the body tube into the camera to protect it from impact:
<CIT> discusses a digital camera with a lens being automatically retractable and an automatic retraction method thereof are provided. After the digital camera is turned on, it can continuously capture images from the outside at a predetermined time interval, and convert the images into corresponding image characteristic values and then compare them. When the characteristic values of the current image differ from the previous one and reach a predetermined difference, the lens exposed outside is automatically retracted, so as to reduce damage to the lens due to falling or heavy shaking of the digital camera.

<CIT> discusses an auto-focusing method of an electronic device includes collecting sensor information using a plurality of sensors of the electronic device when a camera of the electronic device is driven, determining at least one focusing sensor, from among the plurality of sensors, based on the collected sensor information, and focusing on a subject located in an image collected from the camera using the at least one determined focusing sensor.

The invention is defined in the claims. In the following description, any embodiment referred to and not falling within the scope of the claims is merely an example useful to the understanding of the invention.

The figures are not to scale. Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.

Examples disclosed herein relate to retractable image capture devices that include one or more camera module(s) (e.g., lens and/or image sensors) that move between an extended position and a retracted position when the camera module(s) are not being used and/or when an event and/or trigger is detected. The trigger(s) and/or event(s) may include identifying when an object (e.g., a table, the floor, carpet) in the environment of use becomes immediately adjacent and/or close to a lens of one of the camera modules and/or when the camera module has been exposed to a vibration and/or force meeting a threshold and/or indicating that the camera module has engaged an object and/or has been dropped. Such trigger(s) and/or event(s) may be detected by the image sensor of the camera module and may automatically cause retraction of the camera modules to thereby reduce the likelihood of damage due to contact with the object. The camera module(s) may be actuated in any suitable way such as, for example, using a voice-coil(s), a dual voice-coil, a dual spring, a rotary actuator(s), a leaf spring(s), a linear actuator(s), a micro-linear actuator(s), a solenoid actuator(s), a Piezo electric actuator(s), a spring(s), etc..

In some examples, an object is identified as being immediately adjacent a lens of an example camera module when a threshold difference is present between a first parameter value (e.g., a first luminosity, brightness or intensity value) sensed by a first one of the camera modules and a second parameter value (e.g., a second luminosity, brightness or intensity value) sensed by a second one of the camera modules. For instance, a sufficiently large difference in luminosity may indicate that a mobile device having a first camera module pointing in a first direction and having a second camera module pointing in a second direction has been placed on a table such that one camera module (e.g., facing the table) is receiving less light compared to the other camera module (e.g., facing away from the table).

In some examples, when a threshold difference is identified between the first and second parameter values indicative of an object being adjacent a lens, the example image capture device automatically retracts one or both of the camera modules to protect the lens of the retracted camera module(s) from being damaged and/or scratched. In some examples, when the image capture device retracts one or both of the camera modules, the retracted camera module(s) continue obtaining and/or recording image and/or video data from the retracted position (e.g., continues obtaining and/or recording image and/or video data from a different field of view). In other examples, when the image capture device retracts one or both of the camera modules, the camera modules are turned off such that image and/or video data is not obtained from the retracted position. In other examples, when the image capture device retracts one or both of the camera modules, the retracted image capture device and/or camera module(s) is turned off and/or paused until a trigger occurs. In some examples, the trigger is associated with a threshold difference not being present between the first and second parameter values and/or the image capture device being turned on.

In some examples, when a threshold difference is not present between the first and second parameter values, the example image capture device does not change the position of the camera modules (e.g., the camera modules remain in the extended and/or use position) and/or the camera module(s) are returned to the extended and/or use position. In other words, when the camera module(s) is retracted, in some examples, the first and second parameter values are determined and/or monitored and the camera module(s) is returned to the extended and/or use position when the threshold difference is no longer present. While the above example mentions first and second parameter values being compared to one another to determine if a threshold is satisfied, in other examples, either or both of the first and second parameter values may be compared to a reference parameter value to determine if a threshold is satisfied.

The first and second camera modules may be implemented in a mobile device (e.g., a cell phone) and may face opposite directions such that the first camera module faces forward and the second camera module faces rearward. In some examples, the camera modules may be configured to obtain image and/or video data in either the extended position or the retracted position. Typically, the extended position protects the respective lenses from being damaged by a potential impact and the extended position provides for a greater field of view. Example image capture device(s) disclosed herein may be implemented in any type of device such as, for example, a mobile device, a wearable device, a device having a wearable form factor, a watch, goggles, glasses, an unmanned aerial vehicle, etc. Example image capture device(s) disclosed herein may include any number of camera modules (e.g., <NUM>, <NUM>, <NUM>, <NUM>, etc.).

In some disclosed examples, an object is identified as being immediately adjacent one of the lenses when a positional value (e.g., a gyroscope value) is indicative of the device (e.g., a mobile device, a wearable device) facing the object (e.g., a table, the floor, the carpet). In some examples, if the positional value is indicative of one of the camera modules facing the ground, the example image capture device may dynamically retract one or more of the camera modules to shield the lenses from being damaged and/or scratched.

<FIG> illustrates an example image capture device <NUM> that can be used to capture image and/or video data including panoramic image and/or video data. In the illustrated example, to enable the image capture device <NUM> to capture images and/or video data that may be later combined and/or spliced to create <NUM>-degree and/or <NUM>-degree views, the image capture device <NUM> includes a first camera module <NUM> and a second camera module <NUM>. The first camera module <NUM> has a first lens <NUM> and a first sensor <NUM>. The second camera module <NUM> has a second lens <NUM> and a second sensor <NUM>. In some examples, the distance between the first lens <NUM> and the first sensor <NUM> is fixed such that moving the first camera module <NUM> does not change the distance between the first lens <NUM> and the first sensor <NUM>. Similarly, in some examples, the distance between the second lens <NUM> and the second sensor <NUM> is fixed such that moving the second camera module <NUM> does not change the distance between the second lens <NUM> and the second sensor <NUM>. In other words, in such examples, moving either of the first camera module <NUM> or the second camera module <NUM> does not change the focal length between the first lens <NUM> and the first sensor <NUM> or the focal length between the second lens <NUM> and the second sensor <NUM>. The first and/or second camera modules <NUM>, <NUM> may be the same or different. For example, the first camera module <NUM> may have a first focal length and/or a first angle of view and the second camera module <NUM> may have a second focal length and/or a second angle of view. The first and second sensors <NUM>, <NUM> may be imaging sensors or any other suitable sensor to enable the image capture device <NUM> to capture image and/or video data. The first and/or second lenses <NUM>, <NUM> may be any type of lens (e.g., fish eye lens, a fixed lens, a telephoto lens, etc.).

To control the position of the first and second camera modules <NUM>, <NUM>, in the illustrated example, the image capture device <NUM> includes an example camera module position controller <NUM>. In this example, the example camera module position controller <NUM> independently controls the position of the first and second camera modules <NUM>, <NUM> using first and second actuators <NUM>, <NUM>. In other words, the camera module position controller <NUM> can actuate the first camera module <NUM> independently of actuating the second camera module <NUM>. In the illustrated example, the first and second camera modules <NUM>, <NUM> are movable to an extended position external to the housing <NUM> shown in dashed lines and a retracted position internal to the housing <NUM> shown in solid lines. The first and/or second actuators <NUM>, <NUM> may be implemented as voice-coil(s), dual voice-coil(s), leaf spring(s), rotary actuator(s), linear actuator(s), a micro-linear actuator(s), a solenoid actuator(s), a Piezo electric actuator(s), a spring(s), etc..

In some examples, extending the first camera module <NUM> and the second camera module <NUM> relative to a housing <NUM> of the image capture device <NUM> enables images for constructing <NUM>-degree views and/or <NUM>-degree views to be obtained. However, when the lenses <NUM>, <NUM> are extended, the likelihood of the lenses <NUM>, <NUM> being damaged and/or scratched is increased. To shield the lenses <NUM>, <NUM> from being damaged and/or scratched when the camera modules <NUM>, <NUM> are extended from the housing <NUM>, the example camera module position controller <NUM> monitors for an event and/or trigger to occur and dynamically retracts the camera modules <NUM>, <NUM> within the housing <NUM> if the occurrence of such an event and/or trigger is identified. The trigger(s) and/or event(s) may include identifying an object (e.g., a table, the floor, carpet) being and/or becoming immediately adjacent and/or close to the lenses <NUM>, <NUM> of one of the camera modules <NUM>, <NUM> as may occur, for example, when a mobile device containing the lenses <NUM>, <NUM> is dropped and/or is placed on or moved toward another object or surface.

In some examples, the camera module position controller <NUM> begins to monitor for an event and/or trigger when the camera module position controller <NUM> determines that the image capture device <NUM> is on and in the extended position based on camera status data <NUM> from a camera status sensor <NUM> and first camera module positional data <NUM> associated with the first camera module <NUM>. Based on the camera module position controller <NUM> determining to monitor for an event and/or trigger, the camera module position controller <NUM> processes first image data <NUM> to determine whether or not an object is immediately adjacent and/or approaching the first lens <NUM>. Additionally and/or alternatively, in some examples, based on the camera module position controller <NUM> determining to monitor for an event and/or trigger, the camera module position controller <NUM> processes orientational data <NUM> received and/or accessed from an orientation sensor (e.g., a gravitational sensor, a three-axis accelerometer, a gyroscope) <NUM> to determine whether or not one of the lenses <NUM>, <NUM> is facing the ground (e.g., Earth).

In response to the camera module position controller <NUM> determining to retract the first camera module <NUM> (e.g., in response to an event and/or trigger being identified), the camera module position controller <NUM> transmits a first control signal <NUM> to the first actuator <NUM> to cause the first actuator <NUM> to actuate the first camera module <NUM> into the housing <NUM>. In some examples, retracting the first camera module <NUM> positions an outward most surface of the first lens <NUM> sub-flush relative to an exterior surface of the housing <NUM>. In some examples, the distance between the retracted and extended positions of the first camera module <NUM> is approximately <NUM> millimeters (mm).

In some examples, the camera module position controller <NUM> begins to monitor for an event and/or trigger when the camera module position controller <NUM> determines that the image capture device <NUM> is on and in the extended position based on the camera status data <NUM> and second camera module positional data <NUM> associated with the second camera module <NUM>. Based on the camera module position controller <NUM> determining to monitor for an event and/or trigger, the camera module position controller <NUM> processes second image data <NUM> to determine whether or not an object is immediately adjacent and/or approaching the second lens <NUM>. Additionally and/or alternatively, in some examples, based on the camera module position controller <NUM> determining to monitor for an event and/or trigger, the camera module position controller <NUM> processes the orientational data <NUM> to determine whether or not one of the lenses <NUM>, <NUM> is facing the floor.

In response to the camera module position controller <NUM> determining to retract the second camera module <NUM> and/or in response to an event and/or trigger being identified, the camera module position controller <NUM> transmits a second control signal <NUM> to the second actuator <NUM> to cause the second actuator <NUM> to retract the second camera module <NUM> into the housing <NUM>. In some examples, retracting the second camera module <NUM> positions an outward most surface of the second lens <NUM> sub-flush relative to an exterior surface of the housing <NUM>. In some examples, the distance between the retracted and extended positions of the second camera module <NUM> is approximately <NUM> millimeters (mm). In some examples, the camera modules <NUM>, <NUM> are always both extended or both retracted. Therefore, in some examples, the position of only one of the modules is used in the above.

<FIG> illustrates an example implementation of the camera module position controller <NUM> of <FIG>. As explained above, the controller <NUM> automatically controls the position (e.g., extended or retracted) of the first and/or second camera modules <NUM>, <NUM> based on the status (e.g., camera on, camera off) of the image capture device <NUM>, the orientation of the image capture device <NUM> and/or parameter(s) determined from image and/or video data obtained from the first and/or second camera modules <NUM>, <NUM>. In this example, the camera module position controller <NUM> includes an example camera module interface <NUM>, an example parameter identifier <NUM>, an example comparator <NUM>, an example reference database <NUM>, an example camera module actuation controller <NUM> and an example actuator interface <NUM>.

In the illustrated example, the first and second image data <NUM>, <NUM> respectively captured by the first camera module <NUM> and the second camera module <NUM> is received and/or accessed by the camera module interface <NUM>. To determine a first parameter value <NUM> of the first image data <NUM>, the parameter identifier <NUM> accesses and processes the first image data <NUM>. Similarly, to determine a second parameter value <NUM> of the second image data <NUM>, the parameter identifier <NUM> accesses and processes the second image data <NUM>. The first and/or second parameter values <NUM>, <NUM> may be representative of light intensity, brightness, luminosity values and/or any other parameter associated with, derivable from and/or otherwise the first and second image data <NUM>, <NUM>. Thus, the parameter identifier <NUM> may generate the parameter values by processing the pixel data contained in the image data to generate value(s) representing the derived characteristic.

To determine if an object (e.g., the floor, a table, etc.) is immediately adjacent one or more of the lenses <NUM>, <NUM>, in some examples, the comparator <NUM> compares the first parameter value <NUM> and the second parameter value <NUM> to determine if a threshold difference is present between the first and second parameter values <NUM>, <NUM>. When at least a threshold difference is identified between the first parameter value (e.g., a first luminosity, brightness or intensity value) <NUM> and the second parameter value (e.g., a second luminosity, brightness or intensity value) <NUM>, in some examples, the comparator <NUM> determines that an object is present immediately adjacent at least one of the first and second lenses <NUM>, <NUM>. As used herein, "immediately adjacent" is defined to be within <NUM> to <NUM> inch. Based on the comparison between the first and second parameter values <NUM>, <NUM>, the comparator <NUM> generates threshold satisfaction data <NUM> to be transmitted to and/or accessible by the camera module actuation controller <NUM>. Depending on the outcome of the comparison, the threshold satisfaction data <NUM> may indicate that the threshold difference between the first and second parameter values <NUM>, <NUM> exists (i.e., was satisfied) or does not exist (i.e., was not satisfied). In other words, the threshold satisfaction data <NUM> may or may not indicate that an object is adjacent one of the lenses <NUM>, <NUM> depending on the environment of the lenses <NUM>, <NUM>. The comparator <NUM> may be implemented, for example, by a processor or operational amplifier (op-amp).

In other examples, to determine if an object is immediately adjacent the first lens <NUM>, the comparator <NUM> compares the first parameter value <NUM> to a reference parameter value <NUM> received and/or accessed from the reference database <NUM> to determine if a threshold difference is present between the first parameter value <NUM> the reference parameter value <NUM>. Similarly, to determine if an object is immediately adjacent the second lens <NUM>, the comparator <NUM> compares the second parameter value <NUM> to the reference parameter value <NUM> to determine if a threshold difference is present between the second parameter value <NUM> and the reference parameter value <NUM>. When the threshold difference is identified between either of the first and second parameter values <NUM>, <NUM> and the reference parameter value <NUM>, in some examples, the comparator <NUM> determines that an object is present immediately adjacent the respective lenses <NUM>, <NUM>. Based on the comparison between either of the first and second parameter values <NUM>, <NUM> and the reference parameter value <NUM>, the comparator <NUM> of the example generates the threshold satisfaction data <NUM> that is accessible by the camera module actuation controller <NUM>.

To determine whether or not to actuate (e.g., retract, extend) the first and/or second camera module <NUM>, <NUM>, in some examples, the camera module actuation controller <NUM> accesses and processes the threshold satisfaction data <NUM>, the first camera module positional data <NUM>, the second camera module positional data <NUM>, the orientational data <NUM> and/or the camera status data <NUM>. In some examples, based on the camera module actuation controller <NUM> determining to monitor for an event and/or trigger and the threshold satisfaction data <NUM> indicating that a threshold difference is present between the light sensed by the camera modules <NUM>, <NUM> (e.g., between the first and second parameter values <NUM>, <NUM> or between either of the first and second parameter values <NUM>, <NUM> and the reference parameter value <NUM>), the camera module actuation controller <NUM> generates a control signal <NUM> that is transmitted to and/or accessed by the actuator interface <NUM>. In some examples, the control signal <NUM> is conveyed to the first actuator <NUM> as the first control signal <NUM> and/or conveyed to the second actuator <NUM> as the second control signal <NUM>. In some examples, the actuator interface <NUM> is omitted. When included, the actuator interface <NUM> may be implemented by, for example, a splitter, a repeater, etc..

Additionally and/or alternatively, to determine whether or not to actuate the first and/or second camera modules <NUM>, <NUM>, in some examples, the camera actuation controller <NUM> receives and/or accesses the orientational data <NUM>, the camera status data <NUM>, the first camera module positional data <NUM> and/or the second camera module positional data <NUM>. In some examples, based on the camera module actuation controller <NUM> determining to monitor for an event and/or trigger and the orientational data <NUM> indicating that the first lens <NUM> and/or the second lens <NUM> is facing the ground, the camera module actuation controller <NUM> generates the control signal <NUM> that is transmitted to and/or accessed by the actuator interface <NUM> and the first actuator <NUM> and/or the second actuator <NUM>. While the above examples mention the camera module actuation controller <NUM> using either of the threshold satisfaction data <NUM> or the orientational data <NUM> when determining whether or not an object is adjacent one of the lenses <NUM>, <NUM>, in other examples, the camera module actuation controller <NUM> uses both the threshold satisfaction data <NUM> and the orientational data <NUM> when determining the presence of an object approaching and/or adjacent one or more of the lenses <NUM>, <NUM>. The camera module controller <NUM> may be implemented by, for example, a semiconductor device such as, a controller, a processor, a microprocessor, etc..

The reference database <NUM> may be implemented by any type of storage device (e.g., a volatile memory, non-volatile memory, DRAM, etc..

While an example manner of implementing the camera module position controller <NUM> of <FIG> is illustrated in <FIG>, one or more of the elements, processes and/or devices illustrated in <FIG> may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example camera module interface <NUM>, the example parameter identifier <NUM>, the example comparator <NUM>, the example reference database <NUM>, the example camera module actuation controller <NUM> and the example actuator interface <NUM> and/or, more generally, the example camera module position controller <NUM> of <FIG> may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example camera module interface <NUM>, the example parameter identifier <NUM>, the example comparator <NUM>, the example reference database <NUM>, the example camera module actuation controller <NUM> and the example actuator interface <NUM> and/or, more generally, the example camera module position controller <NUM> of <FIG> could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example camera module interface <NUM>, the example parameter identifier <NUM>, the example comparator <NUM>, the example reference database <NUM>, the example camera module actuation controller <NUM> and the example actuator interface <NUM> and/or, more generally, the example camera module position controller <NUM> of <FIG> is/are hereby expressly defined to include a non-transitory computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. storing the software and/or firmware. Further still, the example camera module position controller <NUM> of <FIG> may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in <FIG>, and/or may include more than one of any or all of the illustrated elements, processes and devices.

<FIG> is an isometric view of an example mobile device <NUM> including a body <NUM> and the image capture device <NUM> of <FIG>. In the illustrated example of <FIG>, the first camera module <NUM> of the image capture device <NUM> is depicted in the extended position.

<FIG> is a side view of the example mobile device <NUM> of <FIG> showing the first and second camera modules <NUM>, <NUM> of the image capture device <NUM> in the extended position. In the illustrated example, the first and second camera modules <NUM>, <NUM> oppose one another. In some examples, the first and second camera modules <NUM>, <NUM> are coaxially disposed. In other examples, longitudinal axes of the first and second camera modules <NUM>, <NUM> are offset and/or spaced relative to one another. In some examples, the longitudinal axes of the first and second camera modules <NUM>, <NUM> are parallel relative to one another. In other examples, the longitudinal axes of the first and second camera modules <NUM>, <NUM> are non-parallel relative to one another.

<FIG> is an expanded (e.g., enlarged) side view of the example mobile device <NUM> of <FIG> showing the first and second lenses <NUM>, <NUM> of the first and second camera modules <NUM>, <NUM> in the extended position. In <FIG>, parts of the camera modules <NUM>, <NUM> are shown in phantom lines.

<FIG> is an isometric view of the example mobile device <NUM> of <FIG> showing the second camera module <NUM> in the extended position. <FIG> is a rear view opposite to that shown in <FIG>.

<FIG> is a detailed isometric view of the example mobile device <NUM> of <FIG> showing the second camera module <NUM> in the extended position.

<FIG> is a top view of the example mobile device <NUM> of <FIG> showing a microphone(s) and/or audio sensor(s) <NUM>. <FIG> shows the first and second lenses <NUM>, <NUM> of the first and second camera modules <NUM>, <NUM> in the extended position.

<FIG> is an expanded side view of the example mobile device <NUM> of <FIG> similar to <FIG> but showing the first and second camera module <NUM>, <NUM> in the retracted position.

<FIG> is a top view of the example mobile device <NUM> including the first and second camera modules <NUM>, <NUM> in the retracted position. In the illustrated example, the lenses <NUM>, <NUM> are depicted as being sub-flush relative to adjacent exterior surfaces <NUM>, <NUM> of the body <NUM> (e.g., lower than the surrounding structures of the housing).

<FIG> is a top view of the example mobile device <NUM> similar to <FIG> but showing the first actuator <NUM> and the second actuator <NUM>. In this example, the first and second actuators <NUM>, <NUM> are implemented as a voice coil <NUM> including a first arm <NUM> coupled to the first camera module <NUM> and a second arm <NUM> coupled to the second camera module <NUM>. A voice coil is a type of spring traditionally used in the cone of a loud speaker. Here it is engaged to simultaneously move two separate camera modules in opposite directions. In operation, to retract the first and second camera modules <NUM>, <NUM> relative to the immediately adjacent exterior surfaces <NUM>, <NUM>, the voice coil <NUM> of <FIG> rotates the first and second arms <NUM>, <NUM> counterclockwise and in a direction generally represented by arrows <NUM>, <NUM>. To extend the first and second camera modules <NUM>, <NUM> relative to the immediately adjacent exterior surfaces <NUM>, <NUM>, in the illustrated example, the voice coil <NUM> rotates the first and second arms <NUM>, <NUM> clockwise and in a direction generally represented by arrows <NUM>, <NUM>. In some examples, the first and second arms <NUM>, <NUM> have sufficient rigidity to move the first and second camera modules <NUM>, <NUM> at approximately the same rate and/or at approximately the same time based on an input and/or rotation of the voice coil <NUM>.

<FIG> is a top view of the first and second camera modules <NUM>, <NUM> and the first and second actuators <NUM>, <NUM>. In this example, the first and second actuators <NUM>, <NUM> are implemented as the first arm <NUM> and the second arm <NUM> coupled to the voice coil <NUM>. Energizing the voice coil <NUM> causes rotation which drives the arms <NUM>, <NUM> in opposite directions. In the illustrated example, to enable the first image data <NUM> and/or power to be received at and/or conveyed from the first camera module <NUM>, the first camera module <NUM> includes a first interface <NUM>. Similarly, in the illustrated example, to enable the second image data <NUM> and/or power to be received at and/or conveyed from the second camera module <NUM>, the second camera module <NUM> includes a second interface <NUM>. The interfaces <NUM>, <NUM> may be coupled to connectors from a power supply and/or to connectors to the first and second camera modules <NUM>, <NUM>.

<FIG> is an isometric view of the first and second camera modules <NUM>, <NUM> and the first and second actuators <NUM>, <NUM>. As shown in <FIG>, the interfaces <NUM>, <NUM> may be implemented by connectors.

<FIG> is a side view of the first and second camera modules <NUM>, <NUM>, the interfaces <NUM>, <NUM> and the first and second actuators <NUM>, <NUM> of <FIG> and <FIG>.

<FIG> is an isometric view of an example mobile device <NUM> implemented with an example image capture device <NUM> that is similar to the image capture device <NUM> of <FIG>. However, in contrast to the image capture device <NUM> of <FIG>, the example image capture device <NUM> of <FIG> includes three camera modules. In particular, the image capture device <NUM> includes the first camera module <NUM> on a first side <NUM> of the mobile device <NUM>, and the second camera module <NUM> and a third camera module <NUM> on a second side <NUM> of the mobile device <NUM>. In some examples, the example image capture device <NUM> includes an actuator for each of the first camera module <NUM>, the second camera module <NUM> and the third camera module <NUM>. However, the camera modules <NUM>, <NUM> and/or <NUM> may be actuated in any suitable way. As in the example of <FIG>, the camera modules <NUM>, <NUM>, <NUM> of the example of <FIG> are automatically retracted in response to certain events or triggers such as explained above in connection with <FIG>.

<FIG> is a side view of the example mobile device <NUM> showing the first camera module <NUM> and the third camera module <NUM> in the extended position.

<FIG> is another isometric view of the example mobile device <NUM> showing the second camera module <NUM> and the third camera module <NUM> in the extended position.

<FIG> is an example wearable device <NUM> implemented as a watch. The example wearable device <NUM> of <FIG> is implemented with an example image capture device <NUM> that is similar to image capture device <NUM> of <FIG>. However, in contrast to the image capture device <NUM> of <FIG>, the image capture device <NUM> of <FIG> includes the first camera module <NUM> but does not include an opposing camera module (e.g., the second camera module <NUM> of <FIG>). Otherwise, the image capture device <NUM> operates in the same manner as the image capture device <NUM> of <FIG>. In the illustrated example, the first camera module <NUM> is coupled to a first portion <NUM> of a strap <NUM>. In some examples, another image capture device <NUM> is coupled to a second portion <NUM> of the strap <NUM> such that the image capture devices <NUM>, <NUM> are disposed on either side of a face <NUM> of the wearable device <NUM>. In other examples, only one camera module is employed.

<FIG> illustrates example glasses <NUM> implemented with an example image capture device <NUM> that is similar to the image capture device <NUM> of <FIG>. However, in contrast to the image capture device <NUM> of <FIG>, the image capture device <NUM> includes only one camera module. In particular, the example device includes the first camera module <NUM> but does not include the opposing camera module (e.g., the second camera module <NUM>). In the illustrated example, the first camera module <NUM> is coupled (e.g., removably coupled, fixably coupled, etc.) to a temple and/or arm <NUM> of the wearable device <NUM>. Otherwise, the example image capture device <NUM> of <FIG> operates in the same manner as the example image capture device <NUM>.

<FIG> illustrates example goggles <NUM> implemented with an example image capture device <NUM> that is similar to image capture device <NUM> of <FIG>. However, in contrast to the image capture device <NUM> of <FIG>, the image capture device <NUM> of the example of <FIG> includes the first camera module <NUM> but does not include an opposing camera module (e.g., the second camera module <NUM>). Otherwise, the example image capture device <NUM> of <FIG> operates in the same manner as the example image capture device <NUM> of <FIG>. In the illustrated example, the first camera module <NUM> is coupled to a bridge <NUM> of the wearable device <NUM>.

Flowcharts representative of example machine readable instructions for implementing the camera module position controller <NUM> of <FIG> is shown in <FIG> and <FIG>. In these examples, the machine readable instructions are a program for execution by a processor such as the processor <NUM> shown in the example processor platform <NUM> discussed below in connection with <FIG>. The program may be embodied in software stored on a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor <NUM>, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor <NUM> and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowcharts illustrated in <FIG> and <FIG>, many other methods of implementing the example camera module position controller <NUM> may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.

As mentioned above, the example processes of <FIG> and <FIG> may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term tangible computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. As used herein, "tangible computer readable storage medium" and "tangible machine readable storage medium" are used interchangeably. Additionally or alternatively, the example processes of <FIG> and <FIG> may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. As used herein, when the phrase "at least" is used as the transition term in a preamble of a claim, it is open-ended in the same manner as the term "comprising" is open ended.

The program of <FIG> begins when the camera status data is accessed (block <NUM>) by, for example, the camera module actuation controller <NUM> receiving and/or accessing the camera status data <NUM> from the camera status sensor <NUM>. The camera module actuation controller <NUM> processes the camera status data <NUM> to determine whether or not the image capture device <NUM> is on (block <NUM>). If the camera is not on (block <NUM>), the camera module actuation controller <NUM> processes either of the first camera module positional data <NUM> and/or the second camera module positional data <NUM> to determine the position of the first camera module <NUM> and/or to determine the position of the second camera module <NUM> (block <NUM>).

If the camera module(s) is in the extended position (block <NUM>), the camera module actuation controller <NUM> generates and/or transmits the first control signal <NUM> to the first actuator <NUM> to cause the first camera module <NUM> to be retracted and/or generates and/or transmits the second control signal <NUM> to the second actuator <NUM> to cause the second camera module <NUM> to be retracted (block <NUM>). In some examples, the first and second camera modules <NUM>, <NUM> are retracted at substantially the same time. As used herein, the phrase "retracting at substantially the same time" accounts for slight movement delays based on physical, electrical and/or environmental factors such as material flexibility at the coupling between the first camera module <NUM> and the first actuator <NUM> and material flexibility at the coupling between the second camera module <NUM> and the second actuator <NUM>. However, in other examples, the first and second camera modules <NUM>, <NUM> are independently actuatable and/or may move at different rates relative to one another.

If, however the camera is on (block <NUM>), the camera module actuation controller <NUM> processes the first camera module positional data <NUM> and/or the second camera module positional data <NUM> to determine whether the first camera module <NUM> and/or the second camera module <NUM> are in the extended position (block <NUM>). If the camera module(s) are not in the extended position (block <NUM>), the camera module(s) moves to the extended position by, for example, the camera module actuation controller <NUM> initiating the first control signal <NUM> to the first actuator <NUM> to cause the first camera module <NUM> to be extended and/or the camera module position controller <NUM> initiating the second control signal <NUM> to the second actuator <NUM> to cause the second camera module <NUM> to be extended (block <NUM>). In some examples, the first and second camera modules <NUM>, <NUM> are extended at substantially the same time.

After control passes from blocks <NUM> and/or <NUM>, the parameter identifier <NUM> obtains the first image data <NUM> from the first camera module <NUM> and/or the second image data <NUM> from the second camera module <NUM> via, for example, the camera module interface <NUM> (block <NUM>). The parameter identifier <NUM> processes the image data to determine a first parameter value and a second parameter value (block <NUM>). The parameter values may be, for example, a first luminosity, brightness or intensity value and/or a second luminosity, brightness or intensity value and/or a second parameter value.

The comparator <NUM> then compares the first and second parameter values (block <NUM>) to determine a difference between the first and second parameter values. The comparator <NUM> determines whether or not the difference between the first and second parameter values satisfies a threshold to determine if an object(s) is adjacent one of the lenses <NUM>, <NUM> (block <NUM>). If the threshold is satisfied (block <NUM>), orientation data is accessed (block <NUM>), the camera module actuation controller <NUM> obtains the orientational data <NUM> from the orientation sensor <NUM> (block <NUM>). The camera module actuation controller <NUM> determines whether or not the orientation data indicates that the first lens <NUM> and/or the second lens <NUM> is facing the ground (block <NUM>). If one of the lenses is facing the ground (block <NUM>), the corresponding camera module(s) is moved to the retracted position (block <NUM>) by, for example, the camera module actuation controller <NUM> initiating the first control signal <NUM> to the first actuator <NUM> to cause the first camera module <NUM> to be retracted and/or the camera module position controller <NUM> and/or initiating the second control signal <NUM> to the second actuator <NUM> to cause the second camera module <NUM> to be retracted. At block <NUM>, control returns to block <NUM> or ends.

If the camera module(s) is in the extended position (block <NUM>), the camera module actuation controller <NUM> generates and/or transmits the first control signal <NUM> to the first actuator <NUM> to cause the first camera module <NUM> to be retracted and/or generates and/or transmits the second control signal <NUM> to the second actuator <NUM> to cause the second camera module <NUM> to be retracted (block <NUM>).

If, however the camera is on (block <NUM>), the camera module actuation controller <NUM> processes either of the first camera module positional data <NUM> and/or the second camera module positional data <NUM> to determine whether the first camera module <NUM> and/or the second camera module <NUM> are in the extended position (block <NUM>). If the camera module(s) are not in the extended position (block <NUM>), the camera module(s) is moved to the extended position by, for example, the camera module actuation controller <NUM> initiating the first control signal <NUM> to the first actuator <NUM> to cause the first camera module <NUM> to be extended and/or the second control signal <NUM> to the second actuator <NUM> to cause the second camera module <NUM> to be extended (block <NUM>). In some examples, the first and second camera modules <NUM>, <NUM> are extended at substantially the same time.

The parameter identifier <NUM> obtains the first image data <NUM> from the first camera module <NUM> and/or the second image data <NUM> from the second camera module <NUM> via, for example, the camera module interface <NUM> (block <NUM>). The parameter identifier <NUM> processes the image data to determine a parameter value(s) (block <NUM>). The parameter values may be, for example, a first luminosity, brightness or intensity value and/or a second luminosity, brightness or intensity value.

The comparator <NUM> accesses a reference parameter value (block <NUM>). The comparator <NUM> compares either of the first parameter value and the second parameter value and the reference parameter value to determine a difference between the first and second parameter values and the reference parameter value (block <NUM>).

The comparator <NUM> determines whether or not the difference between the determined parameter value(s) and the reference parameter value(s) satisfies a threshold to determine if obj ect(s) is adjacent one of the lenses <NUM>, <NUM> (block <NUM>). If the threshold is satisfied (block <NUM>), the camera module actuation controller <NUM> obtains the orientational data <NUM> from the orientation sensor <NUM> (block <NUM>). The camera module actuation controller <NUM> determines whether or not the orientation data indicates that the first lens <NUM> and/or the second lens <NUM> is facing the ground (block <NUM>). If one of the lenses is facing the ground (block <NUM>), the corresponding camera module(s) is moved to the retracted position by the camera module actuation controller <NUM> initiating the first control signal <NUM> to the first actuator <NUM> to cause the first camera module <NUM> to be retracted and/or the camera module position controller <NUM> and/or the second control signal <NUM> to the first actuator <NUM> causing the second camera module <NUM> to be retracted (block <NUM>). At block <NUM>, control returns to block <NUM> or ends.

<FIG> is a block diagram of an example processor platform <NUM> capable of executing the instructions of <FIG> and/or <NUM> to implement the camera module position controller <NUM> of <FIG>. The processor platform <NUM> can be, for example, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPad™), a personal digital assistant (PDA) or any other type of computing device. In this example, processor <NUM> implements the parameter identifier <NUM>, the comparator <NUM>, the camera status sensor <NUM> and/or a camera module actuation controller <NUM>.

In this example, the camera module interface <NUM> and the actuator interface <NUM> are implemented by the interface <NUM>.

The input device(s) <NUM> permit(s) a user to enter data and commands into the processor <NUM>. In this example, the.

The output devices <NUM> can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a touchscreen, a tactile output device, a printer and/or speakers). The interface circuit <NUM> of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip or a graphics driver processor.

The coded instructions <NUM> of <FIG> and <FIG> may be stored in the mass storage device <NUM>, in the volatile memory <NUM>, in the non-volatile memory <NUM>, and/or on a removable tangible computer readable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that methods, apparatus and articles of manufacture have been disclosed which proactively and/or automatically protect camera lenses in wearable and/or mobile devices by retracting them in response to environmental stimuli. Devices which may benefit from the teachings disclosed herein include watches, wristbands, armbands, glasses, goggles, headgear, headbands, etc. In some examples, the camera lenses are fish eye lenses which protrude to enable the capturing of <NUM>-degree and/or <NUM>-degree images and/or videos. The image data and/or video data captured using such examples may be paired and/or spliced to create <NUM>-degree images and/or videos. The protruding camera lenses may be actuated in any suitable way such as, for example, using a dual-action voice coil.

In operation, in some examples, the camera modules may be caused to emerge from the chassis and/or housing of the mobile device to be proud of and/or extend from a surface defining an aperture in which the camera module is housed. The camera modules may independently emerge from the chassis and/or housing and/or the camera modules may move together in substantial tandem in opposite directions from one another. The lens of the camera module may move relative to the camera module and/or the camera module may move as units with their lens(es).

Claim 1:
A mobile device, comprising:
a housing (<NUM>);
a camera module (<NUM>, <NUM>) including a sensor and a lens, the camera module being movably mounted to the housing to move between a first position and a second position, a surface of the lens to extend past an exterior surface of the housing in the first position, the camera module to be disposed within the housing in the second position;
a comparator (<NUM>) to determine whether a difference between a first parameter value of image data captured by the camera module and a reference parameter value satisfies a threshold value, wherein the first parameter value is representative of an intensity, brightness and/or luminosity value associated with the image data;
a camera module actuation controller (<NUM>) to, in response to the threshold value being satisfied, obtain orientation data from an orientation sensor (<NUM>), the camera module actuation controller to initiate an actuator to actuate the camera module from the first position to the second position in response to detecting an indication, based on the orientation data, that the lens is facing a surface.