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: 9838690Abstract: 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: GrantFiled: May 9, 2016Date of Patent: December 5, 2017Assignee: GOOGLE INC.Inventors: Adrian Grange, James Bankoski, Paul G. Wilkins, Yaowu Xu
-
Patent number: 9648394Abstract: 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: GrantFiled: March 21, 2014Date of Patent: May 9, 2017Assignee: Google Inc.Inventors: Yaowu Xu, James Bankoski, Paul G. Wilkins
-
Patent number: 9344729Abstract: 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: GrantFiled: July 11, 2012Date of Patent: May 17, 2016Assignee: GOOGLE INC.Inventors: Adrian W Grange, James Bankoski, Paul G Wilkins, Yaowu Xu
-
Publication number: 20140205019Abstract: 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: ApplicationFiled: March 21, 2014Publication date: July 24, 2014Applicant: Google Inc.Inventors: Yaowu Xu, James Bankoski, Paul G. Wilkins
-
Patent number: 8780992Abstract: 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: GrantFiled: September 14, 2012Date of Patent: July 15, 2014Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
-
Patent number: 8705625Abstract: 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: GrantFiled: September 14, 2012Date of Patent: April 22, 2014Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
-
Patent number: 8665951Abstract: 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: GrantFiled: September 14, 2012Date of Patent: March 4, 2014Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
-
Patent number: 8634464Abstract: 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: GrantFiled: September 14, 2012Date of Patent: January 21, 2014Assignee: Google, Inc.Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
-
Publication number: 20130016779Abstract: 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: ApplicationFiled: September 14, 2012Publication date: January 17, 2013Applicant: GOOGLE INC.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Publication number: 20130016778Abstract: 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: ApplicationFiled: September 14, 2012Publication date: January 17, 2013Applicant: GOOGLE INC.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Publication number: 20130010867Abstract: 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: ApplicationFiled: September 14, 2012Publication date: January 10, 2013Applicant: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Publication number: 20130010868Abstract: 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: ApplicationFiled: September 14, 2012Publication date: January 10, 2013Applicant: GOOGLE INC.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Patent number: 8290054Abstract: 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: GrantFiled: April 21, 2011Date of Patent: October 16, 2012Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
-
Patent number: 8290055Abstract: 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: GrantFiled: September 30, 2011Date of Patent: October 16, 2012Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
-
Patent number: 8170112Abstract: 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: GrantFiled: September 30, 2011Date of Patent: May 1, 2012Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu
-
Publication number: 20120027096Abstract: 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: ApplicationFiled: September 30, 2011Publication date: February 2, 2012Applicant: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Publication number: 20120020411Abstract: 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: ApplicationFiled: September 30, 2011Publication date: January 26, 2012Applicant: GOOGLE INC.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Publication number: 20110274173Abstract: 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: ApplicationFiled: April 21, 2011Publication date: November 10, 2011Applicant: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Patent number: 7953152Abstract: 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: GrantFiled: June 28, 2005Date of Patent: May 31, 2011Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Adrian W. Grange, Tim Murphy, Paul G. Wilkins, Yaowu Xu
-
Patent number: 7606310Abstract: 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: GrantFiled: April 14, 2008Date of Patent: October 20, 2009Assignee: On2 Technologies, Inc.Inventors: Eric L Ameres, James Bankoski, Adrian W Grange, Tim Murphy, Paul G Wilkins, Yaowu Xu