SOS动漫社团 -> 泷沉琉璃MAD视频工坊 -> [转贴] XviD配置参考详解【爆详细】 登录 -> 注册 -> 回复主题 -> 发表主题

系统杀手 2006-10-27 20:55
转自:http://www.dgwxx.net:81/nds/index.php?a81afWHZpRF9tYW51YWw%3D


XviD的主界面
[Top]
图片需登录后查看

Profile @ Level
[Top]
这个选项包含一些预设值,与分辨率和码率有关,按旁边的“more...”按钮再切换到Level标签可以看到预设的数值。因为我们制作的视频并不在其它视频播放设备(比如具备MPEG4解码能力的DVD播放机)中播放,无须考虑设备兼容性,所以这个选项一般可选“不限制”(unrestricted)或者默认的“AS @ L5”。
Zones
[Top]
XviD1.0以前的版本都有一个参数叫Credit,Zones继承并加强了以前的Credit功能,使之可以控制片中任意一段视频。大家知道,电影、动画片尾(或片头)都有制作人员名单 (即Credit,下同) ,而且一般没人会看。而老版XviD中Credit选项的作用就是,允许用户使用较低的质量制作Credit部分,让出更多的码率分配给正文部分,以提高正文部分的质量。而在最新的XviD1.0中,这个Credit选项却消失了,取而代之的是一个新的参数——Zones。在这里,我们可以把Zones理解成“区间”、或者说“片断”。也就是说,我们可以在逻辑上将片子分成许多段,并给这些段落一些“特殊待遇”。
Zones的使用例子
[Top]
图片需登录后查看

上图例子中,0~40640帧是正片,按照正常压缩,所以需要设定W1.00。从40641帧开始是长长的黑白滚动字幕的制作人员名单,因为滚动字幕是非常浪费码率的,所以这里我们设定使用Q8来压缩制作人员名单。Zones界面如上图,本部分参数设置仅为例子,具体设置在下面说明。
Zones的设置
图片需登录后查看

Start frame#——该区间的起始帧,用于指定该区间的范围。该区间的范围定义于起始帧开始至下一区间起始帧的前一帧。若没有定义下一区间,则该区间一直定义至影片结束。
Weight——权重。设置该区间的实际应用码率与原码率的比。比如,如果只想使用原码率的85%编码该区间,那么这里可以填写0.85。如果想使用100%码率(即原码率),填写1.00即可。什么是“原码率”呢?即XviD认为应该使用的码率。如果定义了权重,那么XviD在实际压缩的时候,就会将原码率乘以用户指定的权重,作为该处实际的码率。
Quantizer——设置该区间帧的Q值。可以强迫编码器将这段区间使用某一Q值编码(本选项通常用于Credit部分的编码)。
Begin with keyframe——本区间的第一帧强迫使用IF。一般选择此选项。
Greyscale encoding——使用灰度。编码出的画面是黑白的,适合于黑白画面(比如片尾的黑白Credit),可更加降低本区间的码率。
Chroma optimizer enabled——色度优化,可以改善颜色过渡不自然现象。该选项对画面颜色有优化作用,推荐选择。勾选此项会稍微降低编码速度,所以可以选择仅对Weight设置成1的电影正文部分应用此设置。由于Chroma optimizer是在色度上做文章,所以开启了Greyscale encoding的时候可以考虑关掉 Chroma optimizer,可以在一定程度上提高一些编码速度。
Cartoon Mode——卡通模式。这个模式可以让画面显得更干净一些,但这就意味着要抹杀细节。制作动画的时候可以使用。(下面会有一个小结专门讲解Cartoon Mode)
BVOP sensitivity——BF灵敏度。值越大,使用BF的数量越多。如果设定负值,则会减少BF用量。制作CREDIT段落的时候本参数可以适当设置大一点,用更多的高压缩率BF去压Credits,参数可以考虑20或40。
注意:如果要在Credit使用Quantizer模式的话,要在Twopass-1st pass中也使用相同的设置才有效。而若要用Weight模式则只需在Twopass-2nd pass中设定既可(从某种意义上讲,这样可令Weight模式下的Two-pass-1st pass稍微快一点)。
Zones应用于CREDIT的参数设置建议: 演职员名单的Q值可限定为8或者9,这样既可以保证名单上的文字能够分辨出来,也可以大幅降低Credit这部分的视频文件体积。有时,10分钟左右的Credits压出来也只有6、7MB,这对某些拥有5、6分钟以上较长Credit的1CD DVDRip影片制作来说,帮助是较为明显的。
Zones使用上的心得
[Top]
除非出现极端的现象,否则不建议针对正片(即影片中除广告、制作人员名单之外的正文部分)使用Zones。有些用户喜欢自作聪明地指定许多Zones人为地干预码率控制。实践证明,这种行为是非常不明智的,这样会严重干扰XviD对于码率的控制和计算,只会导致容量失控(Oversize或Lowsize)或画质下降。XviD的码率控制几乎是所有编码器中做得最好的,所以不要担心,把一切交给XviD去做吧。
考虑到观众
[Top]
现在不少影片的制作人员名单采用了带有画面的渐变或滚动字幕,画面通常为一些拍摄花絮或影片插图、设定。考虑到观众的观赏需要,这类名单不适合使用Zones来降低码率。所以,压缩的时候应当时刻考虑到观众的心情。
Cartoon Mode
[Top]
(本部分作者:Bopirit,收录时略有修改)
XviD有个动态判断标准值,指判别画面是否有动态的标准。若高于这个值,则判断画面为动,编码时记载动态信息;若低于这个值则判断为画面不动,不记载动态信息。这个通常很低,就是说,很小一点差别都会判断为动态。
打开Cartoon模式后,这个标志的值会加大,相应的,小的动态变化会忽略。对动画来说,最直接的效果就是消除了浮动的细微噪点(特别是在色块和线条之间,这种噪点即使降噪也会出现)。因为用了Cartoon模式,这些噪点造成的小度变化被忽略掉,因此会省出大量码率。在的实验中,多在8%以上。但是,因为画面的变动相对较大,PSNR会降低(虽然对动画来说这算不得降低),而且对于使用H.263量化的动画,还会让画面感觉更加模糊;而对于MPEG量化,这个Cartoon模式可以有效降低MPEG量化编码动画片的副作用,尽管PSNR降低,但实际上画面看起来更好。可以配合MPEG/MPEG Custom量化方式使用。
Q值
[Top]
Q值是指量化值(依据作者个人习惯不同,这个值在不同文章中的叫法有所不同,比如“量化值”、“量化级别”、“Quant”等等,本文统一称作“Q值”)。顾名思义,Q值用来描述一个帧的质量,每个帧都有Q值。该值取值范围是1~31。该值由编码器编码的时候根据该帧的颜色、与跟前/后帧的动态关系等自动确定。Q值越小,质量越好,码率越大;Q值越大,质量越差,码率越小。(本概念在XVID制作中非常重要,Q值直接关系到影片的画面质量。)
Encoding mode
[Top]
图片需登录后查看

