bch纠错码 码长8_从HDMI视频数据带有BCH纠错码讨论线材对画质的影响

一直感觉几十元的HDMI线已经可以正常传输视频信号,那么几百元应该是接近完美了,再听人说换上几千块的线就让画质黑位什么的提升一大截,认为非常不可思议.

但别人又信誓旦旦的说自己是感觉到了明显改变,对这种情况产生的争论最终不会得到正确答案,所以数据党还是从科学的角度先分析一下线材能对数据产生多大影响.

首先要说的就是数据传输错误的问题,数据出了错,对画面绝对产生影响,这是任何人都认可的问题,但影响有多大,在哪里产生影响又有了不同的看法.在模拟时代,一个信号从3V改变到2.8V,就会让音质画质产生影响,但从数字信号的原理上讲,就完全不是这样了,数字里只有两种情况,就是0和1,在电路上也就表示为0V和非0V,一般电路如果设计3V代表1的话,那就算传输了2.5V甚至2V,也知道这个数据是1,只有降到1.5V甚至更底,才会被误认为是0,所以出错机率大大减少.并且一个数位出错,对画面的影响非常小,假如一个数据块里有8个像素,错误导致这个数据块无法解压,那么最终的影响也就是8个点,对屏幕上的200万个点来说,只能是9牛一毛.

再说一下长度对数据错误的影响,10米长的线错误率比5米长的线高的不是1倍,有可能是3倍5倍,而在超出HDMI设计范围以后,这个错误率就会成指数性增长,也许每增加10%长度,错误率就增加了10倍.所以说如果你用同质量的10米线看电影时如果不能看到明显的画面错误,那么在使用两米线时就不可能发现问题了,因为错误率降低了几十倍.

说完错误率,再说一下最重要的东西,就是HDMI对传输数据的校验,以前一直不清楚,以为传输错了,就会显示出错误的画面,今天找资料时却发现,HDMI中的视频传输,是使用了BCH纠错码的,这个BCH的功能,就是把传输过程中出现的错误位给纠正过来,让接收端显示出来正确的信息.

HDMI在1080P下每秒传输的数位接近3G,如果每100万个位中会有一个错误的话,那么每秒会出现3000个错误,好像很严重的样子,我不知道实际的情况是什么样,就再估计得严重一点,每1万个位就有一位是错误的吧,这样一秒产生300000个错误.

1秒就有30万个错误,很厉害吧,那么会不会对画质产生影响呢?我们借用别人的HDMI分组结构图来分析,这种万分之1的错误率的情况下,我们一秒能看到几个坏了的像素点.

从上图可以看出,一个分组包括32个像素,含有整组数据的纠错码,并且被分成4个子分组,每个子分组里包括8个像素的数据,并有对应的BCH纠错码.

分组的长度是约300个字节,2400位左右.子分组是64字节,512个位.

在万分之1的错误位进入这个长度2400的数据里的时候,立即就会被改正为正确的位.

那如果有两个错误位进入2400的数据里呢,因为按机率两万个位才会有两个错误位,错误位进同一个2400里机率降低到了1/32,但这时,同样不会造成错误结果,原因同样是BCH纠错码.

8位的BCH的纠错能力大约在4位左右,这个请高手指正,下面我们先按3位的能力分析.3位的纠错能力,代表的就是在数据块内,有3个或以内的错误位,会被发现并用正确的数据代替,只有错误达到4个,才有可能无法纠正.

而4个错误的机率是多大呢,4万个数据才有4个错误,2400的长度里集中这4个错误的机率是1/(16*16*16*16),6万分之1的机率.

就算4个错误全在这段2400长的数据里,仍然不会让画质受影响,为什么?因为每个子分组都带有BCH纠正码,如果这4个错误被分散到了任何两个子分组中,那么他仍然会被纠正为完全正确的数据.而4个错误完全进入一个子分组的机率是多大呢,256分之一,再乘上刚才的6万分之一,就是1500万分之一.

