『漫游』酷论坛>『影音数码技术学习交流』>[请教]FAR,PAR,DAR如何计 ..

[请教]FAR,PAR,DAR如何计算?

熊熊*揍敌客@2005-05-18 21:00

片源为VOB文件,FAR,PAR,DAR分别是1.500,0.889,1.333,用XVID编码后变为1.500,1.000,1.333,画面明显变扁。
请问应怎样调整才能保证画面不变形?
引用

skywalker@2005-05-19 03:13

压的时候把长宽比调成1.333 x 0.889 = 1.185试试...........
引用

熊熊*揍敌客@2005-05-19 12:41

那为什么GSpot的建议是697:510=1.367的说?
有没有这方面的资料可以参考一下?
引用

weilai@2005-05-19 13:33

其實如果認定你看的DVD是正確比例

DAR=1.333=4:3=傳統電視長寬比值
FAR=1.5=3:2=NTSC高寬比值
AVICodec測得的解析度應該會是 720*480(標準NTSC DVD-Video)
但實際player播放時是 640*480 ※因為DAR=4:3,高(480)不變的話寬就是640
所以請用
BilinearResize(640 ,480)
做最後輸出

Q:FAR,PAR,DAR如何计算
A:用 GSpot Codec Information ^^

至於變形問題先要了解一下

FAR 影格比例 (Frame Aspect Ratio)
- the width to height ratio of the pixel count, as internally stored in compressed form.
(也就是壓製時的視訊影格 寬及高 的比值)

PAR 像素比例 (Pixel Aspect Ratio)
. Multiply this by fame aspect ratio (FAR) to get display aspect ratio (DAR).
(PAR 與FAR 相乘 就可得到 顯示的高寬比DAR)

DAR (螢幕)畫面比例 (Display Aspect Ratio)
- the width to height ratio of the display screen, as measured inches or cm, not pixels.
(這個值告訴player此片是什麼顯示比例,大部分的電腦/TV 螢幕的DAR都為4:3)

那這些有何用
.player(播放器)是一個Decoder與修飾filter的總成
.decoder只會參考FAR(其實這是個虛有值,實際記錄的還是 width、height)
又壓製時(Encoder)會先调用decoder,而不像player會智慧的使用 修飾filter及參考PAR、DAR
所以才會造成看與壓製出來 高、寬不一樣

回到主題 "怎樣调整才能保證畫面不變形"
1.就前言 FAR x PAR = DAR

2.在 AVI(用AVI泛指大多數影音檔)裡其 PAR 一定是 1.000
(這是虛擬值因為我們假定不去在意使用者用什麼像素比例的螢幕)

3.在 DVD(非低解析度)裡其 FAR 也是固定的 (當然 PAL與NTSC 是不同的)

4.(假設電視與電腦螢幕比一樣)則 DVD的FAR*PAR 就要等於 AVI的FAR*PAR
因此 我們壓製AVI時就要调整 FAR(到此有點廢話連篇 ^^||)
就是壓製時請调用 resize filter

resize時的高寬值如何設定呢?
首先看您要 固定高 還是 固定寬
藉由 (固定的寬/高)值 * (寬高/高寬)比 = (高/寬)值
即可知道 resize時的 [高][寬]值

我們常可看到
Crop(X,Y,W,H)
Lanczos3Resize(newW,newH).AddBorders(BW1,BH1,BW2,BW2)
這種組合方式
Q:又是怎麼一回事呢?
A:原因在於要將字幕顯示在黑邊上,而所觀賞用的螢幕是非16:9的電腦銀幕
※從AVI還原回TV觀看用的VOB比較麻煩這裡就不討論了


=========
回到樓主另一個問題
Q:用XVID編碼後變為1.500,1.000,1.333,畫面明顯變扁
A:因為 1.5* 1.0 ≠ 1.333,所以畫面才會變形,除非您用PAR=0.888的螢幕
引用

岚轩@2005-05-19 16:47

