Patents by Inventor Deliang Fu

Deliang Fu 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: 10785479
    Abstract: In one embodiment, a method determines if a first flag for using a most probable mode (MPM) set for intra prediction is set. When the first flag indicates the MPM set is used, the method decodes a first index for the MPM, the first index indicating a first intra prediction mode in the MPM set. When the first flag does not indicate the MPM set is being used, the method determines if a second flag for using a near-MPM set is set. When the second flag indicates the near-MPM set is being used, the method decodes a second index for the near-MPM, the second index indicating a second intra prediction mode in the near-MPM set. When the second flag does not indicate the near-MPM is being used, the method decodes a third index for a non-MPM, the third index indicating a third intra prediction mode in the non-MPM set.
    Type: Grant
    Filed: March 29, 2019
    Date of Patent: September 22, 2020
    Assignee: HULU, LLC
    Inventors: Wenhao Zhang, Deliang Fu, Min Gao, Chen Liu, Juncheng Ma
  • Patent number: 10778938
    Abstract: In some embodiments, a method receives sub-bitstreams from a multi-pass transcoding process of a video. A target quality is received based on a characteristic of transcoding of the video. Then, the method generates a combination of sub-bitstream chunks from the sub-bitstreams for the video. A set of exchange rates is calculated where each exchange rate defines how much bitrate will be reduced in relation to quality if an anchor sub-bitstream chunk from the combination of sub-bitstream chunks is replaced with another sub-bitstream chunk from other sub-bitstreams. Then method iteratively exchanges one of the anchor sub-bitstream chunks in the combination of sub-bitstream chunks with another sub-bitstream chunk based on the exchange rate of the anchor sub-bitstream chunk in the combination of sub-bitstream chunks until the quality measurement of the combination meets the target quality. Then, the combination of sub-bitstream chunks is recorded as a transcoded bitstream.
    Type: Grant
    Filed: December 20, 2018
    Date of Patent: September 15, 2020
    Assignee: HULU, LLC
    Inventors: Chen Liu, Wenhao Zhang, Xiaobo Liu, Deliang Fu
  • Publication number: 20200204759
    Abstract: In some embodiments, a method receives sub-bitstreams from a multi-pass transcoding process of a video. A target quality is received based on a characteristic of transcoding of the video. Then, the method generates a combination of sub-bitstream chunks from the sub-bitstreams for the video. A set of exchange rates is calculated where each exchange rate defines how much bitrate will be reduced in relation to quality if an anchor sub-bitstream chunk from the combination of sub-bitstream chunks is replaced with another sub-bitstream chunk from other sub-bitstreams. Then method iteratively exchanges one of the anchor sub-bitstream chunks in the combination of sub-bitstream chunks with another sub-bitstream chunk based on the exchange rate of the anchor sub-bitstream chunk in the combination of sub-bitstream chunks until the quality measurement of the combination meets the target quality. Then, the combination of sub-bitstream chunks is recorded as a transcoded bitstream.
    Type: Application
    Filed: December 20, 2018
    Publication date: June 25, 2020
    Inventors: Chen Liu, Wenhao Zhang, Xiaobo Liu, Deliang Fu
  • Publication number: 20200074689
    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: Application
    Filed: August 29, 2019
    Publication date: March 5, 2020
    Inventors: Wenhao Zhang, Deliang Fu, Juncheng Ma, Chen Liu
  • Publication number: 20200077085
    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: Application
    Filed: August 29, 2019
    Publication date: March 5, 2020
    Inventors: Wenhao Zhang, Deliang Fu, Juncheng Ma, Chen Liu
  • Publication number: 20200077110
    Abstract: In some embodiments, a method selects a first template of pixels that is outside of a first block and a second template of pixels that is outside of the first block. Then, the method selects a first region of pixels that are inside the first block and a second region of pixels that are inside the first block. A first weight is calculated based on the first template of pixels and the first region of pixels and a second weight is calculated based on the second template of pixels and the second region of pixels. The first weight and the second weight are used in a motion prediction search for a second block.
    Type: Application
    Filed: August 29, 2019
    Publication date: March 5, 2020
    Inventors: Wenhao Zhang, Deliang Fu, Chen Liu, Xiaobo Liu
  • Publication number: 20200014944
    Abstract: In one embodiment, a method receives a first chunk in a plurality of chunks from a video. The plurality of chunks are sent to a plurality of transcoding units for transcoding in parallel. The method transcodes the first chunk at a first transcoding unit to generate a first transcoded sub-bitstream. Then, first statistical information is received from one or more second chunks being transcoded by other transcoding units. The first statistical information from the one or more second chunks is compared to second statistical information from the first chunk and it is determined whether to perform a second transcoding process based on the comparing. When the second transcoding process is to be performed, the method performs the second transcoding process with the first chunk to generate a second transcoded bitstream and outputs the second transcoded bitstream. When the second transcoding process is not to be performed, the method outputs the first transcoded sub-bitstream.
    Type: Application
    Filed: July 9, 2018
    Publication date: January 9, 2020
    Inventors: Wenhao ZHANG, Deliang FU, Juncheng MA, Chen LIU
  • Patent number: 10469860
    Abstract: In one embodiment, a method generates chunk boundaries that are used to form a plurality of chunks from a video. The chunks are transcoded by transcoding units in parallel. The method selects at least one of a first number of frames before a first boundary of a chunk and a second number of frames after a second boundary of the chunk. A chunk is generated that includes the at least one of the first number of frames and the second number of frames, and a third number of frames between the first boundary and the second boundary. Then, the chunk is transcoded to generate a transcoded chunk using a first transcoding unit. The chunk is sent to a chunk assembler where the chunk assembler removes the at least one of the first number of frames and the second number of frames from the chunk and adds the chunk to a transcoded bitstream.
    Type: Grant
    Filed: June 19, 2018
    Date of Patent: November 5, 2019
    Assignee: HULU, LLC
    Inventors: Wenhao Zhang, Deliang Fu, Juncheng Ma, Chen Liu
  • Publication number: 20190306499
    Abstract: In one embodiment, a method determines if a first flag for using a most probable mode (MPM) set for intra prediction is set. When the first flag indicates the MPM set is used, the method decodes a first index for the MPM, the first index indicating a first intra prediction mode in the MPM set. When the first flag does not indicate the MPM set is being used, the method determines if a second flag for using a near-MPM set is set. When the second flag indicates the near-MPM set is being used, the method decodes a second index for the near-MPM, the second index indicating a second intra prediction mode in the near-MPM set. When the second flag does not indicate the near-MPM is being used, the method decodes a third index for a non-MPM, the third index indicating a third intra prediction mode in the non-MPM set.
    Type: Application
    Filed: March 29, 2019
    Publication date: October 3, 2019
    Inventors: Wenhao Zhang, Deliang Fu, Min Gao, Chen Liu, Juncheng Ma
  • Publication number: 20190306520
    Abstract: A method includes transcoding a first block of a video. The first block is associated with a first block tree pattern defining a structure of splitting a block into smaller blocks. A bit string of bits for the first block tree pattern is included in an encoded bitstream for the video. The method determines that the first block tree pattern of the first block can be reused for a second block tree pattern of a second block and includes information in the encoded bitstream that indicates that the first block tree pattern is to be used to decode the second block from the encoded bitstream.
    Type: Application
    Filed: March 29, 2019
    Publication date: October 3, 2019
    Inventors: Wenhao Zhang, Deliang Fu, Min Gao, Juncheng Ma, Chen Liu
  • Publication number: 20190306512
    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: Application
    Filed: March 29, 2019
    Publication date: October 3, 2019
    Inventors: Wenhao Zhang, Deliang Fu, Min Gao, Juncheng Ma, Chen Liu
  • Publication number: 20190306495
    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: Application
    Filed: March 29, 2019
    Publication date: October 3, 2019
    Inventors: Wenhao Zhang, Deliang Fu, Min Gao, Juncheng Ma, Chen Liu
  • Patent number: 9942582
    Abstract: Particular embodiments provide dynamic seek processing that minimizes re-buffering after a seek request is received. When a seek occurs to a seeking position, a media player downloads a segment N of the media program that includes the seeking position. To address possible re-buffering, the media player employs a seeking process that may analyze playback factors to determine when to start playback after the segment N that contains the seeking position has been downloaded. Factors include the position within the segment N, the current bandwidth, the next segment's size, and the current bitrate being requested. Depending on these factors, the media player may decide to delay playback even though the segment N has already been downloaded. This allows the next segment N+1 more time to download and then playback can begin with less chance of re-buffering. Particular embodiments also provide a process to calculate the number of seconds to delay playback.
    Type: Grant
    Filed: December 1, 2015
    Date of Patent: April 10, 2018
    Assignee: HULU, LLC
    Inventors: Deliang Fu, Shucheng Zhong, Zhibing Wang
  • Patent number: 9674100
    Abstract: In one embodiment, a method determines thresholds for a multiple bitrate algorithm that adjusts which bitrates for a media program are requested. A first threshold is associated with a first buffer length and a first direction of adjustment and a second threshold is associated with a second buffer length greater than the first buffer length and a second direction of adjustment. The method then determines which threshold applies to a buffer length of a buffer buffering the media program. An adjustment to the multiple bitrate algorithm in the first direction or the second direction based on the threshold that applies where the adjustment in the first direction increases an aggressiveness used by the multiple bitrate algorithm to increase the bitrate requested and the adjustment in the second direction decreases the aggressiveness used by the multiple bitrate algorithm to increase the bitrate requested.
    Type: Grant
    Filed: April 4, 2014
    Date of Patent: June 6, 2017
    Assignee: HULU, LLC
    Inventors: Deliang Fu, Haisheng Wu, Binbin Yu, Zhibing Wang, Xin Jin, Baptiste Coudurier
  • Publication number: 20170155932
    Abstract: Particular embodiments provide dynamic seek processing that minimizes re-buffering after a seek request is received. When a seek occurs to a seeking position, a media player downloads a segment N of the media program that includes the seeking position. To address possible re-buffering, the media player employs a seeking process that may analyze playback factors to determine when to start playback after the segment N that contains the seeking position has been downloaded. Factors include the position within the segment N, the current bandwidth, the next segment's size, and the current bitrate being requested. Depending on these factors, the media player may decide to delay playback even though the segment N has already been downloaded. This allows the next segment N+1 more time to download and then playback can begin with less chance of re-buffering. Particular embodiments also provide a process to calculate the number of seconds to delay playback.
    Type: Application
    Filed: December 1, 2015
    Publication date: June 1, 2017
    Inventors: Deliang Fu, Shucheng Zhong, Zhibing Wang
  • Patent number: 9247315
    Abstract: In one embodiment, a method determines first information from a component of a computing device to determine when receiving of one or more advertisements will affect an available bandwidth reading that is based on receiving of a media program. Then, the method dynamically disables a multiple bitrate algorithm based upon the first information such that a new bitrate version of the media program cannot be requested by the multiple bitrate algorithm for the media player. Second information is determined from the component of the computing device to determine when the available bandwidth reading will not be affected by receiving of the one or more advertisements. The method then dynamically enables the multiple bitrate algorithm based on the second information. The multiple bitrate algorithm is then allowed to request the different bitrate version of the media program based on the available bandwidth reading.
    Type: Grant
    Filed: November 5, 2014
    Date of Patent: January 26, 2016
    Assignee: HULU, INC.
    Inventors: Deliang Fu, Haisheng Wu, Binbin Yu, Zhibing Wang, Xin Jin, Baptiste Coudurier
  • Publication number: 20150134847
    Abstract: In one embodiment, a method determines thresholds for a multiple bitrate algorithm that adjusts which bitrates for a media program are requested. A first threshold is associated with a first buffer length and a first direction of adjustment and a second threshold is associated with a second buffer length greater than the first buffer length and a second direction of adjustment. The method then determines which threshold applies to a buffer length of a buffer buffering the media program. An adjustment to the multiple bitrate algorithm in the first direction or the second direction based on the threshold that applies where the adjustment in the first direction increases an aggressiveness used by the multiple bitrate algorithm to increase the bitrate requested and the adjustment in the second direction decreases the aggressiveness used by the multiple bitrate algorithm to increase the bitrate requested.
    Type: Application
    Filed: April 4, 2014
    Publication date: May 14, 2015
    Applicant: Hulu, LLC
    Inventors: Deliang Fu, Haisheng Wu, Binbin Yu, Zhibing Wang, Xin Jin, Baptiste Coudurier
  • Publication number: 20150128170
    Abstract: In one embodiment, a method determines first information from a component of a computing device to determine when receiving of one or more advertisements will affect an available bandwidth reading that is based on receiving of a media program. Then, the method dynamically disables a multiple bitrate algorithm based upon the first information such that a new bitrate version of the media program cannot be requested by the multiple bitrate algorithm for the media player. Second information is determined from the component of the computing device to determine when the available bandwidth reading will not be affected by receiving of the one or more advertisements. The method then dynamically enables the multiple bitrate algorithm based on the second information. The multiple bitrate algorithm is then allowed to request the different bitrate version of the media program based on the available bandwidth reading.
    Type: Application
    Filed: November 5, 2014
    Publication date: May 7, 2015
    Inventors: Deliang Fu, Haisheng Wu, Binbin Yu, Zhibing Wang, Xin Jin, Baptiste Coudurier
  • Publication number: 20140132833
    Abstract: In one embodiment, a method determines multiple screens of multiple mobile computing devices should be combined in playback of a video. A first mobile computing device receives the video and determines device characteristics based on a positioning of the first mobile computing device in relation to a second mobile computing device. Playback characteristics are determined based on the device characteristics. Then, the first mobile computing device renders a first portion of the video on a first screen based on the playback characteristics where a second portion of the video is rendered on a second screen of the second mobile computing device.
    Type: Application
    Filed: November 12, 2012
    Publication date: May 15, 2014
    Applicant: Hulu, LLC
    Inventors: Zhibing Wang, Deliang Fu, Xao Xiong, Heng Su, Joyce Zhang