展开

关键词

视频编码的三种:I,B,P

在视频压缩编码中,所有的被分成了三个种类,I,B和P,其实就是Intra-Prediction,Bi-prediction和Prediction。 顾名思义,就是内预测,双向预测以及(单向)预测。 (inter prediction),内预测的话就是在找参照块的时候,只在当前内寻找;而间预测的话,找参照块的时候会在相邻的之间去找相似块。 因此,基于上述所说, 如果说当前是只在当前内寻找参照块的话,那么该就是I 如果在已经编码的里面寻找参照块的话,那么它是P 如果既在已编码的里去寻找参照块,又在未来将要被编码的里去寻找参照块的话 ,那么该就是B

78820

视频中的 I ,P ,B

由于压缩处理的方式不同,视频中的画面就分为了不同的类别,其中包括:I 、P 、B 。I 是内部编码(也称为关键),P 是前向预测(前向参考),B 是双向内插(双向参考)。 简单地讲,I 是一个完整的画面,而 P 和 B 记录的是相对于 I 的变化。如果没有 I ,P 和 B 就无法解码。 I I (Intra coded frames):I 图像采用内编码方式,即只利用了单图像内的空间相关性,而没有利用时间相关性。 由于 I 不依赖其它,所以是随机存取的入点,同时是解码的基准。 I 主要用于视频播放的初始化,I 图像的压缩倍数相对较低。I 图像是周期性出现在图像序列中的,出现频率可由编码器选择。 P 是差别,P 没有完整画面数据,只有与前一的画面差别的数据。 若 P 丢失了,则视频画面会出现花屏、马赛克等现象。

