找回密码
 注册

QQ登录

只需一步,快速开始

4K 10bit和8bit有什么区别?为什么10bits这么火(浅析)

20
回复
281011
查看
[复制链接]
来源:4K技术交流 2016-1-16 16:06:52 |阅读模式

我们目前主要接触到的图像多数是24bit或32bit颜色深度,它等于每通道8bit的 R、G、B或每通道8bitR、G、B、A色彩通道的相加,而8bit表示每个原色具有256个灰阶,即0-255对应色彩从黑到白的灰度级别,10bit表示单色彩通道具有1024个灰度级别,色阶范围是0-1023。8bit提供256个采样点,而10bit提供1024个采样点,其色彩精度是8bit的4倍。

目前市销的显示器绝大多数都是6bit的TN和IPS面板,少数IPS面板可以达到8bit。国内著名的wiki、chd、hdchina等压制小组之前的作品都是8bit重编码,而官方的x264目前也只支持8bit,我们所用到的支持10bit编码的x264都是经过高手重编译的版本。普通MKV在6bit面板播放时,都是显示器以抖动(dither)的方式转换成8bit实现的。

在此引用好像是taor大的一句话:“在二进制下对8bit的源数据进行有损编码,造成相同量化损失时,以8bit为100%的error(残差)时,9bit为50%的error,10bit为25%,12bit为6.25%……”其实就是说8bit转换为10bit是无损的,而10bit转换为8bit是有损的,换句话说,由低位深向高位深的转换是无损的,反之则是有损的。一般显示器由10位dither为8bit总要比8位dither为8bit的损失要小得多。因此,10bit片源在播放画质方面是极占优势的。

而我们有时为了达到更佳画质,会极端的使用madVR解码器,普遍理解madvr解码器解码效果最好,那是因为madvr内部是不管你8bit还是10bit输入,都先升到16bit进行处理,最后再dither成8bitRGB32进行输出,所以它才能实现最高精度的转换和最小的error。而8bit转换成RGB后远远到达不了8bitRGB的16777216色(目前大部分高清视频就是属于8bit-Rec709的情况),只有用10bit及以上转换为8bitRGB才能达到16.7M色。


由以上论述得出结论:10bit重编码,实际上就是用更高位深来进行数据的有损编码,而且bit越高效果越好。一句话:重编码压缩率更高,以更低的码率提供更接近原盘画质的还原效果,这已经足够我们去尝试了。各位,心里有个数没有哦?


其实,10bit有自己的劣势,请看下文:

1、首先也是最要命的就是不支持绝大多数的硬盘播放机,但解决方法也相对简单,由生产厂商推出相应的固件即可,问题是啥时才能推出呢?

2、10bit不支持硬解,所以你的cpu不能太差;假如你为了追求画质而选择了madvr,那么甚至你的显卡也不要太差。

综上,10bit是否值得你去追求,呵呵,看过画质之后,自己评判吧。


续上:

经过多次压制,得出简单硬性评判10bit码率的方法:
相同压制参数下,10bit比8bit压制时间多20%,但画质可提升25%;
相同体积,相同画质,10bit码率要比8bit低大约20%左右;
相同码率,10bit比8bit体积节省将近20%左右。

以上仅为个人经验,仅供参考。


2016-1-16 16:11:50

送上两部10bit的4K片子:





Samsung三星4K演示片.2014米兰FTV(时装秀)UHDTV.H265超清视频[1G]
https://www.4k123.com/thread-5109-1-1.html

2016-1-16 16:14:28
【H265】三星4K演示片:科罗拉多大峡谷World Surround Me_2160P_UHDtv/百度
https://www.4k123.com/thread-7318-1-1.html

另外三星的一些演示片很多都是4K 10bit的,自己去找找。别因自己解码不好,就说片子差。
2016-1-16 16:37:23
作者:沈万马
来源:知乎

简单说,10bit视频是指一种视频编码的特征,意思是每个颜色通道用10个bit来表达。这样,每个颜色通道的色彩级数从8bit的256级提高到了1024级,就可以更细致地表达颜色。

实际体验上,更细致的颜色分级意味着渐变色更细腻。在8bit编码下,有些时候一些渐变色块由于色彩变化范围很小而面积很大,容易导致一端到另一端总共只出现了很少的几种颜色,这就使得画面看上去不是渐变色带而是几块颜色,这种现象叫做banding。10bit由于颜色级数是8bit的4倍,色块就不容易出现,同时由于相邻颜色区别更小,人眼也难以看出色块之间的界限。

01.jpg

(从wiki偷来的banding效果图,左边是banding,中间是dithering,右边是高bit数下的效果)

虽然直观上感觉10bit比8bit多占用25%的数据量,但实际上在实践中10bit往往能带来更高的压缩率。这是由于10bit更能准确地描述颜色,提升了信噪比。例如为了解决banding,8bit编码技术可以通过一种称为dither(抖动)的方法,也就是在色块边缘混入细碎的相邻色的色点,来模糊色块边缘。但是由于这些色点的存在大幅提高了画面的复杂度,产生了许多冗余信息量。由于8bit必须采用这些技术来提高视觉观感,所以8bit编码往往要引入大量冗余信息,而10bit不需要dither也能实现一样的画面感受,所以往往10bit编码出来的视频大小小于同等质量的8bit视频。

02.jpg

(一张关于各种dithering算法的图)

有人可能关心10bit编码并没有意义,因为最终用户的屏幕可能只有6bit或者8bit。这不会使10bit变得没有意义,因为最终在输出阶段画面会经由输出硬件或渲染软件抖动。这样就能够在6bit/8bit的设备上实现类似10bit的输出效果。

当然10bit不是没有缺点。首先,计算机系统处理数据的单位往往是byte,也就是8bit。使用10bit,可能会浪费一部分硬件数据传输和处理能力,使得处理性能低于8bit编码。这也是为什么一直以来使用8bit的原因。同时,该技术较新,很多硬件和软件尚没有提供较好的支持,使得应用起来往往存在播放困难、消耗太多资源等等问题。



2016-1-16 17:21:37
涨姿势了
2016-1-20 08:29:42
不错,大力支持!
2016-1-27 06:35:04
看起来好像不错的样子
2016-1-27 08:51:08
新手前来学习4K
2016-1-27 09:15:02
不错,大力支持!
2016-1-29 15:52:56
真是难得给力的资源啊。
您需要登录后才可以回帖 登录 | 注册
当贝4K投影