如何正确计算显示器带宽需求

1. 对显示器的基本认识

一个显示器的参数主要有这些:

  • 分辨率:显示器屏幕上像素点的总数,通常用横向像素和纵向像素的数量来表示,比如1920×1080(即1080p)。

  • 刷新率:显示器每秒钟画面更新的次数,用赫兹 (Hz) 表示,比如60Hz144Hz

  • 色深:每个像素的颜色显示能力,色深越高,显示器能呈现的颜色越丰富,过渡越平滑,比如8bit10bit

这些参数也是计算显示器带宽的重要参数。

2. 错误的计算

假如这里有一块1080P@60Hz 8bit的屏幕,那它所需的带宽是多少呢?一些数学不错且有计算机硬件知识的人会立马回答道:

这块屏幕有1960乘1080个像素,每个像素又红绿蓝三个子像素构成,每秒刷新60次,而且还是8bit,所以应该是:

1920 * 1080 * 60 * 8 * 3 = 2.986Gbit/s

整个互联网上基本全是这种算法,但如果我告诉你这是错的呢?

3.显示器的工作原理

想要知道正确的算法就必须了解显示器的工作原理。

显示器在显示时并不是像幻灯片一样一整个画面一整个画面地切换,而是使用逐行扫描(Progressive Scanning):显示器会从屏幕的左上角开始一行一行地从左往右刷新,到右下角的像素完成刷新算作完成一次完整的画面刷新。如下图左半部分所示。
请添加图片描述

问题就出在这里:文艺一点地说,我们生活在电磁波的海洋里;实际一点地说,外部的Wi-Fi和移动信号的干扰以及电脑和显示器内部电路板的高频讯号干扰都会对画面传输造成影响。如果电磁波影响了数据的传输,就会导致每一行的信号对不齐,最后产出的画面就是撕裂和错位的。同时显示器还要保持画面在屏幕正中心,而不是偏左或者偏右。

所以显示器在逐行扫描时会在外围预留出一部分像素区域用于对齐和时钟同步,虽然这部分像素不参与显示,但是它会占用掉传输带宽。所以在计算带宽需求时,就需要把这一部分也考虑进去。

4. 实际像素数的计算

实际传输的画面大概分为3个部分:

  • 同步信号区(Sync):分为行同步信号区(Hsync)和场同步信号区(Vsync)
  • 消隐区(Blank):分为前消隐区(Front blank)和后消隐区(Back blank)
  • 有效显示区域(Active)
    请添加图片描述

所以说实际传输的画面的尺寸是:

Htotal = Hsync + Hfront + Hactive + Hback
Vtotal = Vsync + Vfront + Vactive + Vback

每张画面的像素量是:

pixels_per_frame = Htotal * Vtotal

每张画面的像素量乘以这个显示器的刷新率就是这个显示器一秒内要处理的像素量,专业名词叫显示器像素时钟(Pixel Clock):

pixel_clock = Htotal * Vtotal * Hz

那么如何知道Sync和Blank所占的像素数呢?这就要看显示器遵循的计时标准。不同的计时标准屏幕外用于时钟同步和对齐的部分也是不同的。

目前常见的标准是(我把下载链接附在这里):

  • CVT计时标准
  • CVT-RB计时标准
  • CVT-R2计时标准

越新的接口越节约带宽,现在的DP接口都是采用最新的CVT-R2标准,在这个标准下,用于计算Blank和Sync区域的相关公式是:
请添加图片描述

当然如果每个分辨率都要走一遍所有公式是很麻烦的,所以VESA也制作有一张Excel表格(搜索CVT VESA就能找到)来自动计算相关参数,只需要填写分辨率、刷新率即可
请添加图片描述

拿计算出的Pixel Clock乘色深再乘3(RGB三色通道)即可:

133.187 * 8 * 3 = 3.196Gbit/s

对于HDMI和DisplayPort的各个标准在不同刷新率下对不同分辨率的支持情况,我把维基百科的表格放在这里,也可以点击链接看:
HDMI:
请添加图片描述

DP(需要结合两张图看):
请添加图片描述
请添加图片描述

表格中的DSC是指依靠显示流压缩技术(Display Stream Compression)实现,这种技术能实现基本肉眼无法察觉压缩的画面效果。

表格中的4:2:0是一种色度抽样压缩技术,人眼对于这种压缩的感知不大,但这种技术仍然没有DSC的效果极致。

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

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

相关文章

leetcode212. 单词搜索 II

给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words, 返回所有二维网格上的单词 。 单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一…

CTFHUB 历年真题 afr-1

发现传参为 ?phello,尝试 ?pflag 发现都是 no 尝试假设它是个PHP文件,利用php伪协议 ?pphp://filter/readconvert.base64-encode/resourceflag 得到 base64 编码再解码发现了本题的 flag n1book{afr_1_solved}

重拾设计模式--备忘录模式

文章目录 备忘录模式(Memento Pattern)概述定义: 作用:实现状态的保存与恢复支持撤销 / 恢复操作 备忘录模式UML图备忘录模式的结构原发器(Originator):备忘录(Memento)&…

5G -- 5G网络架构

5G组网场景 从4G到5G的网络演进: 1、UE -> 4G基站 -> 4G核心网 * 部署初中期,利用存量网络,引入5G基站,4G与5G基站并存 2、UE -> (4G基站、5G基站) -> 4G核心网 * 部署中后期,引入5G核心网&am…

前端开放性技术面试—面试题

1. 上线出现问题如何解决? 步骤: 立即响应:迅速确认问题的存在和影响范围。回滚:如果问题严重影响用户,考虑立即回滚到上一个稳定版本。日志分析:查看服务器日志、应用日志和前端日志,定位问题…

