XVID技术

来源:互联网 发布:python去除换行符 编辑:程序博客网 时间:2024/03/29 21:03

多种编码模式:

 除了最原始单重估定码流压缩 (1-pass CBR) 之外, XviD 提供了包括 : 单重质量模式动态码流压缩、单重量化 (Quantization) 模式动态码流压缩、和包括外部控制和内部控制的两种双重 (2-pass) 动态码流压缩模式。XviD 显然是目前 PC 上的 MPEG4 编码核心中, 可选模式最多的视频编码。

 其中特别是双重 (2-pass) 动态码流压缩模式, 通过检测画面运动幅度以最优化的方式曲线分配画面量化幅度, 使充满活性元素的视频影片可以在占用空间和画面质量之间获得最佳的平衡。而单重量化 (Quantization) 模式动态码流压缩, 可以高速地一次性生成可控画面细节的动态码流视频档案, 在较少的压缩时间代价之下, 可以获得较稳定的画面细节质量, 这都是单纯的 DivX 3.11 所不具有的优秀功能。

量化 (Quantization) 方式和范围控制

 量化 (Quantization) , 简单的说就是在编码时通过对时间或空间上相邻的画面单元进行同化、模糊细节的程度, 是对画面质量最基本的控制因素。XviD 不仅提供了标准的 MPEG 量化方式, 还特地提供了更适合低码流压缩的 .h263 量化方式。并且 XviD 还可以在双重 (2-pass) 运算时, 根据对画面信息的综合分析, 动态的决定某段场景的画面量化方式, 真可以说是为网络媒体档案传播中, 空间与画质的平衡而考虑, 设计贴心得到家了。

 除了量化方式选择, XviD 还提供了强大的对压缩过程中的量化幅度的范围控制。用户可以选定压缩时允许使用的量化幅度范围。例如设定一个量化的上限, 就可以避免可能出线的画质大幅下降的情况。

运动侦测 (Motion Search) 和曲线平衡分配 (Curve)

 对画面逐帧进行运动侦测, 以及对全片段的运动侦测结果进行分析后, 重新以曲线平衡分配每一帧的量化幅度, 以做到 : 需要高码流的运动画面可以分配更多空间、更高的码流、更低的量化幅度来保持画面的细节; 而对于不包含太多运动信息的静态画面, 则消减分配预算。这种把好钢用在刀刃上的做法, XviD 做为第二代 MPEG4 编码的核心内容。

 XviD提供了多极运动侦测精度, 包括半像素插值 (half pixel interpolation) 的技术以 16x16 像素的微区块为单元标示上运动向量; 以及 4 分运动向量 (inter4v motion vectors) 的方式, 8x8 的像素区块为单元更细致的纪录运动向量以供二重分析。

动态关键帧距 (I-frame interval)

 动态关键帧距是另一个 XviD 所具有的, 在空间和画面之间获得最大平衡的技术。我们知道在视频压缩中不是每一帧都记录着全部的画面信息, 事实上只有关键帧记录着完整的画面信息, 而后续的 P (P-Frame) 仅仅是纪录下与之前一帧的差值。如果关键帧之间的画面变化很大, 则会浪费宝贵的空间在 P-Frame ; 而加入把变化很大的那一帧记录在关键帧里, 那么由于后续的帧不再有更大的变化, 就可以节省 P 帧所需的空间。因此, 根据画面镜头切换和运动幅度来变换关键帧的位置, 对于视频压缩下的画面质量提高, 就有着事半功倍的效果。

心理视觉亮度修正

 除了基本的 MPEG4 编码外, XviD 还提供了不少附加功能。其中典型的就是心理视觉亮度修正。这个功能可能通过去除肉眼不能分辨的亮度信号和亮度差异, 来提高压缩效率。遗憾的尽管这个设计非常的有创意, 但是目前的实际应用中却会导致肉眼可见的画面质量下降, 还期待在日后的版本中可以有所改进。

演职员表选项

 另外一个贴心的设计是电影专用的"演职员表选项"。这个功能可以在用户指定的某些不必要保留细节的段落处 (例如电影的演职员表) , 设定下极低的码流。甚至压缩到正片码流的10%以下, 可以节省不少空间, 设计的也非常的贴心。

外部自定义控制

 除了 XivD 自己的内部曲线分配控制方式外, XviD 也提供了外部的开放接口。允许使用者略过 XviD 本身的编码分析核心, 利用第三方提供的外部分析工具, 例如 Gordian Knot, 生成的分配好的控制档案, 再交还 XviD 做最终的二重运算压缩。这种方式扩展了 XviD 的可用性和用户控制程度, 因为像 Gordian Knot 这种软件甚至可以做到由用户控制每一帧的量化幅度和码流分配额度, 可以为高级应用提供更多的可能性。

运动向量加速 (Hinted Me) 编码

 XviD 还有专为提高编码效率而开发的设计, 就是纪录下画面的运动向量信息至一个 Log 档案中。再在二重运算压缩时通过直接读取该档案中的信息, 节省下对运动向量信息的重复运算, 大幅提高编码速度。

画面优化译码

 不仅在编码上 XivD 拥有强大的功能, 在译码时的画面优化方面, XviD 也有很多新的建树。例如 "Horizontal deblock (Y)" 可以柔化水平方向的亮度马赛克; "Horizontal deblock (C)" 可以柔化水平相的色度马赛克; "Deringing(Y)" 可以柔化环状亮度色斑; "Deinging (C)" 可以柔化环状色度色斑; "mosquito" 可以减少画面中的蚊状噪斑。并且, 这些 XviD 的画面优化手段都是可选的, 因此只要关闭几个不是那么必要的选项, 就可以在低配置的PC机上播放。

正在开发的 B 影格

 另一个 XviD 中引人注目的技术发展, 就是 B 影格。我们知道 I 影格就是关键影格, P 影格在关键影格之间, 只储存与之前一幅已解压画面的差值。B 影格与 P 影格的原理一样, 但除了三者之前解压了的画面外, 亦会参考后面一影格中的画面信息。因此 B 影格解压出来的画面比P影格就要来的好。

 之前的 MPEG4 编码核心都仅仅使用了 I 影格和 P 影格存储画面。如果能在此基础上使用 B 影格技术, 自然可以在画质和压缩比上更上一层楼。目前 XviD 已经为开发人员提供了测试性质 B 影格体验版的 XviD 编码核心, 相信不久的将来, XviD 就可以把 MPEG4 编码的优势发挥到极致, 成为网上视频记录格式的盟主。

原创粉丝点击