Encoding mode即编码模式。XviD一共提供两种编码模式。一种是Single pass,另一种是Twopass。Twopass分两步,分别是1st pass,和2nd pass。下面对这两种编码模式分别进行讲解。
Single pass
[Top]
Single pass即一次运算,Single pass有两种模式(通过Target xxx按钮切换)Target quantizer(目标Q值)和Target bitrate(目标码率)。Single pass模式编码较简单,速度也很快,但是最终质量不如Twopass模式好。可用于实时采集。
Target bitrate(CBR)——目标码率模式,单位kbps。最简单的单线编码,选择平均码率后编码。文件大小相对容易控制。
Target quantizer(VBR)——目标Q值模式,动态码率。
Two pass
[Top]
Two pass即二重运算。这种编码模式分为两步,首先对画面逐帧进行运动侦测,以及对全片段的运动侦测结果进行分析,然后重新以曲线平衡分配每一帧的Q值,以做到:需要高码率的运动画面可以分配更多空间、更高的码率、更低的Q值来保证画面质量;而对于不包含太多运动信息的静态画面,则可以消减分配的码率。这种把好钢用在刀刃上的做法,是XviD作为第二代MPEG4编码的核心内容。可以说,Twopass模式可以在影片容量与画面质量之间找到最佳平衡点,这也是大多数人都乐意花费更多时间采用这种方式的原因。
Twopass-1st pass——二重运算,第一次运算。这是Twopass模式的第一步。在这一步中,编码器会用最高质量编码(量化值2),同时收集画面信息,并将这些信息记录信息文件(stats)当中提供第二次运算的时候参考。
Twopass-2nd pass——二重运算,第二次运算。这是Twopass模式的第二步,编码器会根据第一次压缩时获得的影片的信息和用户指定的最终文件大小,自动分配码率,低动态的分配得少一些、大动态的分配得多一些,总之尽量保证最终文件大小为用户指定的大小。
注1:不要在第一重和第二重运算之间更改XviD设置(某些特殊项除外)、改变AVS脚本(如果用到AVS)或加入、删除滤镜,这些都将会造成不正确的结果。
注2:计算2pass容量的时候,应使用1K=1024Bytes的换算方法。且计算结果不包含音频大小。
Twopass-1st pass面板
[Top]
图片需登录后查看

