家电论坛

广告合作
 注册  找回密码

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 14467|回复: 58

[其它] 4K中的10bit究竟是10.7亿种颜色还是一种编码格式

[复制链接]

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
发表于 2017-10-26 15:06 | 显示全部楼层 |阅读模式

马上注册 家电论坛,众多有奖活动等你来参与!

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 michaellv2015 于 2017-10-26 15:06 编辑

       本来不想写这帖子,但是实在是看不过论坛中的一些只会度娘谷哥的嘴巴大神,不排除可能是某些别有用心的翘边模子(俗称“拖”)
       事情起因是俺提及有高端设备的用户(sony z9d+oppo203)反应UHD的颜色不如BD(摘自Sony电视吧,另自从UHD大量被破解在高清播放机论坛也有不少的Sony的4k用户反应此问题),但是马上就有人跳出来说UHD是10bit/10.7亿色,怎么可能不如8bit/1677万色,俺就告知其:10bit只是一种编码格式,然后就被两个翘边模子疯狂的冷嘲热讽!
       事实上,俺已经举例了五年前就已经出现了的x264 10bit的重编码,以前大名鼎鼎的思路制作组就曾出过大量的此类重编码,这种重编码的特性就是比常规的8bit重编码体积小30%左右,稍微有点常识的朋友看到这里肯定也会有疑问:为啥10bit的重编码反而比8bit的体积小?因为这个10bit并不是实际意义上的颜色位深,它只是一种更先进的编码格式。
       纯洁老实的俺生怕那两货不理解,还特地举例了一张16位颜色的照片,如果转化为真彩32位,那么体积不可能缩小只会大幅增加,可惜还是对牛弹琴。
       勤劳本分的俺甚至于亲自用不同的编码搞了好几段重编码样本,但是俺还是高估了只会胡言乱语,避重就轻的人的执着。

好吧,度娘谁不会呢?

一、摘自“知乎”作者:沈万马
10bit 视频是什么?相比起 8bit 视频有什么优势?简单说,10bit视频是指一种视频编码的特征,意思是每个颜色通道用10个bit来表达。这样,每个颜色通道的色彩级数从8bit的256级提高到了1024级,就可以更细致地表达颜色。
实际体验上,更细致的颜色分级意味着渐变色更细腻。在8bit编码下,有些时候一些渐变色块由于色彩变化范围很小而面积很大,容易导致一端到另一端总共只出现了很少的几种颜色,这就使得画面看上去不是渐变色带而是几块颜色,这种现象叫做banding。10bit由于颜色级数是8bit的4倍,色块就不容易出现,同时由于相邻颜色区别更小,人眼也难以看出色块之间的界限。
Z01.jpg
(从wiki偷来的banding效果图,左边是banding,中间是dithering,右边是高bit数下的效果)
虽然直观上感觉10bit比8bit多占用25%的数据量,但实际上在实践中10bit往往能带来更高的压缩率。这是由于10bit更能准确地描述颜色,提升了信噪比。例如为了解决banding,8bit编码技术可以通过一种称为dither(抖动)的方法,也就是在色块边缘混入细碎的相邻色的色点,来模糊色块边缘。但是由于这些色点的存在大幅提高了画面的复杂度,产生了许多冗余信息量。由于8bit必须采用这些技术来提高视觉观感,所以8bit编码往往要引入大量冗余信息,而10bit不需要dither也能实现一样的画面感受,所以往往10bit编码出来的视频大小小于同等质量的8bit视频。

Z02.jpg
(一张关于各种dithering算法的图)
有人可能关心10bit编码并没有意义,因为最终用户的屏幕可能只有6bit或者8bit。这不会使10bit变得没有意义,因为最终在输出阶段画面会经由输出硬件或渲染软件抖动。这样就能够在6bit/8bit的设备上实现类似10bit的输出效果。
当然10bit不是没有缺点。首先,计算机系统处理数据的单位往往是byte,也就是8bit。使用10bit,可能会浪费一部分硬件数据传输和处理能力,使得处理性能低于8bit编码。这也是为什么一直以来使用8bit的原因。同时,该技术较新,很多硬件和软件尚没有提供较好的支持,使得应用起来往往存在播放困难、消耗太多资源等等问题。


二、摘自百度文库
10bit视频编码——特性及全面播放方法介绍
      10bit重编码的优势,实际上就是用更高位深来进行数据的有损编码的优势,而且bit越高效果越好。最简单的一句话就是,压缩率更高,以更低的码率提供更好的还原效果,这已经足够具有意义了。
      在二进制下对8bit的源数据进行有损编码,造成相同量化损失时,以8bit为100%的error(残差)时,9bit为50%的error,10bit为25%,12bit为6.25%……所以在HEVC(也就是H.265)里有个叫IBDI(Internal bit depth increase)的技术,就是用12bit的内部精度来进行8bit源数据的重编码。
      例如:
      8bit源数据:  10011010
      8bit量化后:  10011011
      10bit量化后:1001101001
      12bit量化后:100110100001

      当然相同量化时肯定是bit越高的数据占的容量多,但由于损失程度的降低,综合下来的结果是,相同码率下高位深编码的还原程度始终大于等于低位深。
      而其实在目前的大部分有损音频编码里,不管输入的是16bit整数还是24bit整数,其内部都是用32bit浮点数来进行编码的,能大大减小error。至于为什么不在视频里用浮点数编码,可能的原因之一是,目前最强的桌面级CPU也只能勉强解码一个浮点数编码的1080p 24fps视频。

      至于你想说:“我只有8bit的显示设备,10bit有什么用呢?” 这不是什么问题,因为最终是要靠dither(抖动)转换成8bit RGB的,事实上madVR内部是不管你8bit还是10bit输入,都先升到16bit进行处理,最后再dither成8bit RGB32进行输出,所以它才能实现最高精度的转换和最小的error。
      而且最近还有这么一篇文章,对不同位深的YUV空间的色彩数量进行分析,发现8bit YUV转换成RGB后远远到达不了8bit RGB的16777216色(目前大部分高清视频就是属于8bit-Rec709的情况),只有用10bit及以上精度YUV转换为8bit RGB才能达到16.7M色:http://goldenhige.cocolog-nifty. ... gb2416777216yu.html

      另外也可参考这里taro大所说的:http://tieba.baidu.com/p/1356709843?pn=2


三、摘自SOS论坛视频技术基地
10bit-depth相比8bit-depth的优劣
10bit压制主要是通过提升编码的预测精度,从而在大多数有损压缩时可以采用更高的量化值,同时还能保证相当好的质量,于是可以在比8bit压制更低的码率下还原出更好的画面。

LimitRange前提,8bit量化下的Luma(亮度)和Chroma(色度)取值范围:Y:16-235,Cb/Cr:16-240。10bit量化下的Luma和Chroma取值范围:Y:64-940,Cb/Cr:64-960。所以10bit在更高的精度冗余下可以在有损编码时往往有更高的效率。

具体对于画质有利的方面主要在于:
1.防止banding(色彩平滑过渡区域的色带)产生
2.提升暗场效果
3.更好地容纳噪点
而这几项正好都是现在8bit压制中很难处理的地方。特别是对于动画,banding是个及其麻烦的东西。暗场是十分容易码率分配不足,并且产生画面劣化的部分(也就是所谓的“暗场烂掉了”;我记得凝芳文以前也抱怨过这些)。而噪点则是十分消耗码率。10bit下这些困难的东西都变得容易处理了(基本就不用特意再去额外处理啥的了)。

x264.nl去年10月提供了一个PDF(现在仍有),里面提到10bit能比8bit节省25%的码率(等质量)。如果只是比较banding/暗场这些的话,10bit即便只有8bit一半码率也往往可能表现更佳。另外,即使片源是8bit,
显示器本身也不支持10bit, 依然能享受到其75%的好处

