Abstract: In some embodiments, a method analyzes information regarding a round-trip time where the round-trip time is based on sending a request for a segment of a media program and receiving the segment of the media program. The method determines when to switch from requesting a single segment of the media program to sending a request that requests a plurality of segments of the media program. When switching from requesting the single segment of the media program, the request for the plurality segments of the media program is sent where at least two or more of the segments are received without sending a subsequent request for the two or more segments.
Abstract: In some embodiments, a method maps attributes of metadata for a plurality of content instances to metadata nodes. The metadata nodes are connected to type nodes that define a type of metadata for each metadata node and a respective content node for a respective content instance. The method generates a plurality of sample paths using the content nodes, the metadata nodes, and the type nodes from the mapping of attributes of the metadata. A similarity of content nodes is analyzed using the plurality of sample paths. Then, the method generates a representation of each of the plurality of content instances using the similarity of the content nodes. The representation represents the similarity between content instances in the plurality of content instances.
Type:
Grant
Filed:
August 7, 2019
Date of Patent:
October 5, 2021
Assignee:
HULU, LLC
Inventors:
Fanding Li, Xiaohui Xie, Jing Ruan, Chao Yi
Abstract: In some embodiments, a method renders a first set of objects at a first frame rate and a second set of objects at a second frame rate that is lower than the first frame rate. The method displays the second set of objects for a number of frames based on the second frame rate while displaying the rendered first set of objects at the first frame rate. It is determined when to render a new second set of objects at a different frame rate than the second frame rate. When it is determined that the new second set of objects should be rendered at the different frame rate than the second frame rate, the method renders the new second set of objects at a third frame rate different from the second frame rate.
Abstract: In some embodiments, a method determines a plurality of classes of bins that are used to determine a context model for entropy coding of a current block in a video. The method calculates a first value for a first class of bins in the plurality of classes of bins and calculates a second value for a second class of bins in the plurality of classes of bins. The first value for the first class of bins is weighted by a first weight to generate a weighted first value and the second value for the second class of bins is weighted by a second weight to generate a weighted second value. The method then selects a context model based on the first weighted value and the second weighted value.
Type:
Grant
Filed:
August 29, 2019
Date of Patent:
September 7, 2021
Assignee:
HULU, LLC
Inventors:
Wenhao Zhang, Deliang Fu, Juncheng Ma, Chen Liu
Abstract: In some embodiments, a first detector generates a first output based on a first probability that an image was inserted in a video. The first detector is trained with a set of known images to detect the set of known images. A second detector generates a second output based on a second probability that an image was inserted in the video. The second detector is used to detect the set of unknown images without training. The method analyzes the first output from the first detector based on the probability of the image existing in the video and the second output from the second detector based on the probability of the image existing in the video to generate a combined score from the first output and the second output. An indication of whether the image is detected in the video is output based on the combined score.
Abstract: In some embodiments, a method selects a current block in a frame and determines whether the current block is in a first set of positions in the frame. When the current block is in the first set of positions: the method loads a first set of motion vectors from a first list as historical motion vector predictors, wherein the one or more motion vectors are from one or more blocks in the first set of positions in the frame; and uses the first set of motion vectors to transcode the current block. When the current block is not in the first set of positions, the method uses a second set of motion vectors from a second list.
Type:
Grant
Filed:
August 29, 2019
Date of Patent:
August 10, 2021
Assignee:
HULU, LLC
Inventors:
Wenhao Zhang, Deliang Fu, Juncheng Ma, Chen Liu
Abstract: In some embodiments, a method receives one or more segments for content from a first content delivery network during a playback session for the content. The content includes a number of segments. The method evaluates buffer occupancy of a buffer configured to store segments of the content for playback and evaluates a number of times of a failure to download a segment for the content. The buffer occupancy is compared to a first threshold and the number of times of the failure to a second threshold. The method determines a switch from the first content delivery network to a second content delivery network during the playback session based on the comparing.
Abstract: In some embodiments, a method sends a first instance of a media presentation description to a client for a first set of segments of a media presentation. The first instance of the media presentation description includes status information based on the first set of segments in the media presentation. A request is received for an update to the media presentation description where the request includes the status information. The method uses the status information to identify a latest segment that the client has already received in the media presentation. Then, the method sends a second instance of the media presentation description for a second set of segments that occur after the latest segment in the media presentation as an update to the first instance of the media presentation description. The second instance of the media presentation description excludes at least a portion of information for first set of segments.
Abstract: In some embodiments, a method receives playback information for a plurality of representations based on one or more videos being played at a media player. The plurality of representations have at least one different characteristic that affects playback of the video. A dropped-frame measurement is predicted for the plurality of representations based on the playback information. Then, the dropped-frame measurement is compared to a threshold for the plurality of representations. The method marks a first set of the plurality of representations as not being available based on the comparing. A second set of the plurality of representations are provided to the media player when the media player requests a video for playback and the first set of the plurality of representations for the video are blocked from being requested by the media player.
Abstract: In some embodiments, a method receives one or more segments for content from a first content delivery network during a playback session for the content. The content includes a number of segments. The method evaluates buffer occupancy of a buffer configured to store segments of the content for playback and evaluates a number of times of a failure to download a segment for the content. The buffer occupancy is compared to a first threshold and the number of times of the failure to a second threshold. The method determines a switch from the first content delivery network to a second content delivery network during the playback session based on the comparing.
Abstract: In one embodiment, a method selects a first reference block in a first reference frame and a second reference block in a second reference frame. The first reference block and the second reference block are used to predict a current block. The first reference block is selected as an anchor point. Then, the method searches in the second reference frame for a third reference block and determines whether the third reference block is a better reference block than the second reference block for predicting the current block.
Type:
Grant
Filed:
March 29, 2019
Date of Patent:
April 27, 2021
Assignee:
HULU, LLC
Inventors:
Wenhao Zhang, Deliang Fu, Min Gao, Juncheng Ma, Chen Liu
Abstract: In some embodiments, a method receives a file describing characteristics for delivery of a creative on a video delivery system. The file is queried to identify elements in the string that define metadata. The string is written in a structural language and defines characteristics for the delivery of the creative. The method retrieves tag metadata for tags that define structural elements and validates the tag metadata based on a first specification. Media file metadata is obtained for a media file based on a link to the media file and the media file metadata is validated based on a second specification. The method outputs a result based on the validations. The creative is eligible for insertion during a break of streaming a main video on the video delivery system when the tag metadata and the media file metadata are validated.
Abstract: In some embodiments, a method receives an encoded video and decodes blocks in a frame of the encoded video in which replacement content will be inserted. The blocks are analyzed to determine first blocks of the frame that are affected by insertion of the replacement content and second blocks in the frame that are not affected by the insertion. Information from the decoding of the block is saved for the second blocks. The frame is encoded where the replacement content is inserted to replace the first blocks in the encoding of the frame, and wherein the information from the decoding of the second blocks is reused when performing the encoding of the second blocks.
Abstract: In one embodiment, a method selects a first reference block in a first reference frame and a second reference block in a second reference frame. The first reference block and the second reference block are used to predict a current block in a current frame. A first region is selected based on the first reference block, a second region is selected based the second reference block, and a third region is selected based on the current block. The method compares a characteristic of the first region to a characteristic of the third region and compares a characteristic of the second region to the characteristic of the third region to adaptively determine a first weight for the first reference block and a second weight for the second reference block. Then, a prediction block is calculated for the current block using the first weight and the second weight.
Type:
Grant
Filed:
March 29, 2019
Date of Patent:
December 15, 2020
Assignee:
HULU, LLC
Inventors:
Wenhao Zhang, Deliang Fu, Min Gao, Juncheng Ma, Chen Liu
Abstract: In some embodiments, a method detects a first set of frames in a video that include lines of text, the detecting performed at a frame level on each individual frame. A first representation is generated from the first set of frames and a second representation is generated from the first set of frames. The method filters the first representation based on a number of lines of text within a space in the space dimension to select a second set of frames and filters the second representation based on a number of frames within time intervals in the time dimension to select a third set of frames. Frames in both the second set of frames and the third set of frames are analyzed to determine whether the lines of text in both the second set of frames and the third set of frames are burned-in subtitles.
Abstract: In some embodiments, a method receives images of eyes of a user. The method computes a vertical resting position of the eyes and computes a horizontal resting position of the eyes based on an average horizontal position of both of the eyes. An image of the eyes of the user is received. Then, the method calculates when an offset for a direction and a magnitude of the eyes is within a region in a plurality of regions and determines a command for the region. A call for the command is generated to a device to cause the command to be performed on a user interface.
Abstract: In one embodiment, a method receives a request from a user for one or more extensions to a first program. The first program is associated with a first bundle that indicates the first program starts at a first time and ends at a second time. A second program that starts before the first time or starts after the second time is selected. The second program is associated with a second bundle that indicates the second program ends at the first time or starts at the second time. The method generates an extension bundle that includes information for the one or more extensions and uses the extension bundle to record an extended program for the user that includes the first program and at least a portion of the one or more extensions from the second program.
Type:
Grant
Filed:
December 5, 2018
Date of Patent:
October 27, 2020
Assignee:
HULU, LLC
Inventors:
Joshua Cook, Ale Capistrano, Yingan Wang