PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 數位影音討論群組 > DVD 討論區
帳戶
密碼
 

  回應
 
主題工具
taoan
Major Member
 
taoan的大頭照
 

加入日期: Aug 2002
您的住址: 台北
文章: 163
真是感謝囉

要整理出這些教學文件一定是相當辛苦的
     
      
舊 2002-12-28, 10:39 PM #191
回應時引用此文章
taoan離線中  
kerwins
Basic Member
 

加入日期: Sep 2002
文章: 10
我播AVI格式的影片很正常,可是轉成MPG檔出來的檔案,播放時影像都是黑的有聲音,有沒有人知道為什麼???
TMPGEnc和EO這兩個我都用過了,可是轉出來的都是一樣畫面都是黑的,有沒有人幫我解決~~
謝謝~~~~~~~
 
舊 2002-12-29, 11:04 AM #192
回應時引用此文章
kerwins離線中  
trico2486
Basic Member
 

加入日期: Dec 2002
您的住址: 山中豪宅的地下室
文章: 13
想請問一下...

vobsub 無法常駐上去....
我實在找不到方法.....

xp-2000
512mb ram

winxp pro
directx8.1
tmpegnc ver:b10m5
vobsub 2.23

請大大賜教.....謝謝...
舊 2002-12-31, 05:02 PM #193
回應時引用此文章
trico2486離線中  
DAVID33
Major Member
 
DAVID33的大頭照
 

加入日期: May 2002
您的住址: 在台北
文章: 250
此篇文章,真是經典啊
很多人發問,也有很多好心大大解答,不推一下好像過不去
舊 2003-01-02, 02:11 AM #194
回應時引用此文章
DAVID33離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
感謝諸位大大的整理和教學 m(_ _)m

這串討論的前面幾頁有提到色空間轉換和色域範圍的問題,最近剛好有一篇 YUV 的討論,因為原作者 Silky 絕對不會有異議(^^;),我把它轉貼過來給大家參考。
轉貼開始
================================
MPEG 儲存的 YU(Cb)V(Cr) 格式是遵循 CCIR601,也就是 ITU-R BT.601 的規範,Y 亮度的範圍是 16~235,UV(CbCr) 色度是以無色 =128 為中心,範圍是 16~240。
一般民生消費產品使用的 MPEG 壓縮,大都採用 YUV 4:2:0 的格式,也就是如果解析度是 720x576,則每個 Frame,Y 有 720x576 個點,U 只有 360x288 個點,V 也只有 360x288 個點。色度的資訊只有亮度的 1/4。那麼為什麼不寫 YUV 4:1:1(UV 和 Y 的比例是 1:4) 而要寫 YUV 4:2:0?這是因為要區分取樣的方式不同。YUV 4:1:1 是指水平 Y 取樣四個點,UV 各只取樣一個點,水平的 Y 和 UV 的取樣比例是 4:1,也就是
YC Y Y Y ....

C: Chroma, UV

YUV 4:2:0 是指水平和垂直 Y 各取樣兩個點,UV 各只取樣一個點,水平的取樣比例是 2:1,重直的取樣比例 2:1,也就是
Y Y
_C
Y Y

和 YUV 4:1:1 一樣,色度和亮度差 1/2 * 1/2 = 1/4,只是取樣的方式不同。

而 MPEG 最常採用的 YUV 4:2:0 格式,其 UV 的取樣位置,MPEG-1 和 MPEG-2 又不同(MPEG-4 是用和 MPEG-2 一樣的取樣位置)
MPEG-1
Y Y
_x
Y Y

x 是 UV 的取樣位置

MPEG-2
Y Y
x
Y Y

x 是 UV 的取樣位置

在個人電腦上,這些 YUV 讀出來以後會以一些格式包裝起來,送給軟體或硬體處理。包裝的方式分成兩種,一種是 packed format,把 Y 和相對應的 UV 包在一起。另一種是 planar format,把 Y 和 U 和 V 三種分別包裝,拆成三個 plane(平面)。
其中 YV12 和 YUY2 都是一種 YUV 的包裝格式,而且兩種都是 packed format。
YV12 和 YUY2 的不同,在於 YV12 是 YUV 4:2:0 格式,也就是 DVD/VCD 上原本儲存的格式。YUY2 則是 YUV 4:2:2 格式,也就是

