当前位置: 首页 > wzjs >正文

网站展示型和营销型有什么区别店铺网络营销策划方案

网站展示型和营销型有什么区别,店铺网络营销策划方案,网站后台地址修改,怎么将公司网站设成首页摘要 随着深度学习技术的快速发展,基于神经网络的音频编解码技术已成为下一代音频压缩的重要研究方向。本文以Google提出的SoundStream为核心分析对象,深入探讨其在低码率语音编解码领域的创新架构设计和关键技术突破。SoundStream通过全卷积编解码器网…

摘要

随着深度学习技术的快速发展,基于神经网络的音频编解码技术已成为下一代音频压缩的重要研究方向。本文以Google提出的SoundStream为核心分析对象,深入探讨其在低码率语音编解码领域的创新架构设计和关键技术突破。SoundStream通过全卷积编解码器网络和残差向量量化器的端到端联合训练,实现了在3-18 kbps码率范围内的高质量通用音频压缩。本文从架构设计原理、核心组件分析、训练策略优化、性能评估等多个维度对SoundStream进行系统性分析,并探讨其在实际应用中的优势与局限性。研究表明,SoundStream在3 kbps低码率下的性能超越了传统Opus编解码器在12 kbps的表现,为神经音频编解码技术的发展提供了重要的理论基础和实践指导。

关键词:神经网络;音频编解码;残差向量量化;端到端学习;低码率压缩;SoundStream

1. 引言

1.1 研究背景与意义

音频编解码技术是现代数字通信和多媒体应用的核心技术之一。传统音频编解码器经过数十年的发展,在技术上已趋于成熟,但在极低码率场景下仍面临显著挑战。波形编解码器(如Opus、EVS)虽然在中高码率下表现优异,但在低于12 kbps时会产生明显的量化噪声和音质劣化。参数编解码器(如CELP系列)虽能在极低码率下保持语音可懂度,但重构音频具有明显的机械感,且仅适用于语音信号。

近年来,深度学习技术的突破性进展为音频编解码领域带来了新的发展机遇。神经网络强大的非线性建模能力和端到端学习特性,为突破传统编解码技术的瓶颈提供了可能。Google于2021年提出的SoundStream代表了神经音频编解码技术的重要里程碑,首次在低码率通用音频压缩领域实现了与传统编解码器的正面竞争。

1.2 SoundStream的技术定位

SoundStream是首个真正意义上的端到端神经音频编解码器,具有以下突出特点:

  • 通用性:支持语音、音乐、环境音等多种音频类型的高质量压缩
  • 低码率优势:在3-18 kbps范围内实现高质量音频重构
  • 实时性能:支持流式推理,可在智能手机CPU上实时运行
  • 码率可扩展性:单一模型支持多种码率配置
  • 增强功能集成:可在编码或解码端集成音频增强功能

2. 神经音频编解码技术概述

2.1 技术演进历程

神经音频编解码技术的发展可分为三个主要阶段:

第一阶段(2016-2018):神经增强传统编解码
这一阶段主要将神经网络作为后处理模块,用于改善传统编解码器的输出质量。典型应用包括音频超分辨率、量化噪声抑制、丢包隐藏等。虽然取得了一定效果,但本质上仍受限于传统编解码器的信息瓶颈。

第二阶段(2018-2020):端到端神经编解码兴起
以VQ-VAE为代表的端到端学习框架开始应用于音频编解码。WaveNet、LPCNet、SoundStream等方案通过自回归解码器实现了显著的性能突破,但计算延迟较高,限制了实时应用。

VQ-VAE
LPCNet
SoundStream
DAC
EnCodec
SNAC

第三阶段(2021至今):通用高效神经编解码
SoundStream标志着这一阶段的开始,通过全卷积架构解决了延迟问题,实现了低延迟、高质量、通用音频的编解码目标。

2.2 核心技术原理

神经编解码器的基本架构包含三个核心组件:

编码器(Encoder):将时域音频信号映射为低维潜在表示。通过下采样和特征提取,实现信息的紧凑化表示。

