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).

  • Publication number: 20210120063
    Abstract: In various embodiments, a subsequence-based encoding application generates a convex hull of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. The subsequence-based encoding application then generates a first encode list that includes multiple subsequence encode points based on the first convex hull. Notably, each subsequence encode point included in the first encode list is associated with a different subsequence. The subsequence-based encoding application selects a first subsequence encode point included in the first encode list based on a first variability constraint that is associated with a media metric. The subsequence-based encoding application then replaces the first subsequence encode point included in the first encode list with a second subsequence encode point to generate a second encode list.
    Type: Application
    Filed: December 24, 2020
    Publication date: April 22, 2021
    Inventor: Ioannis KATSAVOUNIDIS
  • Publication number: 20210120062
    Abstract: In various embodiments, a subsequence-based encoding application generates a convex hull of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. The subsequence-based encoding application then generates a first encode list that includes multiple subsequence encode points based on the first convex hull. Notably, each subsequence encode point included in the first encode list is associated with a different subsequence. The subsequence-based encoding application selects a first subsequence encode point included in the first encode list based on a first variability constraint that is associated with a media metric. The subsequence-based encoding application then replaces the first subsequence encode point included in the first encode list with a second subsequence encode point to generate a second encode list.
    Type: Application
    Filed: December 24, 2020
    Publication date: April 22, 2021
    Inventor: Ioannis KATSAVOUNIDIS
  • Publication number: 20210112291
    Abstract: 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: Application
    Filed: December 21, 2020
    Publication date: April 15, 2021
    Inventors: Aditya MAVLANKAR, Ioannis KATSAVOUNIDIS, Mark WATSON
  • Patent number: 10917644
    Abstract: 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: Grant
    Filed: February 22, 2018
    Date of Patent: February 9, 2021
    Assignee: NETFLIX, INC.
    Inventor: Ioannis Katsavounidis
  • Patent number: 10911791
    Abstract: In various embodiments, a buffer-based encoding application generates a first convex hull of subsequence encode points based on multiple encoding points and a first subsequence associated with a media title. The buffer-based encoding application then generates a first global convex hull of media encode points based on a transmission buffer constraint, the first convex hull, and a second global convex hull of media encode points. Notably, the second global convex hull is associated with a portion of the media title that occurs before the first subsequence in a playback order for the media title. Subsequently, the subsequence-based encoding application selects a first media encode point included in the first global convex hull based on a media metric and determines a first encoded media sequence based on the selected media encode point. The first encoded media sequence is subsequently streamed to an endpoint device during playback of the media title.
    Type: Grant
    Filed: January 9, 2019
    Date of Patent: February 2, 2021
    Assignee: NETFLIX, INC.
    Inventor: Ioannis Katsavounidis
  • Patent number: 10897618
    Abstract: 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: Grant
    Filed: February 22, 2018
    Date of Patent: January 19, 2021
    Assignee: NETFLIX, INC.
    Inventor: Ioannis Katsavounidis
  • Patent number: 10880354
    Abstract: In various embodiments, a subsequence-based encoding application generates a convex hull of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. The subsequence-based encoding application then generates a first encode list that includes multiple subsequence encode points based on the first convex hull. Notably, each subsequence encode point included in the first encode list is associated with a different subsequence. The subsequence-based encoding application selects a first subsequence encode point included in the first encode list based on a first variability constraint that is associated with a media metric. The subsequence-based encoding application then replaces the first subsequence encode point included in the first encode list with a second subsequence encode point to generate a second encode list.
    Type: Grant
    Filed: November 28, 2018
    Date of Patent: December 29, 2020
    Assignee: NETFLIX, INC.
    Inventor: Ioannis Katsavounidis
  • Publication number: 20200366727
    Abstract: 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: Application
    Filed: August 6, 2020
    Publication date: November 19, 2020
    Inventors: Ioannis KATSAVOUNIDIS, Anne AARON, Jan DE COCK
  • Patent number: 10841356
    Abstract: In various embodiments, a subsequence-based encoding application generates a first set of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. Notably, each subsequence encode point is associated with a different encoded subsequence. The subsequence-based encoding application then performs convex hull operation(s) across the first set of subsequence encode points to generate a first convex hull. The subsequence-based encoding application then generates an encode list that includes multiple subsequence encode points based on multiple convex hulls, including the first convex hull. Subsequently, the subsequence-based encoding application performs filtering operation(s) on the encode list based on a variability constraint associated with a media metric to generate an upgrade candidate list.
    Type: Grant
    Filed: November 28, 2018
    Date of Patent: November 17, 2020
    Assignee: NETFLIX, INC.
    Inventor: Ioannis Katsavounidis
  • Publication number: 20200288187
    Abstract: 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: Application
    Filed: May 22, 2020
    Publication date: September 10, 2020
    Inventor: Ioannis KATSAVOUNIDIS
  • Patent number: 10742708
    Abstract: 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: Grant
    Filed: June 22, 2018
    Date of Patent: August 11, 2020
    Assignee: NETFLIX, INC.
    Inventors: Ioannis Katsavounidis, Anne Aaron, Jan De Cock
  • Patent number: 10715814
    Abstract: 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: Grant
    Filed: February 22, 2018
    Date of Patent: July 14, 2020
    Assignee: NETFLIX, INC.
    Inventor: Ioannis Katsavounidis
  • Publication number: 20200221141
    Abstract: In various embodiments, a buffer-based encoding application generates a first convex hull of subsequence encode points based on multiple encoding points and a first subsequence associated with a media title. The buffer-based encoding application then generates a first global convex hull of media encode points based on a transmission buffer constraint, the first convex hull, and a second global convex hull of media encode points. Notably, the second global convex hull is associated with a portion of the media title that occurs before the first subsequence in a playback order for the media title. Subsequently, the subsequence-based encoding application selects a first media encode point included in the first global convex hull based on a media metric and determines a first encoded media sequence based on the selected media encode point. The first encoded media sequence is subsequently streamed to an endpoint device during playback of the media title.
    Type: Application
    Filed: January 9, 2019
    Publication date: July 9, 2020
    Inventor: Ioannis KATSAVOUNIDIS
  • Publication number: 20200169593
    Abstract: In various embodiments, a subsequence-based encoding application generates a first set of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. Notably, each subsequence encode point is associated with a different encoded subsequence. The subsequence-based encoding application then performs convex hull operation(s) across the first set of subsequence encode points to generate a first convex hull. The subsequence-based encoding application then generates an encode list that includes multiple subsequence encode points based on multiple convex hulls, including the first convex hull. Subsequently, the subsequence-based encoding application performs filtering operation(s) on the encode list based on a variability constraint associated with a media metric to generate an upgrade candidate list.
    Type: Application
    Filed: November 28, 2018
    Publication date: May 28, 2020
    Inventor: Ioannis KATSAVOUNIDIS
  • Publication number: 20200169592
    Abstract: In various embodiments, a subsequence-based encoding application generates a convex hull of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. The subsequence-based encoding application then generates a first encode list that includes multiple subsequence encode points based on the first convex hull. Notably, each subsequence encode point included in the first encode list is associated with a different subsequence. The subsequence-based encoding application selects a first subsequence encode point included in the first encode list based on a first variability constraint that is associated with a media metric. The subsequence-based encoding application then replaces the first subsequence encode point included in the first encode list with a second subsequence encode point to generate a second encode list.
    Type: Application
    Filed: November 28, 2018
    Publication date: May 28, 2020
    Inventor: Ioannis KATSAVOUNIDIS
  • Patent number: 10666992
    Abstract: 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. Based on all convex hulls across all shot sequences, the encoding engine determines an optimal collection of shot sequences for a range of bitrates.
    Type: Grant
    Filed: July 12, 2018
    Date of Patent: May 26, 2020
    Assignee: NETFLIX, INC.
    Inventor: Ioannis Katsavounidis
  • Publication number: 20200145709
    Abstract: In various embodiments, a subsequence-based encoding application generates subsequences based on a source sequence associated with a media title. The subsequence-based encoding application then encodes both a first subsequence and a second subsequence across each of multiple configured encoders and at least one rate control value to generate, respectively, a first set of encoded subsequences and a second set of encoded subsequences. Notably, each configured encoder is associated with a combination of an encoder and a configuration, and at least two configured encoders are different from one another. Subsequently, the subsequence-based encoding application generates encoded media sequences based on the first set of encoded subsequences and the second set of encoded subsequences. Finally, the application selects a first encoded media sequence from the encoded media sequences based on a first target value for a media metric to subsequently stream to a first endpoint device during playback of the media title.
    Type: Application
    Filed: November 2, 2018
    Publication date: May 7, 2020
    Inventor: Ioannis KATSAVOUNIDIS
  • Publication number: 20200029131
    Abstract: A computer-implemented method includes receiving a request from a client computing device for a first shot included in a media title being streamed to the client computing device for playback; in response to the request, sending the first shot to the client computing device for playback; and sending a representative image for at least one of the first shot and a second shot included in the media title, wherein the first shot comprises a first sequence of video frames that is included in the media title and captured continuously from a first point of capture, and the second shot comprises a second sequence of video frames that is included in the media title and captured continuously from a second point of capture.
    Type: Application
    Filed: July 19, 2018
    Publication date: January 23, 2020
    Inventors: Aditya MAVLANKAR, Ioannis KATSAVOUNIDIS
  • Publication number: 20200007930
    Abstract: 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: Application
    Filed: August 8, 2019
    Publication date: January 2, 2020
    Inventors: Ioannis Katsavounidis, Mark Watson, Aaron Hipple, Will Wolcott
  • Publication number: 20190379895
    Abstract: In various embodiments, an encoder comparison application compares the performance of different configured encoders. In operation, the encoder comparison application generates a first global convex hull of video encode points based on a first configured encoder and a set of subsequences included in a source video sequence. Each video encode point is associated with a different encoded version of the source video sequence. The encoder comparison application also generates a second global convex hull of video encode points based on a second configured encoder and the subsequences. Subsequently, the encoder configuration application computes a performance value for an encoding comparison metric based on the first global convex hull and the second global convex hull. Notably, the first performance value estimates a difference in performance between the first configured encoder and the second configured encoder.
    Type: Application
    Filed: August 16, 2019
    Publication date: December 12, 2019
    Inventors: Ioannis KATSAVOUNIDIS, Liwei GUO