本项目旨在实现并演示基于Linde-Buzo-Gray (LGB) 算法的矢量量化(Vector Quantization, VQ)码本设计过程。项目的核心功能是利用大规模的训练数据集,生成一个能够最小化平均量化失真的优化码本。在初始化阶段,本系统采用随机选择策略,即直接从训练矢量集中随机抽取指定数量的矢量作为初始码本的码字(Centroids),这种方法实现简单且能保证初始码字分布在样本空间内。随后系统进入核心的迭代优化循环:第一步是编码(划分),计算所有训练矢量与当前码本中每个码字的欧氏距离,根据最近邻原则(Nearest Neighbor Rule)将每个训练矢量分配到距离最近的码字所代表的Voronoi区域;第二步是更新(质心计算),计算每个区域内所有归属矢量的平均值,将其作为新的码字位置。同时计算当前的平均量化失真(通常采用均方误差MSE)。该迭代过程反复进行,直到前后两次迭代的相对失真改进量低于预设的收敛阈值或达到最大迭代次数。该项目为图像压缩、语音编码等应用提供了基础的数据压缩模块,能够将高维连续数据映射为有限的离散码字索引,从而显著降低数据存储量和传输带宽。