不过10bit由于需要更多的采样,无损编码和极低码率编码均不如8bit(但正常来讲,没人会去用这么极端的压片方式吧)

跟8bit相比,10bit的解码需求也更高,但10bit
4:2:0比8bit 4:2:2还轻松,再加上现在解码器效率也不低,倒也不用担心太多

10bit到目前为止还没有支持硬解的解码器,故播放Hi10p
1080p需要比较强劲的CPU(24p的话,Core 2双核3GHz肯定能吃得消)
Flash
player还不支持10bit解码,所以10bit在线视频暂且没戏(不过flash那本身的解码效率和渲染效果……另一方面,HTML5本身似乎也没啥消息)
所有移动播放设备全灭

相同片源+压制参数比较,10bit编码比8bit慢18%~32%(测试得出的数据;不过通过合适改变参数,还是会发现10bit的编码速度+压缩率更优)

总体而言,10bit相比8bit还是利大于弊的,并且是能用眼睛看出来的,这也是为什么现在有人在不遗余力地推广10bit.



事实上,网上类似的文献或科普还有很多,真心不明白为啥还有人会死咬10bit是10.7亿种颜色!联想起4K的某些鼓吹者甚至于根本不是10bit面板电视机的翘边模子对此的忽悠,俺似乎一下子又都明白鸟!
当然也许只是俺被伤害后的老人心太过于敏感了,那么俺就送给那些嘴上大神们一句俺自己琢磨出来的土话:也许你能在网上查到对你有用的东东,但能让你成功的方法是绝对不可能有的(PS:如果有也是过时的)
实践出真知,这你妹是谁说的,咋现在的人就不喜欢了呢?


回复

使用道具 举报

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
 楼主| 发表于 2017-10-26 15:12 | 显示全部楼层
今天把Super.HiVi.CAST.BluRay的原盘结构给办了,分别搞出了视频和音频两部分的REMUX,然后用不同的编码相同的参数压了几个重编码,目前正在上传中,准备同坛友们共同分享。
XXX01.jpg
回复

使用道具 举报

875

主题

6万

帖子

79

威望

核心会员

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

交易诚信度
0
注册时间
2011-6-4
发表于 2017-10-26 15:52 | 显示全部楼层
michaellv2015 发表于 2017-10-26 15:12
今天把Super.HiVi.CAST.BluRay的原盘结构给办了,分别搞出了视频和音频两部分的REMUX,然后用不同的编码相 ...

这种测试碟,重编码后还有测试作用吗?
回复

使用道具 举报

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
 楼主| 发表于 2017-10-26 16:10 | 显示全部楼层
chncwk 发表于 2017-10-26 15:52
这种测试碟,重编码后还有测试作用吗?

搞着玩玩,何况俺还是用CQ-16较高参数压制的,理论上重编码由于码率下降会洗掉一层颜色,但老实说一般的显示设备用户根本看不出来,不过你倒是提醒了俺,顺便把REMUX也上传了,正好让大家比较一下画质的区别。
回复

使用道具 举报

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
 楼主| 发表于 2017-10-26 18:47 | 显示全部楼层
@毛毛雪,赶紧来现身吧!
不要紧的,俺这次写了足足有好几千个字,就凭你那张嘴总能找到能喷击的地方!
再说你只暴露了自己是01年注册的某个“大神”的小号而已,
不要紧的,实在不行大号出马俺也是奉陪的!
对于你这种靠忽悠平民大众为生的论坛蛀虫,俺绝对是奉陪到底的!
回复

使用道具 举报

0

主题

49

帖子

0

威望

新手上路

Rank: 1

交易诚信度
0
注册时间
2016-11-5
发表于 2017-10-26 18:55 来自家电论坛网手机触屏版 | 显示全部楼层
颜色就是编码呀,8bit就是,2^8*2^8*2^8=256*256*256=1677万呀,纯白参数就是255,255,255。10bit确实就是10亿色呀。8bit它也是一种编码方式
回复

使用道具 举报

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
 楼主| 发表于 2017-10-26 19:06 | 显示全部楼层