Full Quality first pass——全质量第一次运算。在 Twopass - 1st pass 时以你当前的设置进行编码,通常是没必要的。会降低1st pass编码速度。
Discard first pass——不输出第一次运算结果。一般都会打开这项,否则你可能会得到一个容量高达几个G的无用的AVI文件。
2nd pass
[Top]
图片需登录后查看

这个对话框只有在2PASS的时候才可用,其的设置比较复杂,建议保留默认设置。
I-frame boost——额外分配给IF的码率。如果IF的Q值较小(如1或2),此项可以设置为0。
I-frames closer than... (frames) X ...are reduced by (%) Y(X和Y代表所设定的参数)——意思是,若两个IF的距离小于X(通常是连续的闪电效果或者连续大动态动作场面会出现这种情况),则靠后的IF码率减小Y%。如果IF的Q值较小,Y可以稍微设置大一些(可增加5%~8%)。
Overlflow treatment——码率补偿与缩减。Max overflow improvement和Max overflow degradation控制当编码器遇到不足码率或者码率过大的场景时进行修正补偿的阀值,即超码或不足码到达什么程度,编码器会进行修正。值越大,修正速度越快(即需要修正的帧较少,整体编码速度就加快),但是这可能会造成无法为别的更需要码率帧保留码率。如果Q值波动较大,可以将这个值减小到20~30,这样可能会使预测的文件大小受到影响。除非遇到特殊情况,本功能不建议使用!
Overflow control strength %——控制每个需要补偿的码率过大/不足的帧被补偿多少。除非遇到特殊情况,本功能不建议使用。
Curve compression——曲线压缩。曲线压缩的作用就是将码率较高的帧的码率拉下来,将码率较小的帧的码率提上去,让码率曲线平缓一些。此选项不建议使用,也就是保持默认设置“0”。由于现阶段XviD的动态分配(即曲线压缩)做得不是很好,所以直接采用了一种linear scale(即线性压缩)把1pass的码率曲线直接往下调。除遇到特殊情况外,不建议使用曲线压缩功能。
若想了解更多曲线压缩以及线性压缩的细节,请参阅本文附录《曲线压缩与线性压缩》
Profile标签
[Top]
图片需登录后查看

Quantization type
[Top]
量化方式。此处支持三种量化方式。分别是H.263、MPEG、MPEG Custom。应根据影片的特性确定该选项。要了解这三种量化方式的详细信息,请参见附录《三种量化方式解说》。
Adaptive Quantization
[Top]
其实这个选项就是XVID 1.0之前版本中的Lumi masking。加大图像亮/暗部等人眼不容易注意到的部分的压缩率,可能会产生画面扭曲。本选相应当谨慎使用,因为它看起来弊大于利。所以如果不是对缩小文件体积缩小有迫切的需求,最好不要使用。
Interlaced Encoding
[Top]
隔行处理。适用于有交错的片源。一般来说不需要开启。
Top Field First
[Top]
决定场序。如果选中,则为顶场(奇数场)先,否则为底场(偶数场)先。
Quarter Pixel
[Top]
1/4像素(简称QP,下同)。MPEG-4 用的 QPel 即 1/4 Pel,就是再补出1/2像素像素和1/2像素之间的1/4像素。能保留更多的细节(比不用QP多)和得到更精确的动态补偿,适合高2-PASS/1-PASS比值时采用。但会降低损失近1/3的编码速度。
通常情况下,2-PASS/1-PASS比值在50%以下,不推荐使用。800K以下的低码率使用时,部分场景的画面会产生严重的色彩飘逸现象,看上去像粘稠的液体流动(干净、低动态片源除外)。视频码率越高,使用加QP后的效果越好,而且中低码率下去色块的作用也非常明显。
Global Motion Compensation
[Top]
全域动态补偿(简称GMC,下同)。能在缩放(把镜头拉近)以及旋转(转动相机)的情形下有所帮助,尤其是画面中的物体的外型是固定的,仅在尺寸以及位置上有所不同时。若要处理的影片是自然景观或风景片时,可以开启GMC。使用该选项制作的影片可能只有XviD自己的解码器才能正常解码,若使用ffdshow等解码器解码可能存在兼容性问题,用前请考虑。
B-VOPs
[Top]
B-frame
[Top]
B-frame设定。若去掉该选项前面的对勾,则编码中不使用B-Frame(简称BF,下同),只用IF、PF来压。
Max consecutive BVOPs——最大连续BF数量。举个例子,设置2,就是说在两个PF之间(或IF/PF之间)最多会连续插入两个BF,即…IF/PF BF BF PF…;如果设置3,则最多会出现三个连续BF,即…IF/PF BF BF BF PF…。此处,应根据片源具体情况来设定,如果片源动态比较小,则可以适当开大一些,比如3、4;如果码率很充足或片源很复杂,包含大量大动态场景、运动不规则、场景切换频繁等等,则应减少BF用量,甚至不用BF。
请注意:多少个BF连续出现,没有数量限制(你可以设置成1,也可以设置成1000)。具体用多少XVID自行判断,这个地方只设定最大值。
Quantizer ratio——BF的Q值倍数。计算BF的Q值的参数。
Quantizer offset——Q值计算偏移值。计算BF的Q值的参数。(BF的Q值计算方式下面解释)
Packed bitstream——开启BF的XviD制作的avi,在播放时会延迟一帧(就是以前播放时画面第一帧的那个黑色画面,告诉你该视频使用了BF,如下图)(制作成ogm、mkv、mp4则不会)。而Packed bitstream选项的作用是解决这个问题。不过开启2个以上的连续BF并用到了Packed bitstream的时候,只有XviD的解码器可以正常解码。而用老版本的DivX/ffdshow解码,水平移动的画面会不顺畅(画面朝移动方向抖动)(ffdshow-20040225以后的版本解决了这一个问题)。
图片需登录后查看

