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).
-
Patent number: 8938001Abstract: Disclosed herein is a method for encoding data by determining a range where the data includes a sequence of symbols each associated with a probability of occurrence are disclosed herein. The method includes initializing the range, identifying a symbol set from the sequence of symbols, selecting at least one pre-calculated range adjustment vector based on the identified symbol set, adjusting the range using the pre-calculated range adjustment vector and encoding the identified symbol set based on the adjusted range.Type: GrantFiled: April 5, 2011Date of Patent: January 20, 2015Assignee: Google Inc.Inventors: James Bankoski, Scott LaVarnway, Paul Wilkins, Yaowu Xu
-
Patent number: 8897591Abstract: Methods for reducing blocking artifacts at the boundary between adjacent blocks reconstructed from a frame of compressed video information are disclosed herein. The frame includes a prediction stage parameter and a residual error attribute with respect to at least one of the blocks. One method includes reconstructing the at least one block based on the prediction stage parameter and the residual error attribute, categorizing the at least one reconstructed block into one of a plurality of categories based on the prediction stage parameter and the residual error attribute, identifying a filter strength value for the category in which the at least one reconstructed block is categorized based on at least one of the prediction stage parameter or the residual error attribute associated with that category, and filtering the boundary adjacent to the at least one reconstructed block using the identified filter strength value.Type: GrantFiled: November 29, 2012Date of Patent: November 25, 2014Assignee: Google Inc.Inventors: Paul Wilkins, James Bankoski, Yaowu Xu
-
Patent number: 8891627Abstract: Disclosed herein is method for encoding a video signal having at least one frame with a plurality of blocks having pixels. The method includes identifying a first color of pixels in a block in the at least one frame, assigning pixels in the block having the first color to a first source segment and assigning pixels in the block having a color different than the first color to a second source segment and determining a set of motion vectors derived from first source segment and a set of motion vectors derived from the second source segment.Type: GrantFiled: April 18, 2011Date of Patent: November 18, 2014Assignee: Google Inc.Inventors: James Bankoski, Paul Wilkins, Yaowu Xu
-
Patent number: 8891626Abstract: A system and method for encoding and decoding a video is disclosed having a plurality of frames with spatially correspondent blocks comprised of pixels. The encoding method includes determining a motion field for a plurality of pixels in a first frame having a same direction of movement as each other, the motion field having a center of motion, at least one dimension defining a shape of the motion field and a motion vector, encoding the motion field into a bitstream, associating at least one block of the first frame with the motion field and encoding each block associated with the motion field into the bitstream without a separate motion vector. Motion fields can be reused across multiple frames, decreasing the number of bits spent to encode motion vectors.Type: GrantFiled: April 5, 2011Date of Patent: November 18, 2014Assignee: Google Inc.Inventors: James Bankoski, Paul Wilkins
-
Patent number: 8824553Abstract: 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: November 14, 2003Date of Patent: September 2, 2014Assignee: Google Inc.Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
-
Patent number: 8798131Abstract: A system, apparatus, and method encoding a video stream having a plurality of frames, each frame having a plurality of blocks is disclosed. The method can include selecting a current block from a current frame of the plurality of frames, the current block being in at least one of a top row or a left column of the current frame, determining one or more assumed values based on a prediction mode of the current block, creating a residual block using the current block, prediction mode of the current block, and the one or more determined assumed values, and encoding the current block using the residual block.Type: GrantFiled: May 18, 2011Date of Patent: August 5, 2014Assignee: Google Inc.Inventors: James Bankoski, Paul 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: 8780996Abstract: A method for encoding and decoding a video signal having frames with blocks comprised of pixels. The method reduces the complexity of the video signal to be encoded by applying a filter scheme to the input data stream in an encoder and later reversing the filter scheme in a decoder. A number of filter schemes may be tested to determine the best filter scheme that most reduces the number of distinct color values per color plane. The best filter scheme is used to filter the data to be encoded. Filter information of the best filter scheme is included in the encoded data to enable the decoder to identify the best filter scheme in order to apply the best filter scheme in reverse to re-create the original data stream.Type: GrantFiled: April 7, 2011Date of Patent: July 15, 2014Assignee: Google, Inc.Inventors: James Bankoski, Paul Wilkins, Yaowu Xu
-
Patent number: 8781004Abstract: A system and method for encoding and decoding a video image having a plurality of frames is disclosed. The method includes a loop filter, which is used to reduce blocking artifacts in reconstructed frames. A quality value is determined for each block in the reconstructed frame and each associated predictor block. A variable incremental loop filter strength is calculated for each inter-predicted block using at least one of the quality values. The variable incremental loop filter strength is used during encoding by the loop filter to filter the reconstructed frame.Type: GrantFiled: April 7, 2011Date of Patent: July 15, 2014Assignee: Google Inc.Inventors: James Bankoski, Paul Wilkins, Yaowu Xu
-
Patent number: 8780971Abstract: Disclosed herein is a method for selectively filtering and encoding a video signal having at least one frame including a matrix of pixels. The method includes selecting a set of pixels within the frame, determining an initial performance measurement for the selected set of pixels, provisionally applying each filter to the set of pixels, determining a second performance measurement for each filter provisionally applied to the selected set of pixels, and applying the at least one filter to the selected set of pixels to generate a reconstruction of the frame if the at least one filter is determined to have a second performance measurement that is better than the initial performance measurement.Type: GrantFiled: April 7, 2011Date of Patent: July 15, 2014Assignee: Google, Inc.Inventors: James Bankoski, Paul Wilkins, Yaowu Xu
-
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: 8767817Abstract: Disclosed herein is a method for encoding a video signal having at least one frame with at least one block of pixels. The method includes selecting a parameterized equation corresponding to a coding mode for a current block of pixels to be encoded in the at least one frame, determining at least one parameter for use in the selected parameterized equation, generating, for at least a first pixel in the current block, a predicted value using the parameterized equation; a position value for the first pixel using a processor; and the determined at least one parameter and encoding the block using the predicted value.Type: GrantFiled: April 7, 2011Date of Patent: July 1, 2014Assignee: Google Inc.Inventors: Yaowu Xu, Paul Wilkins, James Bankoski
-
Patent number: 8719888Abstract: 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: October 16, 2012Date of Patent: May 6, 2014Assignee: Google Inc.Inventors: Yaowu Xu, James Bankoski, Paul Gordon Wilkins
-
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: 8693547Abstract: Disclosed herein is a method for encoding a video signal having at least one frame with a plurality of blocks having pixels. The method includes determining motion vectors for a first block in the at least one frame and at least some of the blocks that are neighbors to the first block, identifying neighboring blocks having motion vectors that are similar to the motion vector of the first block, assigning the first block and the identified neighboring blocks to a segment using a processor, applying a segment parameter to at least one block in the segment and encoding the at least one block using the segment parameter.Type: GrantFiled: April 6, 2011Date of Patent: April 8, 2014Assignee: Google Inc.Inventors: James Bankoski, Paul 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: 8638854Abstract: Apparatuses and methods for compressing a video signal having at least one frame with at least one block of pixel data are disclosed. A target block is selected, and an alternate reference block that is a predictor for blocks of a sequence of frames is compared to a predictor block to determine whether to create a second alternate reference block as a predictor. When a difference between the alternate reference block and the predictor block is less than a threshold, certain blocks from the sequence of frames that are more different from the first alternate reference block than other non-selected blocks are selected, and the second alternate reference block is created using the selected blocks. In this way, a predictor block that is different from a golden frame predictor is made available when an existing alternate reference block is too similar to the golden frame predictor to be useful.Type: GrantFiled: April 7, 2011Date of Patent: January 28, 2014Assignee: Google Inc.Inventors: James Bankoski, Adrian Grange, Paul Wilkins
-
Patent number: 8638863Abstract: A system, apparatus, and method for filtering a decoded video stream having a plurality of frames, each frame having a plurality of blocks. The method can include selecting a current block from a current frame of the plurality of frames and an adjacent block from the current frame of the plurality of frames, the current block being adjacent to and sharing an edge with the adjacent block and filtering the edge between the current block and the adjacent block using a processor if an output from an edge-detection function of the values of at least four pixels located about the edge and within a line of pixels extending through both the current block and the adjacent block is less than an edge threshold.Type: GrantFiled: May 18, 2011Date of Patent: January 28, 2014Assignee: Google Inc.Inventors: James Bankoski, Paul 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
-
Patent number: 8611415Abstract: Coding using improved motion estimation may include receiving motion vectors for a first block in the frame and at least some of the blocks that are neighbors to the first block, wherein the received motion vectors are determined using a first search scheme, identifying neighboring blocks having motion vectors that are similar to the motion vector of the first block, and assigning the first block and the identified neighboring blocks to a group, determining a number of blocks in the group, and if the number of blocks in the group is greater than a predetermined number, determining an updated motion vector for at least one of the blocks in the group using a second search scheme that is different from the first search scheme.Type: GrantFiled: November 15, 2010Date of Patent: December 17, 2013Assignee: Google Inc.Inventors: Yaowu Xu, Paul Wilkins, James Bankoski