kitpoy 发表于 2017-10-26 18:55
颜色就是编码呀,8bit就是,2^8*2^8*2^8=256*256*256=1677万呀,纯白参数就是255,255,255。10bit确实就 ...

这里的10bit绝对不是指10亿色,你再仔细看看上面俺摘自度娘上的内容。实际上,你可以将其当做一种更先进的压缩编码方式。
回复

使用道具 举报

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
 楼主| 发表于 2017-10-26 19:13 | 显示全部楼层
其实还有一个更好检验的方法,各位家里肯定是有电视机的,直插USB基本也应该能播放普通的重编码视频,那么请你们去网上找一些x264 10bit的视频,看看是不是能播放。如果不能播放,那不就证明了10bit的本质就是一种编码方式,因为不能解码所以才会出现不能播放的情况。话句话说:如果真是10亿色,不可能存在不能播放的情况。
PS: 必须是x264 10bit的哦!
回复

使用道具 举报

1

主题

418

帖子

0

威望

初级会员

Rank: 2Rank: 2

交易诚信度
0
注册时间
2015-1-9
发表于 2017-10-26 19:14 来自家电论坛网手机触屏版 | 显示全部楼层
10bit不是叫编码方式,叫量化位数。10bit量化可以带来10.7亿色的表现能力。
回复

使用道具 举报

1

主题

418

帖子

0

威望

初级会员

Rank: 2Rank: 2

交易诚信度
0
注册时间
2015-1-9
发表于 2017-10-26 19:16 来自家电论坛网手机触屏版 | 显示全部楼层
h264,h265是一种编码格式。
回复

使用道具 举报

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
 楼主| 发表于 2017-10-26 19:38 | 显示全部楼层
本帖最后由 michaellv2015 于 2017-10-26 19:42 编辑

再来两张技术图:
Z2.jpg
这个官网开源的x265编码器,任何人都能免费下载

Z01.jpg
这个是解压缩后的文件列表,很明显10bit是单独用了一个编码器即可执行文件,如果10bit真的是代表颜色数量的话根本不会出现单独的编码器。道理很简单,有谁听说过把黑白照片转为256色的要用256色程序,把16位转为24位的要用24位程序?
回复

使用道具 举报

141

主题

4496

帖子

8

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2015-7-11
 楼主| 发表于 2017-10-26 19:59 | 显示全部楼层
为啥黑白电视机也能放彩色电视节目,为啥老人机的渣屏幕也能显示高清晰的真彩32位图片?
那么为啥家里的老电视机盒子不能放X265编码的视频,为啥动漫组压制的x264 10bit重编码用高清播放机或电视机就不能播放了呢?
请大家仔细考虑一下,再来驳斥俺的观点。
回复

使用道具 举报

1

主题

418

帖子

0

威望

初级会员

Rank: 2Rank: 2

交易诚信度
0
注册时间
2015-1-9
发表于 2017-10-26 20:02 来自家电论坛网手机触屏版 | 显示全部楼层
这个是非常简单的常识,无需讨论。
回复

使用道具 举报

181

主题

3229

帖子

15

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2003-1-22
发表于 2017-10-26 20:41 | 显示全部楼层
10-bit color depth 怎么解释都不会改变它的本意。
SONY KD-75X9400D (2016)
SONY KLV-46X300A (2008)
回复

使用道具 举报

0

主题

32

帖子

0

威望

新手上路

Rank: 1

交易诚信度
0
注册时间
2017-10-9
发表于 2017-10-26 21:22 | 显示全部楼层
10bit 有硬件支持 就能展示10亿颜色 没毛病
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|手机版|客服:010-60152166 邮箱:zx@jd-bbs.com QQ:895456697|广告合作|账号注销|家电联盟网

京公网安备 11010602010207号 ( 京ICP证041102号,京ICP备09075138号-9 )

GMT+8, 2026-4-8 19:40 , Processed in 0.158762 second(s), 29 queries , Gzip On.

快速回复 返回顶部 返回列表