IP Library › Granted Patent US 12,425,042
Granted Patent B2
US 12,425,042 · App. 18/553,415 · Granted Sep 23, 2025

Method, an apparatus and a computer program product for neural network compression

Inventors: Emre Baris Aksu (Tampere, FI); Miska Matias Hannuksela (Tampere, FI); Hamed Rezazadegan Tavakoli (Espoo, FI); Francesco Cricrì (Tampere, FI)
Assignee: Nokia Technologies Oy
H03M7/30G06F12/00G06F12/02G06F17/16G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,425,042
App. No.
18/553,415
Granted
Sep 23, 2025
Kind
B2
Abstract

The embodiments relate to a method for encoding two or more tensors. The method comprises processing the two or more tensors having respective dimensions so that the dimensions of said two or more sensors have the same number ( 510 ); identifying which axis of each individual tensor is swappable to result in concatenable tensors around an axis of concatenation ( 520 ); reshaping the tensors so that the dimensions are modified based on the swapped axis ( 530 ); concatenating the tensors around the axis of concatenation to result in concatenated tensor ( 540 ); compressing the concatenated tensor ( 550 ); generating syntax structures for carrying concatenation and axis swapping information ( 560 ); and generating a bitstream by combining the syntax structures and the compressed concatenated tensor ( 570 ). The embodiments also relate to a method for decoding, and to apparatuses for implementing the methods.

Claims (50)

1. An apparatus for encoding two or more tensors, the apparatus comprising at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

processing the two or more tensors having respective dimensions so that the dimensions of said two or more tensors have the same number;

identifying which axis of each individual tensor is swappable to result in concatenable tensors around an axis of concatenation;

reshaping the tensors so that the dimensions are modified based on the swapped axis;

concatenating the tensors around the axis of concatenation to result in a concatenated tensor;

compressing the concatenated tensor;

generating syntax structures for carrying concatenation and axis swapping information; and

generating a bitstream by combining the syntax structures and the compressed concatenated tensor.

2. The apparatus according to claim 1 , wherein the apparatus is further configured to perform combining or flattening dimensions of a tensor so that said two or more tensors have the same number of dimensions.

3. The apparatus according to claim 1 , wherein the bitstream is a compressed neural network bitstream.

4. The apparatus according to claim 1 , wherein the apparatus is further caused to perform: signaling swapped dimension indexes in a syntax element present in a compressed data unit header.

5. The apparatus according to claim 1 , wherein the apparatus is further caused to perform: signaling a dimension index swapping difference in a syntax element present in a compressed data unit header.

6. The apparatus according to claim 5 , wherein the dimension index swapping difference comprises non-zero indexes.

7. An apparatus for decoding, the apparatus comprising at least one processor, memory including computer program code, the memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

receiving a bitstream comprising a bitstream of a compressed tensor;

processing the bitstream and identify from syntax structures that the bitstream comprises a compressed concatenated tensor;

identifying dimensions of individual tensors generating the concatenated tensor;

identifying from the bitstream an axis swapping information indicating whether axis swapping has been applied;

decompressing the tensor into a decompressed tensor;

splitting the decompressed tensor into individual tensors based on the identified dimensions of the individual tensors;

swapping axis of the individual tensors based on the axis swapping information; and

decomposing the individual tensors so that their final dimensions match with the identified dimensions of the individual tensors.

8. The apparatus according to claim 7 , wherein the bitstream is a compressed neural network bitstream.

9. The apparatus according to claim 7 , wherein the apparatus is further caused to perform: determining swapped dimension indexes from a syntax element present in a compressed data unit header.

10. The apparatus according to claim 7 , wherein the apparatus is further caused to perform: determining a dimension index swapping difference from a syntax element present in a compressed data unit header.

11. The apparatus according to claim 10 , wherein the dimension index swapping difference comprises non-zero indexes.

12. A method, comprising:

processing two or more tensors having respective dimensions so that the dimensions of said two or more tensors have the same number;

identifying which axis of each individual tensor is swappable to result in concatenable tensors around an axis of concatenation;

reshaping the tensors so that the dimensions are modified based on the swapped axis;

concatenating the tensors around the axis of concatenation to result in a concatenated tensor;

compressing the concatenated tensor;

generating syntax structures for carrying concatenation and axis swapping information; and

