音视频编码相关名词详解

视频

PAR DAR SAR

PAR - pixel aspect ratio(像素宽高比)大多数情况为1:1,就是一个正方形像素,否则为长方形像素

DAR - display aspect ratio(显示宽高比)就是视频播放时,我们看到的图像宽高的比例,缩放视频也要按这个比例来,否则会使图像看起来被压扁或者拉长了似的

SAR - storage aspect ratio(采样纵横比)就是对图像采集时,横向采集与纵向采集构成的点阵,横向点数与纵向点数的比值。比如VGA图像640/480 = 4:3,D-1 PAL图像720/576 = 5:4

三者的关系PAR x SAR = DAR或者PAR = DAR/SAR.

帧率相关信息

完成时间点与帧号的转换就需要找出合适的参数

  • tbr 一般被当成帧率。当视频的码率为固定码率时,FFmpeg显示tbr为正常的码率值。当视频有变长码率时,FFmpeg打印的tbr为多个码率的均值,看着像音频流。
  • tbn代表文件层(st)的时间精度,比如:25k tbn即1S=25k,和duration相关
  • tbc代表视频层(st->codec)的时间精度,即1S=50,和strem->duration和时间戳相关。
颜色编码

YUV420是视频中通常采用的颜色编码方式,Y表示亮度,而U,V则与颜色相关,而420则分别对应着存储相应分量所占用的比特数之比。

码率

影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。

码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒

码率=采样率 x 位深度 x 声道

总比特率

通常来说,一个视频文件包括了画面及声音。音频及视频都有各自不同的采样方式和比特率,也就是说,同一个视频文件音频和视频的比特率并不是一样的。而我们所说的一个视频文件码流率大小,一般是指视频文件中音频及视频信息码流率的总和。

视频码率

视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。

FPS(帧速率)

帧/秒。是指每秒钟刷新的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。越高的帧速率可以得到更流畅、更逼真的动画。每秒钟帧数(FPS)越多,所显示的动作就会越流畅。

GOP(Group of Pictures)

GOP,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。没有I帧,P帧和B帧就无法解码,这就是MPEG格式难以精确剪辑的原因,也是我们之所以要微调头和尾的原因。GOP 越长,B 帧所占比例更高,编码的率失真性能越高。

gop2.jpg

I,P,B帧和PTS,DTS的关系

基本概念:

I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。

P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;

B frame: 双向预测内插编码帧 又称bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;

gop1.jpg

gop.jpg

gop3.jpg

PTS:Presentation Time Stamp。PTS主要用于度量解码后的视频帧什么时候被显示出来

DTS:Decode Time Stamp。DTS主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码。

在没有B帧存在的情况下DTS的顺序和PTS的顺序应该是一样的。

IPB帧的不同:

I frame:自身可以通过视频解压算法解压成一张单独的完整的图片。

P frame:需要参考其前面的一个I frame 或者B frame来生成一张完整的图片。

B frame:则要参考其前一个I或者P帧及其后面的一个P帧来生成一张完整的图片。

两个I frame之间形成一个GOP,在x264中同时可以通过参数来设定bf的大小,即:I 和p或者两个P之间B的数量。

通过上述基本可以说明如果有B frame 存在的情况下一个GOP的最后一个frame一定是P.

DTS和PTS的不同:

DTS主要用于视频的解码,在解码阶段使用.PTS主要用于视频的同步和输出.在display的时候使用.在没有B frame的情况下.DTS和PTS的输出顺序是一样的.


音频

PCM

PCM(Pulse Code Modulation)也被称为 脉码编码调制。数字信号是对连续变化的模拟信号进行抽样、量化和编码产生的。PCM中的声音数据没有被压缩。

1.jpg

你可以在cooledit里面放大这个图片,看到实际上它就是一个波形图。一个声音对应的就是一个波形图。PCM实际上就是讲这个波形图通过按一定的时间间隔,收集起来。

PCM数据

PCM的每个样本值包含在一个整数i中,i的长度为容纳指定样本长度所需的最小字节数。 首先存储低有效字节,表示样本幅度的位放在i的高有效位上,剩下的位置为0,这样8位和16位的PCM波形样本的数据格式如下所示。

样本大小

数据格式

最小值

最大值

8位PCM

unsigned int

0

225

16位PCM

int

-32767

32767

音频文件格式

