目录

1.1 动画书

1.2 视频

1.3 视频帧

1.4 帧率

1.5 色彩空间

RGB与YUV

YUV优势

RGB与YUV的换算


日常生活中,音视频随处可见,包括视频、音频、编解码、封装容器、音视频等概念。

1.1 动画书

连续翻动小人书,小人书的画面会变成一个动画,类似现在的GIF格式图片。如果翻动的速度够快,就变相成为一个小视频。

视频的原理基于此,由于人类眼睛的特殊结构,在画面快速切换时,画面会有残留(视觉暂留),感觉起来就是连贯的动作,所以视频本质上就是由一系列图片构成的

1.2 视频

视频(Video)技术泛指将一系列静态影像以电信号的方式加以捕捉、记录、处理、存储、传送与重现的各种技术。当连续的图像变化超过每秒24帧画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫做视频。

视频技术最早是为了电视系统而发展的,但现在已经发展为各种不同的格式以便于消费者将视频记录下来。网络技术的发达也促使视频的记录片段以串流媒体的形式存在于因特网并可被计算机接收与播放。

拍摄视频与拍摄电影属于不同的技术,后者是利用照相术将动态的影像捕捉为一系列的静态照片。而常见的视频格式有AVI、MOV、MP4、WMV、FLV、MKV等。

1.3 视频帧

帧(Frame)是视频的一个基本概念,表示一幅画面。比如翻动小人书中的一页就是一帧,而一段视频是由许多帧组成的。

1.4 帧率

帧率即单位时间内帧的数量,单位为f/s。如动画书中,一秒内会翻过多张图片,翻过的图片越多,图片越顺滑,过渡越自然。

有以下几种典型帧率:

  • 29.97f/s:1秒30000/1001帧。
  • 24f/s或25f/s:1秒24或25帧,一般的电视/电影帧率。
  • 30f/s或60f/s:1秒30或60帧,游戏的帧率,30帧可以接受,60帧会感觉十分流畅。

一般说来,85f/s以上人眼基本无法察觉出画面过渡了,所以过高的帧率在普通视频里没有太大意义。

1.5 色彩空间

RGB与YUV

常将的两种色彩空间(也叫颜色空间、颜色模式),即RGB和YUV。RGB色彩空间最常见,当下的电子设备中应用最广。通过R(红)、G(绿)、B(蓝)三基色,可以混合出所有的颜色。

YUV(也叫YCbCr)色彩空间并不常见,这是一种亮度与色度分离的色彩空间。其中Y代表明亮度(Luminance或Luma),也就是灰度值,而U与V表示的则是色度(Chrominance或Chroma),其作用是描述影像色彩及饱和度,用于指定像素的颜色。

亮度是通过RGB输入信号来建立的,其方法是将RGB信号的特定部分叠加到一起。

色度定义了颜色的两个方面,即色调和饱和度,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异,而Cb反应的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。

YUV含义如下:

  • Y:亮度,即灰度值。除了表示亮度信号外,还含有较多的绿色通道量。
  • U:蓝色通道与亮度的差值。
  • V:红色通道与亮度的差值。

YUV优势

人眼对亮度敏感,对色彩度不敏感,因此减少部分UV的数据量,人眼无法感知出来。这样可以通过压缩UV的分辨率,在不影响观感的前提下,减小视频的大小。

YUV主要用于优化彩色视频信号的传输,且兼容老式黑白电视。同RGB视频信号传输相比,其最大的优点是只需要占用极少的频宽(RGB要求3个独立的视频信号同时传输).

采用YUV色彩空间的其中一个重要因素是:它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V分量,则表示图像就是黑白灰度图像。彩色电视采用YUV色彩空间正是为了用亮度信号Y解决彩色电视机与黑白电视机兼容的问题,让黑白电视机也能接收到彩色电视信号。

RGB与YUV的换算

未量化的Y、U、V取值一般是(0,255),量化就是通过线性变换让Y、U、V处于一定的范围内,例如让Y(0,255)变到量化后的Y'(16,235),那么对应的变换公式是Y'=Y*[(235-16)/255]+16。

YUV和RGB之间的转换有以下公式。

1)未量化的小数形式转换公式

R = Y + 1.4075 * V;  
G = Y - 0.3455 * U - 0.7169*V;  
B = Y + 1.779 * U;

Y = 0.299*R + 0.587*G + 0.114*B;

U = (B-Y)/1.772;

V = (R-Y)/1.402;      
                                         
或写为:
Y =  0.299*R + 0.587*G + 0.114*B;

U = -0.169*R - 0.331*G + 0.5  *B ;

V =  0.5  *R - 0.419*G - 0.081*B;

2) 未量化的整数形式转换公式

R= Y + ((360 * (V - 128))>>8) ; 
G= Y - (( ( 88 * (U - 128)  + 184 * (V - 128)) )>>8) ; 
B= Y +((455 * (U - 128))>>8) ;

Y = (77*R + 150*G + 29*B)>>8;

U = ((-44*R  - 87*G  + 131*B)>>8) + 128;

V = ((131*R - 110*G - 21*B)>>8) + 128 ;

3)量化后的转换公式

R=1.164*Y+1.596*V-222.9

G=1.164*Y-0.392*U-0.823*V+135.6