YC Y YC Y ....

水平取樣比例是 1/2
重直取樣比例是 1/1,也就是垂直 UV 和 Y 的個數一樣多
以解析度來講,就是 Y 720x576 U 360x576 V 360x576。

至於詳細的包裝格式,這裡就不畫圖了,請參考
http://www.fourcc.org/fccyuv.htm
http://msdn.microsoft.com/library/d.../YUVFormats.asp

此文章於 2003-01-02 04:54 AM 被 Shade 編輯.
舊 2003-01-02, 04:32 AM #195
回應時引用此文章
Shade離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
以 DVD/VCD 的播放來說,讀出來的 YUV 4:2:0 包成 YV12 的格式,如果顯示卡有支援 YV12 的 FourCC Codec,播放時就會直接走 DirectDraw YV12 Overlay,直接丟 YV12 的資料給顯示卡處理,由顯示卡去做 YUV 4:2:0 展開(內插補點)-> YUV 4:2:2 -> YUV 4:4:4 -> RGB32,也就是色彩空間轉換的的工作。如果你的螢幕解析度大於影片原始解析度,顯示卡還要做 scaling,也就是放大畫面的動作,將影片的解析度放大到和你的螢幕的解析度相同,例如 640x480 -> 1024x768。(內插補點,補出不足的點)
所以顯示卡的 YUV 4:2:0 -> 4:4:4 內插補點的好壞第一個就影響 MPEG 的播放品質,如果顯示卡的 interpolating filter 不好,色彩補得不夠平滑,紅色的部分(人眼對紅色較藍色敏感,紅色不好特別容易看出)就會出現一格一格的鋸齒狀。
再來就是顯示卡的 scaling filter,放大補點的好壞,放大補點不好,畫面就容易出現鋸齒或是變得模糊不夠清晰。

YV12 是最多顯示卡支援的格式,傳輸的資料只有 YUV 4:2:0,比 RGB32 少很多,速度最快,所以大部分的軟體都用這種格式傳送資料。然而這種格式在遇到 interlaced 場線交錯的畫面的時候,會發生色度解碼錯誤的問題。這個問題說起來很複雜,再講個這篇文章又會太長,有興趣的人可以參考 DVD2AVI 作者 jackei 的網頁,有很詳細的說明,這個解碼錯誤的問題也是 jackei 大大撰寫 DVD2AVI 這個軟體的原因:
The decoding problem with interlaced frame of most software MPEG-2 decoders
http://arbor.ee.ntu.edu.tw/~jackei/dvd2avi/interlace/

另一種錯誤,發生在 progressive frame 上
http://www.hometheaterhifi.com/volu...bug-4-2001.html

這個問題說起來也太長,有機會我再解釋。

另一種常見的格式,就是 YUY2,也有許多顯示卡支援,PowerDVD 為了解決上述的交錯線色度解碼錯誤的問題,便是使用這種格式。YUY2 也就是 YUV 4:2:2 的一種包裝形式,播放時軟體會先自己做 YUV 4:2:0 -> YUV 4:2:2 的內插補點(upsampling),做好以後再將 YUV 4:2:2 包成 YUY2,走 DirectDraw YUY2 Overlay,直接丟資料給顯示卡,由顯示卡去做後續的 YUV 4:2:2 -> 4:4:4 -> RGB32 的工作。

由以上可知,顯示卡的 DirectDraw Overlay 有沒有啟動很重要,如果不使用 DirectDraw Overlay,而走傳統的 GDI(Graphic Display Interface)圖形顯示介面,顯示速度會很慢
1. 無法使用 DirectDraw 硬體加速,無法使用硬體的內插補點和色彩空間轉換,CPU 負擔非常重
2. 直接傳送 RGB32,資料量大。無法使用顯示卡的 scaling/interpolating filter,放大到全螢幕,會鋸齒方塊一格一格的非常難看。

