US 12,015,871 B2
Continuous video capture glasses
Armaan Saini, La Palma, CA (US); Casey Spencer, Woodland Hills, CA (US); and Vivek Vinodh, Los Angeles, CA (US)
Assigned to HINDSIGHT TECHNOLOGIES, LLC
Filed by HINDSIGHT TECHNOLOGIES, LLC, Los Angeles, CA (US)
Filed on Mar. 7, 2023, as Appl. No. 18/118,345.
Application 17/536,962 is a division of application No. 17/087,290, filed on Nov. 2, 2020, granted, now 11,190,725, issued on Nov. 30, 2020.
Application 17/087,290 is a division of application No. 16/293,462, filed on Mar. 5, 2019, granted, now 10,834,357, issued on Nov. 10, 2020.
Application 18/118,345 is a continuation of application No. 17/536,962, filed on Nov. 29, 2021, granted, now 11,601,616.
Claims priority of provisional application 62/638,820, filed on Mar. 5, 2018.
Prior Publication US 2023/0336685 A1, Oct. 19, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04N 5/77 (2006.01); G02B 27/01 (2006.01); G06F 3/01 (2006.01); H04N 23/68 (2023.01)
CPC H04N 5/772 (2013.01) [G02B 27/017 (2013.01); G06F 3/013 (2013.01); H04N 23/68 (2023.01); G02B 2027/0178 (2013.01); G02B 2027/0187 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A continuous video capture apparatus, comprising:
a camera;
a capture button; and
video capture circuitry, comprising:
a processor, and
a computer-readable medium containing instructions that when executed cause the processor to:
receive raw video data from the camera;
encode the received video data;
place the encoded video in a buffer at a data end position;
update the data end position to a next available address in the buffer; and
update a data start position to a location corresponding to a predetermined amount of video time behind the data end position,
wherein the capture button is configured, upon receiving a single press, to cause the processor to:
allocate memory to extend the buffer to support an additional predetermined amount of video;
save the current data end position and update it to point to an extended portion of the buffer;
save the contents of an original portion of the buffer to file;
add the contents of the new portion of the buffer to the file;
deallocate the old portion of the buffer; and
send the file to an external device.