Closed GOV——在编码新的IF之前插入一个PF来关闭前一个帧组,否则解码时有可能出现问题。此选项要勾选。
BF的Q值的计算:BF的Q值由BF前后的IF/PF共同决定。
代码:
BF的Q值=BF前后的IF(或PF)的Q值的算术平均数* Quantizer ratio+ Quantizer offsetBF是一个能有效提高压缩率的功能,是否降低画质,那要看如何设置了。有的设置压出来的部分BF,Q值比PF还低。用最恰当的BF设置来调节码率,提高整体质量,是非常有效的,设置地恰当的话,会令全片的Q值分布相当平均,可使DRF测试中的第二项——Standard Deviation 轻易达到“Quality is HIGH [Std. Deviation is 0.50]”,即动、静态场景的画质一致,不会“静态尚可而动态MSK惊人”。而且在用VHQ4压片时还能省去不少时间,因为BF不像I、PF那样要作VHQ4处理。通常情况下,全片BF含量在30%—55%左右,画面效果与只用I、PF+VHQ4跑出来的画质无显著差别。即省时又保证质量,所以一般应当使用BF。
随着XviD的Frame Type的不断进步(从0624版开始FrameType判断较以前版本已经有了相当大的提高),大动态场景BF滥用现象已经得到了较好的抑制(经过实测,在码率充足的情况下,大动态场景基本用IF PF PF PF PF… 来压了),所以BF可以放心使用。
有些朋友对本部分设置可能还不是很清楚,的确,BF的设置是XviD中最难掌握的部分,参数需要精心搭配。
针对一些情况,本文给出了参考参数设置,请见附录-BF推荐设置。
Motion标签
[Top]
图片需登录后查看

Motion search precision——运动检测精度,决定着给定码率下的画面质量。等级越高,画质越好,速度越慢。一般选6而不选5,因为选5只快10%。
设置
1 – 3: 基本没有什么区别。
4-high:XVID使用半像素插值(half pixel interpolation=HPel=1/2像素)的技术达到更好的结果,而整个16x16的微区块被标示上两帧之间的运动向量(译者按:ffdshow有显示这个向量的功能,很有趣)
5-very high:XviD 使用4分运动向量(inter4v motion vectors)的方式,即16x16的微区块中的4个8x8区块,被标示各自的运动向量。
6-ultra high:运行更多边的运动检测(会减慢10%的编码速度)。
VHQ mode——搜寻宽度。等级越高,画质越好,速度越慢。这个选项会很大幅度的降低编码速度,若机器够快,可选4。想了解更多VHQ的功能,请参阅本文附录《VHQ模式》。
Use VHQ bframes too——在BF上应用VHQ。在原先版本的XviD中,VHQ Mode是不被应用在BF中的。但是从XviD1.1版本开始,只靠选中本选项,就可以在BF中应用VHQ Mode了!
Use chroma motion——通过颜色信息来判断动态。会降低编码速度5%~10%,但是有利于画面,推荐选择。
Turbo——超级模式。更快的判断BF和QP的动态。
Frame drop ratio——丢帧率,这个参数保持默认值0,并且不要改变。
Maxinum I-frame interval——最大IF帧距。该参数一般为帧率的10倍。比如,一般DVDRIP的帧率为23.976fps,则该处就填写240。有人喜欢认为将这个值调小,以增加IF的数量,达到提高画质的目的。此项可根据片子情况适当减小。但是在200以上为宜,如果太小会适得其反——文件OVERSIZE、IF占用大量码率导致BF/PF质量过低,反而不利于画质。
Quantization标签
[Top]
图片需登录后查看

