Patents by Inventor Ioannis Katsavounidis
Ioannis Katsavounidis has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10425683Abstract: A method includes receiving, with a computing system, data representing a video item into a buffer. The method further includes outputting the video item from the buffer to a display system. The method further includes determining that utilization of the buffer falls below a predetermined threshold. The method further includes, in response to determining that the utilization of the buffer falls below the predetermined threshold, determining that there is a specified rebuffering point within a predetermined time frame. The method further includes pausing with the computing system, the video item at the specified rebuffering point in response to determining that there is the specified rebuffering point within the predetermined time frame.Type: GrantFiled: May 31, 2017Date of Patent: September 24, 2019Assignee: Netflix, Inc.Inventors: Ioannis Katsavounidis, Mark Watson, Aaron Hipple, Will Wolcott
-
Patent number: 10404986Abstract: In one embodiment of the present invention, an encoding bitrate ladder selector tailors bitrate ladders to the complexity of source data. Upon receiving source data, a complexity analyzer configures an encoder to repeatedly encode the source data-setting a constant quantization parameter to a different value for each encode. The complexity analyzer processes the encoding results to determine an equation that relates a visual quality metric to an encoding bitrate. The bucketing unit solves this equation to estimate a bucketing bitrate at a predetermined value of the visual quality metric. Based on the bucketing bitrate, the bucketing unit assigns the source data to a complexity bucket having an associated, predetermined bitrate ladder. Advantageously, sagaciously selecting the bitrate ladder enables encoding that optimally reflects tradeoffs between quality and resources (e.g., storage and bandwidth) across a variety of source data types instead of a single, “typical” source data type.Type: GrantFiled: March 30, 2015Date of Patent: September 3, 2019Assignee: NETFLIX, INC.Inventors: Anne Aaron, David Ronca, Ioannis Katsavounidis, Andy Schuler
-
Patent number: 10397592Abstract: A method and an apparatus for performing multi-threaded video decoding are disclosed. The method takes use of a multi-threaded scheme to process an encoded picture stream on a picture by picture basis. In the method, multiple threads are used for performing video decoding at the same time, such as one thread for the operation of parsing input bits into syntax elements of one picture implemented by the first thread, another thread for the operation of decoding the parsed syntax elements of another picture into pixel values implemented by the second thread, and the other threads for the operations of the non-reference picture, such as bidirectional predictive picture, including parsing input bits into syntax elements and the subsequent operation of decoding the parsed syntax elements into pixel values. Therefore, the decoding speed is substantially increased, and the decoding efficiency is enhanced.Type: GrantFiled: December 4, 2017Date of Patent: August 27, 2019Assignee: COREL SOFTWARE LLCInventors: Ioannis Katsavounidis, Yu-Nien Chien, Chun-Huan Chuang, Chung-Tao Chu, Te-Chien Chen
-
Publication number: 20190028745Abstract: An encoding engine encodes a video sequence to provide optimal quality for a given bitrate. The encoding engine cuts the video sequence into a collection of shot sequences. Each shot sequence includes video frames captured from a particular capture point. The encoding engine resamples each shot sequence across a range of different resolutions, encodes each resampled sequence with a range of quality parameters, and then upsamples each encoded sequence to the original resolution of the video sequence. For each upsampled sequence, the encoding engine computes a quality metric and generates a data point that includes the quality metric and the resample resolution. The encoding engine collects all such data points and then computes the convex hull of the resultant data set.Type: ApplicationFiled: July 12, 2018Publication date: January 24, 2019Inventor: Ioannis KATSAVOUNIDIS
-
Publication number: 20190028529Abstract: A shot analyzer varies the resolution when generating encoded video sequences for streaming. The shot analyzer generates a first encoded video sequence based on a first resolution and a source video sequence that is associated with a video title. The shot analyzer then determines a first encoded shot sequence from multiple encoded shot sequences included in the first encoded video sequence based on quality metric(s). The first encoded shot sequence is associated with a first shot sequence included in the source video sequence. Subsequently, the shot analyzer generates a second encoded shot sequence based on a second resolution and the first shot sequence. The shot analyzer generates a second encoded video sequence based on the first encoded video sequence and the second encoded shot sequence. At least a first portion of the second encoded video sequence is subsequently streamed to an endpoint device during playback of the video title.Type: ApplicationFiled: August 2, 2018Publication date: January 24, 2019Inventor: Ioannis KATSAVOUNIDIS
-
Publication number: 20180359499Abstract: One embodiment of the invention sets forth a mechanism for encoding video streams associated with the same digital content such that switch points staggered across two video streams occur at every offset temporal distance. The offset temporal distance is less than the distance between two consecutive key frames in a given video stream. This enables a content player to switch to a video stream having a playback quality up or down one level from a current video stream at the offset temporal distance from the most recently played key frame. In effect, the content player does not wait the entire key frame temporal distance before switching.Type: ApplicationFiled: June 12, 2017Publication date: December 13, 2018Inventors: Aditya MAVLANKAR, Ioannis KATSAVOUNIDIS, Mark WATSON
-
Publication number: 20180352292Abstract: A method includes receiving, with a computing system, data representing a video item into a buffer. The method further includes outputting the video item from the buffer to a display system. The method further includes determining that utilization of the buffer falls below a predetermined threshold. The method further includes, in response to determining that the utilization of the buffer falls below the predetermined threshold, determining that there is a specified rebuffering point within a predetermined time frame. The method further includes pausing with the computing system, the video item at the specified rebuffering point in response to determining that there is the specified rebuffering point within the predetermined time frame.Type: ApplicationFiled: May 31, 2017Publication date: December 6, 2018Inventors: Ioannis Katsavounidis, Mark Watson, Aaron Hipple, Will Wolcott
-
Publication number: 20180343458Abstract: In various embodiments, a sequence-based encoding application partitions a set of shot sequences associated with a media title into multiple clusters based on at least one feature that characterizes media content and/or encoded media content associated with the media title. The clusters include at least a first cluster and a second cluster. The sequence-based encoding application encodes a first shot sequence using a first operating point to generate a first encoded shot sequence. The first shot sequence and the first operating point are associated with the first cluster. By contrast, the sequence-based encoding application encodes a second shot sequence using a second operating point to generate a second encoded shot sequence. The second shot sequence and the second operating point are associated with the second cluster. Subsequently, the sequence-based encoding application generates an encoded media sequence based on the first encoded shot sequence and the second encoded shot sequence.Type: ApplicationFiled: August 3, 2018Publication date: November 29, 2018Inventors: Ioannis KATSAVOUNIDIS, Anne AARON, Jan DE COCK
-
Patent number: 10140520Abstract: In one embodiment of the present invention, a native resolution analyzer generates a log-magnitude spectrum that elucidates sampling operations that have been performed on a scene. In operation, the native resolution analyzer performs a transform operation of a color component associated with a frame included in the scene to generate a frame spectrum. The native resolution analyzer then normalizes the magnitudes associated with the frame spectrum and logarithmically scales the normalized magnitudes to create a log-magnitude frame spectrum. This two dimensional log-magnitude frame spectrum serves as a frequency signature for the frame. More specifically, patterns in the log-magnitude spectrum reflect re-sampling operations, such as a down-sampling and subsequent up-sampling, that may have been performed on the frame.Type: GrantFiled: August 14, 2017Date of Patent: November 27, 2018Assignee: NETFLIX, INC.Inventor: Ioannis Katsavounidis
-
Publication number: 20180302456Abstract: In various embodiments, an iterative encoding application generates shot encode points based on a first set of encoding points and a first shot sequence associated with a media title. The iterative encoding application performs convex hull operations across the shot encode points to generate a first convex hull. Subsequently, the iterative encoding application generates encoded media sequences based on the first convex hull and a second convex hull that is associated with both a second shot sequence associated with the media title and a second set of encoding points. The iterative encoding application determines a first optimized encoded media and a second optimized encoded media sequence from the encoded media sequences based on, respectively, a first target metric value and a second target metric value for a media metric. Portions of the optimized encoded media sequences are subsequently streamed to endpoint devices during playback of the media title.Type: ApplicationFiled: June 22, 2018Publication date: October 18, 2018Inventors: Ioannis KATSAVOUNIDIS, Anne AARON, Jan DE COCK
-
Publication number: 20180240502Abstract: In various embodiments, an encoding optimization application positions key frames within encoded video sequences based on shot changes. The encoding optimization application determines key frame location(s) based on shot change(s) included in a source video sequence associated with a media title. Each key frame location is associated with a different frame included in the source video sequence. For each of the key frame location(s), the encoding optimization application configures an encoding application to encode a frame of video content located at the key frame location as a key frame when performing encoding operations. Subsequently, the encoding optimization application causes the encoding application to perform encoding operation(s) on the source video sequence to generate a first encoded video sequence. During playback, the media title is switchable between a decoded version of the first encoded video sequence and a decoded version of a second encoded video sequence at the key frame location(s).Type: ApplicationFiled: February 22, 2018Publication date: August 23, 2018Inventor: Ioannis KATSAVOUNIDIS
-
Publication number: 20180241795Abstract: In various embodiments, an encoding optimization application encodes a source video sequence. The encoding optimization application partitions a source video sequence associated with a media title into multiple subsequences that include a first subsequence and a second subsequence. Subsequently, the encoding optimization application generates a first encoded subsequence based on the first subsequence and a first value of an encoding parameter. The encoding optimization application generates a second encoded subsequence based on the second subsequence and a second value for the encoding parameter. Notably, the second value of the encoding parameter is not equal to the first value of the encoding parameter. The encoding optimization application then aggregates the first encoded subsequence and the second encoded subsequence to generate an encoded video sequence. At least a portion of the encoded video sequence is subsequently streamed to an endpoint device during a playback of the media title.Type: ApplicationFiled: February 22, 2018Publication date: August 23, 2018Inventor: Ioannis KATSAVOUNIDIS
-
Publication number: 20180242015Abstract: In various embodiments, an encoding optimization application encodes a source video sequence. The encoding optimization application partitions a source video sequence associated with a media title into multiple subsequences that include a first subsequence and a second subsequence. The encoding optimization application then generates a first encoded subsequence based on the first subsequence and a first resolution. The encoding optimization application generates a second encoded subsequence based on the second subsequence and a second resolution. Notably, the second resolution is higher than the first resolution. The encoding optimization application then aggregates the first encoded subsequence and the second encoded subsequence to generate an encoded video sequence. At least a portion of the encoded video sequence is subsequently streamed to an endpoint device during a playback of the media title.Type: ApplicationFiled: February 22, 2018Publication date: August 23, 2018Inventor: Ioannis KATSAVOUNIDIS
-
Publication number: 20180242002Abstract: In various embodiments, an iterative encoding application encodes a source video sequence. The encoding optimization application generates a set of shot encode points based on a set of encoding points and a first shot sequence included in the source video sequence. Each shot encode point is associated with a different encoded shot sequence. The encoding optimization application performs convex hull operation(s) across the set of shot encode points to generate a first convex hull associated with the first shot sequence. Subsequently, the encoding optimization application generates encoded video sequences based on the first convex hull and a second convex hull associated with a second shot sequence included in the source video sequence. The encoding optimization application computes a new encoding point based on the encoded video sequences and a target value for a first video metric and then generates an optimized encoded video sequence based on the new encoding point.Type: ApplicationFiled: February 22, 2018Publication date: August 23, 2018Inventor: Ioannis KATSAVOUNIDIS
-
Publication number: 20180098080Abstract: A method and an apparatus for performing multi-threaded video decoding are disclosed. The method takes use of a multi-threaded scheme to process an encoded picture stream on a picture by picture basis. In the method, multiple threads are used for performing video decoding at the same time, such as one thread for the operation of parsing input bits into syntax elements of one picture implemented by the first thread, another thread for the operation of decoding the parsed syntax elements of another picture into pixel values implemented by the second thread, and the other threads for the operations of the non-reference picture, such as bidirectional predictive picture, including parsing input bits into syntax elements and the subsequent operation of decoding the parsed syntax elements into pixel values. Therefore, the decoding speed is substantially increased, and the decoding efficiency is enhanced.Type: ApplicationFiled: December 4, 2017Publication date: April 5, 2018Applicant: Corel Software, LLCInventors: Ioannis KATSAVOUNIDIS, Yu-Nien Chien, Chun-Huan Chuang, Chung-Tao Chu, Te-Chien Chen
-
Publication number: 20180012076Abstract: In one embodiment of the present invention, a native resolution analyzer generates a log-magnitude spectrum that elucidates sampling operations that have been performed on a scene. In operation, the native resolution analyzer performs a transform operation of a color component associated with a frame included in the scene to generate a frame spectrum. The native resolution analyzer then normalizes the magnitudes associated with the frame spectrum and logarithmically scales the normalized magnitudes to create a log-magnitude frame spectrum. This two dimensional log-magnitude frame spectrum serves as a frequency signature for the frame. More specifically, patterns in the log-magnitude spectrum reflect re-sampling operations, such as a down-sampling and subsequent up-sampling, that may have been performed on the frame.Type: ApplicationFiled: August 14, 2017Publication date: January 11, 2018Inventor: Ioannis KATSAVOUNIDIS
-
Patent number: 9838703Abstract: A method and an apparatus for performing multi-threaded video decoding are disclosed. The method takes use of a multi-threaded scheme to process an encoded picture stream on a picture by picture basis. In the method, multiple threads are used for performing video decoding at the same time, such as one thread for the operation of parsing input bits into syntax elements of one picture implemented by the first thread, another thread for the operation of decoding the parsed syntax elements of another picture into pixel values implemented by the second thread, and the other threads for the operations of the non-reference picture, such as bidirectional predictive picture, including parsing input bits into syntax elements and the subsequent operation of decoding the parsed syntax elements into pixel values. Therefore, the decoding speed is substantially increased, and the decoding efficiency is enhanced.Type: GrantFiled: April 20, 2015Date of Patent: December 5, 2017Assignee: COREL SOFTWARE LLCInventors: Ioannis Katsavounidis, Yu-Nien Chien, Chun-Huan Chuang, Chung-Tao Chu, Te-Chien Chen
-
Patent number: 9824278Abstract: In one embodiment of the present invention, a native resolution analyzer generates a log-magnitude spectrum that elucidates sampling operations that have been performed on a scene. In operation, the native resolution analyzer performs a transform operation of a color component associated with a frame included in the scene to generate a frame spectrum. The native resolution analyzer then normalizes the magnitudes associated with the frame spectrum and logarithmically scales the normalized magnitudes to create a log-magnitude frame spectrum. This two dimensional log-magnitude frame spectrum serves as a frequency signature for the frame. More specifically, patterns in the log-magnitude spectrum reflect re-sampling operations, such as a down-sampling and subsequent up-sampling, that may have been performed on the frame.Type: GrantFiled: October 8, 2015Date of Patent: November 21, 2017Assignee: NETFLIX, INC.Inventor: Ioannis Katsavounidis
-
Patent number: 9734409Abstract: In one embodiment of the present invention, a native resolution analyzer generates a log-magnitude spectrum that elucidates sampling operations that have been performed on a scene. In operation, the native resolution analyzer performs a transform operation of a color component associated with a frame included in the scene to generate a frame spectrum. The native resolution analyzer then normalizes the magnitudes associated with the frame spectrum and logarithmically scales the normalized magnitudes to create a log-magnitude frame spectrum. This two dimensional log-magnitude frame spectrum serves as a frequency signature for the frame. More specifically, patterns in the log-magnitude spectrum reflect re-sampling operations, such as a down-sampling and subsequent up-sampling, that may have been performed on the frame.Type: GrantFiled: October 8, 2015Date of Patent: August 15, 2017Assignee: NETFLIX, INC.Inventor: Ioannis Katsavounidis
-
Publication number: 20160381401Abstract: In one embodiment of the present invention, a native resolution analyzer generates a log-magnitude spectrum that elucidates sampling operations that have been performed on a scene. In operation, the native resolution analyzer performs a transform operation of a color component associated with a frame included in the scene to generate a frame spectrum. The native resolution analyzer then normalizes the magnitudes associated with the frame spectrum and logarithmically scales the normalized magnitudes to create a log-magnitude frame spectrum. This two dimensional log-magnitude frame spectrum serves as a frequency signature for the frame. More specifically, patterns in the log-magnitude spectrum reflect re-sampling operations, such as a down-sampling and subsequent up-sampling, that may have been performed on the frame.Type: ApplicationFiled: October 8, 2015Publication date: December 29, 2016Inventor: Ioannis KATSAVOUNIDIS