# US 2026/0064801 A1 · Method and system to support input tensor optimization for transposed convolution for machine learning

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2026/0064801 A1
- Document ID: US20260064801A1
- Status: Published application
- Kind: A1
- Application number: 18/958,862
- Filed: 2024-11-25
- Published: 2026-03-05
- Earliest claimed: 2024-08-28
- Assignees: Marvell Asia Pte Ltd
- Applicants: Marvell Asia Pte Ltd
- Inventors: Harri Hakkarainen; Sebastian Lesniak; Adam Latos; Przemyslaw Baranski; Veena Karthikeyan
- Web page: https://patentgrep.com/patent/US20260064801A1

## CPC

- G06F 17/15: Correlation function computation {including computation of convolution operations (arithmetic circuits for sum of products per se, e.g. multiply-accumulators G06F7/5443; digital filters, e.g. FIR, IIR, adaptive filters H03H17/00)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A new approach is proposed that contemplates system and method to support efficient implementation of transposed convolution for machine learning (ML). Under the proposed approach, input data/tensor to a transposed convolution operation is optimized before the transposed convolution operation and each of a plurality of original kernels used for the transposed convolution operation is divided into a plurality of smaller sub-kernels. A plurality of direct sub-convolutions are then performed by sequentially applying each of the plurality of sub-kernels of each of the original kernels over the optimized input tensor without flattening either the input tensor or the plurality of sub-kernels. The output from the sub-convolutions using the plurality of sub-kernels are then combined as the final output tensor for each of the original kernels for the transposed convolution operation.

## Claims

### Claim 1

A system, comprising:
a compressed padding module configured to
accept an input tensor and derive a set of new padding parameters for the input tensor based on a set of user-specified padding parameters for a transposed convolution operation; and
pad the input tensor with a number of zeros according to the set of new padding parameters; and
a direct convolution module configured to perform one or more direct convolutions by sequentially and directly applying each of one or more kernels over the padded input tensor without flattening either the input tensor or the one or more kernels; and
an output module configured to combine outputs of the one or more direct convolutions by the one or more kernels to form a complete output tensor for the transposed convolution operation.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
values of the set of new padding parameters are less than values of the set of user-specified padding parameters.

### Claim 3 (depends on 1)

The system of claim 1, wherein:
the compressed padding module is configured to derive the set of new padding parameters further based on numbers of rows and columns supposed to be inserted during the transposed convolution operation.

### Claim 4 (depends on 3)

The system of claim 3, wherein:
the compressed padding module is configured to pad the input tensor according to the set of new padding parameters without inserting the numbers of rows and columns supposed to be inserted during the transposed convolution operation.

### Claim 5 (depends on 3)

The system of claim 3, further comprising:
a sub-kernel generation module configured to accept and divide each kernel of the one or more kernels into a plurality of sub-kernels based on the numbers of rows and columns of zeros supposed to be inserted into the input tensor.

### Claim 6 (depends on 5)

The system of claim 5, wherein:
the direct convolution module configured to perform a plurality of direct sub-convolutions by applying the plurality of sub-kernels over the padded input tensor for the direct convolution of each kernel of the one or more kernels.

### Claim 7 (depends on 1)

The system of claim 1, wherein:
the direct convolution module is configured to compute a pair of offset parameters, in width and height directions, respectively, for each kernel of the one or more kernels, wherein the pair of offset parameters specifies starting offsets in the input tensor for applying each kernel of the one or more kernels for one of the one or more direct convolutions.

### Claim 8 (depends on 1)

The system of claim 1, wherein:
the output module is configured to form the complete output tensor of the transposed convolution operation by interleaving the outputs from the one or more convolutions.

### Claim 9 (depends on 8)

The system of claim 8, wherein:
the output module is configured to interleave the outputs from the one or more convolutions on-the-fly.

### Claim 10 (depends on 8)

The system of claim 8, wherein:
the output module is configured to interleave the outputs from the one or more convolutions as a separate step at end of receiving the outputs of the one or more convolutions.

### Claim 11

A method, comprising:
accepting an input tensor and deriving a set of new padding parameters for the input tensor based on a set of user-specified padding parameters for a transposed convolution operation;
padding the input tensor with a number of zeros according to the set of new padding parameters;
performing one or more direct convolutions by sequentially and directly applying each of one or more kernels over the padded input tensor without flattening either the input tensor or the one or more kernels; and
combining outputs of the one or more direct convolutions by the one or more kernels to form a complete output tensor for the transposed convolution operation.

### Claim 12 (depends on 11)

The method of claim 11, wherein:
values of the set of new padding parameters are less than values of the set of user-specified padding parameters.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
deriving the set of new padding parameters further based on numbers of rows and columns supposed to be inserted during the transposed convolution operation.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
padding the input tensor according to the set of new padding parameters without inserting the numbers of rows and columns supposed to be inserted during the transposed convolution operation.

### Claim 15 (depends on 13)

The method of claim 13, further comprising:
accepting and dividing each kernel of the one or more kernels into a plurality of sub-kernels based on the numbers of rows and columns of zeros supposed to be inserted into the input tensor.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
performing a plurality of direct sub-convolutions by applying the plurality of sub-kernels over the padded input tensor for the direct convolution of each kernel of the one or more kernels.

### Claim 17 (depends on 11)

The method of claim 11, further comprising:
computing a pair of offset parameters, in width and height directions, respectively, for each kernel of the one or more kernels, wherein the pair of offset parameters specifies starting offsets in the input tensor for applying each kernel of the one or more kernels for one of the one or more direct convolutions.

### Claim 18 (depends on 11)

The method of claim 11, further comprising:
forming the complete output tensor of the transposed convolution operation by interleaving the outputs from the one or more convolutions.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
interleaving the outputs from the one or more convolutions on-the-fly.

### Claim 20 (depends on 18)

The method of claim 18, further comprising:
interleaving the outputs from the one or more convolutions as a separate step at end of receiving the outputs of the one or more convolutions.

### Claim 21

A system, comprising:
a means for accepting an input tensor and derive a set of new padding parameters for the input tensor based on a set of user-specified padding parameters for a transposed convolution operation;
a means for padding the input tensor with a number of zeros according to the set of new padding parameters;
a means for performing one or more direct convolutions by sequentially and directly applying each of one or more kernels over the padded input tensor without flattening either the input tensor or the one or more kernels; and
a means for combining outputs of the one or more direct convolutions by the one or more kernels to form a complete output tensor for the transposed convolution operation.
