Patent Publication Number: US-9900499-B2

Title: Time lapse user interface enhancements

Description:
BACKGROUND 
     1. Technical Field 
     The present disclosure relates to media capture and more specifically to capturing a sequence of images. 
     2. Introduction 
     Time lapse photography involves capturing images of a scene over a period of time, piecing the captured images together into a sequence, and displaying the sequence over shorter period of time than was captured, thereby creating an effect in the scene of time appearing to progress faster. 
     Oftentimes photographers chose to capture a large number of images at regular intervals and over a long period of time and then set the playback speed to be very fast to create a dramatic time lapse effect. However, the length of time required to capture the large number of images can cause the photographer to become concerned about whether the image capture device is actually capturing images according to the desired settings. 
     Additionally, determining the proper settings for setting up a time lapse image capture setting can be complicated. For example, determining how often to capture an image and how much time to set aside for image capture can be a daunting task—especially for novice or casual photographers. Likewise, avoiding events during an image capturing session that can detract from the continuity and image quality of playback is also difficult. 
     SUMMARY 
     Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or can be learned by practice of the herein disclosed principles. The features and advantages of the disclosure can be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the disclosure will become more fully apparent from the following description and appended claims, or can be learned by the practice of the principles set forth herein. 
     Disclosed are systems, methods, and non-transitory computer-readable storage media for providing visual indication that the image capture device is actively recording frames for a time lapse output sequence by providing indicia that communicates to a user that the image capture device is actively recording frames for the time lapse output sequence. 
     The present technology can involve capturing a sequence of frames with a camera in a time lapse mode and displaying a live view of the scene. Along with the live view, an animation can be presented to indicate that the sequence of time lapse frames is actively being captured. 
     To conserve the camera&#39;s battery the live view of the scene can be suspended after a given time, but when the camera detects a user, a visual queue can be displayed to provide the user with reassurance that the camera has been capturing frames despite the view being suspended. Detecting a user can involve a user pressing a physical shutter button, pressing a virtual shutter button, detecting a user within the proximity of the camera, voicing a wake command, remotely waking the device, etc. 
     The visual queue displayed to provide the user with reassurance that the camera has been capturing frames despite the view being suspended can be the playback of a tail portion of the already-captured sequence of frames. Displaying the tail portion can involve displaying a first portion of the frames in the tail portion at a first rate, gradually increasing the first rate to a higher, second rate, detecting a threshold closeness to the end of the tail portion, and gradually decreasing the second rate to a third rate that is slower than the second rate. When the end of the tail portion is reached, a live view of the scene can be displayed, the tail portion can be looped, the captured sequence can be looped from the beginning, etc. 
     Some embodiments of the present technology involve time lapse image capture using a dynamic capture rate that avoids having to calculate a capture rate. Using a dynamic capture rate involves capturing a sequence of time lapse frames of a scene at a capture rate that changes according to a thresholding scheme that decreases the capture rate after a threshold period of time. After detecting the expiration of the threshold period, the dynamic capture rate can decrease to a lesser capture rate. 
     Similarly, the camera can automatically replace frames captured within a threshold time window around a motion event and build a time lapse output sequence with the replacement frame. The camera can capture a burst of multiple images for each frame in the sequence of time lapse frames and select a best image from the burst. 
     Some embodiments of the present technology involve a scene analyzer configured to examine the frames and detect an interesting image aspect of an image in the captured time lapse frames and modify an output image sequence to slow down and highlight the interesting frame. Also, additional frames from a burst of multiple images near the interesting frame can be injected into the playback sequence. The scene analyzer can examine the frames and detect a high level of activity in the frames relative to each other and can extend a default playback duration to capture more of the action. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which: 
         FIG. 1A  shows an exemplary image-capturing device for capturing images and time lapse sequences of images using a digital processing system; 
         FIGS. 1B, 1C, 1D, 1E, 1F, 1G, 1H, 1I, and 1J  illustrate an exemplary animation displayed on an image capturing device in a time lapse frame capturing mode according to some embodiments of the present technology; 
         FIG. 2A  illustrates a method of displaying a visual indication that the image capture device is actively recording frames for a time-lapse output sequence according to some embodiments of the present technology; 
         FIG. 2B  illustrates another exemplary method of providing a visual confirmation that the image capturing device is capturing frames in time lapse according to some embodiments of the present technology; 
         FIG. 2C  illustrates another exemplary method of providing a visual confirmation that the image capturing device is capturing frames in time lapse according to some embodiments of the present technology; 
         FIG. 3  illustrates a system for building a time lapse image sequence according to some embodiments of the present technology; 
         FIG. 4  illustrates a method of analyzing captured frames and building an output time lapse sequence according to some embodiments of the present technology; 
         FIG. 5  illustrates an exemplary chart illustrating a default frame capture rate that decreases over time to enforce a storage conservation policy according to some embodiments of the present technology; and 
         FIG. 6A  and  FIG. 6B  illustrate exemplary possible system embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure. 
     The present disclosure addresses the need in the art for providing visual indication that the image capture device is actively recording still frames for a time-lapse output. A system, method and non-transitory computer-readable media are disclosed which cause a image capture device to provide indicia that communicates to a user that the image capture device is actively recording still frames for a time-lapse output. 
       FIG. 1A  shows an exemplary image-capturing device  100  for capturing images and time lapse sequences of images using a digital processing system  103 . The digital processing system  103  may include a media processing system  109 , which may also include a general purpose or special purpose processing system to manage media, such as image files, video files, files of audio data, etc. 
     The image-capturing device  100  may also include a storage device  104 , coupled to the digital processing system, to store data and/or operating programs and capture images for the image-capturing device  100 . The storage device  104  may be, for example, any type of solid-state or magnetic memory device. The storage device  104  may be or include a machine-readable medium. 
     A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, machines store and communicate (internally and with other devices over a network) code and data using machine-readable media, such as machine storage media (e.g., magnetic disks; optical disks; random access memory; read only memory; flash memory devices; phase-change memory). 
     The image-capturing device  100  may also include one or more input devices  105 , coupled to the digital processing system  103 . The input device  105  may be, for example, one or more of a keypad, a touchpad, a touch screen, a pointing device in combination with a display device or similar input device. The image-capturing device  100  may also include at least one display device  106 , coupled to the digital processing system  103 , to display information such as messages, telephone call information, contact information, pictures, images, movies and/or titles or other indicators of media being selected via the input device  105 . The display device  106  may be, for example, an LCD display device. In some embodiments, the display device  106  and input device  105  may be integrated together in the same device (e.g., a touch screen LCD such as a multi-touch input panel which is integrated with a display device, such as an LCD display device). The display device  106  may include a backlight  106 A to illuminate the display device  106  under certain circumstances. It will be appreciated that the image-capturing device  100  may include multiple displays. 
     The image-capturing device  100  may also include an accelerometer  146 , and a motion sensor  140  (e.g., an accelerometer, a gyroscrope, a motion detector, a tilt sensor such as mercury switch, a compass, or any combination thereof) to determine motion information for the device. The processing system is configured to determine whether the device is moving based on the motion information. 
     The image-capturing device  100  may also include a battery  107  to supply operating power to components of the system including digital RF transceiver  102 , digital processing system  103 , storage device  104 , input device  105 , microphone  105 A, audio transducer  108 , media processing system  109 , sensor(s)  110 , and display device  106 , and an image sensor  159  (e.g., CCD (Charge Coupled Device), CMOS based device). The image sensor may be integrated with an image processing unit  160 . The display device  106  may include a Liquid Crystal Display (LCD), which may be used to display images that are captured or recorded by the wireless image-capturing device  100 . The LCD serves as a viewfinder of a camera and there may optionally be other types of image display devices on device  100  which can serve as a viewfinder. 
     The image-capturing device  100  also includes an imaging lens  163  which can be disposed over image sensor  159 . The processing system  103  controls the operation of the image-capturing device  100 ; and, it may do so by executing a software program stored in ROM  157 , or in the processing system  103 , or in both ROM  157  and the processing system  103 . 
     The processing system  103  controls the image processing operation; and, it controls the storage of a captured image in storage device  104 . The processing system  103  also controls the exporting of image data (which may or may not be color corrected) to an external general purpose computer or special purpose computer. 
     The processing system  103  also responds to user commands. For example, the processing system can respond to a command to record (aka “take”) a picture, capture and record a sequence of image frames for time lapse playback, or capture video by capturing image(s) on the image sensor and storing the image(s) in memory or a command to select an option for contrast enhancement and color balance adjustment). The image-capturing device  100  can also include audio transducers  108 , which may include one or more speakers, and at least one microphone  105 A 
     In some embodiments, the image-capturing device  100  includes the storage device  104  to store captured images, the lens  163  to receive incident light associated with an image to be captured, and the processing system  103  coupled to the storage device  104  and the lens  163 . The device also includes a display device  106  coupled to the storage device  104 . The display device can display the captured images. 
     The image sensor  159 , the image processing unit, and the processing system  103  can be configured to continuously capture and process images of a scene. Also, as explained above, the display device  106  can include a backlight  106 A to illuminate the display device  106  to display the captured images on the display device  106 . The captured images can be displayed in essentially real time as a video of the scene to provide the user with a view of the scene. The processing system  103  can record one or more images of the scene by a user pressing a physical or virtual shutter button. 
     The processing system can also be operatively coupled with a time-lapse sequence builder, a scene analyzer, a motion data processor, an exposure setting module, a location information module, a storage conservation module, and frame handler—each of which are explained in greater detail below. 
     The processing system  103  can be configured, after entry into a time lapse mode, to capture and record a sequence of time lapse images. While in time lapse mode, the image capturing device  100  can continue to display captured images of the scene as a video. However, as explained above, there is a need in the art for providing visual indication that the image capture device is actively recording still frames for a time-lapse output. 
       FIGS. 1B-1J  illustrates an exemplary animation displayed on an image capturing device in a time lapse frame capturing mode that provides a visual indication that frames are being recorded. The animation shown in  FIGS. 1B-1J  includes a button resembling a shutter button on an image capturing device with a series of hash marks spaced out in a ring surrounding the button and a rotation effect occurring as time passes. The rotation effect can involve additional lines filling in the spaces between the hash marks in a clockwise fashion as time passes until they reach a midnight position, the additional lines vanishing as time passes in a second clockwise rotation, and the effect repeating itself as the time lapse frame capturing mode continues to record frames. The speed of the rotation of the ring of lines can also be tied to the image capture rate, thereby indicating when the next image in a sequence will be captured (e.g. when the rotation effect reaches each hash mark, when the rotation effect reaches 12 o&#39;clock, etc.). 
     Some embodiments of the present technology involve the image-capturing device  100  automatically or manually entering a time out mode. Referring again to  FIG. 1A , the image-capturing device  100  can include a battery  107 . The battery  107  may be, for example, a rechargeable or non-rechargeable lithium or nickel metal hydride battery. The time out mode can cause the display device  106  to fade in brightness or blackout. 
     However, when the display device  106  fades or blacks out, there is still a need for providing visual indication that the image capture device is actively recording still frames for a time-lapse output. Accordingly, the shutter button animation, the looping of all or a portion of the time lapse output sequence, or both can be displayed when the image-capturing device “wakes up” from a time out mode. 
     In addition to or alternatively, the visual indication that the image capture device is actively recording frames for a time-lapse output sequence can also include playing a portion or all of the recorded output sequence. In some embodiments of the present technology, playing or looping the time-lapse output sequence as the visual indication that the image capture device is actively recording frames can be performed when it is determined that a user has previously entered a time lapse mode and has subsequently returned to check in on the progress of the time lapse image capture sequence. 
     Determining to show a shutter animation or to play or loop the time-lapse output sequence to provide a can involve detecting that a user interacts with the image capture device. Detecting that the user interacts with the image capture device can involve receiving an input via a physical input element on the image capture device or receiving an input via a virtual interface element displayed on the image capture device&#39;s touch screen display. 
       FIG. 2A  illustrates a method  200  of displaying a visual indication that the image capture device is actively recording frames for a time-lapse output sequence according to some embodiments of the present technology. 
     The method  200  involves an image-capturing device receiving image data and displaying a scene to be captured  205 . For example, the image-capturing device can process a plurality of scene frames and display video of a scene to be captured on a display of touch screen display of an electronic device. Next, the method  200  involves receiving an instruction to enter a time lapse image capture mode  210 . In some embodiments, an instruction to enter a time lapse image capture mode can be received by a user selecting an interface element of a camera application running on the image-capturing device. 
     After receiving the instruction to enter the time lapse image capture mode, the method  200  can involve the image-capturing device beginning to capture images of the scene  215  at a certain interval. The interval can comprise a pre-determined frame rate. In some other embodiments, the interval is user-defined. After image capture is initiated, the method  200  can involve continuing to display video of the scene to be captured  220 . 
     Next, the method  200  can involve enforcing a time out mechanism that can lock the image capturing device and can alter what is displayed in the image capturing device in order to conserve the device&#39;s power resources. At step  225 , a determination is made as to whether to time out the screen. If not, the method  200  involves continuing to display video of the scene to be captured  220 . Alternatively, if the screen times out, the method  200  involves entering a power saving mode  240 . In some embodiments, the power saving mode involves timing out the screen from displaying video. For example, the screen can black out after a predetermined period of time while the image capturing device still records image frames. The time out mechanism can also involve a security feature that involve displaying a lock screen on the image capturing device that requires user-authentication before unlocking the device. 
     While in a timeout mode that causes the image capturing device from displaying video of the scene to be captured, a user can become concerns whether or not the image capturing device is still properly recording images in the time lapse mode. Accordingly, the present technology can provide visual feedback to the user that the time lapse recording is still be capturing images when a user performs an action to wake up the image capturing device. 
     In some embodiments of the present technology, the method  200  involves detecting physical interaction with the device  245  and detecting user proximity  250  as exemplary actions for waking up the image capturing device from a time out mechanism. For example, detecting physical interaction with the image capturing device can involve a user pressing a button on the device or an accelerometer detecting motion of the image capturing device. Also, the image capturing device can include one or more proximity sensors (e.g. infrared light emitting diode proximity sensors, inductive proximity sensors, etc.). Detecting a user can also involve a speech recognition system receiving a wake command, receiving a remote command for waking the device, etc. 
     After the user performs an action to wake up the image capturing device, the method  200  involves retrieving a tail portion of the captured time lapse sequence  255 . In some embodiments, the tail portion of the captured sequence is pre-cached such that it is available immediately upon the user performing the action to wake up the image capturing device. 
     In some embodiments of the present technology, the tail portion is retrieved for playback according to a dynamic frame rate algorithm to provide a visual confirmation that the image capturing device is capturing frames in time lapse mode according to the user&#39;s expectations. Therefore the retrieved tail portion can include the number of frames that, when played according the dynamic frame rate algorithm result in a output sequence having a predetermined length (e.g. eight seconds). 
     The dynamic frame rate algorithm can be defined to provide a visually smooth playback and to avoid an abrupt or jarring visual ramp up or fade out. For example, the dynamic frame rate algorithm can also be defined to provide a gradual ramp up in frame rate of the time lapse output sequence of the tail end, a constant middle portion of the tail end output sequence, and a gradual ramp down of the tail end output sequence. 
     The method  200  can perform such a tail end output sequence by beginning playback of the retrieved tail portion at a first frame rate  260 , gradually increasing the frame rate of the tail portion to a default output sequence frame rate  265 , detecting a threshold closeness to the end of the retrieved tail portion of the output sequence  270 , gradually decreasing the frame rate of the playback of the output sequence until the tail portion reaches a live view of the scene to be captured  275 , and continuing to display video of the scene to be captured  220 . 
       FIG. 2B  illustrates another exemplary method  280  of providing a visual confirmation that the image capturing device is capturing frames in time lapse according some embodiments of the present technology. The method  280  involves retrieving a tail portion of the captured time lapse sequence  282  and a dynamic frame rate algorithm that begins playback of the retrieved tail portion at a first frame rate  284 , gradually increasing the frame rate of the tail portion to a default output sequence frame rate  286 , detecting a threshold closeness to the end of the retrieved tail portion of the output sequence  288 , gradually decreasing the frame rate of the playback of the output sequence until the tail portion reaches the last-captured frame  290 , and refreshing the tail portion of the captured time lapse sequence  292  for looping the tail portion of the output sequence. 
       FIG. 2C  illustrates another exemplary method  202  of providing a visual confirmation that the image capturing device is capturing frames in time lapse according some embodiments of the present technology. The method  202  involves retrieving a tail portion of the captured time lapse sequence  204  and a dynamic frame rate algorithm that begins playback of the retrieved tail portion at a first frame rate  206 , gradually increasing the frame rate of the tail portion to a default output sequence frame rate  208 , detecting a threshold closeness to the end of the retrieved tail portion of the output sequence  212 , gradually decreasing the frame rate of the playback of the output sequence until the tail portion reaches the last-captured frame  214 . After the last-captured frame of the tail portion is displayed, the method  202  can loop to the beginning of the captured time lapse sequence  216 , beginning playback of the full output sequence at a first frame rate  218 , gradually increasing the frame rate of the full output sequence to a default output sequence frame rate  222 , detecting a threshold closeness to the end of the full output sequence  224 , gradually decreasing the frame rate of the playback of the full output sequence until the output sequence reaches the last-captured frame  228 , and iterating to step  216 . 
     The present disclosure also addresses the need in the art for simple set up and auto-adjustments when events occur that might otherwise detract from output quality. Systems, methods and non-transitory computer-readable media are disclosed which analyze a scene, analyze motion and acceleration data, analyze time lapse image capture duration, and build time lapse sequence outputs. These systems, methods and non-transitory computer-readable media can take the math and guesswork out of time lapse photography and can automatically adjust settings and truncate or replace frames, thereby enabling any user to create quality time lapse sequences. 
       FIG. 3  illustrates a system  300  for building a time lapse image sequence according to some embodiments of the present technology. The system  300  includes a lens  380 , an image sensor  370 , an image processing unit  350 , a digital processing system  303 , and time lapse sequence builder  340 . The image processing unit  350  receives image data from the image sensor and the digital processing system processes the image data into image frames and stores frames in a frame storage repository  310 . 
     The system can include a power conservation module  314  configured to automatically suspend the display of the scene after a predetermined threshold time and a detection module  313  configured for detecting a user and causing the digital processing system  303  to provide a visual confirmation that the image capturing device is capturing frames, as explained above. 
     The digital processing system  303  can also be coupled with a time-lapse sequence builder  340  that can examine the frames and build an output sequence for display on a display device  360 . The time-lapse sequence builder  340  can include a scene analyzer  315 , a motion data processor  325 , an exposure setting module  316 , a location information module  317 , a storage conservation module  318 , and frame handler  330 . 
     In some embodiments of the present technology, the time lapse sequence builder  340  can define a default image capture rate based on a desired output sequence frame rate, a desired output sequence playback time, and an assumed minimum capture time. The assumed minimum capture time can comprise a minimum time that an average user will allow time lapse image capture to take place before ending the frame capture process. In some embodiments of the present technology, the assumed minimum capture time is empirically defined. For example, an image capturing device can comprise a network interface for transmitting time lapse capture data to a server that collects time lapse image capture data for a community of users, examines statistics relating to community usage of time lapse image capture, and that determines the average minimum capture time for the community. 
     For example, the time lapse sequence builder  340  can define a desired output sequence playback frame rate to be thirty frames per second and define the desired output sequence playback time to be ten seconds. When the time lapse sequence builder  340  uses an assumed minimum time of ten minutes, the time lapse sequence builder  340  sets the default image capture time to capture one frame every two seconds. 
     The time lapse sequence builder  340  can also examine a sequence of captured time lapse frames and determine how to build a playback sequence of frames. For example, the time lapse sequence builder can determine that a sequence of captured time lapse frames includes a requisite number of frames to create an output sequence at a desired frame rate (e.g. thirty frames per second). In some embodiments, when the time lapse sequence builder  340  determines that there is not enough frames to build a high quality sequence output, the time lapse sequence builder  340  can cause the image capturing device to store the captured frames as individual photos, use the captured frames to build a slide show, choose one or more of captured frames to store as photos while erasing the rest, etc. 
     In some embodiments of the present technology, a scene analyzer  315  is used to examine the images in the frames to identify patterns, correlations, common elements (or lack thereof) in the frames and the time-lapse sequence builder  340  determines how to output a sequence of frames based on the identified elements. 
     For example, when the scene analyzer  315  identifies that the frames of a time lapse sequence do not correlate enough with one another and, to avoid a choppy output sequence, the time-lapse sequence builder  340  determines to output the series of frames as a slide show instead of as a time lapse sequence. Alternatively, the scene analyzer  315  can identify that the frames of a time lapse sequence highly correlate enough with one another. For example, in a time lapse sequence of images of a car traveling down a highway, the images can all share the same horizon and can all include lane lines to provide consistency between the frames. In cases in which the scene analyzer  315  determines high correlation, the time lapse sequence builder  340  can adjust the output accordingly. 
     For example, the time lapse sequence builder  340  can determine that the number of frames captured during a time lapse frame capture session is not enough to produce an output sequence having a predetermined length and having a threshold frame rate. However, by virtue of the scene analyzer  315  determining a high correlation between frames, the time lapse sequence builder  340  can create a time lapse sequence output having a lesser frame rate, but that is nevertheless consistent looking by virtue of the visual similarities between the frames. 
     The scene analyzer  315  can also be used to examine the images in the frames to identify that a requisite amount of activity is occurring in the captured frames to justify the time-lapse sequence builder  340  building an output sequence that is longer than a default length. For example, the scene analyzer  315  can determine that the captured frames in a sequence of captured frames do not possess a threshold amount of activity (e.g. a scene of clouds in the sky) and the time lapse sequence builder  340  limits the output to a default output sequence time (e.g. thirty seconds). However, if the scene analyzer  315  determines that the frames capture a very dynamic set of scenes (e.g. a car ride through a busy city) then the time lapse sequence builder  340  can allow the output sequence to be longer than the default output sequence time. 
     In some embodiments of the present technology, the time lapse sequence builder  340  includes a motion data processor  325  configured to examine data describing the motion, or lack thereof, of the image capturing device while capturing image frames in a time lapse capture mode. The time lapse sequence builder  340  can use the motion data to determine how to build an image sequence. For example, if the motion data processor  325  determines that an accelerometer reported a threshold degree of shaking during image capture in a time lapse mode, the time lapse sequence builder  340  can determine that a time lapse image sequence output would not be consistent enough during playback and can decide to output the captured frames as a slideshow instead. 
     Also, the motion data processor  325  can provide motion data to the time lapse sequence builder  340  that results in the image capturing device capturing images at a higher frame rate in situations in which a higher frame rate would result in a higher quality output sequence. Similarly, the motion data processor  325  can provide motion data to the time lapse sequence builder  340  that results in the image capturing device capturing images for a time lapse image sequence having a longer duration than a default duration. For example, when the time lapse sequence builder  340  knows that the image capturing device is moving at a high rate of speed, the time lapse sequence builder  340  can decide that a longer output sequence would be acceptable due to the apparently more action-filed subject matter of the captured images. 
     Additionally, the time lapse sequence builder  340  can interpret motion data to determine whether the motion is acceptable, or even preferable, or whether frames affected by motion events should be trimmed or replaced. In some cases, the motion data processor  325  can receive contextual information about motion data and the time lapse sequence builder  340  can use the contextual information to build an output sequence. For example, in the case of the image capturing device being integrated in a smartphone, if the motion data processor  325  detects a motion event along with receiving contextual information about the motion event being associated with the smart phone being used to receive a phone call, the time lapse sequence builder  340  can decide to pause image capture until the phone application is not longer in use. On the other hand, if a text messaging application is used around the motion event, the time lapse sequence builder  340  can keep the image capture active while truncating frames affected by the motion event since the text messaging application will likely be used for less of a duration than the phone application. 
     The motion data processor  325  can detect significant amount of motion near the beginning and ending of a frame sequence capture. These significant motion events can be associated with a user pressing a button on the image capture device to initiate and end frame sequence capture and chose to trim those frames. 
       FIG. 4  illustrates a method  400  of analyzing captured frames and building an output time lapse sequence according to some embodiments of the present technology. The method  400  involves an image capturing device capturing a sequence of image frames while in a time lapse capture mode  402  and analyzing the captured frames  404 . For example, analyzing captured frames can involve determining the presence of consistencies in the frames, determining a degree of activity in the scenes captured, etc. The method  400  also involves examining motion data  406  from the image capture device during the time that the sequence of frames was captured. 
     Using the scene analysis data and the motion data, the method  400  can involve determining that the frames are consistent enough to output a time lapse image sequence  408 , determining a time lapse output sequence frame rate  410 , determining a time lapse output sequence duration  412 , and building the time lapse output sequence  414 . 
     Referring again to  FIG. 3 , the scene analyzer  315  can also analyze the frames of a sequence during the time the image capturing device is capturing the frames or after the sequence has been captured. In some embodiments of the present technology, the scene analyzer  315  can detect objects or events in a frame that can cause the time lapse sequence builder to change the rate of image capture and the frame rate of the output sequence. For example, while capturing a scene, the scene analyzer can detect a particular face and can speed up frame capture rate to capture more frames of the particular face. Similarly, the time lapse sequence builder  340  can slow down playback frame rate around interesting events, as determined by the scene analyzer. For example, in an output sequence when the sequence includes long periods of inactivity and one or more short burst of activity, the time lapse sequence builder  340  can slow down playback near the events. Similarly, in an output sequence of a party, the time lapse sequence builder  340  can slow down playback each time the scene analyzer detects a new face. 
     In another example, after capturing a night sequence of stars moving in the sky, the scene analyzer can detect the presence of meteorites in one or more frames and the time lapse sequence builder can automatically slow down the frame rate or temporarily pause the output sequence to highlight the frames showing the meteorites such that an observer will not miss those frames. 
     The time lapse sequence builder  340  can also include an exposure settings module  316 . During frame capture while in a time lapse capture mode the scene analyzer  315  can analyze the frames as they are captured to determine changes in lighting in the frames. For example, a time lapse sequence of a scene of the setting sun can result in frames that become progressively darker. Upon detecting one or more changes to the scene&#39;s lighting, the exposure settings module  316  can automatically and dynamically adjust the exposure settings of the image capture device. For example, during frame capture of a scene of a setting sun, the exposure settings module  316  can adjust the focus of the image capture device (e.g. to focus on the sun itself once its brightness will not wash out the image) as well as ISO settings, aperture settings, shutter speed, etc. 
     In some embodiments of the present technology, the time lapse sequence builder  340  can also include a location information module  317 . The location information module  317  can be configured to receive information about the location of the image capturing device (e.g. from a GPS) and determine information about the location that can be sent to the time lapse sequence builder  340 . For example, the location information module  317  can receive location information and determine information about the weather, times of sunset and sunrise, etc. The location information can be used by the time lapse sequence builder  340  and the exposure settings module  316  to automatically adjust time lapse capture settings and exposure settings. 
     As explained above, the time lapse sequence builder  340  can include a storage conservation module  318  that can be configured for enforcing frame storage and frame capture rules to ensure that the image capturing device has adequate storage resources to store sequence frames. For example, during a long session of capturing time lapse frames, the storage conservation module  318  can instruct the image capturing device to begin capturing frames at a lesser frame rate to avoid the storage resources of the image capturing device from quickly filling up. 
       FIG. 5  illustrates an exemplary chart illustrating a default frame capture rate that decreases over time to enforce a storage conservation policy according to some embodiments of the present technology. As shown, the storage conservation policy can begin with a starting frame capture rate (e.g. two frames per second) and can decrease the rate (e.g. in half) after predetermined periods of time (e.g. ten minutes, twenty minutes, forty minutes, eighty minutes, etc.). In some cases, the storage conservation policy can also define a time at which the frame capture rate will remain steady (e.g. 0.1 frame per second). Alternatively, the storage conservation policy can cause the frame capture rate to continually decrease. The image capture device can also put itself into a sleep state during large intervals between frame captures to conserve power. 
     Referring again to  FIG. 3 , the time lapse sequence builder  340  can receive information from the storage conservation module  318  about changes to the default frame capture rate and can decide to truncate sequence frames captured at a higher capture rate such that the number of frames per time period matches frames captured at a lesser capture rate, thereby building an output sequence having a consistent frame rate. Accordingly, the time lapse sequence builder  340  can include a frame handler  330  for selectively truncating captured frames to fulfill one or more sequence building policy. 
     In some embodiments of the present technology, the frame handler  330  can selectively truncate frames from earlier portions of a frame capture sequence based on a lesser frame capture rate in a later portion of the frame capture sequence. For example, with reference to the chart illustrated in  FIG. 5 , when a frame capture sequence lasts seventy minutes, one thousand two hundred frames are captured at during the first ten minute interval, nine hundred frames are captured during each of the next two ten minute intervals, and six hundred frames are captured during each of the next four ten minute intervals. Without truncating frames from this captured sequence would result in an inconsistent playback. Therefore, the frame handler  330  can selectively truncate frames from the first ten-minute interval and from the next two ten-minutes intervals to match the frame rate of the final four ten minute intervals. The frame handler  330  can automatically delete a portion of the captured time lapse frames that were captured at a first capture rate that does not approximately match a second capture rate associated with the remaining portion of the captured time lapse frames. 
     In some embodiments of the present technology, the frame handler  330  truncates frames to match the spacing as close as possible to the lesser frame rate portions. For example, in a frame sequence of a night sky having a first portion of the sequence being captured at two frames per second and a second portion of the sequence being captured at one frame per second, the frame handler can truncate every other frame from the first portion such that the output sequence has a consistent frame rate. 
     However, in some other embodiments, the scene analyzer  315  can inspect the frames in the portions being truncated and select frames for truncation. For example, in the same frame sequence of a night sky as above, the scene analyzer  315  can determine that one or more frame that would be truncated under the above scheme contains an artifact resembling a meteorite. The scene analyzer  315  can instruct the frame handler  330  to instead truncate a neighboring frame in favor of keeping the frame containing the meteorite. 
     The scene analyzer  315  can examine frames and make decisions affecting truncation of frames based on image quality, interesting features (e.g. meteorite, something obscuring camera, face recognition, playback continuity, etc. 
     The frame handler  330  can also use data from the motion data processor  325  to make decisions about truncating frames. For example, the motion data processor  325  can detect motion events, the scene analyzer can inspect the frames surrounding the motion event, and the frame handler  330  can balance the considerations of frame quality and playback continuity and build the output sequence. 
     Some embodiments of the present technology involve capturing a burst of frames at regular intervals and selecting a best frame from the burst to use in an output time lapse sequence. For example, when a time lapse mode causes a image capturing device to capture a frame one every five seconds, the image capturing device can take a burst of images each five seconds, the scene analyzer  315  can select the best frame from the burst, and the frame handler  330  can truncate the rest of the burst. 
     As explained above, the image capturing device can include a display. In some embodiments of the present technology, the image capturing device can also include an user editor module for displaying user-facing tools for allowing users to trim frames, select and replace frames, adjust capture settings, adjust exposure settings, etc. 
       FIG. 6A  and  FIG. 6B  illustrate exemplary possible system embodiments. The more appropriate embodiment will be apparent to those of ordinary skill in the art when practicing the present technology. Persons of ordinary skill in the art will also readily appreciate that other system embodiments are possible. 
       FIG. 6A  illustrates a conventional system bus computing system architecture  600  wherein the components of the system are in electrical communication with each other using a bus  605 . Exemplary system  600  includes a processing unit (CPU or processor)  610  and a system bus  605  that couples various system components including the system memory  615 , such as read only memory (ROM)  620  and random access memory (RAM)  625 , to the processor  610 . The system  600  can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor  610 . The system  600  can copy data from the memory  615  and/or the storage device  630  to the cache  612  for quick access by the processor  610 . In this way, the cache can provide a performance boost that avoids processor  610  delays while waiting for data. These and other modules can control or be configured to control the processor  610  to perform various actions. Other system memory  615  may be available for use as well. The memory  615  can include multiple different types of memory with different performance characteristics. The processor  610  can include any general purpose processor and a hardware module or software module, such as module  1   632 , module  2   634 , and module  3   636  stored in storage device  630 , configured to control the processor  610  as well as a special-purpose processor where software instructions are incorporated into the actual processor design. The processor  610  may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric. 
     To enable user interaction with the computing device  600 , an input device  645  can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device  635  can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the computing device  600 . The communications interface  640  can generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed. 
     Storage device  630  is a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs)  625 , read only memory (ROM)  620 , and hybrids thereof. 
     The storage device  630  can include software modules  632 ,  634 ,  636  for controlling the processor  610 . Other hardware or software modules are contemplated. The storage device  630  can be connected to the system bus  605 . In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor  610 , bus  605 , display  635 , and so forth, to carry out the function. 
       FIG. 6B  illustrates a computer system  650  having a chipset architecture that can be used in executing the described method and generating and displaying a graphical user interface (GUI). Computer system  650  is an example of computer hardware, software, and firmware that can be used to implement the disclosed technology. System  650  can include a processor  655 , representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. Processor  655  can communicate with a chipset  660  that can control input to and output from processor  655 . In this example, chipset  660  outputs information to output  665 , such as a display, and can read and write information to storage device  670 , which can include magnetic media, and solid state media, for example. Chipset  660  can also read data from and write data to RAM  675 . A bridge  680  for interfacing with a variety of user interface components  685  can be provided for interfacing with chipset  660 . Such user interface components  685  can include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. In general, inputs to system  650  can come from any of a variety of sources, machine generated and/or human generated. 
     Chipset  660  can also interface with one or more communication interfaces  690  that can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein can include receiving ordered datasets over the physical interface or be generated by the machine itself by processor  655  analyzing data stored in storage  670  or  675 . Further, the machine can receive inputs from a user via user interface components  685  and execute appropriate functions, such as browsing functions by interpreting these inputs using processor  655 . 
     It can be appreciated that exemplary systems  600  and  650  can have more than one processor  610  or be part of a group or cluster of computing devices networked together to provide greater processing capability. 
     For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software. 
     In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se. 
     Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can comprise, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, or source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on. 
     Devices implementing methods according to these disclosures can comprise hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include laptops, smart phones, small form factor personal computers, personal digital assistants, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example. 
     The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are means for providing the functions described in these disclosures. 
     Although a variety of examples and other information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety of implementations. Further and although some subject matter may have been described in language specific to examples of structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. For example, such functionality can be distributed differently or performed in components other than those identified herein. Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims. 
     The various embodiments described above are provided by way of illustration only and should not be construed to limit the scope of the disclosure. Those skilled in the art will readily recognize various modifications and changes that may be made to the principles described herein without following the example embodiments and applications illustrated and described herein, and without departing from the spirit and scope of the disclosure.