IP Library › Granted Patent US 11,849,248
Granted Patent B2
US 11,849,248 · App. 17/326,058 · Granted Dec 19, 2023

Method and apparatus for pre-buffer media storage

Inventors: Anandhakumar Chinnaiyan (Fremont, CA); Michael A. Ramirez (Mountain View, CA); Naveen Chinya Krishnamurthy (Fremont, CA); Feng Li (Cupertino, CA)
Assignee: GoPro, Inc.
H04N5/907H04N5/0736H04N5/2625H04N5/772
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 11,849,248
App. No.
17/326,058
Filed
May 20, 2021
Granted
Dec 19, 2023
Kind
B2
Art Unit
2639
USPC
348/231.99
Abstract

Image capture devices and methods may be used to pre-buffer media storage. The pre-buffering method includes recording an image capture segment in a circular buffer. The circular buffer includes a number of recordable segments. The pre-buffering method includes determining whether a key moment command is received. If a key moment command is not received, the method includes recording a next image capture segment in a next adjacent recordable segment of the circular buffer if the next adjacent recordable segment of the predetermined number of recordable segments is available. If a key moment command is not received, the method includes overwriting an oldest recordable segment if the next adjacent recordable segment of the predetermined number of recordable segments is not available. If a key moment command is received, the pre-buffering method includes marking a wrap point in the circular buffer and switching from recording in the circular buffer to linear recording.

Claims (49)

1. A pre-buffering method comprising:

recording an image capture segment in a circular buffer, wherein the circular buffer includes a predetermined number of recordable segments;

determining whether a key moment command is received;

on a condition that a key moment command is not received, the pre-buffering method further comprising:

recording a next image capture segment in a next adjacent recordable segment of the circular buffer on a condition that the next adjacent recordable segment of the predetermined number of recordable segments is available; and

overwriting an oldest recordable segment on a condition that the next adjacent recordable segment of the predetermined number of recordable segments is not available; and

on a condition that a key moment command is received, the pre-buffering method further comprising:

marking a wrap point in the circular buffer;

switching from recording in the circular buffer to linear recording; and

storing the circular buffer and the linear recording in a media file format, wherein the media file format comprises a first portion and a second portion, wherein the first portion is an mdat portion and the second portion is a moov portion.

2. The pre-buffering method of claim 1 , wherein the key moment command is associated with a shutter button press, an audio command, or a touch display input.

3. The pre-buffering method of claim 1 , wherein each of the predetermined number of recordable segments has a predetermined duration of time.

4. The pre-buffering method of claim 3 , wherein the predetermined duration of time is 0.5 seconds to 30 seconds.

5. The pre-buffering method of claim 1 , wherein marking the wrap point in the circular buffer includes stopping the circular buffer recording.

6. The pre-buffering method of claim 1 , wherein linear recording comprises recording frames in a portion of a memory outside the circular buffer.

7. The pre-buffering method of claim 1 , further comprising:

determining whether an input is received;

on a condition that the input is received, stopping the linear recording; and

on a condition that the input is not received, continuing the linear recording.

8. The pre-buffering method of claim 7 , wherein the input is a button press, an audio command, or a touch display input.

9. The pre-buffering method of claim 8 , wherein the input is an indication or command to stop linear recording.

10. An image capture device comprising:

a memory comprising a circular buffer configured to record an image capture segment, wherein the circular buffer includes a predetermined number of recordable segments;

a processor configured to determine whether a key moment command is received;

on a condition that a key moment command is not received, the memory further configured to:

record a next image capture segment in a next adjacent recordable segment of the circular buffer on a condition that the next adjacent recordable segment of the predetermined number of recordable segments is available; and

overwrite an oldest recordable segment on a condition that the next adjacent recordable segment of the predetermined number of recordable segments is not available; and

on a condition that a key moment command is received, the processor further configured to:

mark a wrap point in the circular buffer; and

switch from recording in the circular buffer to linear recording,

wherein the memory is configured to store the circular buffer and the linear recording in a media file format, and wherein the media file format comprises a first portion and a second portion.

11. The image capture device of claim 10 , wherein the processor is configured to stop the circular buffer recording.

12. The image capture device of claim 10 , wherein the memory is configured to perform linear recording by recording frames in a portion of the memory outside the circular buffer.

13. The image capture device of claim 10 , wherein the processor is further configured to:

determine whether an input is received;

on a condition that the input is received, stop the linear recording; and

on a condition that the input is not received, continue the linear recording.

14. The image capture device of claim 10 , wherein the memory is a secure digital (SD) card.

15. The image capture device of claim 10 , wherein the first portion is an mdat portion and the second portion is a moov portion.

16. A storage device comprising:

a memory comprising a circular buffer configured to:

record a data segment, wherein the circular buffer includes a predetermined number of recordable segments;

record a next data segment in a next adjacent recordable segment of the circular buffer on a condition that the next adjacent recordable segment of the predetermined number of recordable segments is available;

overwrite an oldest recordable segment on a condition that the next adjacent recordable segment of the predetermined number of recordable segments is not available; and

store the circular buffer and a linear recording portion in a media file format, wherein the media file format comprises a first portion and a second portion, wherein the first portion is an mdat portion and the second portion is a moov portion.

17. The storage device of claim 16 , wherein the mdat portion comprises a pre-buffer portion and a linear recording portion.

18. The storage device of claim 17 , wherein the pre-buffer portion comprises a first portion of frames and a second portion of frames, wherein the first portion of frames are recorded temporally prior to the second portion of frames, and wherein the second portion of frames are stored spatially prior to the first portion of frames.

19. The storage device of claim 18 , wherein the linear recording portion comprises a third portion of frames, wherein the third portion of frames are recorded temporally after the first portion of frames and the second portion of frames, wherein the third portion of frames are stored spatially after the first portion of frames and the second portion of frames, and wherein the third portion of frames are stored adjacent to the first portion of frames.

20. The storage device of claim 19 , wherein the moov portion comprises a first index associated with the first portion of frames, a second index associated with the second portion of frames, and a third index associated with the third portion of frames, and wherein the first index, the second index, and the third index are used for video playback.

Assignments (3)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2021
From: CHINNAIYAN, ANANDHAKUMAR; RAMIREZ, MICHAEL A.; KRISHNAMURTHY, NAVEEN CHINYA; LI, FENG
To: GOPRO, INC.
Reel/Frame 056306/0426 →
Continuity (2)
Provisional Application 63031156 · May 28, 2020
Related Publication 20210377487A1 · Dec 2, 2021
Cited By (4)
US 12,189,277 US 12,379,650 US 12,574,622 US 12,652,421