B=1.164*Y+2.017*U-276.8

Y=0.257*R'+0.504*G'+0.098*B'+16

U=-0.148*R'-0.291*G'+0.439*B'+128

V=0.439*R'-0.368*G'-0.071*B'+128

其中,R'、G'、B'指带有Gamma矫正后的R、G、B。

ps:真正进行转换时,请查阅官方转换公式。

音视频基础概念(1)——视频相关推荐

  1. 音视频基础概念(6)——视频基础

    网上冲浪时,我们会接触到网络流媒体和本地视频文件.常见的视频文件格式有MP4.MKV.AVI等.在流媒体网站上看见视频常用的协议有HTTP.RTSP.RTMP.HLS等.视频技术较为复杂,包括视频封装 ...

  2. 《音视频开发进阶指南》读书笔记(一) —— 音视频基础概念

    前言 最近要学音视频,在图书馆借到这本<音视频开发进阶指南>,读了一段时间觉得挺好就在某宝买了. 以后一段时间应该都会沉浸在研究音视频中,开个专题记录哈每一章的读书笔记吧(以iOS开发的角 ...

  3. 视频 --- 基础概念

    https://www.jianshu.com/p/c2b4f65895b9?utm_campaign=maleskine&utm_content=note&utm_medium=se ...

  4. 音视频篇 - 音视频基础概念

    本文章是阅读<音视频开发进阶指南基于android与ios平台的实践>一书的学习笔记. 目录: 什么是声音 声波的三要素 数字音频 音频编码 图像的物理现象 YUV 视频编码 视频编码的相 ...

  5. 音视频基础概念(5)——音频基础说明

    现实生活中,音频(Audio)主要用在两大场景中,包括语音(Voice)和音乐(Music).语音主要用于沟通,如打电话等.目前由于语音识别技术的发展,人机语音交互也是语音的一个应用方向,很多大厂推出 ...

  6. 音视频开发一:音视频基础概念

    文章目录 基础概念 音频 声音介绍 种类 音质 声音存储的发展 采样频率 信号频率 声道 声道布局 音帧 帧时长 采样数 采样位数 存储空间 码流(比特率) 采样格式 音频编码(音频压缩) 音频解码 ...

  7. 何为音视频流媒体,音视频基础概念(建议收藏)

    一.音频 1.采样率 是指在每个声道上的采样速率,而不是所有声道的采样速率 例如:16000Hz 表示1s中在连续信号中采集16000次,每一次叫做一个采样点 2.采样位宽(位数) 例如:16bit ...

  8. 【音频播放】自制音频播放器—音视频基础概念,未完待续。。。

    近期用Electron制作了一个简易版客户端,未完待补充,重点在播放,引用凯教,先说几点.(图片禁止搬运,不得允许不准转载) 研究音频的数字化技术之前,必须对声音和图像的的物理性质有基本的了解. 如下 ...

  9. 音视频基础概念(2)——音频

    目录 1. 基本知识 2.采样率和采样位数 3.音频编码 4. 声道数 5. 码率 6. 音频格式 日常生活中,音视频随处可见,包括视频.音频.编解码.封装容器.音视频等概念. 1. 基本知识 音频数 ...

最新文章

  1. CVPR 2020 Oral | 旷视研究院提出Circle Loss,革新深度特征学习范式
  2. 谷歌翻译大型翻车现场:请服用“反坦克导弹”来缓解疼痛,UCLA:医生们要注意了...
  3. orcale 非非等于_oracle 不等于1怎么查?
  4. 类中的@staticmethod
  5. python textwrap_python2.7.3编译python模块学习- textwrap 文本包装和填充
  6. mysql 中有没有临时表_MySQL临时表的简单用法
  7. react native仿微信性别选择-自定义弹出框
  8. Spring框架的快速入门
  9. python导入math函数取一随机数返回其平方根_Python数字
  10. BeanUtils 使用问题
  11. FD.io VPP 20.05 官方文档 总目录:用户文档+开发文档+命令行
  12. UVA 10002 Center of Masses
  13. 前端使用的字体中英文对照
  14. 兔兔 的 题解 —— 2020 CSP-J 多校赛 目录
  15. matlab画图——semilogy函数介绍
  16. 科技热点周刊|ClickHouse 融资 2.5 亿美元、个人信息保护法正式实施、Facebook 改名 Meta
  17. STRATEGY(策略)模式
  18. navicat oracle存储过程,Navicat 运行 Oracle 存储过程示例
  19. android开机动画 制作工具,开机动画包制作(bootanimation)
  20. 关于三子棋游戏的简易实现与N子棋胜利判断方法

热门文章

  1. Java long数据类型
  2. 数据库常用的数据类型
  3. C3PO连接池与Druid连接池的使用
  4. 商机来了!日本市场Starday跨境电商迎来发展新阶段!
  5. 集群共享session;shiro实现session共享;springboot实现redis共享session;
  6. 信息学奥赛一本通-1013
  7. python音频聚类_用K-means聚类算法实现音调的分类与可视化
  8. 广州大麦电商网店托管可靠吗?
  9. 案例演示 | 基于Motor-CAD日产聆风汽车电机的多物理场仿真
  10. 【金融】券商结算模式