System and method for stabilizing video

文档序号:690433 发布日期:2021-04-30 浏览:9次 中文

阅读说明:本技术 用于稳定视频的系统和方法 (System and method for stabilizing video ) 是由 塞萨尔·杜阿迪 托马斯·德尔巴纳 马克西姆·卡尔普辛 于 2019-08-27 设计创作,主要内容包括:视觉内容由图像捕获设备在捕获持续时间期间捕获。图像捕获设备在捕获持续时间期间经历运动。基于图像捕获设备在捕获持续时间期间的角加速度来确定图像捕获设备的运动的有意性。基于图像捕获设备的运动的有意性来确定视觉内容的截取部。视觉内容的截取部用于生成稳定的视觉内容。(Visual content is captured by an image capture device during a capture duration. The image capture device experiences motion during the capture duration. The intent of the motion of the image capture device is determined based on the angular acceleration of the image capture device during the capture duration. The portion of the visual content is determined based on the intent of the motion of the image capture device. The interception part of the visual content is used for generating stable visual content.)

1. An image capture device to stabilize video, the image capture device comprising:

a housing;

an optical element carried by the housing and configured to direct light within a field of view to an image sensor;

the image sensor is carried by the housing and is configured to generate a visual output signal conveying visual information based on light incident on the image sensor during a capture duration, the visual information defining visual content having the field of view;

an angular acceleration sensor carried by the housing and configured to generate an angular acceleration output signal based on an angular acceleration of the housing during the capture duration, the angular acceleration output signal conveying angular acceleration information characterizing the angular acceleration of the housing at different times within the capture duration; and

one or more physical processors configured by machine-readable instructions to:

determining, based on the angular acceleration information, an intent of a motion of the housing as a function of progress over the capture duration;

determining a viewing window for the visual content from a progression over the capture duration based on an intent of the movement of the housing, the viewing window defining one or more ranges of the visual content; and

based on the viewing window, generating stabilized visual content of a video, the stabilized visual content including snippets of one or more ranges of the visual content within the viewing window.

2. The image capture device of claim 1, further comprising a display carried by the housing, wherein the stabilized visual content is presented on the display as a preview of the video.

3. The image capture device of claim 2, wherein the stable visual content is different from the visual content of the video.

4. The image capture device of claim 1, wherein the intent of the movement of the housing is determined to be one or more of entirely intended, entirely unintended, and/or moderately intended.

5. The image capture device of claim 4, wherein determining the intent of the movement of the housing as being of medium intent comprises determining an intent value between a full intent value and a full intent value.

6. The image capture device of claim 4, wherein the intent of the movement of the housing is determined to be fully intended based on the angular acceleration of the housing being less than a fully intended angular acceleration threshold, and the intent of the movement of the housing is determined to be fully unintended based on the angular acceleration of the housing being greater than a fully unintended angular acceleration threshold, the fully intended angular acceleration threshold being less than the fully unintended angular acceleration threshold.

7. The image capture device of claim 4, wherein the viewing window of the visual content is determined from progress over the capture duration based on the intent of the movement of the housing such that the viewing window of the visual content is centered at the center of the field of view for a partial capture duration in which the intent of the movement of the housing is determined to be completely intended and the viewing window of the visual content is offset from the center of the field of view for a partial capture duration in which the intent of the movement of the housing is determined to be completely unintended.

8. The image capture device of claim 7, wherein the placement of the viewing window of the visual content relative to the field of view of the visual content is determined based on a center parameter that moves the viewing window toward the center of the field of view, wherein the effect of the center parameter on the placement of the viewing window is determined based on the intent of the motion of the housing.

9. The image capture device of claim 7, wherein the placement of the viewing window of the visual content relative to the field of view of the visual content is determined based on an inertial parameter that maintains a portion of the speed of movement of the viewing window, wherein the effect of the inertial parameter on the placement of the viewing window is determined based on the intent of the motion of the housing.

10. The image capture device of claim 7, wherein the placement of the viewing window of the visual content relative to the field of view of the visual content is determined based on a deviation parameter that limits the deviation of the viewing window relative to the center of the field of view.

11. A method for stabilizing video, the method performed by an image capture device comprising one or more processors, an optical element, an image sensor, and an angular acceleration sensor, the optical element configured to direct light within a field of view to the image sensor, the method comprising:

generating, by the image sensor, a visual output signal conveying visual information based on light incident on the image sensor during a capture duration, the visual information defining visual content having the field of view;

generating, by the angular acceleration sensor, an angular acceleration output signal conveying angular acceleration information characterizing angular acceleration of the image capture device at different times within the capture duration based on angular acceleration of the image capture device during the capture duration;

determining, by the one or more processors, a significance of a motion of the image capture device based on the angular acceleration information according to a progression over the capture duration;

determining, by the one or more processors, a viewing window for the visual content based on the intent of the motion of the image capture device as a function of progress over the capture duration, the viewing window defining one or more ranges of the visual content; and

generating, by the one or more processors, stabilized visual content of a video based on the viewing window, the stabilized visual content comprising a cut-out of one or more ranges of the visual content within the viewing window.

12. The method of claim 11, wherein the image capture device further comprises a display and the stabilized visual content is presented on the display as a preview of the video.

13. The method of claim 12, wherein the stable visual content is different from the visual content of the video.

14. The method of claim 11, wherein the intent of the motion of the image capture device is determined to be one or more of entirely intended, entirely unintended, and/or moderately intended.

15. A method as defined in claim 14, wherein determining the intent of the motion of the image capture device as medium intent comprises determining an intent value between a full intent value and a full intent value.

16. A method as defined in claim 14, wherein the intent of the motion of the image capture device is determined to be fully intended based on the angular acceleration of the image capture device being less than a fully intended angular acceleration threshold, and the intent of the motion of the image capture device is determined to be fully unintended based on the angular acceleration of the image capture device being greater than a fully unintended angular acceleration threshold, the fully intended angular acceleration threshold being less than the fully unintended angular acceleration threshold.

17. A method as defined in claim 14, wherein the viewing window of the visual content is determined from the progression over the capture duration based on the intention of the motion of the image capture device such that the viewing window of the visual content is centered about the center of the field of view for a partial capture duration in which the intention of the motion of the image capture device is determined to be completely intentional and the viewing window of the visual content is offset from the center of the field of view for a partial capture duration in which the intention of the motion of the image capture device is determined to be completely unintentional.

18. The method of claim 17, wherein the placement of the viewing window of the visual content relative to the field of view of the visual content is determined based on a center parameter that moves the viewing window toward the center of the field of view, wherein the effect of the center parameter on the placement of the viewing window is determined based on the significance of the motion of the image capture device.

19. The method of claim 17, wherein the placement of the viewing window of the visual content relative to the field of view of the visual content is determined based on an inertial parameter that maintains a portion of the speed of movement of the viewing window, wherein the effect of the inertial parameter on the placement of the viewing window is determined based on the significance of the motion of the image capture device.

20. The method of claim 17, wherein the placement of the viewing window of the visual content relative to the field of view of the visual content is determined based on a deviation parameter that limits the deviation of the viewing window relative to the center of the field of view.

Technical Field

The invention relates to stabilizing video using motion of an image capture device during a capture duration.

Background

Video may already be captured by an image capture device in motion. Motion of the image capture device during video capture may cause the video to appear jerky/sloshing.

Disclosure of Invention

