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

news/2024/11/8 3:25:35/

目录

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:真正进行转换时,请查阅官方转换公式。


http://www.ppmy.cn/news/3578.html

相关文章

[附源码]Nodejs计算机毕业设计基于博客系统的UI手机界面展示Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

深入:9种设计模式在Mybatis中的运用

虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的…

常见的四大搜索引擎区别

一般应用或网站的信息会存储在数据库中,而随着时间的推移,数据库中的信息量达到一个量级后会出现访问速度变慢的情况,例如用户在客户端搜索一个商品名称,系统可能加载了好几秒才显示数据,这个时候就需要进行一些优化处…

短链是什么原理?怎么实现呢?

目录一、为什么需要短链二、短链跳转访问原理三、短链生成实现方案1、自增序列算法2、Hash算法四、代码示例1、表结构及索引2、外部依赖3、Base62Utils4、DAO层5、业务层五、测试用例一、为什么需要短链 内容营销中给用户推送营销消息最常见的方式就是发短信,比如三…

【AI理论学习】Graph Embedding理论介绍及5种算法演示(DeepWalk)

Graph Embedding理论介绍及5种算法演示1.图数据结构2.图表示学习3.Graph Embedding3.1 DeepWalk算法DeepWalk算法理论DeepWalk 核心代码参考资料1.图数据结构 在现实世界中,网络只是互连节点的集合。为了表示这种类型的网络,我们需要一个与之相似的数据…

nodejs安装及环境配置

node.js下载 地址:https://nodejs.org/en/download/ 如果要下载指定的版本,可以点击下面的链接。 开始安装 双击msi,开始安装node.js。 点击【Next】按钮 勾选复选框,点击【Next】按钮 修改好目录后,点击【Nex…

基于java+springboot+mybatis+vue+mysql的冬奥会科普平台

项目介绍 基于SpringBoot框架的冬奥会科普平台利用网络沟通、计算机信息存储管理,有着与传统的方式所无法替代的优点,系统采用java语言开发,前端采用vue技术,数据库采用mysql进行数据存储。比如计算检索速度特别快、可靠性特别高…

用户注册验证

第1关:用户注册验证 实训目标 掌握 re 模块中 compile() 方法的使用 掌握 re 模块中 findall() 方法的使用 实训分析 用户注册信息可以使用正则表达式实现。按用户注册页面的组成部分,可分为以下三种情况: 用户名对应的正则表达式为1{6,10}KaTeX parse error: Undefined c…