Block-Based Data Encoding for Zero-Free Binary String Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data encoding methods face inefficiencies and increased complexity during decoding due to the need to record and handle zero-terminated strings, leading to inappropriate splitting and data loss when converting binary data into strings.

Innovation Solution

The method involves dividing data into blocks, replacing specific values with a unique replacing value not present in the block, and using a starting byte to store this replacing value, ensuring each block has an additional byte for encoding, and reversing this process for decoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the specific value (e.g., 0) is recorded in the encoded data to mark termination positions, then the data can be converted back to string format, but the string will be inappropriately split and data will be lost when converting binary data into string

Engineering Contradiction:
Improvedata integrityVSAvoidencoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a starting byte as an intermediary element that stores the replacing value. This starting byte acts as a mediator between the original data and the encoded data, allowing the system to identify and replace specific values without directly recording them in the encoded stream, thus preventing inappropriate string splitting while maintaining data integrity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation by replacing the specific value (e.g., 0) with a replacing value (e.g., 255) in the encoded data. This parameter transformation allows the encoded data to avoid containing the problematic specific value that causes string splitting, while the replacing value can be easily identified and reversed during decoding

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If the position of bytes with specific values is recorded during encoding, then the decoding can reconstruct the original data, but the complexity of decoding is increased and efficiency is decreased

Engineering Contradiction:
Improveinformation preservationVSAvoiddecoding efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent extracts the replacing value information and stores it separately in the starting byte of each data block. By taking out the replacing value from the main data stream and placing it in a dedicated location, the encoding process avoids the complexity of recording multiple position information, while still preserving all necessary information for accurate decoding

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs the replacement of specific values with replacing values during the encoding process before decoding occurs. This preliminary action transforms the data into a format that is easier to decode, as the decoding process only needs to reverse the replacement operation using the replacing value stored in the starting byte, rather than reconstructing positions from recorded information

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a replacing value is used to replace specific values in data blocks, then data loss is prevented during processing, but an additional byte is required for each data block to store the replacing value

Engineering Contradiction:
Improvedata accuracyVSAvoiddata size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the data into fixed-size data blocks and allocates one starting byte at the beginning of each block to store the replacing value. This segmentation approach ensures that each block is self-contained with its replacing value information, preventing data loss within each block while organizing the data structure in a manageable and efficient manner

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7843365B2Data encoding and decoding methods and computer readable medium thereof
Publication Date: 2010.11.30 IND TECH RES INST
  • US7843365B2 patent drawing
  • US7843365B2 patent drawing
  • US7843365B2 patent drawing

AI summary

A data encoding method is provided. The data has several bytes, and each byte has n bits. The data encoding method includes the following steps. First, a specific value is defined. Next, the data is divided into one or several data blocks each having m bytes, wherein m≦2n−2. Following that, a replacing value, not appearing in the m bytes of the data block, is obtained from each data block respectively, wherein the replacing value is not equal to the specific value. Then, the values of the bytes being the specific value are replaced to the replacing value in the m bytes of each data bock respectively. Afterwards, a starting byte is allocated at the start of each data block, and the replacing value is stored to the starting byte so as to obtain the data block being encoded respectively. Each data block being encoded has m+1 bytes.