Patents by Inventor Paul G. Wilkins

Paul G. 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).

  • Patent number: 9838690
    Abstract: Disclosed herein are methods and apparatuses for selective prediction signal filtering. One aspect of the disclosed implementations is a method for encoding a frame of a video stream including determining a first performance measurement for a first set of prediction samples identified for a group of pixels using a first prediction mode, generating a filtered set of prediction samples by applying a filter to a second set of prediction samples, wherein at least one of the filtered set of prediction samples or the second set of prediction samples are identified using a second prediction mode, determining a second performance measurement for the filtered set of prediction samples, generating, using a processor, a residual based on the filtered set of prediction samples and the group of pixels if the second performance measurement exceeds the first performance measurement, and encoding the frame using the residual.
    Type: Grant
    Filed: May 9, 2016
    Date of Patent: December 5, 2017
    Assignee: GOOGLE INC.
    Inventors: Adrian Grange, James Bankoski, Paul G. Wilkins, Yaowu Xu
  • Patent number: 9648394
    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: March 21, 2014
    Date of Patent: May 9, 2017
    Assignee: Google Inc.
    Inventors: Yaowu Xu, James Bankoski, Paul G. Wilkins
  • Patent number: 9344729
    Abstract: Disclosed herein are methods and apparatuses for selective prediction signal filtering. One aspect of the disclosed implementations is a method for encoding a frame of a video stream including determining a first performance measurement for a first set of prediction samples identified for a group of pixels using a first prediction mode, generating a filtered set of prediction samples by applying a filter to a second set of prediction samples, wherein at least one of the filtered set of prediction samples or the second set of prediction samples are identified using a second prediction mode, determining a second performance measurement for the filtered set of prediction samples, generating, using a processor, a residual based on the filtered set of prediction samples and the group of pixels if the second performance measurement exceeds the first performance measurement, and encoding the frame using the residual.
    Type: Grant
    Filed: July 11, 2012
    Date of Patent: May 17, 2016
    Assignee: GOOGLE INC.
    Inventors: Adrian W Grange, James Bankoski, Paul G Wilkins, Yaowu Xu
  • Publication number: 20140205019
    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: Application
    Filed: March 21, 2014
    Publication date: July 24, 2014
    Applicant: Google Inc.
    Inventors: Yaowu Xu, James Bankoski, Paul G. Wilkins
  • Patent number: 8780992
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: July 15, 2014
    Assignee: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
  • Patent number: 8705625
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: April 22, 2014
    Assignee: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
  • Patent number: 8665951
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: March 4, 2014
    Assignee: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
  • Patent number: 8634464
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: January 21, 2014
    Assignee: Google, Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
  • Publication number: 20130016779
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 17, 2013
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Publication number: 20130016778
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 17, 2013
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Publication number: 20130010867
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Publication number: 20130010868
    Abstract: Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Patent number: 8290055
    Abstract: Disclosed herein is a method for encoding at least one video frame having a plurality of blocks including a current block, including determining motion vectors for each of at least some of blocks surrounding the current block, identifying surrounding blocks having that have the same motion vector and assigning the identified surrounding blocks to a plurality of groups, determining a number of blocks in at least two of the plurality of groups and selecting a motion vector to encode the current block based on the determined number of blocks in the at least two groups.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: October 16, 2012
    Assignee: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
  • Patent number: 8290054
    Abstract: A method of compressing video data having at least one frame having at least one block and each block having an array of pixels is provided. The method transforms the pixels of each block into coefficients and creates an optimal transmission order of the coefficients. The method also optimizes the speed of processing compressed video data by partitioning the data bitstream and coding each partition independently. The method also predicts fractional pixel motion by selecting an interpolation method for each given plurality or block of pixels depending upon at least one metric related to each given block and varies the method from block to block. The method also enhances error recovery for a current frame using a frame prior to the frame immediately before the current frame as the only reference frame for lessening quality loss during data transmission. Enhanced motion vector coding is also provided.
    Type: Grant
    Filed: April 21, 2011
    Date of Patent: October 16, 2012
    Assignee: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
  • Patent number: 8170112
    Abstract: Disclosed herein is a method for encoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li+Aj?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, Aj is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and encoding the current block using the predicted value.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: May 1, 2012
    Assignee: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
  • Publication number: 20120027096
    Abstract: Disclosed herein is a method for encoding at least one video frame having a plurality of blocks including a current block, including determining motion vectors for each of at least some of blocks surrounding the current block, identifying surrounding blocks having that have the same motion vector and assigning the identified surrounding blocks to a plurality of groups, determining a number of blocks in at least two of the plurality of groups and selecting a motion vector to encode the current block based on the determined number of blocks in the at least two groups.
    Type: Application
    Filed: September 30, 2011
    Publication date: February 2, 2012
    Applicant: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Publication number: 20120020411
    Abstract: Disclosed herein is a method for encoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: Xij=Li?C; wherein Xij is the predicted value, Li is the value of a pixel to the left of the current block, is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and encoding the current block using the predicted value.
    Type: Application
    Filed: September 30, 2011
    Publication date: January 26, 2012
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Publication number: 20110274173
    Abstract: A method of compressing video data having at least one frame having at least one block and each block having an array of pixels is provided. The method transforms the pixels of each block into coefficients and creates an optimal transmission order of the coefficients. The method also optimizes the speed of processing compressed video data by partitioning the data bitstream and coding each partition independently. The method also predicts fractional pixel motion by selecting an interpolation method for each given plurality or block of pixels depending upon at least one metric related to each given block and varies the method from block to block. The method also enhances error recovery for a current frame using a frame prior to the frame immediately before the current frame as the only reference frame for lessening quality loss during data transmission. Enhanced motion vector coding is also provided.
    Type: Application
    Filed: April 21, 2011
    Publication date: November 10, 2011
    Applicant: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Patent number: 7953152
    Abstract: A method of compressing video data having at least one frame having at least one block and each block having an array of pixels is provided. The method transforms the pixels of each block into coefficients and creates an optimal transmission order of the coefficients. The method also optimizes the speed of processing compressed video data by partitioning the data bitstream and coding each partition independently. The method also predicts fractional pixel motion by selecting an interpolation method for each given plurality or block of pixels depending upon at least one metric related to each given block and varies the method from block to block. The method also enhances error recovery for a current frame using a frame prior to the frame immediately before the current frame as the only reference frame for lessening quality loss during data transmission. Enhanced motion vector coding is also provided.
    Type: Grant
    Filed: June 28, 2005
    Date of Patent: May 31, 2011
    Assignee: Google Inc.
    Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
  • Patent number: 7606310
    Abstract: A method of compressing video data having at least one frame having at least one block and each block having an array of pixels is provided. The method transforms the pixels of each block into coefficients and creates an optimal transmission order of the coefficients. The method also optimizes the speed of processing compressed video data by partitioning the data bitstream and coding each partition independently. The method also predicts fractional pixel motion by selecting an interpolation method for each given plurality or block of pixels depending upon at least one metric related to each given block and varies the method from block to block. The method also enhances error recovery for a current frame using a frame prior to the frame immediately before the current frame as the only reference frame for lessening quality loss during data transmission. Enhanced motion vector coding is also provided.
    Type: Grant
    Filed: April 14, 2008
    Date of Patent: October 20, 2009
    Assignee: On2 Technologies, Inc.
    Inventors: Eric L Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu