FMUSER更轻松地传输视频和音频!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
1,视频传输原理
视频是利用人眼视觉保留的原理,通过播放一系列图片,使人眼感觉运动。 视频仅被发送,并且视频量非常大,这对于现有的网络和存储来说是不可接受的。 为了使视频易于传输和存储,人们发现视频具有大量重复信息。 如果将重复信息从发送端删除并在接收端恢复,则视频数据文件将大大减少,因此可以使用H.264视频压缩标准。
视频中的原始图像数据将以H.264编码格式压缩,音频采样数据将以AAC编码格式压缩。 经过编码和压缩后,视频内容确实有利于存储和传输。 然而,当观看回放时,也相应地需要解码处理。 因此,显然在编码和解码之间既需要编码器也需要解码器来理解一种约定。 在视频图像编码和解码方面,此公约很简单:
编码器对多个图像进行编码,并在一个片段中产生一个GOP(图片组)。 播放时,解码器读取一部分GOP进行解码,然后读取图片,然后渲染显示。 GOP(图片组)是一系列连续的图片,由一个I帧和几个B / P帧组成。 它是视频图像编码器和解码器访问的基本单元。 将重复其排列顺序,直到图像结束。 I帧是内部编码帧(也称为关键帧),P帧是前向预测帧(前向参考帧),而帧B是双向插值帧(双向参考帧)。 简而言之,第I帧是完整的图片,而P和B记录相对于I帧的变化。 没有I帧,则无法解码P和B帧。
在H.264压缩标准中,I帧,P帧和B帧用于表示传输的视频图像。
回到顶端
2,框架I,P,框架B,GOP
框架I
帧I:即帧内编码的图片。 第一帧代表关键帧,您可以理解该帧的图片已完全保留; 解码仅需要帧的数据完成(因为它包含完整的图片)。 I帧也称为内部图片,通常是每个GOP(MPEG使用的视频压缩技术)的第一帧。 经过适度压缩后,它可以用作随机访问参考点,并且可以视为图像。 在MPEG编码中,某些视频帧序列被压缩为I帧。 一些被压缩成P帧; 有些被压缩为B帧。 I帧方法是一种帧内压缩方法,也称为“关键帧”压缩方法。 I帧方法是基于DCT(离散余弦变换)的压缩技术,类似于JPEG压缩算法。 通过使用I帧压缩可以实现1/6的压缩比,而没有明显的压缩痕迹。
[我框架特征]
1.它是一个全帧压缩编码帧。 它通过JPEG压缩编码和传输整个帧图像信息;
2.解码时只能使用I帧的数据来重建完整的图像;
3.第一帧描述图像的背景和运动物体的细节;
4. I帧不是通过参考其他图片生成的;
5. I帧是P帧和B帧的参考帧(其质量直接影响同一组中每个帧的质量);
6. I帧是帧组GOP的基本帧(第一帧),一个组中只有一个I帧;
7.帧I不需要运动矢量;
8. I帧的信息比较大。
[I帧编码处理]
(1)进行帧内预测以确定帧内预测模式。
(2)像素值减去预测值以获得残差。
(3)对残差进行变换和量化。
(4)可变长度编码和算术编码。
(5)对图像进行重构和滤波,并将该图像用作其他帧的参考帧。
例如,在视频会议系统中,终端发送给MCU的图像(或MCU发送给终端的图像)不是一次发送完整的图像到远端,而是仅发送基于前一个图像后发生变化的部分。图片。 如果网络条件不好,终端会收到远端或丢包发送给远端图片,图片会被阻塞。 在这种情况下,如果没有帧机制将新的完整图像发送到本地(或本地将新的完整图像发送到远程),则会显示终端输出图像的花屏。将会变得越来越严重,这将导致会议无法正常进行。
在视频屏幕播放过程中,如果I帧丢失,后面的P帧一旦无法解决也将出现,并出现黑屏现象。 如果丢失P帧,视频屏幕将显示花屏和马赛克现象。
在视频会议系统中,I帧只会出现在会议的带宽限制之内,并且不会超过会议的带宽而生效。 I帧机制不仅存在于MCU中,而且还存在于电视墙服务器和视频服务器中。 解决网络状况不好的情况下的丢包问题,如图像屏幕,按钮等会影响会议正常进行的情况。
P框
P帧:即预测编码图像。 P帧表示此帧与上一个关键帧(或P帧)之间的差异。 解码时,此帧中定义的差异需要叠加在先前缓存的图片上以生成最终图片。 (也就是说,差异帧,P帧没有完整的图片数据,只有与前一帧不同的数据)
[P帧的预测和重构]
P帧是参考I的帧,其中在I帧中找到P帧的“点”的预测值和运动矢量,并且将预测差和运动矢量一起发送。 根据接收器的运动矢量,从I帧中找到P帧“点”的预测值,并相加差值以获得P帧“点”的样本值,从而可以得到完整的P帧。获得。
[P框功能]
1. P帧是在I帧之后1-2帧的编码帧;
2. P帧采用运动补偿的方式传输P帧与I帧之间的差异和运动矢量(预测误差);
3.在重构完整的P帧图像之前,必须对I帧中的预测值和预测误差进行求和。
4.P帧属于前向预测帧间编码。 它仅指最靠近其前面的I帧或P帧;
5. P帧可以是其后的P帧的参考帧,也可以是其前后的B帧的参考帧;
6,由于P帧为参考帧,可能会引起解码误差的扩散;
7.由于传输的差异,P帧的压缩率比较高。
框架B
帧B:即双向预测的图像。 帧B是双向差分帧,即,该帧与前后帧之间的差异记录在B帧中。 换句话说,为了解码B帧,不仅需要先前的高速缓存图片,而且还需要解码的图片。 通过前后图像与帧数据的叠加获得最终图像。 B帧压缩率很高,但是解码时CPU会更累。
[B帧的预测和重构]
帧B基于前面的I或P帧以及后面的P帧作为参考帧。 找到帧B的预测值和两个“一个点”的运动矢量,并采用预测差和运动矢量进行发送。 接收器根据运动矢量在两个参考帧中“发现(计算)”预测值并求和,求出B帧“确定点”的采样值,从而得到完整的B帧。 通过运动预测在帧之间进行双向预测编码
[B框特征]
1.帧B是由前I或P帧以及后P帧预测的;
2. B帧在其与I帧或P帧与后面的P帧之间传输预测误差和运动矢量;
3. B帧是双向预测编码帧;
4,B帧的压缩率最高,因为它只反映了C个参考帧之间运动主体的变化,预测更准确;
5. B帧不是参考帧,不会引起解码误差的扩散
[为什么需要B框]
由上可知,I和P的解码算法相对简单,资源占用相对较小。 我只需要自己完成即可。 P.它只需要解码器来缓存先前的图片。 遇到P时,最好使用以前缓存的图片。 如果视频流仅具有I和P,则解码器可以在读取和线性前进的同时进行读取和解码。 我不喜欢前进,这对我们来说很舒服。 那么为什么要介绍B框架呢?
网络上的许多电影都采用B帧,因为B帧记录的前后帧之间的差异可以比P帧节省更多空间。 但是,文件很小,并且解码器有麻烦。 在解码中,不仅使用了之前缓存的图片,还使用了下一个I或P图片(即预读和解码)。 此外,不能简单地丢失帧B,因为B帧实际上包含图像信息,所以如果仅丢失该图像并与前一张图像重复,则会导致图像卡(实际上是丢失了)。 为了节省空间,网络上的电影经常使用很多B帧。 B帧使用得越多,对于不支持B帧的播放器会造成更多的麻烦,并且画面被卡住的可能性也越大。
GOP(序列)和IDR
在h264中,图像是按顺序组织的,一个序列是图像编码后的数据流。
序列中的第一个图像称为IDR图像(立即刷新图像),并且IDR图像是I帧图像。 H.264引入IDR图像以重新同步解码。 当解码器对IDR图像进行解码时,它将立即清空参考帧队列,输出或丢弃所有解码数据,重新搜索参数集并开始新的序列。 这样,如果先前序列中存在重大错误,则可以在此处重新进行同步。 IDR图像之后的图像将永远不会使用先前IDR图像中的数据进行解码。
序列是在图像编码后产生的一系列数据流,其内容差异很小。 当运动变化较小时,序列可能会很长,因为运动变化较小代表图像图片的内容变化非常小,因此可以先制作I帧,然后再制作P帧和B帧。 当运动变化很大时,一个序列可能会更短,例如,它包含一个I帧和3或4个P帧。
在视频编码序列中,GOP是一组图片,它是指两个I帧之间的距离,而参考是指两个P帧之间的距离。 在两个I帧之间形成一组图像,即GOP(一组图像)。
|
输入电子邮件以获取惊喜
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
FMUSER更轻松地传输视频和音频!
联系我们
分类目录
订阅电子邮件