当前位置: 首页 > news >正文

图像与视频编码

图像编码

图像是人对视觉感知的物质再现。图像可以由光学设备获取,如照相机、镜子、望远镜及显微镜等;也可以人为创作,如手工绘画。图像可以记录、保存在纸质媒介、胶片等对光信号敏感的介质上。随着数字采集技术和信号处理理论的发展,越来越多的图像以数字形式存储。

数字图像包括矢量图形与位图图像。

在计算机图形学中,矢量图形是指用点、直线或者多边形等基于数学方程的几何图元表示的图像。矢量图形保存的文件大小一般比位图要小,并且文件大小与图形的大小无关,在图像处理软件中任意放大矢量图形,不会丢失细节或影响清晰度,因为矢量图形与分辨率是无关的。

位图图像又称栅格图或点阵图,将图像数字化也需要经过采样、量化、编码等环节。图像的采样就是把一张图像分解成一个一个大小相同的点,这些点作为像素,是组成位图图像的基本单位。

image

左图为 5184×3456 像素的图像,也就是两个方向分别有 5184、3456 个像素,而中间图由 2048×1365 像素组成,右图由 964×640 像素组成。对比三个图可以直观地看出,点越多,图像越真实,越能体现细节,同时也需要更多的存储空间。

图像的量化是指要使用多大范围的数值来表示图像采样之后每个像素的颜色信息。一般用二进制来表示,其长度也称为颜色的位深度。如 256 种颜色的图像,它的位深度为 8 位。

图像存储容量可以根据像素与颜色位深度进行计算:存储容量等于总像素数量乘以颜色位深度。

对量化后的数据按一定规则进行编码后,数字图像将以文件方式存储于计算机中。根据不同的编码方式,可分为多种图像文件格式,如 BMP、JPEG、GIF、PNG 等。

视频编码

静态的图像连续播放就形成视频,如早期的模拟电视中,PAL 制式的视频每秒播放 25 帧图像,而 NTSC 制式的视频每秒播放 30 帧图像。目前,我国已经完成了由模拟电视向数字电视的转换。与传统的模拟电视相比,数字电视采用了数字传输和存储技术,具有高清晰度、双向交互、多功能多业务等优势。

视频数据由于数据量大,不便于存储与传输,往往需要对其进行压缩。视频的编码一般是指通过特定的压缩技术对视频进行压缩。常见的视频编码方式有 MPEG-1、MPEG-2、MPEG-4 等。


选择题:现有一段 8 分钟的视频文件,它的播放速度是每秒 24 帧图像,每帧图像是一幅分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这段原始无压缩视频,需要多大的存储空间?

  • A. 30G
  • B. 90G
  • C. 150G
  • D. 450G
答案

B

要计算视频文件的总大小,需要遵循以下步骤:

  1. 计算一帧图像的大小。
  2. 根据帧率计算每秒视频的大小。
  3. 根据总时长计算整个视频的大小。
  4. 将最终结果单位换算成 GB。

第一步:计算一帧图像的大小

为了方便计算,把单位从“位(bit)”换算成“字节(Byte)”。

  • 1 Byte = 8 bit
  • 所以,32 bit = 32 / 8 = 4 Byte
  • 一帧图像的大小 = 2048 × 1024 × 4 Byte

可以利用计算机存储单位进行简化计算:

  • 1024 Byte = 1 KB
  • 1024 KB = 1 MB
  • 1024 MB = 1 GB

一帧图像的大小 = 2 × 1024 × 1024 × 4 Byte = 8 MB

第二步:计算每秒视频的大小

每秒视频的大小 = 一帧图像的大小 × 帧率 = 8 MB/帧 × 24 帧/秒 = 192 MB

第三步:计算 8 分钟视频的总大小

视频总大小 = 每秒视频的大小 × 总时长 = 192 MB/秒 × 480 秒 = 92160 MB

第四步:将单位换算成 GB

总大小(GB)= 92160 / 1024 GB = 90 GB

http://www.hskmm.com/?act=detail&tid=6627

相关文章:

  • Python爬虫实战:研究Pandas,构建地理信息资料采集和分析便捷的系统
  • 初赛复习
  • 用户帐户控制(UAC)
  • fg/bg/jobs/kill命令--linux
  • 【OC】单例模式 - 教程
  • ios电脑系统和windows系统
  • HCIP-VRRP
  • JSON Schema 校验是什么?面试时怎么说?
  • 【征文启动】IvorySQL PostgreSQL 迁移实战经验征集:分享你的技术沉淀,赢取专属好礼!
  • MCP的天气预报的使用
  • 6款超好用的AI换脸软件,一键视频直播换脸(附下载链接)
  • lc1029-两地调度
  • pyAutoGUI 模块主要效果介绍-(2)键盘功能
  • (简记)时间复杂度分析 $\Omicron,\Theta,\Omega$ 的区别
  • Java的运算符
  • 2025年最强API安全解决方案:以智能风险监测重塑企业数据防护体系
  • HTML打包EXE工具中的WebView2内核更新指南
  • 第一天作业
  • EXE一机一码打包加密大师 - 打包加壳原理
  • 力扣62题 不同路径
  • 八皇后问题
  • 零知识证明中的专业漏洞解析
  • golang
  • 2025.9.16日软件工程学习日志
  • 2025ccpc南昌邀请赛感想+补题
  • img标签如何去除边框?
  • 25.9.16 java se大致了解后开始学习MySQL
  • C++ + OpenCV + Tesseract 实现英文数字验证码识别
  • Hadoop伪分布式hbase学习
  • Redis源码学习 -- 基本数据结构 -- Quicklist - -蓝蜗牛