专指存放音频数据的文件的格式。存在多种不同的格式 采样率,分辨率和声道数目(例如立体声为2声道)是音频文件格式的关键参数。

采样率

声音信号在“模→数”转换过程中单位时间内采样的次数。采样值是指每一次采样周期内声音模拟信号的积分值。 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等.比如:

    1. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声);
    1. 22050HZ 8bit mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道;

人对频率的识别范围是 20HZ - 20000HZ, 如果每秒钟能对声音做 20000 个采样, 回放时就足可以满足人耳的需求. 所以 22050 的采样频率是常用的, 44100已是CD音质, 超过48000的采样对人耳已经没有意义。这和电影的每秒 24 帧图片的道理差不多。

AAC

AAC是高级音频编码(Advanced Audio Coding)的缩写。基于MPEG-2有损声音编码技术。 AAC编码的主要扩展名有三种:

  • .aac - 使用MPEG-2 Audio Transport Stream(ADTS,参见MPEG-2)容器。
  • .mp4 - 使用了MPEG-4 Part 14(第14部分)的简化版即3GPP Media Release 6 Basic(3gp6,参见3GP)进行封装的AAC编码(Nero AAC编码器仅能输出MPEG-4封装的AAC)。
  • .m4a - 为了区别纯音频MP4文件和包含视频的MP4文件而由苹果(Apple)公司使用的扩展名,Apple iTunes对纯音频MP4文件采用了".m4a"命名。M4A的本质和音频MP4相同,故音频MP4文件亦可直接更改扩展名为M4A。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOSDevLog

机器学习研究和开发所需的组件列表

Here is a list of components that are needed for the successful machine learning...

1012
来自专栏AI科技大本营的专栏

开启机器学习的第一课:用Pandas进行数据分析

翻译 | AI科技大本营 参与 | 林椿眄 本课程的目的并不是要开发一门全新的机器学习或数据分析的综合入门课程,也不是想借此来取代基础教育、在线/离线课程或一...

4395
来自专栏AI研习社

用金庸、古龙群侠名称训练 LSTM,会生成多么奇葩的名字?

AI 研习社按:本文转载自 Magicly 博客,获作者授权。阅读原文请见:http://magicly.me/2017/04/07/rnn-lstm-gene...

39511
来自专栏机器人网

14张机械原理动图,最后一个一般工程师都不懂

来自越南的设计师Nguyen Duc Thang使用Inventor绘制了经典的机械结构,并将其制作为动态仿真视频,这些机械结构有利于大家直观的了解机械。 1、...

4766
来自专栏专知

【读书笔记】基于知识库的问答:生成查询图进行语义分析

【导读】将DBPedia和Freebase这样的大规模知识库组织并存储在一个结构化的数据库,这已成为支持开放领域问题问答的重要资源。 KB-QA的大多数方法基于...

4697
来自专栏华章科技

你真的懂数据分析吗?一文读懂数据分析的流程、基本方法和实践

导读:无论你的工作内容是什么,掌握一定的数据分析能力,都可以帮你更好的认识世界,更好的提升工作效率。数据分析除了包含传统意义上的统计分析之外,也包含寻找有效特征...

1372
来自专栏林欣哲

自然语言处理--文本处理

自然语言处理的目的是让机器试图理解和处理人类的文字。通常来说,人的语言是冗余的,含有歧义的,而机器是准确的,无歧义的,要让机器理解,这之间存在一个转换的问题。 ...

3808
来自专栏数据小魔方

R语言可视化——用ggplot构造期待已久的雷达图

之前一直苦恼于ggplot函数无法制作雷达图,心想着既然饼图可以通过柱形图+极坐标模拟出来,为啥雷达图不行。 我尝试着用折线图+极坐标来模拟雷达图(之前在制作饼...

3696
来自专栏机器之心

资源 | 囊括欧亚非大陆多种语言的25个平行语料库数据集(拿走不谢!)

原文链接:https://gengo.ai/datasets/25-best-parallel-text-datasets-for-machine-transl...

2153
来自专栏数据魔术师

运筹学教学 | 十分钟快速掌握最大流算法(附C++代码及算例)

—“运筹教科书到底能给你啥?” —“算法和实现离教科书有多远?” —“问题解决能力到底从哪来?” 今天刚起床就接到了BOSS的 提·问·三·连 小编表示 收到直...

5635

扫码关注云+社区

领取腾讯云代金券