瀏覽單個文章
LIBIDO
Major Member
 

加入日期: May 2001
文章: 122
你用 Nandub Stats Files Reader 這個軟體看到的 Size 大小是 880MB 嗎?
如果是,代表你這片很好壓,壓出來的檔案大小本來就不大。
Nandub 1st Pass 的時候會以最高品質的流量 6000kbps,Quantizer 2x 壓縮一次。除了第一個 frame Codec 會自行建立為 keyframe 以外,其他的 frame 都以 delta frame 2x 壓縮。此時 Nandub 會記錄每一個 frame 的一些資料,包括壓縮後的大小、動態、Luma Noise 等等的數值,寫入 stats 檔裡面。
2nd Pass 的時候會根據你指定的 bitrate 和 1st Pass 的 stats 檔的資料來重新分配每個 frame 的大小。
所以你看到的 stats 檔裡面記錄的 Size 大小就是已經以最高品質下去壓縮之後的結果,粗略的說,這已經是能壓出來的最大的檔案大小。(不過實際上還是有可能可以壓出更大的檔案,這個要解釋起來很麻煩... ^^;)
........
還是解釋一下好了..
Quantizer 是 MPEG 量化時的參數,Quantizer 越大代表砍掉的細節就越多,壓縮的倍數越高,畫質也越差。Quantizer 2x 是 MS MPEG4 能用的最好品質。keyframe 是指獨立壓縮,不參考其他畫面的 frame,類似於 MPEG1/2 的 I-frame。delta frame 是指壓縮時會參考前面的畫面,記錄和前面畫面差異量的 frame,類似於 MPEG1/2 的 P-frame。在場景變化的地方,畫面的變動量大,以 delta frame 壓縮可能需花費較大的 size,這時如果以 keyframe 壓縮,可以較節省空間。但在同一個場景裡面,由於畫面的變動量不大,以 delta frame 壓縮所花費的 size 反而會較小,較省空間,此時若以 keyframe 壓縮,則通常會比 delta frame 要來得大。1st Pass 的時候,Nandub 是全部以 delta frame 2x 壓縮,如上所述,如果在某些不恰當的地方改成以 keyframe 壓縮,則壓出來的檔案大小是有可能可以比 1st Pass 的檔案還大的。

不過以正常的情況來講,1st Pass 的檔案大小已經代表了你這部影片大致上壓縮的複雜程度,所以如果 1st Pass 的檔案大小就只有 880MB,則你按照正常壓縮,最大的 size 也不會和 880MB 差得太遠。
如果你想要壓得再大一點,可以:
1. 提高畫面解析度
2. 用 Bicubic resize,畫面會比較銳利,也會比較難壓,檔案會更大一點

至於 cross point,射手網的說法是錯的。
首先什麼是 cross point 呢?這個用文字不好解釋,請看下面這張圖

(如果圖出不來,請按滑鼠右鍵 --> 顯示圖片,多試幾次)
藍色的線是 1st Pass 以最高流量 6000kbps 壓出來的流量變化曲線,曲線越高的地方代表那個地方所花費的流量越大,越低代表那個地方花費的流量越小。紅色的線是 2nd Pass 時,根據你所指定的 bitrate 產生的新的流量曲線。因為通常指定的 bitrate 會小於 6000kbps,所以 2nd Pass 時每個 frame 能使用的流量就會變小,整個曲線也因此往下平移。
Nandub 的 SBC Settings --> Bitrate Curve --> Curve compression 這個設定就是,將這個紅色的曲線給"壓平一點",讓曲線最高的地方和最低的地方的差距不要那麼大。也就是原本需要較多 bitrate 的地方少給一點 bitrate,讓曲線下降,原本需要較少 bitrate 的地方多給一點的 bitrate,讓曲線上升,產生出來的新流量曲線,就是圖形中的那條綠色的曲線。(綠色的曲線總的 bitrate 和紅色的曲線總的 bitrate 是一樣的,只是分配、分佈的地方不一樣)
這樣的設定據說是可以在指定流量較低的時候讓整體的平均品質變好。(因為當指定流量低的時候,紅色曲線會往下平移,此時原本低流量的畫面的曲線會因此降得很低,這幾個畫面就有可能會因為流量太低而出現明顯的壓縮瑕疵。所以藉著這個曲線壓縮的調整,把流量高的地方分一點 bitrate 給流量低的地方,反正流量高的地方少一點 bitrate 可能也看不太出來,這樣可以增進低流量地方的畫質,讓整體的畫質維持一定的水準,而不會有幾個畫面因為流量太低出現明顯的壓縮瑕疵而破功)
注意當這個設定太高的時候,原本需要高流量的畫面會因為要分太多的 bitrate 給低流量的畫面,造成這個需要高流量的畫面的 bitrate 不足,反而壓出明顯的壓縮瑕疵。
cross point 就是圖形裡壓縮後綠色的線和原本藍色的線的交會點。在 [option]-->[perferance]-->[sbc] 裡面設定好 [crosspoint] 的大小以後,按 Curve compression % 設定旁邊的 [Calc...] 這個按鈕,Nandub 就會自動幫你計算這樣的 cross point,對應的壓縮百分比是多少,這個就是 cross point 的用途。
因為 cross point 是用來調整壓縮的曲線,但是並不會改變壓縮曲線後,總的 bitrate 大小(紅色的線和綠色的線總的 bitrate 是一樣的,只是分配的位置不一樣),所以 cross point 並不會改變生成的檔案大小。
(射手網的教學是翻譯自 koepi 的 Nandub 說明文件,你可以對照同一個 FAQ,koepi 並沒有說 crosspoint 可以改變檔案的生成大小,這種說法是該文作者自己加上去的
http://mitglied.lycos.de/koepi/nand..._explained.html

如果要讓檔案變大,譬如說 1st Pass 的檔案大小是 2G,壓出來只有 1G,想調成 1.2G,可以
1. 調高 Gauge 的最大和最小值
2. 調低 DRF(=Quantizer)的最大值

前面提到的 Curve compression,還有另一個 Motion based curve modulation(根據動態調整流量曲線,動態越高的地方少給一點 bitrate,理由是高動態人眼比較不敏銳,有瑕疵也可能看不出來。如果設得太高很容易在高動態的場景出現壓縮瑕疵),我都是不用的 ^^;
因為我通常是不計檔案大小,追求最高品質。那些曲線壓縮調來調去,還是會被人看出破綻,倒不如就認命多給一點 bitrate 吧
當然如果迫不得已要用比較低的 bitrate 的時候,這些曲線壓縮調整還是有它的用處的...
舊 2002-07-20, 01:48 AM #6
回應時引用此文章
LIBIDO離線中