通过数据计算,可以明显看出,在误码率万分之一的情况下,出现画面显示错误的机率是1500万分之一,而一秒只有30万个错误,这样50秒种才会出现一个无法被纠正的错误,然后仅仅产生了8个像素点的影响,而8个像素在每屏的200万像素,以及每秒的60侦画面里,仅仅是大海里的一滴水,非钛合金狗眼无法看出其中的差别.如果你非要说自己看出来了,但又没有任何数据支持,那我只能把你的看法归类到玄学或是臆症中去了,抱歉.

以上数据分析除BCH校验外,全为个人猜测,但都是较为保守的估计,实际情况还需要各位拿出更有力的数据.如果错误率为1/1000,最终结果就可能是5秒看到8个坏点.如果错误1/100,那就是每秒看到16个坏点,当然错误率不会这么低了,16个坏点也不会对画面产生明显影响.另外在56比特数据加8位BCH校验的情况下,纠错能力如果能达到4个位或是更多,那最终出错的机率就会降到几十亿分之一以上,基本不会出错了,这时只有无耻到没有底线的商家生产的线材,才会让画面产生一些问题.

谢谢观看.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element-ui 可复选树型表格

效果 思路 自定义模板当点击某个行复选框时,其所有后代复选框都要同步状态,且其直系父辈状态需要根据所点击复选框的状态来修正点击全选复选框时,批量同步所有行内复选框状态 代码 非封装组件,按需自行改写 确保引入element-ui…

linux 删除含有关键词的文件_linux下查找包含关键字的文件

