精华内容
下载资源
问答
  • 同步,同步是什么意思

    千次阅读 2019-04-08 12:57:45
    同步,同步是什么意思 在数字通信时,一般总是以一定数目的码元组成一个个的“字”或“句”,即组成一个个的“群”进行传输的。因此,群同步信号的频率很容易由位同步信号经分频而得出。但是,每个群的开头和末尾...

    帧同步,帧同步是什么意思
    在数字通信时,一般总是以一定数目的码元组成一个个的“字”或“句”,即组成一个个的“群”进行传输的。因此,群同步信号的频率很容易由位同步信号经分频而得出。但是,每个群的开头和末尾时刻却无法由分频器的输出决定。群同步的任务就是在位同步信息的基础上,识别出数字信息群(“字”或“句”)的起止时刻,或者说给出每个群的“开头”和“末尾”时刻。
    群同步有时也称为帧同步。为了实现群同步,可以在数字信息流中插入一些特殊码字作为每个群的头尾标记,这些特殊的码字应该在信息码元序列中不会出现,或者是偶然可能出现,但不会重复出现,此时只要将这个特殊码字连发几次,收端就能识别出来,接收端根据这些特殊码字的位置就可以实现群同步。本节将主要讲述插入特殊码字实现群同步的方法。
    插入特殊码字实现群同步的方法有两种,即连贯式插入法和间隔式插入法。在介绍这两种方法以前,先简单介绍一种在电传机中广泛使用的起止式群同步法。
    起止同步法
    目前在电传机中广泛使用的同步方法,就是起止式群同步法,下面就以电传机为例,简要地介绍一下这种群同步方法的工作原理。
    电传报文的一个字由7.5个码元组成,假设电传报文传送的数字序列为10010,则其码元结构如图1所示。从图中可以看到,在每个字开头,先发一个码元的起脉冲(负值),中间5个码元是信息,字的末尾是1.5码元宽度的止脉冲(正值),收端根据正电平第一次转到负电平这一特殊规律,确定一个字的起始位置,因而就实现了群同步。由于这种同步方式中的止脉冲宽度与码元宽度不一致,就会给同步数字传输带来不便。另外,在这种同步方式中,7.5个码元中只有5个码元用于传递信息,因此编码效率较低。但起止同步的优点是结构简单,易于实现,它特别适合于异步低速数字传输方式。

    连贯式插入法
    连贯式插入法就是在每群的开头集中插入群同步码字的同步方法。作群同步码字用的特殊码字首先应该具有尖锐单峰特性的局部自相关特性,其次这个特殊码字在信息码元序列中不易出现以便识别,最后群同步识别器需要尽量简单。目前已经找到的最常用的群同步码字,就是“巴克”码。
    1.巴克码
    巴克码是一种具有特殊规律的二进制码字。它的特殊规律是:若一个n位的巴克码{X1,X2,X3,…Xn},每个码元 只可能取值+1或-1,则它必然满足条件
    式(1)中,R(j)称为局部自相关函数。从巴克码计算的局部自相关函数可以看到,它满足作为群同步码字的第一条特性,也就是说巴克码的局部自相关函数具有尖锐单峰特性,从后面的分析同样可以看出,它的识别器结构非常简单。目前人们已找到了多个巴克码字,具体情况如表1所示。表中+表示+1,–表示–1。
    以n = 7的巴克码为例,它的局部自相关函数计算结果如下

    同样可以求出j = 3、4、5、6、7,以及j = -1、-2、-3、-4、-5、-6、-7时R(j)的值为

    根据式(2)计算出来的这些值,可以作出7位巴克码关于R(j)与j的关系曲线,如图2。由图2可以看出,自相关函数在j=0时具有尖锐的单峰特性。局部自相关函数具有尖锐的单峰特性正是连贯式插入群同步码字的主要要求之一。

    2.巴克码识别器
    巴克码识别器是比较容易实现的,这里以七位巴克码为例,用7级移位寄存器、相加器和判决器就可以组成一识别器,具体结构如图7-16所示。7级移位寄存器的1、0端输出按照1110010的顺序连接到相加器输入,接法与巴克码的规律一致。当输入数据的“1”存入移位寄存器时,“1”端的输出电平为+1,而“0”端的输出电平为-1;反之,存入数据“0”时,“0”端的输出电平为+1,“1”端的电平为-1。
    当发送端送来的码元自右向左进入时,首先考虑一个简单的情况:假设只计算巴克码(1110010)进入的几个移位寄存器的输出,此时将有巴克码进入一位,二位……七位全部进入,第一位移出尚留六位……前六位移出只留一位等13种情况。经过计算可得相加器的输出就是自相关函数,设码元进入移位寄存器数目为a,码元尚留在移位寄存器的数目是b,这是就可以得到a、b和j之间的关系式

    根据上述关系可以得到表2,它反映了相加器输出与a、b之间的关系。

    实际上述群同步码的前后都是有信息码的,具体情况如图4(a)所示,在这种情况下巴克码识别器的输出波形如图4(b)所示。

    当七位巴克码在图4中的t1时刻,正好已全部进入了7级移位寄存器,这时7个移位寄存器输出端都输出+1,相加后得最大输出+7,如图4(b)所示,而判决器输出的两个脉冲之间的数据,称为一群数据或称为一帧数据。
    当然,对于信息而言,由于其具有的随机特性,可以考察一种最不利的情况:即当巴克码只有部分码在移位寄存器时,信息码占有的其它移位寄存器的输出全部是+1,在这样一种对于群同步最不利的情况下,相加器的输出将如表3所示。由此可得到相加器的输出波形如图5所示。图中横坐标用a表示,由a、b和j之间的关系可知,a=14-b。

    由图5可以看出,如果判决电平选择为6,就可以根据a=7时相加器输出的7,大于判决电平6而判定巴克码全部进入移位寄存器的位置。此时识别器输出一个群同步脉冲,表示群的开头。一般情况下,信息码不会正好都使移位寄存器的输出均为+1,因此实际上更容易判定巴克码全部进入移位寄存器的位置。后面还要讲到如果巴克码中有误码时,只要错一个码,当a=7时相加器输出将由7变为5,低于判决器的判决电平。因此,为了提高群同步的抗干扰性能,防止漏同步,判决电平可以改为4。但改为4以后容易发生假同步,这些问题在性能分析时要进一步讨论。
    间歇式插入法
    在某些情况下,群同步码字不再是集中插入在信息码流中,而是将它分散地插入,即每隔一定数量的信息码元,插入一个群同步码字。这种群同步码字的插入方式被称为间歇式插入法。
    当然集中式插入法和间歇式插入法在实际系统当中都有应用,例如在32路数字电话PCM系统中,实际上只有30路通电话,另外两路中的一路专门作为群同步码传输,而另一路作为其它标志信号用,这就是连贯式插入法的一个应用实例。而在24路PCM系统中,群同步则采用间歇式插入法。在这个系统中,一个抽样值用8位码表示,此时24路电话都抽样一次共有24个抽样值,192(24×8=192)个信息码元。192个信息码元作为一帧,在这一帧插入一个群同步码元,这样一帧共193个码元。24路PCM系统如图7-19所示:
    由于间歇式插入法,是将群同步码元分散的插入倒信息流中,因此,群同步码码型选择有一定的要求,其主要原则是:首先要便于收端识别,即要求群同步码具有特定的规律性,这种码型可以是全“1”码、“1”“0”交替码等;其次,要使群同步码的码型尽量和信息码相区别。例如在某些PCM多路数字电话系统中,用全“0”码代表“振铃”,用全“1”码代表“不振铃”,这时,为了使群同步码字与振铃相区别,群同步码就不能使用全“1”或全“0”。
    收端要确定群同步码的位置,就必须对接收的码进行搜索检测。一种常用检测方法为逐码移位法,它是一种串行的检测方法;另一种方法是RAM帧码检测法,它是利用RAM构成帧码提取电路的一种并行检测方法。这里将介绍逐码移位法的基本原理和实现同步的过程。

    逐码移位法的基本原理就是,由位同步脉冲(位同步码)经过n次分频以后的本地群码(频率是正确的,但相位不确定)与接收到码元中间歇式插入的群同步码进行远码移位比较,使本地群码与发送来的群同步码同步。其原理结构框图如图7:

    图7中异或门、延迟一位电路和禁门是专门用来扣除位同步码元以调整本地群码相位的,具体过程可以通过图8看到。
    设接收信码(波形c)中的群同步码位于画斜线码元的位置,后面依次安排各路信息码1、2、3(为简单起见,只包含三路信息码)。如果系统已经实现了群同步,则位同步码(波形a)经四次分频后,就可以使得本地群码的相位与收信码中的群同步码的相位一致。现在假设开始时如波形d图所示,本地群码的位置与波形c收信码中的群码位置相差两个码元位。为了易于看出逐码移位法的工作过程,假设群码为全“1”码,其余的信息码均与群码不同,为“0”。在第一码元时间,波形c与d不一致,原理图中的异或门有输出(波形e),经延迟一码元后,得波形f加于禁门,扣掉位同步码的第2个码元(波形b的第2个码元位置用加一叉号表示),这样分频器的状态在第2码元期间没有变化,因而分频器本地群码的输出仍保持和第1码元时相同。这时,它的位置只与收信码中的群码位置相差一位了(见波形d1)。

    类似地在第2码元时间,c又和d1进行比较,产生码形e1和f1,又在第3码元位置上扣掉一个位同步码,使本地群码的位置又往后移一位(波形d2)。至此以后,收信码中的群码与本地群码的位置就完全一致了,因而就实现了群同步。同时,也就提供了各路的定时信号。
    从图8表示的群同步建立原理来看,如果信息码中所有的码都与群码不同,那么最多只要连续经过N次调整,经过NTb的时间就可以建立同步了。但实际上信息码中“l”、“0”码均会出现,当出现“1”码时,在上面群同步过程的例子中,第1个位同步码对应的时间内信息码为“1”,图7-21中异或门输出 e=0,f=0禁门不起作用,不扣除第2位同步码,因此本地群码不会向右移展宽,这一帧调整不起作用,一直要到下一帧才有可能调整。假如下一帧本地群码d还是与信码中“1”码相对应,则调整又不起作用。当信息码中1、0码等概出现时,即P(1)=P(0)=0.5时,经过计算,群同步平均建立的时间近似为 (5)
    群同步系统的性能指标
    对于群同步系统而言,希望其建立的时间要短、建立同步以后应该具有较强的抗干扰能力。因此,在通常情况下,用以下三个性能指标来表示群同步性能的好坏,它们是:(1)漏同步概率P1;(2)假同步概率P2;(3)群同步平均建立时间ts。
    不同形式的同步系统,性能自然也不同。在此将主要分析集中插入方式的群同步系统的性能。
    1.漏同步概率P1
    由于噪声和干扰的影响,会引起群同步码字中一些码元发生错误,从而使识别器漏识别已发出的群同步码字,出现这种情况的概率称为漏识概率,用符号 来表示。以7位巴克码识别器为例,设判决门限为6,此时7位巴克码中只要有一位码发生错误,当7位巴克码全部进入识别器时,相加器输出就由7变5,小于判决门限6,这时就出现了漏同步情况,因此,只有一位码也不错才不会发生漏同步。若在这种情况下,将判决门限电平降为4,识别器就不会漏识别,这时判决器容许7位同步码字中有一个错误码元。
    在信息码中也可能出现与所要识别的群同步码字相同的码字,这时识别器会把它误认为群同步码字而出现假同步。出现这种情况的概率就被称为假同步概率,用符号P2表示。
    因此,计算假同步概率P2计算信息码元中能被判为同步码字的组合数与所有可能的码字数之比。设二进制信息码中1和0码等概出现,也就是P(1)=P(0)=0.5,则由该二进制码元组成n位码字的所有可能的码字数为2n个,而其中能被判为同步码字的组合数也与m有关,这里m表示判决器容许群同步码字中最大错码数,若m=0时,只有 个码字能识别;若M=1,则有 个码字能识别。以此类推,就可求出信息码元中可以被判为同步码字的组合数,这个数可以表示为 ,由此可得假同步概率的表达式为

    从式(6)和式(7)可以看到,随着m的增大,也就是随着判决门限电平降低,P1减小,但P2将增大,所以这两项指标是相互矛盾的。所以,判决门限的选取要兼顾漏同步概率和假同步概率。
    3.群同步平均建立时间ts
    对于连贯式插入的群同步而言,设漏同步和假同步都不发生,也就是P1 = 0和P2 = 0。在最不利的情况下,实现群同步最多需要一群的时间。设每群的码元数为N(其中m位为群同步码),每码元时间为Tb,则一群码的时间为NTb。考虑到出现一次漏同步或一次假同步大致要多花费 的时间才能建立起群同步,故群同步的平均建立时间大致为:

    群同步的保护
    1.连贯式插入法中的群同步保护
    连贯式插入法中的群同步保护电路如图9。在群同步尚末建立时,系统处于捕捉态,状态触发器C的Q端为低电平,群同步码字识别器的判决门限电平较高,因而就减小了假同步概率P2。这时在保护电路中,由于把判决门限电平调高,假同步的概率已很小,故保护电路中的n分频器被置零,禁止位同步n分频后输出。这里的n表示一帧数据的长度,因此,在置零信号无效时,位同步n分频后可以输出一个与群同步同频的信号,但脉冲位置不能保证与群同步脉冲位置相同,而这个脉冲位置也正是需要捕捉态确定的。

    从图9可以看到,为了减小假同步的概率,必须连续 次接收的码元与本地群码相一致,才被认为是建立了同步,采用这种方法可使假同步的概率大大减小。
    状态触发器C在同步末建立时处于“捕捉态”(此时Q端为低电平)。本地群码和收码只有连续n1次一致时,n1计数电路才输出一个脉冲使状态触发器的Q端由低电平变为高电平,群同步系统就由捕捉态转为维持态,表示同步已经建立。这样收码就可通过与门1加至解调器。偶然的一致是不会使状态触发器改变状态的,因为 次中只要有一次不一致,就会使计数电路置“0”。
    同步建立以后,可以利用状态触发器C和n2计数电路,来防止漏同步以提高同步系统的抗干扰能力。一旦转为维持状态以后,触发器C的Q反端变为低电乎,将与门2封闭。这时即使由于某些干扰使e有输出,也不会调整本地群码的相位。如果是真正的失步,e就会不断地将输出加到n2计数电路,同时e的反也不断将 计数电路置“0”。这时n1计数电路也不会再有输出加到n2计数电路的置“0”端上,而当n2计数电路输入脉冲的累计数达到n2时,就输出一个脉冲使状态触发器由维持态转为捕捉态,C触发器的Q反端转为高电平。这样,一方面与门2打开,群同步系统又重新进行逐码移位,另一方面封闭与门1,使解调器暂停工作。由此可以看出,将逐码移位法群同步系统划分为捕捉态和维持态后,既提高了同步系统的可靠性,又增加了系统的抗干扰能力。

    展开全文
  • I内压缩编码得到的,通常是每个GOP组的第一/基础,在一组中只有一个I,I所占信息量大,解码时仅有I即可完整重构图像,所以才叫关键。 P与B间压缩,P没有完整图像数据,只有与前一的...

    在之前的博文中都抛出了问题,而没有解决,这里做最后的解决!!!

    视频关键帧分为I帧,P帧,B帧,这里介绍下区别,也是我搜索得到的,仅供参考。

    I帧才是关键帧,P,B算不上关键帧。

    I帧是帧内压缩编码得到的,通常是每个GOP组的第一帧/基础帧,在一组中只有一个I帧,I帧所占信息量大,解码时仅有I帧即可完整重构图像,所以才叫关键帧。

    P帧与B帧是帧间压缩,P帧没有完整图像数据,只有与前一帧的差别信息,因此也叫预测帧,B帧则是考虑前后帧的差别(故而也叫双向预测帧),因此B帧解码时间最长,压缩比最大。

    参考上面博文,又找到了一个方法,感谢帮助我的大佬。cv2解码,当然其他解码也可,我看看是否结果一样。

    我看了下,这个方法是找到关键帧的index,然后再次读视频(耗时问题也算差强人意吧),我在上面博文中也提及了。

    下面是用ffprobe得到的帧:以baby.mp4为例

    'pict_type=I\r\npict_type=P\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=P\r\npict_type=I\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\npict_type=B\r\npict_type=P\r\n'

    可见,I,P,B帧都有。这样就得到了index。

    cv2中获取指定index的帧,与cv2.CAP_PROP_POS_FRAMES有关,后来得到cv2保存的图片比直接用ffmpeg的内存大,图像是一样的。可以认为无差别吧。我试试另一个解码器,看看耗时上有没有差别,仍旧以baby.mp4(1.1M)和baby2.mp4(1.4M),较大的视频vLaugh199.mp4 (19M)为例。

    比较方法是只读取数据,鉴于图像解码可能有差别,恢复的图像大小不一样,所以第一步,先保存为图,如果图像一样的话,那么只看读取数据的时间。

    中间遇到一个问题,让我蒙蔽了,cv2指定的某个index得到的frame为空,这就尴尬了。

    因为下面的ret为False,其实这就说明cv2的解码与ffmpeg是不一样的,加个判断,避免报错。

    ret, frame = cap.read()

    cv2解码得到的关键帧只有15个,而ffmpeg有16个,尽管后者得到图有些小,质量可能不清晰。

    整体上相差不大,可以忽略这个15还是16的问题吧。

    其中又遇到了一个问题,另一个解码器得到的图到底是什么格式?RGB or BGR ?我直接用imwrite保存得到的图反而没有错??

    鉴于此,又新开一个博文。等待官方答复中。。

    下面进入正文:测试解码时间,其实我绝对就是看PyDecoder的耗时,因为这个我之前测试过,的确比较快一点。

    【PyDecoder采用GPU时可能会出现问题,卡死,我有点蒙蔽】

    time: 24.900450 PyDecoder

    time: 4.887592   cv2  可见有index时抽帧还是cv2快

    中间又遇到一个问题,用time.clock()计算时间得到的结果不对(可能是版本问题,有提示升级了,反正啥幺蛾子都有,奇怪的问题不纠结,能避免就好),于是换成了time.time()

    DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
      start=time.clock()
    
    
    
    >>> start=time.clock()
    >>> end=time.clock()
    >>> end-start
    
    #服务器上这种计算方法出现问题

    另外有相关问题可以加入QQ群讨论,不设微信群

    QQ群:868373192 

    语音图像视频深度-学习群

    展开全文
  • 什么是B、I和P?B、I和P是什么意思? I 对此画面的内容进行完整压缩,只有此的数据完全记载此画面的内容。此类似于JPEG。   P 与其前面的I的比较差分, P只记录了差分信息。相对于...
    什么是B帧、I帧和P帧?B帧、I帧和P帧是什么意思?


    I 帧 对此画面的内容进行完整压缩,只有此帧的数据完全记载此画面的内容。此帧类似于JPEG。
      
    P 帧 与其前面的I帧的比较差分, P帧只记录了差分信息。相对于I帧具有较高的压缩率。
      
    B 帧 与其前后的I, P帧的比较差分,B帧只记录了差分信息。与P帧比较则具有更高的压缩率。


    在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。

    I表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)

    P表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)

    如果你明白P的意思,那么B就比较好理解了。

    B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况,但我这样说简单些,有兴趣可以看看我上面提供的资料),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。

    以下是他们的显示顺序:

    I B B B P B B B P B B B....

    其中I 帧 基本的压缩率很低, 而p帧是由I帧或P帧预测, B帧由I和P共同预测出来.   从而P和B帧实际只是相邻两帧的差值.

    但是在传输时的顺序却和显示顺序不一致:

    I P B B B P B B B P B B B...



    B 帧在 MPEG-4 中有四种参考模式,如果是同时参考前后的画面压缩,则记录的是 和 (前画面 pixel 值 + 后画面 pixel 值)/2 的差值,也就是 和 「前后画面的平均」的差值。所以记录的差值个数和 P 帧一样,只有一个,没有增加。


    而因为 B 帧位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测 B 帧的 pixel 数值为多少?如果有误差,再记录差值),这样这个预测数值会比单独使用前一个画面来预测,更接近目前真正的 B 帧的数值,可想而知,如此所需要记录的差值就会很小甚至可以根本不用记录,所以便可以省下很多的 bits,提高压缩率。


    例如 亮度变化 -> I B P  7 8 9


    如果 B 只参考前一个画面压缩,则需记录差值 1。如果以 (I + P)/2 压缩,则差值为 0,不需记录差值。(虽然要记录两个矢量,不过矢量也可以再做进一步预测压缩,总的来说,还是会比单独参考前一个画面压缩来得小很多)如果画面不是这样变化怎么办?通常来讲画面都会是这样变化,如果不是这样变化我们就不使用 B 帧就算变化不是如此规则,换个方式想,B 帧可以参考的画面还是比 P 帧多,再怎么找,也还是 B 帧可以找到误差更小的方块来使用的机率大(因为可以选择、参考的对象较多),所以 B 帧还是比 P 帧的压缩率来得高。(而且高很多,差距非常大)


    除了压缩率以外,B 帧对画质的影响.....是有的,因为 B 帧这种参考前后画面的特性,等于有内插(interpolation)的效果,所以可以减少噪讯。


    MPEG-4 中的 B 帧,也是非常具有威力的,除了以前的三种参考模式,还有 Direct Mode,连矢量的纪录都省了。虽然 MPEG-4 之中有 4MV 的功能,可以记录四个矢量,不过编码器在压缩的时候会判断,到底是使用 4MV 压出来的结果小,还是使用传统的方法压出来的结果小?


    如果使用传统的方法压出来的结果小,便使用传统的方法记录,如果使用 4MV 压出来的结果小,才使用 4MV 来记录。


    (ps. 4MV 不会用在 backward 预测)


    您可以观察 VirtualDub 压缩时画面上显示的蓝线,您会发现蓝线和蓝线之间通常会有很短的蓝线插在中间,造成空隙,而且差距很大,这个就是夹在 P 之间的 B 在发挥压缩威力如果是用 DivX 5 更明显,因为 DivX 5 只能够使用 IBPBPBPB... 这种一个 B 接一个 P 的形式,所以画面上的蓝线就是「一长一短、一长一短」这样排列。


    关键帧和过渡帧的联系与区别


    1、两个关键帧的中间可以没有过渡帧(如逐帧动画),但过渡帧前后肯定有关键帧,因为过渡帧附属于关键帧;


    2、关键帧可以修改该帧的内容,但过渡帧无法修改该帧内容。


    3、关键帧中可以包含形状、剪辑、组等多种类型的元素或诸多元素,但过渡帧中对象只能是剪辑(影片剪辑、图形剪辑、按钮)或独立形状
    展开全文
  • 只有i的pts,dts,如何求取中间的b和p的长度和解码时间? 如果是consant frame rate,(LastPTS-FirstPTS)/Frame count, 应该就知道每个frame的pts了 variable frame rate就没有办法了 你是指的每个...

    只有i帧的pts,dts,如何求取中间的b帧和p帧的长度和解码时间?

    如果是consant frame rate,(LastPTS-FirstPTS)/Frame count, 应该就知道每个frame的pts了

    variable frame rate就没有办法了

    你是指的每个帧duration吗?相邻下一个frame的pts-当前frame的pts,就是当前frame的duration

     

    是这样的,我解出来的pts间隔为480ms,然后和dts的差为120ms,我看参考软件,在两个pts中间每隔40ms一个帧,我怎么知道这些帧的长度等参数呢?这是用在缓冲画图里的。

     

    你已经找到一个I帧,一个P帧,那么,你可以搜索I,P帧之间有多少个picture header,这样就知道一共有多少张frame,然后利用I,P帧拿到的PTS,就能计算出每一张frame的duration

     

    对于constant frame rate, 每个frame的duration都是一样的。对于如下的序列:

    decode 顺序: I Pa B B Pb B B
    Display顺序: I B B Pa B B Pb
    假如你知道前面两个 I, Pa的pts,那么,需要继续往后找到Pb,计算出Pa与Pb之间有多少picture,根据搜索到的picture header。按照上面的decode 顺序就是2张B。这个时候,用Pa的PTS减去I的pts,然后除以3就能算出每一张的duration。每一张的duration知道了,B的pts也就知道了。
    展开全文
  • 什么是B、I、P

    2010-02-02 09:59:00
    解码时只需要本数据就可以完成(因为包含完整画面)P表示的是这一跟之前的一个关键(或P)的差别,解码时需要用之前缓存的画面叠加上本定义的差别,生成最终画面。(也就是差别,P没有完整画
  • 根据生成中间帧的复杂性来说, ATW很显然表明, 甚至是位置时间扭曲, ATW不会成为一个完美的通用的解决方案,这意味着只有方向ATW和位置ATW还算是可以的, 填充帧时偶尔会有跳跃。 为了产生一个舒适,令人信服...
  • I B P IDR

    2014-02-21 11:45:17
    I内编码  I特点:  1.它是一个全压缩编码,它将全图像信息进行JPEG压缩编码及传输;  2.解码时仅用I的数据就可重构完整图像;  3.I描述了图像背景和运动主体的详情;  4.I不需要参考其他...
  • 享的愿景是,在5G和AI的背景下,为国内的互联网视频超高清路线提供解法和答案,推进视频的超高清体验的升级,让C端用户早日进入到超高清的观影时代。
  • 视频文件中IBP的说明

    千次阅读 2017-03-24 15:06:24
      一就是视频中的一个画面。关键  ...每一个GOP都是由关键开始的,关键是一幅完整的画面,GOP中间都是不完整的,需要由关键、前面以及后面等一起运算得到。关键的间隔调节会影响
  • 和关键,空白

    千次阅读 2014-07-04 17:56:19
    ——是进行flash动画制作的最基本的单位,每一个精彩的flash动画都是由很多个精心雕琢的构成的,在时间轴上的每一都可以包含需要显示的所有内容,包括图形、声音、各种素材和其他多种对象。 关键——...
  • pr关键

    2020-03-12 18:48:17
    在早期Walt Disney的制作室,熟练的动画师设计卡通片中的关键画面,也即所谓的关键帧,然后由一般的动画师设计中间帧。在三维计算机动画中,中间帧的生成由计算机来完成。所有影响画面图象的参数都可成为关键帧的...
  • I ,B,P,IDR的区别

    千次阅读 2013-11-02 09:06:53
    I:内编码 I特点: 1.它是一个全压缩编码。它将全图像信息进行JPEG压缩编码及传输; 2.解码时仅用I的数据就可重构完整图像; 3.I描述了图像背景和运动主体的详情; 4.I不需要参考其他画面而生成...
  • I P B的区别

    千次阅读 2010-12-09 11:30:00
    2)因为B 位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测 B 的 pixel 数值为多少?如果有误差,再记录差值),这样这个预测数值会比单独使用前一个画面...
  • 位同步(比特同步)和同步的区别是什么?2009-03-09 07:30在数据通信中最基本的同步方式就是“位同步”(bit synchronization)或比特同步。比特是数据传输的最小单位。位同步(比特同步)是指接收端时钟已经调整到...
  • B、I和P

    千次阅读 2009-05-04 14:56:00
    B 在 MPEG-4 中有四种参考模式,如果是同时参考前后的画面压缩,则记录的...而因为 B位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测 B 的 pixel数值为多少?如果有
  • I、P和B的特点

    千次阅读 2012-02-11 15:58:32
    B参考模式 ...2)因为B 位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测 B 的 pixel 数值为多少?如果有误差,再记录差值),这样这个预测数值会
  • 802.11 Beacon

    千次阅读 2017-05-22 16:11:17
    Beacon是802.11中一个周期性的,Beacon周期调高,对应睡眠周期拉长,故节能(即越来休息100ms再起来发一个包,现在休息200ms再起来发一个包这样),不够节能意味着本身就没有什么接入速率的要求。Beacon周期调低...
  • MPEG编码过程中,一些图像压缩成I,一些压缩成P,另一些压缩成B。I压缩可以得到6;1的压缩比而不产生任何可觉察的模糊现象。I压缩的同时使用P压缩,可以达到更高的压缩比而无可觉察的模糊现象。B压缩...
  • 、关键和空白关键的作用

    千次阅读 2013-06-30 12:15:40
    一、 几种类型的小结:(关键、空白关键、普通)  1. 特点  ——是进行flash动画制作的最基本的单位,每一个精彩的flash动画都是由很多个精心雕琢的构成的,在时间轴上的每一都可以包含需要显示的...
  • H264编码中的I,B,P

    千次阅读 2015-08-06 19:05:19
    I:内编码 I特点: 1.它是一个全压缩编码。它将全图像信息进行JPEG压缩编码及传输; 2.解码时仅用I的数据就可重构完整图像; 3.I描述了图像背景和运动主体的详情; 4.I不需要参考其他画面而生成...
  • 千次阅读 2018-05-31 12:55:59
    #include #include char head_tail(char *str,char *result) //定义成数组指针存放下面需要获取的字符串 { int i = 0;...printf("取出的中间字符串 = %s\n",result);//取字符   return 0; }
  • 刚开始做音频信号处理,在看短时能量算法时遇到一个移的概念。...加窗之后,音频信号中间部分被突出,两端被削弱,因此,在分时会重复取一段音频信号,减弱这种窗函数的影响。相邻两的起始位置差即为移。 ...
  • MPEG图像编码包含3个成分:I,P和B。MPEG编码过程中,一些图像压缩成I,一些压缩成P,另一些压缩成B。I压缩可以得到6:1的压缩比而不产生任何可觉察的模糊现象。I压缩的同时使用P压缩,可以达到更...
  • 以太

    千次阅读 2011-05-08 22:49:00
    在以太网链路上的数据包称作以太。... 目录[隐藏]1结构1.1前导码和开始符1.2报头1.3校验码1.4间距2以太类型2.1Ethernet I2.2802.2 LLC2.3子网接入协议2.4Novell raw 802.33效率4矮5Notes6Refe
  • 首先要说的是电影就是24FPS也不如60FPS的流畅,对比就可以看出来,但是24FPS不会让人觉得卡,甚至12FPS都不会让人觉得卡,而24FPS的游戏能让人很明显的感受到卡,12FPS就是幻灯片了,这是为什么呢?有两个原因。  ...
  • I、P、B,以及PTS、DTS的关系

    千次阅读 2017-05-22 18:08:59
    在MPEG编码的过程中,部分视频序列压缩成为I,部分压缩成P,还有部分压缩成B。I法是内压缩法,也称为“关键”压缩法。 I法是基本离散余弦变换 DCT( Discrete Cosine Transform )的压缩技术,这种...
  • H264内编码与间编码

    万次阅读 2017-02-13 19:14:50
    晚上没事干,无聊,所以想写点什么。 为了达到节约空间的目的,视频图像都是经过编码,然后用于各种不同的场合,特别是网络传输,因为带宽的限制,为了更好的传输数据,必须对视频进行压缩处理。而目前最流行的当属...
  • GSM结构

    万次阅读 2015-11-14 14:34:50
    主要的一个原因是整个结构的每一个周期都有需要实习和,很难在一张纸上形象化地画出整个结构。 我没有找到任何形象化描述整个超中每一个时隙的方法,但是GSM层次图如下。 你必须详细的理解时隙,,多...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,261
精华内容 33,704
关键字:

中间帧是什么