Factorial Pulse Coding With Log-Domain Combinatorial Approximation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for Factorial Pulse Coding (FPC) face significant complexity and memory requirements when dealing with large vector lengths and unit pulse counts, particularly in mobile handheld devices, due to the computational complexity of combinatorial expressions and memory needed for lookup tables.

Innovation Solution

A method that generates a low-complexity approximation of the combinatorial function F(n, d) using logarithmic transformations and low-resolution representations, allowing for efficient encoding and decoding with reduced precision and memory usage, by defining functions P′(i), Q′(d), and R′(k) that satisfy specific conditions for unique decodability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If exact combinatorial function F(n,d) is computed using prior art methods, then coding precision is maintained, but computational complexity becomes unacceptably high for large n and d values

Engineering Contradiction:
Improvecoding precisionVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms the combinatorial computation from direct factorial calculation to logarithmic domain operations. By changing the parameter representation from F(n,d) to log(F(n,d)) and using pre-computed logarithmic factorial tables, the computational complexity is reduced from O(n) multiplications to O(1) table lookups and additions, while maintaining sufficient precision for coding applications

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent pre-computes and stores logarithmic factorial values in lookup tables before runtime. This preliminary action eliminates the need for complex real-time factorial calculations during encoding/decoding operations, reducing runtime computational complexity to simple table lookups and arithmetic operations

Inventive Principle:
Principle #10Preliminary action

2Productivity

If lookup tables for combinatorial values are stored in memory, then computation speed increases, but memory requirements become unreasonably large for mobile devices

Engineering Contradiction:
Improvecomputation speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the stored parameter from actual combinatorial values F(n,d) to their logarithmic equivalents log(F(n,d)). This parameter transformation reduces the memory storage requirements significantly because logarithmic values are smaller in magnitude and can be represented with fewer bits, while still enabling rapid computation through simple addition operations

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the combinatorial computation into two parts: pre-computed logarithmic factorial components stored in compact tables, and runtime operations that combine these components through addition. This segmentation allows the heavy computational burden to be shifted to offline table generation, leaving only lightweight operations for runtime execution

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If multi-precision arithmetic operations are used to maintain accuracy, then coding accuracy is preserved, but the number of MAC operations increases significantly

Engineering Contradiction:
Improvecoding accuracyVSAvoidnumber of MAC operations
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical multi-precision arithmetic system with a logarithmic arithmetic system. Instead of performing complex multi-precision multiplication and division operations to compute F(n,d), the system uses logarithmic identities to convert these operations into simple addition and subtraction of pre-computed logarithmic values, dramatically reducing the number of MAC operations required

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8576096B2Apparatus and method for low complexity combinatorial coding of signals
Publication Date: 2013.11.05 GOOGLE TECHNOLOGY HOLDINGS LLC
  • US8576096B2 patent drawing
  • US8576096B2 patent drawing
  • US8576096B2 patent drawing

AI summary

During operation of an encoder, a signal vector (x) is received. A first multi-precision operand (Ψ′k) will be generated based on the signal vector to be encoded. A mantissa operand and an exponent operand are generated. Both the mantissa operand and the exponent operand are representative of a second multi-precision operand that is based on the signal vector to be encoded. A portion of Ψ′k is selected to be modified based on the exponent operand. A part of Ψ′k is modified based on the mantissa operand to produce a modified multi-precision operand (Ψ′k+1). Finally, a multi-precision codeword is generated for use in a corresponding decoder.