WEILAI兄说的实在是太清楚了,不顶不行啊!
引用

熊熊*揍敌客@2005-05-19 19:12

有点明白了,因为电脑显示器的宽高比为4:3,AVI的PAR又为1,所以FAR=DAR/PAR=1.333。
又我要固定高,所以宽=高*FAR=480*1.333=640,是这样吧?
引用

appleapple@2005-05-19 19:53

weilai太强了,又学了点东西!!
引用

weilai@2005-05-19 20:02

引用
最初由 熊熊*揍敌客 发布
有点明白了,因为电脑显示器的宽高比为4:3,AVI的PAR又为1,所以FAR=DAR/PAR=1.333。
又我要固定高,所以宽=高*FAR=480*1.333=640,是这样吧?


是的 ^^
其碼我做的實驗是這麼告訴我^^||

(如個人說法/理論 有誤還請指教)
使用的是 MPC 6.4.8.4及PowerDVD
來播放 自製VOB、正版DVD(VOB)、若干AVI

P.S. 唯一遺憾的是手上沒有 16:9 (DAR=1.777=16:9) 的DVD,所以不敢說死

用 PowerDVD 播放VOB 時預設大小會比 MPC大
(PowerDVD是 720*540; MPC是 640*480,兩個比值都是 1.333)
可以試著調整 MPC外框則可與 PowerDVD一樣
證明 MPC是可信賴的
引用

adamhj@2005-05-19 22:45

resize还是用gk比较方便……
引用

tct66@2005-05-20 09:42

有興趣的,來算算和GK算出來有何差別
16:9的DVD
720x480 clip->(702+2/9x480) resize->(853+1/3)x480 AE=0
720x480 clip->704x480 resize->(855+39/79)x480 AE=0
720x480 clip->702x480 resize->(853+1/3)x480 AE=???

720x480 addborders ->790x480 resize->960x480 clip->864x480 AE=0
720x480 clip ->711x480 resize->864x480 AE=0




一.
NTSC的DVD(4:3)
因為寬正確的AR(Aspect Ratio)是79:72的
所以令
A=(切邊後的寬*72/79)/切邊後的高
B=變形後的寬/變形後的高
AE(Aspect Error)=(A/B-1)*100%
例如:
切邊後的寬684,切邊後的高468
變形後的寬640,變形後的高480
A=(684*72/79)/468
B=640/480
AE=(A/B-1)*100%=-0.09737...%
-------------------------------------------------------------------
NTSC的DVD(16:9)
因為寬正確的AR(Aspect Ratio)是79:72的,而高的AR是4:3的
所以令
A=(切邊後的寬*72/79)/(切邊後的高*3/4)
B=變形後的寬/變形後的高
AE(Aspect Error)=(A/B-1)*100%
---------------------------------------------------------------
二.
PAL的DVD(4:3)
因為寬正確的AR(Aspect Ratio)是128:117,高的AR是576:480的
A=(切邊後的寬*117/128)/(切邊後的高*480/576)
B=變形後的寬/變形後的高
AE(Aspect Error)=(A/B-1)*100%
------------------------------------------------------------------------
PAL的DVD(16:9)
因為寬正確的AR(Aspect Ratio)是128:117的,而高的AR是576:360的
所以令
A=(切邊後的寬*117/128)/(切邊後的高*360/576)
B=變形後的寬/變形後的高
AE(Aspect Error)=(A/B-1)*100%
引用

weilai@2005-05-20 16:13

tct66兄寫的對我來說太高深了 ^^||

最後想對自己講的
"唯一遺憾的是手上沒有 16:9 (DAR=1.777=16:9) 的DVD"
做補充

利用現有的 16:9 .AVI
做了個 DAR:1.777 的 .VOB

而利用之前的理論
這次 寬 不變 高得到 (720/16)*9=405
遺憾的是這個 405 是不被 8 所整除的數字
所以不能用來當 resize 參數
此時只好取最接近的數
有 400 與 408 可選
那要選哪一個 ?? (408 變化量是比較小只有3)

