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).
-
Publication number: 20230353752Abstract: 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: ApplicationFiled: June 27, 2023Publication date: November 2, 2023Inventors: Ronald Sebastiaan Bultje, Sami Aleksi Pietilä
-
Patent number: 11722676Abstract: 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: GrantFiled: July 19, 2022Date of Patent: August 8, 2023Assignee: GOOGLE LLCInventors: Ronald Sebastiaan Bultje, Sami Aleksi Pietilä
-
Publication number: 20220353513Abstract: 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: ApplicationFiled: July 19, 2022Publication date: November 3, 2022Inventors: Ronald Sebastiaan Bultje, Sami Aleksi Pietilä
-
Patent number: 11425395Abstract: 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: GrantFiled: January 4, 2019Date of Patent: August 23, 2022Assignee: GOOGLE LLCInventors: Ronald Sebastiaan Bultje, Sami Aleksi Pietilä
-
Patent number: 10986361Abstract: 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: GrantFiled: June 28, 2019Date of Patent: April 20, 2021Assignee: GOOGLE LLCInventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
-
Publication number: 20190327484Abstract: 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: ApplicationFiled: June 28, 2019Publication date: October 24, 2019Inventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
-
Patent number: 10362329Abstract: 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: GrantFiled: October 31, 2016Date of Patent: July 23, 2019Assignee: GOOGLE LLCInventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
-
Publication number: 20190141338Abstract: 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: ApplicationFiled: January 4, 2019Publication date: May 9, 2019Inventors: Ronald Sebastiaan Bultje, Sami Aleksi Pietilä
-
Patent number: 10148948Abstract: 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: GrantFiled: June 30, 2016Date of Patent: December 4, 2018Assignee: GOOGLE LLCInventors: Ronald Sebastiaan Bultje, Daniel Kang
-
Patent number: 9813700Abstract: 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: GrantFiled: May 27, 2014Date of Patent: November 7, 2017Assignee: GOOGLE INC.Inventor: Ronald Sebastiaan Bultje
-
Patent number: 9781447Abstract: 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: GrantFiled: June 21, 2012Date of Patent: October 3, 2017Assignee: GOOGLE INC.Inventor: Ronald Sebastiaan Bultje
-
Patent number: 9674530Abstract: 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: GrantFiled: April 30, 2013Date of Patent: June 6, 2017Assignee: GOOGLE INC.Inventors: Ronald Sebastiaan Bultje, Debargha Mukherjee, Jingning Han
-
Publication number: 20170048543Abstract: 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: ApplicationFiled: October 31, 2016Publication date: February 16, 2017Inventors: Adrian William Grange, Ronald Sebastiaan Bultje, Yaowu Xu, Paul Gordon Wilkins
-
Patent number: 9485515Abstract: 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: GrantFiled: August 23, 2013Date of Patent: November 1, 2016Assignee: GOOGLE INC.Inventors: Yaowu Xu, Paul Gordon Wilkins, Adrian William Grange, Ronald Sebastiaan Bultje
-
Patent number: 9438915Abstract: 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: GrantFiled: December 21, 2015Date of Patent: September 6, 2016Assignee: GOOGLE INC.Inventors: Ronald Sebastiaan Bultje, Daniel Kang
-
Patent number: 9392288Abstract: 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: GrantFiled: October 17, 2013Date of Patent: July 12, 2016Assignee: GOOGLE INC.Inventors: Ronald Sebastiaan Bultje, Christian Luc Duvivier
-
Patent number: 9247251Abstract: 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: GrantFiled: July 26, 2013Date of Patent: January 26, 2016Assignee: GOOGLE INC.Inventor: Ronald Sebastiaan Bultje
-
Patent number: 9219915Abstract: 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: GrantFiled: January 17, 2013Date of Patent: December 22, 2015Assignee: GOOGLE INC.Inventors: Ronald Sebastiaan Bultje, Daniel Kang
-
Patent number: 9179151Abstract: 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: GrantFiled: October 18, 2013Date of Patent: November 3, 2015Assignee: GOOGLE INC.Inventors: Ronald Sebastiaan Bultje, Debargha Mukherjee, Yaowu Xu
-
Publication number: 20150189269Abstract: 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: ApplicationFiled: December 30, 2013Publication date: July 2, 2015Applicant: GOOGLE INC.Inventors: Jingning Han, Ronald Sebastiaan Bultje