現在大部分的顯示卡,即使在高解析度的時候,DirectDraw Overlay 還是會啟動,尤其是 ATI 的顯示卡,即使在超高解析度的時候還是可以啟動。
但是部分的顯示卡有一個限制,那就是影片的水平解析度必須能被 32 整除,這樣才能使用 DirectDraw Overlay。所以 GKnot 這個軟體的 resize 選項,水平部分有一個 32 Mod(能被 32 整除)的限制,就是這個原因。由上述可知,720 的水平解析度不能被 32 整除,所以會有無法啟動 DirectDraw Overlay 的危險,為了最大的相容性,製作的影片水平解析度最好是能夠被 32 整除。
附帶一提,垂直高度最好是能夠被 16 整除,因為 MPEG 壓縮是以 16x16 的巨方塊為單位壓縮,不是 16 的倍數的高度會製造壓縮困難,壓縮後可能會出現壓縮瑕疵。
最好是先做好 resize 再壓縮,不要以原始的解析度 720x576 壓縮,播放時才調整比例作即時 resize。
即時 resize 的效果無法和慢慢計算的高品質 resize 相比,畫質會比較差。本來是想保留較多的原始訊息,結果播放時的 resize 不好,反而得不償失。

此文章於 2003-01-02 05:26 AM 被 Shade 編輯.
舊 2003-01-02, 04:41 AM #196
回應時引用此文章
Shade離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
說到 YV12,順便提一下最近很熱門的 Avisynth 2.5 alpha。
Avisynth 2.5 alpha 最大的特色,就是支援 YV12 直接處理。我們知道原始 MPEG 資料是 YUV 4:2:0,也就是 YV12 的格式,以前我們在做 DivX/XviD 壓縮的時候,處理流程是:
DVD/VCD(YUV 4:2:0) -> DVD2AVI(YUV 4:2:0 -> YUV 4:2:2 -> YUV 4:4:4 -> RGB24) -> VFAPI(RGB24) -> TMPGEnc/AviUtl/VirtualDub(RGB24) -> DivX/XviD Codec(RGB24 -> YUV 4:2:0) -> MPEG-4(YUV 4:2:0)

ps. VFAPI 內部只能以 RGB24 傳遞資料,所以會轉成 RGB24 輸出

或是
DVD/VCD(YUV 4:2:0) -> MPG2DEC.DLL(YUV 4:2:0 -> YUV 4:2:2) -> Avisynth 2.0.x(只能用支援 YUV 4:2:2 的 filter,不能用 RGB24/32 的 filter) -> VirtualDub(YUV 4:2:2,不能使用 VD 的 filter,因為 VD 的 filetr 都是在 RGB32 上處理,壓縮時要選 Fast recompress,才會直接原封不動的送 YUV 4:2:2,也就是 YUY2 的資料給 Codec 壓縮) -> DivX/XviD Codec(YUV 4:2:2 -> YUV 4:2:0) -> MPEG-4(YUV 4:2:0)

所以以前的處理流程中間要經過好幾次 YUV <-> RGB 的轉換。這個轉換是有損的,做得越多次,原始的色彩資訊就損失的越嚴重。而且這個轉換的計算又耗時。那麼有人(Marc FD)就想到,反正最後轉成 MPEG 都要存成 YUV 4:2:0 的格式,那麼為什麼不乾脆一路到底,全程都以 YV12 處理,也就是所有的 filter 都改寫成 YV12 的版本,直接在 YV12 上做調整色彩、濾雜訊、IVTC 等工作,這樣
1. 處理的資料量少。(YV12 的資料,UV 比 YUY2 少一半,比 RGB 24/32 少更多)
2. 不用轉換計算

所以速度快。再加上又可以避免 YUV <-> RGB 轉換的損失,豈不是一舉兩得?
所以支援 YV12 的 Avisynth 2.5 就誕生了
但是目前 VirtualDub 還是不支援 YV12,所以要得到全程 YV12 處理的好處,必須使用 VirtualDubMod 這個軟體才行,這個改版才有支援 YV12(一樣要選 Fast recompress)。

