Simultaneous Character Encoding Conversion for Faster Code Unit Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Organizations face challenges in efficiently utilizing vast collections of data due to the resource costs associated with transforming characters on-the-fly between different character encoding schemes, which hinders effective visualization and understanding of critical business operations.

Innovation Solution

Employing simultaneous processing using processor features to transform code units of one character encoding scheme into target code units of another scheme, leveraging parallel processing capabilities to enhance encoding/decoding performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If characters are transformed on-the-fly between different character encoding schemes, then adaptability to different encoding formats is improved, but resource costs and processing time increase

Engineering Contradiction:
Improveencoding scheme compatibilityVSAvoidcharacter transformation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores encoding transformation tables for common character encoding schemes (UTF-8, UTF-16, UTF-32) during system initialization. These pre-computed transformation mappings are stored in memory for rapid lookup during runtime, eliminating the need for computationally intensive on-the-fly character transformations and significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates and stores copy mappings between different character encoding schemes in advance. Instead of performing complex transformation algorithms during character encoding/decoding operations, the system uses pre-generated copy tables that map source encoding positions to target encoding positions, enabling O(1) constant-time transformations.

Inventive Principle:
Principle #26Copying

2Productivity

If simultaneous processing is used to transform code units, then encoding/decoding efficiency is improved, but device complexity increases

Engineering Contradiction:
Improveencoding/decoding speedVSAvoidprocessor feature requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the character encoding transformation process into fixed-size code unit blocks (e.g., 4 code units per 128-bit register). By dividing the transformation task into uniform segments that fit processor register widths, the system enables parallel processing using SIMD instructions while maintaining manageable complexity through standardized block processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts processing parameters based on the detected processor capabilities. The system checks for available SIMD instruction sets (SSE4, AVX2, AVX-512) and configures the transformation engine to use appropriate register widths and parallel processing degrees, optimizing performance for each processor type without requiring support for all feature sets.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4356263B1Encoding variable length characters using simultaneous processing
Publication Date: 2025.12.17 TABLEAU SOFTWARE INC
  • EP4356263B1 patent drawingFigure 1
  • EP4356263B1 patent drawingFigure 2
  • EP4356263B1 patent drawingFigure 3

AI summary

Embodiments are directed to managing character encoding. A plurality characters that are each encoded as code units based on a character code may be provided such that the code units for each character represents a code point of a character encoding scheme. An encoding model may be determined based on the character code, one or more processor features, and a target character code. Process features may be employed to transform the code units into target code units based on the encoding model such that the target code units are based on the target character code and such that the target code units encode the code point for each character. The plurality of target characters may be provided to a target stream such that each target character may be encoded as the target code units.