信息(文字、图像、音频、视频等)在计算机中是如何存储及显示的
信息(文字、图像、音频、视频等)在计算机中是如何存储及显示的
- 图片的存储
- 图片的文件格式
- 像素数据的二进制表示
- 存储和处理
- 显示
- 总结
- 图片的显示
- 4. 像素点控制
- 具体的像素控制过程示例
- 总结
如题,这里以图片为例。
图片的存储
计算机桌面上的一张图片,在计算机最底层是以电信号的形式表示的,即高电平和低电平。这些电信号对应二进制的0和1。为了更好地理解这个过程,我们可以从图片的数据格式到硬件表示逐步解析。
图片的文件格式
首先,图片文件以特定的格式存储在计算机的存储设备中(如硬盘、SSD)。常见的图片格式包括JPEG、PNG、BMP等。这些格式将图片的像素数据和其他信息(如颜色深度、分辨率、元数据等)以特定的编码方式存储。
例:BMP文件格式
BMP(位图)文件格式较为简单,它直接存储图片的像素数据,每个像素的颜色值以二进制数据表示。一个简单的24位BMP文件可以分为以下几个部分:
- 文件头:包含文件类型、文件大小等信息。
- 信息头:包含图片的宽度、高度、颜色位数等信息。
- 调色板(可选):用于8位或以下位图,定义颜色表。
- 像素数据:每个像素的RGB值,按行存储。
像素数据的二进制表示
图片的每个像素都有一个或多个颜色分量(例如,RGB颜色模型中的红、绿、蓝)。每个颜色分量用一个或多个字节表示。以24位RGB颜色模型为例,每个像素用3个字节(24位)表示,每个字节对应红色、绿色和蓝色的强度值(0到255)。
例:像素数据
一个红色像素的RGB值可能是 (255, 0, 0),其二进制表示为:
红色:11111111
绿色:00000000
蓝色:00000000
所以,这个红色像素在内存中的表示为 11111111 00000000 00000000。
存储和处理
存储
当图片文件存储在硬盘或SSD中时,数据以二进制形式存储。硬盘和SSD将数据转换为低电平(0)和高电平(1)的电信号存储在磁性介质或闪存芯片上。
处理
当需要显示图片时,操作系统和应用程序将图片文件从存储设备加载到内存中,进行解码和处理。处理后的像素数据以二进制形式存储在内存中。
显示
显示器将内存中的像素数据转换为光信号,以人类可见的方式显示图片。
显示过程
- 帧缓冲区:显卡(GPU)将处理后的像素数据存储在帧缓冲区中,这个缓冲区通常在显存(VRAM)中。
- 数模转换:显卡将帧缓冲区中的二进制像素数据转换为模拟信号或保持数字信号传输。
- 显示信号:显卡通过显示接口(如HDMI、DisplayPort、VGA)将信号传输到显示器。
- 像素点控制:显示器的控制电路根据接收到的信号控制液晶显示器的每个像素点,调整其颜色和亮度。
总结
在计算机最底层,图片文件中的数据最终都表示为高电平和低电平的电信号,这些电信号对应二进制的0和1。计算机通过将高层次的数据格式(如JPEG、PNG、BMP)解码为像素数据,并将这些像素数据转换为电信号,最终实现图片的存储、处理和显示。
图片的显示
接着上面第四点“4. 像素点控制:”的进一步解释。
4. 像素点控制
4.1 显示器信号传输
当显示器接收到来自显卡的信号时,这个信号包含了每个像素的颜色和亮度信息。信号通过显示接口(如HDMI、DisplayPort、VGA)传输到显示器,然后由显示器内部的控制电路进行处理。
4.2 数模转换器(DAC)
如果显卡输出的是模拟信号(如VGA),显示器内部会有一个数模转换器(DAC),将模拟信号转换为数字信号。如果输出的是数字信号(如HDMI、DisplayPort),则直接进入下一步。
4.3 控制电路
显示器内部有一个控制电路(通常是一个集成电路),负责解析信号并控制每个像素点的状态。这些控制电路通常包括:
- 时序控制器(TCON):协调信号的传输和像素的刷新。
- 行驱动器和列驱动器:控制每行和每列的像素。
4.4 像素阵列
LCD显示器的屏幕由一个二维的像素阵列组成。每个像素点由一个或多个子像素(如红、绿、蓝三种子像素)组成。这些子像素的亮度组合形成我们看到的颜色。
4.5 液晶像素的控制
每个像素点由液晶材料控制,液晶材料在电场的作用下会改变其透光性。具体过程如下:
- 电极控制:每个子像素都有两个透明电极,一个在前面板(靠近用户的一侧),一个在后面板。电极上施加电压,产生电场。
- 液晶扭转:液晶分子在电场的作用下扭转,改变光线通过液晶材料的方式。通过控制电压,可以精确控制液晶分子的扭转角度,从而控制光线通过的数量。
- 背光源:LCD显示器通常有背光源(通常是LED),提供均匀的白光。光线通过液晶材料和颜色滤光片(红、绿、蓝),形成彩色图像。
4.6 色彩滤光片
每个子像素前面都有一个颜色滤光片,分别是红色、绿色和蓝色滤光片。通过控制每个子像素的透光量,可以组合出不同的颜色。
4.7 子像素的亮度控制
控制电路通过调节每个子像素的电压,改变液晶分子的排列,从而控制每个子像素的亮度。每个像素点的颜色是由其三个子像素(红、绿、蓝)的亮度组合而成。
4.8 显示刷新
显示器不断刷新,通常是每秒60次或更多(即60Hz或更高的刷新率)。时序控制器(TCON)协调所有这些操作,确保每个像素点在每个刷新周期内显示正确的颜色。
具体的像素控制过程示例
假设我们要在一个1920x1080分辨率的LCD显示器上显示一个图像,显示过程如下:
- 信号传输:显卡将图像数据通过HDMI接口传输到显示器。
- 时序控制:TCON将图像数据解析为行和列的数据,并按照行和列的顺序传输到显示面板。
- 行列驱动:行驱动器依次选择每一行,列驱动器在选中的行上施加适当的电压,控制每个子像素的透光度。
- 电压控制:电极在每个子像素上施加适当的电压,使液晶分子扭转相应的角度,控制通过的光线量。
- 色彩显示:光线通过液晶材料和颜色滤光片,形成红、绿、蓝三种颜色的组合,显示出所需的颜色。
- 背光提供光源:LED背光提供均匀的白光,通过液晶和滤光片,显示完整的图像。
总结
通过上述过程,计算机将存储在内存中的二进制图片数据转换为电信号,然后通过复杂的硬件电路和液晶材料的相互作用,将这些电信号转换为我们在屏幕上看到的彩色图像。
相关文章:
信息(文字、图像、音频、视频等)在计算机中是如何存储及显示的
信息(文字、图像、音频、视频等)在计算机中是如何存储及显示的 图片的存储图片的文件格式像素数据的二进制表示存储和处理显示总结 图片的显示4. 像素点控制具体的像素控制过程示例总结 如题,这里以图片为例。 图片的存储 计算机桌面上的一…...
【考研408计算机组成原理】微程序设计重要考点指令流水线考研真题+考点分析
苏泽 “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家 目录 微指令的形成方式 微指令的地址形成方式 对应考题 题目:微指令的地址形成方式 - 断定方式 解题思路: 答题: 分析考点&…...
查看哪个docker环境在占用gpu
前言 有时候发现某些docker占用gpu资源却没有训练,需要查清楚是哪个并且把它stop掉。 方法 在docker里面用nvidia-smi命令,没有pid显示,需要在外面使用。得到pid信息后,使用命令 docker top 15766f6eeaf7(容器ID) | grep 551…...
JVM相关总结
JVM的些许问题 1.JVM内存区域划分 2.JVM类加载过程 3.JVM的垃圾回收机制 1.JVM的内存区域划分 一个运行起来的Java进程就是一个JVM虚拟机,需要从操作系统申请一大片内存,就会把内存划分成几个区域,每个区域都有不同的作用 常见的面试题 2.JVM类加载过程 熟练背诵 ! ! !…...
Python 面试【初级】
欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...
机器学习SVR 随机森林 RBF神经网络做回归预测的MATLAB代码
SVR 参考这篇文章 Libsvm使用笔记【matlab】 close all; clc clear %% 下载数据 load(p_train.mat); load(p_test.mat); load(t_train.mat); load(t_test.mat); %% 数据归一化 %输入样本归一化 [pn_train,ps1] mapminmax(p_train); pn_train pn_train; pn_test mapminma…...
Spring Boot中配置Swagger用于API文档
Spring Boot中配置Swagger用于API文档 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何在Spring Boot应用中配置Swagger,以便于快…...
学习java第一百一十六天
Spring Framework有哪些不同的功能? 答: 轻量级-Spring 在代码量和透明度方面都很轻便。 IOC-控制反转AOP-面向切面编程可以将应用业务逻辑和系统服务分离,以实现高内聚。容器-Spring 负责创建和管理对象(Bean)的生命周…...
SQL Server的隐私盾牌:动态数据屏蔽(DMS)全面解析
🛡️ SQL Server的隐私盾牌:动态数据屏蔽(DMS)全面解析 在数据驱动的商业世界中,保护敏感信息至关重要。SQL Server提供了一种强大的安全特性——动态数据屏蔽(Dynamic Data Masking,简称DMS),…...
Android中常见的线程池
日常开发中我们常常使用到线程池,其能有效管理线程资源,避免过多线程导致系统资源浪费、又能复用线程资源,避免频繁的创建/销毁线程。在Android中线程池的实现为ThreadPoolExecutor类,本文主要记录该类相关的知识点。 线程池的六…...
C# YoloV8 模型效果验证工具(OnnxRuntime+ByteTrack推理)
C# YoloV8 模型效果验证工具(OnnxRuntimeByteTrack推理) 目录 效果 项目 代码 下载 效果 模型效果验证工具 项目 代码 using ByteTrack; using OpenCvSharp; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using Sys…...
什么是Cookie?有什么用?如何清除浏览器中的Cookie?
互联网上的每一次点击和每一个选择都可能被一种名为Cookie的技术记录下来。但Cookie是什么?我们在网站上登录时,为什么经常会被问及是否接受Cookie?接受Cookie登录会不会影响我们的在线隐私? Cookie是什么? Cookie是一…...
数据库基本管理
数据完整性: 实体完整性:每一行必须是唯一的实体域完整性:检查每一列是否有效引用完整性:确保所有表中数据的一致性,不允许引用不存在的值用户定义的完整性:制定特定的业务规则 主键: 用于唯…...
43.三倍游戏
上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/390 题目描述 三倍游戏是一种单人游戏。玩…...
LoadBalance 负载均衡
什么是负载均衡 负载均衡(Load Balance,简称 LB),是⾼并发,⾼可⽤系统必不可少的关键组件. 当服务流量增⼤时,通常会采⽤增加机器的⽅式进⾏扩容,负载均衡就是⽤来在多个机器或者其他资源中,按照⼀定的规则合理分配负载. 负载均衡的⼀些实现 服务多机部署时,开发⼈…...
Wails 安装初体验
文章目录 Wails 安装说明1. 系统要求2. 安装步骤3. 构建应用 结论 Wails 安装说明 Wails 是一个用于构建桌面应用的 Go 框架,结合了现代前端技术。以下是安装步骤: 1. 系统要求 Go 1.16 或更高版本Node.js 和 npm可选:适用于 Windows、mac…...
架构师篇-10、DDD实战篇:通过领域模型落地系统
基于领域模型的设计与开发 数据库设计程序设计微服务设计 在线订餐系统的领域事件通知 微服务拆分 事件风暴会议 梳理领域事件进行领域建模识别聚合关系划分限界上下文 用户下单领域模型 更新后的模型 领域模型的设计实现过程 数据库设计 数据库映射:一对一关系…...
C++ | Leetcode C++题解之第190题颠倒二进制位
题目: 题解: class Solution { private:const uint32_t M1 0x55555555; // 01010101010101010101010101010101const uint32_t M2 0x33333333; // 00110011001100110011001100110011const uint32_t M4 0x0f0f0f0f; // 000011110000111100001111000011…...
Git安装与使用及整合IDEA使用的详细教程
1. 版本控制软件介绍 版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理…...
高效办公秘诀:使用Excel超级处理器提高工作效率,提升职场竞争力
在现今快节奏的工作环境中,如何高效地完成工作任务,减少加班时间,成为了许多职场人士关注的焦点。其中,Excel作为一款功能强大的电子表格软件,被广泛应用于数据处理、分析以及报表制作等领域。然而,仅仅依赖…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...
