|
用 TMPGEnc 将 AVI 转 SVCD,VCD 的人必犯的严重错误设定!
( O4 n! i8 c/ {' O% A4 O! W一般人往往没注意 Y/C 伸张的问题,导致转出来的纯白 (235,235,235) 在计算机
% @0 G- T T6 S* ]屏幕上看起来就不是纯白,纯黑 (16,16,16) 在计算机屏幕上看起来也不会是纯黑 。因此在计算机上看,会觉得颜色变淡,好像照上了一层白纱,所以会觉得对比不足(最亮和最暗的差距缩小),不如原始档看起来漂亮。8 f+ m- d0 |7 k/ i& u
通常转 DVD 在 DVD2AVI 汇出 d2v 的时候都会做好 Y/C 伸张(YUV->RGB 设在 PC 8 b4 c/ F3 X6 C$ w Y9 w$ l" `
Scale),所以再交给 TMPEGnc 时压缩设定中不能勾选进阶设定>量子化行列( Quantize matrix)底下的"Basic YCbCr ?出力"(Out YUV data as asic not CCIR601),这样 TMPGEnc 压缩时便会做 Y/C 压缩,压出来的颜色、对比才 会正确。
# \! }) P1 ?9 Y2 [但 AVI 转档的时候就要相反,因为 AVI 本身数据压缩为 16~235,如果没有要对
) u6 z- u( s( f$ P/ L" D ^画面做修改,则不必做 Y/C 伸张,但是压缩的时候必需要勾选进阶设定>量子化行列(Quantize matrix)底下的 "Basic YCbCr ?出力"(Out YUV data Basic YCbCr not CCIR601),这样 TMPGEnc 压缩时便不会做 Y/C 压缩,压出来的颜色、对比才会正确。若要对画面做修改,必须使用 Descale CCIR601 这个滤镜,把 Luminous, Chroma 两个选项都推到 255(也就是做 Y/C 伸张),然后才做其它的编辑动作。Descale CCIR601 的顺位要排第一位。然后压缩时直接压缩( "Basic YCbCr ?出力"此时就不用勾了)便可以得到正确的结果。 - S* L* p: {! h$ |" v2 l" f' ~2 g2 C: f
OK...以上算是小小的结论..2 s. }2 y/ D' |! ]! Z! L9 P
Y/C 伸张及压缩是非常重要的观念!" c: S, c1 V: S3 h
可以决定你转出来的东西颜色鲜不鲜艳!
: x+ X& _& W: d如果你看得懂我以上所说的...
2 R1 D2 d/ ?& H) H/ e) I, ?' x那你不是老早就注意到...
" b& K/ v+ c) C5 ?" T& E不然就是虽然你设定错误但你也知道该怎么修正了...+ Y U0 l8 P, U% ~! x
可是如果你看不懂...
5 A) d% ^* G' A' f2 Z表示你就是那 99% 设定错误的人且不知如何修正...' Y1 F6 a# C+ r' E7 u( D
那请仔细看以下的详细的解说...
E t2 V9 }0 \以下为一位前辈的文章,因为写的很浅很清楚了,没任何概念的人都会懂! & S: o w: J5 R6 P
所以特别收录:
" \6 H3 s* `- d1 v. H6 B(我知道很长,但请耐心看完,绝对对你有帮助!)
7 ]+ E) w# C5 |$ t
4 l* D* J- A( ~: y! k# aDVD/VCD/DV 等使用的 MPEG/MJPEG 压缩,记录的 YCbCr 格式,是遵循 ITU-R BT.601 的建议,其数据范围(动态范围)为 Y(亮度)16~235,C(色度)以 128 为中心代表无色,范围 16~240。做处理和显示的时候,YCbCr 要转为 RGB, 其范围为 16~235。但是计算机屏幕上,纯白的点,其 RGB 值为 (255,255,255), 纯黑的点,其 RGB 为 (0,0,0)。所以 MPEG/MJPEG 所记录的纯白
2 G6 X# F. @8 R/ ~, \( S$ R/ R(235,235,235) 在计算机屏幕上看起来就不是纯白,纯黑 (16,16,16) 在计算机屏幕上看起来也不会 是纯黑。因此 DV 录下来的东西,拿到计算机上看,会觉得颜色变淡,好像照上了 一层白纱。同时因为数据范围(动态范围)缩小为 16~235,而不是全范围(Full
* p u$ s7 a# G& y5 `1 R! LScale)0~255,所以会觉得对比不足(最亮和最暗的差距缩小),不如在电视上看漂亮。 所以在计算机上看、编辑 DV AVI,必需要先做 Y/C 伸张,也就是将 Y/C 的动态由原来的 16~235 扩展到 0~255,然后转为 RGB 0~255,这样在计算机屏幕上看到的 颜色才会是正确的。以此为基准作颜色校正、各种滤镜处理,出来的结果才会是 . [/ y( T: p+ `) d& t1 s3 [
正确的。经过 Y/C 伸张以后,然后才作各种的编辑。最后要压成 DVD/VCD/DV 的时候,因为仍然是存成 MPEG/MJPEG 格式,数据范围还是 16~235,所以已经做过Y/C 伸张的影像在压缩之前,必须先做 Y/C 压缩,把目前 RGB 0~255 的资料压 缩为 16~235,然后转为 YCbCr 16~235,这样才会正确。不然超过的资料在转为 YCbCr 16~235 的时候会被削掉(clipping),对比、颜色会完全错误。
7 l" o( F" i( ~# e6 k如果没有编辑、修改画面的必要,只是要将 DV AVI 直接做成 DVD/VCD,则可以不必做 Y/C 伸张,直接压缩为 DVD/VCD。此时数据没有做过 Y/C 伸张,所以压 缩的时候,不可以再做一次 Y/C 压缩然后压 MPEG,否则做好的 DVD/VCD 即使在电视上播放,对比、颜色也会是错的。
) _, E1 e9 H+ M; e! _总结:
5 a, C1 K/ |$ i原始数据以 MPEG/MJPEG 储存,为 Y/C 压缩过的数据,修改编辑时需先做 Y/C 8 A9 P$ g9 B' d" {, n; r3 r; J! |
伸张之后再修改。若做过 Y/C 伸张,压缩时需做 Y/C 压缩,出来的画面才是正 确的。若没做过 Y/C 伸张,压缩时不可以做 Y/C 压缩,出来的画面才是正确的 O6 O3 n$ w5 y% c6 s7 B8 K
3 X- f) {3 y9 D
以 TMPGEnc 这个压缩软件为例,压缩时预设是接收 0~255 的 RGB 数据,先做Y/C 压缩,然后才压 MPEG。所以如果是 YCbCr 16~235 的数据要对画面做修改, 必须使用 Descale CCIR601 这个滤镜(CCIR601 就是 ITU-R BT.601,CCIR 是 ITU 以前的名字),把 Luminous, Chroma 两个选项都推到 255(也就是做 Y/C
3 z0 \8 z! G3 ~% F0 e8 m伸张),然后才做其它的编辑动作。Descale CCIR601 的顺位要排第一位。然后压缩时直接压缩便可以得到正确的结果。 如果没有要对画面做修改,则不必做 Y/C 伸张,但是压缩的时候必需要勾选进阶
" l% K' V9 y1 z6 A J6 r+ x设定> 量子化行列(Quantize matrix)底下的"Basic YCbCr ?出力"(Out data as Basic YCbCr not CCIR601),这样 TMPGEnc 压缩时便不会做 Y/C 压缩,压出来的颜色、对比才会正确6 O2 E7 i; N3 v5 p3 S
总结:
5 [/ M( j- f8 ]4 `+ R+ a3 D4 ^如果原始数据是 YCbCr 16~235 有做 Y/C 伸张的话,压缩时直接压缩就好,不能
: @0 t6 O+ |4 Y1 ^勾选 "Basic YCbCr ?出力"。没有做 Y/C 伸张的话,压缩时必须勾选 "Basic YCbCr ?出力"。 第二个问题,压缩软件压缩时,是否会先做 Y/C 压缩?
3 m+ u- ~ ?4 r& a如 MS MPEG-4 Codec,DivX Codec,XviD Codec 这几个 Codec % H$ z7 P: G6 G+ F u- N" G
都是假设收到的 数据是 0~255,会先做 Y/C 压缩的动作。那么其它 Codec 和压缩软件呢?这个 也必须要做实验确认才能确定。 唯有解压缩和压缩的转换式能正确搭配(做过 Y/C 伸张压缩时就必须做 Y/C 压 缩,没做 Y/C 伸张压缩时就不可以做 Y/C 压缩)最后压出来的成品才会是正确 的。2 t6 @. ^* }$ t% k# o5 Q
/ {) h2 c5 l& q! c( o- ]" h3 R4 g; ^8 j* k0 k5 Z/ C
' z( E; D2 d: i- x& f$ C- v3 A" L2 B
以上或许有人看得雾煞煞...# v# e' m+ {# z' i4 Q- R
那我稍微再做个简单的说明(至少字比较少)...8 K" ]1 L0 V' e6 `+ J
Y/C 伸张是将数据范围(动态范围)扩展
# Y) T, i0 k* x- u( u gY/C 压缩是将数据范围(动态范围)缩小 M9 d& L. ^0 A: R% d8 V5 K
DVD/VCD/AVI 所纪录的数据范围(动态范围)都是 16~235(纯白 235 纯黑 16) 电视上显示的数据范围(动态范围)是 16~235(纯白 235 纯黑 16) ) S6 Q/ i3 C( E& @ f8 A4 g% M
而计算机屏幕上显示的数据范围(动态范围)是 0~255(纯白 255 纯黑 0) ! t0 K8 O1 _% }) [/ {0 Y
但 TMPEGnc 预设接收的数据范围(动态范围)也是 0~255(纯白 255 纯黑 0)
; @) v% J/ J9 F# L$ X* _8 y当压缩时为恢复 DVD/VCD/AVI 的数据范围预设会做 Y/C 压缩(0~255>16~235) 所以当 TMPEGnc 读取到 DVD/VCD/AVI 的数据时会以为数据范围也是 0~255 结果压缩时照预设也做了一次 Y/C 压缩(16~235>小于 16~235)...
( T* U! u+ B& Q9 q! W9 o |导致数据范围小于 DVD/VCD/AVI 规定的 16~235 % D2 \3 k& _5 k5 |3 `5 ^; }- l
由于电视上显示的数据范围是 16~235
' \8 _5 o" O; s0 f3 C6 ]. W因此你在电视上看会觉得颜色变淡,好像照上了一层白纱& L5 g3 z, r' V C2 Z; u; J! |7 _
因为所记录的纯白(小于 235)看起来不是纯白(255); ` z: v: T/ m
纯黑(大于 0)看起来也不是纯黑(0)
K9 S& a* z5 x( g8 O8 [. ~# v同时因为数据范围(动态范围)小于 16~235( \, r5 E! o( V
所以会觉得对比不足(最亮和最暗的差距缩小)2 f N& x9 D0 e# l
同样的道理
7 v0 q% o% ?. k8 t) V3 O在计算机屏幕上观看 DVD/VCD/AVI 时
7 G6 i) @3 w/ A# t c为恢复计算机屏幕的数据范围,显示卡和软件预设会做 Y/C 伸张(16~235>0~255) 根据上述状况,若观看用 TMPEGnc 压出资料范围小于 16~235 的 DVD/VCD/AVI 此时显示卡和软件预设会做的 Y/C 伸张将导致[小于 16~235]>[不足 0~255] 一样会产生对比不足(最亮和最暗的差距缩小)的情形!
6 I4 ?8 U- @/ f6 Y! j8 J所以结论就是我一开始所说的,AVI 转档的时候,因为 AVI 本身数据压缩为 16~ 235,如果没有要对画面做修改,则不必做 Y/C 伸张,但是压缩的时候必需要勾 选进阶设定>量子化行列(Quantize matrix)底下的 "Basic YCbCr ?出力"(Out YUV data as Basic YCbCr not CCIR601),这样 TMPGEnc 压缩时便不会做Y/C 压缩,压出来的颜色、对比才会正确。2 E5 e$ @) {; R, n+ O5 n8 V. A
最后我相信有人会问 TMPEGnc 里 Descale CCIR601 这个滤镜在哪里? 设定(TMPEGnc 程序主画面右下角"设定"按钮)>进阶>自订色彩修正(该页面下方的滤镜中)点两下进入>新增>模式选 Descale CCIR601>"明亮"跟"色度"
. d- E3 ^7 \: U" k: W都推到底(255)>"启动滤镜"打勾>按"确定" 另外何时需要用的此滤镜呢?/ A \* C6 P, q
基本上只要你读取 TMPEGnc 的各项模板后,在[设定(TMPEGnc 程序主画面右下角 9 K5 d2 o; k" V0 r# R- ^
"设定"按钮)>进阶]这个页面下你有变动到的话,建议一定要加此滤镜!原因上 面已经说了!
* D2 X, m! O. S后记:: @* E5 v6 H M- i
其实笔者也是后来才知道 Y/C 压缩与伸张观念对转档的严重性,经实验结果发现 真的效果差非常多,我也知道玩 AVI 转 SVCD/VCD 的人很多,所以特此写一篇教学,希望各位读者看过以后别再犯此错误! |
|