28720
  • 广告
    关闭

    开发者专享福利,1988元优惠券限量发放

    带你体验博客、网盘相册搭建部署、视频渲染、模型训练及语音、文字识别等热门场景。云服务器低至65元/年,GPU15元起

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    音频、视频及其同步

    今天介绍下音频、视频的主要参数和分析方法,以及音视频的同步等,主要内容如下: 音频 视频 PTS与DTS 音视频同步 音频 音频的概念没有视频那么清晰,几乎所有视频编码格式都可以简单的认为一就是编码后的一副图像 大小 大小指每的采样数,这个值的恒定的,具体如下: ? FrameSize 长度 长度指压缩时每一的长度,包括头及填充位,因为有填充和比特率变换,所以长度不是恒定的,这个填充位具体从头中第 9 位获取,如果是 0 则无填充位,如果是 1 则有填充位 P :前向预测,表示与前一(I 或 P )之间的差别,需要参考前面的 I 或 P 才能生成完整的图片,相较 I 更具压缩性,节省了空间,所以 P 也成为增量。 B :双向预测编码,表示与前后两的差异,需要参考前面的 I 或 P 及后面的 P 来生成一张完成的图片,压缩性最大。

    1.4K10

    Easy Tech:什么是I、P和B

    I、P和B Easy-Tech #002# 在本篇文章中,我们将学习I、P和B的工作原理以及它们的用途。 好,我们先从现代视频压缩中最基本的概念开始——内预测和间预测。 现在,看完对内预测和间预测的快速介绍,让我们来学习I、P和B吧! 什么是I? 想要理解B的作用,我们需要先理解呈现/显示顺序和解码顺序的概念。 以I和P为例。如果你只使用这两种类型的,那么每一要么参考自身(I ),要么参考前一(P )。 参考B和非参考B 我们在上文中学过,B可以参考两或者多,通常,(根据其位置)一在前,一在后。我们也已知道,I不参考任何,P只参考前面的。 那么问题来了——任何都能使用B作为它的参考吗? 答案是肯定的。 如果B可以作为参考,它就被称为参考B。 如果B不用作参考,它便被称为非参考B

    85620

    本文链接:https://blog.csdn.net/daoer_sofu/article/details/103409744 头和数据重合 头、长度、尾重合 接受缓冲区越大,重合概率越小,可以不考虑 发送和发送数据转义(转义和头相同的数据),避免头和数据重合 参考:https://www.amobbs.com/thread-5656551-1-1.html?

    30420

    布局

    /*******************2016年5月3日 更新**************************************/

    19620

    MMFlow :之间的追光者

    光流(Optical Flow),字面理解为“光的流动”,更准确的说法为:时变图像上的二维运动场,是视频数据的重要视觉线索,在动作识别、视频理解、视频分割、目标...

    18510

    深入栈

    每个方法被执行的时候,java虚拟机都会同步创建一个栈,栈的基本单位为栈,每个线程都有自已的栈,每个执行方法对应一个栈,也叫当前栈。 每一个栈都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外的附加信息。 ? 栈的特点就是后进先出,类似于坐电梯,后面进来的先出去。 特点: 局部变量的生命周期与栈一致:随着方法栈的销毁,局部变量随着销毁。 为了尽可能节省栈空间,局部变量中的slot是可以被重复使用的。 通过jclasslib插件获取到 Code中的Code length 。 注意:若调用方法返回的时候带了返回值,其返回会被压入当前栈的操作数中,并更新PC寄存器中一条需要执行的字节码指令。

    27910

    MPEG4视频中,I、p、B的判定(转载) By HKL,

    mpeg4的每一开头是固定的:00 00 01 b6,那么我们如何判断当前属于什么呢?在接下来的2bit,将会告诉我们答案。 注意:是2bit,不是byte,下面是各类型与2bit的对应关系:   00: I Frame   01: P Frame   10: B Frame  为了更好地说明,我们举几个例子,以下是16 进制显示的视频编码:   00 00 01 b6 10 34 78 97 09 87 06 57 87 …… I   00 00 01 b6 98 …… B 下面我们来分析一下为什么他们分别是I、P、B   0x10 = 0001 0000   0x50 = 0101 0000   0x96 = 1001 0100  大家看红色的2bit,再对照开头说的与2bit的对应关系,是不是符合了呢?

    34710

    CAN通信的数据和远程「建议收藏」

    (先来一波操作,再放概念) 远程和数据非常相似,不同之处在于: (1)RTR位,数据为0,远程为1; (2)远程由6个场组成:起始,仲裁场,控制场,CRC场,应答场,结束,比数据少了数据场 (3)远程发送特定的CAN ID,然后对应的ID的CAN节点收到远程之后,自动返回一个数据。 2)使用远程来做信息请求:由于A直接发送B_ID号的数据,可能造成总线冲突,但若是A发送远程:远程的ID号自然是B发送使用的ID号(B_ID )。 由于CAN总线仲裁时,数据发送的优先级高于远程,即使有别的节点设备也在发送以B_ID为ID号的远程,因为远程除了ID号不同,其他都相同。所以不会造成总线冲突。 当B(前提是以对过滤器设置接受B_ID类型的)接受到远程后,在软件(注意,是在软件的控制下,而不是硬件自动回应远程)控制下,往CAN总线上发送一温度信息,即使用B_ID作ID号往CAN总线上发送温度信息

    14130

    视频分

    video2frame(videos_src_path,video_formats,frames_save_path,width,height,time_interval) 算法:视频分是将视频分成一来提取

    16720

    视频抽

    获取视频对象 isOpened=cap.isOpened#判断是否打开 #视频信息获取 fps=cap.get(cv2.CAP_PROP_FPS) imageNum=0 sum=0 timef=1#隔1保存一张图片 while (isOpened): sum+=1 (frameState, frame)=cap.read()#记录每及获取状态 if frameState==True and 算法:视频抽是采用以帧数为间隔的方法进行抽形成“视频图像集合”。 文献:Schultz, R. R. , & Stevenson, R. L. . (1996).

    17710

    3.2 组

    数据链路层之所以要把比特组合成为单位传输,是为了在出错时只重发出错的,而不必重发全部数据,从而提高了效率。 为了使接收方能正确地接受并检查所传输的,发送方必须依据一定的规则吧网络层递交的分组封装成(称为组)。组主要解决边界、同步、透明传输等问题。通常有以下四种方法实现组. 原因:在网络中是以为最小单位进行传输的,所以 接收端要正确地接受,必须要清楚该在一串比特流中是从哪开始到哪结束(因为接收端收到的是一串比特流,没有首部和尾部是不能正确区分的)。 而分组(即IP数据报)仅仅包含在的数据部分,所以不需要加尾部来定界。 3.2.1字符计数法 字符计数法是在头部使用一个计数字段来表明内字符数。 这种方法最大的问题在于如果计数字段出错,即失去了边界划分的依据,接收方就无法判断所传输的结束位和下一个的开始位,收发双方就失去同步,从而造成灾难性后果。

    37710

    设置I的QP,提高I的质量

    目录 作者 介绍 代码 GOP长度变量 记录GOP长度 设置QP 作者 Hank FU hankf@xilinx.com 2021-09-30 介绍 在有些应用中,发现I不够大。 MPSoC VCU CtrlSW可以设置每一的QP大小。因此,可以通过设置I的QP,提高I的大小,从而提高I的质量。 代码 下面是设置I的QP的示例代码。 --------- #endif // USER_I_FRAME_QP } 设置QP 在EncoderSink 的ProcessFrame函数里,根据GOP长度,确定每个GOP开始的I

    30530

    Android实现动画

    Android实现动画 1.在res的drawable下新建一个布局animation.xml*文件 "><animation-list xmlns:android="http://schemas.android.com duration="32" /> </animation-list> android:oneshot=”true”当为true时表示只播放一次,为false时表示循环播放; 2.给ImageView设置动画的 layout_centerInParent="true" android:src="@drawable/animation" android:visibility="gone" /> 3.播放动画 AnimationDrawable) ivLoading.getDrawable(); drawable.start(); 4.以上播放默认是没有监听的,所以我们这里提供一种自定义View,可以监听动画播完的监听 } } }, durationTime); } } 5.代码中加载并设置监听 // 加载带监听的动画

    33810

    相关产品

    • 智能创作

      智能创作

      腾讯云多媒体创作引擎(CME)提供云端实现协同审片、媒资管理、在线剪辑、云端导播、多平台同步直播、AI处理等能力,为内容制作者提供一站式的内容创作平台。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券