发明名称 Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming
摘要 Systems and methods for encoding multiple video streams in accordance with embodiments of the invention are disclosed. In one embodiment, a method for encoding source video as alternative video streams includes collecting statistics on source video data and writing statistics to shared memory in a first pass through received multimedia content, where the statistics include complexity measures of blocks of pixels, determining initial encoding information for source video data and writing initial encoding information to shared memory during the first pass, encoding the source video data in parallel using collected statistics and initial encoding information to produce alternative video streams during a second pass, and parallel encoding processes reuse additional encoding information that has already been determined for a portion of video and generate additional encoding information that has not already been determined for a portion of video, where the additional encoding information includes quantization parameters for blocks of pixels.
申请公布号 US9350990(B2) 申请公布日期 2016.05.24
申请号 US201313931449 申请日期 2013.06.28
申请人 Sonic IP, Inc. 发明人 Orton-Jay Sam;Naletov Ivan
分类号 H04N19/146;H04N19/176;H04N19/105;H04N19/119;H04N19/124;H04N19/194;H04N19/436 主分类号 H04N19/146
代理机构 KPPB LLP 代理人 KPPB LLP
主权项 1. A source encoder comprising: memory containing a source encoder application; a shared memory; and at least one processor capable of executing the source encoding application to: receive multimedia content, where the multimedia content comprises source video data having a primary resolution;collect statistics on source video data and write the statistics to shared memory in a first pass through the received multimedia content, where the statistics include complexity measures of blocks of pixels;determine initial encoding information for source video data and write the initial encoding information to shared memory during the first pass through the received multimedia content; andencode the source video data in parallel using collected statistics and initial encoding information to produce a plurality of alternative video streams during a second pass through the received multimedia content with a plurality of parallel encoding processes, where the encoding of the source video utilizes additional encoding information, the parallel encoding processes are configured to reuse additional encoding information that has already been determined for a portion of video by another parallel encoding process and stored in the shared memory, and the parallel encoding processes are configured to generate additional encoding information that has not already been determined for a portion of video by another parallel encoding process and store the generated additional encoding information in the shared memory, where the additional encoding information includes quantization parameters for blocks of pixels;wherein the parallel encoding processes being configured to generate additional encoding information that has not already been determined for a portion of video by another parallel encoding process further comprises determining a Coding Tree Unit (CTU) size for encoding a portion of a frame of video in the source video data; andwherein determining a CTU size for encoding a portion of a frame of video in the source video data comprises: selecting a portion of a frame of video to encode as at least one output CTU in a first output stream;checking if a size has been determined for a similar CTU;selecting a CTU size if a size has not been determined for the similar CTU;selecting a previously determined CTU size that was determined for a second output stream and comparing the resolution of the first output stream to the resolution of the second output stream if a size has been determined for a similar CTU;scaling the CTU size if the resolution of the first output stream is not the same resolution as the second output stream;determining if the selected CTU size is acceptable for the output CTU;selecting a smaller CTU size when the selected CTU size is not acceptable; andapplying the selected CTU size to the portion of the frame of video if the selected CTU size is acceptable for the output CTU.
地址 San Diego CA US