Patents by Inventor Paul Gordon Wilkins

Paul Gordon Wilkins 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: 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: 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: 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
  • Patent number: 10986361
    Abstract: Decoding a video sequence may include generating decoded video data by decoding encoded video data from an encoded bitstream, wherein decoding the encoded video data includes identifying candidate reference motion vectors used to decode previously decoded blocks, identifying reconstructed pixel values from a block spatially adjacent to a current block in the current frame, for each candidate reference motion vector, determining a respective score based on a difference between the reconstructed pixel values and pixel values obtained using the candidate reference motion vector, identifying a candidate reference motion vector having the minimal score from the candidate reference motion vectors as the reference motion vector, decoding a motion vector from the encoded bitstream using the reference motion vector, and decoding the current block from the encoded bitstream using the motion vector.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: April 20, 2021
    Assignee: GOOGLE LLC
    Inventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
  • Publication number: 20190327484
    Abstract: Decoding a video sequence may include generating decoded video data by decoding encoded video data from an encoded bitstream, wherein decoding the encoded video data includes identifying candidate reference motion vectors used to decode previously decoded blocks, identifying reconstructed pixel values from a block spatially adjacent to a current block in the current frame, for each candidate reference motion vector, determining a respective score based on a difference between the reconstructed pixel values and pixel values obtained using the candidate reference motion vector, identifying a candidate reference motion vector having the minimal score from the candidate reference motion vectors as the reference motion vector, decoding a motion vector from the encoded bitstream using the reference motion vector, and decoding the current block from the encoded bitstream using the motion vector.
    Type: Application
    Filed: June 28, 2019
    Publication date: October 24, 2019
    Inventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
  • Patent number: 10362329
    Abstract: Techniques described use a reference motion vector to reduce the amount of bits needed to encode motion vectors for inter prediction. One method includes determining a reference motion vector used to encode a current block of a current frame. The reference motion vector was selected by identifying, multiple candidate motion vectors used to inter predict blocks, and identifying a set of reconstructed pixel values from at least one block adjacent to the current block. For each candidate motion vector, a set of predicted pixel values for the set of reconstructed pixel value is generated using the candidate motion vector and a first reference frame, and an error value is calculated based on a difference between the sets of pixel values. Finally, a reference motion vector from the candidates is selected based on the error values. The method also includes decoding the current block using the reference motion vector.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: July 23, 2019
    Assignee: GOOGLE LLC
    Inventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
  • Patent number: 9756331
    Abstract: Encoding and decoding using advance coded reference prediction may include identifying a sequence of temporally adjacent frames from the plurality of frames, wherein each frame in the sequence of temporally adjacent frames is associated with a respective frame position indicating a temporal location the sequence, encoding a first frame from the sequence as an intra-coded frame, generating an alternate reference frame by reconstructing the first encoded frame, encoding a second frame from the sequence with reference to a reference frame, the second frame associated with a second frame position, including the first encoded frame in a compressed bitstream at a first bitstream position, and including the second encoded frame in the compressed bitstream at a second bitstream position, wherein the second bitstream position is later than the first bitstream position and wherein the first frame position is later than the second frame position.
    Type: Grant
    Filed: June 17, 2013
    Date of Patent: September 5, 2017
    Assignee: GOOGLE INC.
    Inventors: Adrian William Grange, Yaowu Xu, Jim Bankoski, Paul Gordon Wilkins, John Koleszar, Francis William Galligan
  • Publication number: 20170048543
    Abstract: Techniques described use a reference motion vector to reduce the amount of bits needed to encode motion vectors for inter prediction. One method includes determining a reference motion vector used to encode a current block of a current frame. The reference motion vector was selected by identifying, multiple candidate motion vectors used to inter predict blocks, and identifying a set of reconstructed pixel values from at least one block adjacent to the current block. For each candidate motion vector, a set of predicted pixel values for the set of reconstructed pixel value is generated using the candidate motion vector and a first reference frame, and an error value is calculated based on a difference between the sets of pixel values. Finally, a reference motion vector from the candidates is selected based on the error values. The method also includes decoding the current block using the reference motion vector.
    Type: Application
    Filed: October 31, 2016
    Publication date: February 16, 2017
    Inventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
  • Patent number: 9531990
    Abstract: The subject disclosure relates to implementing a device to find two or more predictor blocks in one or more reference frames and to generate a new predictor block by combining weighted pixels or weighted prediction modes of the two or more predictor blocks. The one or more reference frames can include one or more previously coded reference frames and/or a current frame. Weight for a particular one of the weighted pixels can be uniquely determined.
    Type: Grant
    Filed: January 21, 2012
    Date of Patent: December 27, 2016
    Assignee: GOOGLE INC.
    Inventors: Paul Gordon Wilkins, Yaowu Xu
  • Patent number: 9503746
    Abstract: A method for encoding a video stream having a plurality of blocks including a current block. The method includes identifying, from a plurality of previously coded blocks, a plurality of candidate motion vectors; identifying, for the current block, a set of reconstructed pixel values corresponding to a set of previously coded pixel values; determining, for at least one of the plurality of candidate motion vectors, an error value based on the set of reconstructed pixel values and a set of predicted values for the set of previously coded pixel values; and selecting, from the plurality of candidate motion vectors, a reference motion vector for the current block based on the error value.
    Type: Grant
    Filed: October 8, 2012
    Date of Patent: November 22, 2016
    Assignee: GOOGLE INC.
    Inventors: Yaowu Xu, Paul Gordon Wilkins, Adrian Grange, James Bankoski
  • Patent number: 9485515
    Abstract: Techniques are described to use a reference motion vector to reduce the amount of bits needed to encode motion vectors for inter prediction. One method includes identifying a candidate motion vector used to inter predict each of a plurality of previously coded blocks to define a plurality of candidate motion vectors, identifying a set of reconstructed pixel values corresponding to a set of previously coded pixels for the current block, and generating, using each candidate motion vector, a corresponding set of predicted values for the set of previously coded pixel values within each reference frame of a plurality of reference frames. A respective error value based on a difference between the set of reconstructed pixel values and each set of predicted values is used to select a reference motion vector from the candidate motion vectors that is used to encode the motion vector for the current block.
    Type: Grant
    Filed: August 23, 2013
    Date of Patent: November 1, 2016
    Assignee: GOOGLE INC.
    Inventors: Yaowu Xu, Paul Gordon Wilkins, Adrian William Grange, Ronald Sebastiaan Bultje
  • Patent number: 9374578
    Abstract: Blocks of a video data stream may be encoded using either intra-frame (intra) prediction or inter-frame (inter) prediction. Combining intra and inter prediction can provide greater compression while maintaining the quality of the decoded video stream. Intra and inter prediction blocks are combined by weighting each block on a pixel-by-pixel basis and adding the weighted pixel values together. Weighting is based on the intra prediction mode. Pixels are weighted to give emphasis to intra predicted pixels closer to the boundaries where the predicted pixels originate and more emphasis to inter predicted pixels further away from the boundaries.
    Type: Grant
    Filed: May 23, 2013
    Date of Patent: June 21, 2016
    Assignee: GOOGLE INC.
    Inventors: Debargha Mukherjee, Paul Gordon Wilkins, Yaowu Xu
  • Patent number: 9350988
    Abstract: Video data streams can be encoded and decoded using inter or intra prediction. The blocks of a frame can be divided into groups of blocks to be inter predicted and blocks to be intra predicted, and the blocks to be inter predicted are encoded first. The availability of data from the inter predicted blocks can improve the performance of intra prediction over processing the blocks in the scan order since more pixel data is available for intra prediction of some blocks. For example, when the scan order is raster scan order, intra prediction of a block can use pixels peripheral to the bottom and right sides of the block in addition to the pixels peripheral to the top and left sides of the block.
    Type: Grant
    Filed: November 20, 2012
    Date of Patent: May 24, 2016
    Assignee: GOOGLE INC.
    Inventors: James Bankoski, Paul Gordon Wilkins, Yaowu Xu, Hui Su
  • Patent number: 9094681
    Abstract: Disclosed herein are systems, methods, and apparatuses for selecting different coding parameters for different portions of a video frame or image to be transmitted or stored for later decoding. The coding parameters for a particular portion of a video frame or image are selected according to their distance from a selected point of interest, where the parameters can be selected to alter the tradeoff between transmission bandwidth and perceived image quality to preserve image quality in areas designated as high interest while saving transmission bandwidth for areas designated as having less interest. Also disclosed are associated systems, methods, and apparatuses for decoding such encoded video frames or images.
    Type: Grant
    Filed: February 28, 2012
    Date of Patent: July 28, 2015
    Assignee: GOOGLE INC.
    Inventors: Paul Gordon Wilkins, Qunshan Gu
  • Publication number: 20150055706
    Abstract: Techniques are described to use a reference motion vector to reduce the amount of bits needed to encode motion vectors for inter prediction. One method includes identifying a candidate motion vector used to inter predict each of a plurality of previously coded blocks to define a plurality of candidate motion vectors, identifying a set of reconstructed pixel values corresponding to a set of previously coded pixels for the current block, and generating, using each candidate motion vector, a corresponding set of predicted values for the set of previously coded pixel values within each reference frame of a plurality of reference frames. A respective error value based on a difference between the set of reconstructed pixel values and each set of predicted values is used to select a reference motion vector from the candidate motion vectors that is used to encode the motion vector for the current block.
    Type: Application
    Filed: August 23, 2013
    Publication date: February 26, 2015
    Applicant: Google Inc.
    Inventors: Yaowu Xu, Paul Gordon Wilkins, Adrian William Grange, Ronald Sebastiaan Bultje
  • Patent number: 8719888
    Abstract: Techniques for delivering content, such as videos, over a network are described. A core server and an edge server are provided. The core server has local storage. The edge server has local storage. A set of video frames is partitioned into a first group and a second group. Video frames in the first group are encoded into a scalable encoded stream. The scalable encoded stream is sent to the local storage at the edge server. The second group of video frames is encoded into a set of supplemental encoded streams using the scalable encoded stream as a reference. The supplemental encoded streams are encoded such that the bit rate and/or resolution of any two supplemental encoded streams is different. The set of supplemental encoded streams is stored in the storage of the core server.
    Type: Grant
    Filed: October 16, 2012
    Date of Patent: May 6, 2014
    Assignee: Google Inc.
    Inventors: Yaowu Xu, James Bankoski, Paul Gordon Wilkins
  • Publication number: 20140098877
    Abstract: A method for encoding a video stream having a plurality of blocks including a current block. The method includes identifying, from a plurality of previously coded blocks, a plurality of candidate motion vectors; identifying, for the current block, a set of reconstructed pixel values corresponding to a set of previously coded pixel values; determining, for at least one of the plurality of candidate motion vectors, an error value based on the set of reconstructed pixel values and a set of predicted values for the set of previously coded pixel values; and selecting, from the plurality of candidate motion vectors, a reference motion vector for the current block based on the error value.
    Type: Application
    Filed: October 8, 2012
    Publication date: April 10, 2014
    Inventors: Yaowu Xu, Paul Gordon Wilkins, Adrian Grange
  • Publication number: 20130208795
    Abstract: Techniques for efficient coding of video content are presented. When encoding motion vectors of a current block of a current video frame, a coder management component analyzes encoded blocks of the current frame adjacent to the current block and encoded blocks of the previous video frame that occupy locations in the previous frame corresponding to the locations of the current block and blocks adjacent to the current block. The coder management component arranges motion vectors in order as a function of spatial proximity, temporal distance between the previous frame and the current frame, and/or motion vector magnitude. The coder management component selects a coding mode, based on the order, to transmit to the decoder. A coder component encodes the current block using the motion vector associated with the coding mode.
    Type: Application
    Filed: February 9, 2012
    Publication date: August 15, 2013
    Applicant: GOOGLE INC.
    Inventors: Yaowu Xu, Paul Gordon Wilkins, Jim Bankoski
  • Patent number: 8396127
    Abstract: A frame of a video stream is segmented based on its ability to predict the contents of one or more temporally nearby frames. Predictive ability can be measured by comparing the magnitude of the error per block of a video for intra-frame prediction with inter-frame prediction. Segments can be determined by grouping similar error magnitudes together when the frame is a good predictor for the nearby frames. Coding parameters can be defined at the segment level to reduce the number of bits used to represent the encoded video stream and thereby reduce network and/or storage bandwidth.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: March 12, 2013
    Assignee: Google Inc.
    Inventors: Ronald Sebastiaan Bultje, Paul Gordon Wilkins, Pascal Massimino