IP Library Granted Patent US 12,335,580
Granted Patent B2
US 12,335,580 · App. 18/451,491 · Granted Jun 17, 2025

Real-time streaming and playback of digital media

Inventors: Jochen Strunk (Schöneck, DE); Robert Martin Krüger (Darmstadt, DE); Thomas Meyer (Berlin, DE)
Assignee: Signiant Inc.
H04N21/6587G11B27/10H04N21/234309H04N21/2393
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,335,580
App. No.
18/451,491
Granted
Jun 17, 2025
Kind
B2
Abstract

The present technology provides systems and methods to facilitate seek functionality in real-time streaming and playback of digital media. In particular, the present technology provides for generating an index for a digital media file encoded in a non-streaming format, determining a portion of the digital media file to transcode, and transcoding the portion of the digital media file to a proxy format based on the index.

Claims (66)

1. A method comprising:

generating, by a computer system, an index for a digital media file encoded in a non-streaming and non-seekable format while identifying file offsets of key frames of the digital media file during a first pass through the digital media file, wherein generating the index for the digital media file comprises:

identifying, by the computer system, during the first pass through the digital media file, the file offsets of the key frames of the digital media file based on frame headers, and

storing, by the computer system, the file offset and a time offset for each key frame of the digital media file, wherein each file offset provides a respective location within the digital media file for each key frame, and wherein each time offset provides a respective time associated with each key frame;

determining, by the computer system, a portion of the digital media file to transcode; and

transcoding, by the computer system, the portion of the digital media file to a proxy format based on the index.

2. The method of claim 1 , further comprising:

sampling, by the computing system, frames of the digital media file in a second pass through the digital media file; and

extracting, by the computing system, images from the sampled frames of the digital media file.

3. The method of claim 1 , wherein determining the portion of the digital media file to transcode is based on a seek operation, and wherein transcoding the portion of the digital media file comprises:

determining, by the computer system, a file offset corresponding to a time in the digital media file indicated by the seek operation based on the index; and

transcoding, by the computer system, the digital media file from the file offset.

4. The method of claim 1 , wherein determining the portion of the digital media file to transcode is based on a clip operation, and wherein transcoding the portion of the digital media file comprises:

determining, by the computer system, a starting file offset corresponding to a start time in the digital media file indicated by the clip operation based on the index;

determining, by the computer system, an ending file offset corresponding to an end time in the digital media file indicated by the clip operation based on the index; and

transcoding, by the computer system, the digital media file from the starting file offset to the ending file offset.

5. The method of claim 1 , wherein determining the portion of the digital media file to transcode is based on a playback operation, and wherein transcoding the portion of the digital media file comprises:

determining, by the computer system, a file offset corresponding to a beginning of the digital media file based on the index; and

transcoding, by the computer system, the digital media file from the file offset.

6. The method of claim 1 , further comprising:

storing, by the computer system, the transcoded portion of the digital media file; and

providing, by the computer system, the transcoded portion of the digital media file in response to a user request.

7. The method of claim 1 , further comprising:

determining, by the computer system, a first vector embedding based on a frame in the digital media file;

determining, by the computer system, a second vector embedding based on a search query, wherein determining the portion of the digital media file to transcode is based on the first vector embedding and the second vector embedding; and

providing, by the computer system, the transcoded portion of the digital media file in response to the search query.

8. The method of claim 1 , further comprising:

extracting, by the computer system, images of the digital media file during a second pass through the digital media file based on detected scene changes; and

storing, by the computer system, vector embeddings generated based on the images in the index.

9. The method of claim 1 , further comprising:

receiving, by the computer system, a search query for an object; and

determining, by the computer system, a playback position of the digital media file that satisfies the search query.

10. A system comprising:

one or more processors; and

one or more storage devices storing instructions that, when executed by the one or more processors, cause the system to perform:

generating an index for a digital media file encoded in a non-streaming and non-seekable format while identifying file offsets of key frames of the digital media file during a first pass through the digital media file, wherein generating the index for the digital media file comprises:

identifying during the first pass through the digital media file, the file offsets of the key frames of the digital media file based on frame headers, and