The invention relates to stabilizing video. Visual content having a field of view may be captured by an image capture device during a capture duration. Visual information defining visual content, angular acceleration information characterizing angular acceleration of the image capture device at different times during the capture duration, and/or other information may be obtained. Based on the angular acceleration information and/or other information, the intent of the motion of the image capture device may be determined from the progress over the capture duration. Based on the intent of the motion of the image capture device and/or other information, a viewing window for the visual content may be determined from the progress over the capture duration. The viewing window may define one or more ranges of visual content. The stabilized visual content of the video may be generated based on the viewing window and/or other information. The stabilized visual content may include a truncation (punchout) of one or more ranges of the visual content within the viewing window.

A system to stabilize video may include one or more electronic memories, one or more processors, and/or other components. The electronic storage may store visual information defining visual content, information related to the visual content, angular acceleration information characterizing angular acceleration of the image capture device, information related to an intention of a motion of the image capture device, information related to a field of view of the optical element, information related to a viewing window, information related to stable visual content, information related to a cut-out of the visual content, and/or other information. In some implementations, the system may include one or more optical elements, one or more image sensors, one or more angular acceleration sensors, and/or other components. In some implementations, the system can include one or more displays. The stabilized visual content may be presented on the display as a preview of the video.

One or more components of the system may be carried by a housing (e.g., a housing of an image capture device). For example, one or more optical elements of the system, one or more image sensors, and/or one or more angular acceleration sensors may be carried by a housing of the image capture device. The housing may carry other components, such as one or more processors, electronic memory, and/or one or more displays.

The optical element may be configured to direct light within the field of view to the image sensor. The field of view may be larger than the size of the intercepting/viewing window used to generate the stable visual content. The image sensor may be configured to generate a visual output signal based on light incident on the image sensor during the capture duration. The visual output signal may convey visual information defining a visual content having a field of view.

The angular acceleration sensor may be configured to generate an angular acceleration output signal based on an angular acceleration of the housing during the capture duration. The angular acceleration output signal may convey angular acceleration information indicative of angular acceleration of the housing at different times within the capture duration. In some implementations, the angular acceleration sensor may include one or more of a gyroscope, an accelerometer, and/or an inertial measurement unit. The angular acceleration information may be determined independently of the visual information.

The processor(s) may be configured by machine-readable instructions. Execution of the machine-readable instructions may cause the processor(s) to facilitate stabilizing the video. Machine-readable instructions may comprise one or more computer program components. The computer program components may include one or more of a deliberate component, a viewing window component, a generating component, and/or other computer program components.

The intent component may be configured to determine the intent of the movement of the housing based on the angular acceleration information and/or other information. The intent of the movement of the housing may be determined from the progress over the capture duration.

In some embodiments, the intent of the movement of the housing may be determined as one or more of completely intended, completely unintended, moderately intended, and/or other categories of intent.

In some embodiments, the intent of the movement of the housing may be determined to be fully intended based on the angular acceleration of the housing being less than a fully intended angular acceleration threshold and/or other information. The intent of the movement of the housing may be determined to be completely unintentional based on the angular acceleration of the housing being greater than a completely unintentional angular acceleration threshold and/or other information. The fully intentional angular acceleration threshold may be less than the fully unintentional angular acceleration threshold.

In some embodiments, determining the intent of the movement of the housing as being of intermediate intent may include determining an intent value between a fully intended value and a fully unintended value.

The viewing window component may be configured to determine a viewing window for the visual content based on the intent of the movement of the housing and/or other information. The viewing window may be determined based on the progress over the capture duration. The viewing window may define one or more ranges of visual content.

In some implementations, the viewing window of the visual content may be determined from the progression over the capture duration based on the intent of the movement of the housing such that the viewing window of the visual content is centered about the center of the field of view for one or more partial capture durations in which the intent of the movement of the housing is determined to be fully intended. The viewing window of the visual content is offset from the center of the field of view during one or more partial capture durations in which the intent of the movement of the housing is determined to be completely unintentional.

In some implementations, the placement of the viewing window of the visual content relative to the field of view of the visual content can be determined based on the center parameter and/or other information. The center parameter may move the viewing window towards the center of the field of view. The effect of the centering parameters on the placement of the viewing window may be determined based on the intent of the movement of the housing and/or other information.

In some implementations, the placement of the viewing window of the visual content relative to the field of view of the visual content may be determined based on inertial parameters and/or other information. The inertial parameters may maintain one or more portions of the speed of movement of the viewing window. The effect of the inertial parameters on the placement of the viewing window may be determined based on the intent of the movement of the housing and/or other information.

In some implementations, the placement of the viewing window of the visual content relative to the field of view of the visual content can be determined based on the deviation parameter and/or other information. The deviation parameter may limit the deviation of the viewing window from the center of the field of view and/or other information.

The generation component may be configured to generate stable visual content of the video based on the viewing window and/or other information. The stabilized visual content may include a truncation of one or more ranges of visual content within the viewing window. In some implementations, the stable visual content may be different from the visual content of the video.

These and other objects, features, and characteristics of the systems and/or methods disclosed herein, as well as the methods of operation and functions of the related elements of structure, and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. As used in the specification and in the claims, the singular form of "a," "an," and "the" include plural referents unless the context clearly dictates otherwise.

Drawings

Fig. 1 illustrates an exemplary system for stabilizing video.

Fig. 2 illustrates an exemplary method for stabilizing video.

Fig. 3 illustrates an exemplary image capture device.

Fig. 4 shows an exemplary curve of angular acceleration and steady state.

Fig. 5 illustrates an exemplary orientation of a viewing window relative to an image.

Fig. 6A-6B illustrate exemplary orientations of viewing windows relative to an image.

Fig. 7A illustrates exemplary horizontal and vertical deviation limits from the center of the image.

Fig. 7B illustrates an exemplary rotational deviation limit about an axis.

Detailed Description

Fig. 1 shows a system 10 for stabilizing video. System 10 may include one or more of a processor 11, an interface 12 (e.g., a bus, a wireless interface), electronic memory 13, and/or other components. In some implementations, the system may include one or more optical elements, one or more image sensors, one or more angular acceleration sensors, one or more displays, and/or other components. Visual content having a field of view may be captured by an image capture device during a capture duration. Visual information defining the visual content, angular acceleration information characterizing the angular acceleration of the image capture device at different times within the capture duration, and/or other information may be obtained by the processor 11. Based on the angular acceleration information and/or other information, the intent of the motion of the image capture device in accordance with the progression over the capture duration may be determined. Based on the intent of the motion of the image capture device and/or other information, a viewing window of the visual content according to the progress over the capture duration may be determined. The viewing window may define one or more ranges of visual content. The stabilized visual content of the video may be generated based on the viewing window and/or other information. The stabilized visual content may include a truncation of one or more ranges of visual content within the viewing window. In some implementations, the stabilized visual content can be presented as a preview of the video on one or more displays.

Electronic storage 13 may be configured to include electronic storage media that electronically stores information. Electronic storage 13 may store software algorithms, information determined by processor 11, information received remotely, and/or other information that enables system 10 to function properly. For example, the electronic storage 13 may store visual information defining visual content, information related to visual content, angular acceleration information characterizing angular acceleration of the image capture device, information related to the significance of motion of the image capture device, information related to the field of view of the optical element, information related to a viewing window, information related to stable visual content, information related to interception of visual content, and/or other information.

Processor 11 may be configured to provide information processing capabilities in system 10. Thus, processor 11 may include one or more of a digital processor, an analog processor, a digital circuit designed to process information, a central processing unit, a graphics processing unit, a microcontroller, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information. The processor 11 may be configured to execute one or more machine readable instructions 100 to facilitate stabilizing video. The machine-readable instructions 100 may include one or more computer program components. The machine-readable instructions 100 may include one or more of a conscious component 102, a viewing window component 104, a generation component 106, and/or other computer program components.

An image having a field of view may be captured by an image capture device during a capture duration. The field of view of the image may define a field of view of a scene captured within the image. The acquisition duration may be measured and/or defined in terms of duration and/or number of frames. For example, images may be captured during a capture duration of 60 seconds and/or from one point in time to another point in time. As another example, 1800 images may be captured for a capture duration. If the images are captured at 30 images/second, the capture duration may correspond to 60 seconds. Other capture durations are contemplated.

The system 10 may be remote from the image capture device or local to the image capture device. One or more portions of the image capture device may be remote from the system 10 or be part of the system 10. One or more portions of system 10 may be remote from or part of the image capture device. For example, one or more components of system 10 may be carried by a housing, such as a housing of an image capture device. For example, one or more image sensors and one or more angular acceleration sensors of system 10 may be carried by a housing of the image capture device. The housing may carry other components, such as the processor 11, one or more optical elements, and/or one or more displays.

An image capture device may refer to a device for recording visual information in the form of images, video, and/or other media. The image capture device may be a standalone device (e.g., a camera) or may be part of another device (e.g., part of a smartphone). Fig. 3 illustrates an exemplary image capture device 302. Image capture device 302 may include a housing 312, and housing 312 may carry (attach, support, retain, and/or otherwise carry) optical element 304, image sensor 306, motion sensor 308, processor 310, and/or other components. In some implementations, image capture device 302 may include one or more displays (e.g., one or more displays carried by housing 312). One or more displays may be used to present visual content (image, video) captured by image capture device 302. One or more displays may be used to present a preview of the visual content captured by the image capture device 302. For example, the image capture device 302 may be used to capture video and one or more displays may be used to present a preview of the video being captured. A preview of the video may be presented during video capture. That is, when image capture device 302 is recording a video, a preview of the video being recorded may be presented on one or more displays. Other configurations of the image capturing device are contemplated.

The optical element 304 may include instrument(s), tool(s), and/or medium that act on light passing through them. For example, the optical element 304 may include one or more of a lens, a mirror, a prism, and/or other optical elements. The optical element 304 may affect the direction, deviation, and/or path of light passing through the optical element 304. The optical element 304 may have a field of view 305. The optical element 304 may be configured to direct light within the field of view 305 to the image sensor 306. The field of view 305 may include the field of view of the scene within the field of view of the optical element 304 and/or the field of view of the scene transmitted to the image sensor 306. For example, optical element 304 may direct light within its field of view to image sensor 306, or may direct light within a portion of its field of view to image sensor 306. The field of view 305 of the optical element 304 may refer to the range of the observable world seen through the optical element 304. The field of view 305 of the optical element 304 may include one or more angles (e.g., vertical, horizontal, diagonal) at which light is received by the optical element 304 and passed to the image sensor 306. In some embodiments, the field of view 305 may be greater than or equal to 180 degrees. In some implementations, the field of view 305 may be less than or equal to 180 degrees.

The field of view 305 may be larger than the size of the intercepting/viewing window used to generate the stabilized visual content. Portions of the image captured from the light within the field of view 305 may be presented on a display and/or used to generate video. The portion of the image presented on the display/used to generate the video may include a portion of the image within the viewing window. The viewing window may define a range of visual content of the image to be included in the cutout. The viewing window may be determined such that no or less shaking/jerkiness of the visual content within the rendered/generated video occurs. For example, the shape, size, and/or location of the viewing window within the image may be determined to compensate for the motion of the image capture device 302 during capture such that the presentation/video appears to be captured from the less moving image capture device 302. The visual content within such a presentation/video may be referred to as stable visual content.

Image sensor 306 may include one or more sensors that convert received light into an output signal. The output signal may comprise an electrical signal. The image sensor 306 may generate an output signal conveying information defining the visual content of one or more video frames of one or more images and/or videos. For example, image sensor 306 may include one or more of a charge coupled device sensor, an active pixel sensor, a complementary metal oxide semiconductor sensor, an N-type metal oxide semiconductor sensor, and/or other image sensors.

The image sensor 306 may be configured to generate visual output signals conveying visual information (defining visual content of an image and/or video) based on light and/or other information incident thereon. For example, the image sensor 306 may be configured to generate a visual output signal based on light incident thereon during the capture duration. The visual output signal may convey visual information defining visual content having a field of view 305.

Motion sensor 308 may include one or more sensors that measure experienced position and/or motion. The motion sensor 308 may convert the experienced position and/or motion into an output signal. The output signal may comprise an electrical signal. Motion sensor 308 may be configured to generate output signals conveying information indicative of the motion and/or position of motion sensor 308 and/or one or more devices (e.g., image capture device 306 and/or housing 312) carrying motion sensor 308. The movement of the image capture device 306 may be the same as the movement of the housing 312. Reference to movement of the housing of the image capture device may refer to movement of the image capture device and vice versa.

The position measured by motion sensor 308 may include a translational position, a rotational position, and/or other aspects of position of image capture device 302. The motion measured by motion sensor 308 may include a motion velocity, a motion acceleration, a motion direction (translational direction and/or angular direction), and/or other aspects of the motion of image capture device 302. For example, motion sensor 308 may refer to a set of angular acceleration sensors (one or more angular acceleration sensors), which may include one or more inertial measurement units, one or more accelerometers, one or more gyroscopes, and/or other angular acceleration sensors. Motion sensor 308 may generate an output signal that conveys information characterizing the motion of motion sensor 308 and/or one or more devices carrying motion sensor 308.

For example, motion sensor 308 may be configured to generate an angular acceleration output signal based on the angular acceleration of housing 312/image capture device 302 during the capture duration. The angular acceleration output signal may convey angular acceleration information that characterizes the angular acceleration of the housing 312/image capture device 302 at different times (points in time, durations) within the capture duration. Other output signals (e.g., translational acceleration output signal, angular position output signal, translational position output signal), other position information (e.g., translational position information, angular position information), and other motion information (e.g., translational acceleration information, angular velocity information, translational velocity information) are contemplated.

The position and/or motion measured by motion sensor 308 may be used to determine the intent of the motion experienced by image capture device 302 during the capture duration. For example, the angular acceleration of image capture device 302 during the capture duration may be used to determine the intent of the motion image capture device 302 experiences during the capture duration. The intent of the motion of image capture device 302 may refer to whether the motion experienced by image capture device 302 is intended by a user of image capture device 302. The position and/or motion measured by the motion sensor 308 may be used to determine whether the user intends to move the image capture device 302 in one or more ways during the capture duration. For example, the angular acceleration of image capture device 302 may be used to determine whether tilting, panning, rotating, and/or other movements of image capture device 302 during the capture duration are expected by the user. It is contemplated that other positions and/or other movements of image capture device 302 may be used to determine the intent of the movement of the image capture device.

The intent of image capture device 302 may be used to stabilize visual content captured by image capture device 302. The visual content may be stabilized by using a cut-out of the visual content. The truncation may include one or more ranges of visual content within a viewing window, one or more aspects of which (e.g., size of the viewing window, shape of the viewing window, location of the viewing window in an image captured by image capture device 302) may be determined based on the intent of image capture device 302.

