G11B27/10

SERVER SIDE CROSSFADING FOR PROGRESSIVE DOWNLOAD MEDIA
20180005667 · 2018-01-04 ·

Systems and methods are provided to implement and facilitate cross-fading, interstitials and other effects/processing of two or more media elements in a personalized media delivery service. Effects or crossfade processing can occur on the broadcast, publisher or server-side, but can still be personalized to a specific user, in a manner that minimizes processing on the downstream side or client device. The cross-fade can be implemented after decoding, processing, re-encoding, and rechunking the relevant chunks of each component clip. Alternatively, the cross-fade or other effect can be implemented on the relevant chunks in the compressed domain, thus obviating any loss of quality by re-encoding. A large scale personalized content delivery service can limit the processing to essentially the first and last chunks of any file, there being no need to process the full clip.

SYSTEMS AND METHODS FOR DIGITAL MEDIA STORAGE AND PLAYBACK
20180007439 · 2018-01-04 ·

Methods and systems for storage and playback of broadcast media received via a local digital video recording (DVR) system. The system includes the DVR system configured to receive the broadcast media and upload the broadcast media to a storage server over a network. The DVR system divides the broadcast media content into blocks and assigns a unique block ID to each block based on the block data. Prior to uploading each block to the storage server, the unique block ID is sent to the storage server, which only uploads and stored the block if a duplicate block has not already been stored on the storage device, minimizing network demand. A transcoding server coupled to the storage server transcodes the broadcast media content for streaming over the network.

SYSTEMS AND METHODS FOR DIGITAL MEDIA STORAGE AND PLAYBACK
20180007439 · 2018-01-04 ·

Methods and systems for storage and playback of broadcast media received via a local digital video recording (DVR) system. The system includes the DVR system configured to receive the broadcast media and upload the broadcast media to a storage server over a network. The DVR system divides the broadcast media content into blocks and assigns a unique block ID to each block based on the block data. Prior to uploading each block to the storage server, the unique block ID is sent to the storage server, which only uploads and stored the block if a duplicate block has not already been stored on the storage device, minimizing network demand. A transcoding server coupled to the storage server transcodes the broadcast media content for streaming over the network.

Generating Moving Thumbnails For Videos
20180005666 · 2018-01-04 ·

A method of generating a moving thumbnail is disclosed. The method includes sampling video frames of a video item. The method further includes determining frame-level quality scores for the sampled video frames. The method also includes determining multiple group-level quality scores for multiple groups of the sampled video frames using the frame-level quality scores of the sampled video frames. The method further includes selecting one of the groups of the sampled video frames based on the multiple group-level quality scores. The method includes creating a moving thumbnail using a subset of the video frames that have timestamps within a range from the start timestamp to the end timestamp.

BROADCAST MANAGEMENT SYSTEM
20180014061 · 2018-01-11 ·

A broadcast management system creates, manages, and streams a broadcast of an event from videos captured from multiple cameras. A video capture system comprising multiple cameras captures videos of the event and transmits the videos to a broadcast management server. The broadcast management server generates a website or other graphical interface that simultaneously displays the captured videos in a time-synchronized manner. A broadcast manager user creates a broadcast by selecting which video to output to the broadcast at any given time. A broadcast map is stored for each broadcast that includes all of the broadcast decisions made by the broadcast manager user such that the broadcast can be recreated at a later time by applying the broadcast map to the raw videos. Using a viewer client, viewers can browse or search for broadcasts and select a broadcast for viewing.

Methods and Systems for Detecting Persons in a Smart Home Environment

The various implementations described herein include methods, devices, and systems for detecting motion and persons. In one aspect, a method is performed at a smart home system that includes a video camera, a server system, and a client device. The video camera captures video and audio, and wirelessly communicates, via the server system, the captured data to the client device. The server system: (1) receives and stores the captured data from the video camera; (2) determines whether an event has occurred, including detected motion; (3) in accordance with a determination that the event has occurred, identifies video and audio corresponding to the event; and (4) classifies the event. The client device receives information indicative of the identified events, displays a user interface for reviewing the video and audio stored by the remote server system, and displays the at least one classification for the event.

SYNCHRONIZATION IN AUDIO PLAYBACK NETWORK INDEPENDENT OF SYSTEM CLOCK

A method is provided for synchronizing playback of audio an/or video by a plurality of separate devices in a computer network. Each separate device generates a virtual clock in response to a timing of the audio codec of a received audio stream. Either the virtual clock is generated directly in response to the tick counter of the audio codec, or by a periodic measurement of the timing of the audio codec interpolated by a monotonic clock. A sample rate converter may be used to slightly adjust the frequency of the virtual clock.

SYNCHRONIZATION IN AUDIO PLAYBACK NETWORK INDEPENDENT OF SYSTEM CLOCK

A method is provided for synchronizing playback of audio an/or video by a plurality of separate devices in a computer network. Each separate device generates a virtual clock in response to a timing of the audio codec of a received audio stream. Either the virtual clock is generated directly in response to the tick counter of the audio codec, or by a periodic measurement of the timing of the audio codec interpolated by a monotonic clock. A sample rate converter may be used to slightly adjust the frequency of the virtual clock.

AUDIO TIME SYNCHRONIZATION USING PRIORITIZED SCHEDULE

A method is provided for synchronizing playback of audio an/or video by a plurality of separate devices in a computer network, e.g. in a wi-fi network. Each separate device is programmed to select a synchronization mechanism in accordance with a predetermined prioritized list of at least two different synchronization mechanisms, and to use the selected synchronization mechanism for synchronizing audio and/or video playback. E.g. use of a clock based on the audio codec clock can be set to a higher priority than use of the system clock, which provides a poorer precision. A session leader serves to provide the synchronization to other separate devices in a session, however a group of two or more separate devices within the session may agree on selecting a synchronization mechanism providing a higher precision than the one provided by the session leader. E.g. to allow high precision timing between separate left and right loudspeakers in a stereo setup. A group leader can be elected to provide synchronization to a group of devices using a higher synchronization precision than the synchronization mechanism provided by the overall session leader. E.g. a dedicated synchronization channel separate from the audio/video streaming channel may be selected.

AUDIO TIME SYNCHRONIZATION USING PRIORITIZED SCHEDULE

A method is provided for synchronizing playback of audio an/or video by a plurality of separate devices in a computer network, e.g. in a wi-fi network. Each separate device is programmed to select a synchronization mechanism in accordance with a predetermined prioritized list of at least two different synchronization mechanisms, and to use the selected synchronization mechanism for synchronizing audio and/or video playback. E.g. use of a clock based on the audio codec clock can be set to a higher priority than use of the system clock, which provides a poorer precision. A session leader serves to provide the synchronization to other separate devices in a session, however a group of two or more separate devices within the session may agree on selecting a synchronization mechanism providing a higher precision than the one provided by the session leader. E.g. to allow high precision timing between separate left and right loudspeakers in a stereo setup. A group leader can be elected to provide synchronization to a group of devices using a higher synchronization precision than the synchronization mechanism provided by the overall session leader. E.g. a dedicated synchronization channel separate from the audio/video streaming channel may be selected.