Assist for orienting a camera at different zoom levels

TWI932992BActive Publication Date: 2026-07-21QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
TW113115586
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-09-11
Filing Date
2018-09-10
Publication Date
2026-07-21
Estimated Expiration
2038-09-09

AI Technical Summary

Technical Problem

Conventional camera systems struggle with maintaining the centering of objects in the field of view during zoom operations, leading to user difficulty in positioning the camera accurately, especially when capturing or recording images or videos at different zoom levels.

Method used

The system processes multiple image streams from different cameras, one capturing the entire scene and another focusing on a spatial portion, and outputs a visual indication on the display to assist the user in positioning the camera, ensuring the intended portion remains centered in the view.

Benefits of technology

This approach enhances user convenience by providing visual guidance, allowing for more efficient capture and recording of scenes by helping users maintain the desired object in the camera's field of view during zoom operations.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This invention relates to a system and method for assisting in positioning a camera at different scaling levels. An example device may include a memory configured to store image data. The example device may further include a processor communicating with the memory, the processor being configured to: process a first image stream associated with a scene; independently process a second image stream associated with a spatial portion of the scene, wherein the second image stream is different from the first image stream; output the processed first image stream; and during the output of the processed first image stream, output a visual indication indicating the spatial portion associated with the second image stream.
Need to check novelty before this filing date? Find Prior Art

Description