不過因為我要用 TMPGEnc(只接受 RGB24/32),所以我還是沒使用全程 YV12 的方法
舊 2003-01-02, 04:46 AM #197
回應時引用此文章
Shade離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
前面提到了 YUV 的數值範圍(Y: 16~235, UV: 16~240),轉貼以前寫的一篇文章給大家參考:
=======================================
DVD/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 所記錄的純白 (235,235,235) 在電腦螢幕上看起
來就不是純白,純黑 (16,16,16) 在電腦螢幕上看起來也不會是純黑。
因此 DV 錄下來的東西,拿到電腦上看,會覺得顏色變淡,好像照上了一層白紗。
同時因為資料範圍(動態範圍)縮小為 16~235,而不是全範圍(Full Scale)0~255,
所以會覺得對比不足(最亮和最暗的差距縮小),不如在電視上看漂亮。
所以在電腦上看、編輯 DV AVI,必需要先做 Y/C 伸張,也就是將 Y/C 的動態由原來的
16~235 擴展到 0~255,然後轉為 RGB 0~255,這樣在電腦螢幕上看到的顏色才會是正確的
。以此為基準作顏色校正、各種濾鏡處理,出來的結果才會是正確的。
經過 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),
對比、顏色會完全錯誤。

如果沒有編輯、修改畫面的必要,只是要將 DV AVI 直接做成 DVD/VCD,
則可以不必做 Y/C 伸張,直接壓縮為 DVD/VCD。
此時資料沒有做過 Y/C 伸張,所以壓縮的時候,不可以再做一次 Y/C 壓縮然後壓 MPEG,
否則做好的 DVD/VCD 即使在電視上播放,對比、顏色也會是錯的。

總結:
原始資料以 MPEG/MJPEG 儲存,為 Y/C 壓縮過的資料,
修改編輯時需先做 Y/C 伸張之後再修改。
若做過 Y/C 伸張,壓縮時需做 Y/C 壓縮,出來的畫面才是正確的。
若沒做過 Y/C 伸張,壓縮時不可以做 Y/C 壓縮,出來的畫面才是正確的。

以 TMPGEnc 這個壓縮軟體為例,壓縮時預設是接收 0~255 的 RGB 資料,
先做 Y/C 壓縮,然後才壓 MPEG。
所以如果是 YCbCr 16~235 的資料要對畫面做修改,必須使用 Descale CCIR601 這個濾鏡
(CCIR601 就是 ITU-R BT.601,CCIR 是 ITU 以前的名字),把 Luminous, Chroma 兩個
選項都推到 255(也就是做 Y/C 伸張),然後才做其他的編輯動作。
Descale CCIR601 的順位要排第一位。
然後壓縮時直接壓縮便可以得到正確的結果。
如果沒有要對畫面做修改,則不必做 Y/C 伸張,但是壓縮的時候必需要勾選
進階設定--> 量子化行列(Quantize matrix)底下的 "Basic YCbCr ?出力"
(Out YUV data as Basic YCbCr not CCIR601),這樣 TMPGEnc 壓縮時便不會
做 Y/C 壓縮,壓出來的顏色、對比才會正確。

總結:
如果原始資料是 YCbCr 16~235
有做 Y/C 伸張的話,壓縮時直接壓縮就好,不能勾選 "Basic YCbCr ?出力"。
沒有做 Y/C 伸張的話,壓縮時必須勾選 "Basic YCbCr ?出力"。

再以 Cinema Craft Encoder SP 這個壓縮軟體為例,設定選項的
"16 ??235" = TMPGEnc 不勾選 "Basic YCbCr ?出力" = 壓縮時先做 Y/C 壓縮
"0 ??255" = TMPGEnc 勾選 "Basic YCbCr ?出力" = 壓縮時不做 Y/C 壓縮

實際上 CCE SP 是用兩個不同的 YUV <--> RGB 轉換式,列在下面給有興趣的人參考:
"16 ??235"
Rd = 219*R + 16*256
Gd = 219*G + 16*256
Bd = 219*B + 16*256
Y = 77*Rd + 150*Gd + 29*Bd / 2^16
CR = (( 131*Rd - 110*Gd - 21*Bd ) / 2^16 ) +128
CB = (( -44*Rd - 87*Gd + 131*Bd ) / 2^16 ) +128

"0 ??255"
Y = 77*Rd + 150*Gd + 29*Bd / 2^8
CR = (( 131*Rd - 110*Gd - 21*Bd ) / 2^8 ) +128
CB = (( -44*Rd - 87*Gd + 131*Bd ) / 2^8 ) +128

而 YC 伸張的計算式是(簡略)
Y' = (Y - 16) * 255 / (235 - 16)
C' = C * 255 / (255 - (240-16))