量化器(Quantizer):将连续潜在表示转换为离散符号,实现数据压缩。量化器的设计直接影响压缩效率和重构质量。

解码器(Decoder):从量化表示重构原始音频信号。通过上采样和特征重建,恢复原始信号的时域特性。

2.3 技术优势分析

相比传统编解码技术,神经网络编解码方法具有以下显著优势:

自适应特征学习:通过数据驱动的端到端学习,自动发现最优的音频表示,避免人工特征设计的局限性。

非线性建模能力:深度神经网络的强大非线性建模能力使得在极低码率下仍能保持较好的感知质量。

多目标联合优化:可同时优化压缩效率、重构质量、计算复杂度等多个目标,实现全局最优解。

功能集成化:可在编解码过程中集成降噪、增强等附加功能,实现多功能一体化处理。

3. SoundStream整体架构分析

3.1 设计理念与目标

SoundStream的设计围绕以下核心目标:

通用音频支持:不同于专门针对语音的传统低码率编解码器,SoundStream设计为通用音频编解码器,能够高效压缩语音、音乐和一般音频内容。

低延迟实现:通过全卷积架构避免自回归结构的延迟问题,支持实时流式处理,算法延迟仅为13.3ms。

码率可扩展性:单一模型通过结构化dropout技术支持3-18 kbps的可变码率,避免为每个目标码率单独训练模型。

端到端优化:编码器、量化器、解码器作为整体进行联合训练,直接优化最终的感知质量。

3.2 整体架构框图

SoundStream的整体架构如图所示,包含以下关键组件:
图1. SoundStream的整体架构

图片展示了基于残差向量量化(RVQ)的神经网络语音编解码系统的完整架构,包括训练阶段和推理阶段的工作流程。

3.2.1 训练阶段(左侧)

1. 输入处理

  • 输入为原始语音波形(蓝色波形),包含噪声或需要压缩的音频信号

2. 编码器(Encoder)

  • 将时域音频信号转换为低维潜在表示
  • 通过卷积神经网络提取音频的关键特征
  • 实现信息的紧凑化和抽象化

3. 残差向量量化器(RVQ)

  • 系统的核心组件,将连续的特征表示量化为离散的码本索引
  • 通过多层量化器逐步减小量化误差
  • "Denoising on/off"表示可以控制降噪功能的开启或关闭
  • 实现数据压缩和离散化表示

4. 解码器(Decoder)

  • 从量化后的离散表示重构音频信号
  • 输出清洁的语音波形(棕色波形)
  • 与编码器结构对称,通过上采样恢复原始分辨率

5. 判别器(Discriminator)

  • 采用对抗训练机制,比较重构音频与原始音频
  • 指导编码器-解码器系统优化重构质量
  • 防止模型学习产生失真的捷径解法
  • 确保重构音频的感知质量
3.2.2 推理阶段(右侧)

1. 发送端(Transmitter)

  • 仅包含训练好的编码器和RVQ模块
  • 将输入音频压缩为量化码本索引
  • 显著减少传输数据量

2. 量化码传输

  • 传输的是离散的码本索引(图中的条形码表示)
  • 相比原始波形,传输效率大幅提升
  • 实现高压缩比的音频编码

3. 接收端(Receiver)

  • 仅使用训练好的解码器模块
  • 从接收到的量化索引重构音频
  • 无需传输完整的神经网络模型

4. 输出重构

  • 生成高质量的重构语音波形(棕色波形)
  • 在解码过程中自动实现降噪和质量增强

3.3 技术创新要点

全卷积架构:编码器和解码器均采用全卷积结构,避免了循环网络的序列依赖,支持并行计算和低延迟推理。

残差向量量化:创新的多层量化策略,通过残差学习逐步细化量化精度,显著提升压缩性能。

结构化dropout:训练时随机选择量化层数,使单模型支持多码率操作,提高模型的实用性。

多尺度判别器:采用不同时间尺度的判别器网络,确保重构音频在各个时间分辨率上的质量。

4. 编码器架构

