Automatic Camera Selection for an Expected Subject in a Captured Image
By executing the method in the processor of the computing device, the camera-lens combination is automatically selected to capture images, solving the problems of user operation time and battery consumption in the prior art, achieving more efficient shooting and longer device service life.
Patent Information
- Application Number
- CN202180046886.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-07-06
- Filing Date
- 2021-04-29
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2041-04-29
AI Technical Summary
Existing computing devices need to manually select the camera lens when taking pictures, which makes the user time-consuming operation and use multiple cameras simultaneously to consume additional battery power, affecting shooting efficiency and battery life.
By performing the method in the processor of the computing device, the number of bilateral body parts of the individual visible in the preview image is determined and an appropriate camera-lens combination is selected according to the number to capture the image. The method also includes detecting odd or even bilateral body parts in the preview image to decide whether to switch to a camera-lens combination with a wider or narrower field of view.
The automatic camera-lens combination is realized, which reduces user operation time, improves shooting efficiency, and extends the service life of the device by saving battery power.
Smart Images

Figure CN116018813B_ABST
Abstract
Description
BACKGROUND OF THE INVENTION
[0001] Modern computing devices, such as mobile phones, laptops, and tablet computers, are commonly used for photography and may include multiple cameras, each equipped with a different lens, such as a macro lens, a telephoto lens, a wide-angle lens, and a standard lens. A user selects one of the cameras for different photographic settings. For example, a camera with a wide-angle lens may be most suitable for group photos or landscapes, while a camera with a macro lens may be most suitable for close-up shots. The user must manually select the camera with the desired lens, typically using the phone's display as a viewfinder to see what the selected lens will capture. This process is time-consuming, which may cause the user to miss the opportunity to take the desired photo. Alternatively, using multiple cameras on a computing device for a single photo consumes an undesired additional amount of battery power. SUMMARY OF THE INVENTION
[0002] Aspects include methods and computing devices implementing methods for capturing an intended subject in an image, the method being performed by a processor of a computing device having a plurality of camera-lens combinations. Aspects may include
[0003] determining a first quantity of first bilateral body parts of an individual visible in a first preview image obtained by a first camera-lens combination having a first field of view, and selecting, based on the determined first quantity of the first bilateral body parts of the individual visible in the first preview image, one of the plurality of camera-lens combinations for capturing the image. The first bilateral body part may be one of an ear, an eye, a shoulder, or an arm. Some embodiments may also include obtaining a viewfinder image using only the first camera-lens combination while image signal processing blocks of other camera-lens combinations operate at a low frames per second rate.
[0004] In some embodiments, selecting, based on the determined first quantity of the first bilateral body parts of the individual visible in the first preview image, one of the plurality of camera-lens combinations for capturing the image may include: determining whether the determined first quantity of the first bilateral body parts of the individual visible in the first preview image is odd, and in response to determining that the determined first quantity of the first bilateral body parts of the individual visible in the first preview image is odd, selecting a second camera-lens combination having a second field of view wider than the first field of view for capturing the image. Some embodiments may also include: in response to determining that the determined first quantity of the first bilateral body parts of the individual visible in the first preview image is even, selecting the first camera-lens combination for capturing the image.
[0005] Some embodiments may further include: obtaining a second preview image using the second camera-lens combination; determining a second quantity of the first bilateral body parts of an individual visible in the second preview image; determining whether the determined second quantity of the first bilateral body parts visible in the second preview image is odd; and in response to determining that the second quantity of the first bilateral body parts visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image.
[0006] Some embodiments may further include: obtaining a second preview image using the second camera-lens combination; determining a second quantity of second bilateral body parts of an individual visible in the second preview image, wherein the second bilateral body parts are different from the first bilateral body parts; determining whether the determined second quantity of the second bilateral body parts visible in the second preview image is odd; and in response to determining that the second quantity of the second bilateral body parts visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image.
[0007] Some embodiments may further include: determining an average separation distance between individuals visible in the first preview image from the first preview image; determining an additional individual separation distance between an individual visible in the second preview image obtained by the second camera-lens combination but not fully visible in the first preview image and the closest individual among the individuals visible in the first preview image; and in response to determining that the additional individual separation distance exceeds the average separation distance between the individuals visible in the first preview image by a predetermined threshold, selecting the first camera-lens combination for capturing the image.
[0008] In some embodiments, each of the plurality of camera-lens combinations includes one camera coupled to one lens, in which case selecting the first camera-lens combination includes selecting the first camera and selecting the second camera-lens combination includes selecting the second camera.
[0009] Other aspects include a computing device that includes a processor configured with processor-executable instructions to perform the operations of any of the methods outlined above. Other aspects include a non-transitory processor-readable storage medium storing processor-executable software instructions configured to cause the processor to perform the operations of any of the methods outlined above. Further aspects include a processing device for use in a computing device and configured to perform the operations of any of the methods outlined above. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The accompanying drawings incorporated herein and forming a part of this specification illustrate exemplary embodiments and, together with the general description given above and the detailed description given below, serve to explain the features of the various embodiments.
[0011] Figure 1A-1C is a schematic diagram of a computing device configured to capture an image of an individual according to various embodiments.
[0012] Figure 2 is a schematic diagram of a computing device configured to capture an image of an individual according to various embodiments.
[0013] Figure 3 is a block diagram of components of an example system in a package for use in a computing device according to various embodiments.
[0014] Figure 4 shows a block diagram of components of an example system configured to capture an intended subject in an image.
[0015] Figure 5A 、 Figure 5B 、 Figure 5C and / or Figure 5D shows a process flow diagram of an example method for capturing an intended subject in an image according to various embodiments.
[0016] Figure 6 is a block diagram of components of a wireless computing device suitable for use with various embodiments. Detailed Description
[0017] Aspects will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numerals will be used throughout the drawings to refer to the same or like parts. References to specific examples and embodiments are for illustrative purposes and not intended to limit the scope of the aspects or claims.
[0018] Various embodiments provide methods for automatically changing a selected camera or lens to better capture an intended subject in an image. Some embodiments include: determining the number of bilateral body parts of an individual visible in a first preview image obtained by a first camera using a first lens having a first field of view, determining whether the number is even or odd, and selecting a different camera-lens combination for capturing an image in response to the number of bilateral body parts of the individual visible in the first preview image being odd. Some embodiments may include obtaining the first preview image using a camera with a standard lens and selecting a camera with a wide angle for capturing an image in response to the number being odd. To conserve battery power, only one camera-lens combination may be used to obtain preview images that are displayed to the user as viewfinder images, since various embodiments implement evaluating other camera-lens combinations, particularly wide-angle camera-lens combinations, without using such cameras to provide preview images, enabling their image signal processing blocks to operate at a low number of frames per second. Further embodiments include: determining an average separation distance between individuals in the first preview image and a separation distance between an individual visible in the first preview image and an individual added in the field of view of a wide-angle camera-lens, and switching back to the first camera / first lens if the separation distance between an individual visible in the first preview image and an individual added in the field of view of a wide-angle camera-lens exceeds a threshold distance.
[0019] As used herein, the term "image" refers to a visual representation made by a camera, particularly a visual representation of one or more individuals (i.e., humans and / or living organisms). Additionally, as used herein, the term "preview image" refers to a representation of an image presented on a display of a computing device. The computing device may provide a display of the preview image to assist a user in aiming and taking a desired picture.
[0020] As used herein, the phrase "bilateral body part" refers to any part of a human or living organism, such as a limb and / or portion of the body, that exists on both sides of that human or living organism. For example, bilateral body parts may include eyes, eyebrows, cheeks, ears, shoulders, arms, elbows, forearms, hands, wrists, fingers, hips, legs, thighs, knees, shins / calves, ankles, feet, toes, and the like. Additionally, bilateral body parts may include opposite sides of bilateral parts of the body, such as the head, torso, and / or combinations thereof with other body parts.
[0021] As used herein, the term "computing device" refers to an electronic device equipped with at least a processor, a communication system, and a memory configured with a contact database. For example, a computing device can include any one or all of a cellular phone, a smartphone, a portable computing device, an individual or mobile multimedia player, a laptop computer, a tablet computer, a two-in-one laptop / desktop computer, a smartbook, an ultrabook, a palmtop computer, a wireless email receiver, an Internet-enabled multimedia cellular phone, and similar electronic devices that include two or more cameras (or cameras with two or more lenses), a memory, and a programmable processor. In various embodiments, the computing device can be configured with a memory and / or storage. Additionally, the computing devices mentioned in various example embodiments can be coupled to or include wired or wireless communication capabilities for implementing various embodiments, such as a network transceiver and an antenna configured to communicate with a wireless communication network.
[0022] The term "system-on-a-chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that contains multiple resources and / or processors integrated on a single substrate. A single SOC may contain circuitry for digital, analog, mixed-signal, and radio frequency functions. A single SOC can also include any number of general-purpose and / or special-purpose processors (such as digital signal processors, modem processors, video processors, etc.), memory blocks (such as ROM, RAM, flash memory, etc.), and resources (such as timers, voltage regulators, oscillators, etc.). The SOC can also include software for controlling the integrated resources and processors and for controlling peripheral devices.
[0023] The term "system-in-package" (SIP) can be used herein to refer to a single module or package that contains multiple resources, computing units, cores, and / or processors on two or more IC chips, substrates, or SOCs. For example, an SIP can include a single substrate with multiple IC chips or semiconductor dies stacked on it in a vertical configuration. Similarly, an SIP can include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are encapsulated into a unified substrate. An SIP can also include multiple independent SOCs that are connected together and closely packaged via high-speed communication circuits, such as on a single motherboard or in a single wireless device. The proximity of the SOCs facilitates high-speed communication as well as the sharing of memory and resources.
[0024] Various embodiments can automatically determine whether the camera and lens used to obtain the preview image are the desired lenses for the intended subject that should be used or changed to capture the image. A computing device, particularly a mobile computing device, can be configured to identify body parts within a preview image captured through a first camera lens. Using image processing software, the computing device can identify features on the face, head, or other body parts that may not be in the frame or "cut off". Specifically, the computing device can analyze the preview image to determine how many specific bilateral body parts are visible in the preview image. An odd number of bilateral body parts (e.g., eyes, ears, etc.) may indicate that the facial part is not in the frame. Thus, in response to determining that an odd number of bilateral body parts are visible in the preview image, the processor of the computing device can select a wide-angle lens or a camera with a wide-angle lens to capture the image.
[0025] Some embodiments also include: analyzing the separation distance between individuals in a first preview image and a second preview image made using a wide-angle lens (e.g., a camera with a wide-angle lens) to determine whether an individual that appears in the second preview image but not in the first preview image (i.e., added by switching to the wide-angle lens) is separated from other individuals by a separation distance that exceeds an average separation distance threshold amount (or percentage) between individuals in the first preview image. For example, if an individual that appears in the second preview image is clearly removed from the individuals that appear in the first preview image, it is likely that the person taking the photo did not intend to include the added individual. Thus, to avoid inserting an individual into a photo that the user does not want, the computing device can automatically switch back to the lens or camera / lens used to generate the first preview image (e.g., a normal lens) to take a group photo in response to determining that the added individual is separated from others by more than a threshold difference. Depending on their relationship, the context of the photo, etc., individuals gather together to take photos in different ways, so the threshold difference used to determine whether to switch back to the first camera / lens may be a relative factor. For example, the processor of the computing device can determine whether the ratio of the separation distance between individuals in the first preview image to the separation distance of the added individual exceeds a threshold ratio value.
[0026] Various embodiments can be implemented in computing devices that include a camera that can use multiple lenses with different fields of view or include multiple cameras, each camera being configured with a lens having a different field of view. For ease of reference, the terms "camera-lens combination" and "multiple camera-lens combinations" as used herein generally refer to embodiments that employ a single camera (or several cameras) configured to selectively couple to multiple different types of lenses (e.g., standard, wide-angle, telephoto, etc.), including compound lenses that can be configured as standard and wide-angle, and embodiments that use multiple cameras, each camera coupled to a different type of lens (e.g., standard, wide-angle, telephoto, etc.). Additionally, references to selecting or changing a lens and references to selecting or changing a camera in the description of various embodiments are not intended to limit the claims to one implementation or another.
[0027] Various embodiments improve the user experience of capturing images of groups of individuals using a computing device by automatically evaluating whether different camera-lens combinations will result in a better group photo. In addition to enabling the user to capture better images in some cases, various embodiments can also save battery power by using only one camera-lens combination to obtain a preview image that is displayed to the user as a viewfinder image, thereby enabling low frames per second operation of other camera-lens combinations, particularly wide-angle camera-lens combinations.
[0028] Figure 1A-1C An example computing device 110 suitable for implementing various embodiments is illustrated. Figure 1A-1C Scenes 100, 101 are shown in which a group of individuals 11, 12, 13, 14 are being photographed by a computing device 110. The computing device 110, controlled by one or more processors, includes a display 115 and either a single camera coupled to multiple interchangeable lenses or multiple cameras configured with lenses having different fields of view (i.e., multiple camera-lens combinations). The display 115 is configured to present a preview image captured using at least one camera. Additionally, as is the case with many mobile computing devices, the display 115 can also be configured to at least temporarily present text, graphics, other images, and video for viewing. The display 115 can be a visual display screen as well as a touch-sensitive input screen, although the computing device 110 can also include buttons for receiving input. According to various embodiments, the display 115 can be configured to present information from an application or program, such as a preview image and other information from a camera application. For example, the camera application can display a button 120 that functions similar to a shutter button on a traditional camera and display preview images 123, 125, 127.
[0029] Multiple camera-lens combinations of computing device 110 (e.g., smartphone) will generate different fields of view 133, 135, 137, 139, which reflect the range of the observable world captured in the images taken by the camera-lens combinations. In Figure 1A-1C In each of the figures, the fields of view 133, 135, 137, 139 (represented by the dashed rectangles that define the visible portions of the groups of individuals 11, 12, 13, 14) are reflected in the preview images 123, 125, 127 presented on the display and represent the scenes that will be captured in the photos taken by the camera-lens combinations. Different types of lenses have different fields of view. For example, a standard lens captures less of the real world than a wide-angle lens. Similarly, a telephoto lens has a narrower field of view and captures less of the real world compared to a standard lens.
[0030] In various embodiments, computing device 110 may include a processor configured with image processing software that is configured to analyze digital images and detect features therein. In particular, the image processing software may be configured to discern and identify specific body parts of an individual (i.e., a person or a living being) captured in the image, such as bilateral body parts (e.g., eyes, ears, shoulders, etc.). While identifying bilateral body parts in the image, the processor may determine the number (i.e., count) of bilateral body parts that appear in the image. In Figure 1A-1C the bilateral body parts identified by the processor are shoulders or shoulder regions (labeled 130-1 to 130-8 in Figure 1B ). However, in various embodiments, the computing device processor may identify and count different bilateral body parts (e.g., eyes, ears, etc.). Additionally, in some embodiments, more than one bilateral body part may be identified and counted for the intended subject in the captured image.
[0031] Similar to facial recognition software, image processing in various embodiments may use neural networks, knowledge-based, appearance-based, template matching, and / or other techniques for detecting bilateral body parts of an individual visible in the image. A knowledge-based system may use a set of rules based on human knowledge of imaging to identify body parts. A feature-based system may extract structural features from the image and use classification / discrimination to identify body parts. Template matching uses predefined or parameterized body part templates to locate or detect bilateral body parts through the correlation between the template and the input image. An appearance-based system uses a set of commissioned training body part images to find body part models. Similarly, other systems and techniques may be used or included as part of the image processing software in order to detect and identify specific body parts visible in the image.
[0032] Figure 1AShows a preview image 100, which includes a first preview image 123 with a first field of view 133 generated by a computing device 110 using a standard camera-lens combination (i.e., the camera-lens combination that serves as the default combination for preview image capture and photography) on a display 115. The first preview image 123 shows that the first field of view 133 has captured most of the four objects 11, 12, 13, 14. In particular, while most of the first three objects 11, 12, 13 are within the first field of view 133, less than half of the fourth object 14 is in the frame.
[0033] Figure 1A Illustrates how a processor using image processing techniques can detect or distinguish multiple shoulders 130-1, 130-2, 130-3, 130-4, 130-5, 130-6, 130-7 from the objects 11, 12, 13, 14 in the first field of view 133. Additionally, the processor can determine that seven (7) shoulders 130-1, 130-2, 130-3, 130-4, 130-5, 130-6, 130-7 are detected in the first field of view 133. Since the number of detected shoulders is odd, this indicates that one of the objects at the outer edge of the field of view 133 may have been cut off and not properly included in the image. Therefore, in response to determining that an odd number of shoulders are detected or distinguished in the first field of view 133, the processor can select a different camera-lens combination for image capture, such as a wide-angle camera-lens combination.
[0034] Figure 1B Shows the computing device 110 generating a second preview image 125 with a second field of view 135 on the display 115 using a wide-angle camera-lens combination. As an example, the wide-angle camera-lens combination can provide a viewing angle between 64 degrees and 84 degrees, which may translate to a 35-24 mm film format. The second preview image 125 shows that the second field of view 135 has captured almost all of the four objects 11, 12, 13, 14, including an even number of shoulders 130-1 to 130-8. Since the number of eight (8) shoulders 130-1, 130-2, 130-3, 130-4, 130-5, 130-6, 130-7, 130-8 distinguished in the second preview image 125 is an even number, this can suggest to the processor that all the objects the photographer wants to appear in the photo are now captured in the second field of view 135, i.e., captured by the wide-angle camera-lens combination.
[0035] Figure 1C Shows Figure 1A and Figure 1B a scene 101 similar to the scene 100 shown, except that the amount by which the fourth object 14 is spaced apart from the group of three objects 11, 12, 13 is significantly greater than the average separation distance between the objects within the group. Figure 1CAlso shown is a comparison of a third field of view 137 of a standard camera-lens combination providing a third preview image 127 with a field of view 139 of a wide-angle camera-lens combination. In some embodiments (not shown), a preview image including four fields of view 137 (i.e., the field of view of the wide-angle camera-lens combination) may be presented on the display 115 in response to the processor of the computing device 110 switching to the wide-angle camera-lens combination in response to counting an odd number of shoulders in the first preview image.
[0036] Figure 1C Illustrated is how the processor may use image processing to determine separation distances 140-1, 140-2, 140-3 between adjacent individuals 11-12, 12-13, 13-14 and / or groups of individuals. Using the determined separation distances, the processor may determine the average separation distance between the individuals (i.e., individuals 11, 12, 13) discerned in the third preview image 127, which corresponds to the field of view 137 of the standard camera-lens combination. In scene 101, the average separation distance will be the average of the first separation distance 140-1 and the second separation distance 140-2. In an image including the fourth field of view 139, the processor may determine the separation distance 140-3 between an individual added in the wide-angle field of view (i.e., visible in the fourth field of view 139 but not visible in the third field of view 137) and the group of individuals 11, 12, 13 in the third preview image 127. If the new individual separation distance 140-3 is greater than the average separation distance (i.e., the average of the first separation distance 140-1 and the second separation distance 140-2) by more than a predetermined threshold distance or percentage, the processor may automatically select the first camera-lens combination for image capture.
[0037] The separation distance 140-3 of an individual included in the wide-angle field of view 139 but not included in the standard field of view 137 from the group may be measured from the individual (i.e., 13) closest to the group of individuals 11, 12, 13. Although Figure 1C shown is that the reference point for separation distance measurement is the center point of the individual, different measurement points may be used for spacing or separation distance comparison (e.g., one side of the head of each individual).
[0038] Some embodiments may perform discrimination and counting of bilateral body parts for multiple different bilateral body parts and compare the results to improve the process of automatic camera-lens combination selection. For example, the computing device processor may compare the number of eyes and the number of ears in the preview image and use the numbers of these two body parts to select a camera-lens combination for image capture. Similarly, in some embodiments, the processor may determine the separation distance between individuals in the image based on more than one feature (e.g., head-to-head separation and shoulder-to-shoulder separation).
[0039] To illustrate the advantages of discriminating and counting different types of bilateral body parts, Figure 2 Scene 200 is illustrated, which includes a close-up of three bodies 15, 16, 17 posing for a photo in front of a computing device 110. In Figure 2 it, the camera of the computing device 110 is shown simultaneously displaying a first preview image 221 captured by a wide-angle lens camera-lens combination superimposed on a second preview image 222 captured by another camera-lens combination (e.g., a standard camera-lens combination). Figure 2 It is illustrated that using a processor for image processing, five (5) ears 140-1, 140-2, 140-3, 140-4, 140-5 are discerned to be visible in a first preview image 221 obtained using a first camera-lens combination (i.e., a wide-angle camera-lens combination) having a first field of view 231. Since five (5) is an odd number, the processor can use a different camera-lens combination to automatically perform bilateral body part counting. For example, the processor can determine that three (3) ears 140-2, 140-3, 140-4 are visible in a second preview image 222 obtained using a second camera-lens combination having a second field of view 232. However, since this second bilateral body part count is still odd, this may indicate to the processor that changing the camera-lens combination may no longer provide the desired image. In some embodiments, the processor can render both the first and second preview images 221, 222 overlapping each other on a display to allow the user to simultaneously see the two preview images 221, 222 and select the desired camera-lens combination.
[0040] Alternatively, the processor can use a different bilateral body part, such as eyes, to re-evaluate the first and second preview images 221, 222. In this case, the processor will discern six (6) eyes 150-1, 150-2, 150-3, 150-4, 150-5, 150-6 visible in a first preview image 221 obtained using a first (i.e., wide-angle) camera-lens combination having a first field of view 231, but will discern only five (5) eyes 150-1, 150-2, 150-3, 150-4, 150-5 visible in a second preview image 222 obtained using a second camera-lens combination having a second field of view 232. In response to the count of eyes, the processor can determine that the first preview image 221 containing an even number of eyes (i.e., six) is more likely to provide the desired image. Thus, the processor can automatically select (or recommend) the first camera-lens combination for capturing the image.
[0041] Various embodiments can be implemented using multiple single-processor and multi-processor computer systems, including system-on-chip (SOC) or system architectures.
[0042] Reference Figure 1A - Figure 3, the illustrated example SIP 300 includes two SOCs 302, 304, which may be coupled to a clock 306, a voltage regulator 308, one or more wireless transceivers 366, and multiple camera-lens combinations 370a, 370b. In some embodiments, the first SOC 302 acts as the central processing unit (CPU) of the wireless device, which executes the instructions of the software application by performing arithmetic, logical, control, and input / output (I / O) operations specified by the instructions. In some embodiments, the second SOC 304 may act as a dedicated processing unit. For example, the second SOC 304 may act as a dedicated 5G processing unit, responsible for managing high-capacity, high-speed (e.g., 5Gbps, etc.) and / or very high-frequency short-wavelength (e.g., 28 GHz millimeter-wave spectrum, etc.) communications.
[0043] The first SOC 302 may include a digital signal processor (DSP) 310, a modem processor 312, a graphics processor 314, an application processor 316, one or more coprocessors 318 (e.g., vector coprocessors) connected to one or more processors, a memory 320, custom circuitry 322, system components and resources 324, an interconnect / bus module 326, one or more sensors 330 (e.g., temperature, motion, proximity, etc.), a camera 331, a thermal management unit 332, and a thermal power envelope (TPE) component 334. The second SOC 304 may include a 5G modem processor 352, a power management unit 354, an interconnect / bus module 364, multiple millimeter-wave transceivers 356, a memory 358, and various additional processors 360, such as an application processor, a packet processor, etc.
[0044] Each processor 310, 312, 314, 316, 318, 352, 360 may include one or more cores, and each processor / core may perform operations independently of other processors / cores. For example, the first SOC 302 may include a processor that executes a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor that executes a second type of operating system (e.g., MICROSOFT WINDOWS10). In addition, any one or all of the processors 310, 312, 314, 316, 318, 352, 360 may be included as part of a processor cluster architecture (e.g., a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).
[0045] The first and second SOCs 302, 304 may include various system components, resources, and custom circuits for managing sensor data, analog-to-digital conversion, wireless data transmission, and for performing other specialized operations such as decoding data packets and processing encoded audio and video signals for rendering in a web browser. For example, the system components and resources 324 of the first SOC 302 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components for supporting processors and software clients operating on the wireless device. The system components and resources 324 and / or the custom circuits 322 may also include circuits for interfacing with peripheral devices such as cameras, electronic displays, wireless communication devices, external storage chips, etc.
[0046] The first and second SOCs 302, 304 may communicate via an interconnect / bus module 350. The various processors 310, 312, 314, 316, 318 may be interconnected via an interconnect / bus module 326 to one or more memory elements 320, system components and resources 324, and custom circuits 322, and a thermal management unit 332. Similarly, the processor 352 may be interconnected via an interconnect / bus module 364 to a power management unit 354, a millimeter-wave transceiver 356, a memory 358, and various additional processors 360. The interconnect / bus modules 326, 350, 364 may include reconfigurable logic gate arrays and / or implement bus architectures (e.g., CoreConnect, AMBA, etc.). Communication may be provided by advanced interconnects such as high-performance on-chip networks (NoCs).
[0047] The first and / or second SOCs 302, 304 may also include input / output modules (not shown) for communicating with resources external to the SOC, such as a clock 306 and a voltage regulator 308. Resources external to the SOC (e.g., clock 306, voltage regulator 308) may be shared by two or more internal SOC processors / cores.
[0048] In addition to the example SIP 300 discussed above, various embodiments may also be implemented in a wide variety of computing systems, which may include a single processor, multiple processors, multi-core processors, or any combination thereof.
[0049] As used herein, the terms "component", "system", "unit", "module", etc. include computer-related entities, such as, but not limited to, hardware, firmware, combinations of hardware and software, software, or software in execution, which are configured to perform particular operations or functions. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on a communication device and the communication device can be referred to as components. One or more components can reside within a process and / or thread of execution, and a component can be located on one processor or core and / or distributed between two or more processors or cores. Additionally, these components can execute from various non-transitory computer-readable media having various instructions and / or data structures stored thereon. The components can communicate via local and / or remote processes, function or procedure calls, electronic signals, data packets, memory reads / writes, and other known computer, processor, and / or process-related communication methods.
[0050] Figure 4 is a block diagram of components of a computing device 110, which is configured to capture an intended subject in an image and is executed by a processor of the computing device according to various embodiments. Refer to Figure 1A - Figure 4 , the computing device 110 can include multiple camera-lens combinations 370a, 370b, an electronic storage device 425, one or more processors 430, and / or other components. Figure 4 The illustration of the computing device 110 in [] is not intended to be limiting. The computing device 110 can include multiple hardware, software, and / or firmware components that operate together to provide the functionality ascribed to the computing device 110 herein.
[0051] The electronic storage device 425 can include a non-transitory storage medium that stores information electronically. The electronic storage medium of the electronic storage device 425 can include one or both of a system storage device provided integrally (i.e., substantially non-removable) with the computing device 110 and / or a removable storage device removably connected to the computing device 110 via, for example, a port (such as a Universal Serial Bus (USB) port, a FireWire port, etc.) or a drive (such as a disk drive, etc.). The electronic storage device 425 can store software algorithms, information determined by the processor 430, information received from the computing device 110, image data received from the multiple camera-lens combinations 370a, 370b, and / or other information that enables the computing device 110 to function as described herein.
[0052] Processor 430 may be configured to provide information processing capabilities in computing device 110. Accordingly, processor 430 may include one or more of a digital processor, an analog processor, digital circuitry designed to process information, analog circuitry designed to process information, a state machine, and / or other mechanisms for electronically processing information. Although processor 430 is shown as a single entity in Figure 4 , this is for illustrative purposes only. In some embodiments, processor 430 may include multiple processing units. These processing units may be physically located within the same device, or processor 430 may represent the processing functionality of multiple devices operating in cooperation.
[0053] Computing device 110 may be configured by machine-readable instructions 435, which may include one or more instruction modules. The instruction modules may include computer program modules. Specifically, the instruction modules may include camera module 440, image analysis module 445, bilateral body part count determination module 450, separation distance determination module 455, camera lens selection module 460, and / or one or more of other instruction modules.
[0054] Camera module 440 may be configured to control multiple camera-lens combinations 370a, 370b and associated components (e.g., flash, sensors, etc.) to take pictures using computing device 110. By way of non-limiting example, a processor (e.g., 310, 312, 314, 316, 318, 352, 360) of a computing device (e.g., 110) may use multiple camera-lens combinations 370a, 370b and / or one or more sensors (e.g., 330) to determine one or more elements that contribute to obtaining an image using the camera. Camera module 440 may obtain preview images and captured images (i.e., saved pictures) taken by the cameras using multiple camera-lens combinations 370a, 370b. For example, the processor may control the display of preview images on a display (e.g., 115) of the computing device (e.g., 110), which may access the electronic storage of the computing device (e.g., 425), and be saved in a memory (e.g., 320) along with the captured images. Additionally, camera module 440 may be configured to combine images from multiple camera-lens combinations 370a, 370b. By way of non-limiting example, the camera-lens combinations may include standard angle lenses, wide-angle lenses, telephoto lenses, adjustable zoom lenses, macro lenses, other lenses, and any combination thereof.
[0055] The image analysis module 445 can be configured to analyze an image, such as a preview image for identifying features therein. As a non-limiting example, the image analysis module 445 can include and / or use a processor (e.g., 310, 312, 314, 316, 318, 352, 360) of a computing device (e.g., 110), which can access its electronic storage device (e.g., 425) for image processing to detect selected body parts, and particularly bilateral body parts (e.g., eyes, ears, shoulders, etc.).
[0056] The bilateral body part quantity determination module 450 can be configured to determine the quantity of a specific bilateral body part from an individual visible in a preview image obtained by a camera-lens combination having a first field of view. As a non-limiting example, a processor (e.g., 310, 312, 314, 316, 318, 352, 360) of a computing device (e.g., 110) can access an electronic storage device (e.g., 425) to determine the quantity of bilateral body parts visible in the preview image. The bilateral body part quantity determination module 450 can be configured to determine whether the determined quantity of bilateral body parts is odd (i.e., non-even) or even. As a non-limiting example, the bilateral body parts of an individual visible in a first preview image can be any one or more of ears, eyes, shoulders, arms, eyebrows, cheeks, elbows, forearms, hands, wrists, fingers, hips, legs, thighs, knees, shins / calves, ankles, feet, toes, etc. In addition, the bilateral body parts can include bilateral parts of the body, such as opposite sides of the head, torso, and / or combinations thereof with other body parts.
[0057] The separation distance determination module 455 can be configured to determine an average separation distance between individuals visible in a preview image such as a first and / or second preview image. The separation distance determination module 455 can also be configured to determine an individual separation distance between an individual visible in a second preview image but not in the first preview image and a group of individuals including those visible in the first preview image.
[0058] The camera-lens selection module 460 may be configured to select one of the plurality of camera-lens combinations 370a, 370b for capturing an image based on the determined number of bilateral body parts of the individual visible in the preview image. The camera-lens selection module 460 may select the first camera-lens combination for capturing an image in response to determining that the determined first number of bilateral body parts visible in the first preview image is an even number, and select the second camera-lens combination for capturing an image in response to determining that the determined first number of bilateral body parts visible in the first preview image is an odd number. The camera-lens selection module 460 may also be configured to select the first camera-lens combination for capturing an image in response to determining that the separation distance of the individuals appearing in the second preview image exceeds the average separation distance of the individuals appearing in the first preview image by a predetermined threshold distance or distance ratio.
[0059] Processor 430 may be configured to execute modules 440, 445, 450, 455, and / or 460 and / or other modules. Processor 430 may be configured to execute modules 440, 445, 450, 455, and / or 460 and / or other modules by software; hardware; firmware; some combination of software, hardware, and / or firmware; and / or other mechanisms for configuring processing capabilities on processor 430. As used herein, the term "module" may refer to any component or set of components that perform the functionality attributed to the module. This may include one or more physical processors, processor-readable instructions, circuits, hardware, storage media, or any other component during the execution of processor-readable instructions.
[0060] The description of the functionality provided by the different modules 440, 445, 450, 455, and / or 460 described below is for purposes of illustration and not limitation, as any module 440, 445, 450, 455, and / or 460 may provide more or less functionality than described. For example, one or more of the modules 440, 445, 450, 455, and / or 460 may be removed, and some or all of their functionality may be provided by other modules in the modules 440, 445, 450, 455, and / or 460. As another example, the processor 430 may be configured to execute one or more additional modules that may perform some or all of the functionality attributed below to one of the modules 440, 445, 450, 455, and / or 460.
[0061] Figure 5A , Figure 5B , Figure 5C and / or Figure 5D The operations of methods 500, 502, 504, 506 for capturing an intended subject in an image are illustrated in accordance with various embodiments. Figure 5A ,Figure 5B , Figure 5C and / or Figure 5D , the operations of methods 500, 502, 504, 506 are intended to be illustrative. In some embodiments, methods 500, 502, 504, 506 may be implemented with one or more additional operations not described and / or without one or more of the operations discussed. Additionally, in Figure 5A , Figure 5B , Figure 5C and / or Figure 5D , the order of operations of method 500 shown and described below is not intended to be limiting.
[0062] Methods 5A, 5B, 5C, and / or 5D may be implemented in one or more processors (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and / or other mechanisms for electronically processing information) in response to instructions electronically stored on an electronic storage medium of a computing device. The one or more processors may include one or more devices configured by hardware, firmware, and / or software to specifically perform one or more operations of methods 500, 502, 504, 506. For example, referring to FIGS. 1 - Figure 5A , Figure 5B , Figure 5C and / or Figure 5D , the operations of methods 500, 502, 504, 506 may be performed by a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) of a computing device (e.g., 110) that may access its electronic storage (e.g., 320, 358, 425).
[0063] Figure 5AFIG. illustrates a method 500 for capturing an intended subject in an image according to various embodiments. In block 510, a processor of a computing device may perform operations including: determining a first number of bilateral body parts of an individual visible in a first preview image obtained by a first camera-lens combination having a first field of view. For example, the processor may use image analysis techniques to analyze a preview image (e.g., 123) associated with the field of view (e.g., 133) to identify and count shoulders, eyes, ears, or other body parts of an individual visible in the preview image. To conserve battery power, only the first camera-lens combination is available for obtaining preview images that are displayed to the user as viewfinder images, while the image signal processing blocks of other camera-lens combinations operate at a low number of frames per second. The unit for performing the operations of block 510 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) coupled to a plurality of camera-lens combinations (e.g., 370a, 370b) and an electronic storage device (e.g., 320, 358, 425).
[0064] In block 512, a processor of the computing device may perform operations including selecting one of the plurality of camera-lens combinations for capturing an image based on the determined first number of bilateral body parts of the individual visible in the first preview image. The unit for performing the operations of block 502 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) coupled to a plurality of camera-lens combinations (e.g., 370a, 370b) and an electronic storage device (e.g., 320, 358, 425).
[0065] Figure 5B FIG. illustrates a method 502 for capturing an intended subject in an image according to some embodiments.
[0066] In block 510, the processor may determine a first number of first bilateral body parts of an individual visible in a first preview image obtained by the first camera-lens combination having the described first field of view.
[0067] In determination block 514, a processor of a computing device may perform an operation including determining whether a determined first quantity of first bilateral body parts visible in a first preview image is odd. In this manner, the processor may evaluate the suitability of the first camera-lens combination and a second (e.g., wide-angle) camera-lens combination without using the second camera-lens combination to obtain a viewfinder image, enabling the image signal processing blocks of the second camera-lens combination (and other camera-lens combinations) to remain operating at an energy-efficient low frames-per-second rate. The unit for performing the operations of block 514 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) and an electronic storage device (e.g., 320, 358, 425).
[0068] In response to determining that the determined first quantity of first bilateral body parts visible in the first preview image is odd (i.e., determination block 514 = "yes"), the processor may select a second camera-lens combination having a wider field of view for capturing an image in block 516. The unit for performing the operations of block 516 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) coupled to a plurality of camera-lens combinations (e.g., 370a, 370b) and an electronic storage device (e.g., 320, 358, 425).
[0069] In response to determining that the determined first quantity of first bilateral body parts visible in the first preview image is even (i.e., determination block 514 = "no"), the processor may select the first camera-lens combination used to obtain the first preview image for capturing an image in block 518. In some embodiments, the processor may take no action and may capture an image through a default or standard camera-lens combination, such as the combination used to generate preview images and capture most images. The unit for performing the operations of block 518 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) coupled to a plurality of camera-lens combinations (e.g., 370a, 370b) and an electronic storage device (e.g., 320, 358, 425).
[0070] Figure 5C A method 504 for capturing an intended subject in an image is illustrated, which may include operations performed after the operations in block 514 of method 502.
[0071] In response to determining that the determined first quantity of the first bilateral body part visible in the first preview image is an odd value (i.e., determining block 514 = "yes"), the processor of the computing device may perform an operation including obtaining a second preview image using a second camera-lens combination in block 520. For example, if the first camera-lens combination is a standard lens, the processor may use a wide-angle camera-lens combination to obtain a second preview image (e.g., 125) with a corresponding second field of view (e.g., 135). The unit for performing the operation of block 520 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360), which is coupled to a plurality of camera-lens combinations (e.g., 370a, 370b) and an electronic storage device (e.g., 320, 358, 425).
[0072] In block 522, the processor of the computing device may perform an operation including determining a second quantity of the bilateral body parts of an individual visible in the second preview image obtained by the second camera-lens combination having the second field of view. In some embodiments, the same bilateral body parts of the individual determined in the first preview image in block 510 (i.e., the first bilateral body parts) may be counted in the second preview image in block 522. For example, in this embodiment, if the eyes are the first bilateral body parts counted in block 510, then the number of eyes visible in the second field of view will be determined in block 522. In some embodiments, second bilateral body parts of an individual different from the first bilateral body parts counted in the first preview image in block 510 may be counted in the second preview image in block 522. For example, in this embodiment, if the eyes are the first bilateral body parts counted in block 510, then ears, cheeks, shoulders, or other second bilateral body parts visible in the second field of view may be determined in block 522. The unit for performing the operation of block 522 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) and an electronic storage device (e.g., 320, 358, 425).
[0073] In determination block 524, the processor of the computing device may perform an operation including determining that the determined second quantity of the bilateral body parts visible in the second preview image (i.e., the first bilateral body parts in some embodiments or the second bilateral body parts in other embodiments) is an odd value. The unit for performing the operation of block 524 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) and an electronic storage device (e.g., 320, 358, 425).
[0074] In response to determining that the determined second quantity of bilateral body parts visible in the second preview image (i.e., the first bilateral body part in some embodiments or the second bilateral body part in other embodiments) is even (i.e., not odd) (i.e., determination block 524 = "no"), the processor may select a second camera-lens combination having a wider field of view for capturing an image in block 516.
[0075] In response to determining that the determined second quantity of bilateral body parts visible in the second preview image (i.e., the first bilateral body part in some embodiments or the second bilateral body part in other embodiments) is an odd value (i.e., determination block 524 = "yes"), the processor may select a first camera-lens combination having a narrower field of view for capturing an image in block 518.
[0076] Figure 5D Illustrated is a method 506 for capturing an intended subject in an image, which may include operations performed after the operation in block 516 of either method 502 or 504.
[0077] In block 526, a processor of the computing device may perform operations including determining an average separation distance between individuals visible therein from a first preview image. For example, the processor may perform image processing analysis of a first preview image (e.g., 127) associated with a first field of view (e.g., 137) to determine the separation distance between individuals visible in the preview image and determine the average separation distance between the individuals. A unit for performing the operations of block 526 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) coupled to an electronic storage device (e.g., 320, 358, 425).
[0078] In block 528, a processor of the computing device may perform operations including determining a separation distance between an individual visible in the second preview image but not fully visible in the first preview image and an individual visible in the first preview image from a second preview image captured using a second camera-lens combination having a wider field of view. For example, the processor may use image processing techniques to identify body parts or centers of each individual in the two preview images and estimate the distance between those body parts or centers of each individual in the image. A unit for performing the operations of block 528 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) coupled to a plurality of camera-lens combinations (e.g., 370a, 370b) and an electronic storage device (e.g., 320, 358, 425).
[0079] In determination block 530, a processor of a computing device may perform operations including determining whether a separation distance (referred to as an “added individual separation distance”) between an individual visible in a second preview image but not fully visible in a first preview image and the closest individual visible in the first preview image exceeds an average separation distance of individuals in the first preview image by a predetermined threshold distance or distance ratio. For example, using the separation distances determined in blocks 526 and 528, the processor may determine whether a ratio of the added individual separation distance to the average separation distance of individuals in the first preview image exceeds a predetermined ratio value (e.g., 50%). Units for performing the operations of block 530 may include a processor (e.g., 302, 304, 310, 312, 314, 316, 318, 352, 360) and an electronic storage device (e.g., 320, 358, 425).
[0080] In response to determining that the added individual separation distance does not exceed the average separation distance of individuals in the first preview image by a predetermined threshold distance or distance ratio (i.e., determination block 530 = “no”), the processor may select a second camera-lens combination with a wider field of view for capturing an image in block 516.
[0081] In response to determining that the added individual separation distance exceeds the average separation distance by a predetermined threshold distance (i.e., determination block 530 = “yes”), the processor may select a second camera-lens combination with a narrower field of view for capturing an image in block 518.
[0082] Various embodiments may be implemented on various computing devices (including but not limited to the embodiments discussed above with reference to FIGS. 1 - Figure 5D ), examples of which are shown in the form of a mobile computing device in Figure 6 . Referring to FIGS. 1 - Figure 6 , the mobile computing device 600 may include a first SOC 302 (e.g., a SoC-CPU) coupled to a second SOC 304 (e.g., a 5G-enabled SoC). The first and second SOCs 302, 304 may be coupled to a first camera-lens combination 370a (e.g., having a standard field of view lens), a second camera-lens combination 370b (e.g., having a wide field of view lens), an internal memory 625, and a display 115. According to various embodiments, one or more additional camera-lens combinations with different fields of view lenses may be included. Additionally, the mobile computing device 600 may include one or more antennas 604 for transmitting and receiving electromagnetic radiation, which may be connected to one or more transceivers 366 (e.g., a wireless data link and / or a cellular transceiver, etc.), and the transceiver 366 is coupled to one or more processors in the first, second, and / or third SOCs 302, 304. The mobile computing device 600 may also include a menu selection button or rocker switch 620 for receiving user input.
[0083] The mobile computing device 600 may further include a sound codec circuit 610 that digitizes sound received from a microphone into data packets suitable for wireless transmission and decodes received sound data packets to generate an analog signal that is provided to a speaker to generate sound.
[0084] The processor implementing the various embodiments can be any programmable microprocessor, microcomputer, or one or more multiprocessor chips that can be configured by software instructions (applications) to perform various functions, including the functions of the various aspects described in this application. In some communication devices, multiple processors may be provided, such as one dedicated to wireless communication functions and one dedicated to running other applications. Generally, software applications can be stored in internal memory before being accessed and loaded into the processor. The processor may include internal memory sufficient to store software application instructions.
[0085] As used in this application, the terms “component,” “module,” “system,” etc. are intended to include computer-related entities, such as but not limited to hardware, firmware, combinations of hardware and software, software, or software in execution, which are configured to perform particular operations or functions. For example, a component can be but is not limited to a process running on a processor, a processor, an object, an executable, an execution thread, a program, and / or a computer. As an illustration, an application running on a processor of a communication device and the communication device can both be referred to as components. One or more components can reside within a process and / or execution thread, and a component can be located on one processor or core and / or distributed between two or more processors or cores. Additionally, these components can execute from various non-transitory computer-readable media on which various instructions and / or data structures are stored. Components can communicate via local and / or remote processes, function or procedure calls, electronic signals, data packets, memory read / writes, and other known network, computer, processor, and / or process-related communication methods.
[0086] Many different cellular and mobile communication services and standards are available or expected in the future, all of which can be implemented and benefit from various aspects. Such services and standards may include, for example, the Third Generation Partnership Project (3GPP), Long Term Evolution (LTE) systems, Third Generation Wireless Mobile Communication Technology (3G), Fourth Generation Wireless Mobile Communication Technology (4G), Fifth Generation Wireless Mobile Communication Technology (5G), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (such as cdmaOne, CDMA1020TM), EDGE, Advanced Mobile Phone System (AMPS), Digital AMPS (IS-136 / TDMA), Evolution-Data Optimized (EV-DO), Digital Enhanced Cordless Telecommunications (DECT), Worldwide Interoperability for Microwave Access (WiMAX), Wireless Local Area Network (WLAN), Wi-Fi Protected Access I & II (WPA, WPA2), Integrated Digital Enhanced Network (iden), C-V2X, V2V, V2P, V2I, and V2N, etc. Each of these technologies involves, for example, the transmission and reception of voice, data, signaling, and / or content messages. It should be understood that any reference to terms and / or technical details related to individual telecommunications standards or technologies is for illustrative purposes only and is not intended to limit the scope of the claims to a particular communication system or technology, unless specifically recited in the claim language.
[0087] The various aspects shown and described are provided only as examples to illustrate the various features of the claims. However, the features shown and described with respect to any given aspect are not necessarily limited to the associated aspect and can be used or combined with other aspects shown and described. Additionally, the claims are not intended to be limited by any one example aspect. For example, one or more operations of a method can replace one or more operations of a method or be combined with one or more operations of a method.
[0088] The foregoing method descriptions and process flow diagrams are provided only as illustrative examples and are not intended to require or imply that the operations of the various aspects must be performed in the order presented. As will be understood by those skilled in the art, the operations of the foregoing aspects can be performed in any order. Words such as "thereafter," "then," "next," etc. are not intended to limit the order of operations; these words are used to guide the reader through the description of the method. Additionally, for example, the use of the words "a," "an," or "the" to refer to claim elements in the singular should not be construed as limiting the element to the singular.
[0089] The various illustrative logical blocks, modules, components, circuits, and algorithmic operations described in connection with the aspects disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations decisions should not be interpreted as causing a departure from the scope of the claims.
[0090] The hardware for implementing the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein can be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing intelligent objects, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry that is specific to a given function.
[0091] In one or more aspects, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or a non-transitory processor-readable storage medium. Operations of the methods or algorithms disclosed herein may be embodied in a processor-executable software module or processor-executable instructions that may reside on a non-transitory computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable storage medium may be any storage medium accessible by a computer or a processor. By way of example and not limitation, such non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, flash memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired program code in the form of instructions or data structures and that is accessible by a computer. As used herein, disk and optical disk include compact disk (CD), laser disk, optical disk, digital versatile disk (DVD), floppy disk, and Blu-ray disk, where disks typically reproduce data magnetically, while optical disks reproduce data optically by laser. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, operations of a method or algorithm may reside as one or any combination or collection of code and / or instructions on a non-transitory processor-readable storage medium and / or a computer-readable storage medium that may be incorporated into a computer program product.
[0092] The foregoing description of the disclosed aspects is provided to enable any person skilled in the art to make or use the claims. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the claims. Thus, the disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the claims and the principles and novel features disclosed herein.
Claims
1. A method executed by a processor of a computing device, the computing device having a plurality of camera-lens combinations with different fields of view, the method comprises: determining a first quantity of first bilateral body parts of an individual visible in a first preview image obtained by a first camera-lens combination having a first field of view; determining whether the determined first quantity of the first bilateral body parts visible in the first preview image is odd; in response to determining that the determined first quantity of the first bilateral body parts visible in the first preview image is odd, determining a second quantity of the first bilateral body parts of the individual visible in a second preview image obtained by a second camera-lens combination having a second field of view wider than the first field of view; determining whether the determined second quantity of the first bilateral body parts visible in the second preview image is odd; in response to determining that the second quantity of the first bilateral body parts visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image; and in response to determining that the second quantity of the first bilateral body parts visible in the second preview image is even, selecting the second camera-lens combination having the second field of view.
2. The method according to claim 1, further comprises: in response to determining that the determined first quantity of the first bilateral body parts visible in the first preview image is even, selecting the first camera-lens combination for capturing the image.
3. The method according to claim 1, further comprises: determining a second quantity of second bilateral body parts of an individual visible in the second preview image, wherein the second bilateral body parts are different from the first bilateral body parts; and determining whether the determined second quantity of the second bilateral body parts visible in the second preview image is odd, wherein further in response to determining that the second quantity of the second bilateral body parts visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image.
4. The method according to claim 1, further comprises: determining an average separation distance between individuals visible in the first preview image from the first preview image; and determining an added individual separation distance between: an individual visible in the second preview image but not fully visible in the first preview image, and the closest individual among the individuals visible in the first preview image, from a second preview image obtained by the second camera-lens combination, wherein further in response to determining that the added individual separation distance exceeds the average separation distance between the individuals visible in the first preview image by a predetermined threshold, selecting the first camera-lens combination for capturing the image.
5. The method according to claim 1, wherein: each of the plurality of camera-lens combinations includes one camera coupled to one lens; selecting the first camera-lens combination includes selecting a first camera; and Selecting the second camera-lens combination includes selecting a second camera.
6. The method according to claim 1, wherein, the first bilateral body part is one of an ear, an eye, a shoulder or an arm.
7. The method according to claim 1, further comprising obtaining a viewfinder image using only the first camera-lens combination while image signal processing blocks of other camera-lens combinations operate at a low frames per second rate.
8. A computing device, comprising: a plurality of camera-lens combinations having different fields of view; and a processor coupled to the plurality of camera-lens combinations and configured with processor-executable instructions for: determining a first quantity of a first bilateral body part of an individual visible in a first preview image obtained by a first camera-lens combination having a first field of view; determining whether the determined first quantity of the first bilateral body part visible in the first preview image is odd; in response to determining that the determined first quantity of the first bilateral body part visible in the first preview image is odd, determining a second quantity of the first bilateral body part of the individual visible in a second preview image obtained by a second camera-lens combination having a second field of view wider than the first field of view; determining whether the determined second quantity of the first bilateral body part visible in the second preview image is odd; in response to determining that the determined second quantity of the first bilateral body part visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image; and in response to determining that the determined second quantity of the first bilateral body part visible in the second preview image is even, selecting the second camera-lens combination having the second field of view.
9. The computing device according to claim 8, wherein, the processor is further configured with processor-executable instructions for: in response to determining that the determined first quantity of the first bilateral body part visible in the first preview image is even, selecting the first camera-lens combination for capturing the image.
10. The computing device according to claim 8, wherein, the processor is further configured with processor-executable instructions for: determining a second quantity of a second bilateral body part of an individual visible in the second preview image, wherein the second bilateral body part is different from the first bilateral body part; and determining whether the determined second quantity of the second bilateral body part visible in the second preview image is odd, wherein also in response to determining that the determined second quantity of the second bilateral body part visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image.
11. The computing device according to claim 8, wherein, the processor is further configured with processor-executable instructions for: determining an average separation distance between individuals visible in the first preview image from the first preview image; and Determine an added individual separation distance between: an individual visible in the second preview image obtained by the second camera-lens combination but not fully visible in the first preview image, and the closest individual among the individuals visible in the first preview image, where also in response to determining that the added individual separation distance exceeds the average separation distance between the individuals visible in the first preview image by a predetermined threshold, select the first camera-lens combination for capturing the image.
12. The computing device according to claim 8, wherein: each of the plurality of camera-lens combinations includes one camera coupled to one lens; the processor is further configured with processor-executable instructions for: selecting the first camera-lens combination by selecting a first camera, and selecting the second camera-lens combination by selecting a second camera.
13. The computing device according to claim 8, wherein, the first bilateral body part is one of an ear, an eye, a shoulder, or an arm.
14. The computing device according to claim 8, wherein, the processor is further configured with processor-executable instructions for: obtaining a viewfinder image using only the first camera-lens combination, while the image signal processing blocks of the other camera-lens combinations operate at a low frames per second rate.
15. A non-transitory processor-readable medium having stored thereon processor-executable instructions that are configured to cause a processor of a computing device to perform operations, the operations comprising: determining a first quantity of a first bilateral body part of an individual visible in a first preview image obtained by a first camera-lens combination having a first field of view; determining whether the determined first quantity of the first bilateral body part visible in the first preview image is odd; in response to determining that the determined first quantity of the first bilateral body part visible in the first preview image is odd, determining a second quantity of the first bilateral body part of an individual visible in a second preview image obtained by a second camera-lens combination having a second field of view wider than the first field of view; determining whether the determined second quantity of the first bilateral body part visible in the second preview image is odd; in response to determining that the determined second quantity of the first bilateral body part visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image; and in response to determining that the determined second quantity of the first bilateral body part visible in the second preview image is even, selecting the second camera-lens combination having the second field of view.
16. The non-transitory processor-readable medium according to claim 15, wherein, the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations further including: in response to determining that the determined first quantity of the first bilateral body part visible in the first preview image is even, selecting the first camera-lens combination for capturing the image.
17. The non-transitory processor-readable medium according to claim 15, wherein, the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations further comprising: determining a second number of second bilateral body parts of an individual visible in the second preview image, wherein the second bilateral body parts are different from the first bilateral body parts; and determining whether the determined second number of the second bilateral body parts visible in the second preview image is odd, wherein further in response to determining that the second number of the second bilateral body parts visible in the second preview image is odd, selecting the first camera-lens combination for capturing the image.
18. The non-transitory processor-readable medium according to claim 15, wherein, the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations further comprising: determining an average separation distance between individuals visible in the first preview image from the first preview image; and determining an added individual separation distance between: an individual visible in the second preview image but not fully visible in the first preview image, and the closest individual among the individuals visible in the first preview image, from a second preview image obtained by the second camera-lens combination, wherein further in response to determining that the added individual separation distance exceeds the average separation distance between the individuals visible in the first preview image by a predetermined threshold, selecting the first camera-lens combination for capturing the image.
19. The non-transitory processor-readable medium according to claim 15, wherein, the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations, wherein: each of the first camera-lens combination and the second camera-lens combination includes one camera coupled to one lens; selecting the first camera-lens combination includes selecting a first camera; and selecting the second camera-lens combination includes selecting a second camera.
20. The non-transitory processor-readable medium according to claim 15, wherein, the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations, wherein the first bilateral body part is one of an ear, an eye, a shoulder, or an arm.
21. The non-transitory processor-readable medium according to claim 15, wherein, the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations further comprising: obtaining a viewfinder image using only the first camera-lens combination, while image signal processing blocks of other camera-lens combinations operate at a low frames per second rate.
22. A computing device, comprising: a plurality of camera-lens combinations having different fields of view; a unit for determining a first number of first bilateral body parts of an individual visible in a first preview image obtained by a first camera-lens combination having a first field of view; a unit for determining whether the determined first number of the first bilateral body parts visible in the first preview image is odd; A unit for determining a second quantity of the first bilateral body part of an individual visible in a second preview image obtained by a second camera-lens combination having a second field of view wider than the first field of view, in response to a unit for determining the first quantity of the first bilateral body part determining that the determined first quantity of the first bilateral body part visible in the first preview image is odd; A unit for determining whether the determined second quantity of the first bilateral body part visible in the second preview image is odd; A unit for selecting the first camera-lens combination for capturing the image in response to the unit for determining the second quantity of the first bilateral body part in the second preview image determining that the determined second quantity of the first bilateral body part visible in the second preview image is odd; And A unit for selecting the second camera-lens combination having the second field of view in response to the unit for determining the second quantity of the first bilateral body part in the second preview image determining that the determined second quantity of the first bilateral body part visible in the second preview image is even.
Citation Information
Patent Citations
Mobile terminal and method for controlling the same
CN106375637A
Panoramic shooting method and device
WO2019033411A1