Quantization标签中的设定非常重要,直接关系到片子的质量。
Min I-frame quantizer——IF的Q值最低值。
Max I-frame quantizer——IF的Q值最高值。
Min P-frame quantizer——PF的Q值最低值。
Max P-frame quantizer——PF的Q值最高值。
Min B-frame quantizer——BF的Q值最低值。
Max B-frame quantizer——BF的Q值最高值。
Trellis quantization——进阶高质量量化模式。若选择该选项,编码器会选择性的降低某些画面的质量,来达到最大限度的提高片子的整体质量。可配合H.263量化方式使用。
各种类型帧的Q值设定需要注意以下原则
设置时应尽量保证IF质量,因为BF和PF的质量都由IF决定。
由于XVID对于BF质量的把握越来越好,比较黑暗的场面出现烂帧的几率也有所减少,所以BF的Q值上限可以放心的设大一些。
有些朋友提出,不要限制Q值范围,也就是全部都保留1/31的默认值,让XviD自行掌握Q值分配。笔者认为这么讲不无道理,但要看什么情况。在一些情况下,XviD自身的Q值分配算法是不能适应某些影片的(比如通篇画面都很昏暗的影片等等),这个时候,就需要我们手工来限制Q值范围。也就是说,是否限制Q值、限制多少,并没有一个确定的答案,而应当由片子本身的特性。有经验的RIPPER可以迅速的根据影片画面判断应该如何配置,也就是所谓的“经验”。所以,Q值的设定应由影片本身和制作要求灵活应变,不应一味追求所谓“理想值”。笔者认为,这点是应当特别注意的。
综合设置
[Top]
请注意,从xvid1.2开始,Debug功能被安排在了XviD Configuration项目中,按Xvid主窗口下方的Other options按钮即可进入。
Encoder
[Top]
图片需登录后查看

FourCC used——FourCC 用以确定你编码好的电影用什么样的解码器来播放,默认值为"XviD",这意味着将使用"XviD directshow filters",保证了最大的质量和兼容性。你也可以选择使用"DivX 4.x"或"5.x"的解码器来回放你完成的电影,但是它们不一定就能正常播放。
Number of threads——线程数。XviD针对现在逐渐流行起来的支持HT技术或双内核处理器做出了一些优化。若您的处理器支持HT技术或有双内核,请设置为2,否则请保持默认。
Print Debug info on each frame——在每帧上打印debug信息,非专业人员不要选:)
Display encoding status——显示编码状态,就是我们在压制的时候看到的XviD Status窗口。如下图:
图片需登录后查看

Common
[Top]
图片需登录后查看

Performance optimizztions——性能优化。可以选择特定的CPU指令集优化。可以对编码速度的提高起到一定作用。建议选择自动选择指令集优化。
附录
[Top]
如何知道1pass容量
[Top]
获取1pass容量其实很简单。当大家开始用XviD压制1st-pass的时候,XviD会跳出来一个状态窗口,这个窗口会实时显示压制过程中各种各样的信息。当1pass压制完成的时候,这个窗口会显示1pass的最终结果。如下图:
图片需登录后查看