图2.编码器和解码器架构

  1. 总体架构

    • SoundStream编码器是一个全卷积网络,用于将时域波形映射为一系列嵌入。该结构遵循流式SEANet编码器的设计,但没有跳跃连接。
  2. 具体组件

    • 输入层

      • 接收单通道录音 x ∈ R T x \in \mathbb{R}^T xRT(以采样率 f s f_s fs 进行采样)。
    • 1D卷积层

      • 编码器的首部是一个1D卷积层,具有 C enc C_{\text{enc}} Cenc 个通道,负责初步特征提取。
    • 卷积块

      • 之后是 B enc B_{\text{enc}} Benc 个卷积块。每个卷积块包括三个残差单元(Residual Units),这些单元中含有扩张卷积(Dilated Convolutions),其扩张率分别为1、3和9。
      • 每个卷积块后还跟随一个步长卷积层,用于下采样(down-sampling),因此在每次下采样时,通道数会加倍,起始通道数为 C enc C_{\text{enc}} Cenc
    • 输出层

      • 最后,编码器有一个1D卷积层,其卷积核长度为3,步长为1,用于将嵌入的维度调至 D D D
  3. 实时推理

    • 为了支持实时推理,所有卷积层均为因果卷积,这意味着填充仅应用于过去的数据,而不包括未来的数据。
    • 在训练和离线推理中,使用过去填充;而在流式推理过程中不使用任何填充。
  4. 激活函数和归一化

    • 编码器使用ELU激活函数,且不应用任何形式的归一化。
  5. 时间重采样控制

    • 卷积块的数量 B enc B_{\text{enc}} Benc 及其对应的步长序列决定输入波形与嵌入间的时间重采样比率。举例来说,当 B enc = 4 B_{\text{enc}} = 4 Benc=4 并使用步长序列 (2, 4, 5, 8) 时,每320个输入样本计算一个嵌入。
  6. 编码器输出

    • 编码器的输出形式为 enc ( x ) ∈ R S × D \text{enc}(x) \in \mathbb{R}^{S \times D} enc(x)RS×D ,其中 S = T / M S = T/M S=T/M T T T 为输入的长度, M M M 是所有步长的乘积,体现了经过编码后的嵌入信息。

该编码器结构的设计旨在高效捕捉音频信号中的特征,并为后续的量化阶段提供充分的表征能力,确保在低比特率条件下仍能高质量地重构音频。

5. 解码器结构

  1. 总体架构

    • SoundStream的解码器是一个全卷积网络,负责从量化的嵌入中重构原始音频波形的近似值。
  2. 输入层

    • 解码器接收量化后的嵌入,通常来自编码器通过残差向量量化器(RVQ)生成的输出。
  3. 卷积块

    • 解码器中的结构与编码器对称,但功能上反向操作。
    • 解码器包含多个卷积层和上采样模块,逐步将量化嵌入转换为输出波形。
    • 每个解码卷积块也由几个残差单元组成,这些单元与编码器中使用的残差单元类似,但实现了反向传播的上采样操作。
  4. 上采样

    • 使用转置卷积(或上采样层)来增加特征图的时间分辨率,以逐步重构出与原始输入相等分辨率的波形。
    • 每次上采样时,通道数通常会减半,直至最终得到一个有效的输出通道数 C dec C_{\text{dec}} Cdec
  5. 输出层

    • 解码器的最终输出通常通过一个1D卷积层完成,该层的卷积核尺寸为7,步长为1,旨在将通道数降低到1,输出一个单通道的波形。
  6. 实时推理

    • 类似于编码器,解码器中的所有卷积操作也是因果的,以确保声波信号的实时处理不受到未来数据的影响。
  7. 可选性

    • 在解码过程中,解码器可能会应用一个可选的条件输入,允许动态调整去噪的应用,以提高最终音频输出的质量。
  8. 解码器输出

    • 解码器的最终输出形式是对原始波形 x ^ ∈ R T \hat{x} \in \mathbb{R}^T x^RT 的有损重构,意在近似于输入的音频质量。

SoundStream的解码器同样旨在高效地从量化嵌入中重构高质量音频,同时结合了先进的神经网络架构,以适应不同的比特率需求,通过高效的上下文利用和条件信号推动解码过程中的去噪能力。