Position information (e.g., translational position information, angular position information) and/or motion information (e.g., angular acceleration information, translational acceleration information, angular velocity information, translational velocity information) of image capture device 302 may be determined based on signals generated by motion sensor 308 and independent of information/signals generated by image sensor 306. For example, angular acceleration information may be determined without using images/video generated by image sensor 306. Determining angular acceleration/motion of housing 312/image capture device 302 using images/video is computationally expensive in terms of processing power, processing time, and/or battery consumption. It is computationally cheaper to use the information/signals from the motion sensor 308 to determine the angular acceleration/motion of the housing 312/image capture device 302. That is, when determining the angular acceleration/motion of housing 312/image capture device 302 based on information/signals from motion sensor 308, less processing power, processing time, and/or battery consumption may be required than based on information/signals from image sensor 306.

Processor 310 may include one or more processors (logic circuits) that provide information processing capabilities in image capture device 302. Processor 310 may provide one or more computing functions for image capture device 302. Processor 310 may operate/send command signals to one or more components of image capture device 302 to operate image capture device 302. For example, processor 310 may facilitate operation of image capture device 302 in capturing image(s) and/or video(s), operation of optical element 304 (e.g., changing the manner in which light is directed by optical element 304), and/or operation of image sensor 306 (e.g., changing the manner in which received light is converted into information defining an image/video and/or post-processing the image/video after capture).

Processor 310 may obtain information from image sensor 306 and/or motion sensor 308 and/or facilitate transmission of information from image sensor 306 and/or motion sensor 308 to another device/component. Processor 310 may be remote from processor 11 or local to processor 11. One or more portions of the processor 310 may be part of the processor 11 or remote from the processor 11. One or more portions of the processor 10 may be part of the processor 310 or remote from the processor 310. Processor 310 may include and/or perform one or more functions of processor 11 shown in fig. 1.

Referring back to fig. 1, processor 11 (or one or more components of processor 11) may be configured to obtain information to facilitate stabilizing the video. Obtaining information may include one or more of accessing, obtaining, analyzing, determining, examining, identifying, loading, locating, opening, receiving, retrieving, reviewing, storing, and/or otherwise obtaining information. The processor 11 may obtain information from one or more locations. For example, processor 11 may obtain information from a memory location (e.g., electronic storage 13, electronic storage of information and/or signals generated by one or more sensors, electronic storage of a device accessible over a network), and/or other location. The processor 11 may obtain information from one or more hardware components (e.g., image sensors, motion sensors) and/or one or more software components (e.g., software running on a computing device).

For example, the processor 11 (or one or more components of the processor 11) may obtain visual information defining visual content (e.g., visual content of an image/video frame) having a field of view, acceleration information characterizing angular acceleration of the image capture device/housing at different times of the capture duration, and/or other information. The one or more information may be obtained during and/or after the visual content is acquired by the image capture device. For example, visual information, angular acceleration information, and/or other information may be obtained while the visual content is being captured by the image capture device and/or after the visual content has been captured and stored in a memory (e.g., electronic memory 13).

The intent component 102 may be configured to determine the intent of the movement of the image capture device/housing based on the position information, the movement information, and/or other information. The type and/or range of position and/or motion experienced by the image capture device during the capture duration may be used as an indication of whether the motion of the image capture device was intended or unintended. For example, the intent component may be configured to determine the intent of the movement of the image capture device/housing based on angular acceleration information and/or other information. It is contemplated that other position information, other motion information, combinations of multiple types of position information, combinations of multiple types of motion information, and/or combinations of position information and motion information may be used to determine the intent of the motion of the image capture device/housing.

The intent of the motion of the image capture device may refer to whether the motion experienced by the image capture device is intended by a user of the image capture device. For example, the image capture device may have been tilted, panned, rotated, and/or otherwise moved during the capture duration, and the significance of the movement of the image capture device may characterize the degree to which the user intentionally tilted, panned, rotated, and/or otherwise moved the image capture device.

For example, a user may have captured a video using a handheld image capture device. During the capture of video, the user's hands may be inadvertently moved, for example, due to the user's hands shaking, the user being bumped, the user riding in a vehicle that is experiencing vibrations, and/or other unintended movements. Such unintentional movement of the image capture device may cause the video to appear shaky and/or jerky. Eliminating the effects of such unintentional motion from the video may stabilize the visual content of the video.

The user's hand may be intentionally moved during video capture, such as to maintain a moving object within the field of view of the image capture device, to provide a panning view of a scene, and/or other intentional motion. Retaining the effects of such intentional motion within the video may retain content (e.g., objects, activities, effects, stories) that the user wishes to capture within the video.

The stabilized visual content may be generated to provide a smoother view of the captured visual content. The generation of the stable visual content may include providing a truncated view of the captured visual content using a smaller visual portion of the captured visual content (e.g., a smaller visual portion of an image/video frame). The stabilized visual content may provide a more stable view of the captured visual content than when the entire captured visual content is presented (e.g., in a preview, in a video). The intent of the motion of the image capture device can be used to eliminate the effects of unintentional motion (e.g., high frequency motion, shaking, jerkiness) from the stabilized visual content while preserving the effects of intentional motion (e.g., panning left and right, tilting up and down to follow the object, rotating clockwise/counterclockwise to capture a non-horizontal view of the scene) in the stabilized visual content. The intent of the motion of the image capture device may be used to preserve intended motion in the stabilized visual content while mitigating unintended motion in the stabilized visual content.

The intent of the movement of the image capture device/housing may be determined from the progress over the capture duration. That is, the intent of the motion may be determined for different portions of the capture duration. For example, the intention of the motion may be determined for different time points and/or different durations within the capture duration. The intention of the motion may be determined for different image/video frames and/or different groups of image/video frames captured during the capture duration. The intention of the motion may be determined during the capture duration. For example, when an image is captured during a capture duration, the intent of the motion of the captured image may be determined while other images are being captured. The intention of the motion may be determined after the capture duration. For example, the intention of the motion for different parts of the capture duration may be determined after all images have been captured.

In some embodiments, the intent of the movement of the image capture device/housing may be determined to fall within one or more types of intentions. Categories of intent may include levels and/or divisions of intent, with various levels/divisions corresponding to different degrees of intent (e.g., number, level, type). For example, the categories of intentionally may include one or more of fully intentional, fully unintentional, moderately intentional, and/or other categories of intentionally, and the intention of the motion of the image capture device/housing may be determined to be one or more of these categories.

A motion classified as fully intended may include a motion determined by the intentional component 102 to include intentional motion of a user. Motion classified as fully intended may remain within stable visual content. Motion classified as completely unintentional may include motion determined by the intentional component 102 to include unintentional motion of the user. Motion classified as completely involuntary may be attenuated within stable visual content. A motion classified as moderately intentional may include a motion determined by the intentional component 102 to include a partially intentional/partially unintentional motion of a user. Movements classified as moderately involuntary may be attenuated within stable visual content. In stable visual content, motion classified as moderately involuntary is less attenuated than motion classified as completely involuntary.

In some implementations, the intent of the motion of the image capture device/housing may be determined to be fully intended based on one or more motions (e.g., angular accelerations) of the image capture device/housing being less than a fully intended motion threshold (e.g., a fully intended angular acceleration threshold) and/or other information. The intent of the motion of the image capture device/housing may be determined to be completely unintentional based on one or more motions (e.g., angular acceleration) of the image capture device/housing being greater than a completely unintentional motion threshold (e.g., a completely unintentional angular acceleration threshold) and/or other information. The full intended motion threshold may be less than the full unintended motion threshold. For example, a fully intentional angular acceleration threshold may be set at 200 °/s2And a completely unintentional angular acceleration threshold may be set at 2000 deg./s2. Other thresholds are contemplated.