Aid for orienting a camera at different zoom levels The present invention generally relates to systems for image capture devices, and more particularly to positioning a camera for recording images or video. Many devices and systems (such as smartphones, tablets, digital cameras, security systems, computers, etc.) include cameras for various applications. For many camera systems, when capturing an image or recording video, the display used for the camera (such as a smartphone or tablet display) previews the image or video being captured by the camera. For example, if the camera is zoomed in while capturing an image or recording video, the display shows the zoomed-in view of what is being recorded with the camera. This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify essential key features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Aspects of the present invention relate to facilitating positioning of a camera at different zoom levels. In some embodiments, an example device may include a memory configured to store image data. The example device may further include a processor in communication with the memory, the processor configured to: process a first image stream associated with a scene; independently process a second image stream associated with a spatial portion of the scene, wherein the second image stream is different from the first image stream; output the processed first image stream; and, during output of the processed first image stream, output a visual indication indicating the spatial portion associated with the second image stream. In another example, a method is disclosed. The example method includes processing, by a processor, a first image stream associated with a scene; independently processing, by the processor, a second image stream associated with a spatial portion of the scene, wherein the second image stream is different from the first image stream; outputting the processed first image stream; and outputting a visual indication indicating the spatial portion associated with the second image stream during outputting the processed first image stream. In another example, a non-transitory computer-readable medium is disclosed. The non-transitory computer-readable medium may store instructions that, when executed by a processor, cause a device to perform operations including: processing, by the processor, a first image stream associated with a scene; independently processing, by the processor, a second image stream associated with a spatial portion of the scene, wherein the second image stream is different from the first image stream; outputting the processed first image stream; and outputting a visual indication indicating the spatial portion associated with the second image stream during output of the processed first image stream. In another example, a device method is disclosed that includes means for processing a first image stream associated with a scene; means for independently processing a second image stream associated with a spatial portion of the scene, wherein the second image stream is different from the first image stream; means for outputting the processed first image stream; and means for outputting a visual indication indicating the spatial portion associated with the second image stream during the outputting of the processed first image stream. This patent application claims priority to non-provisional application No. 15 / 701,293, filed on September 11, 2017, entitled “ASSIST FOR ORIENTING A CAMERA AT DIFFERENT ZOOM LEVELS,” assigned to the present assignee and hereby expressly incorporated herein by reference. Aspects of the present invention can assist users in positioning a camera for recording images or videos and can be applied to devices having a variety of camera configurations. Each camera includes a field of view for capturing a scene. Many people use zooming ("zooming in") to capture only a portion of the scene in the field of view. Zooming can be optical, with the camera lens moving to change the camera's focal length (allowing objects in the scene to be magnified without losing resolution). Alternatively, zooming can be digital, with a portion of the captured scene being cropped. If a portion of the captured scene is cropped, the remaining portion may be stretched on the display (causing some loss of resolution). In a zoomed view, camera movement (such as panning or tilting the camera, or the user moving the smartphone or tablet during recording) is magnified (because objects in the view may be magnified or stretched), resulting in the previewed image or video (and therefore the recorded image or video) not including or centered around the object or scene intended by the user to record. For example, if the device is recording image or video from a soccer game and the user commands the camera to zoom in on a particular player or ball, the player or ball may not remain centered in the camera's field of view (or even appear in the camera's field of view) while zoomed in. The user may struggle to position the camera, for example by trying to find the player or ball in the zoomed preview on the camera display. Assistance is needed for user positioning the camera to, for example, reduce the difficulty the user has in positioning the camera during a zoomed view. In some embodiments, at least a portion of a device (such as one or more processors) may process a first image stream (from a first camera) associated with a scene, independently process a second image stream (from a second camera) associated with a spatial portion of the scene that is different from the first image stream, output the processed first image stream (for preview via a display), and, during the output of the processed first image stream, output a visual indication of the spatial portion of the scene associated with the second image stream (such as on a preview of the processed first image stream). In this manner, aspects of the present invention may prevent a user from struggling to position a camera at different zoom levels while capturing and / or recording images or video, and may also allow the device to more efficiently capture and / or record a desired portion of a scene. For example, as mentioned above, a user recording a soccer game may use the visual indication in the preview to identify what portion of the scene is being recorded and accordingly position the camera as needed without searching within the zoomed-in view of the preview. The terms "capture" and "record" are used to distinguish between images from a camera sensor before they are processed or partially processed (such as for previewing) and fully processed images (such as for placing in storage for later viewing or for streaming to others). While the camera sensor is active, the camera may "capture" images continuously (such as at a predetermined number of frames per second). Many of these images are discarded and not used or fully processed (such as by the image signal processor applying noise reduction, edge enhancement, color balancing, and other filters). A "recorded" image or video is a captured image that the user intends or requests to be fully processed by the image signal processor (such as by pressing the camera button for images, pressing the record button for video, etc.). A camera preview shows the captured image before it is fully processed. If a camera preview shows a captured image that is also being recorded, the preview shows the partially processed captured image as the image signal processor fully processes the captured image. If the camera preview shows the captured image before the image or video is to be recorded, the preview shows the partially processed captured image that is discarded after the preview. After the captured image is fully processed for recording, the resulting image or video can be stored in memory for later viewing, streamed to others for live viewing, etc. In the following description, numerous specific details (such as examples of specific components, circuits, and procedures) are set forth to provide a thorough understanding of the present invention. As used herein, the term "coupled" means directly connected to or connected via one or more intervening components or circuits. Furthermore, in the following description and for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that such specific details may not be required to practice the teachings disclosed herein. In other cases, familiar circuits and devices are shown in block diagram form to avoid obscuring the teachings of the present invention. Portions of the following detailed description are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within computer memory. These descriptions and representations are intended to be a means by which those skilled in the art of data processing can most effectively convey the substance of their work to others skilled in the art. In the present invention, a procedure, logic block, program, or the like is conceived as a self-consistent sequence of steps or instructions that leads to a desired result. These steps are steps that require physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. However, it should be kept in mind that all such and similar terms are intended to be associated with the appropriate physical quantities and are merely convenient labels applied to such quantities. Unless specifically stated otherwise as is apparent from the following discussion, it should be understood that in this application, discussions utilizing terms such as "access," "receive," "send," "use," "select," "determine," "normalize," "multiply," "average," "monitor," "compare," "apply," "update," "measure," "derive," or the like refer to the actions and procedures of a computer system or similar electronic computing device that manipulates data represented as physical (electronic) quantities within the computer system's registers and memories and transforms that data into other data similarly represented as physical quantities within the computer system's memories or registers or other such information storage, transmission, or display devices. In the figures, a single block may be described as performing a function; however, in actual practice, the function performed by that block may be performed in a single component or across multiple components, and / or the function(s) may be performed using hardware, software, or a combination of hardware and software. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps are described below generally in terms of their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in different ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. Furthermore, example devices may include components other than those shown, including well-known components such as processors, memory, and the like. Aspects of the present invention are applicable to any suitable processor (such as an image signal processor) or device including one or more cameras (such as smartphones, tablets, laptops, digital cameras, webcams, etc.), and can be implemented for a variety of camera configurations. Although portions of the following description and examples use two cameras for a device to illustrate aspects of the present invention, the present invention is applicable to any device with at least one camera. For devices with multiple cameras, the cameras can have similar or different capabilities (such as resolution, color or black and white, wide-angle lens versus telephoto lens, zoom capability, etc.). FIG1A depicts an example device 100 including two cameras, with a first camera 102 and a second camera 104 configured in a first configuration. FIG1B depicts another example device 110 including two cameras, with a first camera 112 and a second camera 114 configured in a second configuration. In some aspects, one of the cameras (such as first cameras 102 and 112) can be a primary camera, and the other camera (such as second cameras 104 and 114) can be a secondary camera. Additionally or alternatively, second cameras 104 and 114 can have a different focal length, capture rate, resolution, color palette (such as color versus black and white), and / or field of view or field of view than first cameras 102 and 112. In some aspects, first cameras 102 and 112 can each include a wide field of view, and second cameras 104 and 114 can each include a narrower field of view (such as a telephoto camera). In other aspects, first cameras 102 and 112 can have the same capabilities as second cameras 104 and 114 without having the same advantage of a scene to be captured or recorded. While an example device is depicted that may be a smartphone or tablet computer that includes dual cameras, embodiments of the present invention may be implemented in any device that includes an image signal processor. Another example device is a wearable device (such as a smartwatch) that can be connected to a smartphone or tablet computer. Another example device is an augmented or virtual reality headset that is coupled to (e.g., communicates with or is physically connected to) a camera. Another example device is a drone or car that is coupled to or includes a camera. Another example device is a video security system that is coupled to a security camera. Examples are for illustrative purposes only, and the present invention should not be limited to any particular example or device. The term "device" is not limited to one or a specific number of physical objects (such as a smartphone). As used herein, a device can be any electronic device having multiple components that can implement at least some portions of the present invention. Although the following description and examples use the term "device" to describe various aspects of the present invention, the term "device" is not limited to a specific configuration, type, or number of objects. FIG2A is a block diagram of an example device 200 including multiple cameras. Example device 200 (which may be one implementation of devices 100 and 110 of FIG1A and FIG1B ) may be any suitable device capable of capturing images or video, including, for example, wired and wireless communication devices (such as camera phones, smartphones, tablets, security systems, dashcams, laptops, desktops, wearable cameras, drones, etc.), digital cameras (including still cameras, video cameras, etc.), or any other suitable device. Example device 200 is shown in FIG2A as including a first camera 202, a second camera 204, a processor 206, a memory 208 storing instructions 210, a camera controller 212, a display 216, and several input / output (I / O) components 218. Device 200 may include additional features or components not shown. For example, a wireless interface (which may include several transceivers and a baseband processor) may be included for the wireless communication device. Device 200 may include additional cameras in addition to first camera 202 and second camera 204. The present disclosure should not be limited to any particular example or illustration, including example device 200. The first camera 202 and the second camera 204 may be capable of capturing individual image frames (such as still images) and / or capturing video (such as a series of captured image frames). A series of still images or video from a camera may be referred to as an image stream. The first camera 202 and the second camera 204 may include one or more image sensors (not shown for simplicity) and a shutter for capturing the image streams and providing the captured image streams to the camera controller 212. The memory 208 may be a non-transitory or non-transitory computer-readable medium that stores computer-executable instructions 210 for performing all or part of one or more operations described herein. The device 200 may also include a power supply 220 that may be coupled to or integrated into the device 200. The processor 206 can be one or more suitable processors capable of executing instruction codes or instructions (such as instructions 210) of one or more software programs stored in the memory 208. In some aspects, the processor 206 can be one or more general-purpose processors that execute the instructions 210 to cause the device 200 to perform any number of different functions or operations. In additional or alternative aspects, the processor 206 can include integrated circuits or other hardware to perform functions or operations without the use of software. Although shown as being coupled to each other via the processor 206 in the example of FIG. 2 , the processor 206, memory 208, camera controller 212, display 216, and I / O components 218 can be coupled to each other in various configurations. For example, the processor 206, memory 208, camera controller 212, display 216, and / or I / O components 218 can be coupled to each other via one or more local buses (not shown for simplicity). The display 216 can be any suitable display or screen that allows user interaction and / or presents items (such as captured images and videos) for the user to view. In some aspects, the display 216 can be a touch-sensitive display. The I / O components 218 can be or include any suitable mechanism, interface, or device for receiving input (such as commands) from the user and providing output to the user. For example, the I / O components 218 can include (but are not limited to) a graphical user interface, a keyboard, a mouse, a microphone, and speakers. The camera controller 212 may include an image signal processor 214, which may be one or more image signal processors, for processing captured image frames or video provided by the first camera 202 and / or the second camera 204. In some example embodiments, the camera controller 212 (such as by using the image signal processor 214) may control the operation of the first camera 202 and the second camera 204. In some aspects, the image signal processor 214 may execute instructions from a memory (such as instructions 210 from the memory 208 or instructions stored in a separate memory coupled to the image signal processor 214) to control the operation and / or processing of the cameras 202 and 204 and provide one or more image streams for recording or previewing. In other aspects, the image signal processor 214 may include specific hardware to control the operation and / or processing of the cameras 202 and 204 and provide one or more image streams for recording or previewing. Image signal processor 214 may alternatively or additionally include a combination of specialized hardware and the ability to execute software instructions. While FIG2A illustrates an example embodiment of device 200, device 200 need not include all of the components shown in FIG2A. FIG2B illustrates another example embodiment of device 200, demonstrating that device 200 need not include all of the components shown in FIG2A. For example, device 200 may include an image signal processor 214 (which may be part of a camera controller) and a memory 208 including instructions 210, and may be coupled to or include a power supply 220. First camera 202 and second camera 204 may be separate from device 200 and coupled to device 200 (such as for use in a security system, a desktop computer, or other device where the cameras are remote from the device). In some example embodiments, device 200 receives capture streams from the cameras for processing and provides commands to the cameras for positioning the cameras. Alternatively or additionally, display 216 may be separate from device 200 and coupled to it. In one example, display 216 may be a wireless display coupled to a device that performs image processing. For example, a drone may provide captured images to a user's tablet or smartphone for preview, and the drone may include an image signal processor to fully process any captured images intended for recording. I / O components 218 may also be separate from device 200. For example, if the input is a graphical user interface, some or all of the I / O components may be part of display 216. As shown, various device configurations and types can be used to implement aspects of the present invention. Therefore, the present invention should not be limited to a specific device configuration or type. FIG3 is a block diagram of an example image signal processor 300. Image signal processor 300 may be one implementation of image signal processor 214 of camera controller 212 shown in FIG2 . Image signal processor 300 may be a single-thread (or single-core) processor having a sequence of filters 302A through 302N that processes a first image stream. In one example implementation, filter 1 (302A) may be a noise reduction filter, filter 2 (302B) may be an edge enhancement filter, and filter N (302N) may be the final filter that completes the processing of the image stream. Alternatively, image signal processor 300 may be a multi-thread (or multi-core) processor having one or more additional sequences of filters 304A through 304N that process other image streams. When a user uses a conventional device to record or capture a scene (such as a father using a smartphone to record his child's soccer game or piano recital), the scene is typically previewed on the device's display. When the user zooms into a portion of the scene (such as a father zooming in on his child), the device typically previews the magnified portion of the scene. If the zoom is digital, the device may preview only a portion of the scene captured by the device's camera. In this way, a conventional camera controller can output only a portion of the captured image stream for preview. If the user loses track of the object to be recorded in the magnified view and the preview does not show the object, the user may encounter difficulty locating (such as moving (e.g., left, right, up, down, and diagonally) or orienting (e.g., panning, tilting, and rotating) the camera to find the object in the preview). For example, if the aforementioned father does not see his child in the magnified preview, he may have difficulty determining the direction and distance to change the camera position to locate his child. FIG4A illustrates an example scene 402 captured by a camera. For the purposes of this discussion, example scene 402 is captured or recorded by first camera 202 or second camera 204 (or both) of device 200 of FIG2 . Example scene 402 depicts a player shooting a goal during practice. A user may wish to zoom in on the ball while recording scene 402, and the preview of the zoomed-in scene being recorded may differ from what the user intended to record. FIG4B depicts example scene 402 of FIG4A , depicting the actual portion 404 of the zoomed-in scene being or to be recorded, and depicting the intended portion 406 of the scene to be recorded. If the device previews the portion 404 of the scene being or to be recorded, the user may have difficulty determining that the location of intended portion 406 of the scene to be recorded, in this example, is below and to the right of the location of portion 404 of the scene being or to be recorded. As a result, the user may not know the direction in which to move or orient the camera. For example, the user may waste time moving the device around trying to find the ball in the magnified view, or may expend device resources zooming out and zooming back in to relocate the ball in the preview. As a result, the user may record the desired image or video too late or otherwise lose the opportunity to record the desired object at the desired time (such as recording his child as a goal is shot). According to various aspects of the present invention, a display (such as example display 216, which may be coupled to or included in a device) can be configured to assist a user in positioning one or more cameras. In some embodiments, the display can provide a preview of the scene captured by the camera (including the portion of the scene being or to be recorded). In the preview of the scene, the display (in communication with the image processing device) can display a visual indication of the portion of the scene being or to be recorded. In this manner, a user can easily determine the position of the portion of the scene being or to be recorded relative to the scene being captured. FIG5A illustrates an example display 502 previewing the scene 402 of FIG4A being captured and a visual indication 504 of the portion of the scene being or to be recorded. For simplicity and brevity, discussion related to a portion of the scene being or to be recorded, as indicated by the visual indication of the present invention, may be referred to as the portion of the scene being recorded. Display 502 may be display 216 of device 200 of FIG2A and FIG2B , wherein device 200 records the portion of the scene indicated by visual indication 504, but any suitable device configuration may be used. While visual indication 504 is depicted as a dashed rectangle indicating the portion of the scene being recorded, visual indication 504 may take any form to indicate the portion of the scene being recorded. In some other examples, visual indication 504 may include a gray area or other contrasting area indicating the portion of the scene being previewed, may indicate the corners of the portion of the scene being recorded, may include a marker identifying the center of the portion of the scene being recorded, may be a solid box indicating the portion of the scene being recorded, and so forth. In addition, a part of recording scene comprises recording video and one or more static images. In this way, the user can prepare visual indication 504 to be located in a part center of scene for upcoming image or video to be recorded. The capture stream of one camera may include the entire scene, and a spatial portion of that stream (e.g., the spatial portion of the scene defined / delimited by visual indication 504) is output (e.g., by camera controller 212 of FIG. 2 ) for recording. Alternatively, the stream of a first camera may include the entire scene, while the stream of a second camera includes the portion of the scene being or to be recorded. FIG. 5B illustrates an example of a first camera 202 of device 200 capturing a scene 506 and a second camera 204 of device 200 capturing a portion 508 of scene 506 being or to be recorded. In this manner, display 216 can preview scene 506 being captured by first camera 202 and present (e.g., display) a visual indication including portion 508 (of scene 506) being captured by second camera 204 for recording. In additional or alternative embodiments, the device can be configured to record either or both of the capture streams. In one example, the device can request the user to select one of the streams to be recorded or automatically select the stream to be recorded. In another example, one capture stream can be used exclusively for preview. The device can request the user to select which capture stream to use for preview, or the device can automatically select the capture stream for preview. In another example, the device automatically records both capture streams. If both capture streams are recorded, the user can be requested to select one or both of the recordings for storage (discarding the unselected recordings). In some example implementations, the first camera 202 and the second camera 204 are components of a dual camera system for the device 200. In some dual camera systems, the two cameras 202 and 204 have similar capabilities, such as resolution, color palette, zoom, focal length, shutter speed, and the like. Alternatively, the two cameras 202 and 204 may have different capabilities. In some examples, the first camera 202 may be a color camera and the second camera 204 may be a black and white camera, which may have better fidelity in low-light settings. In some other examples, the first camera 202 may be a high-resolution camera (such as 8 megapixels, 13 megapixels, and the like), and the second camera 204 may be a lower-resolution camera than the first camera 202, for example, to assist the first camera with autofocus. In some other examples, the first camera 202 may be a wide-angle field of view camera, and the second camera 204 may be a narrower field of view camera with a longer focal length than the first camera 202, for example, to capture objects that are far from the device. Some devices may include different configurations of dual cameras, and other devices may include more than two cameras. Implementations of the present invention are applicable to any camera configuration and type of device. The examples provided using a two-camera configuration are provided for illustrative purposes only, and the present invention should not be limited to or by any of the provided examples. FIG6 is a pictorial flow diagram illustrating example operations 600 for outputting visual indications. The outputted visual indications can be presented on a display to assist a user in positioning the camera so that the device can receive a capture stream that includes the intended scene being recorded. For example, the user can use the visual indications to identify how to position the camera so that its field of view includes the intended scene. Example operations 600 are described below with respect to two image streams, such as a first image stream from first camera 202 and a second image stream from second camera 204 of device 200. However, the aspects are applicable to any number of image streams, including one image stream or three or more image streams. Although example operations (including example operation 600) are described with respect to device 200, camera controller 212, or image signal processor 214, any capable component or module may perform the operations. For example, even though device 200 or camera controller 212 may be described as performing an operation, image signal processor 214 (such as in FIG. 2A or FIG. 2B ), processor 206 ( FIG. 2A ), camera controller 212 ( FIG. 2A ), or other modules or components may still perform the operations. Additionally, the term "output" may include providing to a separate device, providing to a remote display, displaying on a display included in a device, providing from one component of a device to another component of the device, or providing from one component of a device to a module external to the device. The present invention should not be limited to specific components or modules performing the operations described in the example operations. Beginning at 602, device 200 may process a first image stream associated with the entirety of a scene. In one example, first camera 202 may capture scene 506 ( FIG. 5B ) and provide the first image stream to camera controller 212 of device 200, which processes the incoming first image stream. In another example, camera controller 212 of device 200 processes an image stream received from another device or stored in memory (such as memory 208). In some example implementations, image signal processor 214 may process the first image stream. For example, image signal processor 300 ( FIG. 3 ) may apply filters 302A through 302N to the first image stream. Additionally or alternatively, image signal processor 300 may perform other functions on the first image stream, such as cropping, scaling, deinterlacing, and the like. The camera controller 212 of the device 200 can also independently process a second image stream (604) associated with a spatial portion (e.g., a portion less than or equal to the entirety) of the scene in the first image stream. In one example, the second camera 204 can capture a spatial portion 508 of the scene 506 ( FIG. 5B ) and provide the resulting second image stream to the camera controller 212, which processes the incoming second image stream. In other examples, the second image stream can be provided by another device or from a memory (such as the memory 208). Referring to the previous example of the image signal processor 300 applying filters 302A through 302N to the first image stream, the image signal processor 300 can apply filters 304A through 304N to the second image stream and, alternatively, can perform other functions such as cropping, scaling, deinterlacing, etc. In some example implementations for processing the second image stream, the device 200 (such as the camera controller 212 or the image signal processor 214) can determine the size and location of the visual indication in the scene 506 of the first image stream (606). For example, the device 200 can embed the visual indication into the processed first image stream, create a layer on the processed first image stream, augment the processed first image stream, etc., so that the captured scene 506 and the visual indication can be displayed simultaneously (such as on the display 216). It should be noted that the present invention should not be limited to second camera 204 having a smaller field of view than first camera 202. For example, the cameras may be at different zoom levels such that a camera with a larger field of view than another camera captures a smaller portion of the scene than the other camera. Furthermore, as previously mentioned, image signal processor 214 may be any number of processors, threads, and / or cores. In some example embodiments, image signal processor 214 and processor 206 may be components of a system-on-chip (SoC). Thus, it should be noted that the various aspects of the present invention are not limited to any particular hardware. Proceeding to 608, the device 200 may output the processed first image stream for preview. In some example embodiments, the camera controller 212 may generate the processed first image stream. After generating the processed first image stream, the device 200 may preview the scene 506 on the display 216 (610). For example, the device 200 may output the processed first image stream to the display 216, and the display 216 may preview the scene 506 by displaying the processed first image stream. During or after generating and outputting the processed first image stream (such as by the camera controller 212), a visual indication of the spatial portion of the scene associated with the second image stream may also be output (612). The display 216 may optionally display the visual indication on the scene 506 being previewed (614). For example, the processed first image stream may include the visual indication or be otherwise linked to the visual indication so that the camera controller 212 can associate the visual indication with the portion of the scene to be recorded in the processed first image stream. While example operation 600 illustrates processing image streams sequentially and generating a processed first image stream and a visual indication sequentially, processing different image streams can be performed concurrently, and outputting or generating processed image streams and visual indications can also be performed concurrently. A processed second image stream can be output while the processed first image stream is being output. For example, camera controller 212 can generate at least a portion of the processed second image stream associated with a portion of a scene being recorded. The processed image stream can be stored in a device memory (such as memory 208) or output to another device or memory. If display 216 previews the processed first image stream and the visual indication, the visual indication indicates that the portion of the scene captured in the processed first image stream is being recorded in at least a portion of the second image stream. Although example operation 600 (and other example operations in this disclosure) describes using the processed second image stream for recording, only a portion of the processed second image stream may be used for recording. For example, digital zoom may be applied to the second camera 204 so that the entire scene captured by the second camera 204 is not recorded. It should be noted that an image stream may refer to one or more temporal or spatial portions or the entire stream, and this disclosure should not be limited to a specific implementation of an image stream. By using visual indicators displayed on the preview of the scene, the user can better understand how to move the device or camera in order to locate the object of interest in the stream (or portion of the stream) being or to be recorded. The preview of the scene with visual indicators can be called a "zoom-assisted" preview. In some example embodiments, a user may wish to switch between two or more of the following: (1) a zoom-assisted preview, wherein the preview may depict both an indication of the portion of the scene being recorded and a preview of the entire scene being captured; (2) a conventional preview, wherein the preview may depict only what is being recorded; (3) a simultaneous view, wherein a combination of the zoom-assisted preview and the conventional preview is depicted (such as a side-by-side (SBS) view, a picture-in-picture (PiP) view, a windowed view, etc. of the zoom-assisted preview and the conventional preview); (4) an alternative preview, wherein the preview may depict a different portion of the scene than the conventional preview; (5) a different zoom level preview, wherein the preview may depict a portion of the scene at a different zoom level (such as a different digital zoom level) than the conventional preview; or (6) a simultaneous view, wherein a combination of two or more of the above previews is depicted. FIG7 illustrates an example switching operation 706 of the display 216 between a zoom auxiliary preview 702 and a preview 704 of a portion of a scene being or to be recorded. In some example embodiments, the device 200 may allow a button, menu, gesture, or other user-based command to determine when to switch between preview 702 and preview 704. In some embodiments, the command toggles between activation and deactivation of the zoom auxiliary preview functionality. In some other embodiments, the command toggles the preview while one or more other previews are still being generated but not displayed or output for display. In one example, the display 216 can present a zoom assist button 708 to allow the user to switch between the preview 702 and the preview 704, where the preview 702 includes a visual indication 710 indicating that a portion of the scene is being or is to be recorded. In other examples, the user can use a swipe gesture, shake the device 200, or provide an audible, visual, or other tactile command to switch between the preview 702 and the preview 704. Additionally or alternatively, the decision to switch between preview 702 and preview 704 may be determined automatically (e.g., "on the fly") by device 200 based on one or more criteria. For example, the one or more criteria for causing device 200 to switch from preview 704 to preview 702 may include camera movement, movement of an object into the portion of the scene being captured, motion of an object of interest (e.g., an object of interest that may be automatically tracked by device 200 for recording), etc., which may cause device 200 to present zoom-assist preview 702 to assist the user in positioning first camera 202 and / or second camera 204. Similarly, the one or more criteria for causing device 200 to switch from preview 702 to preview 704 may include, for example, an assessment (or analysis) of the determined amount of motion, determined depth, and / or determined size of an object of interest being tracked (e.g., based on user selection or predetermined criteria) relative to various associated threshold levels. FIG8 is a illustrative flow diagram depicting example operations 800 for switching between a scene being captured (such as a scene in a first image stream being captured by first camera 202) and a portion of a scene being or to be recorded (such as at least a portion of a second image stream being captured by second camera 204). For example, camera controller 212 (operating alone or in cooperation with other components (such as processor 206)) can determine whether to switch between outputting (such as for preview) a processed first image stream (and a visual indication) and a processed second image stream. The output image stream can be the image stream previewed by display 216. In some example embodiments, the camera controller 212 may generate more than one image stream (such as both a first image stream and a second image stream) for recording. In one example, the camera controller 212 may generate and output a processed image stream that is not currently being previewed for recording. The user may be presented with an option to select which recorded image stream to retain, such as by being able to review each image stream and select the image stream being reviewed to retain or delete. While the example operation 800 illustrates switching between an image stream being captured and an image stream being recorded, both image streams may be recorded, and the present invention should not be limited to recording one image stream or recording as illustrated in the specific example provided. Beginning at 802, a processed first image stream may be generated for preview. For example, the camera controller 212 (such as by using the image signal processor 214) may generate the processed first image stream. The display 216 may optionally display a zoom-assist preview (804), for example, by presenting the processed first image stream and a visual indication. Referring back to FIG. 7 , the display 216 may display the zoom-assist preview 702 with a visual indication 710. The device 200 may then determine, based on one or more criteria (such as a user pressing a zoom-assist button, swiping the screen, movement within the scene, camera movement, etc.), whether the device 200 should switch from outputting the processed first image stream to outputting the processed second image stream (806). For example, the device 200 determines whether the display 216 should switch from the zoom-assist preview 702 to a preview 704 of the portion of the scene being recorded, as depicted in the example of FIG. 7 . If the device 200 is not to switch, the device 200 continues to output the processed first image stream (802). For example, the display 216 continues to present the zoom auxiliary preview 702 with the visual indication 710 (804). If the device 200 switches from outputting the processed first image stream, the device 200 switches to outputting the processed second image stream for preview (808). In one example, the camera controller 212 can switch to generating the processed second image stream. In another example, the camera controller 212 generates two processed image streams, and the device 200 determines to switch from the zoom-assisted preview 702 to outputting the preview 704 of the processed second image stream to the display 216. In this way, the display 216 can optionally present the processed second image stream, for example, by providing a user with a preview of what is being or to be recorded (810). The device 200 (such as the camera controller 212) can then determine, based on one or more criteria (such as a change in one or more criteria or an additional user request or input), whether the device 200 should switch from outputting the processed second image stream to the processed first image stream (812). For example, the device 200 determines whether the display 216 should switch from presenting the portion of the scene being recorded 704 to the zoom auxiliary preview 702 in FIG. 7. If no switch is to occur, the device 200 continues to output the processed second image stream (808). For example, the display 216 continues to present the portion of the scene being recorded 704 (808). If a switch is to occur (812), the device 200 switches to outputting the processed first image stream, for example, so that the zoom auxiliary preview can be presented on the display 216. In one example, if two processed image streams are generated by the camera controller 212 or the image signal processor 214, the device 200 can switch between outputting the generated image streams. In another example, the camera controller 212 may output one processed image stream and switch the processed image stream to be output. In some example implementations, display 216 may simultaneously display a zoom-assisted preview and a portion of a scene being or to be recorded. FIG9A illustrates an example display presenting a simultaneous preview 902, comprising a zoom-assisted preview 904 (with visual indication 908) and a portion of a scene being recorded 906. Display 902 (which may be one implementation of display 216) may further include a button 910 for switching between previews, such as between simultaneous display of previews 904 and 906 and preview 906 of what is being or to be recorded. While simultaneous preview 902 (including previews 904 and 906) is shown side-by-side, previews 904 and 906 may be presented simultaneously in any manner, such as as an image-in-image, in separate windows, etc. Furthermore, while preview 906 is presented in a letterboxed fashion, showing only a portion of zoom-assisted preview 904, with each of the previews displayed on half of the display, all or any portion of each of previews 904 and 906 may be displayed on any number of displays. For example, display 216 may letterbox both previews 904 and 906, may display only a portion of each of previews 904 and 906, allow a user to determine how to display previews 904 and 906 simultaneously, or allow a user to change how much of display 902 will be used for each of previews 904 and 906. It should be noted that the present invention should not be limited to any of the example displays or previews provided. The user may wish to switch between simultaneous display of previews ("simultaneous previews") and zoom-assisted previews (or the device 200 may automatically switch by switching the output of the processed image stream). FIG9B illustrates an example operation 912 of a display switching between simultaneous preview 902 and zoom-assisted preview 904. In one example, the user may press the zoom-assisted (ZA) button to switch between preview 902 and preview 904. The device 200 may additionally or alternatively switch output to the display 216 based on one or more other criteria (such as camera movement, object movement, etc.) to cause the display to switch between presenting previews 902 and 904. Additionally or alternatively, the display may switch between a simultaneous preview 902, a zoomed auxiliary preview 904, and a preview 906 of the object being or to be recorded. For example, the device 200 may switch between outputting a processed image stream for each of the previews. FIG9C illustrates an example of a display switching between a zoomed auxiliary preview 904, a preview 906 of a portion of the scene being or to be recorded, and / or a simultaneous preview 902, as indicated by switching operations 914A to 914C. In one example, the user may press the ZA button to cycle through the previews. In another example, the display may include multiple buttons (such as soft buttons and / or physical buttons) so that the user can switch directly to the desired preview. In another example, the user may swipe left for one preview and swipe right for another preview (or swipe in any other direction, such as up, down, or diagonally). Other criteria (such as camera movement, object movement, etc.) may additionally or alternatively be used by the device to determine whether to switch previews. FIG10 is a pictorial flow diagram depicting example operations 1000 for switching between simultaneous preview and preview of the scene being recorded. For example, the camera controller 212 (or device 200) may switch from simultaneously outputting a processed first image stream (and visual indication) and a processed second image stream (such as for displaying a simultaneous preview on the display 216) for preview to outputting only the processed second image stream (such as for displaying what is being recorded on the display 216) for preview. In some alternative implementations, when switching between simultaneous preview and preview of what is being or to be recorded, the camera controller 212 (or device 200) may simultaneously output the processed first image stream and the processed second image stream for preview. The example operations 1000 of FIG10 are discussed with respect to FIG9B , but similar procedures or steps in the example operations 1000 of FIG10 may be used to switch between previews as illustrated in FIG9C or other example implementations. Beginning at 1002, the device 200 may simultaneously output a processed first image stream and a processed second image stream for simultaneous preview on the display 216. For example, the camera controller 212 (such as by using the image signal processor 214) may simultaneously output the processed first image stream and the processed second image stream. The display 216 may display a simultaneous preview 902, including a zoom-assist preview and a preview of what is being or to be recorded (1004). The device 200 may then determine, based on one or more criteria (such as receiving a user command from the display 216 by the user pressing a zoom-assist button or sliding the screen, determining movement in the scene or camera movement, etc.), whether the device 200 (or the camera controller 212) should switch from simultaneously outputting the processed first and second image streams to outputting only the processed second image stream for preview (1006). For example, the device 200 determines whether the display 216 should switch from the simultaneous preview 902 (913) to the preview 904 of what is being recorded. If no switching is to occur, the device 200 continues to simultaneously output the processed first and second image streams (1002). For example, the display 216 continues to present the simultaneous preview 902 (1004). If a switch is to occur (1006), the device 200 switches to outputting the processed second image stream (1008). In one example, the camera controller 212 (e.g., using the image signal processor 214) can switch to outputting the processed second image stream. In another example, the camera controller 212 outputs two processed image streams for preview, and the device 200 determines to switch from outputting the processed first image stream for display 216 to display while previewing to outputting the processed second image stream for display 216. In this way, the display 216 can optionally display the processed second image stream (1010) and preview what is being or to be recorded. The device 200 can then determine, based on the one or more criteria (such as a change in the one or more criteria or an additional user request or input), whether to switch from outputting the processed second image stream for preview to simultaneously outputting the processed first and second image streams for preview (1012). For example, the device 200 determines whether the display 216 should switch from presenting a preview from preview 904 indicating the portion of the scene being recorded to simultaneous preview 902 in FIG. 9A (913). If no switch is to occur, the device 200 continues to output the processed second image stream (1008). For example, the display 216 continues to present preview 904 indicating the portion of the scene being or to be recorded (1010). If a switch is to occur (1012), the device 200 switches to simultaneously outputting the processed first and second image streams (1002). In this manner, simultaneous preview 902 can be presented by the display 216. In some alternative implementations, device 200 (such as by using camera controller 212) may output both the processed first image stream and the processed second image stream simultaneously, and display 216 switches from presenting a preview of what is being recorded to presenting simultaneous previews. In some example embodiments, the display 216 may allow the user to interact with the presented preview (such as the user adjusting the size of and / or moving the visual indication displayed on the display 216). In some examples, if the display 216 is a touch-sensitive display, the device 200 may receive an indication from the display 216 that the user has provided a pinch gesture to reduce the size of the visual indication and / or an expand gesture to increase the size of the visual indication. Additionally or alternatively, the user may provide a drag gesture to move the position of the visual indication. In some other examples, the user may provide commands via a physical button (such as a directional button, a zoom or scroll wheel, etc.) of the display 216 or the device 200 or a microphone that receives auditory commands. In some other examples, the device 200 may include or be coupled to a gyroscope and / or accelerometer that receives force commands. FIG11A illustrates an example display 1102 providing a zoomed auxiliary preview, wherein a first visual indication 1104 is resized to a second visual indication 1106 to indicate a larger portion of a scene being or to be recorded. Example display 1102 may be one embodiment of display 216 of device 200 (or coupled to device 200). Scene portion 1108 corresponds to first visual indication 1104, and scene portion 1110 corresponds to second visual indication 1106. In some examples, a user provides an expand gesture for first visual indication 1104 via display 216 to switch from first visual indication 1104 to second visual indication 1106, and thus from scene portion 1108 to scene portion 1110 being or to be recorded. FIG11B illustrates an example display 1112 providing an auxiliary preview, wherein a first visual indication 1114 is moved to a second visual indication 1116 to indicate different portions of a scene being or to be recorded. Example display 1112 may be one embodiment of display 216 of device 200 (or coupled to device 200). Scene portion 1118 corresponds to first visual indication 1114, and scene portion 1120 corresponds to second visual indication 1116. In some examples, a user provides a drag gesture for first visual indication 1114 via display 216 to switch from first visual indication 1114 to second visual indication 1116 (e.g., to move the visual indication) and, thereby, switch from a scene portion to the scene portion 1110 being or to be recorded. FIG12 is a pictorial flow chart depicting example operations 1200 for adjusting a portion of a scene being or to be recorded based on user input for adjusting a visual indication. The example operations 1200 of FIG12 are discussed with respect to FIG11A and FIG11B , but similar procedures or steps in the example operations 1200 of FIG12 can be used to resize an object being or being recorded for other example embodiments. For example, while scaling an auxiliary preview is described, adjusting a visual indication can occur in a simultaneous preview or other previews. Beginning at 1202, display 216 may display a zoom assist preview (or alternatively, a simultaneous preview) that includes a visual indication of a portion of a scene being or to be recorded. While display 216 presents the zoom assist preview, device 200 may receive user input or a request to adjust the visual indication (1204), such as from display 216 providing a user command from user interaction with the display. For example, device 200 may optionally receive a user command to adjust the size of visual indication 1104 in FIG. 11A (1206). Additionally or alternatively, device 200 may optionally receive a user command to move the position of the visual indication (1208). By requesting an adjustment (such as through interaction with display 216) of the visual indication, the user indicates that device 200 will record a different portion of the scene than currently indicated by the visual indication in the zoom assist preview. In response to a user command, device 200 may adjust processing of the second image stream (1210). In adjusting processing of the second image stream (1210), device 200 may optionally adjust the size of the portion of the scene being recorded or to be recorded in the second image stream (1212). For example, when scene portion 1108 (FIG. 11A) is output for recording, if the user changes first visual indication 1104 to second visual indication 1106, device 200 adjusts processing of the second image stream so that scene portion 1110 is output for recording. Additionally or alternatively, device 200 may optionally change the spatial position of the portion of the scene being recorded or to be recorded (1214). For example, when scene portion 1118 (FIG. 11B) is output for recording, if the user moves visual indication 1114 to the position of visual indication 1116 in preview 1112, device 200 adjusts processing of the second image stream so that scene portion 1120 is output for recording. In some example implementations, before applying one or more filters to the captured second image stream, the device 200 may adjust what portion of the scene the second camera 204 captures for recording, or send commands to the second camera 204 to adjust what is being captured. In one example, the camera controller 212 may send commands to the second camera 204 to change the optical zoom level of the second camera 204. In another example, the camera controller 212 may send commands to the second camera 204 to adjust the pan and / or tilt of the second camera 204 (such as for a security camera). In some other example embodiments, the device 200 may crop the captured second image stream from the second camera 204 (or the processed second image stream after applying one or more filters). In this way, the device 200 may adjust the cropping of the second image stream so that only a portion of the scene associated with the adjusted visual indication is output for recording. For example, the second camera 204 may capture more of the scene than is being recorded (e.g., digital zoom may be used in the second image stream to show what will or is being recorded). If the device 200 is to record a different portion of the scene currently being recorded in the second image stream, the second camera 204 may capture the same scene, and the device 200 (such as the camera controller 212) may adjust the portion of the second image stream being recorded without adjusting the second camera 204. Referring back to FIG12 , device 200 may adjust generation of the displayed visual indication in response to adjusting processing of the second image stream and / or in response to user input to adjust the visual indication (1216). In some example embodiments, device 200 may optionally adjust the size of the visual indication to be displayed in the preview (1218). Additionally or alternatively, device 200 may optionally move the visual indication to a new location to be displayed in the preview (1220). In addition to or in lieu of a user request to change the size and / or position of the visual indication (such as by a user gesture on the touch-sensitive display 216 or other user input), the device 200 may also automatically adjust the size and / or position of the generated visual indication (and therefore the portion of the scene being or to be recorded) in response to one or more criteria. In one example, if the device 200 is tracking an object for recording (such as a face, a person, a soccer ball, etc.) and the camera cannot focus on the object (such as the object is blurred in the recording), the device 200 may record more of the scene including the object (increasing the size of the visual indication and thereby "zooming out" from the object) in order to adjust the focus so that the object is clear in the recording. For example, the device 200 may send a command to the camera to optically zoom out so that more of the scene is captured. In another example, if the brightness of the scene is reduced, the device 200 may command the camera to capture more of the scene for recording (which increases the size of the visual indication) in an attempt to capture more ambient light. In another example, if the device 200 is tracking a moving object, the device adjusts the portion of the scene being or to be recorded (thus adjusting the position of the visual indication in the preview) in an attempt to track the object. In some example embodiments, the second camera 204 does not capture as much of the scene as the first camera 202, or the second camera 204 captures a different portion of the scene than the first camera 202. For example, some dual-camera systems have a first camera with a wide field of view and a second camera with a narrower field of view (such as a telephoto camera). In this manner, the second camera may not capture the entire scene in the first image stream. If a user of the device 200 attempts to adjust the visual indication in the zoom-assisted preview (such as by moving or resizing the visual indication via the display 216) to an area of ​​the scene not captured by the second camera 204, the device 200 may automatically switch to using the first image stream (provided from the first camera 202) to record the new portion of the scene. The switch from using the second image stream to the first image stream for recording may be seamless and invisible to the user. For example, the camera controller 212 may seamlessly switch from outputting at least a portion of the processed second image stream for recording to outputting at least a portion of the processed first image stream for recording. Alternatively, the device 200 may notify the user (such as an audible or visual notification) that the stream being recorded has changed. In some other example embodiments, two image streams may be recorded, and the device 200 may stitch portions of the two image streams together to produce a processed image stream corresponding to the portion of the scene indicated by the visual indication. FIG13A illustrates an example scene 1302 captured by first camera 202 and an example portion 1304 of the scene captured or capable of being captured by second camera 204. As shown, portion 1304 of the scene captured by second camera 204 is smaller than portion 1302 captured by first camera 202. In the illustrated example, portion 1306 of the scene may initially be recorded or pending. If the portion of the scene to be recorded is adjusted to portion 1308, second camera 204 may not be able to capture the portion of the scene for recording. For example, a user may gesture on display 216 to adjust the visual indication in the zoom-assisted preview to change from recording portion 1306 of the scene to recording portion 1308 of the scene, which is not fully captured by second camera 204. Device 200 may switch from using the second image stream for recording to using the first image stream for recording so that the entire intended portion of the scene is recorded. FIG13B illustrates the example scene 1302 of FIG13A captured by the first camera 202 and a portion 1308 of the scene being or to be recorded, wherein the first image stream (provided from the first camera 202) includes the portion 1308 of the scene being or to be recorded (corresponding to image 1310). In this manner, the second image stream (provided from the second camera 204) may not be used to record the portion 1308 of the scene. FIG14 is a pictorial flow diagram depicting example operations 1400 for switching between a processed first image stream and a processed second image stream for recording a portion of a scene. Beginning at 1402, display 216 may present a preview (such as a zoom-assisted preview or a simultaneous preview) including a visual indication. Using a visual indication indicating the portion of the scene being or to be recorded displayed on display 216, device 200 (such as by using camera controller 212) may output the processed second image stream for recording (1404). Device 200 may then receive a user command to adjust the visual indication (1406). For example, device 200 may receive a user command from display 216 provided by a user through interaction with display 216. In some example embodiments, device 200 may receive a user command to adjust the size of the visual indication (1408). Additionally or alternatively, device 200 may receive a user command to move the position of the visual indication for preview (1410). If the device 200 adjusts the portion of the scene being recorded, the device 200 may adjust the visual indication so that the visual indication corresponds to the adjusted portion of the scene being recorded (1412). In response to the user command, the device 200 may determine whether at least a portion of the scene for recording is outside the field of view in the second image stream (1414). For example, the device 200 determines whether the portion of the scene captured by the second camera 204 (Figure 13A) does not include the entire scene for recording 1308. If the second image stream includes the entire scene for recording 1308, the device 200 continues to output the processed second image stream for recording (1404). For example, the camera controller 212 adjusts the portion of the second image stream for recording and continues to generate and output the processed second image stream for recording. If the second image stream does not include the entire scene for recording (e.g., the second camera 204 does not capture the entire scene portion 1308 in FIG. 13A ), the device 200 may switch from outputting the processed second image stream for recording to outputting the processed first image stream for recording (1416). For example, the camera controller 212 may switch from outputting a portion of the processed second image stream to outputting a portion of the processed first image stream corresponding to the scene portion 1308 in FIG. 13B . In some alternative embodiments, the camera controller 212 may output both the processed first image stream and the processed second image stream simultaneously. In this manner, the device 200 may determine whether to switch from using the processed second image stream for recording to using the processed first image stream for recording a portion of the scene. In addition to or in lieu of a user request to change the size and / or position of the visual indication (such as through a user gesture or other user input on the display 216), the device 200 can also automatically switch from using the processed second image stream to using the processed first image stream for recording in response to one or more criteria of the scene, the device 200, and / or other components. In some example embodiments, a change in brightness can cause the device 200 to switch image streams for recording. For example, the dual cameras may include a color camera and a black and white camera, where the black and white camera has better fidelity in low-light situations than the color camera. In this way, if the brightness of the scene drops below a threshold, the device 200 can determine to switch from using the image stream of the color camera to using the image stream of the black and white camera for recording. In some other example embodiments, one or more of the cameras (such as the first camera 202 and the second camera 204) may be moved so that the object being tracked may extend beyond the portion of the scene being captured by one of the cameras. For example, if the first camera 202 includes a wide field of view and the second camera 204 is a telephoto camera, global motion in the first image stream and / or the second image stream may cause the object to leave or to leave the field of view of the second camera 204. As a result, the device 200 may switch the image stream from the second camera 204 to the first camera 202 for recording in order to maintain tracking of the object. Similarly, the object being tracked may move (local motion) such that the second image stream may not include the object. The device 200 may switch from using the second image stream (which may be captured by the telephoto camera) to using the first image stream (which may be captured by the wider field of view camera). FIG15 is a pictorial flow diagram depicting example operations 1500 for switching from a processed second image stream to a processed first image stream for recording based on one or more criteria. Beginning at 1502, device 200 may output the processed second image stream for recording. Device 200 may then determine a change in one or more characteristics of the scene (1504). In one example, device 200 may optionally determine a change in brightness or luminance in at least one of the image streams (1506). For example, ambient light intensity may be determined to have fallen below a threshold for the currently processed image stream being recorded. In another example, device 200 may optionally determine global motion in at least one of the image streams (1508). For example, second camera 204 may be moved so that first camera 202 will capture a portion of the scene for recording. In another example, device 200 may optionally determine local motion of an object (1510). For example, an object being tracked by the device 200 may move out of the field of view of the second camera 204 such that the processed first image stream is available for recording. Based on a change in one or more characteristics of the scene, the device 200 switches from outputting the processed second image stream for recording to outputting the processed first image stream for recording (1512). In one example, the camera controller 212 may switch from outputting the processed second image stream for recording to outputting the processed first image stream for recording, wherein a portion of the processed first and / or second image streams may be stored for later use. In another example, the camera controller 212 may output both processed image streams, and the device 200 may determine whether to switch from using the output processed second image stream to using the output processed first image stream for recording. In another example embodiment of device 200 automatically switching between processed image streams for recording, a foreign object may encroach upon a portion of the scene being or to be recorded. For example, while recording a child's soccer game, a person sitting in front of the father may suddenly enter the portion of the scene being or to be recorded (such as by standing up, moving their head, etc.), causing device 200 to not record (or output for recording) the intended portion of the scene. If the object blocks or obstructs a small portion of the scene being recorded, recording using the same image stream can continue with limited interruption. However, if the object blocks or obstructs a large portion of the scene, device 200 may decide to attempt to use a different image stream for recording. In some example embodiments, device 200 may switch to another processed image stream in an attempt to capture the intended portion of the scene (such as if another camera has a different vantage point for the portion of the scene not obstructed by the foreign object or another camera has a wider field of view, allowing it to "zoom out" to capture the scene). For example, the device 200 may determine the percentage of a portion of a scene that is blocked, may determine the distance a foreign object is within from the center of the scene being recorded, and so on. FIG16 is a pictorial flow diagram depicting example operations 1600 for switching from a processed second image stream to a processed first image stream for recording based on an object blocking a portion of a scene being or to be recorded. Beginning at 1602, the device 200 may output a processed second image stream for recording. In one example, the camera controller 212 may output the processed second image stream for recording. In another example, the camera controller 212 may output multiple processed image streams, and the device 200 may use the processed second image stream to record a portion of the scene. Using the processed second image stream currently being used to record a portion of a scene, device 200 may determine if an object has moved to block a portion of the scene being or to be recorded (1604). Device 200 may then determine, based on the object, whether to switch from the processed second image stream to the processed first image stream (1606). In one example, device 200 may determine if the object blocks more than a percentage of the portion of the scene being or to be recorded. In another example, device 200 may determine if the object is within a defined distance from the center of the portion blocking the portion of the scene being or to be recorded. In another example, device 200 may predict, based on the object's movement, whether the object will block a percentage of the portion of the scene being recorded or the center of the portion of the scene being recorded. If device 200 determines not to switch the processed image stream for recording the portion of the scene, device 200 continues to output the processed second image stream for recording the portion of the scene (1602). If the device 200 determines to switch the processed image stream for recording a portion of the scene, the device 200 switches to outputting the processed first image stream for recording a portion of the scene ( 1608 ). Alternatively, if the camera controller 212 outputs both a processed first image stream and a processed second image stream, the device 200 may switch from using the processed second image stream to using the processed first image stream for recording a portion of the scene. In some example embodiments, the device 200 may continue to track an obstructing object. If the obstructing object vacates a portion of the scene being or to be recorded, the device 200 may decide to switch to a processed image stream for recording. Alternatively, the device 200 may continue to use the current processed image stream for recording until another criterion causes the device to decide to switch to a processed image stream for recording. Unless specifically described as being implemented in a particular manner, the techniques described herein can be implemented in hardware, software, firmware, or any combination thereof. Any features described as modules or components can also be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be implemented at least in part by a non-transitory processor-readable storage medium (such as memory 208 in the example device 200 of FIG. 2 ) containing instructions 210 that, when executed by processor 206 (or image signal processor 214 ), cause device 200 to perform one or more of the methods described above. The non-transitory processor-readable storage medium may form part of a computer program product, which may include packaging materials. Non-transitory processor-readable storage media may include random access memory (RAM) (such as synchronous dynamic random access memory (SDRAM)), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, other known storage media, and the like. Additionally or alternatively, these techniques may be implemented at least in part by processor-readable communication media that carries or communicates code in the form of instructions or data structures that can be accessed, read, and / or executed by a computer or other processor. The various illustrative logic blocks, modules, circuits, and instructions described in connection with the embodiments disclosed herein may be executed by one or more processors, such as processor 206 or image signal processor 214 in the example device 200 of Figures 2A and 2B. Such processor(s) may include, but are not limited to, one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), application-specific instruction set processors (ASIPs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuits. As used herein, the term "processor" may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described herein may be provided within a dedicated software module or a hardware module configured as described herein. Furthermore, the techniques may be fully implemented in one or more circuits or logic elements. The general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration). While the present invention presents illustrative aspects, it should be noted that various changes and modifications may be made herein without departing from the scope of the appended claims. The functions, steps, or actions of the method claims consistent with the aspects described herein need not be performed in any particular order unless expressly stated otherwise. For example, the steps of the example operations illustrated in Figures 6, 8, 10, 12, and 14-16 (if performed by a device, camera controller, processor, or image signal processor) may be performed in any order and at any frequency (such as for each image capture, at periodic intervals between image captures in a processed image stream, at predefined time intervals, upon receiving a user gesture, etc.). Furthermore, although elements may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated. For example, although two processed image streams are described, one processed image stream or three or more processed image streams may be used to perform aspects of the present invention. Accordingly, the present invention is not limited to the examples shown, and any means for performing the functionality described herein is included within aspects of the present invention. 100: Example device 102: First camera 104: Second camera 110: Example device 112: First camera 114: Second camera 200: Example device 202: First camera 204: Second camera 206: Processor 208: Memory 210: Instructions 212: Camera controller 214: Image signal processor 216: Display 218: Input / output (I / O) components 220: Power supply 300: Image signal processor 302A: Filter 302B: Filter 302N: Filter 304A: Filter 304B: Filter 304N: Filter 402: Example scene 404: Portion of scene 406: Expected Portion of Scene 502: Display 504: Visual Indication 506: Scene 508: Spatial Portion of Scene 600: Example Operation 602: Step 604: Step 606: Step 608: Step 610: Step 612: Step 614: Step 616: Step 702: Zoom Assisted Preview 704: Preview 706: Example Toggle Operation 708: Zoom Assisted Button 710: Visual Indication 800: Example Operation 802: Step 804: Step 806: Step 808: Step 810: Step 812: Step 902: Display / Simultaneous Preview 904: Zoom Assisted Preview 906: Scene Being Recorded 9 08: visual indication 910: button 912: example operation 913: switch 914A: switch operation 914B: switch operation 914C: switch operation 1000: example operation 1002: step 1004: step 1006: step 1008: step 1010: step 1012: step 1102: example display 1104: first visual indication 1106: second visual indication 1108: scene portion 1110: scene portion 1112: example display 1114: first visual indication 1116: second visual indication 1118: scene portion 1120: scene portion 1200: example operation 1202: step Step 1204: Step 1206: Step 1208: Step 1210: Step 1212: Step 1214: Step 1216: Step 1218: Step 1220: Step 1302: Scene 1304: Scene portion 1306: Scene portion 1308: Scene portion 1310: Image 1400: Example operation 1402: Step 1404: Step 1406: Step 1408: Step 1410: Step 1412: Step 1414: Step 1416: Step 1500: Example operation 1502: Step 1504: Step 1506: Step 1508: Step 1510: Step 1512: Step1600: Example operation 1602: Step 1604: Step 1606: Step 1608: Step By way of example, and not by way of limitation, aspects of the invention are illustrated in the figures of the accompanying drawings in which like reference numerals refer to similar elements. FIG. 1A depicts an example device including multiple cameras. FIG. 1B depicts another example device including multiple cameras. FIG. 2A is a block diagram of an example device for image processing. FIG. 2B is another block diagram of an example device for image processing. FIG3 is a block diagram of an example image signal processor. FIG. 4A shows an example scene captured by a camera. 4B illustrates the example scene of FIG. 4A , an anticipated portion of the scene of FIG. 4A to be recorded, and an actual portion of the scene of FIG. 4A being recorded. 5A illustrates an example display previewing the scene of FIG. 4A being captured and visual indications of portions of the scene of FIG. 4A being recorded or to be recorded. 5B illustrates an example of a first camera capturing the scene of FIG. 4A and a second camera capturing a portion of the scene of FIG. 4A that is being or is to be recorded. 6 is an illustrative flow diagram depicting example operations for outputting a visual indication. 7 illustrates an example of a display switching between a preview of the scene of FIG. 4A being captured and a portion of the scene of FIG. 4A being or to be recorded. 8 is an illustrative flow diagram depicting example operations for switching between a scene being captured and a portion of a scene being or to be recorded. 9A illustrates an example display that simultaneously previews the scene of FIG. 4A being captured and the portion of the scene of FIG. 4A being or to be recorded. 9B illustrates an example of a display switching between a preview of the portion of the scene of FIG. 4A being recorded or to be recorded and a simultaneous preview of the scene of FIG. 4A being captured and the portion of the scene of FIG. 4A being recorded or to be recorded. 9C illustrates an example of a display switching between a zoom-assisted preview of the scene of FIG. 4A , a preview of the portion of the scene of FIG. 4A being or to be recorded, and a simultaneous preview of the scene of FIG. 4A . 10 is an illustrative flow diagram depicting example operations for switching between simultaneous previews of scenes and previews of scenes being or to be recorded. 11A illustrates an example display previewing the scene of FIG. 4A being captured and resizing a visual indication that the scene of FIG. 4A is being or is to be recorded. 11B illustrates an example display previewing the scene of FIG. 4A being captured and a visual indication that movement of the scene of FIG. 4A is being or is to be recorded. 12 is an illustrative flow diagram depicting example operations for adjusting the portion of the scene of FIG. 4A being or to be recorded based on a visual indication by a user to adjust the portion of the scene of FIG. 4A being or to be recorded. 13A illustrates an example scene captured by a first camera and an example portion of a scene captured or capable of being captured by a second camera. FIG. 13B illustrates the example scene in FIG. 13A and a portion of the scene in FIG. 13A that is being or is to be recorded. 14 is an illustrative flow diagram depicting example operations for switching between a first image stream and a second image stream. 15 is an illustrative flow diagram depicting example operations for switching from a processed second image stream to a processed first image stream. 16 is an illustrative flow diagram depicting another example operation for switching from a processed second image stream to a processed first image stream. 600: Instance operation 602: Step 604: Steps 606: Steps 608: Steps 610: Steps 612: Steps 614: Steps 616: Steps

Claims

1. An apparatus for controlling a plurality of camera systems, the apparatus being configured to process and display image data, the apparatus comprising: a memory configured to store the image data; at least one processor in communication with the memory, the at least one processor being configured to: receive a first image stream from a first camera, the first image stream having a first field of view (FOV) of a scene; receive a second image stream from a second camera, the second image stream having a second FOV of the scene, the second FOV of the scene being different from the first FOV of the scene; record the second image stream; predict an occlusion of a portion of the second FOV of the scene; and switch to recording the first image stream based on the occlusion of the portion of the second FOV of the scene.

2. The apparatus of claim 1, wherein the obstruction is an object, and wherein to predict the obstruction of the portion of the second FOV of the scene, the at least one processor is further configured to: predict a movement of the object.

3. The device of claim 2, wherein the at least one processor is further configured to: predict a percentage of the second FOV of the scene that is blocked based on the movement of the object; and predict the blockage of the portion of the second FOV of the scene based on the percentage of the second FOV of the scene that is blocked.

4. The device of claim 2, wherein the at least one processor is further configured to: predict that a center of the second FOV of the scene is occluded based on the predicted movement of the object; and predict the occlusion of the portion of the second FOV of the scene based on the occlusion of the center of the second FOV of the scene.

5. The device of claim 1, wherein the at least one processor is further configured to: switch to recording the second image stream based on the portion of the second FOV of the scene being no longer obstructed.

6. The apparatus of claim 1, wherein the obstruction is an object, and wherein the at least one processor is further configured to: track the object that is obstructing the portion of the second FOV of the scene; and determine, based on the tracking, that the portion of the second FOV of the scene is no longer obstructed.

7. The device of claim 1, wherein the second FOV is a portion of the first FOV.

8. The device of claim 1, further comprising: the first camera; the second camera; and a display configured to display the first image stream, the second image stream, or the first image stream and the second image stream simultaneously.

9. The apparatus of claim 8, wherein the apparatus is a wireless communication device.

10. The device of claim 8, wherein the device is a virtual reality headset.

11. The device of claim 8, wherein the device comprises a first device and a second device, wherein the second device is separate from the first device, and wherein the first device includes the memory, the at least one processor, and the display, and wherein the second device includes the first camera and the second camera.

12. The apparatus of claim 11, wherein the first device is a wireless communication device, and the at least one second device is a drone.

13. The apparatus of claim 11, wherein the first device is a wireless communication device and the at least one second device is a security camera.

14. A method for controlling a multi-camera system, the method comprising: receiving a first image stream from a first camera, the first image stream having a first field of view (FOV) of a scene; receiving a second image stream from a second camera, the second image stream having a second FOV of the scene, the second FOV of the scene being different from the first FOV of the scene; recording the second image stream; predicting an occlusion of a portion of the second FOV of the scene; and switching to recording the first image stream based on the occlusion of the portion of the second FOV of the scene.

15. The method of claim 14, wherein the occlusion is an object, and wherein predicting the occlusion of the portion of the second FOV of the scene comprises: predicting a movement of the object.

16. The method of claim 15, further comprising: predicting a percentage of the second FOV of the scene that is occluded based on the movement of the object; and predicting the occlusion of the portion of the second FOV of the scene based on the percentage of the second FOV of the scene that is occluded.

17. The method of claim 15, further comprising: predicting, based on the predicted movement of the object, that a center of the second FOV of the scene is occluded; and predicting the occlusion of the portion of the second FOV of the scene based on the center of the second FOV of the scene being occluded.

18. The method of claim 14, further comprising: The recording of the second image stream is switched based on the portion of the second FOV of the scene no longer being blocked.

19. The method of claim 14, wherein the barrier is an object, the method further comprising: tracking the object that is blocking the portion of the second FOV of the scene; and determining, based on the tracking, that the portion of the second FOV of the scene is no longer blocked.

20. The method of claim 14, wherein the second FOV is a portion of the first FOV.

21. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause a processor to: receive a first image stream from a first camera, the first image stream having a first field of view (FOV) of a scene; receive a second image stream from a second camera, the second image stream having a second FOV of the scene, the second FOV of the scene being different from the first FOV of the scene; record the second image stream; predict an occlusion of a portion of the second FOV of the scene; and switch to recording the first image stream based on the occlusion of the portion of the second FOV of the scene.

22. The non-transitory computer-readable storage medium of claim 21, wherein the obstruction is an object, and wherein to predict the obstruction of the portion of the second FOV of the scene, the instructions further cause the processor to: predict a movement of the object.

23. The non-transitory computer-readable storage medium of claim 22, wherein the instructions further cause the processor to: predict a percentage of the second FOV of the scene that is blocked based on the movement of the object; and predict the blockage of the portion of the second FOV of the scene based on the percentage of the second FOV of the scene that is blocked.

24. The non-transitory computer-readable storage medium of claim 22, wherein the instructions further cause the processor to perform the following operations: predicting that a center of the second FOV of the scene is occluded based on the predicted movement of the object; and predicting the occlusion of the portion of the second FOV of the scene based on the occlusion of the center of the second FOV of the scene.

25. The non-transitory computer-readable storage medium of claim 21, wherein the instructions further cause the processor to perform the following operations: switch to recording the second image stream based on the portion of the second FOV of the scene being no longer obstructed.

26. The non-transitory computer-readable storage medium of claim 21, wherein the instructions further cause the processor to perform the following operations: track the object that is blocking the portion of the second FOV of the scene; and determine that the portion of the second FOV of the scene is no longer blocked based on the tracking.

27. The non-transitory computer-readable storage medium of claim 21, wherein the second FOV is a portion of the first FOV.