Patents by Inventor Aki Kuusela

Aki Kuusela 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: 11956447
    Abstract: An apparatus for encoding an image block includes a processor that presents, to a machine-learning model, the image block, obtains the partition decision for encoding the image block from the model, and encodes the image block using the partition decision. The model is trained to output a partition decision for encoding the image block by using training data for a plurality of training blocks as input, the training data including for a training block, partition decisions for encoding the training block, and, for each partition decision, a rate-distortion value resulting from encoding the training block using the partition decision. The model is trained using a loss function combining a partition loss function based upon a relationship between the partition decisions and respective predicted partitions, and a rate-distortion cost loss function based upon a relationship between the rate-distortion values and respective predicted rate-distortion values.
    Type: Grant
    Filed: March 21, 2019
    Date of Patent: April 9, 2024
    Assignee: GOOGLE LLC
    Inventors: Claudionor Coelho, Aki Kuusela, Joseph Young, Shan Li, Dake He
  • Publication number: 20240089433
    Abstract: For a coding block of an image, a luma prediction block is generated, a luma residual block is generated, a quantized luma block is generated after transforming the luma residual block using a luma transform type, and the quantized luma block is entropy encoded. A chroma prediction block is generated, a chroma residual block is generated, an initial chroma transform type for the chroma residual block is determined as the luma transform type, a quantized chroma block is generated using the chroma residual block transformed by a final chroma transform type, and the quantized chroma block is entropy encoded. When the initial chroma transform type is other than a default transform type, the final chroma transform type is the initial chroma transform type or the default transform type, and quantized coefficients of the quantized chroma block depend upon quantized coefficients of the quantized luma block.
    Type: Application
    Filed: January 25, 2021
    Publication date: March 14, 2024
    Inventors: In Suk Chong, Hui Su, Aki Kuusela
  • Publication number: 20230330533
    Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.
    Type: Application
    Filed: June 23, 2023
    Publication date: October 19, 2023
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Publication number: 20230229895
    Abstract: Systems and methods for producing a neural network architecture with improved energy consumption and performance tradeoffs are disclosed, such as would be deployed for use on mobile or other resource-constrained devices. In particular, the present disclosure provides systems and methods for searching a network search space for joint optimization of a size of a layer of a reference neural network model (e.g., the number of filters in a convolutional layer or the number of output units in a dense layer) and of the quantization of values within the layer. By defining the search space to correspond to the architecture of a reference neural network model, examples of the disclosed network architecture search can optimize models of arbitrary complexity. The resulting neural network models are able to be run using relatively fewer computing resources (e.g., less processing power, less memory usage, less power consumption, etc.), all while remaining competitive with or even exceeding the performance (e.g.
    Type: Application
    Filed: June 2, 2021
    Publication date: July 20, 2023
    Inventors: Claudionor Jose Nunes Coelho, Jr., Piotr Zielinski, Aki Kuusela, Shan Li, Hao Zhuang
  • Patent number: 11701587
    Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.
    Type: Grant
    Filed: November 8, 2021
    Date of Patent: July 18, 2023
    Assignee: GOOGLE LLC
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Publication number: 20230007284
    Abstract: Ultra light models and decision fusion for increasing the speed of intra-prediction are described. Using a machine-learning (ML) model, an ML intra-prediction mode is obtained. A most-probable intra-prediction mode is obtained from amongst available intra-prediction modes for encoding the current block. As an encoding intra-prediction mode, one of the ML intra-prediction mode or the most-probable intra-prediction mode is selected, and the encoding intra-prediction mode is encoded in a compressed bitstream. A current block is encoded using the encoding intra-prediction mode. Selection of the encoding intra-prediction mode is based on relative reliabilities of the ML intra-prediction mode and the most-probable intra-prediction mode.
    Type: Application
    Filed: December 23, 2019
    Publication date: January 5, 2023
    Inventors: Shan Li, Claudionor Coelho, In Suk Chong, Aki Kuusela
  • Patent number: 11369873
    Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.
    Type: Grant
    Filed: April 15, 2020
    Date of Patent: June 28, 2022
    Assignee: Google LLC
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Publication number: 20220201316
    Abstract: An apparatus for encoding an image block includes a processor that presents, to a machine-learning model, the image block, obtains the partition decision for encoding the image block from the model, and encodes the image block using the partition decision. The model is trained to output a partition decision for encoding the image block by using training data for a plurality of training blocks as input, the training data including for a training block, partition decisions for encoding the training block, and, for each partition decision, a rate-distortion value resulting from encoding the training block using the partition decision. The model is trained using a loss function combining a partition loss function based upon a relationship between the partition decisions and respective predicted partitions, and a rate-distortion cost loss function based upon a relationship between the rate-distortion values and respective predicted rate-distortion values.
    Type: Application
    Filed: March 21, 2019
    Publication date: June 23, 2022
    Inventors: Claudionor Coelho, Aki Kuusela, Joseph Young, Shan Li, Dake He
  • Patent number: 11310501
    Abstract: Encoding an image block using a quantization parameter includes presenting, to an encoder that includes a machine-learning model, the image block and a value derived from the quantization parameter, where the value is a result of a non-linear function using the quantization parameter as input, where the non-linear function relates to a second function used to calculate, using the quantization parameter, a Lagrange multiplier that is used in a rate-distortion calculation, and where the machine-learning model is trained to output mode decision parameters for encoding the image block; obtaining the mode decision parameters from the encoder; and encoding, in a compressed bitstream, the image block using the mode decision parameters.
    Type: Grant
    Filed: May 7, 2020
    Date of Patent: April 19, 2022
    Assignee: GOOGLE LLC
    Inventors: Claudionor Coelho, Dake He, Aki Kuusela, Shan Li
  • Patent number: 11310498
    Abstract: An apparatus for encoding a block of a picture includes a convolutional neural network (CNN) for determining a block partitioning of the block, the block having an N×N size and a smallest partition determined by the CNN being of size S×S. The CNN includes feature extraction layers; a concatenation layer that receives, from the feature extraction layers, first feature maps of the block, where each first feature map of the first feature maps is of the smallest possible partition size S×S of the block; and at least one classifier that is configured to infer partition decisions for sub-blocks of size (?S)×(?S) of the block, where ? is a power of 2.
    Type: Grant
    Filed: November 2, 2020
    Date of Patent: April 19, 2022
    Assignee: GOOGLE LLC
    Inventors: Claudionor Coelho, Aki Kuusela, Shan Li, Dake He
  • Publication number: 20220054940
    Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.
    Type: Application
    Filed: November 8, 2021
    Publication date: February 24, 2022
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Patent number: 11218737
    Abstract: Asymmetric probability model updating and entropy coding includes using different numbers of bits for storing probabilities of a probability model and for entropy coding symbols using that probability model. The probabilities of a probability model are updated according to values of syntax elements decoded from a bitstream. The probabilities are associated with possible values of the syntax elements and are stored using a first bit precision. Based on the updated probabilities, a second bit precision to use to entropy decode the syntax elements is determined. The second bit precision is less than the first bit precision. The syntax elements are then entropy decoded using the second bit precision, such as to produce quantized transform coefficients, which may be further processed and output to an output video stream. Using the first bit precision to entropy decode the syntax elements results in a lower compression throughput than using the second bit precision.
    Type: Grant
    Filed: July 23, 2018
    Date of Patent: January 4, 2022
    Assignee: GOOGLE LLC
    Inventors: Jingning Han, Aki Kuusela, Stanislav Vitvitskyy, Yaowu Xu, Ching-Han Chiang, Dake He
  • Patent number: 11198065
    Abstract: This application is directed to a method of managing processing capability of a server system having one or more processing cores that further include multiple processing slices. Upon receiving requests to initiate online gaming sessions, the server system allocates each processing slice of the processing cores to a subset of the online gaming sessions to be executed thereon. A first processing slice is allocated to a first subset of the online gaming sessions including a first gaming session and a second gaming session. At the first processing slice, a time-sharing processing schedule is determined for the first subset of the online gaming sessions. In accordance with the time-sharing processing schedule, the first and second gaming sessions share a duty cycle of the first processing slice, and are executed dynamically and in parallel according to real-time data processing need of the first and second gaming sessions.
    Type: Grant
    Filed: April 15, 2020
    Date of Patent: December 14, 2021
    Assignee: Google LLC
    Inventors: Clinton Smullen, Dov Zimring, Jani Huoponen, Aki Kuusela, Jean-Francois Roy, Paul Lalonde, Paul Leventis
  • Patent number: 11025907
    Abstract: Convolutional neural networks (CNN) that determine a mode decision (e.g., block partitioning) for encoding a block include feature extraction layers and multiple classifiers. A non-overlapping convolution operation is performed at a feature extraction layer by setting a stride value equal to a kernel size. The block has a N×N size, and a smallest partition output for the block has a S×S size. Classification layers of each classifier receive feature maps having a feature dimension. An initial classification layer receives the feature maps as an output of a final feature extraction layer. Each classifier infers partition decisions for sub-blocks of size (?S)×(?S) of the block, wherein ? is a power of 2 and ?=2, . . . , N/S, by applying, at some successive classification layers, a 1×1 kernel to reduce respective feature dimensions; and outputting by a last layer of the classification layers an output corresponding to a N/(?S)×N/(?S)×1 output map.
    Type: Grant
    Filed: February 28, 2019
    Date of Patent: June 1, 2021
    Assignee: GOOGLE LLC
    Inventors: Shan Li, Claudionor Coelho, Aki Kuusela, Dake He
  • Publication number: 20210051322
    Abstract: An apparatus for encoding a block of a picture includes a convolutional neural network (CNN) for determining a block partitioning of the block, the block having an N×N size and a smallest partition determined by the CNN being of size S×S. The CNN includes feature extraction layers; a concatenation layer that receives, from the feature extraction layers, first feature maps of the block, where each first feature map of the first feature maps is of the smallest possible partition size S×S of the block; and at least one classifier that is configured to infer partition decisions for sub-blocks of size (?S)×(?S) of the block, where ? is a power of 2.
    Type: Application
    Filed: November 2, 2020
    Publication date: February 18, 2021
    Inventors: Claudionor Coelho, Aki Kuusela, Shan Li, Dake He
  • Publication number: 20210021859
    Abstract: Motion estimation or compensation functionality of a hardware component is used to encode or decode key frames and other video frames. The hardware component includes a memory, which may, for example, be a local static random access memory or an external dynamic random access memory. Upon a block of a frame being encoded or decoded, data associated with that block is stored in the memory. That data can then be processed by motion estimation or motion compensation for use in encoding or decoding one or more later blocks within the same frame. The data may, for example, be stored in the memory after operations for reconstruction and loop filtering have been performed. The data stored in the memory may effectively be processed using traditional inter-prediction operations, such as to identify similar video objects within blocks of the same frame.
    Type: Application
    Filed: October 1, 2020
    Publication date: January 21, 2021
    Inventors: Aki Kuusela, Dake He
  • Patent number: 10869036
    Abstract: A convolutional neural network (CNN) for determining a partitioning of a block is disclosed. The block is of size N×N and a smallest partition is of size S×S. The CNN includes feature extraction layers; a concatenation layer that receives, from the feature extraction layers, first feature maps of the block, where each first feature map is of size S×S; and classifiers. Each classifier includes classification layers, each classification layer receives second feature maps having a respective feature dimension. Each classifier is configured to infer partition decisions for sub-blocks of size (?S)×(?S) of the block, wherein ? is a power of 2 and ?=2, . . . , N/S, by: applying, at some of successive classification layers of the classification layers, a kernel of size 1×1 to reduce the respective feature dimension in half; and outputting by a last layer of the classification layers an output corresponding to a N/(?S)×N/(?S)×1 output map.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: December 15, 2020
    Assignee: GOOGLE LLC
    Inventors: Claudionor Coelho, Aki Kuusela, Shan Li, Dake He
  • Patent number: 10798402
    Abstract: Motion estimation or compensation functionality of a hardware component is used to encode or decode key frames and other video frames. The hardware component includes a memory, which may, for example, be a local static random access memory or an external dynamic random access memory. Upon a block of a frame being encoded or decoded, data associated with that block is stored in the memory. That data can then be processed by motion estimation or motion compensation for use in encoding or decoding one or more later blocks within the same frame. The data may, for example, be stored in the memory after operations for reconstruction and loop filtering have been performed. The data stored in the memory may effectively be processed using traditional inter-prediction operations, such as to identify similar video objects within blocks of the same frame.
    Type: Grant
    Filed: December 18, 2017
    Date of Patent: October 6, 2020
    Assignee: GOOGLE LLC
    Inventors: Aki Kuusela, Dake He
  • Publication number: 20200280717
    Abstract: Convolutional neural networks (CNN) that determine a mode decision (e.g., block partitioning) for encoding a block include feature extraction layers and multiple classifiers. A non-overlapping convolution operation is performed at a feature extraction layer by setting a stride value equal to a kernel size. The block has a N×N size, and a smallest partition output for the block has a S×S size. Classification layers of each classifier receive feature maps having a feature dimension. An initial classification layer receives the feature maps as an output of a final feature extraction layer. Each classifier infers partition decisions for sub-blocks of size (?S)×(?S) of the block, wherein ? is a power of 2 and ?=2, . . . , N/S, by applying, at some successive classification layers, a 1×1 kernel to reduce respective feature dimensions; and outputting by a last layer of the classification layers an output corresponding to a N/(?S)×N/(?S)×1 output map.
    Type: Application
    Filed: February 28, 2019
    Publication date: September 3, 2020
    Inventors: Shan Li, Claudionor Coelho, Aki Kuusela, Dake He
  • Publication number: 20200275101
    Abstract: Encoding an image block using a quantization parameter includes presenting, to an encoder that includes a machine-learning model, the image block and a value derived from the quantization parameter, where the value is a result of a non-linear function using the quantization parameter as input, where the non-linear function relates to a second function used to calculate, using the quantization parameter, a Lagrange multiplier that is used in a rate-distortion calculation, and where the machine-learning model is trained to output mode decision parameters for encoding the image block; obtaining the mode decision parameters from the encoder; and encoding, in a compressed bitstream, the image block using the mode decision parameters.
    Type: Application
    Filed: May 7, 2020
    Publication date: August 27, 2020
    Inventors: Claudionor Coelho, Dake He, Aki Kuusela, Shan Li