generating a bitstream by combining the syntax structures and the compressed concatenated tensor.

13. The method according to claim 12 , wherein the processing comprises combining or flattening dimensions of a tensor so that said two or more tensors have the same number of dimensions.

14. The method according to claim 12 , wherein the bitstream is a compressed neural network bitstream.

15. The method according to claim 12 , further comprising: signaling swapped dimension indexes in a syntax element present in a compressed data unit header.

16. The method according to claim 12 , further comprising: signaling a dimension index swapping difference in a syntax element present in a compressed data unit header.

17. The method according to claim 16 , wherein the dimension index swapping difference comprises non-zero indexes.

18. A method, comprising:

receiving a bitstream comprising a bitstream of a compressed tensor;

processing the bitstream and identifying from syntax structures that the bitstream comprises a compressed concatenated tensor;

identifying dimensions of individual tensors generating the concatenated tensor;

identifying from the bitstream an axis swapping information indicating whether axis swapping has been applied;

decompressing the tensor into a decompressed tensor;

splitting the decompressed tensor into individual tensors based on the identified dimensions of the individual tensors;

swapping axis of the individual tensors based on the axis swapping information; and

decomposing the individual tensors so that their final dimensions match with the identified dimensions of the individual tensors.

19. The method according to claim 18 , further comprising: determining swapped dimension indexes from a syntax element present in a compressed data unit header.

20. The method according to claim 18 , further comprising: determining a dimension index swapping difference from a syntax element present in a compressed data unit header.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2024
From: AKSU, EMRE BARIS; HANNUKSELA, MISKA MATIAS; TAVAKOLI, HAMED REZAZADEGAN; CRICRÌ, FRANCESCO
To: NOKIA TECHNOLOGIES OY
Reel/Frame 066040/0964 →
Priority Claims (1)
FI 20215428 · Apr 12, 2021 · national
Continuity (1)
Related Publication 20240195433A1 · Jun 13, 2024
References Cited (15)
US 11940907B2 · Grymel · 2024 [cited by examiner]
WO 2020190772A1 · 2020 [cited by applicant]
“Potential improvements of Compression of Neural Networks for Multimedia Content Description and Analysis”, WG 04, SO/IEC JTC 1/SC 29/WG 04, N0061, Jan. 2021, 85 pages. [cited by applicant]
Office action received for corresponding Finnish Patent Application No. 20215428, dated Sep. 9, 2021, 11 pages. [cited by applicant]
“[NNR] On combined compression of multiple tensors”, ISO/IEC JTC 1/SC 29/WG 4, m55998, v5, Jan. 2021, pp. 1-4. [cited by applicant]
“Permute array dimensions”, MathWorks, Retrieved on Oct. 27, 2023, Webpage available at : https://www.mathworks.com/help/matlab/ref/permute.html?s_tid=doc_ta. [cited by applicant]
“[NNR] On axis swapping for concatenated tensors”, ISO/IEC JTC 1/SC 29/WG 4, m 56610, Apr. 2021, pp. 1-4. [cited by applicant]
International Search Report and Written Opinion received for corresponding Patent Cooperation Treaty Application No. PCT/FI2022/050215, dated Sep. 27, 2022, 18 pages. [cited by applicant]
“NumPy Reference”, NumPy community, Release 1.20.0, Jan. 31, 2021, 1865 pages. [cited by applicant]
“Neural Network Exchange Format”, The Khronos NNEF Working Group, Version 1.0.3, Revision 2, Aug. 27, 2020, 87 pages. [cited by applicant]
“SciPy Reference Guide”, SciPy community, Release 1.7.0, Jun. 21, 2021, 3301 pages. [cited by applicant]
Extended European Search Report received for corresponding European Patent Application No. 22787686.9, dated Mar. 3, 2025, 14 pages. [cited by applicant]
Office action received for corresponding Indian Patent Application No. 202347067603, dated Apr. 4, 2025, 8 pages. [cited by applicant]
Kazemi et al., “A High Video Quality Multiple Description Coding Scheme For Lossy Channels”, IEEE International Conference on Multimedia and Expo, Jul. 11-15, 2011, 6 pages. [cited by applicant]
Smith et al., “Internet Multimedia Management Systems III”, SPIE, vol. 4862, Jul. 1, 2002, 11 pages. [cited by applicant]