Patents by Inventor Jingning Han

Jingning Han 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: 20190238879
    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: Application
    Filed: April 9, 2019
    Publication date: August 1, 2019
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Publication number: 20190238865
    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: Application
    Filed: January 30, 2018
    Publication date: August 1, 2019
    Inventors: Jingning Han, James Zern, Linfeng Zhang, Ching-Han Chiang, Yaowu Xu
  • Publication number: 20190215533
    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: Application
    Filed: March 12, 2019
    Publication date: July 11, 2019
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Publication number: 20190191164
    Abstract: A scan order for encoding or decoding coefficients of a transform block is selected on a transform block-level. A set of candidate scan orders is processed by identifying end of block positions within the transform block for each of the candidate scan orders. Cost values are determined for each of the candidate scan orders to reflect a number of the coefficients of the transform block that are located before the respective end of block positions. In particular, a cost value for a candidate scan order reflects the number of zero-value coefficients located before the end of block position for that candidate scan order. One of the candidate scan orders is then selected based on those cost values. The selected scan order is used to scan the coefficients in the transform block, such as for encoding those coefficients to a bitstream or for decoding those coefficients to an output video stream.
    Type: Application
    Filed: January 26, 2018
    Publication date: June 20, 2019
    Inventors: Jingning Han, Dake He
  • Patent number: 10326994
    Abstract: A method for coding a transform block of coefficients includes generating a new scan order from the original scan order such that a maximum scan distance of the new scan order is smaller than or equal to a predetermined distance, and coding the coefficients based on the new scan order. An apparatus for decoding a transform block of coefficients. The apparatus includes a memory and a processor. The memory includes instructions executable by the processor to identify an original scan order for encoding the coefficients, generate a new scan order from the original scan order such that a maximum scan distance of the new scan order is less than or equal to a predetermined distance, and decode, from an encoded bitstream, the coefficients based on the new scan order.
    Type: Grant
    Filed: April 11, 2018
    Date of Patent: June 18, 2019
    Assignee: GOOGLE LLC
    Inventors: Ching-Han Chiang, Yaowu Xu, Jingning Han, Jia Feng
  • Publication number: 20190158843
    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: Application
    Filed: November 20, 2017
    Publication date: May 23, 2019
    Inventors: Yaowu Xu, Bohan Li, Jingning Han
  • Publication number: 20190158873
    Abstract: A motion-field based reference frame is rendered that can be used to perform a prediction process for a first frame of a video sequence to be predicted. A first reference frame from the video sequence for forward inter prediction of the first frame is determined, as is a second reference frame from the video sequence for backward inter prediction of the first frame. A respective motion field determined for blocks of the first frame is used to determine parameters forming an affine homographic model. A current block of a reconstructed reference frame is rendered at a co-located position within a motion field-based reference frame by applying the affine homographic model to the current block. An affine homographic model may be determined for each reconstructed reference frame block to render the motion-field based reference frame.
    Type: Application
    Filed: February 12, 2018
    Publication date: May 23, 2019
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Publication number: 20190149816
    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: January 10, 2019
    Publication date: May 16, 2019
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Patent number: 10284869
    Abstract: Motion field estimation is used to predict motion within video blocks. A current block of a current frame is identified as a projection of a first reference block of a first reference frame onto the current frame. The projection uses a first motion vector of the reference block with respect to a second reference frame. A temporal motion vector candidate is determined for the current block by projecting the current block onto a second reference frame. The temporal motion vector candidate identifies a second reference block. A motion vector selected from a motion vector candidate list is used to generate a prediction block using the selected motion vector. The current block is coded using the prediction block.
    Type: Grant
    Filed: September 28, 2017
    Date of Patent: May 7, 2019
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Patent number: 10277905
    Abstract: Blocks of a frame of a non-baseband video signal are encoded by selecting between a staircase- or sinusoidal-based transform. For each prediction mode, a prediction block for encoding a current block is generated, a residual block is generated, the residual block is transformed using a sinusoidal-based transform and using a staircase-based transform, and first and second rate-distortion value for encoding the residual block using the sinusoidal-based transform and staircase-based transform are respectively generated. One of the staircase-based transform or the sinusoidal-based transform for encoding the residual block is selected based on a lowest value of the first rate-distortion value and the second rate-distortion value among results for each prediction mode, and the current block is encoded using the selected one of the staircase-based transform or the sinusoidal-based transform.
    Type: Grant
    Filed: September 14, 2015
    Date of Patent: April 30, 2019
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu, Cheng Chen
  • Publication number: 20190098329
    Abstract: Motion field estimation is used to predict motion within video blocks. A current block of a current frame is identified as a projection of a first reference block of a first reference frame onto the current frame. The projection uses a first motion vector of the reference block with respect to a second reference frame. A temporal motion vector candidate is determined for the current block by projecting the current block onto a second reference frame. The temporal motion vector candidate identifies a second reference block. A motion vector selected from a motion vector candidate list is used to generate a prediction block using the selected motion vector. The current block is coded using the prediction block.
    Type: Application
    Filed: September 28, 2017
    Publication date: March 28, 2019
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Patent number: 10244261
    Abstract: A method for encoding a transform block in an encoded video bitstream is provided. The method includes encoding a non-zero map indicating positions of the transform block containing non-zero transform coefficients, encoding a respective lower-range level map, and encoding a coefficient residual map. A lower-range level map indicates which values of the non-zero transform coefficients are equal to and which are greater than the map level. Each residual coefficient of the coefficient residual map corresponds to a respective non-zero transform coefficient of the transform block having an absolute value exceeding the maximum map level. An apparatus including a processor and a memory for decoding a transform block is also provided. The memory includes instructions executable by the processor to decode, a non-zero map, decode lower-range level maps up to a maximum map level, and decode a coefficient residual map.
    Type: Grant
    Filed: January 26, 2017
    Date of Patent: March 26, 2019
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Publication number: 20190089969
    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: Application
    Filed: September 17, 2017
    Publication date: March 21, 2019
    Inventors: Jingning Han, Yaowu Xu
  • Publication number: 20190068991
    Abstract: An optical flow reference frame is generated that can be used for inter prediction of blocks of a current frame in a video sequence. A first (e.g., forward) reference frame and a second (e.g., backward reference frame) are used in an optical flow estimation that produces a respective motion field for pixels of the current frame. The motion fields are used to warp the reference frames to the current frame. The warped reference frames are blended to forms the optical flow reference frame.
    Type: Application
    Filed: August 22, 2017
    Publication date: February 28, 2019
    Inventors: Yaowu Xu, Bohan Li, Jingning Han
  • Publication number: 20190058897
    Abstract: Dynamic motion vector referencing is used to predict motion within video blocks. A motion trajectory is determined for a current frame including a video block to encode or decode based on a reference motion vector used for encoding or decoding one or more reference frames of the current frame. One or more temporal motion vector candidates are then determined for predicting motion within the video block based on the motion trajectory. A motion vector is selected from a motion vector candidate list including the one or more temporal motion vector candidates and used to generate a prediction block. The prediction block is then used to encode or decode the video block. The motion trajectory is based on an order of video frames indicated by frame offset values encoded to a bitstream. The motion vector candidate list may include one or more spatial motion vector candidates.
    Type: Application
    Filed: August 15, 2017
    Publication date: February 21, 2019
    Inventors: Jingning Han, James Bankoski, Yaowu Xu
  • Publication number: 20190058883
    Abstract: A method for coding a transform block of coefficients includes generating a new scan order from the original scan order such that a maximum scan distance of the new scan order is smaller than or equal to a predetermined distance, and coding the coefficients based on the new scan order. An apparatus for decoding a transform block of coefficients. The apparatus includes a memory and a processor. The memory includes instructions executable by the processor to identify an original scan order for encoding the coefficients, generate a new scan order from the original scan order such that a maximum scan distance of the new scan order is less than or equal to a predetermined distance, and decode, from an encoded bitstream, the coefficients based on the new scan order.
    Type: Application
    Filed: April 11, 2018
    Publication date: February 21, 2019
    Inventors: Ching-Han Chiang, Yaowu Xu, Jingning Han, Jia Feng
  • Publication number: 20190052912
    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: Application
    Filed: December 18, 2017
    Publication date: February 14, 2019
    Inventors: Cheng Chen, Jingning Han, Yaowu Xu
  • Publication number: 20190052897
    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: August 14, 2017
    Publication date: February 14, 2019
    Inventors: Jingning Han, Yaowu Xu
  • Patent number: 10194147
    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 19, 2017
    Date of Patent: January 29, 2019
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Jingning Han, Ching-Han Chiang
  • Publication number: 20190020878
    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: Application
    Filed: July 11, 2017
    Publication date: January 17, 2019
    Inventors: Yaowu Xu, Jingning Han