In some implementations, determining the intent of the motion of the image capture device/housing as being of intermediate intent may include determining an intent value between a fully intended value and a fully unintended value. For example, the intention of the motion may be determined as a value of a stabilizer state variable, wherein the value of the stabilizer state variable corresponds to a degree of the intention according to the progress within the capture duration. The value of the stabilizer state variable may be determined for different images and/or sets of images captured during the capture duration and/or at different points in time and/or durations within the capture duration. The value of the stabilizer state variable may be between a completely intentional value (e.g., minimum, maximum) to a completely unintentional value (e.g., maximum, minimum).

For example, fig. 4 shows exemplary curves of angular acceleration 404 and stabilizer state 406. The curve for the stabilizer state 406 may show a value for the stabilizer state 406 that may be between a maximum value (maximum 422, fully intentional) and a minimum value (minimum 424, fully unintentional). A maximum value may indicate that the intent of the motion is entirely intended, while a minimum value may indicate that the intent of the motion is entirely unintended. A value between the maximum and minimum values may indicate that the intention of the motion is moderate.

The value of the stabilizer state 406 may be determined based on the value of the angular acceleration 404 and/or other information. For example, the value of the stabilizer state 406 may be determined to follow the angular acceleration 404. That is, the value of the stabilizer state 406 may increase as the angular acceleration 404 increases and may decrease as the angular acceleration 404 decreases. The value of the stabilizer state 306 may not increase above a maximum value (maximum 422) and may not decrease below a minimum value (minimum 424).

The value of the stabilizer state 406 may change differently based on whether the angular acceleration 404 increases or decreases. For example, a positive change in angular acceleration 404 may be immediately reflected in the value of the stabilizer state 406 (e.g., an increase in acceleration at one time causes the stabilizer state 406 at that time to increase), while a negative change in angular acceleration 404 may be slowly reflected (e.g., a decrease in acceleration at one time causes the stabilizer state 406 at a subsequent time to decrease).

The change in value of the stabilizer state 406 may be limited. For example, the rate of change of the value of the stabilizer state 406 may be limited by increasing the upper rate limit and/or decreasing the upper rate limit. The values of the upper increase rate limit and the upper decrease rate limit may be the same or different. The same or different rates of change may be used to increase and decrease the value of the stabilizer state 406. For example, the change in the value of the stabilizer state 406 may be limited by the upper limit of the rate of decrease, but not by the upper limit of the rate of increase, such that the value of the stabilizer state 406 changes unrestrictedly as the angular acceleration 404 increases, while the value of the stabilizer state 406 changes as the angular acceleration 404 decreases up to the upper limit of the rate of decrease. That is, the fastest rate at which the value of the stabilizer state 406 may decrease may be limited by the upper limit of the decrease rate.

Such determination of the value of the stabilizer state 406 may bias intentional determination toward unintentional. That is, the same rate of positive and negative change of angular acceleration 404 may result in a more rapid intentional determination of movement from full intentional than from full unintentional movement. Such determination of the value of the stabilizer state 406 may allow for an immediate increase in the level of weakening applied in stabilization based on an increase in the angular acceleration 404 (e.g., an immediate increase in the level of weakening of movement based on an unintentional increase in movement), and may limit the speed at which the level of weakening applied in stabilization is reduced based on a decrease in the angular acceleration 404 (e.g., a slow decrease in the level of weakening of movement based on an unintentional decrease in movement). The change in value of the stabilizer state 406 may be flipped to bias the intentional determination toward intentional.

The viewing window component 104 may be configured to determine one or more viewing windows for visual content based on the intent of the movement of the image capture device/housing and/or other information. The viewing window may define one or more ranges of visual content. The viewing window may define one or more ranges of visual content viewable on the one or more displays according to a progression through a progression length of the visual content. The length of progress of the visual content may be the same as or determined based on the duration of capture of the visual content. The viewing window may define one or more ranges of visual content included in a video generated from the visual content. For example, the viewing window may define which spatial portions of the visual content captured by the image capture device are presented on the one or more displays and/or included within the stabilized visual content for the capture duration.

The viewing window may be characterized by a viewing direction, a viewing size (e.g., viewing zoom, viewing magnification), viewing rotation, and/or other information. The viewing direction may define a viewing direction of the visual content. The viewing direction may define an angle/visual portion of the visual content at which the viewing window may be directed. The viewing direction may be defined based on a rotation about an axis defining a lateral motion (e.g., yaw) of the viewing window. The viewing direction may be defined based on rotation about an axis defining vertical motion (e.g., pitch) of the viewing window. The yaw and pitch values of the viewing direction may determine the position of the viewing window within an image/video frame captured by the image capture device.

The viewing size may define the size of the viewing window. The viewing size may define the size (e.g., size, magnification, viewing angle) of the viewable range of the visual content. The viewing size may define the dimensions of the viewing window. In some embodiments, the viewing size may define different shapes of the viewing window/viewable range. For example, the viewing window may be shaped as a rectangle, triangle, circle, and/or other shape. The viewing rotation may define a rotation of the viewing window. The viewing rotation may define one or more rotations of the viewing window about one or more axes. For example, a viewing rotation may be defined based on a rotation (e.g., scrolling) about an axis corresponding to the viewing direction.

The viewing window(s) may be determined based on the progress over the capture duration. That is, one or more of a viewing direction, a viewing rotation, and/or a viewing size may be determined for different portions of the capture duration. For example, different placements of the viewing window may be determined for different portions of the capture duration (determined based on viewing direction, viewing rotation, and/or viewing size). One or more viewing windows may be determined for different points in time and/or different durations within the capture duration. The viewing window(s) may be determined for different images/video frames and/or different groups of images/video frames captured during the capture duration.

The viewing window may be used to provide a cut-out of the visual content. A cut of visual content may refer to an output of one or more portions of the visual content for presentation (e.g., based on a current presentation, a future presentation of a video generated using the cut). The cut-out of the visual content may refer to a range of the visual content obtained for viewing and/or extraction. The range of visual content viewable/extractable within the viewing window may be used to provide a view of different spatial portions of the visual content.

For example, the visual content may include a field of view, and the truncated portion of the visual content may include the entire range of the visual content (visual content within the entire field of view) or one or more ranges of the visual content (visual content in one or more portions of the field of view). The viewing window may define a range of visual content to be included within the cut-out of the visual content according to a progression through the length of progression/capture duration of the visual content. The viewing window may correspond to the entire duration of the progress length/capture duration, or to one or more portions of the progress length/capture duration (e.g., the portion including the moment of interest). The snippets of visual content may be presented on one or more displays, included in one or more videos, and/or otherwise used to present the visual content.

Determining a viewing window for visual content based on the intent of the motion of the image capture device/housing may include determining one or more of a viewing direction, a viewing rotation, and/or a viewing size of the viewing window based on the intent of the motion. The placement of the viewing window (viewing direction, viewing rotation, and/or viewing size) may be determined based on the intent of the motion and/or other information. The viewing window component 104 can be configured to determine how the viewing window should be oriented relative to the field of view of the visual content (image, video frame). For example, the intent of the motion may be used to determine how much the viewing window will move in a lateral direction, how much it will move in a vertical direction, and/or in which direction it is rotated. The viewing window may be oriented relative to a field of view of the visual content to provide a cutout of the visual content that is stable relative to a previous cutout and/or a next cutout of the visual content. For example, the viewing window may be oriented relative to a field of view of an image/video frame captured by the image capture device to provide a cutout of the image/video frame such that the presented content appears to be captured with a stabilized/more stable image capture device (e.g., the cutout of the video frame is stabilized/more stable relative to a cutout of a previous video frame and/or a subsequent video frame).