再來探討兩個問題,第一個是 DV Codec 在輸出資料給壓縮軟體時,可能會輸出兩種格式
,第一種是直接輸出 YUV 4:1:1,由壓縮軟體自己去做 YUV --> RGB 的轉換。
第二種是由 Codec 內部先做 YUV --> RGB 轉換,再輸出 RGB 給壓縮軟體。
如果 Codec 是輸出 YUV 4:1:1,則轉換後的 RGB 範圍是 0~255(有做 Y/C 伸張)
還是 16~235(沒做 Y/C 伸張),由執行轉換的壓縮軟體決定。
如 TMPGEnc 的環境設定的選項中,有針對 Canopus DV Codec 做設定,提供你選擇,
YUV --> RGB 轉換時,要用哪一種轉換式。有三種,Basic YCbCr,CCIR601,YUV。

如果是由 Codec 做轉換,輸出 RGB,則是否做伸張由 Codec 決定。
不同 Codec 有不同作法,是否有做伸張必須要做實驗才能確定。

如果 YUV --> RGB 時已經做過伸張,則 RGB 資料已經是 0~255 的範圍,
就不可以再用 Descale CCIR601 濾鏡,否則會有許多資料破表被削掉,切記。

第二個問題,壓縮軟體壓縮時,是否會先做 Y/C 壓縮?
如 MS MPEG-4 Codec,DivX Codec,XviD Codec 這幾個 Codec 都是假設收到的資料是
0~255,會先做 Y/C 壓縮的動作。那麼其他 Codec 和壓縮軟體呢?
這個也必須要做實驗確認才能確定。

唯有解壓縮和壓縮的轉換式能正確搭配(做過 Y/C 伸張壓縮時就必須做 Y/C 壓縮,
沒做 Y/C 伸張壓縮時就不可以做 Y/C 壓縮)最後壓出來的成品才會是正確的。
舊 2003-01-02, 04:51 AM #198
回應時引用此文章
Shade離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
DVD2AVI 的 Color Space 選 RGB/YUV 和 PC Scale/TV Scale 的差異

RGB 模式是輸出 RGB24,YV12 (YUV 4:2:0) --> YUY2 (YUV 4:2:2) --> RGB24,
由 dvd2avi 做內插展開(4:2:0 -> 4:2:2)和轉換的工作(YUV -> RGB)。
內插展開的算式 jackei 大大的網站有寫,相當於 6-tap 的 FIR Filter。

YUV 模式是輸出 YUV 4:2:2(YUY2)。

輸出 RGB 時,preview 顯示會走傳統的 GDI 圖形顯示介面,送 RGB24 的資料給顯示卡,
此時電腦螢幕上看到的顏色正不正確,由 YUV -> RGB 這個選項決定。
(要選 PC Scale 看到的顏色才會正確)

輸出 YUV 時,preview 顯示會走 DirectDraw YUY2 Overlay,直接送 YUY2 的資料
給顯示卡,由顯示卡去做展開和色空間轉換。顯示卡用的都是 PC Scale
(會做 Y/C 伸張,擴展原來的 16~235 的資料為 0~255),所以您可以在螢幕上
看到正確的顏色。

(同理,DVD/VCD 播放時,播放軟體會走 DirectDraw Overlay 丟 YUY2 或 YV12
的資料給顯示卡,由顯示卡來做展開、色空間轉換、和放大(scaling filter)的工作。
由於顯示卡用的是 PC Scale,會做 Y/C 伸張,所以您才可以在電腦螢幕上看到正確的
DVD/VCD 的顏色)

(前提是,做好的 DVD/VCD,其 YUV 4:2:0 的資料範圍必須是 16~235,
經過顯示卡 PC Scale 16~235 -> 0~255 才會正確。
如果 DVD/VCD 做錯,壓縮前沒有先做 Y/C 壓縮,儲存的是 0~255 的 YUV 資料,
則顯示時再經過顯示卡的 Y/C 伸張,會發生 clipping(資料超過範圍被削掉))

(而 16~235 的資料拿到電視上放,電視本來就吃 16~235 的資料,
所以顯示也是正常的)
(所以結論,DVD/VCD 上的資料,必須遵照 CCIR601 的規範,維持 16~235 的範圍)

至於輸出,也是按照 YUV/RGB 的設定,分別輸出 YUY2 和 RGB24。

