IP Library Granted Patent US 10,419,798
Granted Patent B2
US 10,419,798 · App. 15/388,474 · Granted Sep 17, 2019

Method and apparatus for just-in-time transcoding

Inventors: Andrew Fuller (Dublin, IE); Robert Slotte (Helsinki, FI); Kuan Eeik Tan (Espoo, FI); Rauli Ikonen (Espoo, FI)
Assignee: Synchronoss Technologies, Inc.
H04N21/26258H04L65/4084H04L65/4092H04L65/602H04L65/607H04N21/23439H04N21/8455H04N21/8456
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 10,419,798
App. No.
15/388,474
Granted
Sep 17, 2019
Kind
B2
Abstract

A computer implemented method and apparatus for just-in-time transcoding. The method comprises receiving at a media server, video content, wherein the video content comprises a plurality of key frames and delta frames; generating, in response to receiving the video content, metadata, wherein the metadata is a lookup table of the plurality of key frames; storing the video content and the metadata; receiving a first request to view video content; generating a playlist for the video content; receiving a second request to view a video segment of the video content; and transcoding the video segment; and transmitting the transcoded video segment.

Claims (63)

1. A computer implemented method for just-in-time transcoding comprising:

receiving at a media server, video content, wherein the video content comprises a plurality of key frames and delta frames;

generating, in response to receiving the video content, metadata, wherein the metadata is a lookup table of the plurality of key frames;

storing the received video content in a format the video content was received and the generated metadata;

receiving a first request to view video content;

generating, in response to the first request, a playlist for the video content using the generated metadata;

receiving a second request to view a video segment of the video content;

transcoding, in response to the second request, the video segment; and

transmitting the transcoded video segment,

wherein generating the playlist comprises:

performing a lookup of each key frame in the metadata;

for each key frame in the video content:

identifying a video segment as a portion of video comprising a key frame and the plurality of delta frames following the key frame; and

identifying a segment number for the video segment, a byte number of the key frame, and a time offset of the key frame; and

storing, as the playlist, a menu comprising a universal resource identifier link for each segment at each of a low resolution, medium resolution, and high resolution.

2. The method of claim 1 , wherein the video content is user generated content.

3. The method of claim 1 , wherein the metadata comprises a byte number of each key frame in the video content and a time offset for each key frame.

4. The method of claim 1 , wherein storing the video content comprises storing a plurality of original bytes of the received video content.

5. The method of claim 1 , wherein the first request is received from a video player.

6. The method of claim 1 , wherein the second request identifies a type of video codec for which the video segment is to be transcoded.

7. A media server for just-in-time transcoding comprising:

a) at least one processor;

b) at least one input device; and

c) at least one storage device storing processor executable instructions which, when executed by the at least one processor, perform a method including:

receiving at a media server, video content, wherein the video content comprises a plurality of key frames and delta frames;

generating, in response to receiving the video content, metadata, wherein the metadata is a lookup table of the plurality of key frames;

storing the received video content in a format the video content was received and the generated metadata;

receiving a first request to view video content;

generating, in response to the first request, a playlist for the video content using the generated metadata;

receiving a second request to view a video segment of the video content; and

transcoding, in response to the second request, the video segment; and

transmitting the transcoded video segment,

wherein generating the playlist comprises:

performing a lookup of each key frame in the metadata;

for each key frame in the video content:

identifying a video segment as a portion of video comprising a key frame and the plurality of delta frames following the key frame; and

identifying a segment number for the video segment, a byte number of the key frame, and a time offset of the key frame; and

storing, as the playlist, a menu comprising a universal resource identifier link for each segment at each of a low resolution, medium resolution, and high resolution.

8. The media server of claim 7 , wherein the video content is user generated content.

9. The media server of claim 7 , wherein the metadata comprises a byte number of each key frame in the video content and a time offset for each key frame.

10. The media server of claim 7 , wherein storing the video content comprises storing the original bytes of a plurality of original bytes of the received video content.

11. The media server of claim 7 , wherein the first request is received from a video player.

12. The media server of claim 7 , wherein the second request identifies a type of video codec for which the video segment is to be transcoded.

13. A non-transitory computer readable medium for storing computer instructions that, when executed by at least one processor causes the at least one processor to perform

a method for just-in-time transcoding comprising:

receiving at a media server, video content, wherein the video content comprises a plurality of key frames and delta frames;

generating, in response to receiving the video content, metadata, wherein the metadata is a lookup table of the plurality of key frames;

storing the received video content in a format the video content was received and the generated metadata;

receiving a first request to view video content;

generating, in response to the first request, a playlist for the video content using the generated metadata;

receiving a second request to view a video segment of the video content;

transcoding, in response to the second request, the video segment; and

transmitting the transcoded video segment,

wherein generating the playlist comprises:

performing a lookup of each key frame in the metadata;

for each key frame in the video content:

identifying a video segment as a portion of video comprising a key frame and the plurality of delta frames following the key frame; and

identifying a segment number for the video segment, a byte number of the key frame, and a time offset of the key frame; and

storing, as the playlist, a menu comprising a universal resource identifier link for each segment at each of a low resolution, medium resolution, and high resolution.

14. The non-transitory computer readable medium of claim 13 , wherein the video content is user generated content.

15. The non-transitory computer readable medium of claim 13 , wherein the metadata comprises a byte number of each key frame in the video content and a time offset for each key frame.

16. The non-transitory computer readable medium of claim 13 , wherein storing the video content comprises storing a plurality of original bytes of the received video content.

17. The non-transitory computer readable medium of claim 13 , wherein the second request identifies a type of video codec for which the video segment is to be transcoded.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2025
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A.
Reel/Frame 071224/0279 →
SECURITY INTEREST Recorded Oct 29, 2019
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050854/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2018
From: FULLER, ANDREW; TAN, KUAN EEIK; IKONEN, RAULI
To: SYNCHRONOSS TECHNOLOGIES, INC.
Reel/Frame 045346/0881 →