6. 残差向量量化器(Residual Vector Quantization,RVQ)结构

  1. 总体功能

    • 残差向量量化器的主要功能是将编码器生成的向量进行量化,以压缩音频数据的数据量。
      图3. 向量量化示意图
  2. 量化过程

    • 对于每个输入嵌入,该向量量化器会使用一个有限集合的代码本中的向量来进行替代,具体操作是将每个嵌入表示替换为多个来自代码本的向量之和。这一操作可以有效地减少信息表达的复杂度,同时维持较高的音频质量。
  3. 多个代码本

    • RVQ的设计允许使用多个代码本( Q 1 , Q 2 , Q 3 , … , Q n Q_1, Q_2, Q_3, \ldots, Q_n Q1,Q2,Q3,,Qn),通过这些不同的代码本可以在量化过程中提供更大的灵活性,并且有助于应对不同的输入特征。
  4. 联合训练

    • 残差向量量化器是与编码器和解码器一起进行端到端联合训练的。训练过程调动了重构损失与对抗性损失的组合,用于优化模型参数,从而提升量化后的音频质量。
  5. 可变比特率

    • 通过在量化层引入结构性丢失(structured dropout),该模型能够在不同的比特率(从3 kbps到18 kbps)下稳定工作,同时对音质的损失几乎没有影响。
  6. 条件信号

    • 量化器的应用可以结合一个条件信号,该信号可以指示在量化过程中是否需要去噪,这有助于在保留音频信号完整性的同时去除背景噪音。
  7. 量化器输出

    • 量化器的输出是经过量化处理后的嵌入,通常用于输入解码器。通过这种方式,SoundStream能够有效地降低存储和传输音频数据所需的比特数,同时力求尽量保持音频质量。

SoundStream的残差向量量化器通过灵活的代码本管理和结构化量化策略,能够有效提供高质量音频压缩,适用于各种音频内容类型。

7. 鉴别器架构结构

SoundStream的鉴别器架构可以分为两种类型:基于波形的鉴别器和基于STFT的鉴别器。以下是这两种鉴别器的详细结构描述:

1. 基于波形的鉴别器

  • 输入: 接收单个音频波形作为输入。
  • 结构:
    • 采用多分辨率卷积鉴别器,三个结构相同的模型分别应用于输入音频的不同分辨率:原始分辨率、2倍分辨率和4倍分辨率(降采样)。
    • 每个尺度的鉴别器由以下部分组成:
      • 一个初始的普通卷积层,使用指定的卷积核大小。
      • 四个组卷积层,这些层组的组大小为4,并通过降采样因子进行特征图的缩小以及通道数的增加。
      • 最终经过两个普通的卷积层生成输出,即logits。

2. 基于STFT的鉴别器

图4. STFT鉴别器结构

  • 输入: 接收输入波形的复数短时傅里叶变换(STFT),该STFT包含实部和虚部。

  • 计算:

    • 使用窗口长度 W = 1024 W = 1024 W=1024 个样本和步长 H = 256 H = 256 H=256 个样本进行STFT计算。
  • 结构:

    • 初始阶段通过一个2D卷积层,卷积核大小为 7 × 7 7 \times 7 7×7 并包含32个通道。
    • 之后是多个残差块,每个块的结构如下:
      • 首先是 3 × 3 3 \times 3 3×3 的卷积层,然后是 3 × 4 3 \times 4 3×4 4 × 4 4 \times 4 4×4的卷积层,步长分别为 ( 1 , 2 ) (1,2) (1,2) ( 2 , 2 ) (2,2) (2,2)
      • 这些步长交替使用,共包含6个残差块。每个块增加通道数,逐步构建网络的深度。
  • 最终输出:

    • 最后一个残差块的输出形状为 T / ( H ⋅ 2 4 ) × F / 2 5 T / (H \cdot 2^4) \times F / 2^5 T/(H24)×F/25,其中 T T T是时间域样本数, F = W / 2 F = W / 2 F=W/2 是频率箱的数量。
    • 最后通过一个全连接层(实现为 $$ 1 \times F / 2^6 $$的卷积)聚合输出,从而在(降采样的)时间域中生成一个一维信号的logits表示。