For example, fig. 5 shows an exemplary orientation of the viewing window 504 relative to the image 500. The image 500 may have a field of view 502. The viewing window 504 may have a truncated field of view 506 that defines the size of the viewing window 504. In fig. 5, the viewing window 504 may be oriented in the center of the field of view 502. Such placement of the viewing window 504 may provide an edge margin 508. The margin 508 may include the difference between the field of view 502 and the truncated field of view 506. The difference between the field of view 502 and the truncated field of view 506 may define an edge distance 508, and the viewing window 504 may be moved within the edge distance 508 relative to the field of view 502.

The amount of margin 508 may define the extent to which the viewing window 504 may be offset from the center of the field of view 502 to provide stable visual content. A larger margin may allow the viewing window 504 to be farther from the center of the field of view 502, while a smaller margin may allow the viewing window 504 to be closer from the center of the field of view 502.

The viewing window of the visual content may be determined based on the progression through the capture duration based on the significance of the motion of the image capture device/housing such that the viewing window of the visual content is centered at a center of the field of view of the visual content (e.g., a center of an image/video frame) for one or more partial capture durations for which the significance of the motion of the image capture device/housing is determined to be fully significant. That is, when the motion of the image capture device is determined to be entirely intentional, the viewing window may be centered in the field of view of the visual content (e.g., as shown in fig. 5) and/or moved toward the center of the field of view of the visual content. This placement of the viewing window may preserve the intended movement of the image capture device/housing in stable visual content.

The viewing window of the visual content may be determined based on the progression through the capture duration based on the intent of the movement of the image capture device/housing such that the viewing window is offset/allowed to be offset from a center of the field of view of the visual content (e.g., a center of an image/video frame) during one or more partial capture durations for which the intent of the movement of the image capture device/housing is determined to be entirely unintentional. That is, when the motion of the image capture device is determined to be entirely unintentional, the viewing window may be offset from the center of the field of view of the visual content such that the visual content within the viewing window is stable over a plurality of images/video frames. Such placement of the viewing window may remove/weaken unintentional movement of the image capture device/housing in the stabilized visual content.

For example, fig. 6A illustrates an exemplary orientation of viewing window 604 relative to image 600. The viewing window 604 may be placed within the image 600 such that the viewing window 604 is not centered at the center 602 of the image 600. The viewing window 604 may be placed in a manner that provides stable visual content. For example, image 600 may present a video frame captured by an image capture device, and image 500 may present a previous video frame captured by the image capture device. Between the time the image capture device captures image 500 and the time image 600 is captured, the image capture device may undergo motion, such as rotation to the right, panning to the right, and tilting downward. Such motion may result in a portion of the scene previously captured in the portion of image 500 within viewing window 504 to be captured in the portion of image 600 within viewing window 604. As shown in fig. 6, the arrangement of the viewing window 604 within the image 600 may compensate for the motion of the image capture device. The presentation of the portion of image 500 within viewing window 504 followed by the presentation of the portion of image 600 within viewing window 604 may not include movement of the image capture device. For one or more partial capture durations in which the intent of the movement of the image capture device/housing is determined to be entirely unintentional, the viewing window may be allowed to be off-center from the viewing window as long as the viewing window does not exceed the field of view of the visual content (e.g., does not exceed the margin).

In some implementations, the placement of the viewing window of the visual content relative to the field of view of the visual content can be determined based on the center parameter and/or other information. The center parameter may refer to a parameter for determining a movement of the viewing window towards the center of the field of view. The center parameter may move the viewing window towards the center of the field of view. The center parameter may control the extent to which a viewing window that is not centered in the field of view of the visual content may move toward the center of the visual content. For example, the center parameter may affect the speed at which an un-centered viewing window may move toward the center of the visual content.

For example, referring to fig. 6A, the center parameter may determine the speed at which the viewing window 604 may pan to the right, tilt down, and/or rotate clockwise such that the viewing window 604 may be centered at the center 602. The center parameter may determine how to move the viewing window 604 so that when the viewing window 504 is placed within the image 500, the viewing window may be placed within the image 600. The impact of the center parameter may be adjusted based on the value of the center parameter (e.g., higher values to increase the impact and lower values to decrease the impact, or vice versa).

The effect of the center parameter may vary based on the amount of deviation (amount of deviation, amount of difference between positions) of the viewing window 600 from the center 602 and/or other information. For example, the speed at which the viewing window 604 may pan to the right and/or tilt down may depend on the angular distance between the center 602 and the lateral and/or vertical offset of the viewing window 604 from the center 602. The speed at which the viewing window 604 may be rotated clockwise may depend on the angular rotation of the viewing window 604 relative to the horizontal line 606. For example, the speed of movement of the viewing window 604 may be linearly related to the amount of deviation such that the speed: (1) increases linearly as the angular distance between viewing window 600 and center 602 becomes larger, (2) decreases linearly as viewing window 600 and center 602 approach, and (3) decreases to zero when viewing window 600 is centered about center 602. Other relationships (e.g., non-linearity) between viewing window movement speed and offset can be envisioned.

The effect of the centering parameters on the placement of the viewing window may be determined based on the intent of the movement of the image capture device/housing and/or other information. For example, when the intention of the motion is determined to be completely intentional, the influence of the central parameter may be maximized/increased. When the intent of the motion is determined to be fully intended, the effect of the center parameter may be maximized/increased to increase the speed at which the viewing window moves to the center of the field of view of the visual content.

When it is determined that the intention of the movement is completely unintentional, the influence of the central parameter can be minimized/eliminated. The effect of the center parameter may be minimized/eliminated such that a deviation of the viewing window from the center of the field of view of the visual content does not cause the viewing window to move toward the center. That is, when the intent of the motion is determined to be completely unintentional, the deviation of the viewing window from the center of the field of view of the visual content may not be impeded (not affected) by the center parameter.

When the intent of the motion is determined to be moderately intentional, the influence of the center parameter may fall within a range (e.g., a maximum range corresponding to fully intentional motion and a minimum range corresponding to fully unintentional motion). The influence of the central parameter may be determined based on the value of the significance between the completely intentional value and the completely unintentional value. Intentional values that are closer to a completely intentional value may result in an increased impact of the center parameter, while intentional values that are closer to a completely unintentional value may result in a decreased impact of the center parameter.

In some implementations, the placement of the viewing window of the visual content relative to the field of view of the visual content may be determined based on inertial parameters and/or other information. The inertial parameter may refer to a parameter for determining a change in the speed at which the viewing window may be moved. The inertial parameters may maintain one or more portions of the velocity of the motion of the viewing window (e.g., pan velocity, tilt velocity, rotational velocity, percentage/fraction of velocity, pan acceleration, tilt acceleration, rotational acceleration, percentage/fraction of acceleration). For example, the inertial parameters may affect the range of changes in the velocity and/or acceleration of the viewing window between points in time/durations within the capture duration. The inertial parameters may affect the range in which the velocity and/or acceleration of the viewing window varies between image/video frames captured during the capture duration. The inertial parameters may limit the amount of velocity and/or acceleration of the viewing window that may be changed. This limitation on the speed of movement of the viewing window may result in a smoother movement of the viewing window for stabilization of the visual content.