storing the file offset and a time offset for each key frame of the digital media file, wherein each file offset provides a respective location within the digital media file for each key frame, and wherein each time offset provides a respective time associated with each key frame;

determining a portion of the digital media file to transcode; and

transcoding the portion of the digital media file to a proxy format based on the index.

11. The system of claim 10 , wherein the instructions further cause the system to perform:

sampling frames of the digital media file in a second pass through the digital media file; and

extracting images from the sampled frames of the digital media file.

12. The system of claim 10 , wherein determining the portion of the digital media file to transcode is based on a seek operation, and wherein transcoding the portion of the digital media file comprises:

determining a file offset corresponding to a time in the digital media file indicated by the seek operation based on the index; and

transcoding the digital media file from the file offset.

13. The system of claim 10 , wherein determining the portion of the digital media file to transcode is based on a clip operation, and wherein transcoding the portion of the digital media file comprises:

determining a starting file offset corresponding to a start time in the digital media file indicated by the clip operation based on the index;

determining an ending file offset corresponding to an end time in the digital media file indicated by the clip operation based on the index; and

transcoding the digital media file from the starting file offset to the ending file offset.

14. A non-transitory computer-readable storage medium including instructions that, when executed by one or more processors of a system, cause the system to perform:

generating an index for a digital media file encoded in a non-streaming and non-seekable format while identifying file offsets of key frames of the digital media file during a first pass through the digital media file, wherein generating the index for the digital media file comprises:

identifying, by the computer system, during the first pass through the digital media file, the file offsets of the key frames of the digital media file based on frame headers, and

storing, by the computer system, the file offset and a time offset for each key frame of the digital media file, wherein each file offset provides a respective location within the digital media file for each key frame, and wherein each time offset provides a respective time associated with each key frame;

determining a portion of the digital media file to transcode; and

transcoding the portion of the digital media file to a proxy format based on the index.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further cause the system to perform:

sampling frames of the digital media file in a second pass through the digital media file; and

extracting images from the sampled frames of the digital media file.

16. The non-transitory computer-readable storage medium of claim 14 , wherein determining the portion of the digital media file to transcode is based on a seek operation, and wherein transcoding the portion of the digital media file comprises:

determining a file offset corresponding to a time in the digital media file indicated by the seek operation based on the index; and

transcoding the digital media file from the file offset.

17. The non-transitory computer-readable storage medium of claim 14 , wherein determining the portion of the digital media file to transcode is based on a clip operation, and wherein transcoding the portion of the digital media file comprises:

determining a starting file offset corresponding to a start time in the digital media file indicated by the clip operation based on the index;

determining an ending file offset corresponding to an end time in the digital media file indicated by the clip operation based on the index; and

transcoding the digital media file from the starting file offset to the ending file offset.

Assignments (2)
SECURITY INTEREST Recorded Dec 23, 2024
From: SIGNIANT INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 069662/0739 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2023
From: STRUNK, JOCHEN; KRÜGER, ROBERT MARTIN; MEYER, THOMAS
To: SIGNIANT INC.
Reel/Frame 065026/0438 →
Continuity (1)
Related Publication 20250063233A1 · Feb 20, 2025
References Cited (15)
US 6734877B1 · Fumitaka · 2004 [cited by applicant]
US 8509598B1 · Ohashi · 2013 [cited by applicant]
US 8849101B2 · Rosser · 2014 [cited by applicant]
US 9020326B2 · Gibbon · 2015 [cited by applicant]
US 9055130B1 · Colwell · 2015 [cited by applicant]
US 9060190B2 · Li · 2015 [cited by applicant]
US 9426543B1 · Li · 2016 [cited by examiner]
US 20090249222A1 · Schmidt · 2009 [cited by applicant]
US 20120063635A1 · Matsushita · 2012 [cited by examiner]
US 20140380376A1 · Schmidt · 2014 [cited by examiner]
US 20160227258A1 · Zhang · 2016 [cited by applicant]
US 20160234504A1 · Good · 2016 [cited by examiner]
US 20190069006A1 · Rachabathuni · 2019 [cited by examiner]
US 20200404036A1 · Cain · 2020 [cited by examiner]
US 20210109966A1 · Ayush · 2021 [cited by examiner]