Patents by Inventor James Bankoski

James Bankoski 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: 20240080482
    Abstract: An apparatus for decoding frames of a compressed video data stream having at least one frame divided into partitions, includes a memory and a processor configured to execute instructions stored in the memory to read partition data information indicative of a partition location for at least one of the partitions, decode a first partition of the partitions that includes a first sequence of blocks, decode a second partition of the partitions that includes a second sequence of blocks identified from the partition data information using decoded information of the first partition.
    Type: Application
    Filed: November 2, 2023
    Publication date: March 7, 2024
    Inventors: Yaowu Xu, Paul Wilkins, James Bankoski
  • Patent number: 11800136
    Abstract: Decoding a current block of a current frame includes obtaining motion trajectories between the current frame and at least one previously coded frame by projecting motion vectors from the at least one previously coded frame onto the current frame. A motion field is obtained between the current frame and a reference frame used for coding the current frame. The motion field is obtained by extending the motion trajectories from the current frame towards the reference frame. A motion vector for the current block is identified based on the motion field. A prediction block is obtained for the current block using a reference block of the reference frame identified using the motion vector.
    Type: Grant
    Filed: July 19, 2022
    Date of Patent: October 24, 2023
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Publication number: 20230232001
    Abstract: A system, apparatus, and method for encoding and decoding a video image having a plurality of frames is disclosed. Encoding and decoding the video image can include selecting, for a current block, a prediction mode from a plurality of prediction modes; identifying, for the current block, a quantization value; selecting, for the current block, a probability distribution from a plurality of probability distributions based on the identified quantization value using a processor; and entropy encoding the selected prediction mode using the selected probability distribution.
    Type: Application
    Filed: March 22, 2023
    Publication date: July 20, 2023
    Inventors: Yaowu Xu, Paul Gordon Wilkins, James Bankoski
  • Patent number: 11647223
    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: Grant
    Filed: December 23, 2020
    Date of Patent: May 9, 2023
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, James Bankoski, Yaowu Xu
  • Patent number: 11627321
    Abstract: Generating, by a processor in response to instructions stored on a non-transitory computer readable medium, a reconstructed frame, may include generating a reconstructed block of the reconstructed frame by decoding from an encoded bitstream. Decoding may include decoding a value from the encoded bitstream, identifying, in accordance with the value, a probability distribution for generating the reconstructed block, wherein the value indicates the probability distribution among a plurality of probability distributions determined independently of generating the reconstructed frame, entropy decoding an encoded prediction mode from the encoded bitstream using the probability distribution to identify a prediction mode for generating the reconstructed block, generating a prediction block in accordance with the prediction mode; combining the prediction block and a reconstructed residual block to obtain the reconstructed block, and including the reconstructed block in the reconstructed frame.
    Type: Grant
    Filed: June 7, 2021
    Date of Patent: April 11, 2023
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Paul Gordon Wilkins, James Bankoski
  • Publication number: 20230058845
    Abstract: A method for coding a current block using an intra-prediction mode includes obtaining a focal point, the focal point having coordinates (a, b) in a coordinate system; and generating, using first peripheral pixels and second peripheral pixels, a prediction block for the current block, where the first peripheral pixels form a first peripheral pixel line constituting an x-axis, and where the second peripheral pixels form a second peripheral pixel line constituting a y-axis. Generating the prediction block includes, for each location of the prediction block at a location (i, j) of the prediction block, determining at least one of an x-intercept or a y-intercept; and determining a prediction pixel value for the each location of the prediction block using the at least one of the x-intercept or the y-intercept.
    Type: Application
    Filed: May 14, 2020
    Publication date: February 23, 2023
    Inventors: James Bankoski, Debargha Mukherjee
  • Publication number: 20230050660
    Abstract: A method for intra-prediction of a current block includes selecting peripheral pixels of the current block, where the peripheral pixels are used to generate a prediction block for the current block; for each prediction pixel of the prediction block, performing steps including selecting two respective pixels of the peripheral pixels; and calculating the prediction pixel by interpolating at least the two respective pixels; and coding a residual block corresponding to a difference between the current block and the prediction block.
    Type: Application
    Filed: May 14, 2020
    Publication date: February 16, 2023
    Inventors: James Bankoski, Debargha Mukherjee
  • Publication number: 20220377364
    Abstract: Decoding a current block of a current frame includes obtaining motion trajectories between the current frame and at least one previously coded frame by projecting motion vectors from the at least one previously coded frame onto the current frame. A motion field is obtained between the current frame and a reference frame used for coding the current frame. The motion field is obtained by extending the motion trajectories from the current frame towards the reference frame. A motion vector for the current block is identified based on the motion field. A prediction block is obtained for the current block using a reference block of the reference frame identified using the motion vector.
    Type: Application
    Filed: July 19, 2022
    Publication date: November 24, 2022
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Publication number: 20220303583
    Abstract: Video coding using constructed reference frames may include generating, by a processor in response to instructions stored on a non-transitory computer readable medium, a reconstructed video. Generating the reconstructed video may include receiving an encoded bitstream. Video coding using constructed reference frames may include generating a reconstructed non-showable reference frame. Generating the reconstructed non-showable reference frame may include decoding a first encoded frame from the encoded bitstream. Video coding using constructed reference frames may include generating a reconstructed frame. Generating the reconstructed frame may include decoding a second encoded frame from the encoded bitstream using the reconstructed non-showable reference frame as a reference frame. Video coding using constructed reference frames may include including the reconstructed frame in the reconstructed video and outputting the reconstructed video.
    Type: Application
    Filed: June 8, 2022
    Publication date: September 22, 2022
    Inventors: James Bankoski, Yaowu Xu, Paul Wilkins
  • Publication number: 20220256186
    Abstract: Generating a compound predictor block for a current block of video includes generating, for the current block, a first predictor block using one of inter-prediction or intra-prediction and generating a second predictor block. The first predictor block includes a first pixel and the second predictor block includes a second pixel that is co-located with the first pixel. A first weight is determined for the first pixel using a difference between a value of the first pixel and a value of the second pixel. A second weight is determined for the second pixel using the first weight. The compound predictor block is generated by combining the first predictor block and the second predictor block. The compound predictor block includes a weighted pixel that is determined using a weighted sum of the first pixel and the second pixel using the first weight and the second weight.
    Type: Application
    Filed: April 28, 2022
    Publication date: August 11, 2022
    Inventors: Debargha Mukherjee, James Bankoski, Yue Chen, Yuxin Liu, Sarah Parker
  • Patent number: 11405631
    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: Grant
    Filed: August 3, 2020
    Date of Patent: August 2, 2022
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Yaowu Xu, James Bankoski, Jia Feng
  • Patent number: 11375240
    Abstract: Video coding using a constructed reference frame may include generating, by a processor in response to instructions stored on a non-transitory computer readable medium, an encoded video and outputting an output bitstream. Generating the encoded video includes receiving an input video stream, generating a constructed reference frame, generating an encoded constructed reference frame by encoding the constructed reference frame, including the encoded constructed reference frame in an output bitstream such that the constructed reference frame is a non-showable frame, generating an encoded frame by encoding a current frame from the input video stream using the constructed reference frame as a reference frame, and including the encoded frame in the output bitstream.
    Type: Grant
    Filed: December 17, 2018
    Date of Patent: June 28, 2022
    Assignee: GOOGLE LLC
    Inventors: James Bankoski, Paul Wilkins, Yaowu Xu
  • Patent number: 11343528
    Abstract: Generating a compound predictor block of a current block of video can include generating, for the current block, predictor blocks comprising a first predictor block including first predictor pixels and a second predictor block including second predictor pixels; using at least a subset of the first predictor pixels to determine a first weight for a first predictor pixel of the first predictor pixels; obtaining a second weight for a second predictor pixel of the second predictor pixels, where the second predictor pixel is co-located with the first predictor pixel; and generating the compound predictor block by combining the first predictor block and the second predictor block, where the predictor block includes a weighted pixel that is determined using a weighted sum of the first predictor pixel and the second predictor pixel using the first weight and the second weight, respectively.
    Type: Grant
    Filed: October 19, 2020
    Date of Patent: May 24, 2022
    Assignee: GOOGLE LLC
    Inventors: Debargha Mukherjee, James Bankoski, Yue Chen, Yuxin Liu, Sarah Parker
  • Publication number: 20220132116
    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: January 7, 2022
    Publication date: April 28, 2022
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Patent number: 11240498
    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: Grant
    Filed: March 24, 2020
    Date of Patent: February 1, 2022
    Assignee: GOOGLE LLC
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20220014744
    Abstract: Generating, by a processor in response to instructions stored on a non-transitory computer readable medium, a reconstructed frame, may include generating a reconstructed block of the reconstructed frame by decoding from an encoded bitstream. Decoding may include decoding a value from the encoded bitstream, identifying, in accordance with the value, a probability distribution for generating the reconstructed block, wherein the value indicates the probability distribution among a plurality of probability distributions determined independently of generating the reconstructed frame, entropy decoding an encoded prediction mode from the encoded bitstream using the probability distribution to identify a prediction mode for generating the reconstructed block, generating a prediction block in accordance with the prediction mode; combining the prediction block and a reconstructed residual block to obtain the reconstructed block, and including the reconstructed block in the reconstructed frame.
    Type: Application
    Filed: June 7, 2021
    Publication date: January 13, 2022
    Inventors: Yaowu Xu, Paul Gordon Wilkins, James Bankoski
  • Patent number: 11039138
    Abstract: A system, apparatus, and method for encoding and decoding a video image having a plurality of frames is disclosed. Encoding and decoding the video image can include selecting, for a current block, a prediction mode from a plurality of prediction modes; identifying, for the current block, a quantization value; selecting, for the current block, a probability distribution from a plurality of probability distributions based on the identified quantization value using a processor; and entropy encoding the selected prediction mode using the selected probability distribution.
    Type: Grant
    Filed: March 8, 2012
    Date of Patent: June 15, 2021
    Assignee: GOOGLE LLC
    Inventors: Yaowu Xu, Paul Gordon Wilkins, James Bankoski
  • Publication number: 20210112270
    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: December 23, 2020
    Publication date: April 15, 2021
    Inventors: Jingning Han, James Bankoski, Yaowu Xu
  • Publication number: 20210037254
    Abstract: Generating a compound predictor block of a current block of video can include generating, for the current block, predictor blocks comprising a first predictor block including first predictor pixels and a second predictor block including second predictor pixels; using at least a subset of the first predictor pixels to determine a first weight for a first predictor pixel of the first predictor pixels; obtaining a second weight for a second predictor pixel of the second predictor pixels, where the second predictor pixel is co-located with the first predictor pixel; and generating the compound predictor block by combining the first predictor block and the second predictor block, where the predictor block includes a weighted pixel that is determined using a weighted sum of the first predictor pixel and the second predictor pixel using the first weight and the second weight, respectively.
    Type: Application
    Filed: October 19, 2020
    Publication date: February 4, 2021
    Inventors: Debargha Mukherjee, James Bankoski, Yue Chen, Yuxin Liu, Sarah Parker
  • Patent number: RE49727
    Abstract: An apparatus for decoding frames of a compressed video data stream having at least one frame divided into partitions, includes a memory and a processor configured to execute instructions stored in the memory to read partition data information indicative of a partition location for at least one of the partitions, decode a first partition of the partitions that includes a first sequence of blocks, decode a second partition of the partitions that includes a second sequence of blocks identified from the partition data information using decoded information of the first partition.
    Type: Grant
    Filed: March 12, 2021
    Date of Patent: November 14, 2023
    Inventors: Yaowu Xu, Paul Wilkins, James Bankoski