幻世中和

Tenlix的个人空间

2008年3月的存档»

[连载]AVC/H264编码教程(八)

Tenlix Post in 全部文章

AVC/H264编码教程(八)

原作:DeathTheSheep
翻译:Tenlix

下一个选项卡:其他(More...)

  • “分块检测(Partition Decision)”(A),也可以理解为“Subpixel Refinement Quality”,是一个控制x264关于运动估算的范围的重要特性。选择菜单包含了一个具有7个选项的选单,依次从最低的质量“1(Fastest)”到最高的质量“6b(RDO on B-frames)”。要记住使用质量较高的选项会导致x264在运算确定方面“思考”得更多,从而降低更多的速度。由于这是在x264的质量(和速度)上起决定因素的选项,所以请将其确定在一个合适的范围内。我建议将该值设定为不低于‘5’。‘5’是一个可以允许使用“色度动态预测(Chroma ME)”(参见下面F的说明)的速度很快的选项。然而看起来比较可怕的“6(RDO)”对编码的质量则大有裨益,因为它采用了比率失真优化(rate distortion optimization)(RDO),这是一个以花费更多编码时间为代价来大幅提升分块检测质量(以及由此带来的压缩品质的提升)的特性。但是在我看来,使用比率失真优化(即‘6’)所带来的大幅质量提升并不足以弥补其在编码阶段所大幅降低的速度,因此,除非你的CPU非常之快,我才会推荐采用6。‘7’被称作“Insane(精神错乱的)”可谓名副其实,因为(和6相比)它几乎没有提升多少质量而在速度方面的下降却是一点儿也不含糊。
  • 'RDO for B-frames'对B帧也使用了比率失真优化,尽管使得编码速度略有下降,但是给B帧带来了较大的质量提升。我推荐选择对B帧使用比率失真优化的参数。
  • 运动估算“方法(Method)”选项(B)可以让用户选择x264如何检索画面的运动。这个方法越好,x264找到并且准确地记录运动的可能性就越高,从而提升压缩质量和效率。我建议对较慢的机器和缺乏时间的人群使用“正六边形检索(Hexagonal search)”(水平、垂直和对角检索),而此外则是使用“可变半径六边形检索(Uneven Multi-Hexagon)”(通过复数的六边形二进制组进行检索)比较有优势,由于其更加精确和具有扩展性的算法,将能够带来更佳的质量,编码时间也会随之提升。我不推荐使用“全面检索(Exhaustive Search)”(强制一个像素一个像素地进行检索);它并不会显著地优于“ Uneven Multi-Hexagon”,而且会剧烈地降低速度,(一旦选择了该选项,)如果你的编码能够在一周之内完成,算你走运。它看起来仅仅是为了调试的目的来使用(编写编解码器的程序)而并非实际编码。
  • 注意在使用“可变半径六边形检索(Uneven Multi-Hexagon)”或“全面检索(Exhaustive Search)”(请勿使用)时,用户可以在框格(C)中指定搜索“半径(Range)”。将其保持在16:这是优化算法的取值,通常会带来最佳的速度和质量。但是,如果你有一个高分辨率的视频而其帧率却很低(小于15),可以考虑将该值稍微提高一点,可以是24或32(最大值)。同理,如果你有一个低分辨率的视频而其帧率却非常之高(大于60),你可以考虑降低该值至12或8以节约时间。
  • 你可以通过“最大,它们就构成一个字母,准确地说,应该是个倒置的W,首尾两点之间距离没那么均匀分配,中间的社区相对密集,是嘈杂的。我宽容卖塑料喷水壶小贩所能给的理由,他一脸无辜:才五元钱的买卖。不过他身后的空玻璃水壶把握了最后的呈现机会,考帧数(Max Ref. Frames)”选项(D)来设定x264可以使用的参考帧数。AVC可以通过参考它之前编码的相似帧来有效地编码出新的帧。这个选项用于设置可以被参考的最大帧数。这个值设定得越高,编码质量会越好,而编码速度则会降低。对于现实题材,在大多数保持较高编码速度的情况下,3到5便足够了。对于动画的题材,或者带有冗余的重复运动的题材,更多的参考帧可以带来质量的显著提高,因此在这里我建议无论何时都在勾选“混合参考帧(Mixed Refs)”(G)的前提下采用5到10的设定值,混合参考帧可以使得x264拥有更大的自由来制定参考帧的子帧级别。

“泫然”如何能“欲泣”

Tenlix Post in 全部文章

