- Number
- 9924164
- Published
- 2018-03-20
- Filed
- 2013-01-03
- Assignee
- Disney Enterprises, Inc.
- Inventors
- McPhillen; Jared et al.
- CPC
- H04N19/40
- Verdict
- Set aside video re-transcoding efficiency, codec plumbing
- Source
- Google Patents · FreePatentsOnline
Abstract
Systems and methods are provided for re-transcoding portions of a digital media file while maintaining key-frame alignment across a set of digital media files having the same content. Instead of re-transcoding the entire set of digital media files if a portion of a single video fails quality, the disclosed systems and methods allow only the failing portion of the video to be re-transcoded.
Background
TECHNICAL FIELD(1) The present disclosure relates generally to digital media encoding, and more particularly, some embodiments relate to systems and methods for detecting artifacts or defects in encoded digital media files.DESCRIPTION OF THE RELATED ART(2) Due to the growing number of digital media distribution platforms that are available, a single piece of media content, such as a movie, is often digitized or transcoded into different formats and bit-rates. Before these new, compressed assets can be used for distribution, their quality and integrity need to be verified and must pass a defined threshold of perceived quality.BRIEF SUMMARY(3) Systems and methods are provided for re-transcoding portions of a digital media file while maintaining key-frame alignment across a set of digital media files having the same content. Adaptive video streaming often uses multiple digital media files having the same content but differing quality levels. Key frame alignment across the set of files allows relatively seamless switching between different files to adapt to changing connection conditions. Quality control (QC) is typically performed on each file of the set. Instead of re-transcoding the entire set of digital media files if a portion of a single video fails QC, the disclosed systems and methods allow only the failing portion of the video to be re-transcoded. This may provide significant improvements in retranscoding and QC processing time.(4) In some implementations, a timestamp an
Claims
1. A method of re-transcoding a video file, comprising: identifying an original video segment located within a transcoded video file, the original video segment having failed a quality control procedure, wherein the quality control procedure comprises verifying that the original video segment is free from one or more digital media artifacts; obtaining a timestamp and length of the original video segment; obtaining a video statistics file output during transcoding the transcoded video file; parsing the video statistics file to generate a key frame listing file for the original video segment, wherein the key frame listing file comprises a plurality of key frame identifiers, each key frame identifier comprising an original key frame index equal to a frame number of a corresponding key frame; assigning to each key frame identifier a renumbered key frame index without changing a relative spacing between adjacent renumbered key frame indices as compared with adjacent original key frame indices, wherein a first renumbered key frame index from a key frame identifier located at a beginning of the key frame listing file equals a first frame number corresponding to a first key frame located at a beginning of the original video segment; and re-transcoding the original video segment to produce a re-transcoded video segment using the key frame listing file, such that a re-transcoded key frame location in the re-transcoded video segment is the same as an original key frame location from the original video segment, wherein the transcoded video file is transcoded at a first bitrate and is one of a plurality of transcoded video files transcoded at a corresponding plurality of bitrates, and further comprising: using the key frame listing file, re-transcoding video segments corresponding to the original video segment from each of the plurality of transcoded video files to produce a plurality of corresponding re-transcoded video segments for each of the plurality of bitrates.
0.
9. A non-transitory computer readable medium storing a computer program configured to cause a computer to perform a method of re-transcoding a video file, the method comprising: identifying an original video segment located within a transcoded video file, the original video segment having failed a quality control procedure, wherein the quality control procedure comprising verifying that the original video segment is free from one or more digital media artifacts; obtaining a timestamp and length of an the original video segment; obtaining a video statistics file output during transcoding the transcoded video file; parsing the video statistics file to generate a key frame listing file for the video segment, wherein the key frame listing file comprises a plurality of key frame identifiers, each key frame identifier comprising an original key frame index equal to a frame number of a corresponding key frame; assigning to each key frame identifier a renumbered key frame index without changing a relative spacing between adjacent renumbered key frame indices as compared with adjacent original key frame indices, wherein a first renumbered key frame index from a key frame identifier located at a beginning of the key frame listing file equals a first frame number corresponding to a first key frame located at a beginning of the original video segment; and re-transcoding the original video segment to produce a re-transcoded video segment using the key frame listing file, such that a re-transcoded key frame location in the re-transcoded video segment is the same as an original key frame location from the original video segment, wherein the transcoded video file is transcoded at a first bitrate and is one of a plurality of transcoded video files transcoded at a corresponding plurality of bitrates, and further comprising: using the key frame listing file, re-transcoding video segments corresponding to the original video segment from each of the plurality of transcoded video files to produce a plurality of corresponding re-transcoded video segments for each of the plurality of bitrates.
0.
17. A computer, comprising: a processor; a transcoder; and a memory storing instructions to cause the processor to perform the steps of: identifying an original video segment located within a transcoded video file, the original video segment having failed a quality control procedure, wherein the quality control procedure comprises verifying that the original video segment is free from one or more digital media artifacts; obtaining a timestamp and length of the original video segment; obtaining a video statistics file output during transcoding the transcoded video file; parsing the video statistics file to generate a key frame listing file for the video segment, wherein the key frame listing file comprises a plurality of key frame identifiers, each key frame identifier comprising an original key frame index equal to a frame number of a corresponding key frame; assigning to each key frame identifier a renumbered key frame index without changing a relative spacing between adjacent renumbered key frame indices as compared with adjacent original key frame indices, wherein a first renumbered key frame index from a key frame identifier located at a beginning of the key frame listing file equals a first frame number corresponding to a first key frame located at a beginning of the original video segment; and the memory storing instructions to cause the transcoder to re-transcode the original video segment to produce a re-transcoded video segment using the key frame listing file, such that a re-transcoded key frame location in the re-transcoded video segment is the same as an original key frame location from the original video segment, wherein the transcoded video file is transcoded at a first bitrate and is one of a plurality of transcoded video files transcoded at a corresponding plurality of bitrates, and further comprising: using the key frame listing file, re-transcodinq video segments corresponding to the original video segment from each of the plurality of transcoded video files to produce a plurality of corresponding re-transcoded video segments for each of the plurality of bitrates.