瀏覽單個文章
LIBIDO
Major Member
 

加入日期: May 2001
文章: 122
引用:
Originally posted by snic

ㄏㄏ..了解了^^
那"名師出高徒"總可以了吧^^d

不,我是劣徒,學藝不精,說是學某人的會丟人家的臉... ><
引用:
所以只要我選 YUV 4:2:2 輸出,接下來不管選 PC Scale 還是 TV Scale,都不會做 YC 伸張,因此須再經過 AviUtl 做 ITU-R BT.601 補正,並且不能勾"Basic YCbCr 出力",轉出來的影片顏色才會是正確的,或是乾脆不經過 AviUtl 直接在壓縮時勾"Basic YCbCr 出力"也可

對不起,我錯了,不管選 YUV 4:2:2 輸出還是 RGB24 輸出,PC/TV Scale 的選項都有作用。因為我一直是選 RGB24 輸出,從來沒注意到 YUV 4:2:2 的情況是怎樣 ><
1. 選 PC Scale(已經伸張)
不用再做 ITU-R BT.601 補正-->壓縮時不能勾選 "Basic YCbCr 出力"。
2. 選 TV Scale(沒有伸張)
不做 ITU-R BT.601 補正-->壓縮時要勾選 "Basic YCbCr 出力"。
有做 ITU-R BT.601 補正-->壓縮時不能勾選 "Basic YCbCr 出力"。

要不要做 ITU-R BT.601 補正 視你做的處理而定,如果你要校正顏色,一定要先做 ITU-R BT.601 補正 之後再校正。

以上是用 TMPGEnc 或 CCE SP 壓 MPEG1/2 時的情況,可視處理的情況選擇要不要做 ITU-R BT.601 補正。只要在壓縮時選擇正確的 YCbCr 出力即可。

如果是壓 MS MPEG4,則沒得選擇,MS MPEG4 Codec 是接受 0~255 的 RGB 資料,壓縮前會先做 RGB 壓縮,以 CCIR601 YCbCr 出力,所以用 MS MPEG4 壓縮,壓縮之前 **一定要做 ITU-R BT.601 補正**。

DVD2AVI PC Scale 出力等於 ITU-R BT.601 補正,選 PC Scale 就不用再做 ITU-R BT.601 補正。
引用:
那如果我在網路上抓到一個來路不明的 avi 檔
我該如何得知這個 avi 檔是否做過 YC 伸張呢 ?

先不做 ITU-R BT.601 補正,選一張有黑底或白底的畫面,複製貼上到 Photoshop,看看黑底或白底的部分 RGB 值有沒有超過 235 或低於 16,如果有做過 YC 伸張,全白應該是 R(255)G(255)B(255),全黑應該是 R(0)G(0)B(0)。

下面又是鬼畫符 :P
YUV(-1) 代表 Y: 16~235, UV: 16~240
YUV(0) 代表經過 YC 伸張 Y: 0~255, UV: 0~255
RGB(0) 代表 RGB: 0~255,在電腦上看,要顯示 RGB(0) 才是正常的顏色
RGB(-1) 代表 RGB: 16~235,經過壓縮後的 RGB

[DVD2AVI 解出的是] YUV(-1) [YC 伸張]--> YUV(0)--> [AviUtl 的視窗顯示的是] RGB(0) [壓縮前先經過 RGB 壓縮]--> RGB(-1) [然後]--> YUV(-1)

播放 YUV(-1) [顯示卡的色空間轉換或 MS MPEG4 Codec 都會做 PC Scale]--> YUV(0)--> RGB(0) 顯示正常

如果不做 ITU-R BT.601 補正
[DVD2AVI 解出的是] YUV(-1)--> [AviUtl 的視窗顯示的是] RGB(-1) [壓縮前先經過 RGB 壓縮]--> RGB(-2) [然後]--> YUV(-2)

則播放的時候 YUV(-2)--> YUV(-1)--> RGB(-1) 顯示錯誤

所以可以再補一次 ITU-R BT.601 補正 救回來
[做錯的] YUV(-2) [MS MPEG4 Codec 伸張]--> YUV(-1)--> [AviUtl 的視窗顯示的是] RGB(-1) [再伸張一次]--> RGB(0) [喔喔,正常了] [壓縮前先經過 RGB 壓縮]--> RGB(-1) [然後]--> YUV(-1)
 
舊 2002-07-27, 12:02 AM #42
回應時引用此文章
LIBIDO離線中