Patents by Inventor Yaowu Xu

Yaowu Xu 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: 10869060
    Abstract: A memory of an apparatus includes instructions executable by a processor to select a backward scan order for traversing, along scan-order anti-diagonal lines, a block of values related to the transform coefficients; select a template for entropy-coding the values, the template indicating, for a to-be-coded value, scan positions of already coded values, the scan positions arranged in at least two template anti-diagonal lines; maintain, for coding first values, where the first values are arranged along a current scan-order anti-diagonal line, a first line buffer and a second line buffer; for a current value of the current scan-order anti-diagonal line, determine a context using the first line buffer and the second line buffer, and entropy encode, in a compressed bitstream, the current value using the context; and replace one of the second line buffer or the first line buffer with the current scan-order anti-diagonal line.
    Type: Grant
    Filed: November 25, 2019
    Date of Patent: December 15, 2020
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, James Zern, Linfeng Zhang, Ching-Han Chiang, Yaowu Xu
  • Publication number: 20200382776
    Abstract: Techniques for encoding and decoding image data are described. An image is reconstructed and deblocked. A respective deblocking filter is identified for different color planes of the image. The deblocking filters may include those having different lengths for a luma plane as compared to one or more chroma planes of the image. One or more of the color planes, such as the luma plane, may have different filters for filtering reconstructed pixels vertically as compared to filtering the reconstructed pixels horizontally.
    Type: Application
    Filed: August 17, 2020
    Publication date: December 3, 2020
    Inventors: Yaowu Xu, Jingning Han, Cheng Chen
  • Publication number: 20200366921
    Abstract: Decoding a current frame includes identifying a first reference frame and a second reference frame for decoding the current frame; storing reference motion vectors of reference blocks of the first reference frame, where other reference frames are used to decode the first reference frame; identifying motion trajectories that pass through the current frame by projecting the reference motion vectors of the reference blocks of the first reference frame onto the current frame using at least a third reference frame of the other reference frames, where the projecting identifies, for a first current block of the current frame a corresponding first reference block in the first reference frame, and a corresponding reference motion vector of the reference motion vectors is associated with the corresponding first reference block; and projecting the corresponding reference motion vector onto the second reference frame to obtain a second reference block in the second reference frame.
    Type: Application
    Filed: August 3, 2020
    Publication date: November 19, 2020
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Patent number: 10820014
    Abstract: A prediction scheme is selected for encoding or decoding a video block. A first compound motion block can be determined by weighting distances from a first reference frame to the video frame and from a second reference frame to the video frame using one or more quantized weighting coefficients. A second compound motion block can be determined based on an average of pixel values a video block of the first reference frame and pixel values from a video block of the second reference frame. One of the first compound motion block or the second compound motion block is selected and used to generate a prediction block. Alternatively, data encoded to a bitstream including the video frame can be used to determine which compound motion block to use to generate the prediction block. The current block of the video frame is then encoded or decoded using the prediction block.
    Type: Grant
    Filed: September 5, 2019
    Date of Patent: October 27, 2020
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu
  • Patent number: 10798408
    Abstract: A first partitioning for partitioning a first region of a frame before a current frame in a video sequence is determined. The first partitioning defines at least two prediction sub-regions of the first region, and the prediction sub-regions include contiguous, non-overlapping groups of pixels. A motion vector that predicts a prediction sub-region of the first region is determined. The first partitioning is modified to a second partitioning by moving at least one border of the first partitioning that is between adjacent prediction sub-regions of the first region by the motion vector. A current region of the current frame that is collocated with the first region is partitioned by the second partitioning, and is encoded or decoded. The technique eliminates the need to re-partition an entire frame each time, and can be used with both rectangular-shaped block partitioning and partitioning using masks and other partitioning techniques.
    Type: Grant
    Filed: May 9, 2019
    Date of Patent: October 6, 2020
    Assignee: GOOGLE LLC
    Inventors: James Bankoski, Debargha Mukherjee, Yaowu Xu
  • Patent number: 10771803
    Abstract: A method for decoding an encoded block of an encoded frame includes selecting motion vectors corresponding to blocks of an extended collocated processing unit in a first reference frame; identifying a block of the blocks, such that the encoded block is a projection, using a motion vector of the block that refers to a third reference frame, onto the encoded frame; on condition that a block is identified, determining a temporal motion vector candidate for the encoded block in a second reference frame using a motion vector of the identified block and respective display orders of the encoded frame, the first reference frame, the second reference frame, and the third reference frame, and adding the temporal motion vector candidate to a motion vector candidate list; selecting a motion vector from the motion vector candidate list; generating a prediction block using the selected motion vector for decoding the encoded block.
    Type: Grant
    Filed: April 9, 2019
    Date of Patent: September 8, 2020
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Publication number: 20200267391
    Abstract: Decoding a current block of a current frame includes selecting a first reference frame for forward inter prediction of the current frame; selecting a second reference frame for backward inter prediction of the current frame; generating an optical flow reference frame portion for inter prediction of the current block by performing an optical flow estimation using the first reference frame and the second reference frame, where the optical flow estimation produces a respective motion field for pixels of the current block; and performing a prediction process for the current block using the optical flow reference frame portion by: using a motion vector used to encode the current block to identify a reference block; adjusting boundaries of the reference block using a subpixel interpolation filter length; and identifying blocks encompassing pixels within the adjusted boundaries of the reference block.
    Type: Application
    Filed: May 5, 2020
    Publication date: August 20, 2020
    Inventors: Yaowu Xu, Bohan Li, Jingning Han
  • Patent number: 10750171
    Abstract: Systems and methods are disclosed for encoding and decoding video. For example, methods may include: accessing an encoded bitstream; reconstructing an image including multiple color planes based on data from the encoded bitstream; decoding a first filter level from the encoded bitstream, wherein the first filter level specifies one or more thresholds that are used to select a length for a deblocking filter; decoding a second filter level from the encoded bitstream, wherein the second filter level specifies one or more thresholds that are used to select a length for a deblocking filter; after reconstruction of the image, applying a deblocking filter to a first color plane of the image using the first filter level; and, after reconstruction of the image, applying a deblocking filter to a second color plane of the image using the second filter level.
    Type: Grant
    Filed: June 25, 2018
    Date of Patent: August 18, 2020
    Assignee: GOOGLE LLC
    Inventors: Cheng Chen, Jingning Han, Yaowu Xu
  • Publication number: 20200252656
    Abstract: Generating encoded image data using adjustable per-symbol entropy coding probability updating may include generating a portion of the encoded image data in accordance with a value of a probability update indicator for the portion indicating whether per-symbol entropy coding probability updating is disabled for the portion, and including the value of the probability update indicator and the entropy coded image data in an output bitstream. Generating decoded image data using adjustable per-symbol entropy coding probability updating may include obtaining a value of a probability update indicator for a portion of the decoded image data, the value of the probability update indicator for the portion indicating whether per-symbol entropy coding probability updating is disabled for the portion, and generating decoded image data for the portion in accordance with the value of the probability update indicator for the portion.
    Type: Application
    Filed: January 30, 2020
    Publication date: August 6, 2020
    Inventors: Yaowu Xu, Hui Su
  • Patent number: 10735767
    Abstract: Encoding a transform block includes de-composing transform coefficients of the transform block into binary level maps arranged in a tier and a residual transform map, the binary level maps formed by breaking down a value of a respective transform coefficient into a series of binary decisions; and encoding, using a context model, a to-be-encoded binary decision that is at a scan location in a scan order, the to-be-encoded binary decision being a value of a binary level map at a level k. The context model is selected using first neighboring binary decisions of the binary level map at a level k that precede the to-be-encoded binary decision; and second neighboring binary decisions of a binary level map at a level (k?1), the second neighboring binary decisions including values that precede and values that follow, in the scan order, a co-located binary decision of the to-be-encoded binary decision.
    Type: Grant
    Filed: March 12, 2019
    Date of Patent: August 4, 2020
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Publication number: 20200236357
    Abstract: Video coding may include identifying an input frame from an input video stream, generating, by a processor, an output bitstream by encoding the input frame, wherein encoding the input frame includes dividing the input frame into at least a first contiguous area of the input frame and a second contiguous area of the input frame, generating first encoded data by encoding the first contiguous area of the input frame, generating second encoded data by encoding the second contiguous area of the input frame, wherein encoding the second contiguous area of the input frame is performed independently of encoding the first contiguous area of the input frame, and including the first encoded data and the second encoded data in the output bitstream, and outputting the output bitstream.
    Type: Application
    Filed: March 24, 2020
    Publication date: July 23, 2020
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20200236350
    Abstract: A sign value of a DC coefficient of a current block is determined using neighbor blocks of the current block. First and second sign values are identified as respectively corresponding to an above neighbor block of the current block and a left neighbor block of the current block. A context value is calculated by applying a first weighting value to the first sign value and a second weighting value to the second sign value. The first weighting value is based on a boundary between the above neighbor block and the current block, and the second weighting value is based on a boundary between the left neighbor block and the current block. A probability value is selected based on the context value. The sign value of the DC coefficient of the current block is then determined using the probability model.
    Type: Application
    Filed: April 2, 2020
    Publication date: July 23, 2020
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Publication number: 20200236375
    Abstract: An apparatus for video coding using dual deblocking filter thresholds may include a processor generating a reconstructed frame by decoding an encoded bitstream and outputting the reconstructed frame. Decoding may include generating a decoded block by decoding a portion of the encoded bitstream, identifying a first deblocking threshold index from the encoded bitstream, identifying a second deblocking threshold index from the encoded bitstream, generating a reconstructed block based on the decoded block, and including the reconstructed block in the reconstructed frame. Generating the reconstructed block may include deblocking based on the first deblocking threshold index and the second deblocking threshold index.
    Type: Application
    Filed: April 2, 2020
    Publication date: July 23, 2020
    Inventors: Jingning Han, Yaowu Xu
  • Patent number: 10701364
    Abstract: Encoding a group of frames of a video sequence can include determining a stillness of the group of frames, in response to determining that the stillness of the group of frames meets stillness conditions, encoding the group of frames using a coding structure that is a one-layer coding structure, and, in response to determining that the stillness of the group of frames does not meet the stillness conditions, encoding the group of frames using the coding structure that is a multi-layer coding structure. Instructions for decoding a group of frames include instructions to determine, from an encoded bitstream, an indication of a coding structure used to encode the group of frames, receive the group of frames in a coding order of the coding structure, and decode the group of frames using the coding structure. The indication is one of a one-layer coding structure indication or a multi-layer coding structure indication.
    Type: Grant
    Filed: October 26, 2017
    Date of Patent: June 30, 2020
    Assignee: GOOGLE LLC
    Inventors: Yuxin Liu, Di Chen, Yaowu Xu
  • Patent number: 10694180
    Abstract: Entropy coding of transform partitioning information may include decoding a current block by determining a probability for entropy decoding a transform partitioning flag based on a transform block size of an adjacent block that is available for decoding, entropy decoding the transform partitioning flag for the current block using the probability, generating a reconstructed block based on the current block by, on a condition that the transform partitioning flag indicates that transform partitioning is omitted for the current block, inverse transforming the current block using a current block size inverse transform, and, on a condition that the transform partitioning flag indicates transform partitioning for the current block, identifying sub-blocks from the current block, wherein each sub-block from the sub-blocks has a sub-block size smaller than the current block size, inverse transforming the sub-blocks using sub-block size inverse transforms, and generating the reconstructed block based on the residual blo
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: June 23, 2020
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu
  • Patent number: 10659788
    Abstract: An optical flow reference frame portion (e.g., a block or an entire frame) is generated that can be used for inter prediction of blocks of a current frame in a video sequence. A forward reference frame and a backward reference frame are used in an optical flow estimation that produces a respective motion field for pixels of a current frame. The motion fields are used to warp some or all pixels of the reference frames to the pixels of the current frame. The warped reference frame pixels are blended to form the optical flow reference frame portion. The inter prediction may be performed as part of encoding or decoding portions of the current frame.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: May 19, 2020
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Bohan Li, Jingning Han
  • Patent number: 10645408
    Abstract: Video coding using dual deblocking filter thresholds may include generating a reconstructed frame by decoding an encoded bitstream and outputting the reconstructed frame. Decoding may include generating a decoded block by decoding a portion of the encoded bitstream, identifying a first deblocking threshold index from the encoded bitstream, identifying a second deblocking threshold index from the encoded bitstream, generating a reconstructed block based on the decoded block, and including the reconstructed block in the reconstructed frame. Generating the reconstructed block may include deblocking based on the first deblocking threshold index and the second deblocking threshold index.
    Type: Grant
    Filed: September 17, 2017
    Date of Patent: May 5, 2020
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu
  • Patent number: 10623731
    Abstract: A sign value of a DC coefficient of a current block is determined using neighbor blocks of the current block. First and second sign values are identified as respectively corresponding to an above neighbor block of the current block and a left neighbor block of the current block. A context value is calculated by applying a first weighting value to the first sign value and a second weighting value to the second sign value. The first weighting value is based on a boundary between the above neighbor block and the current block, and the second weighting value is based on a boundary between the left neighbor block and the current block. A probability value is selected based on the context value. The sign value of the DC coefficient of the current block is then determined using the probability model.
    Type: Grant
    Filed: January 10, 2019
    Date of Patent: April 14, 2020
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Patent number: 10616576
    Abstract: A system, apparatus, and method for decoding a video signal having a plurality of frames including a current frame. Decoding the video signal includes generating an alternate reference frame, detecting an error in the current frame and reporting the detected error, receiving a recovery frame in response to reporting the detected error, wherein the recovery frame is encoded using the alternate reference frame; and decoding the recovery frame using the alternate reference frame. The alternate reference frame occurs prior to the current frame in the video signal and is other than a frame immediately prior to the current frame.
    Type: Grant
    Filed: August 30, 2012
    Date of Patent: April 7, 2020
    Assignee: GOOGLE LLC
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20200099956
    Abstract: A memory of an apparatus includes instructions executable by a processor to select a backward scan order for traversing, along scan-order anti-diagonal lines, a block of values related to the transform coefficients; select a template for entropy-coding the values, the template indicating, for a to-be-coded value, scan positions of already coded values, the scan positions arranged in at least two template anti-diagonal lines; maintain, for coding first values, where the first values are arranged along a current scan-order anti-diagonal line, a first line buffer and a second line buffer; for a current value of the current scan-order anti-diagonal line, determine a context using the first line buffer and the second line buffer, and entropy encode, in a compressed bitstream, the current value using the context; and replace one of the second line buffer or the first line buffer with the current scan-order anti-diagonal line.
    Type: Application
    Filed: November 25, 2019
    Publication date: March 26, 2020
    Inventors: Jingning Han, James Zern, Linfeng Zhang, Ching-Han Chiang, Yaowu Xu