![]() |
||
Senior Member
![]() ![]() ![]() 加入日期: Oct 2002 您的住址: El's room
文章: 1,046
|
意外發現 RV10 壓 HDTV 大小的影像,畫質其實蠻好的
前一陣子和燕鴻大討論提到 Blue-ray Disc 要使用 H.264/AVC FRExt 作為影像壓縮格式,
因為 SONY 不滿意原 H.264/AVC 的壓縮品質,說是會把電影膠片常見的很細微的雜訊顆粒給刪除掉, 也就是一般人說的菲林感 Film Effect,所以 H.264 的制訂小組就追加了一個新的擴充規格, 叫做 H.264/AVC FRExt。 FRExt 的 Amendment 1 已經在今年 7 月提出,它多出的新功能.... 我們先來看看原本 H.264/AVC 三個 Profile 的壓縮工具: ![]() FRExt 主要的三個增進壓縮效率的新工具: 1. 8x8 vs. 4x4 Transform Adaptivity 原本 H.264 在制訂的時候,有多種不同的轉換方塊大小,叫做 ABT。 後來因為 ABT 的複雜度太高,在最終定案的時候被拿掉了,統一用 4x4 的轉換大小。 4x4 的轉換大小會減少 MPEG-2 壓縮的方塊瑕疵 Blocking,和雜訊 Ringing。 但是它同時也會刪除一些很細微的高頻細節,例如電影膠片上的雜訊顆粒。 FRExt 追加回自適應切換的 8x8/4x4 的轉換方塊大小,讓畫質更好。 2. Quantization Scaling Matrices 原本 H.264 的量化方式沒有量化矩陣,現在 FRExt 引入 MPEG-2 使用的, 符合人眼知覺的,優化的量化矩陣。 3. Separate Cb and Cr QP control 色彩資訊可以使用和亮度資訊不同的量化參數,對色彩和亮度給予不同程度的量化。 其中 1 和 3 的功能也是微軟的 VC-9 所使用的功能。 VC-9 是微軟大力推廣,還提交給 STMPE 審核,希望能夠成為下一代影像壓縮的標準。 而 HD DVD/Blue-ray Disc 都已經宣布將會使用 VC-9 作為影像壓縮的格式之一。 VC-9 和我們一般見到的 WMV-9 有點不一樣,包括在微軟網站上放的 WMV HD 的示範影片, 都只是用 WMV-9 Main Profile@High Level 壓縮。 VC-9 是 WMV-9 Advanced Profile,和以前的 WMV-9 最大的不同,是多了對交錯訊源的壓縮支援。 說老實話,我覺得 VC-9 的規格制訂的蠻好的,複雜度大幅簡化,而且壓縮品質也不錯。 H.264/AVC 就太暴力了,雖然畫質可以很好沒錯,不過花費這麼高的計算複雜度代價, 換來的畫質提升,不知道是否真的划得來;有多人會在意、注意這樣一點的畫質差距? 不過 FRExt 就真的提升非常多,我覺得如果用 FRExt,就很划得來。 FRExt 有 4 個 Profile,各 Profile 支援的特殊功能: ![]() 如上所見,FRExt 的畫質的追求已經到了變態的程度, sample 的精度由原本的 8bit 提高到 9~10bit,甚至 11~12bit。 色彩格式由原本的 4:2:0(色彩資訊只有亮度資訊的 1/4,會造成 MPEG-2 ****現的色階瑕疵、紅色鋸齒) 提升到 4:2:2 (1/2) 甚至 4:4:4 (1:1)。 其實 FRExt 對畫質挑剔的程度,還不只如此,例如它連色彩轉換式 RGB -> YCbCr 轉換時, 浮點計算會造成的捨棄誤差,以及當初為了降低複雜度, 使用簡化的 RGB -> YCbCr 轉換式.. 等等的缺點,全都要加以改良。 所以有 Residual Color Transform 這個功能,多追加 2bit 紀錄, 甚至訂立了一個新的、沒有小數誤差的色彩系統,叫做 YCgCo; 更可怕的,FRExt 還乾脆支援 RGB 的色彩格式。 根據 Blu-ray Disc Association 做的測試,FRExt 在主觀測試中(請一堆測試者用人眼去判斷), 大約只要 MPEG-2 的 1/3 的流量就可以達到「視覺上」的相同品質。 ![]() 在客觀測試 PSNR 測試中(計算壓縮前和壓縮後畫面的差異), FRExt 大約 8Mbps 可以等於 MPEG-2 20Mbps 的「數字上」的相同品質。 ![]() 嗯,FRExt 很強沒錯..... 不過這跟標題 RV10 壓 HDTV 有什麼關係? ^^;; 是這樣的,由於上次討論到 H.264 會刪去細微的顆粒雜訊,造成 SONY 對它的畫質不滿意, 我覺得很奇怪,再怎麼說 H.264 也比 WMV-9 強,H.264 看不下去,那麼 WMV-9 豈不是更慘, 在好奇心的驅使之下,我很知道現在 H.264 究竟會刪去多少雜訊細節,所以就做了下面這個測試實驗。 而在這個實驗中我意外發現,一般認為在高流量、高解析度畫質不佳,只適合用來壓低流量、低解析度的 RV10,竟然意外的在測試中有很好的表現,所以提出來和大家分享 ^^;; 繞了一大圈..... 看來這篇又會打得很長..... XD H.264 的 Level,支援的最大解析度和最大流量,以及最大的參考畫面張數 ![]() 此文章於 2004-10-15 11:46 AM 被 Shade 編輯. |
|||||||
![]() |
![]() |
Senior Member
![]() ![]() ![]() 加入日期: Oct 2002 您的住址: El's room
文章: 1,046
|
為了瞭解 H.264/AVC 在壓縮 HD 訊源時的表現,我用 SVT 的 HD Test Sequence 做測試。
原始訊源是用 HDCAM 拍攝,以無壓縮的方式儲存到 DVS HDStationPlus 的硬碟裡, 原本 1080p(25fps)/720p(59.94fps) 的 10bit 4:2:2 訊源,再轉成 8bit 4:2:0 的取樣格式, 色彩空間我也由原本 HD 使用的 BT.709(1080i/p) & SMPTE 296M(720p) 轉為 SD 的 BT.601 色空間, 這樣這些影片在電腦上播放看到的顏色才會正常。 720p 的訊源原本是 59.94fps,我把它改成 25fps,這樣比較容易放得動 ^^;; 所以這次測試壓縮的對象是沒有壓縮過的、無失真的高解析度訊源, 和以往使用 DVD/WMV HD 等已經壓縮過的影片作為測試的對象不同, 所以各個 Codec 最後壓出來的表現也和以往測試 SD 時的表現有所不同。 最後的重點是本篇主題提到的,RV10 (RealVideo 10,載體通常是用 .rmvb/.rm) 這個格式, 在壓縮 HD 1080p/720p 時的表現,令人意外的很好,所以 RealNetworks 如果有心, 可以推廣這個格式用到高解析度、高流量的運用上,可惜看起來 RealNetworks 公司應該是沒有這種打算。 呃,可能要等晚上才有時間寫後面的報告..... |
||
![]() |
![]() |
*停權中*
加入日期: Aug 2001 您的住址: TAIPEI
文章: 67
|
寫的詳細呀 拍掌~
倒是問問線現在電腦上有上面H XX 等等...格式影片下載及播放嗎 |
![]() |
![]() |
Master Member
![]() ![]() ![]() ![]() 加入日期: Nov 2001
文章: 1,563
|
引用:
Shade 大神開的第二個主題居然是推 RV10...跟上次的 DIVX 5.2 有異曲同工之妙嗎(笑) 如果高解析度高流量還被 RV10 搶走豈不是 MPEG-4 面子都丟光了^^" 不過 RV10 拿來壓動畫真的不錯... 2 次壓縮的時候會把來源的雜訊瑕疵洗掉反而讓畫面變得很乾淨...當然細節也會洗掉^^" 有時候看起來比原始檔還舒服(汗) 但是實攝電影的表現 RV10 也能很出色嗎?
__________________
免裝Codec就可輕鬆將各種格式(含RMVB,AVI)轉檔成DVD,AVI,MP4,H264,PSP/iPod可看的免安裝軟體(可加字幕,簡單) 軟體永久下載點,使用上的常見問題&解答,官方討論區 《圖文解說》用全世界80%影音DVD之母 Scenarist 為市售DVD加中文字幕(保留原始選單,章節,多重PGC,且能相容WinDVD) 2006/08/01 修正更新教學下載!不用VobBlanker也能保留多重 PGC,打造最高相容性加中文字幕 DVD,連WinDVD也可以拉動時間條! 新增快速 AVI 轉 DVD(字幕非內嵌,可開可關!)的方法,無字幕 DVD 外掛中文字幕檔觀看,調時間軸的方法 《發現》史上最強! 比 WinAVI 速度更快品質更好的轉檔軟體現身!(可加字幕,批次轉檔) 附圖比較!(追加原始檔圖片),MME轉RMVB不會無聲不能開檔的超簡單方法,MME轉RMVB不會影音不同步的方法,MME加字幕轉檔的方法 《VirtualDubMod + AviSynth 簡易教學》DVD 轉 XviD 公認最簡單,轉檔速度最快,品質最好,挑片率0的方法! (追加"教學用 AviSynth plugin 永久連結下載提供",和"疑難雜症基本解決方法"以及"AVI 內嵌字幕的方法") |
|
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Apr 2002
文章: 367
|
RV10的表現不錯,有些AVI有的壓縮瑕疵
用RV10壓過之後,似乎是有用一點霧化效果掩飾掉瑕疵 如遇流量大的場景產生的方格狀 相對的壓縮耗費資源,幾乎是100%(以我的CPU而言) 但有一個問題,RV10檔案TMPGEnc似乎無法開啟轉檔 如有人知道如何轉RV10檔案>MPEG,也請不吝賜教 |
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Aug 2003 您的住址: Hong Kong
文章: 308
|
引用:
先安裝RealAlternative,在Windows Media Player確認為播放RV10檔案後,在TMPGEnc把DirectShow File Reader的優先序調高,便可以開啟。 引用:
這次應該不會再推XviD了,最多只是推H.264/AVC FRExt。 不過AVC FRExt應該是一樣很好的東東。 高解像的情況下,高頻細節相對不明顯,刪除了也不易察覺。 就算是色塊,看起來也不明顯。 放大看看我壓的HDTV訊源便知道,差不多整個畫面也是方塊,但用原大幾乎看不見方塊。 另:不知UDTV訊源會是甚麼樣子.......
__________________
我寫的程式: HQMP (2005/09/04): http://sswroom.no-ip.org:5080/compprog/smp/hqmp.html AVIRead 0.927 (2006/01/28): http://sswroom.no-ip.org:5080/compp...read/index.html SMP (04/09/02): http://sswroom.no-ip.org:5080/compprog/smp/index.html Subtitle Editor 0.6 (05/01/23): http://sswroom.no-ip.org:5080/compp...edit/index.html ADX Decoder Directshow Filter 0.61: http://sswroom.no-ip.org:5080/compp...xdec/index.html PSSADPCM Directshow Filter 0.61: http://sswroom.no-ip.org:5080/compp...dpcm/index.html XA Filter 0.61: http://sswroom.no-ip.org:5080/compp...lter/index.html |
||
![]() |
![]() |
Senior Member
![]() ![]() ![]() 加入日期: Oct 2002 您的住址: El's room
文章: 1,046
|
呃,上次開 DivX 5.2 的主題,結果內容是在推 XviD,
這次用 RV10 當幌子,結果點進來的第一篇主力都是在介紹 FRExt.... ![]() 我真的不是故意的..... ^^; 不過這次不會像上次那樣,明褒暗貶了 ^^;; 這次是真的讚賞 RV10,這個格式確實很厲害,不像 DivX 5.2 是一敗塗地,確實沒救了 ![]() RV10 唯一的缺點,大概就是播放的系統需求很高,需要比較快的 CPU 才放得動。 還有播放 .rm/.rmvb 需要另外下載安裝他們的 Real Player,有點討厭。 雖然可以下載 Gabest 寫的 RM Media Splitter,或者用 MPC 內建的分離器, 搭配 Real Alternative,就可以運用 DirectShow Filter 來解碼,不必安裝 Real Player。 不過 Real Alternative 檔案還是很大(要 5.63MB),而且是不合法的。 anyway, 總之 RV10 不是一般認為的那樣,畫質很差,只能用在低流量, 其實 RV10 提高流量,畫質也可以很好,而且用來壓 HD 的訊源,一點也不會比其他格式遜色。 測試的第一個影片是 New Mobile and Calendar。 舊的 480i/576i 的 Mobile and Calendar 是非常難壓的一個測試影片,它的動態不大, 但是難壓到超乎你的想像,用 9Mbps 的 DVD 極限流量都還是壓得非常慘, 學界很喜歡用這個 sample 做品質測試。 相反的,New Mobile and Calendar 並不難壓,我選擇用 720p (1280x720 progressive) 50fps -> 25fps 的版本做測試,大約 4Mbps(25fps) 就可以壓出堪看的品質(如果是原本的 50fps 要 8Mbps)。 測試的第一組是 MPEG-2,我想要比較 MPEG-2 壓出來和下面會做的 MPEG-4 測試成績差多少。 MPEG-4 的壓縮率到底比 MPEG-2 高多少? 我用了三個軟體的 MPEG-2 Encoder,分別是 TMPGEnc Plus 2.521, MainConcept MPEG Encoder 1.4.2 , ProCoder 2.0。 CCE SP 2.7, TMPGEnc XPress 3.0 因為不能壓 HD 的影片,所以無法測試。 HT MPEG Encoder 可以壓 HD 的影片,但是它沒有辦法讓我設定 GOP 的長度,所以還沒比就先敗下陣來, 最後我還是硬著頭皮壓了一個檔案作測試,結果壓出來的檔案用 Reference iDCT 解碼會有灰色方塊的 Bug, 於是我就放棄這個 Encoder 不測了 -_-|| 以上三個 MPEG-2 Encoder 的設定我都設一樣,MP@HL,VBV Size 1194KBytes,GOP 長度 24, 約一秒鐘,因為原影片是 50fps,最佳的長度就是 24。 MainConcept MPEG Encoder 的動作搜尋範圍我有手動指定,拉到大 +127.5 ~ -128, 這樣會壓很久,我試過拉大範圍品質會比較好,「在這個測試上」。 另外掃瞄順序我從預設的 Alternate 改成較適合 Progressive 訊源使用的 Zig-zag scan。 還有量化表也由預設的非線性量化表 Non-linear 改成較適合低流量使用的線性量化表 Linear。 ProCoder 則是很聰明,在低流量的時候它會自動切換成線性量化表,所以不需要我手動更改。 TMPGEnc 則是無法更改量化表,壓 MPEG-2 只能用非線性量化表,所以這一點無法改成一致。 TMPGEnc 我有開啟 Soft Block,柔化方塊 35,不然壓出來的方塊會很多。 CBR 4000kbps 壓縮,壓出來亮度的峰值訊噪比 Y-PSNR: (PSNR 越高越好,代表壓縮前後的畫面差異越小) 代碼:
Minimum Average Maximum TMPGEnc 29.3983 32.2272 34.7417 MME 29.8038 33.8220 37.9377 ProCoder 30.3098 34.4586 39.1066 Minimum 是整段影片中,壓得最差的 Frame 的 PSNR Average 是整段影片的平均 PSNR Maximum 是壓得最好的 Frame 的 PSNR YUV 各個 channel 的 PSNR,和最後的整體 PSNR 代碼:
Minimum Overall Maximum TMPGEnc Y-PSNR: 29.3983 32.0599 34.7417 U-PSNR: 34.6498 36.4692 39.0012 V-PSNR: 38.6553 40.3685 42.8819 Sum-PSNR: 30.7387 33.2997 35.9012 MME Y-PSNR: 29.8038 33.3297 37.9377 U-PSNR: 34.7291 37.0841 40.1592 V-PSNR: 38.2876 40.7539 44.0072 Sum-PSNR: 31.0952 34.4815 38.7913 ProCoder Y-PSNR: 30.3098 33.9728 39.1066 U-PSNR: 35.3492 37.4787 41.1736 V-PSNR: 39.1210 41.2586 44.5053 Sum-PSNR: 31.6191 35.0958 39.9491 由於 YUV 總和的成績,和單獨 Y 的成績,大致上是相同的,所以後面我就不列了, 只列對人眼來說比較敏感、比較重要的 Y-PSNR 數據,除非 UV 有很大的不同, 值得特別提出來參考的。 Y-PSNR - Frame 圖,橫軸是時間(Frame),縱軸是 PSNR(dB) ![]() 凸起來 PSNR 特別高的點都是 I-frame。 大致上整段影片,三者都維持同樣的差距,勝者恆勝,沒有互有領先的情況。 這跟使用 CBR 壓縮有關,直接硬拼實力,Encoder 不能藉由優異的流量控制分配, 暫時提升某一小段的品質,所以壓縮能力不如人家的,只好從頭輸到尾。 由於 New Mobile and Calendar 前段的畫面比較複雜,細節很多,比較難壓,所以 PSNR 較低; 後段的畫面有一大片空白,比較好壓,所以 PSNR 升高。各個 Encoder 大致都呈現這樣的趨勢, 不過 TMPGEnc 例外,我不太懂它後面為什麼為什麼會搞得這麼難壓,應該很好壓才對, 不過 TMPGEnc 這裡在銳利文字的周圍會出現很慘的破碎瑕疵,所以 PSNR 還是一蹶不振。 還有一點,由於 TMPGEnc 會做 YUV -> RGB 的轉換,會造成數值上的差異, 所以測 PSNR 通常會比其他 Encoder 低。 再加上 PSNR 有時不能很好的反應實際上人眼看起來的畫面品質,可能 PSNR 測起來很差, 但是看起來其實沒那麼糟,所以我另外測了 SSIM。 SSIM 也是一種客觀評量法,不過它考慮了一些人眼的視覺特性作計算, 所以測出來的成績和視覺的相關性比較大,比較可以信賴。 三者最後調整後的 SSIM 平均分數,這個分數越高越好 TMPGEnc: 45.83 MME: 52.65 ProCoder: 55.99 SSIM - Frame 圖,橫軸是時間,縱軸是 SSIM,這是調整前的分數,分數越高、越接近 100 越好 ![]() 呃,大致上測出來的結果和 PSNR 一樣。 我實際用肉眼看,也是一樣的結論,由於這個差距很大,一個是堪看的程度,一個是壓縮瑕疵遍布的程度, 所以基本上應該沒有異議 ![]() 抽幾個具有代表性的畫面做範例圖。 ProCoder #149 是 P-frame http://home.pchome.com.tw/health/bc...ProCoder2.0.jpg MME #149 是 B-frame http://home.pchome.com.tw/health/bc...49-MME1.4.2.jpg TMPGEnc #149 是 B-frame http://home.pchome.com.tw/health/wg...MPGEnc2.521.jpg 原始畫面 #149 http://home.pchome.com.tw/health/wg...cal-149-Src.jpg ProCoder #150(B-frame) http://home.pchome.com.tw/health/vb...ProCoder2.0.jpg MME #150(P-frame) http://home.pchome.com.tw/health/vb...50-MME1.4.2.jpg TMPGEnc #150(P-frame) http://home.pchome.com.tw/health/sz...MPGEnc2.521.jpg 原始畫面 #150 http://home.pchome.com.tw/health/sz...cal-150-Src.jpg MPEG-2 壓低流量的話,ProCoder 應該是最強的。事實上這個 MPEG-2 Encoder 實在強得有些可怕, 算是非常頂級的 MPEG-2 Encoder,靠著它優異的壓縮能力,把 MPEG-2 和 MPEG-4 的差距又拉近了一點。 此文章於 2004-10-16 09:22 PM 被 Shade 編輯. |
![]() |
![]() |
Senior Member
![]() ![]() ![]() 加入日期: Oct 2002 您的住址: El's room
文章: 1,046
|
對了還有一點忘了提,有看上面的範例圖的人會發覺,ProCoder 壓出來偏紅,MME 壓出來偏綠,不知道為什麼,我檢查過應該不是 709/601 色系的關係。
|
![]() |
![]() |
Major Member
![]() 加入日期: May 2001
文章: 167
|
![]() 推! 寫得實在是太詳細, 太精采了!
__________________
|
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Aug 2003 您的住址: Hong Kong
文章: 308
|
引用:
偏紅或偏綠,很大可能是因為YUV<->RGB出了問題,有可能是簡化算式產生出來的誤差做成,也有可能是用了不同的數值做成的,2小數點、3小數點、5小數點所計算出來的結果也會有一些分別。 另: 現在越來越不滿nVidia的YUV->RGB的品質。 用nVidia的YUV->RGB所出現的色塊/雜訊總是比軟體YUV->RGB的明顯,如今天壓的Sakura War TV OP2,用nVidia硬體Overlay播放,很多地方也出現明顯雜訊,用軟體則不明顯,甚至看不見。 現時nVidia的Overlay唯一好處是YUV4:2:0->YUV4:4:4時是用n-Tap Filter,品質會好一點。 顯示出來的色彩是差不多,設定是: nVidia是GeForce 4 MX 440 + WMP6.4 + ffdshow -> XviD 1 (XviD 1.1) (Brightless 128 Contrast 109 Saturation 131) 軟體是HQMP DCC 2004/10/6 alpha version + XviD 1.1 (Brightless 100 Contrast 100 Saturation 140) + 顯示卡的RGB Gamma Correction 影片和顯示器也是640x480@120Hz,用同一台電腦、顯示器比較。 不知ATI的品質會不會比得上軟體呢? HQMP的網頁: http://sswroom.no-ip.org:5080/compprog/smp/hqmp.html
__________________
我寫的程式: HQMP (2005/09/04): http://sswroom.no-ip.org:5080/compprog/smp/hqmp.html AVIRead 0.927 (2006/01/28): http://sswroom.no-ip.org:5080/compp...read/index.html SMP (04/09/02): http://sswroom.no-ip.org:5080/compprog/smp/index.html Subtitle Editor 0.6 (05/01/23): http://sswroom.no-ip.org:5080/compp...edit/index.html ADX Decoder Directshow Filter 0.61: http://sswroom.no-ip.org:5080/compp...xdec/index.html PSSADPCM Directshow Filter 0.61: http://sswroom.no-ip.org:5080/compp...dpcm/index.html XA Filter 0.61: http://sswroom.no-ip.org:5080/compp...lter/index.html |
|
![]() |
![]() |