右边红框部分所示的容量即为1pass容量。用计算出来的2pass容量除以这个值,就能计算出来2pass/1pass比值了。
BF参考设置
[Top]
2-PASS/1-PASS比值在70%以上
[Top]
由于容量相对宽松,故限制了IPB的Q值范围。
Max consecutive BVOPs --------- 2
Quantizer ratio --------------------- 1.20
Quantizer offset -------------------- 0.60
Quantization设置:2、2、2、3、2、4
2-PASS/1-PASS比值在60%--70%之间
[Top]
Max consecutive BVOPs --------- 3
Quantizer ratio --------------------- 1.30
Quantizer offset -------------------- 0.80
Quantization设置:2、2、2、4、2、5
2-PASS/1-PASS比值在50%--60%之间
[Top]
通过降低分辨率和/或使用降噪滤镜降低压缩难度,变相提升2-PASS/1-PASS比值。
Max consecutive BVOPs --------- 4
Quantizer ratio --------------------- 1.40
Quantizer offset -------------------- 0.80
Quantization设置:2、3、2、3、2、31
2-PASS/1-PASS比值在50%以下
[Top]
通过降低分辨率和/或使用降噪滤镜降低压缩难度,变相提升2-PASS/1-PASS比值。如果降低分辨率(直到你已不能接受的水平)和/或使用降噪滤镜(画面模糊到你已不能接受的水平)时,仍然不能将2-PASS/1-PASS比值提升到至少55%的水平,则考虑提高视频文件体积,或者换用其它编码器来完成压缩工作(如VP6、RV10)。
这种方法可以保证制作出来的所有视频文件的Average DRF/quantizer控制在2.5-3.5之间(I、PF的Q值为2或3),Std. Deviation控制在0.40-0.60之间。也就是说没有明显的压缩瑕疵,如MSK、噪点等(其它需要配合的设置还包括:VHQ4、hvs系列量化模式)。
基本概念解释
[Top]
本文用到了一些MPEG4中的基本概念,这些概念在本文中会经常提及。所以这里特意为新手准备了概念解释,希望新手朋友在阅读之前掌握这些概念。没有收录进来的一些针对性较强的概念已经在正文中进行重点的解释。
三种帧类型
[Top]
IF——I-frame的缩写,即关键帧。关键帧是构成一个帧组(GOP,Group of Picture)的第一个帧。IF保留了一个场景的所有信息。
PF——P-frame的缩写,即未来单项预测帧,只储存与之前一个已解压画面的差值。
BF——B-frame的缩写,即双向预测帧,除了参考之前解压过了的画面外,亦会参考后面一帧中的画面信息。
量化方式
[Top]
H.263——推荐700~900K的码率(比如1CD制作)时使用。保留画面细节不及MPEG量化方式好,但可以达到较好的画面降噪效果,可以让画面看起来更干净一些。推荐压制动画使用本量化方式。H.263 的量化方法,顾名思义,就是使用 H.263 这个压缩规格所使用的量化方法,量化的时候,8x8 的像素方块内的所有 DCT 系数,全部除以同一个数字。(这个动作就叫做量化)例如全部都除以 32,如果有一个 DCT 系数为 15,小于 32,经过相除之后,会被量化为 0,如此便可以省下很多记录的 bits。当然,除的数字越大,量化的误差也就越大,品质也就越差,但是压缩率会越高,压出来档案会越小。我们会利用另一个参数来调整量化的误差,控制最后量化的品质和档案的大小,这个参数叫做 Quantizer。量化的系数会再乘上这个 Quantizer 的倍数,例如原本要除的量化系数是 32,Quantizer 是 2,对应的放大倍数也是 2,最后真正要除的量化系数就变成 32*2=64。所以 Quantizer 越大,要除的量化系数就越大,量化误差就越大,品质就越差,但是档案也越小。H.263 的量化方法还规定,相邻的两个 MacroBlock 的Quantizer 不能相差超过 2。
MPEG——建议高码率情况下(比如2CD制作)使用,能保留较多细节,但在某些情况下可能造成噪声等副作用。若在制作动画时使用,可能引起色彩过度不自然、颜色边界处出现噪声等副作用,此时,可搭配Cartoon Mode降低这些副作用。MPEG 的量化方法,高低频系数可以除以不同的量化系数,可以视情况将高频削多一点。这个 8x8 的量化系数,也就是 Quantize Matrix(量化矩阵)。
MPEG Custom——可以加载MPEG自定义量化模板。你可以依照影片特性,自订最适当的量化矩阵。比如,压电影的时候常用的hvs-best-picture模板可以兼具MPEG和H.263量化方式的优点,即画面细节和降噪都能得到兼顾。若要采用MPEG Custom量化方式,点击Edit Matrix…按钮加载想要的量化模板即可。本选项只建议对于量化模板有较深研究的专家使用。XviD1.0安装目录下有一个XviD_Quant_Matrices.zip,里面包含了数种常用的量化模板,比如有名的HVS量化系列,在DOOM9网站或论坛上可以找到更多的量化模板。
噪声
[Top]
这里所谓“噪声”,并不是我们能够听到的实际意义上的噪声,而是指的画面上不断闪动的亮斑点或色斑点。画面出现噪声一般有以下几方面原因:1.电影:由于胶片本身的感光性能或采集过程不佳造成(老片尤其严重);2.动画:TVRIP录制时电视信号存在干扰(也就是我们常说的“雪花”);3.采用了VHS或老旧的LD片源;4.由于压制不良,导致色彩之间的边缘处有细小的色斑存在(看起来像“马赛克”)。这些噪声在画面上不停的闪烁、移动,造成惊人的码率浪费。因此需要尽量将这些噪声“过滤”掉,以节省码率,增高片子的整体质量。要想过滤噪声有许多方法,比如在AVS脚本中加入降噪滤镜等,但这不是本文讨论的重点。
Q值(即DRF值)
[Top]
在编码时,为了达到某个码率,mpeg4编解码器会对每一幅画面进行压缩。而压缩程度则取决于码率、图像内容的复杂度及动态大小。对于每一帧,一旦确定怎样去压缩以后,就会产生DRF值。DRF值为2的时候,效果最佳(在XVID中,quantizer还可能达到1)。DRF值等于31时,效果最差。8以上的DRF值,可被认为效果很差。DRF/quantizer实际上代表了编码器在降低帧大小时所丢弃的信息量。
Bits/(Pixel*frame)
[Top]
数据密度。码率并不是视频/音频质量的唯一指标,一个更重要的指标是Bits/(Pixel*frame) (数据密度),它反映了平均记录每象素所用的数据量。如果Bits/(Pixel*frame)比较低,那么DVDrip的视频流中I帧间的预测帧(P帧/B帧)的误差会比较大,视频质量会下降,(MSK等…)。制作DVDRIP的软件(例如GK)都要计算/给出这个Bits/(Pixel*frame)值。一般认为,较好的视频质量需要Bits/(Pixel*frame)>0.2(如左图)。
Video Size/1st Pass Size
[Top]
除了码率和Bits/(Pixel*frame)之外,Video Size/1st Pass Size 也是一个质量指标。DVDRIP压制时,码率的分配不是线性的,变化的(动作)场景的码率将会高,而静态场景的码率低。Twopass-1st pass就是用于确定码率分配。而后,根据设定的最终文件大小,将算出的码率分配曲线等比例压缩,得到最终Twopass-2nd pass的码率曲线。Video Size/1st Pass Size反映的就是这个压缩比。一般认为,较好的视频质量需要Video Size/1st Pass Size >55%。
曲线压缩与线性压缩
[Top]
(作者:Silky,收录时略有改动)
「曲线压缩」的意思就是将码率较大的帧拉下来,降低一点码率,码率较小的帧补上去,提高一点码率。也就是将原本上下震荡的码率曲线变平一点,最大和最小的差距不要那么大。压得越平,码率曲线就越接近一条固定的直线,也就是变成近似于CBR。不过这样实在很没有意义不是吗?本来码率高的帧,就是因为这个帧需要较多的码率纪录,你现在把它拉下来,画质岂不更惨?而码率低的帧,就是不需要花那么多码率记录的帧,你又给它多补一些码率,岂不浪费?
根据 Koepi 的说法,当码率极低的时候,很多帧的码率都不够。此时如果把少数几个码率很高的帧拉低一点,把省下来的码率分给其它帧,立刻会对这些游走在底线边缘的帧的画质有很大的帮助。曲线压缩的目的便是牺牲少数几个帧,让大部分的帧增进画质。而,这少数几个码率超高的帧,又通常都是高动态的画面。人眼对高动态的画面比较无法精确的判断、分辨出画质的好坏。所以牺牲这几个帧,增进大部分时间看起来的品质,可以说是相当划算。好像还蛮有道理的。不过如果曲线压缩的参数设定得不好的话,对画质会有很大的伤害,而且在不是超低码率的情况下,曲线压缩也没有意义。所以最好的作法还是,让编码器自行视情况调节,使用自由的 VBR,这样压出来的结果会越接近 CQ「固定品质」。(当然,如果码率实在设得太低,CQ 压出来的结果就是「固定烂品质」 这时适当的运用曲线压缩,以少换多,就有它的价值了) 。
经过许多人的测试经验,最后的结论就是 linear scaling「线性压缩」的结果最好。 线性压缩时,1st pass与曲线压缩无异,只是2nd pass的时候,就直接把 1st-pass 压出来的码率曲线按一定比例整个往下平移,降低码率,达到你所设定的目标大小为止。由于曲线只是整个往下平移,使得最终的码率变小,而不改变其原本的震荡幅度,所以称为「线性的调整大小」。 线性压缩使原本复杂,需要高码率的画面还是分到较多的码率;简单,不用太多码率的画面也不会浪费了码率。线性调整压出来的结果较接近「完美的 VBR」,也就是固定的平均品质,不会有几个帧突然发生明显劣化的情况。
使用线性压缩的方法很简单,2nd-pass的时候,把Two Pass设定底下的High bitrate scenes degradation % 和 Low bitrate scenes improvement % 两个设定都设为 0,这样跑 2nd-pass 的时候就会自动根据 XviD Codec 内建的 scaling 算法,做线性调整。
VHQ模式
[Top]
VHQ与IF、BF、码率控制没有任何关系,但VHQ越高,图像的品质越高。
MPEG系的编码器在压缩时以每个16x16像素块大小的MacroBlock为单位进行动态预测。在VHQ模式下,它先是进行简单的block-mode-decision(区块模式判定),其间会对画面内的每一块MacroBlock施以优化,然后再按三个不同档次(VHQ2、VHQ3、VHQ4)作进一步动态预测,从而更进一步的减少纪录信息所需要的容量。
使用VHQ(特别是VHQ4)可以降低Q值、使画面更干净、保留更多的细节,但这些都只是VHQ的副作用,VHQ的主要功能是提高压缩效率(当Q值一定时,令文件体积更小),以便更好的达到目标文件大小。
注意
在1-PASS过程中,VHQ模式处于自动关闭状态,因此不必担心两个PASS之间的设置不同。
在XviD 1.0正式版中,VHQ模式已经能与BF、Quarter Pixel、Chroma motion、Adaptive Quantization、GMC功能同时开启使用了。
后记与人员列表
[Top]
整个XVID的重要参数到这里差不多都介绍完了。笔者还是坚持一点:每个片子都有其自身特点,要想用一套“万用参数”来“通吃”所有片子是不可能的。有朋友非常心急,一上来就要找出来一套适用于手头这部片子的“理想值”,但是这样往往以失败告终。所以压片之前,不要怕麻烦,多抽几段来试压,然后根据每个参数的作用进行配置,相信你会制作出优秀的DVDRIP。
XviD是一款相当强大的MPEG4编码器,如果参数配置得当,再配合良好的AVS脚本的话,可以制作出来容量只有DVD容量的1/5(MP3音频),但画质和DVD相比丝毫不差的影片!到现在为止,XviD仍然有很大的潜力可以发掘。希望大家永远不要停止探索的脚步,去获得更好的质量!
本文的编写及内容不断丰富、修订的过程中,得到了很多朋友的帮助,在这里,编者dgwxx向他们表示最诚挚的谢意。另外:如果您撰写文章或创作其他作品(如编译自己版本的XVID)的时候引用了本文的内容,请一定要注明哪些内容出自本文,这是对于作者们的尊重,同时也有助于技术的交流。在线版本的放出,间接解除了强制复制保护。您现在可以任意复制本文的任何文字、图像内容。但是这个许可仅限于用作技术交流,任何用于商业行为的复制行为、任何恶意抄袭均将受到本文作者团队的最严厉追究。
本文由多位作者共同完成。
参与编写的作者名单(依照字母顺序排列):Bopirit、Dgwxx、RKinGBo、tct66、大卫
感谢以下朋友(按内容时间先后排列):
Nemolus——在2.0版本修订过程中提出了大量意见、建议。
DvDSharer——一些概念解释;提出2.0版的修订。
Skywalker——Global Motion Compensation的改正意见。
本文编写过程中参考的资料:《高品质DVDRIP制作进阶教程》(作者DvDSharer)、《XviD-1.0的設置參考》(作者tct66)、《XVID的中文化解释》(作者大卫)、《XVID中文设置全释1.3+》以及DOOM9.org的相关英文资料。

