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

2022-12-17 10:39:14 +08:00
 FishGrazier
我手上正好有 4k 8bit SDR 的片源,由于我的基础知识比较匮乏,所以我不确定有没有软件能做到这个。
但是起码我还是知道 720p 转换为 1080p 并不会增加清晰度的。我只是想了解,色深的不足能不能用清晰度来弥补?
2405 次点击
所在节点    视频技术
17 条回复
menglizhi2333
2022-12-17 13:58:13 +08:00
不能,色彩深度和画面分辨率是两个东西,8bit 相比 10 bit 缺失的部分,是算不出来的,用 AI 来猜也许可以
hanbing135
2022-12-17 14:25:12 +08:00
ai 估计可以
DivineRapierH
2022-12-17 14:32:08 +08:00
可以用三维坐标系来类比,分辨率是 x y 轴,色深是 z 轴,两者不在一个维度没有比较的意义。
msg7086
2022-12-17 15:27:45 +08:00
可以的。色深是精度,分辨率在改变的时候精度要求会增加。
举个例子,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
2022-12-17 15:30:44 +08:00
比如说在 16bit 下缩放 125,127,128,129 的四个像素通道,先左移 8 位变成 128000,130048,131072,132096 ,然后求平均值得 130304 ,最后右移回 8 位或者 10 位。如果是 8 位,就右移 8 位截断到 127 。如果是 10 位,就右移 6 位截断到 509 。
FishGrazier
2022-12-17 15:35:47 +08:00
@msg7086 可以可以,学到了
msg7086
2022-12-17 15:37:15 +08:00
漏说了你问的第二个问题。
色深是一个比分辨率更无关紧要的东西。就像我上面说的,色深是精度,精度本身对画质的影响是可以忽略不计的,而分辨率则是显著影响画质的属性。一个颜色他的分量是 128 还是 128.03125 你肉眼是几乎无法分辨的,甚至你的显示器都可能无法显示这么小的差异。为什么要去弥补他?
passall
2022-12-17 15:54:05 +08:00
@msg7086

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/903106

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX