網誌文章分布

最新消息:
AviSynth/VapourSynth Filter 支援 YUV444P16 格式啦~ 這樣就有很多花樣可以玩了,像是Waifu2X, RIFE等RGB濾鏡可以幾乎無損輸出! 超開心
最近的腳本有提供RIFE實時撥放支援,等過段時間再把RIFE的相關資訊寫到Blog中 如果有時間的話...咕咕咕
DmitriRender迎來時隔年五年多的更新了(僅限NVIDIA Ampere, Turing, Pascal, Maxwell, Kepler顯示卡),同時也支援10Bit輸出。不過新版好像緩衝有點太少,容易卡頓
SVP最新版本已支援在DS系撥放器中透過Avisynth Filter輸出10Bit畫面,而且跳轉時卡頓狀況有大幅改善。
由AMD工程師回覆,AMD已徹底終止Fluid Motion技術,如有BFRC需求的用戶請多加留意。 (https://community.amd.com/thread/250830)

近期更新文章:
測試筆記:SVP最新測試版參數(beta script)(2023-12-17 腳本更新)
進階教程系列(十二) - 視訊解碼濾鏡 MPC Video Decoder(2022-06-11)
進階教程系列(三) - 字幕渲染濾鏡 XySubFilter丶AssFilterMod(2022-06-11更新)

2017年5月16日 星期二

進階教程系列(九) - HDR影片於SDR螢幕上撥放(2022-04-17更新)

前陣子,看到 你的名字 4K UHD HDR 港版 與 日版陸續被破解的消息,
基於好奇心理,找了些HDR影片來測試,在SDR螢幕上播放的效果。
一般無註明HDR的顯示器材,就是SDR顯示器材。
先說結論,
如果不是使用HDR螢幕,請盡可能的選擇SDR版本來觀看,
使用SDR螢幕觀看HDR影片,除了亮度不正確外,也會損失高亮度區塊的細節,
要觀看HDR影片,最好的方法就是買個HDR600以上的螢幕來觀看,
並不是HDR影片畫質就一定比較好,很多4K HDR影片都是後期拉上去的,
使用madVR升至4K,畫質並不一定會比較差,更好都有可能。



幾個常見的即時補幀軟體中支援 HDR 10Bit影片的方案:
1. SVP + mpv:10Bit輸出 + HDR meta正常
2. SVP + Avisynth Filter + DirectShow 播放器:10Bit輸出 + HDR meta正常,不支援某些檔案路徑
3. SVP + Vapoursynth Filter + DirectShow 播放器10Bit輸出 + HDR meta正常
4. BlueskyFRC + DirectShow 播放器8Bit輸出 + HDR meta無法傳遞
5. DmitriRender +  DirectShow 播放器:10Bit輸出 + HDR meta無法傳遞
6. MVtools +  Avisynth/Vapoursynth:10Bit輸出 + HDR meta正常
7. RIFE +  Vapoursynth:10Bit輸出 + HDR meta正常,但很消耗GPU資源


使用BlueskyFRC(Fluid Motion)的話,
雖然可以藉由madVR播放HDR影片,但是亮度可能會錯誤(未傳遞完整HDR meta),而且會損失相當多色彩,原因如下

BlueskyFRC僅支援NV12輸出,因此原本的 10Bit HDR 影片會以 8Bit HDR 的格式輸出,
HDR 為了提高對比丶增加高亮度處的細節,使用 SMPTE ST 2084 (PQ) 標準來儲存,
而SDR螢幕無法實時變動亮度,為了顯示「正常的亮度」*1,必須要提高亮度,截掉Y通道較高數值的部分,
而低亮度區塊也因色深減少產生較明顯的色帶,
在 8Bit SMPTE ST 2084 (PQ) Full Range 格式下,
即使在madVR中設定400nits,也會損失許多顏色,
更何況一般並不會設到400nits,常見設定約為150nits左右,損失更多色彩。

*1 此處寫的是「正常的亮度」,而非「正確的亮度」,HDR影片於SDR螢幕撥放時,沒有正確的亮度可言。
*2 計算公式參照 Rec. ITU-R BT.2100-1. (06/2017)

如果非要使用SDR螢幕觀看HDR影片的話,
在madVR hdr標籤頁中,有幾項是必須要知道的


在v0.92.10之後,let madVR decide預設設定為 peak nits: 200,
不過這設定有可能會不夠亮,所以可以選擇 convert HDR content to SDR using pixel shader math這項來調整亮度,
peak nits 設的越低,畫面會越亮,越高的話,則是越暗。

如果peak nits已經設到最低120了*3,但還是不夠亮,
可以取消勾選 compress highlights,代價是損失更多高光區域的資訊。
(勾選的話,顯示更多細節,代價則是壓縮高光區域的對比)

*3 v0.92.12版後最低可低至80nits,但不建議設至這麼低,建議設定範圍為105~200nits(不同影片及設備會有不同的最佳設定)
*4 新的madVR測試版本有改善HDR映射算法,有需要的人可以使用測試版體驗效果。


# 2018-12-10
剛看到群組中有朋友傳了個網址
[软件] 被HDR折腾惨了 https://bbs.saraba1st.com/2b/thread-1796260-1-1.html
因為被引用到本篇中一些相對過時的資訊,但申請該論壇帳號需要邀請碼,無法註冊,所以就只好在這裡稍作回覆了。

在SDR螢幕中撥放HDR影片有幾個需要注意的。(以現況來說)
1. 無論如何設定,顏色都不會是正確的,色調映射效果有限。
2. HDR的規範可以輸出0~10000nits亮度,但SDR僅有0~100nits,所以色調映射必然會壓縮亮度,色調映射後畫面變灰很正常,因為高亮度訊號通常比較少,因此大多會選擇壓縮高光區。
3. 為了降低第2點的影響,可以試圖把一些高亮度的資訊砍除(Clipping)。
4. 因為人眼在不同亮度下看到的顏色是不同的,所以色彩也會變,色調映射時設定的亮度與螢幕實際亮度相關,所以如果設定不相符,算出來的顏色自然也會很奇怪。
5. HDR螢幕輸出的畫面效果用截圖是看不出來的,請用相機。
6. 買個HDR螢幕省事多了,不過請留意規格: 最大典型亮度丶最大峰值亮度丶控光區域分布。


感謝閱讀。
2018-01-23 01:59


更新內容
2018-01-28 修正部分內文。
2018-02-07 添加新版madVR建議值。
2018-05-05 更新SVP支援HDR影片訊息。
2018-05-15 修正部分內文。
2018-05-26 修正部分內文。
2018-11-21 更新SVP支援HDR影片訊息。
2018-12-10 更新部分內文。
2020-11-03 更新部分內文。
2022-03-05 更新即時補幀軟體中支援 HDR 10Bit影片的方案。
2022-04-17 新增一些常見的補幀方案

22 則留言:

  1. 有点看不懂啊,看来还要继续学习。回家后电脑性能太弱无法测试真是遗憾

    回覆刪除
    回覆
    1. 簡單來說,
      1. 目前如果沒有HDR設備的話,觀看HDR影片的效果反而會比觀看普通版本的還來的差。
      2. 有些HDR版本的解析度為4K,普通版本的只有1080p,不過有許多影片的4K其實都是使用軟體放大的,madVR的縮放不見得比較差。
      3. 目前SVP完全無法工作於HDR影片,僅有BlueskyFRC(AFM)可以,不過代價是損失許多色彩,可能會有色帶產生。
      4. SVP在MPC丶Pot撥放器中,可能永遠無法正常顯示HDR影片,未來於mpv撥放器應該可以正常工作。
      5. 目前觀看HDR影片中使用XySubFilter,會有異常現象,請改使用內建字幕濾鏡。
      6. 另外就是,如果非要在一般螢幕中觀看HDR影片,也許會有用處的一些設定。

      刪除
    2. 之前回覆的第3點,目前有所改變

      3. 透過mpv player SVP 可以支援HDR影片,並且也是目前常見補幀軟體中唯一可以支援 10Bit輸出 + HDR 的方案。

      刪除
    3. 之前回覆的第4丶5點,目前有所改變

      4. SVP已於前幾天的更新中提供在DirectShow撥放器中的HDR色調映射功能,雖然效果還很差。
      5. madshi已修復此問題,使用新版madVR可以避免。

      刪除
  2. LAV+ Dmitrirender in potplayer somehow not working. However if use built-in ffmpeg hevc filter , dmitrirender will work again in potplayer .

    回覆刪除
    回覆
    1. Update to the Nightly version of LAV filter.
      https://files.1f0.de/lavf/nightly/

      刪除
  3. 換句話說,SVP + mpv是目前常見補幀軟體中唯一可以支援 HDR影片 10Bit輸出 的補幀軟體方案。
    我下载了mpv 确实不需要任何设置,HDR影片在SDR显示器上面也不再是灰灰的颜色,很不错。同时我也购买了SVP pro,但发现不会设置让mpv插帧使用,在配置文件中加上input-ipc-server=mpvpipe 然后打开视频就立刻崩溃关闭播放器,无法正常播放。系统是win10 64bit 1803版本 显卡是RX460 AFM已经关闭,请问是哪里设置不对吗?

    回覆刪除
    回覆
    1. 抱歉,最近人在外地,回覆較慢。
      要用mpv掛載svp需要安裝svp改的mpv,安裝可以參考這篇
      https://blackmickeysvp.blogspot.tw/2017/06/smoothvideo-project.html

      另外,由於10Bit影片處理及mpv解碼效率問題,所以播放4K Hdr影片可能會有效能不足的情況,建議svp設定成縮減至螢幕大小。

      刪除
  4. 我用LG的UL650显示器,用SVP + mpv播放HDR视频时不能像potplayer+madvr那样把HDR信号输出给屏幕,还需要额外设置什么吗

    回覆刪除
    回覆
    1. 您好,
      mpv是無法輸出HDR訊號給螢幕的,不過可以設定色調映射的輸出亮度,並搭配螢幕開啟HDR模式,即可觀賞HDR畫面。

      mpv中加入此代碼即可設定輸出亮度 --target-peak=[nits]
      nits為您螢幕的最大亮度,預設為100

      刪除
  5. 請問廣色域 SDR 螢幕在套用 icc profile 的狀況下使用 mpv 觀看 HDR 影片時,相較於 SDR 影片會帶來優勢嗎?因為 HDR 影片色域不是比較大嗎?

    回覆刪除
    回覆
    1. 我想,應該可以理解成
      廣色域螢幕經過校色後,HDR影片映射至SDR 與 SDR影片 的觀影效果差異。

      首先,要先讓mpv讀取到icc profile。
      相較於過去的Full HD來說,色域是(BT.709),亮度範圍為 0-100nits
      4K HDR特色是色域更廣(BT.2020/DCI-P3),亮度範圍更廣 0-10000nits (這是目標規格,非實際產品規格)

      HDR色調映射到SDR,會將HDR的亮度壓縮至SDR規範,
      這裡要注意的是,HDR和SDR只差在是否具備動態亮度的能力,亦即BT.2020也可以是SDR影片使用的色域,
      實際上在前幾年也有許多4K BT.2020 SDR的影片,因此HDR影片色域並不一定比較大。

      由於人眼對於同顏色但不同亮度下所感受到的色彩是不同的(人眼對於亮度差異的靈敏度高於色彩差異許多),
      因此當螢幕不具備HDR功能時,未經色調映射直接觀看HDR影片所看到的畫面會是灰濛濛的,
      需要經過一個非線性的EETF轉換,但由於SDR亮度範圍小了許多,因此轉換後可能會導致亮度壓縮或高光區域被切掉(Clip),
      但現有的色調映射演算法還存在一些問題,並沒有一套統一的方案,使得色彩表現會有不小差異,
      另外,
      當前大多HDR影片是由SDR後製而成的(或者調整gamma曲線得到的),
      HDR色調映射回SDR,本質上也是調整gamma曲線,每次轉換的過程中都會有損失,多一次轉換就多一點損失,
      上述兩點是我不推薦使用SDR螢幕觀看HDR影片的因素。

      刪除
    2. 所以說就算套用 icc 還是比較建議一般 SDR 影片囉?因為我螢幕是 93% DCI-P3 色域,總希望能夠充分發揮功用,一般藍光都只有 Rec.709,等於是浪費了額外的色域

      刪除
    3. 因為HDR轉換到SDR的過程中,無統一規範,所以顏色是不準確的,
      與其如此,我個人會選擇色彩正確一點的SDR影片來觀看。

      不過觀影效果是很主觀的,並不一定"相對準確"對您來說就一定是最好的,
      電影是個充滿調色的世界,自己調色又何嘗不可呢,您可以親自嘗試後再選擇較喜愛的方式。

      刪除
    4. 話說您有廣色域的 SDR 影片嗎?貌似沒看過這種東西

      刪除
    5. 國際電信聯盟(International Telecommunication Union, ITU)的規格書:
      BT.2020早在2012年8月便制定出來了,而HDR的建議書BT.2100則是在2016年6月推出,
      因此的確存在BT.2020 SDR的影片,至少日本的4K電視廣播所使用的規格是如此。

      刪除
  6. 主要看HDR影片應該選擇哪一個型號的電視機?

    回覆刪除
    回覆
    1. 沒研究,不清楚呢。
      有預算就上Sony旗艦的,若預算有限制的話,請去相關影視論壇查詢資料。

      刪除
  7. 你好。在已经拥有HDR显示器的条件下,该如何正确设置播放HDR片源呢?我自己捣鼓了一段时间,potplayer+lav+madVR+dimitrirender5.0 可以播放HDR片源了,播放时可以确定显示器已经进入HDR输出模式,但还不能确定是否已经达到最佳设置,只是我个人主观上能感受到是HDR画面应有的亮度和对比度了,但不清楚是否在什么我不理解或是忽略的地方存在可以继续优化色彩的设置,期待博主能上一期HDR全链路配置攻略。

    回覆刪除
    回覆
    1. 显示器是一款相当平价的HDR显示器,而不是较贵的电视机,Philips 436M6VBPAB,色域标称值为:
      BT. 709 範囲:100%*、DCI-P3 範囲:97.6%*
      该如何设置充分发挥高色域的优势呢?抑或是反过来,如何设置尽量还原原片色彩?

      刪除
    2. 因為我目前沒有HDR顯示裝置,所以在這方面的測試不多。
      如果你需要相關資訊,通常可以在以下網址中找到最新madVR測試版的資訊,
      https://www.avsforum.com/threads/improving-madvr-hdr-to-sdr-mapping-for-projector.2954506/page-758

      就我之前測試來說,測試版的mapping效果比0.92.17穩定版本好上許多。

      刪除

熱門文章