|
發表於 2008-9-28 11:21:29
|
顯示全部樓層
老實說, 以前在做 video scaler 時, 就已經發現, 有做過水平或垂直放大的, 畫面銳利感一定會掉一些... 程度多寡而已...
bilinear 2-tap filtering 掉得比較少, 但是近看或是放大到 60" 以上的狀況, 就很容易有上面提到的, 顆粒, 物體邊緣鋸齒等等, 放大倍率到 2.0x 以上時, 特別明顯... 主要原因是產生出來的一個點, 取樣只有兩個點, 無法還原比取樣更高頻的波形... 不過硬體成本算是最合理 (最容易 cost-down 啦), 效果也還算不差, 國產等級的影像處理器電路, 垂直方向大概都只做到這個水準, 了不起是加到 3-tap... 不過我很想吐嘈的是, 用這個演算法, 就算灌進去 1280x720 的影像, 放大顯示到 1920x1080 的面板上, 物體邊緣還是會有很討厭的鋸齒...
要很平滑到騙過人眼的鑑別率, 就是要用 bi-cubic 4-tap filtering ... 保證看不到鋸齒... 缺點就是... 修的太平滑了, 某些物體邊緣的高頻訊號也被修掉了, 導致物體邊緣銳利感會比 Bi-linear 差一點... 然而, 如果影像直接放大成 2.0x 時, 效果最佳的, 其實是這個方法, 而不是直接每個點複製一遍... 不信邪的話, 可以自己用繪圖軟體試試看...
本錢粗的話, 當然就是祭出 Lanczos3 6-tap 或是 Lanczos4 8-tap filtering ... 運算的 coefficient 是用 sine 三角函數得到的, 能夠在縮放後, 維持很多原本影像中的頻帶訊號... 基本上只有像 Cell processor 或是 GPU 的 Stream processor 等級, 才有足夠能力做這種方式的"垂直"縮放(成本當然是相當高)... "水平"縮放倒是還好, 成本還不會高得太離譜, 只多需要 6 ~ 8 向量內積運算的單元跟幾個 register, coefficient table 而已...
最近很流行的超解像力, 大概就是演算法非常有彈性, 每個點要看當時影像的鄰居的排列組合, 甚至不同時間點的歷史記錄, 然後找出最適合它的... 而不只是單純的同一畫面的每個點都用很固定的一套方式處理而已...
其中最重要的一點, 我想就是用 Gaussian Filter 抽出物體邊緣的頻帶訊號, 要特別做加強處理... 而且這應該也很容易判讀出是前景或是背景的畫面... 因為沒聚到焦的部分, 基本上不會有什麼明顯的高頻訊號, 因為那部分看起來就是霧霧的感覺...
至於廠商唬爛說 DVD 720x480 FILM 24fps avg 8.8 Mbps 放大到 1920x1080 時, 不會比 BS HI 17.x Mbps 的 1920x1080i60 差... 聽聽就好了... 我不相信靠 DVD 那樣的 bit rate, MPEG-2 編碼資料中記錄下來的頻帶訊號, 比 BS HI 的系統多...
講了一堆唬爛的話, 不曉得大家會不會看到霧煞煞的就是... 
[ 本帖最後由 pie1394 於 2008-9-28 11:24 編輯 ] |
評分
-
查看全部評分
|