详细ECharts图例3添加鼠标单击事件的柱状图

<!DOCTYPE html><html><head><meta charset"UTF-8"><script src"js/echarts.js"></script> <!-- 确保路径正确 --><title>添加鼠标单击事件的柱状图</title></head><body><div id&q…

R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)

1. 上下标 # 注意y轴标签文字 library(ggplot2) ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))2. 希腊字母&#xff0c;如alpha ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))ggtitle(expression(alpha))…

精通Redis

目录 1.NoSQL 非关系型数据库 2.Redis 3.Redis的java客户端 4.Jedis 4.1Jedis快速入门 4.2Jedis连接池及使用 5.SpringDataRedis和RedisTemplate 6.SpringDataRedis快速入门 7.RedisSerializer 1.NoSQL 非关系型数据库 基础篇-02.初始Redis-认识NoSQL_哔哩哔哩_bilib…

VR线上展厅的色彩管理如何影响用户情绪?

VR线上展厅的色彩管理对用户情绪的影响是多方面的&#xff0c;以下是专业从事VR线上展厅制作的圆桌3D云展厅平台为大家介绍的一些关键点&#xff1a; 情感共鸣&#xff1a;色彩能够激发特定的情感反应。例如&#xff0c;暖色调&#xff08;如红色、橙色&#xff09;通常与活力和…

上传文件(vue3)

使用el-upload 先上传到文件服务器&#xff0c;生成url 然后点击确定按钮&#xff1a; 保存数据 <template><el-dialog top"48px" width"500" title"新增协议" :modelValue"visible" close"handleClose()">…

GM_T 0039《密码模块安全检测要求》题目

单项选择题 根据GM/T 0039《密码模块安全检测要求》,送检单位的密码模块应包括()密码主管角色。 A.一个 B.两个 C.至少一个 D.至少两个 正确答案:C 多项选择题 根据GM/T 0039《密码模块安全检测要求》,关于非入侵式安全,以下属于安全三级密码模块要求的是()。 …

AI的进阶之路:从机器学习到深度学习的演变(四)

AI的进阶之路&#xff1a;从机器学习到深度学习的演变&#xff08;三&#xff09; 五、深度学习的应用领域 深度学习的应用领域广泛&#xff0c;涵盖了计算机视觉、自然语言处理、语音识别和推荐系统等多个方面。以下将详细探讨这些关键应用领域&#xff0c;展示深度学习在不同…

mysql-主从同步与读写分离

一、mysql主从同步原理 mysql主从是用于数据灾备。也可以缓解服务器压力(读写分离)&#xff0c;即为主数据库服务器增加一个备服务器&#xff0c; 两个服务器之间通过mysql主从复制进行同步&#xff0c;这样一台服务器有问题的情况下可以切换到另一台服务器继续使用。 如何想实…

【工具】通过js获取chrome浏览器扩展程序列表id及名称等

【工具】通过js获取chrome浏览器扩展程序列表id及名称等 第一步 打开扩展程序页面 chrome://extensions/ 第二部 注入js获取 let 扩展字典 {} document.querySelector("body > extensions-manager").shadowRoot.querySelector("#items-list").shadow…

GO--堆(have TODO)

堆 堆&#xff08;Heap&#xff09;是一种特殊的数据结构。它是一棵完全二叉树&#xff08;完全二叉树是指除了最后一层外&#xff0c;每一层上的节点数都是满的&#xff0c;并且最后一层的节点都集中在左边&#xff09;&#xff0c;结放在数组&#xff08;切片&#xff09;中…

springboot根据租户id动态指定数据源

代码地址 码云地址springboot根据租户id动态指定数据源: springboot根据租户id指定动态数据源,结合mybatismysql多数源下的事务管理 创建3个数据库和对应的表 sql脚本在下图位置 代码的执行顺序 先设置主数据库的数据源配置目标数据源和默认数据源有了主库的数据源&#xff…

ShardingSphere-Proxy 连接实战:从 Golang 原生 SQL 到 GORM 的应用

在这篇文章《ShardingSphereProxy:快速入门》中&#xff0c;我们介绍了如何通过 Navicat 连接 ShardingSphere-Proxy。 实际上&#xff0c;ShardingSphere-Proxy 兼容标准的 SQL 和原生数据库协议&#xff0c;因此你可以使用任何 MySQL 客户端与其进行连接&#xff0c;包括 Go…

接口测试Day-02-安装postman项目推送Gitee仓库

postman安装 下载 Postman&#xff08;已提供安装包&#xff0c;此步可以跳过&#xff09; https://www.postman.com/downloads/安装 Postman 安装Postman插件newman 要想给 postman 安装 newman 插件&#xff0c;必须 先 安装 node.js。 这是前提&#xff01; 安装node.js 可能…

《PCI密码卡技术规范》题目

单选1 在《PCI密码卡技术规范》中,下列哪项不属于PCI密码卡的功能()。 A.密码运算功能 B.密钥管理功能 C.物理随机数产生功能 D.随主计算机可信检测功能 正确答案:D. <font style="color:#DF2A3F;">解析:</font> 单选 2 在《PCI密码卡技术规…

vscode 快速切换cangjie版本

前言 目前阶段cangjie经常更新&#xff0c;这就导致我们可能会需要经常在不同的版本之间切换。 在参加训练营时从张老师那学到了如何使用 vscode 的配置文件来快速进行cangjie版本的切换。 推荐一下张老师的兴趣组 SIGCANGJIE / 仓颉兴趣组 这里以 windows 下&#xff0c;配置…