系统杀手 2006-10-27 21:01
当年就是因为看了这文章对Xvid很有恐惧感...

sakura 2006-10-27 21:18
收藏下……

movieking 2006-10-27 21:22
引用第1楼系统杀手2006-10-27 21:01发表的“”:
当年就是因为看了这文章对Xvid很有恐惧感...




我现在也恐惧... 也太长了吧

小妖怪 2006-10-27 22:13
那么长,我压片的一点点打算也飞灰了

sakura 2006-10-27 22:17
压片不算难……

系统杀手 2006-10-28 00:05
引用第3楼movieking2006-10-27 21:22发表的“”:



我现在也恐惧... 也太长了吧




我已经脱离恐惧期了,因为已经把这文章学好了。 就在刚才我的第一个Xvid_Mp3视频已经压好了。

OK!!! DivX、 X264、AVS、Sub都来吧!

系统杀手 2006-10-28 00:07
引用第5楼sakura2006-10-27 22:17发表的“”:
压片不算难……



随便压一个并不难,难的是压的又小又清晰。

系统杀手 2006-10-28 00:10
顺便对小泊说下...     后来看了下...   H263模式下Cartoon Mode还是不开比较好。

所以之前我说的请54吧。

玻璃女爵 2006-10-28 00:14
还是小白的那个视频经典...