最近在很多作品里时常见到“泫然欲泣”这个词语,既然有个“欲泣”,便以为这是形容人快要哭出来的样子。不仅如此,从结构上考虑,也能给人一种感觉,即“泫然”是用来形容“欲泣”的模样,类似“恍然大悟”这样的结构。

然而等到自己要用了,才觉得这个词确实有问题。问题就在于“泫然”是否能够形容“欲泣”。

“泫然”在现代汉语词典里的解释是:〈书〉水滴下的样子(多指眼泪):~泪下。

高级汉语词典对“泫”的解释为:
<动>
1. (形声。从水,玄声。本义:水珠下滴)
2. 同本义
花上露犹泫。——谢灵运《从斤竹涧越岭溪行》
3. 又如:泫露(滴落,降露)
4. 流泪
相与泫然。——顾炎武《复庵记》
5. 又如:泫目(使眼流泪)
<形>
1. 露珠晶莹的样子
斐斐气幕岫,泫泫露盈条。——《文选·谢惠连文》
2. 又如:泫泫(露珠晶莹的样子)

倘若再往前查,查到康熙字典去,对“泫”的解释是:
【巳集上】【水字部】 泫
【唐韻】【集韻】【韻會】【正韻】 戸畎切,音鉉。【說文】湝流也。 又露光也。【謝靈運詩】花上露猶泫。 又露垂貌。【謝惠連詩】泫泫露盈條。 又流涕貌。【禮·檀弓】孔子泫然流涕。 又【集韻】【韻會】【正韻】 胡涓切,音懸。困泫,水深廣貌。【郭璞·江賦】瀇滉困泫。 又水名,屬上黨。【前漢·地理志】上黨郡有泫氏縣。【註】山海經,泫水所出者也。【後漢·萬修傳註】今澤州高平縣也。 又【集韻】胡千切,音賢。義同。 又熒絹切,音縣。泫湣,混合也。通作眩。

综上可见,当我们使用“泫然”的时候,就是形容眼泪或水滴等滴落的样子,既然已经滴落下来了,又怎么能“欲泣”呢?

有一种说法,是一个词语用得多了,即便使用上有些问题,也能够约定俗成,将错就错地流传下去,比如“每况愈下”、“空穴来风”等等,但是对于“泫然欲泣”这样前后意义有明显矛盾的词语,恐怕还是像《礼记》里那样,用“泫然流涕”比较合适。

[连载]AVC/H264编码教程(七)

Tenlix Post in 全部文章

AVC/H264编码教程(七)

原作:DeathTheSheep
翻译:Tenlix

  • B帧“偏差(Bias)”(N)用于改变x264对B帧的使用。这个数值越高,x264就会越频繁地插入B帧。例如将这个数值设定为100会强制x264使用由框格M所指定的最大数量的B帧;然而,这个结果可以由简单地去掉勾选“Adaptive”(P)来得到。将这个值设定为-100则意味着几乎不使用任何B帧——实际上,对大多数情况来说就是一帧都不使用。对大多数视频来说,理想的B帧使用量在选择偏差值为0的时候往往是最好的,我也推荐保持这一数值。
  • X264编解码器可以通过“使用B帧作为参考帧(Use [B-frames] as references)”(O)来使用B-frame pyramid特性。对其他连续的B帧来使用B帧作为参考帧可以提高少许的质量,因为这些B帧可以从另一个B帧预算出来而不是被限制在使用它附近的P帧进行预算。B-pyramid在搭配使用最大3帧连续B帧的设定(M)时是最有效的。我推荐开启这个选项,因为它可以提高一些质量而几乎不会降低速度。
  • “加权B帧预算(Weighted biprediction)”(Q)被选择时可以允许B帧在预算时相对P帧或另一个帧获得更大的权重。其结果是获得更加准确和有效的B帧,从而提升质量。我强烈推荐勾选该项。
  • “双向运动帧对照(Bidirectional ME)”(R)是一个新的特性,允许x264参照所要预算的B帧之前和之后的运动帧预算出一些B帧,以提升质量。勾选使用。
  • B帧指导模式(Direct B-frame mode)(S)可以使B帧使用“预算运动向量(predicted motion vectors)”来代替实际上的每一帧的运动编码,以有效地节省空间和提升压缩率。我建议将其设定为“Auto”,尤其是在还未明确运动的不一致的存在的二次编码的情况下。如果是在恒定量化编码的模式中,而Auto出现了问题,那么我建议对动画和现实题材视频的所有比特范围均使用Spatial,但是由于极低比特率或者极高量化值的现实题材所具有的运动重构的流动性,需要对其使用Temporal。