Patents by Inventor Ronald Sebastiaan Bultje

Ronald Sebastiaan Bultje 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: 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
  • Publication number: 20190141338
    Abstract: Video coding using tiling may include encoding a current frame by identifying a tile-width for encoding a current tile of the current frame, the tile-width indicating a cardinality of horizontally adjacent blocks in the current tile, identifying a tile-height for encoding the current tile of the current frame, the tile-height indicating a cardinality of vertically adjacent block in the current tile, and generating an encoded tile by encoding the current tile, such that a row of the current tile includes tile-width horizontally adjacent blocks from the plurality of blocks, and a column of the current tile includes tile-height vertically adjacent blocks from the plurality of blocks. Encoding the current frame may include outputting the encoded tile, wherein outputting the encoded tile includes including an encoded-tile size in an output bitstream, the encoded-tile size indicating a cardinality of bytes for including the encoded tile in the output bitstream.
    Type: Application
    Filed: January 4, 2019
    Publication date: May 9, 2019
    Inventors: Ronald Sebastiaan Bultje, Sami Aleksi Pietilä
  • Patent number: 10148948
    Abstract: A method for decoding an encoded video bitstream includes generating a decoded frame by decoding a current frame from the encoded video bitstream. The decoding of the current frame may include decoding, from the encoded video bitstream, a transform mode for the current frame, identifying the transform mode for a current block of the current frame on a condition that the transform mode for the current frame is a per-block transform mode, using the transform mode for the current frame as the transform mode for the current block on a condition that the transform mode for the current frame is a per-frame transform mode, identifying a prediction mode for the current block, and generating a decoded block for the current block using the prediction mode and the transform mode for the current block.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: December 4, 2018
    Assignee: GOOGLE LLC
    Inventors: Ronald Sebastiaan Bultje, Daniel Kang
  • Patent number: 9813700
    Abstract: A method and apparatus for adaptively encoding a media stream with compound prediction are provided. Adaptively encoding a media stream with compound prediction may include decoding a first compound prediction use indicator for decoding a current frame, on a condition that the first compound prediction use indicator indicates that the encoded video stream includes a compound prediction mode for the current block, decoding the compound prediction mode for the current block from the encoded video stream and decoding the current block using the compound prediction mode, and on a condition that the first compound prediction use indicator indicates that the encoded video stream includes a second compound prediction use indicator, decoding the second compound prediction use indicator from the encoded video stream and decoding the current block based on the second compound prediction use indicator; and outputting or storing the decoded current block.
    Type: Grant
    Filed: May 27, 2014
    Date of Patent: November 7, 2017
    Assignee: GOOGLE INC.
    Inventor: Ronald Sebastiaan Bultje
  • Patent number: 9781447
    Abstract: A system, apparatus, and method for encoding and decoding a video stream having a plurality of frames are disclosed. Disclosed implementations encode frames having a plurality of planes that include representations of color video data, for example YUV, relying on correlation between planes to form prediction blocks to predict blocks of another plane. Disclosed implementations use lookup tables formed from pixels peripheral to the blocks to transform blocks into prediction blocks. For example, blocks from the Y plane can be used to predict blocks from the U or V planes, or blocks from U or V planes can be used to predict blocks from the Y plane.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: October 3, 2017
    Assignee: GOOGLE INC.
    Inventor: Ronald Sebastiaan Bultje
  • Patent number: 9674530
    Abstract: A block of video data can be encoded using intra prediction followed by transforming the generated residual block where the transform size is different from the prediction size. A plurality of transform modes for the residual block is provided whereby the transform subblocks of the residual block are transformed using horizontal and vertical one-dimensional transform types. The transform types may be selected such that their base function corresponds to a pattern in the data of the generated residual block resulting from the intra prediction mode. As a result, the position of each block relative to the peripheral pixels used to generate a prediction block for the block may be used to select the transform types.
    Type: Grant
    Filed: April 30, 2013
    Date of Patent: June 6, 2017
    Assignee: GOOGLE INC.
    Inventors: Ronald Sebastiaan Bultje, Debargha Mukherjee, Jingning Han
  • 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: 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: 9438915
    Abstract: Blocks of a frame of a video stream can be encoded using various prediction modes followed by transforming the predicted blocks. Increasing coding efficiency may be achieved by indicating a default transform mode in a frame header. The default transform mode is a maximum transform size for all blocks of the frame or a per-block transform mode that determined the transform size on a per-block basis. For encoded blocks of the frame, identify a prediction mode is identified by inspecting a block header of a current encoded block, the block header of the current encoded block is inspected if the default transform mode is the per-block transform mode so as to identify a transform size for the current encoded block, and otherwise the transform size for the current encoded block is the maximum transform size, and the current encoded block is decoded using the prediction mode and the transform mode.
    Type: Grant
    Filed: December 21, 2015
    Date of Patent: September 6, 2016
    Assignee: GOOGLE INC.
    Inventors: Ronald Sebastiaan Bultje, Daniel Kang
  • Patent number: 9392288
    Abstract: Scatter-based scan tables are used to encode and decode video streams. Scatter scan patterns transform coefficients between positions within a 2D array representing a block of a frame and positions within a 1D array for further encoding. By calculating a probability of whether a transform coefficient at a given position in a 2D array is non-zero, a scan order of the 2D array may be defined by a 1D array that groups the values most likely to be zero at the end of the 1D array for removal from a subsequent encoding process. This can reduce the amount of data in an encoded video stream. A decoder can use the same scatter scan pattern to rearrange a sequence of encoded transform coefficients in a 1D array into a 2D array for further decoding of an encoded block.
    Type: Grant
    Filed: October 17, 2013
    Date of Patent: July 12, 2016
    Assignee: GOOGLE INC.
    Inventors: Ronald Sebastiaan Bultje, Christian Luc Duvivier
  • Patent number: 9247251
    Abstract: Encoding and decoding using right-edge extension for quad-tree intra-prediction may include identifying a current frame from the plurality of frames, the current frame including a plurality of blocks, identifying a current block from the plurality of blocks, identifying a proximal reconstructed pixel, wherein the proximal reconstructed pixel is proximally above the current block, identifying a distant reconstructed pixel, wherein the distant reconstructed pixel is a most proximate reconstructed pixel above the proximal reconstructed pixel such that a reconstructed pixel proximally to the right of the distant reconstructed pixel is available for prediction, generating a prediction pixel based on the proximal reconstructed pixel, the distant reconstructed pixel, and the reconstructed pixel proximally to the right of the distant reconstructed pixel, and generating a predicted pixel for the current block based on the prediction pixel.
    Type: Grant
    Filed: July 26, 2013
    Date of Patent: January 26, 2016
    Assignee: GOOGLE INC.
    Inventor: Ronald Sebastiaan Bultje
  • Patent number: 9219915
    Abstract: Blocks of a frame of a video stream can be encoded using various prediction modes followed by transforming the predicted blocks. Increasing coding efficiency may be achieved by indicating a default transform mode for a frame in a frame header. The default transform mode can be used to encode blocks of the frame. When the default transform mode is a per-block transform mode, the transform size can be determined on a per-block basis and may be included in block headers. When all available transform sizes are not tested for a current block, estimates of a rate distortion value can be performed for the current block using its prediction mode and the remaining transform sizes. Using these estimates and the actual calculated rate distortion values for blocks of the current frame, the default transform mode can be updated for the next frame.
    Type: Grant
    Filed: January 17, 2013
    Date of Patent: December 22, 2015
    Assignee: GOOGLE INC.
    Inventors: Ronald Sebastiaan Bultje, Daniel Kang
  • Patent number: 9179151
    Abstract: Encoding and decoding using spatial proximity context entropy coding may include identifying a plurality of transform coefficients for a current block of a current frame of a video stream. The plurality of transform coefficients may be ordered based on a scan order. A current transform coefficient may be identified from the plurality of transform coefficients. A plurality of context coefficients may be identified from the plurality of transform coefficients. Each context coefficient may be spatially proximate to the current transform coefficient and may be available for entropy coding the current transform coefficient. An entropy coding probability for the current transform coefficient may be identified based on the scan order and the plurality of context coefficients. The current transform coefficient may be entropy coded based on the entropy coding probability. The entropy coded current transform coefficient may be included in an output bitstream, which may be stored or transmitted.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: November 3, 2015
    Assignee: GOOGLE INC.
    Inventors: Ronald Sebastiaan Bultje, Debargha Mukherjee, Yaowu Xu
  • Publication number: 20150189269
    Abstract: In accordance with aspects of the disclosure, systems and methods are provided for dividing an image into regions, applying partition types to each region, determining a rate distortion cost for each region based on partition types applied to each region, determining a coding scheme for each region based on the partition types applied to each region, and separately encoding each region based on the rate distortion cost and coding scheme determined for each region.
    Type: Application
    Filed: December 30, 2013
    Publication date: July 2, 2015
    Applicant: GOOGLE INC.
    Inventors: Jingning Han, Ronald Sebastiaan Bultje
  • Publication number: 20150110173
    Abstract: Scatter-based scan tables are used to encode and decode video streams. Scatter scan patterns transform coefficients between positions within a 2D array representing a block of a frame and positions within a 1D array for further encoding. By calculating a probability of whether a transform coefficient at a given position in a 2D array is non-zero, a scan order of the 2D array may be defined by a 1D array that groups the values most likely to be zero at the end of the 1D array for removal from a subsequent encoding process. This can reduce the amount of data in an encoded video stream. A decoder can use the same scatter scan pattern to rearrange a sequence of encoded transform coefficients in a 1D array into a 2D array for further decoding of an encoded block.
    Type: Application
    Filed: October 17, 2013
    Publication date: April 23, 2015
    Applicant: Google Inc.
    Inventors: Ronald Sebastiaan Bultje, Christian Luc Duvivier
  • Publication number: 20150110409
    Abstract: Encoding and decoding using spatial proximity context entropy coding may include identifying a plurality of transform coefficients for a current block of a current frame of a video stream, wherein the plurality of transform coefficients is ordered based on a scan order, identifying a current transform coefficient from the plurality of transform coefficients, identifying a plurality of context coefficients from the plurality of transform coefficients, wherein each context coefficient from the plurality of context coefficients is spatially proximate to the current transform coefficient and is available for entropy coding the current transform coefficient, identifying an entropy coding probability for the current transform coefficient based on the scan order and the plurality of context coefficients, entropy coding the current transform coefficient based on the entropy coding probability, including the entropy coded current transform coefficient in an output bitstream, and storing or transmitting the output bits
    Type: Application
    Filed: October 18, 2013
    Publication date: April 23, 2015
    Applicant: Google Inc.
    Inventors: Ronald Sebastiaan Bultje, Debargha Mukherjee, Yaowu Xu
  • 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: 8737824
    Abstract: A system and method for optimizing a compound prediction setting for a media stream and signaling the compound prediction setting is disclosed. A rate distortion optimization using the prediction modes of a compound prediction setting is carried out, and the rate distortion result is extrapolated to different compound prediction settings, without having to process each compound prediction setting separately. The optimal compound prediction setting is selected, and an element is encoded into the bitstream indicating the compound prediction setting that is used. A gradual mode coding scheme is used to minimize the bandwidth cost, and preserve the bandwidth savings of the compound prediction mode.
    Type: Grant
    Filed: March 9, 2012
    Date of Patent: May 27, 2014
    Assignee: Google Inc.
    Inventor: Ronald Sebastiaan Bultje