精华内容
下载资源
问答
  • 帧内压缩压缩

    千次阅读 2021-06-18 17:09:26
    帧内压缩 相邻像素差别不大,所以可以进行宏块预测。 人对亮度的敏感度超过色度。

    帧内压缩

    帧内(Intraframe)压缩也称为空间压缩(Spatial compression)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。帧内一般采用有损压缩算法,达不到很高的压缩比。

    在视频中,帧内压缩就是压缩 GOP 图像组中的 I 帧。

    帧内压缩是空域, 在空间XY轴进行压缩,进行压缩参考本帧数据,压缩率较小。

    预测模式

    一共有 9 种预测模式,如下图,第一种是按照纵向预测,第二种是横向预测,第三种是求平均值,

    帧间压缩

    帧间压缩(Interframe compression)也称为时间压缩(Temporal_compression),是基于许多视频或动画的连续前后两帧具有很大的相关性(即连续的视频其相邻帧之间具有冗余信息)的特点来实现的;通过比较时间轴上不同帧之间的数据实施压缩,进一步提高压缩比。

    在视频中,帧内压缩就是压缩 GOP 图像组中的 B 帧与 P 帧。

    帧间压缩的主要过程先进行宏块查找,寻找出残差值,进行运动矢量计算,最后通过残差值和运动矢量推算出下一帧的数据。

    宏块查找:查找帧之间有差别的部分,算法有:三步搜索,二维对数搜索,四步搜索,钻石搜索等;

    残差值是指帧之间有差别的部分;

    运动矢量:当前编码块与其参考图像中的最佳匹配块之间的相对位移,也就是变化部分下一帧与上一帧的位移;

    运动估计:针对当前块从上一帧中搜索最相似的块;

    运动补偿:通过残差值和运动矢量推断出下一帧的数据;

    概念不容易懂,举个离职:

    比如两张相邻的帧之间,一个人在说话,此时只有嘴巴是动的,就可以不用考虑其他部分,只找到帧之间有差别的部分,这就叫宏块查找,帧之间有差别的部分就叫残差值,记录下来嘴巴相对于上一帧变动的坐标,这就是运动矢量,嘴巴动的过程在宏块中的变化就叫运动估计。

    通过上面的计算流程之后,不需要存储下一帧完整图片,只需要记录残差值和运动矢量,就可以推断出下一帧的数据,这就是运动补偿。

    帧内压缩与帧间压缩都属于有损压缩。

    视频花屏的产生原因:一组 GOP 中有帧丢失,主要是 P 帧和 B 帧的丢失,这样残差值和运动矢量也会丢失,造成了当前帧解码失败,就会出现花屏。

    视频卡顿的原因:当有帧丢失,就丢弃 GOP 内所有帧,直到下一个 I 帧出现,重新刷新图像。I 帧是 GOP 的第一帧,时间周期可能长,等待下一个 I 帧来之前的这段时间,就会出现卡顿。

    这两者是不能同时兼顾的,比如微信视频通话没有花屏,但是会出现卡顿。一般视频录制的时候一般会有花屏,但不会出现卡顿。

    展开全文
  • 可见MPEG有二大特点: 第一、 因为采用运动预 测帧压缩方式,针对视频压缩有很好的效果,在获得广播级数字视频质量的前提下,可以实现20:1的压缩效 率,数据率可降至1M Byte/s(8M bit/s),一小时视频节目占用3.6GB...

      数码摄像机的记录格式

    df93110d50c642d2938f7562f4365761.png

      DVD光盘记录媒体数码摄像机

      DCR-DVD101E及 DCR-DVD201E采用MPEG2作为影像记录格式,杜比数码AC-3作为音效记录格式,结合高品质的“卡尔蔡司Vario-Tessar”镜头,实现了高画质的摄录。DCR-DVD201E更具备高画质引擎技术,能够创造更高解析度的影像。每个型号的DVD摄像机都提供多种拍摄画质的选择,单面光盘最多可录制60分钟的影像(LP模式下)。

      除了记录影像,这两款摄像机都能捕捉静止JPEG图片于DVD光盘。DCR-DVD201E可拍摄分辨率高达1152 x 864的静止图像,可打印成5寸照片。DCR-DVD101E则可以拍摄640 x 480分辨率的图像,这是电子邮件的理想尺寸,非常方便传递和分享。静止图像同时记录于DVD光盘,能够拍摄上千张的静止图像,并可直接在个人电脑或电视上进行浏览。

      记录格式简单的说就是数码摄像机拍摄动态视频和静态图像后保存的格式。摄像机拍摄动态视频格式一般有MPEG2,MOTION JPEG格式等。静态图片格式一般是JEPG(兼容exif)。

      Motion-JPEG :简称M-JPEG ,它是针对活动图像而优化的JPEG压缩而称。而JPEG是针对一帧图像DCT变换来对图像数据进行压缩,通过对 电视数字信号(4:2:2数据)的每一帧进行JPEG压缩,以减少电视数字信号数据量,因此压缩的好处是显而易 见的。由于数据量成倍减少,降低了存储成本,提高了数据传输速度,减少了对计算机总线和网络带宽的压 力。所以,自从电视信号进入数字化以来,在保证最佳的视觉质量前提下,提高数据的压缩比,是人们一直 在努力追求的目标。 由于电视编辑、特技制作均需要以帧为基本单位,所以对以帧为单元进行压缩(帧内压 缩)的M-JPEG格式被成功地用于数字视频系统,特别是数字非线性节目编辑系统。目前我国非线性编辑系统 大都采用4:1 M-JPEG压缩,被认为是可以接受的广播级水平。当PAL制4:2:2数字信号采用4:1压缩时,其数据 率是5M Byte/s(40M bit/s),每小时视频节目占用18GB存储空间。 那么,是否有更好的压缩视频图像数据的 方法呢?既能保证最佳的视频图像质量,又能大幅地提高压缩比,以便更好地减少数据量,无疑MPEG-II是用 于广播级视频压缩的最佳方式。

      所谓MPEG压缩是根据运动图像相邻帧之间有一定的相似性原则,通过运动预 测,参考前一帧图像与这一帧图像的相似情况,去掉与前一帧相似的冗余数据,而只记录这一帧与上一帧不 同的数据,从而大大提高了视频数据的压缩效率,这种压缩方法也称为帧相关压缩。 MPEG压缩是以图像组 (GOP)为一个单元的,由I帧B、P帧构成。一般情况下一个图像组(GOP)由15帧组成,第一帧为一个I帧, 依次为1个P帧,2个B帧,由此构成I PBB PBB PBB……结构。I帧称为参考帧,所谓参考帧是其它帧都参考的 起始帧,所以I帧是一个能够完全记载这一帧全部图像数据的帧。亦称作全帧。P帧是前向预测帧,是根据与 前一帧图像的比较,去掉与前帧相似的数据而构成的帧。B帧是双向预测帧,是根据与前后一帧图像的比较而 得到的帧。P、B帧是一个不完全帧,它需要依靠I帧而成立。可见MPEG有二大特点:

      第一、 因为采用运动预 测帧压缩方式,针对视频压缩有很好的效果,在获得广播级数字视频质量的前提下,可以实现20:1的压缩效 率,数据率可降至1M Byte/s(8M bit/s),一小时视频节目占用3.6GB空间。数据存储空间利用率高,网络传 输效率是M-JPEG系统的5倍以上。

      第二、 由于MPEG-II格式只有I帧是一个完整的帧。所以在电视需要帧精确 地进行剪接时会带来一的困难。

      MPEG2 格式大家通过对DVD的接触而多多少少了解了一些,DVD节目中的MPEG2格式,确切地说是MPEG2-PS,全称是Program Stream,而TS的全称则是Transport Stream。MPEG2-PS主要应用于存储的具有固定时长的节目,如DVD电影,而MPEG-TS则主要应用于实时传送的节目,比如实时广播的电视节目。这两种格式的主要区别是什么呢?简单地打个比喻说,你将DVD上的VOB文件的前面一截cut掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码了,而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。

      JPEG :扩展名是JPG,其全称为Joint Photograhic Experts Group。JPEG是一个可以提供优异图像质量的文件压缩格式,设置为JPEG格式所拍摄的照片在相机内部通过影像处理器已经加工完毕,可以直接出片。而且在大部分数码相机中,这个“加工”功能还是很出色的,并且我可以负责任地说JPEG是一个值得相信的存储格式。虽然JPEG是一种有损压缩格式,一般情况下,只要不追求图像过于精细的品质(普通消费级DC也很难谈上追求图像的及至),你会发现JPEG有诸多值得考虑的优势,所谓压缩格式就是,JPEG获得一个图像数据,通过去除多余的数据,减少它的储存大小,但在压缩过程中丢掉的原始图像的部分数据是无法恢复的,通常压缩比率在10:1至40:1之间,这样JPEG可以节省很大一部份存储卡的空间,从而大大增加了图片拍摄的数量,并加快了照片存储的速度,同而也加快的连续拍摄的速度,所以广泛用于新闻摄影。如此之多的好处,对于大多数人和普通家庭来说,低压缩率(高质量)的JPEG文件是一个不错的选择。

    展开全文
  • 当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即 仅记录本帧与前后帧的差值 。只有采用B帧压缩才能达到200:1的高压缩。一般地,I帧压缩效率最低,P帧较高,B帧最高。  B...

    转自:https://blog.csdn.net/liangxiaozhang/article/details/17628829

    /**************************************************************************************************************************************************************************************

    **说明:    

            1.本文通过整理而来,集多个高手的精华,此为最重点!!!
            2.因为在海思平台做多媒体视频处理,所以了解I帧、P帧、B帧等压缩-编解码特点是必须的。
            3.海思I帧间隔即GOP取值范围:[0, 1000],以帧为单位,为动态属性。
            4.欢迎拍砖。

     ***************************************************************************************************************************************************************************************/

    视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。

        简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。

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

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

       B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累~。

        采用的压缩方法: 分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。

            1.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;

            2.预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;

            3.数据传输:最后将I帧数据与预测的差值信息进行存储和传输。

     

    一、I帧  

        I图像(帧)是靠尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像。

        I帧又称为内部画面 (intra picture),I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩(做为随机访问的参考点)可以当成图象。在MPEG编码的过程中部分视频帧序列压缩成为I帧,部分压缩成P帧,还有部分压缩成B帧。I帧法是帧内压缩法(P、B为帧间),也称为“关键帧”压缩法。I帧法是基于离散余弦变换DCT(Discrete Cosine Transform)的压缩技术,这种算法与JPEG压缩算法类似。采用I帧压缩可达到1/6的压缩比而无明显的压缩痕迹。

        I帧特点

            1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;

            2.解码时仅用I帧的数据就可重构完整图像;

            3.I帧描述了图像背景和运动主体的详情;

            4.I帧不需要参考其他画面而生成;

            5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);

            6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;

            7.I帧不需要考虑运动矢量;

           8.I帧所占数据的信息量比较大。

        I帧编码流程:

            (1)进行帧内预测,决定所采用的帧内预测模式。

            (2)像素值减去预测值,得到残差。

            (3)对残差进行变换和量化。

            (4)变长编码和算术编码。

            (5)重构图像并滤波,得到的图像作为其它帧的参考帧。

     

    二、P帧

         P图像(帧)是通过充分降低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧

        在针对连续动态图像编码时,将连续若干幅图像分成P,B,I三种类型,P帧由在它前面的P帧或者I帧预测而来,它比较与它前面的P帧或者I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。采取P帧和I帧联合压缩的方法可达到更高的压缩且无明显的压缩痕迹。

        P帧的预测与重构:

            P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而可得到完整的P帧。

        P帧特点:

            ①P帧是I帧后面相隔1-2帧的编码帧。  

            ②P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差)。  

            ③解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像。  

            ④P帧属于前向预测的帧间编码。它只参考前面最靠近它的I帧或P帧。  

            ⑤P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧。

            ⑥由于P帧是参考帧,它可能造成解码错误的扩散。 

            ⑦由于是差值传送,P帧的压缩比较高。

     

    三、B帧

        B图像(帧)是既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧。   

        B帧法是双向预测的帧间压缩算法。当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即仅记录本帧与前后帧的差值。只有采用B帧压缩才能达到200:1的高压缩。一般地,I帧压缩效率最低,P帧较高,B帧最高。

        B帧的预测与重构:

            B帧以前面的I或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量在两个参考帧中“找出(算出)”预测值并与差值求和,得到B帧“某点”样值,从而可得到完整的B帧。

        B帧特点:

            1.B帧是由前面的I或P帧和后面的P帧来进行预测的;

            2.B帧传送的是它与前面的I或P帧和后面的P帧之间的预测误差及运动矢量;

            3.B帧是双向预测编码帧;

            4.B帧压缩比最高,因为它只反映2参考帧间运动主体的变化情况,预测比较准确;

            5.B帧不是参考帧,不会造成解码错误的扩散。 

        P 帧和 B 帧编码的基本流程为:

            (1)进行运动估计,计算采用帧间编码模式的率失真函数(节)值。P 帧 只参考前面的帧,B 帧可参考后面的帧。

            (2)进行帧内预测,选取率失真函数值最小的帧内模式与帧间模式比较,确定采用哪种编码模式。

            (3)计算实际值和预测值的差值。

            (4)对残差进行变换和量化。

            (5)若编码,如果是帧间编码模式,编码运动矢量。

        注:I、B、P各帧是根据压缩算法的需要,是人为定义的,它们都是实实在在的物理帧,至于图像中的哪一帧是I帧,是随机的,一但确定了I帧,以后的各帧就严格按规定顺序排列。 

     

    四、实际应用

        从上面的解释看,我们知道I和P的解码算法比较简单,资源占用也比较少,I只要自己完成就行了,P呢,也只需要解码器把前一个画面缓存一下,遇到P时就使用之前缓存的画面就好了,如果视频流只有I和P,解码器可以不管后面的数据,边读边解码,线性前进,大家很舒服。

        但网络上的电影很多都采用了B帧,因为B帧记录的是前后帧的差别,比P帧能节约更多的空间,但这样一来,文件小了,解码器就麻烦了,因为在解码时,不仅要用之前缓存的画面,还要知道下一个I或者P的画面(也就是说要预读预解码),而且,B帧不能简单地丢掉,因为B帧其实也包含了画面信息,如果简单丢掉,并用之前的画面简单重复,就会造成画面卡(其实就是丢帧了),并且由于网络上的电影为了节约空间,往往使用相当多的B帧,B帧用的多,对不支持B帧的播放器就造成更大的困扰,画面也就越卡。

        一般平均来说,I的压缩率是7(跟JPG差不多),P是20,B可以达到50,可见使用B帧能节省大量空间,节省出来的空间可以用来保存多一些I帧,这样在相同码率下,可以提供更好的画质。

    在如上图中,GOP (Group of Pictures)长度为13,S0~S7 表示 8个视点,T0~T12 为 GOP的 13个时刻。每个 GOP包含帧数为视点数 GOP 长度的乘积。在该图中一个 GOP 中,包含94 个 B帧。B 帧占一个 GOP 总帧数的 90.38%。GOP 越长,B 帧所占比例更高,编码的率失真性能越高。下图测试序列 Race1 在不同 GOP 下的率失真性能对比。

     

    展开全文
  • 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 

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

    展开全文
  • 什么偏置?

    2021-03-07 11:23:17
    移动台业务信道初始的时间偏置由寻呼信道的信道指配消息中的偏置参数定义。反向业务信道的时间偏置与前向业务信道的时间偏置相同。仅当系统时间是20ms的整数倍时,零偏置的反向业务信道才开始,偏置参数被...
  • 视频压缩:I、P、B 关键

    千次阅读 2019-07-31 11:27:38
    简单地说,I是关键,属于帧内压缩。就是和AVI的压缩是一样的。P是向前搜索的意思。B是双向搜索。他们都是基于I压缩数据。 I表示关键,你可以理解为这一画面的完整保留;解码时只需要本数据就可以...
  • B、I和P什么意思? I 对此画面的内容进行完整压缩,只有此的数据完全记载此画面的内容。此类似于JPEG。   P 与其前面的I的比较差分, P只记录了差分信息。相对于I具有较高的压缩率。...
  • 什么是堆栈

    千次阅读 2017-08-08 11:20:34
    在程序中这些数据最准确、高效的表示方法是什么?这些都是有经验的软件设计人员和软件开发人员必须知道的最基本的问题。 对逆向工程而言,数据也是同样重要的。要真正理解一个程序,逆向者必须理解这个程序
  • 我记得之前我粗略写过I的判断:H264编码NALU结构介绍与I判断方法,但也是粗略的写了一下,本篇文章我决定就关键来做个详细点的说明,最基本的就是——什么是关键。 关键,就是说这一是连接两段不同的...
  • 享的愿景是,在5G和AI的背景下,为国内的互联网视频超高清路线提供解法和答案,推进视频的超高清体验的升级,让C端用户早日进入到超高清的观影时代。
  • IBP什么

    千次阅读 2016-09-19 10:05:09
    在了解IBP之前,先聊聊什么是编码过程中的帧内预测和间预测1. 帧内预测编码帧内编码用来缩减图像的空间冗余。为了提高H.264帧内编码的效率,在给定中充分利用相邻宏块的空间相关性,相邻的宏块通常含有...
  • I只存在帧内编码,没有间运动估计,不用参考其他的,所以I具有同步作用,.付出的代价就是效率稍差,不过也十分必要的。 I帧帧内编码分为亮度编码和色度编码,需要完成预测,计算RD代价,来判别宏块分块...
  • “纸上得来终觉浅,绝知此事要躬行”,只有自己按照标准文档以代码的形式操作一遍,才能对视频压缩编码标准的思想和方法有足够深刻的理解和体会!链接地址:H.264/AVC视频编解码技术详解GitHub代码地址:点击这里
  • I,P,B 压缩率对比

    千次阅读 2015-06-16 11:25:09
    简单地说,I是关键,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I压缩数据。   I表示关键,你可以理解为这一画面的完整保留;解码时只需要本数据...
  • 什么是I P B

    2019-02-03 11:14:08
    什么是I P B
  • 什么是I,P,B

    2017-07-25 09:50:01
    简单地说,I是关键,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I压缩数据。   I表示关键,你可以理解为这一画面的完整保留;解码时只需要本数据...
  •  4.B帧压缩比最高,因为它只反映2参考帧间运动主体的变化情况,预测比较准确;  5.B帧 不是参考帧 , 不会造成解码错误的扩散 。   P 帧和 B 帧编码的基本流程为:  (1)进行运动估计,计算采用帧间...
  • matlab中基于输出是什么意思

    千次阅读 2010-10-16 10:41:00
    21.MATLAB支持的几种图像文件格式: <br />⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像专家组的图像压缩格式。 <br />⑵BMP(Windows Bitmap):有1位、4位、8位、24位非压缩图像,8...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,148
精华内容 7,659
关键字:

帧内压缩是什么意思