IP Library › Granted Patent US 12,126,917
Granted Patent B1
US 12,126,917 · App. 17/740,817 · Granted Oct 22, 2024

Dual-stream video management

Inventors: Sabrina Shemet (Felton, CA); Matthew Basham (Oakland, CA); John Charles Bicket (Burlingame, CA); Mathew Chasan Calmer (Sacramento, CA); Justin Delegard (West Chester, OH); Derrek Harrison (San Francisco, CA); David Liang (San Francisco, CA); Ava O'Neill (San Francisco, CA); Cassandra Lee Rommel (Chicago, IL); Meelap Shah (Portland, OR); Casey Takahashi (San Francisco, CA); Ingo Wiegand (San Francisco, CA)
Assignee: SAMSARA INC.
H04N23/951B60R11/04G06F16/71G06F16/786H04N5/268H04N23/90B60R2011/0003
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 12,126,917
App. No.
17/740,817
Filed
May 10, 2022
Granted
Oct 22, 2024
Kind
B1
Art Unit
2484
USPC
386/278
Abstract

An Internet of Things (IoT) or vehicle dash cam may store both a high-resolution and low-resolution video stream on a device. The video streams are selectively accessible by remote devices. Because of the relatively smaller storage requirements of low-resolution video files, retaining of additional video data on the vehicle device (beyond what would be possible with only high-resolution video) is possible. The user may be provided an option to adjust the amount of low-resolution and high-resolution video to store on the device. A combined media file may be generated by a device to include time-synced high-resolution video, low-resolution video, and/or metadata for a particular time period.

Claims (60)

1. A computing system comprising:

a hardware computer processor; and

a non-transitory computer readable medium having software instructions stored thereon, the software instructions executable by the hardware computer processor to cause the computing system to perform operations comprising:

accessing a high-resolution video stream associated with a physical environment from a first camera;

accessing a low-resolution video stream associated with the physical environment from the first camera;

accessing audio data associated with the physical environment;

generating a combined media file comprising at least the high-resolution video stream, the low-resolution video stream, and the audio data;

storing the combined media file on the computer readable medium with an associated maximum video file allocation; and

in response to exceeding the maximum video file allocation with the high-resolution video stream, the low-resolution video stream, and the audio data stored on the computer readable medium:

determining a portion of the combined media file associated with an oldest timestamp of high-resolution video, the determined portion spanning a time period; and

removing, from the combined media file, at least the high-resolution video stream for the time period, wherein the low-resolution video stream for the time period is maintained in the combined media file, to increase available storage space on the computer readable medium.

2. The computing system of claim 1 , further comprising;

determining a high-resolution storage allocation for high-resolution video and a low-resolution storage allocation for low-resolution video, wherein the high-resolution storage allocation plus the low-resolution storage allocation are less than the maximum video file allocation;

in response to the exceeding the maximum video file allocation, determining whether the low-resolution storage allocation for low-resolution video has been exceeded; and

in response to determining that the low-resolution storage allocation for low-resolution video has been exceeded, determining an oldest portion of the low-resolution video stream and removing the determined oldest portion of the low-resolution video stream from the combined media file.

3. The computing system of claim 2 , wherein the maximum video file allocation comprises a free space allocation, the high-resolution storage allocation and the low-resolution storage allocation.

4. The computing system of claim 3 , wherein the free space allocation is less than about ten percent of the maximum video file allocation.

5. The computing system of claim 2 , further comprising:

providing an allocation user interface to a remote computing device, the allocation user interface including one or more selectable controls usable to adjust a desired allocation between the high-resolution storage allocation and low-resolution storage allocation; and

updating the high-resolution storage allocation and the low-resolution storage allocation based on user input in the allocation user interface.

6. The computing system of claim 1 , wherein the low-resolution video and the high-resolution video are generated by an imaging device within the physical environment.

7. The computing system of claim 1 , further comprising:

receiving, from a remote computing device, a request for video data for a requested time period; and

if high-resolution video for the requested time period is not stored on the computer readable medium, if low-resolution video for the requested time period is stored on the computer readable medium, initiating transmission of the low-resolution video for the requested time period to the remote computing device.

8. The computing system of claim 1 , wherein a ratio of storage space required for the high-resolution video compared to the low-resolution video is at least 10:1.

9. The computing system of claim 1 , wherein the portion of the combined media file has the oldest timestamp.

10. The computing system of claim 1 , wherein the low-resolution video and the high-resolution video are generated by a graphics processor of an imaging device within the physical environment.

11. A computerized method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising:

accessing a high-resolution video stream associated with a physical environment from a first camera;

accessing a low-resolution video stream associated with the physical environment from the first camera;

accessing audio data associated with the physical environment;

