Abstract:
A process recomputes zones for a scene. The process is performed at a computing device having one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. The process receives a first image of a scene taken by an array of image sensors of a camera system at a first time and receives designation from a user of a zone within the first image. The process also receives a second image of the scene taken by the array of image sensors at a second time that is after the first time. The process compares the first and second images to identify movement of the camera and notifies the user about a change to the zone when the camera has moved.
Abstract:
A method at an electronic device includes obtaining from an image sensor a primary real-time video stream comprising images of a scene; identifying from the primary video stream one or more regions of interest in the scene; while obtaining the primary video stream, creating a first video sub-stream comprising a first plurality of images for a first one of the one or more identified regions of interest, wherein: images of the first plurality of images include image data for portions of the scene that include the first identified region of interest, and the images of the first plurality of images have fields of view that are smaller than the field of view for the images of the primary video stream; and providing the first video sub-stream for display at a client device.
Abstract:
A method at an electronic device with a display includes: displaying a user interface having a first region and a second region; receiving, and displaying in the first region of the user interface, a live video stream of a physical environment captured by a remote video camera, where at least some of the live video stream is recorded at a remote server; displaying, in the second region, a timeline corresponding to a timespan for a first portion of a duration during which the live video stream may have been recorded; in response to receiving a user interaction to move the timespan to a second portion of the duration, transitioning the displayed timeline to a new timeline that corresponds to the timespan for the second portion, and while transitioning, displaying, in the first region, a subset of video frames representing the first and/or second portion of the duration.
Abstract:
A system and method for reducing duplication of music tracks associated with a user account of an online music provider, includes selecting multiple music collections. Selecting at least one of the tracks in the selected music collections, identifying multiple duplicate metadata candidate tracks and multiple duplicate audio candidate tracks. The duplicate metadata candidate tracks are compared to the duplicate audio candidate tracks to identify common duplicate tracks. An audio hash is calculated for each audio file for the common duplicate tracks. An audio hash of one of the common duplicate tracks is selected and compared to the remaining audio hashes of the common duplicate tracks to identify matching tracks. All instances of the matching track in the selected music collections can be replaced with the selected track.
Abstract:
A process recomputes zones for a scene. The process is performed at a computing device having one or more processors and memory. The memory stores one or more programs configured for execution by the one or more processors. The process receives a first image of a scene taken by an array of image sensors of a camera system at a first time and receives designation from a user of a zone within the first image. The process also receives a second image of the scene taken by the array of image sensors at a second time that is after the first time. The process compares the first and second images to identify movement of the camera and notifies the user about a change to the zone when the camera has moved.
Abstract:
The various embodiments described herein include methods, devices, and systems for categorizing motion event candidates. In one aspect, a method includes receiving and processing video frames that include a motion event candidate. The processing includes: (a) obtaining background factors corresponding to a background in at least a subset of the video frames; (b) utilizing the background factors to identify one or more motion entities; (c) for each motion entity, obtaining one or more representative motion vectors based on a motion track of the respective motion entity; (d) identifying one or more features in at least a subset of the video frames; and (e) aggregating the background factors, the representative motion vectors, and the features to generate motion features. The method further includes sending the motion features to an event categorizer, where the event categorizer assigns a motion event category to the motion event candidate based on the received motion features.
Abstract:
In an embodiment, an electronic device may include storage containing processor-executable instructions and a current setpoint schedule, and a processor configured to execute the instructions. The instructions may cause the processor to control an environmental control system based at least in part on the current setpoint schedule, and to determine the current setpoint schedule by detecting user behavior that indicates satisfaction with setpoints, based at least in part on the detected user behavior, determining a preference function that maps weights indicating user preferences for setpoints, determining candidate setpoint schedules, scoring the candidate setpoint schedules against the weights of the preference function to obtain first scores, where candidate setpoint schedules that best fit the weights of the preference function have the highest first scores, modifying the first scores to obtain second scores, and selecting the candidate setpoint schedule with the highest second score as a new current setpoint schedule.
Abstract:
The various embodiments described herein include methods, devices, and systems for providing event alerts. In one aspect, a method includes: (1) obtaining a video feed, the video feed comprising a plurality of images; and, (2) for each image, analyzing the image to determine whether the image includes a person, the analyzing including: (a) determining that the image includes a potential instance of a person by analyzing the image at a first resolution; (b) in accordance with the determination that the image includes the potential instance, denoting a region around the potential instance; (c) determining whether the region includes an instance of the person by analyzing the region at a second resolution, greater than the first resolution; and (d) in accordance with a determination that the region includes the instance of the person, determining that the image includes the person.
Abstract:
The various embodiments described herein include methods, devices, and systems for providing event alerts. In one aspect, a method includes: (1) obtaining a first category for a first motion event, the first motion event corresponding to a first plurality of video frames; (2) sending a first alert indicative of the first category to a user; (3) after sending the first alert, obtaining a second category for a second motion event corresponding to a second plurality of video frames; (4) in accordance with a determination that the second category is the same as the first category, determining whether a predetermined amount of time has elapsed since the sending of the first alert; (5) if the predetermined amount of time has elapsed, sending a second alert indicative of the second category to the user; and (6) if the predetermined amount of time has not elapsed, forgoing sending the second alert.
Abstract:
In an embodiment, an electronic device may include storage containing processor-executable instructions, a preference function that maps weights indicating likely user preferences for the range of values of a device setting in relation to a range of values of a variable, and a current automated device control schedule configured to control the device setting of the electronic device in relation to the variable, and a processor. The instructions may cause the processor to determine the current automated device control schedule based on the preference function by detecting user behavior that indicates satisfaction or dissatisfaction with values of the device setting in relation to the variable, updating the preference function based on the detected user behavior, and determining the current automated device control schedule by comparing a number of candidate device control schedules against the weights of the preference function and selecting the candidate with the highest score.