IP Library Granted Patent US 8,863,208
Granted Patent B2
US 8,863,208 · App. 13/911,212 · Granted Oct 14, 2014

Synchronizing the storing of streaming video

Inventor: Kerry Calvert (San Diego, CA)
Assignee: MicroPower Technologies, Inc.
H04N9/79H04N21/8456H04N21/23106H04N21/64322H04N5/76H04N7/183H04L65/80H04N5/765H04N21/2187H04L65/4084H04N5/772H04N21/26216
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,863,208
App. No.
13/911,212
Granted
Oct 14, 2014
Kind
B2
Abstract

A method, system, and computer-readable medium for synchronizing video are described. The system captures video data with a camera, the video data including a first video data segment and a second video data segment. When a network between the camera and a hub is insufficient to allow downstream real-time streaming of the video data, the system stores the first video data segment on a first storage. When the network is sufficient to allow downstream real-time streaming of the video data, the system transfers the second video data segment from the camera to the hub, reads the first video data segment from the first storage, and transfers the first video data segment to the hub. The system stores the video data segments onto a second storage such that a non-real-time playback from the second storage shows the first video data segment and the second video data segment in sequence.

Claims (51)

1. A method for synchronizing video comprising:

capturing video data with a camera, the video data including a first video data segment and a second video data segment;

when a network between the camera and a hub is insufficient to allow downstream real-time streaming of the video data, storing the first video data segment on a first storage;

when the network between the camera and the hub is sufficient to allow downstream real-time streaming of the video data,

transferring the second video data segment from the camera to the hub over the network,

reading the first video data segment from the first storage, and

transferring the first video data segment to the hub over the network;

storing the first video data segment and the second video data segment onto a second storage such that a non-real-time playback from the second storage shows the first video data segment and the second video data segment in sequence;

creating a keyframe index during the storing; and

when a playback position is requested and the playback position does not exist in the second storage, using the keyframe index to find a next decodable video data, the next decodable video data being stored in the second storage.

2. The method of claim 1 , wherein:

the first video data segment is transferred over the network on a first channel,

the second video data segment is transferred over the network on a second channel, and

the second channel is more time-sensitive than the first channel.

3. The method of claim 1 , further comprising:

displaying a copy of the second video data segment to a viewer in real time during the transferring of the second video data segment.

4. The method of claim 3 , wherein the displaying includes:

transferring the copy of the second video data segment over a display network,

determining a bandwidth of the display network, and

based on the bandwidth of the display network, reducing a full resolution of the second video data segment to make the copy of the second video data segment that is displayed to the viewer.

5. The method of claim 1 , wherein when the network has sufficient bandwidth for real-time streaming of the video data during the second time segment occurring after the first time segment, the hub is configured to send control data to the camera requesting the steps of reading the first video data segment and transferring the first video data segment.

6. A network camera system for synchronizing video comprising:

a camera configured to

(i) capture video data including a first video data segment and a second video data segment,

(ii) store the first video data segment on a first storage when a network is unable to provide for real-time streaming of the video data, and

(iii) transfer the second video data segment to a hub over the network, read the first video data segment from the first storage, and transfer the first video data segment to the hub over the network, when the network is able to provide for the real-time streaming of the video data; and

a hub configured to

(iv) store the first video data segment and the second video data segment onto a second storage such that a non-real-time playback from the second storage shows the first video data segment and the second video data segment in sequence,

(v) create a keyframe index during the storing, and

(vi) when a playback position is requested and the playback position does not exist in the second storage, using the keyframe index to find a next decodable video data, the next decodable video data being stored in the second storage.

7. The network camera system of claim 6 , wherein:

the first video data segment is transferred over the network on a first channel,

the second video data segment is transferred over the network on a second channel, and

the second channel is more time-sensitive than the first channel.

8. The network camera system of claim 6 , wherein:

the hub is further configured to display a copy of the second video data segment to a viewer in real time during the transferring of the second video data segment.

9. The network camera system of claim 8 , wherein the display includes:

transferring the copy of the second video data segment over a display network,

determining a bandwidth of the display network, and

based on the bandwidth of the display network, reducing a full resolution of the second video data segment to make the copy of the second video data segment that is displayed to the viewer.

10. A non-transitory computer-readable medium storing instructions which, when executed by a processor, cause a network camera system to execute a video synchronization method comprising:

capturing video data with a camera, the video data including a first video data segment and a second video data segment;

when a network between the camera and a hub is insufficient to allow downstream real-time streaming of the video data, storing the first video data segment on a first storage;

when the network between the camera and the hub is sufficient to allow downstream real-time streaming of the video data, transferring the second video data segment from the camera to the hub over the network,

reading the first video data segment from the first storage, and transferring the first video data segment to the hub over the network;

storing the first video data segment and the second video data segment onto a second storage such that a non-real-time playback from the second storage shows the first video data segment and the second video data segment in sequence;

creating a keyframe index during the storing; and

when a playback position is requested and the playback position does not exist in the second storage, using the keyfame index to find a next decodable video data, the next decodable video data being stored in the second storage.

11. The non-transitory computer-readable medium of claim 10 , wherein: the first video data segment is transferred over the network on a first channel, the second video data segment is transferred over the network on a second channel, and the second channel is more time-sensitive than the first channel.

12. The non-transitory computer-readable medium of claim 10 , the video synchronization method further comprising: displaying a copy of the second video data segment to a viewer in real time during the transferring of the second video data segment.

13. The non-transitory computer-readable medium of claim 12 , wherein the displaying includes: transferring the copy of the second video data segment over a display network, determining a bandwidth of the display network, and based on the bandwidth of the display network, reducing a full resolution of the second video data segment to make the copy of the second video data segment that is displayed to the viewer.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2019
From: MICROPOWER TECHNOLOGIES, INC.
To: CREDIT MANAGEMENT ASSOCIATION
Reel/Frame 050011/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2016
From: CREDIT MANAGEMENT ASSOCIATION
To: AXIS AB
Reel/Frame 039474/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2013
From: CALVERT, KERRY
To: MICROPOWER TECHNOLOGIES, INC.
Reel/Frame 030557/0400 →
Continuity (3)
Provisional Application 61660953 · Jun 18, 2012
Provisional Application 61680259 · Aug 6, 2012
Related Publication 20130336627A1 · Dec 19, 2013