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: 10602176
    Abstract: Decoding a video stream may include decoding a first block of a current frame by decoding a first motion vector from the encoded video stream, decoding an identifier of a first interpolation filter from the encoded video stream, and reconstructing the first block using the first motion vector and the first interpolation filter. Decoding a second block of the current frame may include identifying the first motion vector from the first block as a selected motion vector for predicting the second block in response to decoding an inter-prediction mode identifier for decoding the second block, identifying the first interpolation filter as a selected interpolation filter for predicting the second block in response to identifying the first motion vector from the first block as the selected motion vector for predicting the second block, and reconstructing the second block using the first motion vector and the first interpolation filter.
    Type: Grant
    Filed: April 15, 2016
    Date of Patent: March 24, 2020
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Jingning Han
  • Publication number: 20200092576
    Abstract: Video coding may include generating, by a processor executing instructions stored on a non-transitory computer-readable medium, an encoded frame by encoding a current frame from an input bitstream, by generating a reference coframe spatiotemporally corresponding to the current frame, wherein the current frame is a frame from a sequence of input frames, wherein each frame from the sequence of input frames has a respective sequential location in the sequence of input frames, and wherein the current frame has a current sequential location in the sequence of input frames, and encoding the current frame using the reference coframe. Video coding may include including the encoded frame in an output bitstream and outputting the output bitstream.
    Type: Application
    Filed: September 14, 2018
    Publication date: March 19, 2020
    Inventors: Bohan Li, Yaowu Xu, Jingning Han
  • Publication number: 20200077083
    Abstract: A method for using an alternate frame reference (ARF) includes selecting an anchor frame and video frames, where the anchor frame includes an anchor block, and the anchor block includes an anchor pixel; identifying, for the anchor block of the anchor frame, respective reference blocks in the video frames; determining, for the anchor pixel and using an anchor patch, respective distances between the anchor pixel and respective co-located reference pixels of the respective reference blocks, where the anchor patch includes anchor patch pixels, and a respective distance, of the respective distances, between the anchor pixel and a respective co-located reference pixel is determined using the anchor patch pixels and co-located reference pixels; determining, using the respective distances, respective weights; determining, using the respective weights, an ARF pixel that is co-located with the anchor pixel; and encoding, in a compressed bitstream, the ARF.
    Type: Application
    Filed: August 30, 2018
    Publication date: March 5, 2020
    Inventors: Jingning Han, Paul Wilkins, Yaowu Xu
  • Patent number: 10567807
    Abstract: Decoding encoded image data using adjustable per-symbol entropy coding probability updating may include identifying a probability update indicator indicating whether per-symbol entropy coding probability updating is enabled, identifying current entropy coding probabilities, identifying a current entropy coded representation of a current symbol, generating the current symbol by entropy decoding the current entropy coded representation of the current symbol based on the current entropy coding probabilities, in response to a determination that the probability update indicator indicates that per-symbol entropy coding probability updating is enabled for the current portion, generating updated entropy coding probabilities based on the current symbol and the current entropy coding probabilities, generating a decoded current portion using the current symbol, including the decoded current portion in the decoded image data, and outputting the decoded image data.
    Type: Grant
    Filed: February 4, 2019
    Date of Patent: February 18, 2020
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Hui Su
  • Patent number: 10567772
    Abstract: Methods and apparatuses for coding a current block are disclosed. An apparatus for decoding a current block of size 8×8 including a memory and a processor is also disclosed. The processor configured to execute instructions stored in the memory to generate, for the current block, a luma block and a chroma block, divide the luma block into luma sub-blocks, and determine a respective prediction mode for each luma sub-block. The chroma block is of size 4×4, each luma sub-block is of size 4×4, and the respective prediction mode is an intra-mode or an inter-mode. The instructions also include instructions to, on condition that each of the respective prediction modes is the inter-mode, divide the chroma block into 2×2 chroma sub-blocks and determine a respective motion vector for each chroma sub-block.
    Type: Grant
    Filed: July 11, 2017
    Date of Patent: February 18, 2020
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Jingning Han
  • Patent number: 10555000
    Abstract: Coding a current block using multi-level compound predictor is disclosed. An apparatus includes a memory and a processor. The processor is configured to execute instructions stored in the memory to generate four or more prediction blocks; combine a first prediction block and a second prediction block of the four or more prediction blocks to form a first first-level compound prediction block; combine a third prediction block and a fourth prediction block of the four or more prediction blocks to form a second first-level compound prediction block; and combine, to obtain a prediction block for coding the current block, the first first-level compound prediction block and the second first-level compound prediction block.
    Type: Grant
    Filed: June 7, 2019
    Date of Patent: February 4, 2020
    Assignee: GOOGLE LLC
    Inventors: Debargha Mukherjee, Yaowu Xu, James Bankoski, Yuxin Liu
  • Publication number: 20200029098
    Abstract: Asymmetric probability model updating and entropy coding includes using different numbers of bits for storing probabilities of a probability model and for entropy coding symbols using that probability model. The probabilities of a probability model are updated according to values of syntax elements decoded from a bitstream. The probabilities are associated with possible values of the syntax elements and are stored using a first bit precision. Based on the updated probabilities, a second bit precision to use to entropy decode the syntax elements is determined. The second bit precision is less than the first bit precision. The syntax elements are then entropy decoded using the second bit precision, such as to produce quantized transform coefficients, which may be further processed and output to an output video stream. Using the first bit precision to entropy decode the syntax elements results in a lower compression throughput than using the second bit precision.
    Type: Application
    Filed: July 23, 2018
    Publication date: January 23, 2020
    Inventors: Jingning Han, Aki Kuusela, Stanislav Vitvitskyy, Yaowu Xu, Ching-Han Chiang, Dake He
  • Patent number: 10531124
    Abstract: Multi-stage coding block partition search is disclosed. A method includes selecting a partition-none partition type and a partition-split partition type for predicting the block, determining a first cost of predicting the block using the partition-none partition type, and determining a second cost of predicting the block using the partition-split partition type. The partition-none partition type and the partition-split partition type are selected from a set of partition types that includes the partition-none partition type, the partition-split partition type, and third partition types. The method also includes, on condition that the result meets a criterion, determining a respective encoding cost corresponding to at least some of the third partition types; selecting a selected partition type corresponding to a minimal cost amongst the partition-none partition type and the at least some of the third partition types; and encoding, in a compressed bitstream, the selected partition type.
    Type: Grant
    Filed: June 25, 2018
    Date of Patent: January 7, 2020
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu
  • Publication number: 20200007890
    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: Application
    Filed: September 5, 2019
    Publication date: January 2, 2020
    Inventors: Jingning Han, Yaowu Xu
  • Patent number: 10523944
    Abstract: Generating a new scan order includes incrementing a next index value after assigning the next index value to a coefficient in the new scan order; assigning, to a first coefficient at a first scan index m in the original scan order, a first scan index in the new scan order, the first coefficient is a context coefficient for entropy coding a parent coefficient that is at a parent scan index n in the original scan order; adding, to a list, a first item indicative of the parent coefficient and parent scan index n; before assigning a second scan index to a second coefficient that is at a second index m+j in the original scan order, wherein j>1, assigning the next index value to the parent coefficient, and removing the first item from the list; and assigning the next index value to the second coefficient in the new scan order.
    Type: Grant
    Filed: May 3, 2019
    Date of Patent: December 31, 2019
    Assignee: GOOGLE LLC
    Inventors: Ching-Han Chiang, Yaowu Xu, Jingning Han, Jia Feng
  • Publication number: 20190394463
    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: Application
    Filed: June 25, 2018
    Publication date: December 26, 2019
    Inventors: Cheng Chen, Jingning Han, Yaowu Xu
  • Publication number: 20190394491
    Abstract: Multi-stage coding block partition search is disclosed. A method includes selecting a partition-none partition type and a partition-split partition type for predicting the block, determining a first cost of predicting the block using the partition-none partition type, and determining a second cost of predicting the block using the partition-split partition type. The partition-none partition type and the partition-split partition type are selected from a set of partition types that includes the partition-none partition type, the partition-split partition type, and third partition types. The method also includes, on condition that the result meets a criterion, determining a respective encoding cost corresponding to at least some of the third partition types; selecting a selected partition type corresponding to a minimal cost amongst the partition-none partition type and the at least some of the third partition types; and encoding, in a compressed bitstream, the selected partition type.
    Type: Application
    Filed: June 25, 2018
    Publication date: December 26, 2019
    Inventors: Jingning Han, Yaowu Xu
  • Patent number: 10506240
    Abstract: Video data streams can be encoded and decoded using inter or intra prediction. The blocks of a frame can be processed based on depth, from the lowest level sub-blocks to the highest level large blocks, and divided into groups of blocks that are inter predicted, blocks having sub-blocks that are inter predicted and sub-blocks that are intra predicted, and blocks that are intra predicted. The inter predicted blocks are encoded or decoded first, followed by the inter predicted sub-blocks, the intra predicted sub-blocks, and the intra predicted blocks. Data from the inter predicted blocks and sub-blocks may be used to improve the prediction performance of intra predicted blocks and sub-blocks.
    Type: Grant
    Filed: July 16, 2019
    Date of Patent: December 10, 2019
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, James Bankoski, Paul Wilkins, Hui Su
  • Patent number: 10506258
    Abstract: Video syntax elements are coded using a context tree. Context information used for coding previously-coded syntax elements is identified. A context tree is produced by separating the previously-coded syntax elements into data groups based on the context information. The context tree includes nodes representing the data groups. Separating the previously-coded syntax elements can include applying separation criteria against values of the context information to produce at least some of the nodes. Context information is then identified for another set of syntax elements to be coded. One of the nodes of the context tree is identified based on values of the context information associated with one of the other set of syntax elements. That syntax element is then coded according to a probability model associated with the identified node. The context tree can be used to encode or decode syntax elements.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: December 10, 2019
    Assignee: GOOGLE LLC
    Inventors: Ching-Han Chiang, Jingning Han, Yaowu Xu
  • Patent number: 10506242
    Abstract: Coding a transform block using level maps is disclosed. A method includes determining a lower plane of values, processing the lower plane in a backward scan order, and selecting a template for entropy-coding the values of the lower plane. The method also includes, for a current value of the lower plane, selecting, based on the template anti-diagonal lines, two or more line buffers, each of the two or more line buffers corresponding to a respective scan-order anti-diagonal line, determining a context using the two or more line buffers, and entropy encoding the current value using the context. Each value is a respective “up-to” value of a transform coefficient. The backward scan order visits the values of the lower plane along scan-order anti-diagonal lines. The template indicates scan positions of coded values of the lower plane, the scan positions are arranged, in the template, along template anti-diagonal lines.
    Type: Grant
    Filed: January 30, 2018
    Date of Patent: December 10, 2019
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, James Zern, Linfeng Zhang, Ching-Han Chiang, Yaowu Xu
  • Patent number: 10491923
    Abstract: Multiple directional filters are applied against lines of pixels associated with a video block to determine filtered noise values. Each directional filter uses a different direction for filtering lines of pixels. For example, for each pixel value of the video block along a line of pixels having a direction corresponding to a directional filter, a difference can be determined between the pixel value and a corresponding pixel value along the line of pixels and outside of the video block. A value for line of pixels is determined as the sum of the absolute values of each of the differences, and a filtered noise value is determined as the sum of the values for the lines of pixels. The directional filter used to determine a lowest one of the filtered noise values for the video block is then selected. The video block is filtered using the selected directional filter.
    Type: Grant
    Filed: December 18, 2017
    Date of Patent: November 26, 2019
    Assignee: GOOGLE LLC
    Inventors: Cheng Chen, Jingning Han, Yaowu Xu
  • Patent number: 10484707
    Abstract: Candidate motion vectors are identified from previously coded blocks. For each candidate, a distance between a previously coded block associated with the candidate and a current block and a popularity value based previously coded pixels associated with the candidate are determined. Each candidate is ranked within a list according to a priority value, the priority value based on the distance and the popularity value associated with the candidate. The ranking also includes determining reference blocks that share first and second reference frames for decoding the current block using compound prediction, and assigning a higher priority to candidates that share the same combination of the reference frames within the list than combinations of candidates encoded using respective single reference frames of the first reference frame and the second reference frame. The reference motion vector is selected from the list and is used to decode the current block.
    Type: Grant
    Filed: July 15, 2019
    Date of Patent: November 19, 2019
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Jingning Han
  • Publication number: 20190342572
    Abstract: Candidate motion vectors are identified from previously coded blocks. For each candidate, a distance between a previously coded block associated with the candidate and a current block and a popularity value based previously coded pixels associated with the candidate are determined. Each candidate is ranked within a list according to a priority value, the priority value based on the distance and the popularity value associated with the candidate. The ranking also includes determining reference blocks that share first and second reference frames for decoding the current block using compound prediction, and assigning a higher priority to candidates that share the same combination of the reference frames within the list than combinations of candidates encoded using respective single reference frames of the first reference frame and the second reference frame. The reference motion vector is selected from the list and is used to decode the current block.
    Type: Application
    Filed: July 15, 2019
    Publication date: November 7, 2019
    Inventors: Yaowu Xu, Jingning Han
  • Publication number: 20190342559
    Abstract: Video data streams can be encoded and decoded using inter or intra prediction. The blocks of a frame can be processed based on depth, from the lowest level sub-blocks to the highest level large blocks, and divided into groups of blocks that are inter predicted, blocks having sub-blocks that are inter predicted and sub-blocks that are intra predicted, and blocks that are intra predicted. The inter predicted blocks are encoded or decoded first, followed by the inter predicted sub-blocks, the intra predicted sub-blocks, and the intra predicted blocks. Data from the inter predicted blocks and sub-blocks may be used to improve the prediction performance of intra predicted blocks and sub-blocks.
    Type: Application
    Filed: July 16, 2019
    Publication date: November 7, 2019
    Inventors: Yaowu Xu, James Bankoski, Paul Wilkins, Hui Su
  • Patent number: 10469841
    Abstract: A mask is generated from a residual that is a difference between pixel values of at least two frames other than a current frame in a video sequence. The mask is then used to encode or decode a current block by inter-prediction. The mask forms an edge of an object within its bounds and can be used to combine different portions of a reference frame into a single block. This can increase coding efficiency.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: November 5, 2019
    Assignee: GOOGLE LLC
    Inventors: James Bankoski, Debargha Mukherjee, Yaowu Xu