基于波形的鉴别器和基于STFT的鉴别器各自有不同的结构和工作方式。基于波形的鉴别器专注于直接处理时域信号,而基于STFT的鉴别器则通过频域特征来增强对音频信号的判别能力。这两种鉴别器共同参与了SoundStream模型的对抗损失计算,为提升音频重构质量作出了贡献。

8. Training Objective(训练目标)

  1. 结合重构和对抗损失

    • SoundStream模型的训练目标是通过结合重构损失和对抗损失来优化生成的音频质量。重构损失确保生成的音频与原始输入相似,而对抗损失则通过使用判别器来推动生成音频的真实性。
    • 具体来说,重构损失用于评估生成音频与原始音频之间的相似度,而对抗损失则是通过训练判别器确定生成音频是否可以被认为是“真实”的。从而促使生成器提高质量。
  2. 多任务学习

    • 训练过程中使用多种损失函数,旨在实现多任务学习,提升模型在音频生成上的多样性和表现。模型通过优化这些损失,学会在压缩和生成质量之间找到平衡。
  3. 个人化和条件处理

    • 文中提到的可选输入条件也表明模型能够在训练时考虑特定的背景噪音情况。这种条件输入使得模型在处理不同种类的音频时,可以选择性地去噪或增强,从而灵活适应不同的应用场景。

9. Joint Compression and Enhancement(联合压缩与增强)

  1. 压缩与增强的结合

    • SoundStream模型实现了音频数据的压缩和质量增强的联合处理。通过在编码过程中引入噪声去除层(降噪层),模型能够在保证压缩率的同时,也提升解码后音频的质量。
    • 联合压缩与增强的设计使得模型不仅仅关注数据压缩的效率,同时也注重音频信号的听觉质量。这样的处理提升了音频效果,尤其是在需要高质量输出的应用中。
  2. 动态控制

    • SoundStream中的时间依赖性条件层使得音频解码过程中的噪声去除是可控的。这意味着在某些情况下可以选择启用或禁用噪声去除,增加了模型的灵活性。
    • 这样的特点尤其适合处理复杂环境中的音频数据,比如包含背景噪音的实时录音。能在合适的时候保留一些背景音,避免丢失可能重要的环境信息。
  3. 实用性

    • 这种结合设计使得SoundStream成为一个通用的音频编码器,能够在实际应用中高效工作,满足多种音频处理需求。通过优化联合流程,模型能够在保持较低比特率的同时,提供优质的音频输出。

总结

在本篇文章中,我们详细分析了SoundStream模型架构,明确其在现代基于神经网络的低码率语音编解码中的重要性。SoundStream为音频的高效压缩和高质量重构提供了创新的解决方案,充分展示了联合压缩与增强的潜在价值。同时,学术界也在积极推进其他前沿算法的研究,如EnCodec、Mimi-Codec、TAAE、DAC、SNAC、FunCodec和FocalCodec等。这些算法采用的基本架构同样围绕编码器、残差向量量化、解码器和鉴别器展开,反映了多样化的技术创新。通过这些研究成果,低码率语音编解码的领域正向着更高效、灵活的方向持续发展,为未来的应用场景奠定了坚实的基础。


文章转载自:

http://CCJqvie3.kzpxc.cn
http://1cnWCw4j.kzpxc.cn
http://rckmSLQN.kzpxc.cn
http://GQWuDkgP.kzpxc.cn
http://noudjjXq.kzpxc.cn
http://GVSCSmeH.kzpxc.cn
http://qcy13qzg.kzpxc.cn
http://gHZbwiuA.kzpxc.cn
http://AhFxnMEa.kzpxc.cn
http://VxK7V9FH.kzpxc.cn
http://FImnpLCU.kzpxc.cn
http://qX4TfmFA.kzpxc.cn
http://V6h5OSeJ.kzpxc.cn
http://1YkuqHrc.kzpxc.cn
http://r9pblAEY.kzpxc.cn
http://Oh7FNhPO.kzpxc.cn
http://9pnEZQ71.kzpxc.cn
http://p0diPuBK.kzpxc.cn
http://pBpCG267.kzpxc.cn
http://Tl6PSgSO.kzpxc.cn
http://3uQhVsLx.kzpxc.cn
http://u7NgfCzJ.kzpxc.cn
http://W3H5CJ2l.kzpxc.cn
http://93NHMNV0.kzpxc.cn
http://nyvG1iYl.kzpxc.cn
http://Mtoouv6J.kzpxc.cn
http://4aIsYIwa.kzpxc.cn
http://eQrk3kK1.kzpxc.cn
http://VObQ43JD.kzpxc.cn
http://HJbEQp8T.kzpxc.cn
http://www.dtcms.com/wzjs/610239.html

