手机建网站花钱吗vue.js网站开发用例
手机建网站花钱吗,vue.js网站开发用例,公司网站建设费计入科目,环保网站模板一、什么是变换编码#xff1f;变换编码#xff08;Transform Coding#xff09;是一种把信号从原始空间变换到另一个空间#xff0c;然后在变换域中进行压缩的方法。核心思想太聪明了#xff1a;就像用筛子筛面粉#xff0c;重要的颗粒#xff08;低频#xff09;留下…一、什么是变换编码变换编码Transform Coding是一种把信号从原始空间变换到另一个空间然后在变换域中进行压缩的方法。核心思想太聪明了就像用筛子筛面粉重要的颗粒低频留下不重要的细末高频去掉举个直观例子原始信号像一团乱麻很难直接压缩变换后能量集中在少数地方其他地方接近0然后保留大的扔掉小的二、为什么要做变换原始数据的问题假设一段音频平稳的声音突然有个小杂音时域上看整体变化不大但有个小毛刺很难压缩因为毛刺破坏了规律性变换后的好处变换到频域后主要能量集中在低频代表平稳声音杂音变成高频小系数扔掉小系数几乎不影响听觉这就是变换编码的魔法能量集中三、常见的变换方法1. DCT离散余弦变换—— 最常用工作原理用不同频率的余弦波来分解信号原始信号 直流分量 低频分量 中频分量 高频分量 ↓ ↓ ↓ ↓ 最重要 很重要 有点重要 不太重要特点能量集中能力极强计算相对简单JPEG、H.264都在用2. DWT离散小波变换工作原理同时分析频率和时间信息原始信号 → [低通滤波] → 近似系数低频信息 → [高通滤波] → 细节系数高频信息 ↓ 可以继续分解特点多分辨率分析抗块效应JPEG2000使用3. KLT卡洛南-洛伊变换—— 理论最优工作原理根据数据特性自适应变换特点理论上能量最集中计算太复杂主要用于理论分析四、变换编码的完整流程以JPEG为例第1步分块把图像分成8×8的小块[像素块 8×8] [像素块 8×8] [像素块 8×8]第2步变换DCT每个8×8块做DCT得到64个系数左上角直流低频数值大 右下角高频数值接近0 数值分布 [100 80 60 40 20 10 5 2] [80 60 40 20 10 5 2 1] [60 40 20 10 5 2 1 0] ...越往右下越小第3步量化关键步骤用量化表去除不重要的高频信息量化前 [100 80 60 40 20 10 5 2] 量化表 [16 11 10 16 24 40 51 61] 量化后 [6 7 6 2 0 0 0 0]第4步编码用Zig-zag扫描把二维变一维游程编码处理连续的0霍夫曼编码进一步压缩五、生活中的例子例子1JPEG照片你的手机拍的照片原始1920×1080×3字节 ≈ 6MB压缩后2MB压缩率66%肉眼看几乎没差别秘诀DCT变换 量化例子2MP3音乐原始CD音质1411kbpsMP3128kbps压缩率90%秘诀变换到频域去掉人耳不敏感的频率例子3视频通话原始视频几十Mbps压缩后1-2Mbps还能看清人脸秘诀帧内DCT 帧间预测六、量化的艺术量化是变换编码唯一造成失真的步骤也是压缩率的关键量化表的设计低频区域人眼敏感量化步长小保留细节 系数100 80 60 量化÷16 → 6 5 4 高频区域人不敏感量化步长大大量舍去 系数5 2 1 量化÷51 → 0 0 0量化参数QPQP小保留更多细节高质量QP大舍弃更多高压缩率视频编码中可以动态调整七、变换编码的优缺点优点✅能量集中把信息浓缩到少量系数✅符合感知可以针对人类感知特性设计✅压缩率高比单纯统计编码高得多✅可扩展可以渐进传输先传大概再传细节缺点❌有失真量化过程不可逆❌计算量大特别是大尺寸图像❌块效应分块处理可能导致块边界不连续❌不适合所有数据对噪声敏感八、应用中的技巧1. Zig-zag扫描把二维系数转成一维把零集中在一起原矩阵 扫描顺序 [1 2 6] 1→2→6→7→5→3→4→8→9 [3 5 7] → ↙↘↙↘↙↘ [4 8 9] zig-zag路径2. 自适应量化根据不同区域调整量化强度平坦区域量化狠一点看不出纹理区域量化轻一点保留细节边缘区域特别保护防止锯齿3. 率失真优化在码率和质量之间找平衡给更多比特给重要系数给更少比特给不重要系数九、Mermaid总结框图十、JPEG 8×8 DCT示例假设一个8×8像素块所有像素值128均匀灰色变换前 [128 128 128 ...] 全部一样时域冗余大 DCT变换后 [1024 0 0 0 ...] 只有一个直流系数非零 [ 0 0 0 0 ...] 其他交流系数全0 [ 0 0 0 0 ...] ... 压缩结果只需存一个数十一、核心启示换个角度看世界时域难压缩频域好压缩能量集中是关键把信息浓缩到少数系数量化是双刃剑产生失真但带来高压缩率感知模型很重要扔掉人看不见/听不见的信息组合拳威力大变换量化熵编码强大压缩打个比方原始数据像一锅乱炖的汤各种材料混在一起变换用筛子把汤过滤固体重要信息留在筛子上液体不重要信息流下去量化固体里再分肉块最重要留着葱姜次要可以少要点熵编码最后把留下的材料打包变换编码就是这样一个换个角度看问题然后有选择地舍弃的聪明方法