在linux下如果要查找包含某个关键字的文件,如要在nagios目录下搜索带有关键字“store-rd-sys”的文件,在终端下运行命令:/usr/local/nagios/etc/* (nagios目录)法1:grep -r “关键字” 路径[rootnagios01 ~]#grep -r "store-…

树形可拖拽排序配置组件

效果 使用场景 vue2下自定义表格表头配置: 列排序,显示/隐藏等。确保表头以配置项的形式加载,这样表格才能对修改后的配置作响应 思路 1、表格使用render函数加载(如有疑问可私信),通过类似如下的columns配置表头 columns: [{ label: 姓名…

maven 打包指定依赖包_Maven打包成Jar文件时依赖包的问题

我们项目中使用到第三方的库文件,这些jar库文件并没有放到Maven中央库上,导致我们需要在项目中自己配置使用。我们的两三个开发人员对Java都是很熟,因此在使用中遇到了一些问题,表现在:在本地中引入第三方jar包后&…

自适应浮动表单填充布局脚本

效果 1、适合搜素表单布局,查询重置等功能块始终位于最后一行的最后一列 2、适合普通多行两端对齐,未填充满的行左对齐 思路 此脚本目的为实现整齐风格的表单布局,为了达到整齐的效果,每个表单元素或者块都要设置一致的 宽度…

rstudio导入txt文件_R语言 | 读写txt、csv、excel文件

前段时间看到plotnine库(封装的R语言ggplot2)作的图太美了,有点想重新拾起R语言^_^R语言代码略带凌乱,讲真的还是更喜欢Python代码简洁。不过好几年不琢磨R语言,对R语言代码的凌乱美有些新奇,很好玩,这也许就是久别胜新…

erp采购总监个人总结_erp采购总监总结.docx

erp采购总监总结ERP沙盘模拟心得体会——采购总监  刚开始接触ERP,就从学长们那里了解到这门课比较有意思,然后又听老师说我们还有一个为期两周的ERP沙盘模拟,这让我对这门课更有了极大的兴趣。一直期待着沙盘模拟对抗早点到来,…

矩阵字符串配置任意合并表格布局

效果 核心 布局配置矩阵&#xff08;以下为多个模式),可以使用|或\n表示矩阵行 const gridArr [1,2,a,b 3,4,a,b 5,6,a,b ,1,2 3,4 5,6 ,1,2,3,4 3,4]任意横向或者纵向相同的字符表示一个合并块 使用 <CalcTable grid"1,2,a,b|3,4,a,b|5,6,a,b" ><span…

django 套vue 模板_Vue admin template + Django 快速进行Web开发

本文教大家如何使用Vue admin template和Django快速进行Web开发&#xff0c;旨在帮助我们使用现有的工具、框架及开源UI&#xff0c;让我们在基础较为薄弱的情况下&#xff0c;能进行Web开发。本文不会介绍过多的原理&#xff0c;实践为主。Vue admin template的简单使用Vue ad…

js浮点运算式

结果 calc(0.23*-0.03(4*0.2)) >0.7931 代码 //加|减|乘|除 浮点运算 const floatMulti (a, b) > {let m 0, s1 a.toString(), s2 b.toString(), s1l s1.split(.)[1], s2l s2.split(.)[1]m (s1l ? s1l.length : 0) (s2l ? s2l.length : 0)return Number(s1…

悬浮球多功能_一个悬浮球,怎么可以这么贴心~

原标题&#xff1a;一个悬浮球&#xff0c;怎么可以这么贴心~一个悬浮球 满足你N个愿望※ 专题&#xff5c;图文&#xff5c;悬浮球上手指南这个小蛋蛋是不少小朋友喜爱的零食&#xff0c;因为它能满足小朋友好几个愿望&#xff0c;能吃又能玩的零食哪个小朋友会不喜欢&#xf…

python 字典添加元素乱序了_Python有序字典的两个小“惊喜”

从 Python 3.6 开始&#xff0c;常规的字典会记住其插入的顺序&#xff1a;就是说&#xff0c;当遍历字典时&#xff0c;你获得字典中元素的顺序跟它们插入时的顺序相同。在 3.6 之前&#xff0c;字典是无序的&#xff1a;遍历顺序是随机的。关于有序字典&#xff0c;这里有两件…

el-table跨页选中

以id作为唯一标识 模板 <el-table :data"data" ref"table"select-all"selectAll"select"select"style"width:100%"><el-table-column type"selection"></el-table-column><el-table-colum…

bsc是指什么_为什么KPI令人厌恶?中小企业不要乱用KPI!

私信小编“绩效”两字&#xff0c;免费发送60分钟薪酬绩效管理内部培训视频。导读现在很多的企业都会对员工做一些绩效考核&#xff0c;大多数还是采用KPI的方式。但是员工对KPI的考核越来越反感&#xff0c;甚至出现抵触的情况。为什么会出现这种想象呢&#xff1f;其实很简单…

js原生popup_JavaScript的popup框

确认框用于使用户可以验证或者接受某些信息。当确认框出现后&#xff0c;用户需要点击确定或者取消按钮才能继续进行操作。如果用户点击确认&#xff0c;那么返回值为 true。如果用户点击取消&#xff0c;那么返回值为 false。语法&#xff1a;confirm("文本")functi…

解决微信小程序 [Component] slot ““ is not found.

解决方式 当使用自定义组件或者slot标签作为组件A的插槽内容时&#xff0c;在组件A中必须定义一个默认插槽&#xff0c;对普通view等标签无限制。且因为wx:if为false的插槽等同没有定义 场景复现&#xff08;仅以自己遇到情况为例&#xff09; 1、调试基础库2.19.4 2、使用w…

列表排序应用FLIP动画(vue)

效果 原理详解 链接 1.beforeUpdate 获取first 变化前位置 (以id建立map映射) 2.updated 获取变化后位置 last 3.禁用transition并transform元素回初始位置 4.异步恢复transition 并取消 transform 代码 <template><div ref"container"><div style&…

面试项目亮点_码农:面试被问到自己项目亮点时,感觉自己的回答虚伪的不行!...

据我个人观察&#xff0c;大多数程序员都对自己现有的项目有吐糟的习惯&#xff0c;比如吐糟代码逻辑混乱&#xff0c;代码规范问题&#xff0c;代码可读性差&#xff0c;代码没有注释&#xff0c;没有文档&#xff0c;代码极度冗余等等&#xff0c;总之满眼看到的都是一些缺陷…

无敌小恐龙

断网恐龙小游戏无敌版&#xff0c;控制台输入 boxCompare _> false