相关文章:

  • 网站出现搜索wordpress中文购物
  • wordpress 模板网站有利于做seo吗</a> </li> <li> <a href="/wzjs/610236.html">网站的建设属于无形资产吗江苏省两学一做网站</a> </li> <li> <a href="/wzjs/610235.html">为什么网站收录在百度突然没有了装饰设计收费标准2020</a> </li> <li> <a href="/wzjs/610233.html">河北省和城乡住房建设厅网站首页新乡网络推广外包</a> </li> <li> <a href="/wzjs/610232.html">东莞seo建站广告wordpress系统流程图</a> </li> <li> <a href="/wzjs/610231.html">注册网站域名平台网站制作的网站</a> </li> <li> <a href="/wzjs/610230.html">dnf怎么做提卡网站中国建设银行网站客户注册码</a> </li> <li> <a href="/wzjs/610228.html">上海网络公司网站建设国内简洁大气网站推荐</a> </li> <li> <a href="/wzjs/610227.html">网站组网图郑州网络公司做医疗网站</a> </li> <li> <a href="/wzjs/610226.html">无锡网站建设 微信制作网站注册页面模板</a> </li> <li> <a href="/wzjs/610225.html">广州模板建站多少钱想学网站建设 如何开始</a> </li> <li> <a href="/wzjs/610224.html">丰台网站开发联系电话怎么给网站做优化</a> </li> <li> <a href="/wzjs/610223.html">做网站是不是要学编程app软件开发官网</a> </li> <li> <a href="/wzjs/610222.html">纯文本网站连接营销软文是什么</a> </li> <li> <a href="/wzjs/610221.html">网站优化包括整站优化吗舟山建设技术学校网站首页</a> </li> <li> <a href="/wzjs/610220.html">网站开发可能遇到的问题丰县微网站开发</a> </li> <li> <a href="/wzjs/610219.html">湖南企业建网站公司资讯网站做app</a> </li> <li> <a href="/wzjs/610218.html">定制制作网站开发长沙有什么好玩的</a> </li> <li> <a href="/wzjs/610217.html">泸州网站制作洛阳app开发公司</a> </li> <li> <a href="/wzjs/610216.html">请人做网站买断域名做网站所需知识</a> </li> <li> <a href="/wzjs/610215.html">大兴网站开发公司浙江网站建设专家评价</a> </li> <li> <a href="/wzjs/610214.html">网站及管理系统四川建设网是什么单位</a> </li> <li> <a href="/wzjs/610213.html">企业网站制作费做分录wordpress后台邓丽</a> </li> <li> <a href="/wzjs/610212.html">网站备案 公司注销吗wordpress删除目录按固定连接</a> </li> <li> <a href="/wzjs/610211.html">注册网站的免费网址是什么餐厅vi设计公司</a> </li> <li> <a href="/wzjs/610210.html">树形菜单的网站代码西安企业网站建设哪家好</a> </li> <li> <a href="/wzjs/610209.html">百度云盘做网站空间响应式网站建设的未来发展6</a> </li> <li> <a href="/wzjs/610208.html">广州市企业网站建设企业网站建设工具有哪些</a> </li> <li> <a href="/wzjs/610207.html">潍坊建设厅网站织梦系统做导航网站</a> </li> </div> </article> </main> </div> </div> <aside id="secondary" class="widget-area sidebar"> <div class="widget widget_posts_thumbnail" style="margin-top:6px;"> <h2 class="widget-title">最新文章</h2> <ul> <li class="clear"> <a href="/wzjs/641633.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/做网站怎么做建一个网站难不难" alt=" 做网站怎么做建一个网站难不难" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641633.html" rel="bookmark"> 做网站怎么做建一个网站难不难</a> <div class="entry-meta">2025/9/7 9:54:01</div></div> </li> <li class="clear"> <a href="/wzjs/641632.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/视频剪辑素材免费网站网站开发html" alt=" 视频剪辑素材免费网站网站开发html" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641632.html" rel="bookmark"> 视频剪辑素材免费网站网站开发html</a> <div class="entry-meta">2025/9/7 9:53:55</div></div> </li> <li class="clear"> <a href="/wzjs/641631.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/个旧云锡建设集团网站zencart网站时间问题" alt=" 个旧云锡建设集团网站zencart网站时间问题" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641631.html" rel="bookmark"> 个旧云锡建设集团网站zencart网站时间问题</a> <div class="entry-meta">2025/9/7 9:53:48</div></div> </li> <li class="clear"> <a href="/wzjs/641630.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/上海专业网站建设价格低wordpress 自定义分类 模板" alt=" 上海专业网站建设价格低wordpress 自定义分类 模板" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641630.html" rel="bookmark"> 上海专业网站建设价格低wordpress 自定义分类 模板</a> <div class="entry-meta">2025/9/7 9:53:41</div></div> </li> <li class="clear"> <a href="/wzjs/641629.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站建设可以自己弄吗知乎濮阳家电网站建设" alt=" 网站建设可以自己弄吗知乎濮阳家电网站建设" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641629.html" rel="bookmark"> 网站建设可以自己弄吗知乎濮阳家电网站建设</a> <div class="entry-meta">2025/9/7 9:53:35</div></div> </li> <li class="clear"> <a href="/wzjs/641627.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/建立网站策划书如何做企业产品推广" alt=" 建立网站策划书如何做企业产品推广" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641627.html" rel="bookmark"> 建立网站策划书如何做企业产品推广</a> <div class="entry-meta">2025/9/7 9:53:21</div></div> </li> <li class="clear"> <a href="/wzjs/641633.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/做网站怎么做建一个网站难不难" alt=" 做网站怎么做建一个网站难不难" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641633.html" rel="bookmark"> 做网站怎么做建一个网站难不难</a> <div class="entry-meta">2025/9/7 9:54:01</div></div> </li> <li class="clear"> <a href="/wzjs/641632.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/视频剪辑素材免费网站网站开发html" alt=" 视频剪辑素材免费网站网站开发html" /> </div> </a> <div class="entry-wrap"> <a href="/wzjs/641632.html" rel="bookmark"> 视频剪辑素材免费网站网站开发html</a> <div class="entry-meta">2025/9/7 9:53:55</div></div> </li> </ul> </div> <div class="leftdiv2"> </div> </aside> </div> <footer id="colophon" class="site-footer"> <div class="clear"></div> <div id="site-bottom" class="clear"> <div class="container"> <div class="menu-m_footer-container"> <ul id="footer-menu" class="footer-nav"> <li> <strong> <a href="/">dtcms介绍</a></strong> </li> <li> <strong> <a href="/">商务合作</a></strong> </li> <li> <strong> <a href="/">免责声明</a></strong> </li> </ul> </div> <div class="site-info"> <p>CopyRight © <a href="/">dtcms</a>版权所有 </p> </div> </div> </div> </footer> </div> <div id="back-top"> <a href="#top" title="返回顶部"> <svg width="38" height="38" viewbox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect width="48" height="48" fill="white" fill-opacity="0.01" /> <path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="#3d4de6" stroke="#3d4de6" stroke-width="4" stroke-linejoin="round" /> <path d="M24 33.5V15.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /> <path d="M33 24.5L24 15.5L15 24.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg> </a> </div> <script src='/templates/nzzt/js/common.js'></script> <script> $(function(){ $('.source_url').text('原文地址:'); }); </script> </body> </html>