3D Vertex Data Compression via Sub-Codebook Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for compressing vertex data in 3D image data fail to efficiently utilize the distribution characteristics of residual vectors, leading to wasteful storage of similar codewords, increased encoding time, and suboptimal compression ratios due to the large number of codewords with small Euclidean distances.

Innovation Solution

The method involves dividing residual vectors into groups and generating sub-codebooks with a specified number of codewords for each group, reducing the total number of codewords for smaller moduli and increasing them for larger moduli, and using a quick search method to optimize codeword search, thereby saving storage space and improving encoding quality and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a preset compression codebook is generated using LBG algorithm with parallelogram prediction, then vertex data compression is achieved, but large amounts of codewords with very small Euclidean distances are created, wasting storage space

Engineering Contradiction:
Improvecompression precisionVSAvoidstorage space
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The codebook is segmented into multiple sub-codebooks based on modulus ranges of residual vectors. Each sub-codebook contains codewords for a specific modulus range, eliminating redundant codewords with very small Euclidean distances that occur when using a single unified codebook. This segmentation reduces the total number of codewords while maintaining compression precision for each specific range.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different sub-codebooks are designed with different numbers of codewords according to the local distribution characteristics of residual vectors in different modulus ranges. Sub-codebooks for ranges with dense codeword distribution contain fewer codewords, while other ranges retain appropriate codeword counts, optimizing storage space utilization locally across different regions of the vector space.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If Full Search method is used to search for optimal codeword, then optimal match is achieved, but a lot of time is spent traversing similar codewords, affecting compression efficiency

Engineering Contradiction:
Improvematching precisionVSAvoidcompression efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The search space is segmented into multiple sub-codebooks based on modulus ranges. When searching for an optimal codeword, the algorithm first determines the modulus range of the residual vector and directly searches only the corresponding sub-codebook, rather than traversing the entire codebook. This segmentation dramatically reduces the number of codewords that need to be traversed while maintaining optimal matching precision within each range.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The residual vector's modulus range is determined in advance before the actual codeword search. This preliminary classification allows the search to be confined to a specific sub-codebook, preventing unnecessary traversal of codewords that would not be optimal matches, thus improving compression efficiency without sacrificing matching precision.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a compression codebook includes many codewords with small Euclidean distances, then more codeword indices are needed, but this increases the number of bits for codeword indices, preventing improvement of compression ratio

Engineering Contradiction:
Improveencoding accuracyVSAvoidcompression ratio
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The codebook is divided into sub-codebooks, each handling a specific modulus range. This segmentation reduces the total number of codewords that need to be indexed, thereby reducing the number of bits required for codeword indices. The segmentation maintains encoding accuracy within each sub-range while eliminating the redundancy of indexing numerous similar codewords that would otherwise be required in a unified codebook.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The codebook structure is changed from a single unified codebook to multiple sub-codebooks with different sizes and codeword counts. This parameter change in the codebook organization allows for optimized index bit allocation, where each sub-codebook can have an index size matched to its actual codeword count, reducing the overall bits required for representation while maintaining the necessary encoding accuracy.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2801952B1Method and device for compression of vertex data in three-dimensional image data
Publication Date: 2019.12.11 ZTE CORP
  • EP2801952B1 patent drawingFigure 1~2
  • EP2801952B1 patent drawingFigure 3

AI summary

A device for compressing vertex data in three-dimensional (3D) image data includes a codebook design module and a codeword search module. The codebook design module is configured for: grouping residual vectors of vertices in 3D image data for codebook design; generating, for each group of residual vectors, a sub-codebook formed by a specified number of codewords; and sending the generated sub-codebook corresponding to a group of residual vectors to the codeword search module. The codeword search module is configured for: receiving a sub-codebook sent by the codebook design module; searching for a codeword of optimal match of a to-be-compressed residual vector of a vertex in 3D image data to be compressed; and taking an index of the codeword of optimal match and an index of a sub-codebook where the codeword of optimal match is located as compressed data of the vertex. A method for compressing vertex data in 3D image data is further disclosed. With the disclosure, it is possible to save codeword storage space, enhance encoding quality, improve a compression ratio of vertex data, and increase a compression efficiency.