V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FishGrazier
V2EX  ›  视频技术

4k 8bit 能被转换为 1080p 10bit 吗?

  •  
  •   FishGrazier · 2022-12-17 10:39:14 +08:00 via Android · 2393 次点击
    这是一个创建于 701 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我手上正好有 4k 8bit SDR 的片源,由于我的基础知识比较匮乏,所以我不确定有没有软件能做到这个。
    但是起码我还是知道 720p 转换为 1080p 并不会增加清晰度的。我只是想了解,色深的不足能不能用清晰度来弥补?
    17 条回复    2022-12-18 07:55:45 +08:00
    menglizhi2333
        1
    menglizhi2333  
       2022-12-17 13:58:13 +08:00
    不能,色彩深度和画面分辨率是两个东西,8bit 相比 10 bit 缺失的部分,是算不出来的,用 AI 来猜也许可以
    hanbing135
        2
    hanbing135  
       2022-12-17 14:25:12 +08:00 via iPhone
    ai 估计可以
    DivineRapierH
        3
    DivineRapierH  
       2022-12-17 14:32:08 +08:00
    可以用三维坐标系来类比,分辨率是 x y 轴,色深是 z 轴,两者不在一个维度没有比较的意义。
    msg7086
        4
    msg7086  
       2022-12-17 15:27:45 +08:00   ❤️ 3
    可以的。色深是精度,分辨率在改变的时候精度要求会增加。
    举个例子,4k 转换到 1080 ,需要把 4 个像素融合成 1 个。
    假如 4 个像素的某个通道的颜色分别是 125,127,128,129 ,融合完以后会变成 127.25(at 8b)。
    如果你把 4k8b 转换成 1080p8b ,那么 127.25 就会被砍到 127 。但如果转换成 10b 的话,就会变成 509(at 10b),是整数,不需要砍精度。

    非整数倍数缩放的时候产生的中间数值的精度会更高,因为中间的计算结果都是实数范围。通常我们为了性能考虑,都是在 16bit 下运算的(这样也可以充分利用 AVX2 SIMD 加速),处理完以后再降回到低位深。
    msg7086
        5
    msg7086  
       2022-12-17 15:30:44 +08:00   ❤️ 1
    比如说在 16bit 下缩放 125,127,128,129 的四个像素通道,先左移 8 位变成 128000,130048,131072,132096 ,然后求平均值得 130304 ,最后右移回 8 位或者 10 位。如果是 8 位,就右移 8 位截断到 127 。如果是 10 位,就右移 6 位截断到 509 。
    FishGrazier
        6
    FishGrazier  
    OP
       2022-12-17 15:35:47 +08:00 via Android
    @msg7086 可以可以,学到了
    msg7086
        7
    msg7086  
       2022-12-17 15:37:15 +08:00
    漏说了你问的第二个问题。
    色深是一个比分辨率更无关紧要的东西。就像我上面说的,色深是精度,精度本身对画质的影响是可以忽略不计的,而分辨率则是显著影响画质的属性。一个颜色他的分量是 128 还是 128.03125 你肉眼是几乎无法分辨的,甚至你的显示器都可能无法显示这么小的差异。为什么要去弥补他?
    passall
        8
    passall  
       2022-12-17 15:54:05 +08:00
    @msg7086

    不是很明白,极端一点,4K 黑白,可以转为低分辨率的 256 色吗?
    FishGrazier
        9
    FishGrazier  
    OP
       2022-12-17 16:08:16 +08:00 via Android
    @msg7086 没事,强迫症而已,我收集了好多蓝光 10bit 原盘资源,但是唯独我说的那个找不到 10bit 片源
    leonshaw
        10
    leonshaw  
       2022-12-17 16:12:32 +08:00 via Android
    只能减小算法带来的精度损失,不能弥补原片的色深不足
    GordianZ
        11
    GordianZ  
    MOD
       2022-12-17 16:14:08 +08:00
    没问题的,你看国内视频网站 10,bps 都能叫蓝光,8bit tonemap 到 10bit 叫 HDR 怎么不行 /s
    GordianZ
        12
    GordianZ  
    MOD
       2022-12-17 16:16:12 +08:00
    @passall 可以,让 AI 来猜就行,天空映射到蓝色,土地映射到棕色,何止 256 色,10bit 都可以。但是颜色准不准就另当别论了,因为损失掉的信息不可能弥补回来。
    GordianZ
        13
    GordianZ  
    MOD
       2022-12-17 16:20:16 +08:00
    @passall 但是如果你正经不用猜的话是不行的,因为 @msg7086 的方法可以提升精度,但是需要的分量都存在(可以理解成维度)。如果你是黑白的相当于只有明度分量,是缺少色度分量的,也就没有办法来取样颜色了。
    woctordho
        14
    woctordho  
       2022-12-17 17:35:57 +08:00 via Android
    @msg7086 8bit 跟 10bit 相比容易让人肉眼分辨的问题之一是 banding ,如果分辨率高,8bit 加点 dither 就能模拟 10bit 的效果
    Ahiok
        15
    Ahiok  
       2022-12-17 17:36:15 +08:00
    madvr ?
    wizardyhnr
        16
    wizardyhnr  
       2022-12-18 01:01:07 +08:00
    看你描述好像对压片质量有要求。x265 指定 10bit 就可以了,10bit 压动画用的基本是标配,压片可以减少一点体积。另外 4k 没必要转 1080p ,1080p ,6Mbps 在 2k/4k 屏上能看出来糊点。哪怕保持分辨率不变,调 crf 来降体积体验都要比 1080p 好。
    msg7086
        17
    msg7086  
       2022-12-18 07:55:45 +08:00   ❤️ 1
    @woctordho Banding 不一定是来自位深,更多的可能是来自低位深的编码器,在做量化的时候抹掉了低频的块,变相导致了 banding 。仅仅把一个丝滑的 10bit 砍尾降到 8bit 是不会出现特别显著的 banding 的。

    @passall 可以的。你说的黑白,应该指的是灰度画面(并非只有纯黑和纯白,而是灰阶),做完 resize 以后精度确实可能可以达到 256 色。要注意的是,这里说的是 256 色,而非 256 彩色。你可以得到一个 256 色阶的灰度色(甚至 10bit 可以做到 1024 阶灰度),但因为彩色分量( Cb Cr 分量)是单色,单色的精度是 0 ,所以无法增加精度变成彩色 —— 也就是做不到五彩斑斓的黑。

    @FishGrazier 普通的蓝光都是 8bit ,做 BDRip 压成 10bit 纯粹是为了压缩效率考虑,而非为了颜色精度。( 10bit 比 8bit 更容易压。)如果是原盘的话,UHD BD 应该都是 10bit 了。不过还是那句话,8bit 和 10bit 肉眼几乎看不出区别。举个例子,很多人家里的显示器就是 6bit 的面板,8bit 10bit 的区别连显示都显示不出来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2708 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:31 · PVG 14:31 · LAX 22:31 · JFK 01:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.