For example, fig. 6B shows a viewing window 608 placed to the left of the center 602 of the image 600. The viewing window 608 may move to the right (based on a center parameter to stabilize the visual content) at a speed 610. The speed 610 may represent a range over which the position of the viewing window 608 may vary between adjacent points in time/durations and/or adjacent images/video frames. The inertial parameters may determine how much the velocity 610 may vary between adjacent points in time/durations and/or adjacent image/video frames. The effect of the inertial parameters may be adjusted based on the values of the inertial parameters (e.g., higher values to increase the effect and lower values to decrease the effect, or vice versa).

The effect of the inertial parameters on the placement of the viewing window may be determined based on the intent of the motion of the image capture device/housing and/or other information. For example, the effect of the inertial parameters may be maximized/increased when the intention of the motion is determined to be completely unintentional. When the intention of the movement is determined to be completely unintentional, the influence of the inertial parameters may be maximized/increased to allow for a large variation in the speed of moving the viewing window. When the intention of the movement is determined to be completely intentional, the influence of the inertial parameters may be minimized/reduced. The effect of the inertial parameters may be minimized/reduced to allow for less variation in the speed of moving the viewing window when it is determined that the intent of the motion is entirely intended.

When the intent of the motion is determined to be moderately intentional, the influence of the inertial parameters may fall within a range (e.g., a range from a maximum value corresponding to fully unintentional motion to a minimum value corresponding to fully intentional motion). The effect of the inertial parameters may be determined based on an intentional value between a fully intentional value and a fully unintentional value. Intentional values that are closer to fully intentional values may result in a reduced impact on inertial parameters, while intentional values that are closer to fully unintentional values may result in an increased impact on inertial parameters.

In some implementations, the placement of the viewing window of the visual content relative to the field of view of the visual content can be determined based on the deviation parameter and/or other information. The deviation parameter may refer to a parameter that defines a boundary of a motion of the viewing window within the field of view of the visual content. The deviation parameter may limit the deviation of the viewing window from the center of the field of view and/or other information. The deviation parameter may define a maximum angular distance of the viewing window from the center of the field of view. In modes that display more stable margins (e.g., linear field of view and/or zoom modes), the use of deviation parameters may make stabilization of the visual content more reactive.

For example, the deviation parameter may limit movement of the viewing window to a range less than the field of view of the visual content. Fig. 7A illustrates an exemplary deviated boundary 706 of an image 700. The deviation boundary 706 may define horizontal and vertical deviation limits for the viewing window 704 from the center 702 of the image 700. The deviation boundary 706 may be smaller than the field of view of the image 700. Thus, the viewing window 704 may move within a smaller range (within a range that deviates from the boundary 706) within the image 700, rather than moving within the entire range of the image 700. The off-boundary may or may not be centered at the center 702 of the image 700. The off-boundary may be symmetric or asymmetric with respect to one or more centerlines (horizontal centerline, vertical centerline) of the image 700. Other shapes deviating from the boundary are contemplated.

The deviation parameter may limit rotation of the viewing window about an axis (e.g., a roll axis, an axis of a viewing direction). Fig. 7B illustrates an exemplary rotational deviation limit about axis 712. For example, the deviation parameter may limit clockwise rotation of the viewing window 714 about the axis 712 to a maximum positive rotation 710. The deviation parameter may limit counterclockwise rotation of the viewing window 714 about the axis 712 to a maximum negative rotation 720. The amount of rotation of the maximum positive rotation 710 may be the same as or different from the amount of rotation of the maximum negative rotation 720.

In some implementations, the deviation limit (e.g., deviation from a boundary, rotational deviation limit) of the deviation parameter may vary based on the intent of the motion. For example, the deviation limit may be maximized/increased when the intent of the motion is determined to be completely unintentional. When the intent of the motion is determined to be completely unintentional, the deviation limit may be maximized/increased to allow for a larger deviation of the viewing window from the center of the field of view of the visual content. The deviation limit may be minimized/reduced when the intention of the movement is determined to be fully intended. When the intent of the motion is determined to be fully intended, the deviation limit may be minimized/reduced to allow for a smaller deviation of the viewing window from the center of the field of view of the visual content.

In some embodiments, the deviation limits may fall within a range (e.g., a maximum limit corresponding to fully unintended motion and a minimum limit corresponding to fully intended motion) when the intent of the motion is determined to be of moderate intent. The deviation limit may be determined based on an intentional value between a completely intentional value and a completely unintentional value. Intentional values that are closer to a fully intentional value may result in a decrease in the biased limit, while intentional values that are closer to a fully unintentional value may result in an increase in the biased limit.

The generation component 106 can be configured to generate stable visual content for one or more videos based on the viewing window(s) and/or other information. The stabilized visual content may comprise an interception of the range(s) of visual content within the viewing window(s). The stabilized visual content may be generated as a video frame that includes the range(s) of visual content within the viewing window(s). The stabilized visual content may be generated as an output of the visual portion captured by the image capture device, where the output portion includes the range(s) of visual content within the viewing window(s). The range(s) that include visual content within the viewing window of the video may enable stabilization of the visual content through selective cropping. The portion of the visual content that is cropped for stabilization may depend on the intent of the movement of the image capture device/housing and/or other information. The portion of the visual content that is cropped for stabilization may depend on one or more of a center parameter, an inertial parameter, a deviation parameter, and/or other parameters.

In some implementations, one or more portions of the visual content within one or more viewing windows may be warped. The distortion of the visual content may provide different perspectives of the visual content (e.g., different perspectives of a thing and/or scene captured within the image/video frame). If the image capture device captures visual content from a different location and/or a different angle, the different perspectives may correspond to how the visual content will be viewed.

The stabilized visual content generated by the generation component 106 can be defined by the stabilized visual information. The stable visual information may define an encoded version/copy of the stable visual content and/or instructions for rendering the stable visual content. For example, the stabilized visual content information may define an encoded version/copy of a video frame that includes portions of an original video frame captured by an image capture device (within one or more viewing windows) and the stabilized visual information (e.g., a video file) may be opened in a video player to present the stabilized visual content. The stable visual content information may define instructions for rendering the stable visual content for presentation. For example, the stabilized visual content information may define a guide track comprising information about which visual parts of the image captured by the image capturing device should be presented. The guide track may comprise information about the position, size, shape and/or rotation of the image cutout for providing a stable view of the image. When the stable visual content is opened and/or is to be presented, the video player may use the guide track to retrieve the relevant visual portion of the image.

The stabilization techniques described herein may provide a lightweight approach in stabilizing video. The stabilization techniques described herein may be performed with light computational resource consumption (e.g., computational power, time, memory, power consumption). The stabilization techniques described herein may be performed on the video while the video is being captured. The stabilization techniques described herein may be performed on a video to provide a preview of the video being captured. For example, the stabilization techniques described herein may be used to provide a preview of a video being captured by an image capture device. The stabilized visual content of the video may be provided as a preview of the video as it is being captured. The preview may be presented on the display(s) of the image capture device and/or other display(s).

