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: 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
  • Publication number: 20120320991
    Abstract: A system, apparatus, and method for decoding a video signal having a plurality of frames including a current frame. Decoding the video signal includes generating an alternate reference frame, detecting an error in the current frame and reporting the detected error, receiving a recovery frame in response to reporting the detected error, wherein the recovery frame is encoded using the alternate reference frame; and decoding the recovery frame using the alternate reference frame. The alternate reference frame occurs prior to the current frame in the video signal and is other than a frame immediately prior to the current frame.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 20, 2012
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20120320978
    Abstract: A system, apparatus, and method for encoding a video signal having a plurality of frames including a current frame. The method includes identifying a first block within the current frame; determining at least one predictor token related to the first block; identifying a reference block within the plurality of frames; determining at least one prediction error token derived from a difference between the first block and the reference block; assigning the at least one predictor token to a first bitstream partition; assigning the at least one prediction error token to a second bitstream partition; and selecting a first encoding scheme for the first bitstream partition and a second encoding scheme for the second bitstream partition.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 20, 2012
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20120320992
    Abstract: A system, apparatus, and method for decoding a video signal having a plurality of frames including a current frame. Decoding the video signal can include generating an alternate reference frame having a first quality level, determining a boost value indicative of a second quality level higher than the first quality level, determining whether to apply the boost value to the alternative reference frame, and selectively applying the boost value to the alternative reference frame if it is determined to apply the boost value to the alternative reference frame. The alternate reference frame can occur prior to the current frame in the video signal and other than a frame immediately prior to the current frame.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 20, 2012
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20120320989
    Abstract: A system, apparatus, and method of compressing video data having at least one frame having at least one block having an array of pixels. The method includes transforming the pixels of the at least one block into coefficients, creating a default transmission order of the coefficients, creating an optimal transmission order of the coefficients, comparing a coefficient position of at least one of the coefficients in the optimal transmission order with a coefficient position of the at least one of the coefficients in the default transmission order; determining an update value based on the comparison, and selectively encoding position information of the at least one of the coefficients in the optimal transmission order based on the update value.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 20, 2012
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20120320987
    Abstract: A system, apparatus, and method for encoding a video signal having at least one frame with a plurality of blocks. The method includes determining, for a first block in the at least one frame, a motion vector that describes a spatial relationship between the first block and a second block within a previously encoded frame that is similar to the first block, determining a complexity value representative of a complexity of the second block; determining a length value representative of a length of the motion vector; selecting a filter from a plurality of filters based on at least one of the length value or the complexity value wherein the plurality of filters includes at least a bicubic filter and a bilinear filter; and applying the selected filter to at least a portion of the previously encoded frame to derive a predictor block.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 20, 2012
    Applicant: GOOGLE INC.
    Inventors: Eric Ameres, James Bankoski, Scott Lavarnway, Yaowu Xu, Dan Miller, Adrian Grange, Paul Wilkins
  • Publication number: 20120307892
    Abstract: A method for decoding a stream of encoded video data is disclosed. The video stream includes partitions that have been compressed using lossless encoding. Each partition includes rows that have also been encoded using intra-frame or inter-frame encoding, for example. During the decoding process, two or more of the partitions are entropy decoded on two or more processors in parallel, except that partitions containing adjacent rows in the frame are decoded with an offset so that at least a portion of the output of the entropy decoding of one partition can be used as input in the entropy and intra/inter-frame decoding of the other.
    Type: Application
    Filed: August 2, 2012
    Publication date: December 6, 2012
    Applicant: GOOGLE INC.
    Inventors: Yaowu Xu, Paul Wilkins, James Bankoski
  • Patent number: 8326075
    Abstract: Methods for decoding frames of compressed video information are disclosed. Each frame includes a plurality of blocks having a prediction stage parameter and a residual error attribute. One method includes categorizing each of the blocks into categories based on at least one of the prediction stage parameter or the residual error attribute, determining a loop filter strength value to each of the categories, and filtering the boundary adjacent to at least one of the blocks using the loop filter strength assigned to the category in which that block is categorized.
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: December 4, 2012
    Assignee: Google Inc.
    Inventors: Paul Wilkins, James Bankoski, Yaowu Xu
  • Patent number: 8325796
    Abstract: A method for decoding compressed video information is disclosed. The video information can include a plurality of frames each having a plurality of blocks. The method includes reading from the video information a segment map that associates blocks in the frame with four segment identifiers. Each segment identifier is associated with one or more segment parameters, such as quantization parameters, loop filter type, loop filter strength and sub-pixel interpolation filter. The blocks in each segment are then decoded using the associated segment parameters. Segment parameters can persist to following frames unless overwritten by a subsequent frame. A frame can also include a bit suppressing segmentation, in which case default parameters are used for all blocks in the frame.
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: December 4, 2012
    Assignee: Google Inc.
    Inventors: Paul Wilkins, James Bankoski, Yaowu Xu
  • Publication number: 20120300837
    Abstract: Disclosed herein is a method for encoding a video signal having at least one frame with a plurality of blocks. The method includes assigning at least some of the plurality of blocks to a segment, determining at least one prediction element for the segment using a processor, applying the at least one prediction element to a first block and at least some of the other blocks in the segment and encoding the first block and the other blocks in the segment.
    Type: Application
    Filed: May 25, 2011
    Publication date: November 29, 2012
    Applicant: GOOGLE INC.
    Inventors: Paul Wilkins, Yaowu Xu, James Bankoski
  • Patent number: 8320445
    Abstract: Disclosed herein is a method for digital video encoding prediction comprising creating a constructed reference frame using an encoder and compressing a series of source video frames using the constructed reference frame to obtain a bitstream including a compressed digital video signal for a subsequent decoding process. The constructed reference frame is omitted from the series of digital video frames during the subsequent viewing process.
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: November 27, 2012
    Assignee: Google Inc.
    Inventors: James Bankoski, Yaowu Xu, Paul Wilkins
  • Patent number: 8311111
    Abstract: Decoding a stream of encoded video data involves partitions that have been compressed using lossless encoding. Each partition includes rows that have also been encoded using intra-frame or inter-frame encoding. During the decoding process, two or more of the partitions are entropy decoded on two or more processors in parallel, except that partitions containing adjacent rows in the frame are decoded with an offset so that at least a portion of the output of the entropy decoding of one partition can be used as input in the entropy and intra/inter-frame decoding of the other.
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: November 13, 2012
    Assignee: Google Inc.
    Inventors: Yaowu Xu, Paul Wilkins, James Bankoski
  • 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
  • Publication number: 20120257676
    Abstract: 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: Application
    Filed: April 6, 2011
    Publication date: October 11, 2012
    Applicant: GOOGLE INC.
    Inventors: James Bankoski, Paul Wilkins, Yaowu Xu
  • Publication number: 20120257677
    Abstract: A system and method for encoding and decoding a video image having a plurality of frames is disclosed. The method includes a previously reconstructed frame that is segmented to create an alternate reference frame used to encode a current frame. The segments of the previously reconstructed frame are assigned motion parameters, which are used to compile the alternate reference frame. The current frame is encoded and the segmentation parameters and motion parameters are transmitted in the bitstream. The segmentation parameters and motion parameters can be used by a decoder to recreate the alternate reference frame in order to decode the encoded current frame.
    Type: Application
    Filed: April 7, 2011
    Publication date: October 11, 2012
    Applicant: GOOGLE INC.
    Inventors: James Bankoski, Paul Wilkins, Yaowu Xu
  • Publication number: 20120257679
    Abstract: 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: Application
    Filed: April 7, 2011
    Publication date: October 11, 2012
    Applicant: GOOGLE INC.
    Inventors: James Bankoski, Paul 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