US11804248B2ActiveUtilityA1

Timecode generation and assignment

62
Assignee: AMAZON TECH INCPriority: Sep 25, 2019Filed: Apr 22, 2022Granted: Oct 31, 2023
Est. expirySep 25, 2039(~13.2 yrs left)· nominal 20-yr term from priority
G11B 27/3036G11B 27/022G11B 27/034H04N 21/8547H04N 21/23608
62
PatentIndex Score
0
Cited by
22
References
19
Claims

Abstract

A timecoding technique for determining and assigning timecodes for variable frame rate video. Content identified for timecode assignment is decoded, and for sequential frames of the content, portions of timestamps are compared to determine if the frames are from a same time period (e.g., from the same second in time). For a subsequent frame from the same time period, an index is atomically incremented, a timecode generated from a combination of the time period and the index, and the timecode assigned to the frame. For a subsequent frame from a different time period, the index is initialized, a timecode generated from a combination of the different time period and the initialized index, and the timecode assigned to the frame. Accumulated durations of frames may be used in place of timestamps, in some instances.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system, comprising:
 one or more computing devices configured to implement a transcoder configured to:
 receive a content; 
 decode the content; 
 determine, for frames of a plurality of video frames of the content and based on accumulated durations of one or more of the frames, time periods to which the frames are assigned; 
 for individual ones of the time periods to which frames are assigned:
 index the frames of the time period to establish a sequence of the frames assigned to the time period, 
 assign a first frame in the index a time code based on the respective time period and an initial index value, and 
 for each subsequent frame in the index:
 increment the index value, and 
 assign a time code based on the respective time period and the incremented index value to the respective frame; 
 
 
 wherein, for one or more of the time periods, a time period portion of the time code increments to the next time period even though an index portion of the time code has not reached a point at which constant frame rate video processing would go to the next time period; and 
 process, based at least in part on the time codes, at least a portion of the video frames. 
 
 
     
     
       2. The system of  claim 1 , wherein:
 the first frame in the index is assigned the time code based on the respective time period and the initial index value regardless of when the frame occurs in the time period; and 
 the subsequent frames are assigned subsequent index values regardless of when the subsequent frames occur in the respective time period. 
 
     
     
       3. The system of  claim 1 , wherein for a set of sequential frames of the plurality of video frames, differences between respective timestamps of sequential frames does not correspond to differences between respective timecodes for the sequential frames. 
     
     
       4. The system of  claim 1 , further comprising:
 a provider network of a service provider that provides compute and storage services to a plurality of distinct clients of the service provider; 
 wherein the service provider network provides access to the transcoder over the provider network as a service to the plurality of distinct clients. 
 
     
     
       5. The system of  claim 1 , further comprising:
 a service provider network comprising one or more computing devices configured to implement a storage service and a content delivery network; 
 wherein:
 the service provider network provides access to the transcoder over the provider network as a service to a plurality of distinct clients; 
 the transcoder transcodes the content into a plurality of distinct formats; 
 the plurality of distinct formats of the content are stored by the storage service; and 
 the content delivery network provides the content in the plurality of distinct formats for consumption by content consumers. 
 
 
     
     
       6. The system of  claim 1 , wherein the transcoder is configured to:
 transcode, based at least in part on the newly-assigned time codes of the frames, the content into one or more distinct files each having a distinct format; and 
 transmit the distinct files to one or more data stores for storage. 
 
     
     
       7. A method, comprising:
 performing a timecoding technique comprising:
 determining, for frames of a plurality of video frames of a content and based on accumulated durations of one or more of the frames, time periods to which the frames are assigned; and 
 for individual ones of the time periods to which frames are assigned:
 indexing the frames of the time period to establish a sequence of the frames assigned to the time period, 
 assigning a first frame in the index a time code based on the respective time period and an initial index value, and 
 for each subsequent frame in the index:
 incrementing the index value, and 
 assigning a time code based on the respective time period and the incremented index value to the respective frame; 
 
 
 wherein, for one or more of the time periods, a time period portion of the time code increments to the next time period even though an index portion of the time code has not reached a point at which constant frame rate video processing would go to the next time period. 
 
 
     
     
       8. The method of  claim 7 , wherein a difference between timestamps of frames of the content does not necessarily correspond to differences between timecodes for the respective frames. 
     
     
       9. The method of  claim 7 , further comprising:
 determining that the frames of the content do not include embedded timecodes; and 
 performing, responsive to said determining that the frames of the content do not include embedded timecodes, said timecoding technique for the frames of the content. 
 
     
     
       10. The method of  claim 7 , comprising:
 determining that the frames of the content do include embedded timecodes; 
 determining that a selectable option to assign new timecodes to the video frames of content has been selected; and 
 performing, responsive to said determining that the selectable option to assign new timecodes to the video frames of content has been selected, said timecoding technique for the frames of the content. 
 
     
     
       11. The method of  claim 7 , comprising:
 determining that the content is encoded at a variable frame rate; and 
 performing, responsive to said determining that the content is encoded at the variable frame rate, said timecoding technique for the frames of the content. 
 
     
     
       12. The method of  claim 7 , comprising:
 receiving, at a service provider network, a plurality of content files; 
 determining that a first content file of the content files is not variable frame rate, and using one or more standard processing techniques to process the first content file into multiple distinct content files, each suitable for delivery via a content delivery network to respective distinct types of display devices; and 
 determining that a second content file of the content files is variable frame rate, and using said timecoding technique to process the first content file into multiple distinct content files, each suitable for delivery via the content delivery network to respective distinct types of display devices. 
 
     
     
       13. The method of  claim 7 , wherein:
 the first frame in the index is assigned the time code based on the respective time period and the initial index value regardless of when the frame occurs in the respective time period; and 
 the subsequent frames are assigned subsequent index values regardless of when the subsequent frames occur in the respective time period. 
 
     
     
       14. One or more non-transitory, computer-readable storage media storing program instructions that when executed on or across one or more hardware processors perform:
 a timecoding technique comprising:
 determining, for frames of a plurality of video frames of a content and based on accumulated durations of one or more of the frames, time periods to which the frames are assigned; and 
 for individual ones of the time periods to which frames are assigned:
 indexing the frames of the time period to establish a sequence of the frames assigned to the time period, 
 assigning a first frame in the index a time code based on the respective time period and an initial index value, and 
 for each subsequent frame in the index:
 incrementing the index value, and 
 assigning a time code based on the respective time period and the incremented index value to the respective frame; 
 
 
 wherein, for one or more of the time periods, a time period portion of the time code increments to the next time period even though an index portion of the time code has not reached a point at which constant frame rate video processing would go to the next time period. 
 
 
     
     
       15. The one or more non-transitory, computer-readable storage media of  claim 14 , wherein for a set of sequential frames of the plurality of video frames, differences between timestamps of sequential frames does not correspond to differences between respective timecodes for the sequential frames. 
     
     
       16. The one or more non-transitory, computer-readable storage media of  claim 14 , storing program instructions that when executed perform:
 determining that the frames of the content do not include embedded timecodes; and 
 performing, responsive to said determining that the frames of the content do not include embedded timecodes, said timecoding technique for the frames of the content. 
 
     
     
       17. The one or more non-transitory, computer-readable storage media of  claim 14 , storing program instructions that when executed perform:
 determining that the frames of the content do include embedded timecodes; 
 determining that a selectable option to assign new timecodes to the video frames of content has been selected; and 
 performing, responsive to said determining that the selectable option to assign new timecodes to the video frames of content has been selected, said timecoding technique for the frames of the content. 
 
     
     
       18. The one or more non-transitory, computer-readable storage media of  claim 14 , storing program instructions that when executed perform:
 determining that the content is encoded at a variable frame rate; and 
 performing, responsive to said determining that the content is encoded at the variable frame rate, said timecoding technique for the frames of the content. 
 
     
     
       19. The one or more non-transitory, computer-readable storage media of  claim 14 , storing program instructions that when executed perform:
 receiving, at a service provider network, a plurality of content files; 
 determining that a first content file of the content files is not variable frame rate, and using one or more standard processing techniques to process the first content file into multiple distinct content files, each suitable for delivery via a content delivery network to respective distinct types of display devices; and 
 determining that a second content file of the content files is variable frame rate, and using said timecoding technique to process the first content file into multiple distinct content files, each suitable for delivery via the content delivery network to respective distinct types of display devices.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.