In some implementations, the stable visual content may be different from the visual content of the video. That is, the stabilized visual content generated using the stabilization techniques described herein may be different from the actual visual content of the captured video. This may occur due to the use of different stabilization techniques. For example, stable visual content may be generated as described herein to provide a preview of a video being captured by an image capture device. Different stabilization techniques (e.g., heavier stabilization techniques and/or stabilization techniques that cannot be performed concurrently with the capture of visual content) may be used to stabilize video captured by the image capture device. Generating video using a heavier/non-simultaneous stabilization technique may provide more stable video than using the stabilization techniques described herein. However, it may be difficult, impractical, and/or impossible to provide a real-time preview of the video being captured using such heavier/non-simultaneous stabilization techniques. Thus, the stabilization techniques described herein may be used to provide a real-time preview of the video being captured, while another stabilization technique may be used to stabilize the video being generated.

The generation component 106 can be configured to enable storage of stabilized visual information and/or other information in one or more storage media. For example, the stabilized visual information may be stored in electronic storage 13, a remote storage location (storage medium at/accessible through the server), and/or other locations. In some implementations, the generation component 106 can enable storage of stable visual information through one or more intermediary devices. For example, the processor 11 may be located within a computing device that is not connected to the storage device (e.g., the computing device lacks a WiFi/cellular connection to the storage device). The generation component 106 can enable stable storage of visual information through another device with the necessary connections (e.g., a computing device that uses a WiFi/cellular connection of a paired mobile device (e.g., smartphone, tablet, laptop) to store information in one or more storage media). Other storage locations and storage for stable visual information are contemplated.

Although the description herein may be directed to images and video, one or more other embodiments of the systems/methods described herein may be configured for other types of media content. Other types of media content may include one or more of audio content (e.g., music, podcasts, audiobooks, and/or other audio content), multimedia presentations, images, slideshows, visual content (e.g., one or more images and/or videos), and/or other media content.

The invention may be implemented in hardware, firmware, software, or any suitable combination thereof. Aspects of the invention may be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a tangible (non-transitory) computer readable storage medium may include read-only memory, random-access memory, magnetic disk storage media, optical storage media, flash-memory devices, etc., and a machine-readable transmission medium may include forms of propagated signals (e.g., carrier waves), infrared signals, digital signals, etc. Firmware, software, routines, or instructions may be described herein in terms of performing particular actions and according to particular exemplary aspects and embodiments of the present invention.

In some embodiments, some or all of the functionality attributed herein to system 10 may be provided by an external resource not included in system 10. External resources may include hosts/sources of information, calculations, and/or processing, and/or other providers of information, calculations, and/or processing external to system 10.

Although processor 11 and electronic storage 13 are shown in fig. 1 as being connected to interface 12, any communication medium may be used to facilitate interaction between any of the components of system 10. One or more components of system 10 may communicate with each other via hardwired communication, wireless communication, or both hardwired communication and wireless communication. For example, one or more components of system 10 may communicate with each other over a network. For example, the processor 11 may communicate wirelessly with the electronic memory 13. By way of non-limiting example, the wireless communication may include one or more of radio communication, bluetooth communication, Wi-Fi communication, cellular communication, infrared communication, Li-Fi, or other wireless communication. Other types of communication are contemplated by the present invention.

Although the processor 11 is shown as a single entity in fig. 1, this is for illustration purposes only. In some embodiments, processor 11 may include multiple processing units. These processing units may be physically located within the same device, or processor 11 may represent processing functionality of a plurality of devices operating in coordination. The processor 11 may be configured to run one or more components by: software; hardware; firmware; some combination of software, hardware, and/or firmware; and/or other mechanisms for configuring processing capabilities on processor 11.

It should be appreciated that although computer components are shown in fig. 1 as being co-located within a single processing unit, in embodiments in which processor 11 includes multiple processing units, one or more computer program components may be located remotely from the other computer program components. Although described as performing, or configured to perform, operations, the computer program component may include instructions that may program the processor 11 and/or the system 10 to perform the operations.

Although the computer program components are described herein as being implemented by machine-readable instructions 100 via processor 11, this is for ease of reference only and is not intended to be limiting. In some embodiments, one or more functions of the computer program components described herein may be implemented via hardware (e.g., a special purpose chip, a field programmable gate array) rather than software. One or more functions of the computer program components described herein may be software-implemented, hardware-implemented, or both.

The description of the functionality provided by the different computer program components described herein is for illustrative purposes, and is not intended to be limiting, as any computer program component may provide more or less functionality than is described. For example, one or more computer program components may be eliminated, and some or all of its functionality may be provided by other computer program components. As another example, processor 11 may be configured to execute one or more additional computer program components that may perform some or all of the functionality attributed below to one or more of the computer program components described herein.

The electronic storage media of electronic storage 13 may be provided integrally (i.e., substantially non-removable) with one or more components of system 10 and/or removable storage connectable to one or more components of system 10 via, for example, a port (e.g., a USB port, a Firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage 13 may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), electrical charge-based memory media (e.g., EPROM, EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. Electronic storage 13 may be a separate component within system 10, or electronic storage 13 may be provided integrally with one or more other components of system 10 (e.g., processor 11). Although the electronic storage 13 is shown in fig. 1 as a single entity, this is for illustration purposes only. In some embodiments, electronic storage 13 may include a plurality of storage units. These storage units may be physically located within the same device, or electronic storage 13 may represent storage functionality of a plurality of devices operating in coordination.

Fig. 2 illustrates a method 200 for stabilizing video. The operations of method 200 presented below are intended to be illustrative. In some implementations, the method 200 may be implemented with one or more additional operations not described and/or without one or more of the operations discussed. In some embodiments, two or more operations may occur substantially simultaneously.

In some implementations, the method 200 can be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, a central processing unit, a graphics processing unit, a microcontroller, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices that perform some or all of the operations of method 200 in response to instructions stored electronically on one or more electronic storage media. The one or more processing devices may include one or more devices configured via hardware, firmware, and/or software, which are specifically designed to perform one or more operations of method 200.

Referring to fig. 2 and method 200, at operation 201, a visual output signal may be generated. The visual output signal may convey visual information defining a visual content having a field of view. In some implementations, operation 201 may be performed by the same or similar components as image sensor 306 (shown in fig. 3 and described herein).

At operation 202, an angular acceleration output signal may be generated. The angular acceleration output signal may convey angular acceleration information that characterizes the angular acceleration of the image capture device at different times during the capture duration. In some implementations, operation 202 may be performed by the same or similar components as motion sensor 308 (shown in fig. 1 and described herein).

At operation 203, the intention of the motion of the image capture device may be determined based on the angular acceleration information. The intention of the movement of the image capturing device may be determined from the progress over the capture duration. In some implementations, operation 203 may be performed by a processor component that is the same as or similar to intentional component 102 (shown in fig. 1 and described herein).

At operation 204, a viewing window for visual content may be determined based on the intent of the motion of the image capture device. The viewing window may define one or more ranges of visual content. In some implementations, operation 204 may be performed by a processor component that is the same as or similar to viewing window component 104 (shown in fig. 1 and described herein).

At operation 205, stable visual content may be generated based on the viewing window. The stabilized visual content may include a truncation of one or more ranges of visual content within the viewing window. In some implementations, operation 205 may be performed by a processor component that is the same as or similar to generation component 106 (shown in fig. 1 and described herein).

While the system(s) and/or method(s) of the invention has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred embodiments, it is to be understood that such detail is solely for that purpose and that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present invention contemplates that, to the extent possible, one or more features of any embodiment can be combined with one or more features of any other embodiment.

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于检测时间依赖图像数据的图像传感器和传感器装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类