春日の阿虚 2006-10-28 08:46
XVID么........会压好久了

不过MS最近都压RMVB封MKV......硬盘小的悲哀

Maskzyx 2006-10-29 10:36
引用第10楼春日の阿虚2006-10-28 08:46发表的“”:
XVID么........会压好久了

不过MS最近都压RMVB封MKV......硬盘小的悲哀



握个手吧,我也快沦落到压rmvb的地步了,自从装了vista rc2……

现在在尝试x264,感觉不错,doom9上很多profile蛮好用的。
就是压缩时间太恐怖了,上次压一个高分辨率的AE-MaxQuality居然要20+hours

sos团替补 2006-10-29 12:59
恐惧感油然而生

系统杀手 2006-10-30 18:03
20+hours ............   天...............

来栖泊 2006-11-02 18:30
No permission to view this article

系统杀手 2006-11-03 23:35
.................   直接用Profile...     倒...............

小泊有必要把这贴好好看一遍了

来栖泊 2006-11-04 18:49
No permission to view this article

来栖泊 2006-11-04 18:50
No permission to view this article

系统杀手 2006-11-04 19:55
泡 New Mpeg Movie 和 Doom 9 中文


查看完整版本: [-- [转贴] XviD配置参考详解【爆详细】 --] [-- top --]