Variable-Channel Neural Network Architecture for Integer-Precise Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network-based image and video coding methods face challenges in maintaining precision and avoiding data loss due to arithmetic errors, particularly when operating on different hardware architectures, and there is a need for improved encoding and decoding processes.

Innovation Solution

A neural network architecture is designed with specific conditions ensuring that the number of channels changes from one layer to another as integer multiples, using conditions such as Cout=p*Cin/q, where Cin, Cout, p, and q are integers, to maintain precision and avoid rounding errors, facilitating integer-based processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If neural networks use variable channel numbers for compression, then productivity is improved, but manufacturing precision deteriorates due to rounding errors

Engineering Contradiction:
Improvecompression efficiencyVSAvoidchannel number precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent changes the parameter representation from floating-point to integer-based channel numbers. By requiring that output channels Cout = p*Cin/q where Cin is a multiple of q, the system transforms continuous parameter values into discrete integer values that can be precisely represented and transmitted without rounding errors, thus maintaining precision while enabling compression.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the neural network into encoder and decoder parts that operate independently with synchronized channel numbers. This segmentation allows each part to use integer-based channel representations while maintaining compatibility through the mathematical relationship Cout = p*Cin/q, resolving the precision issue by dividing the system into coordinated subsystems.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If neural networks operate on different hardware architectures, then adaptability is improved, but reliability deteriorates due to arithmetic errors

Engineering Contradiction:
Improvehardware architecture compatibilityVSAvoidarithmetic precision
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent changes the arithmetic domain from floating-point to integer operations. By using integer-based channel numbers with the relationship Cout = p*Cin/q, the system ensures that all arithmetic operations can be performed precisely on different hardware architectures without floating-point rounding errors, maintaining both adaptability and reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of allowing floating-point channel numbers and then rounding, the patent inverts the approach by starting with integer channel numbers and deriving all other channel numbers through integer-based mathematical relationships. This inversion ensures precision is maintained from the beginning rather than being lost through rounding operations.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS20250245488A1Neural network with a variable number of channels and method of operating the same
Publication Date: 2025.07.31 HUAWEI TECH CO LTD
  • US20250245488A1 patent drawing
  • US20250245488A1 patent drawing
  • US20250245488A1 patent drawing

AI summary

A neural network including a first neural network layer and a second neural network. The first neural network obtains a first number of channels Cin as input and outputs a second number of channels Cout, where the first number of channels is different from the second number of channels, and Cout=p*Cin/q, and where Cin is a multiple of q, and Cin, Cout, p, and q are integers. The second neural network layer obtains the second number of channels Cout as input.