generating a combined media file comprising at least the high-resolution video stream, the low-resolution video stream, and the audio data;

storing the combined media file on the computer readable medium with an associated maximum video file allocation; and

in response to exceeding the maximum video file allocation with the high-resolution video stream, the low-resolution video stream, and the audio data stored on the computer readable medium:

determining a portion of the combined media file associated with an oldest timestamp of high-resolution video, the determined portion spanning a time period; and

removing, from the combined media file, at least the high-resolution video stream for the time period, wherein the low-resolution video stream for the time period is maintained in the combined media file, to increase available storage space on the computer readable medium.

12. The computerized method of claim 11 , further comprising;

determining a high-resolution storage allocation for high-resolution video and a low-resolution storage allocation for low-resolution video, wherein the high-resolution storage allocation plus the low-resolution storage allocation are less than the maximum video file allocation;

in response to exceeding the maximum video file allocation, determining whether the low-resolution storage allocation for low-resolution video has been exceeded; and

in response to determining that the low-resolution storage allocation for low-resolution video has been exceeded, determining an oldest portion of the low-resolution video stream and removing the determined oldest portion of the low-resolution video stream from the combined media file.

13. The computerized method of claim 12 , wherein the maximum video file allocation comprises a free space allocation, the high-resolution storage allocation and the low-resolution storage allocation.

14. The computerized method of claim 13 , wherein the free space allocation is less than about ten percent of the maximum video file allocation.

15. The computerized method of claim 12 , further comprising:

providing an allocation user interface to a remote computing device, the allocation user interface including one or more selectable controls usable to adjust a desired allocation between the high-resolution storage allocation and low-resolution storage allocation; and

updating the high-resolution storage allocation and the low-resolution storage allocation based on user input in the allocation user interface.

16. The computerized method of claim 11 , further comprising:

receiving, from a remote computing device, a request for video data for a requested time period; and

if high-resolution video for the requested time period is stored on the computer readable medium, initiate transmission of the high-resolution video for the requested time period to the remote computing device; or

if high-resolution video for the requested time period is not stored on the computer readable medium, if low-resolution video for the requested time period is stored on the computer readable medium, initiating transmission of the low-resolution video for the requested time period to the remote computing device.

17. The computerized method of claim 11 , wherein a ratio of storage space required for the high-resolution video compared to the low-resolution video is at least 10:1.

18. The computerized method of claim 11 , wherein the portion of the combined media file has the oldest timestamp.

19. A non-transitory computer readable medium having software instructions stored thereon, the software instructions executable by a hardware computer processor to cause a computing system to perform operations comprising:

accessing a high-resolution video stream associated with a physical environment from a first camera;

accessing a low-resolution video stream associated with the physical environment from the first camera;

accessing audio data associated with the physical environment;

generating a combined media file comprising at least the high-resolution video stream, the low-resolution video stream, and the audio data;

storing the combined media file on the computer readable medium with an associated maximum video file allocation; and

in response to exceeding the maximum video file allocation with the high-resolution video stream, the low-resolution video stream, and the audio data stored on the computer readable medium:

determining a portion of the combined media file associated with an oldest timestamp of high-resolution video, the determined portion spanning a time period; and

removing, from the combined media file, at least the high-resolution video stream for the time period, wherein the low-resolution video stream for the time period is maintained in the combined media file, to increase available storage space on the computer readable medium.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2026
From: CHASAN, MATHEW
To: SAMSARA INC.
Reel/Frame 073522/0216 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2022
From: SHEMET, SABRINA; BASHAM, MATTHEW; BICKET, JOHN CHARLES; CALMER, MATHEW CHASAN; DELEGARD, JUSTIN; HARRISON, DERREK; LIANG, DAVID; O'NEILL, AVA; ROMMEL, CASSANDRA LEE; SHAH, MEELAP; TAKAHASHI, CASEY; WIEGAND, INGO
To: SAMSARA INC.
Reel/Frame 061451/0865 →
Continuity (2)
Continuation 17365300 · Jul 1, 2021
Provisional Application 63186631 · May 10, 2021
Cited By (32)
US 12,253,617 US 12,256,021 US 12,260,616 US 12,269,498 US 12,289,181 US 12,306,010 US 12,327,445 US 12,328,639 US 12,346,712 US 12,367,718 US 12,426,007 US 12,450,329 US 12,479,446 US 12,501,178 US 12,511,947 US 12,524,314 US 12,534,097 US 12,561,624 US 12,565,143 US 12,626,200 US 12,630,050 US 12,646,402 US 12,651,529 US 12,662,152 US 12,665,989 US 12,671,464 US 12,675,419 US 12,701,004 US 12,717,981 US 12,730,425 US 12,742,846 US 12,748,942