選好後不挑剔的人是看不出畫面高度有變形的(變性量只有 3~5個像素,相當於一個 windows窗體的 左/右 邊框厚度)

當然比較斤斤計較的人還是會不滿意
此時就可用 Crop 來降低 變形量
比如
Crop(0 ,4 ,720 ,472)
LanczosResize(720 ,408)
(好像怪怪的 ^^||,以後如有其他好算式再說吧~~)

最後的成品 (.avi)
同樣與 .AVI 與 .VOB 做比較
如預期中的
近似 VOB 的畫面 (差就差在: 高增減了3~5個像素)


以上自己探討的都是 DVD(.vob) -> AVI 如何畫面不變形(及最小的犧牲)
至於 AVI -> DVD 那直接用 TMPGEnc Plus ...等相關軟體做就好了
不想多談
而其他高手的 resize crop ...等實作相信有其深奧的理論
請不要與個人思維混淆思考
~thx~
引用

岚轩@2005-05-21 10:32

对了,WEILAI和TCT66等高人来试一个东西吧,我提供RAW!
ftp://218.90.169.125/pub
里面有个RAW!侃侃做成DVDRIP后怎么播放时不变形,顺便谈谈使用哪个编码压缩比和质量相对的均衡的情况下,哪种编码好!并使用了怎么样的滤镜!

我试过了HVS-BEST和ULTIMATE MATRIX,前者够大!视频编码出来居然有2765bps,共90M多,晕!后者稍好,但也有1600bps!
另外使用1200kbps——12000kbps的WMV3,居然编码出来只有1240,效果也不错!
AVS主要部分:
crop(8,92,468,392)
LanczosResize(624,368)
Convolution3d("movielq")
FluxSmoothST(10,15)

pub里面还有几个成品,1.2.1.3的意思是I MIN=1,I MAX=2,P MIN=1,PMAX=3,量化设定!HVS-BEST表明使用这个自定义量化MATRIX!
其他设定:CARTOON模式开启(为有效降低流率),运动搜索ULTRA!B-FRAME,2,1.2,0.6
大家来试一个吧~
最后注意:上传请使用——upload:upload
地址:ftp://218.90.169.125

注意:至多可能是10个线程!!!本人的FTP好象限制1个IP至多2线程!每个线程100KB/S OR 200KB/S,我有点记不清了!
下周一再可能关闭!
引用

weilai@2005-05-21 10:56

岚轩 愛說笑我絕不是高人(tct66 是壓製組的比我深入的多)
話說回來
進了 ftp://218.90.169.125/pub 想下個 RAW... 但不能(下載沒開放...)
引用

岚轩@2005-05-21 15:48

引用
最初由 weilai 发布
岚轩 愛說笑我絕不是高人(tct66 是壓製組的比我深入的多)
話說回來
進了 ftp://218.90.169.125/pub 想下個 RAW... 但不能(下載沒開放...)


刚回来看一下,果然是没有开放,现在应该可以下载了,抱歉,大家来侃侃~

注意:至多可能是10个线程!!!本人的FTP好象限制1个IP至多2线程!每个线程100KB/S OR 200KB/S,我有点记不清了!
下周一再可能关闭!
引用

weilai@2005-05-21 23:22

DAR=1.333=4:3=傳統電視長寬比值
FAR=0.833=5:6=???

AVICodec測得的解析度是 480*576
不過 0.833*1.600=1.333 沒錯的話
先試試同樣算式
得到
LanczosResize(480 ,360)
or
LanczosResize(768 ,576)
兩種
一對照沒有變形
但有黑邊
所以要crop
因為之前的 FAR 超怪
所以要是在 resize 前 crop 此公式會不通
請用 MPC 截圖再用繪圖軟體看做標
得到
crop(10,90,744,392)

最小的犧牲就是
LanczosResize(768 ,576)
crop(10,90,744,392)


至於壓製...(時間已晚有時間再說)
引用

«12»共2页

| TOP