数据压缩/非对称压缩
外观
< 数据压缩
非对称压缩的概念很简单,给定一种处理压缩的方法,以不断提高压缩比[需要引用],服务器将能够将数据压缩成更紧凑的文件结构[需要引用],同时用一系列指令替换数据,这些指令将更快地恢复数据,步骤更少。一个例子可能是一个程序,它尝试不同的顺序注入或熵注入组合,直到它找到一个允许最大压缩的组合。然后,它包含一个指示符,使解压缩系统能够找到所使用的确切顺序/熵注入,以便在完成新的压缩步骤后反转这些效果,作为解压缩算法的一部分。 [1]
这个概念对服务器行业很有吸引力,但到目前为止,还没有这样的算法变得实用。
当数据压缩算法生成压缩文件所需的时间与解压缩该文件所需的时间大致相同时,我们称该算法为“对称”。
当数据压缩算法生成压缩文件所需的时间比解压缩文件所需的时间长得多时,我们称该算法为“非对称”。
(是否有任何情况表明数据压缩算法生成压缩文件所需的时间比解压缩文件所需的时间短得多?)
所有视频压缩算法都使用非对称压缩。
特别是,运动补偿以需要在压缩方面花费大量时间而闻名。为了获得最佳压缩效果,压缩期间的运动补偿子程序必须将当前帧中的每个 16x16 像素块与前一帧中的每个 16x16 像素块进行比较,这需要很多次比较,并找出前一帧中的哪个块最匹配。在解压缩期间,运动补偿例程从压缩数据流中获取“最佳匹配”的坐标,并将数据从前一帧中的该位置复制到当前帧中当前 16x16 像素块中。
有许多计算机足够快,可以实时回放运动补偿的压缩视频,但不足以实时进行运动补偿和压缩视频。如果你有这样的计算机,并且你想要压缩视频,你可以:
- 升级到更快的计算机,一台足够快以实时进行具有完全运动补偿的压缩的计算机。
- 使用你的慢速计算机以比实时慢得多的“批处理模式”进行压缩(可能在晚上)。执行与快速计算机相同的操作,生成位对位的相同压缩视频文件。
- 使用你的慢速计算机,但执行较少的工作——也许将每个 16x16 像素块与前一帧中对应块周围的小区域进行比较。由于这台较慢的计算机每个帧执行的工作更少,因此它可能足够快以跟上视频的实时速度。但由于它没有对“最佳”匹配进行详尽搜索,因此它没有压缩得那么好,导致压缩后的视频文件更大。