但是如果您有用 vfapi,因為 vfapi 內部完全以 RGB24 傳送資料,
所以如果你把 .d2v 轉成 vfapi-ref-avi,即使 color space 選 YUV,
dvd2avi 也會做展開轉換成 RGB24 輸出。如果要用 dvd2avi 直接做 Y/C 伸張,
dvd2avi 的 YUV -> RGB 選項勾選 PC Scale 即可。

另外,如果用 TMPGEnc/AviUtl 直接開啟 .d2v,因為這些軟體還是以 RGB24
讀取,所以 dvd2avi 也還是以 RGB24 輸出。

那.... 倒底什麼時候會用 YUY2 輸出?
直接存 AVI 的時候... ^^;

所以如果您是用 vfapi 或用 TMPGEnc/AviUtl 讀取,選 YUV 或 RGB 都沒有差異。

附帶一提 ^^; 如果 dvd2avi 輸出時已經選了 PC Scale(有做 Y/C 伸張),
就不可以再用 TMPGEnc 的 Descale CCIR601 這個濾鏡,也不可以用
AviUtl 的 "ITU-R BT.601 補正",這兩個作的事情是一樣的,都是做 Y/C 伸張。
已經伸張過再做伸張,會有許多資料 clipping。

此文章於 2003-01-02 05:29 AM 被 Shade 編輯.
舊 2003-01-02, 04:55 AM #199
回應時引用此文章
Shade離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
XviD 使用的 RGB -> YUV 算式

由 source code 可以得知,XviD 和大部分的軟體一樣是遵照這本書的標準轉換式作的
http://www.video-demystified.com/book1/index.htm
(網頁上有一個當作樣本的 PDF 檔下載,剛好就是講 Color Space,內容很棒 ^^)

算式為

Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16

Cr = V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128

Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128

此算式等於上述 CCE SP 的第一個算式,也就是假設收到的是 0~255 的 RGB 資料,會先做 Y/C 壓縮,然後才壓 MPEG。


知道這些有什麼用呢?
譬如說當我看到 TMPGEnc vs. CCE SP 的壓縮測試,測試說 TMPGEnc 壓出來的顏色比較鮮豔,CCE SP 的顏色比較黯淡,我第一個就會想到,測試時 TMPGEnc 和 CCE SP 的 Y/C 伸張/壓縮 的設定是什麼?兩者的設定是否相同?如果兩者的設定不同,則出來的顏色表現不同是當然的。
或者說 TMPGEnc 的畫面較模糊,CCE SP 的畫面較清晰,我就會想到,TMPGEnc 的 resize 方法是用「平均像素法」,這種 resize 法的畫面本來就較模糊,但是對低流量的 VCD 來說,這樣比較好壓。模糊是 resize 造成的結果,和壓縮無關,如果真的要比壓縮編碼的效果,應該用別的軟體先做好 resize,譬如說用 Avisynth 的 lanczos3 先做好 resize,再送進去給 TMPGEnc/CCE SP 壓縮,這樣比較才有意義。

所以了解這些原理還是有它的用處的。

又例如擷取卡應該要遵循 ITU-R BT.601 的建議,YUV 的範圍應該在 16~235 之間,所以必須做 Y/C 伸張。但是實際上各家的擷取晶片不一定會完全依照 ITU-R BT.601,事實上 ITU-R BT.601 也沒有強制 Y/C 一定要在 16~235 之間,超出一點是可以的,這個設計本來有很大的一個原因是因為 MPEG 壓縮後資料不會和原來一樣,可能會超出一點,事先規範壓縮前的 YUV 在 16~235 之間可以預留一些空間(低於 16 和高於 235),給壓縮後超出的資料使用。
像新出的 SAA7134HL 和 CX23881 晶片,SAA7134HL 的 scale(範圍)是 15~235,CX23881 則是 0~255,不用再作 Y/C 伸張。所以 CX23881 擷取下來的畫面看起來比 SAA7134HL 鮮豔非常多,會讓人誤會 SAA7134HL 很爛,顏色很黯淡。
請看這個網頁的比較圖片
http://anipeg.yks.ne.jp/topic.html

所以了解這些原理以後,便會知道要確認自己的擷取卡的動態範圍,好知道後續要做什麼樣的色調補正處理。
================================
轉貼完畢
舊 2003-01-02, 05:09 AM #200
回應時引用此文章
Shade離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是07:36 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。