H264编码流程_h265和h265+视频编码有什么差别

H264编码流程_h265和h265+视频编码有什么差别H264编码流程手绘图:H264编码网上图:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

H264编码流程手绘图:

H264编码流程_h265和h265+视频编码有什么差别

 H264编码网上图:

H264编码流程_h265和h265+视频编码有什么差别

I 帧

Fn(左上)是当前要编码的帧,他是 GOP 中的第一帧,也就是 I 帧,I 帧要进行帧内编码,首先要选择预测模式(Choose Intra prediction),然后进行帧内预测(Intra prediction),然后把每一个宏块的预测模式计算出来,然后进行量化( T ),再经过无损编码( Q ),最后进行拆包( Reorder )和熵编码( Entropy encode ),打成 NAL 头进行数据分发。

B 帧和 P 帧

Fn-1(中间)是 B 帧或 P 帧,首先要经过运动评估( ME ),对每一个宏块进行匹配查找,完成之后拿到运动矢量( MC ),根据运动矢量推断出运动评估之后帧的值,再与当前帧做残差值(残差值=当前帧-运动评估值),残差值与运动矢量相加,就可以得到当前帧数据,然后进行无损编码,最后生成 NAL 数据。

其中 Choose Intra prediction 和 Intra predictio 都是帧内压缩,ME(运动估计) 和 MC(运动补偿) 都是帧间压缩,T(DCT量化) 与 Q(VLC/CABAC熵编码) 都是无损压缩。

上面就是编码流程,解码就是反向操作,如下图:

H264编码流程_h265和h265+视频编码有什么差别

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203968.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java判断文件是否为图片格式_java读取图片流

    java判断文件是否为图片格式_java读取图片流前言Java检查文件类型有几种方法:1.判断文件后缀名Stringextension="";inti=fileName.lastIndexOf(‘.’);if(i>0){extension=fileName.substring(i+1);}//…if("jpg".equal

    2022年9月5日
  • 单幅图像超分辨率重建(图像超分)

    代码的解析已经给出,现在补上:单图像超分辨率重建示例代码解析目录一、简介二、前期准备三、运行程序四、参考目录一、简介图像超分辨率重建技术就是利用一组低质量、低分辨率图像(或运动序列)来产生单幅高质量、高分辨率图像。图像超分辨率重建应用领域及其宽广,在军事,医学,公共安全,计算机视觉等方面都存在着重要的应用前景。在计算机视觉领域,图像超分辨率重建技术有可能使图像实现从检出…

    2022年4月17日
  • ubuntu卸载foxit reader「建议收藏」

    ubuntu卸载foxit reader「建议收藏」翻译自:https://askubuntu.com/questions/816678/how-can-i-uninstall-foxit-reader-from-16-04使用安装目录里面的maintenancetool通常的安装目录为home/(user)/opt/foxitsoftware/foxitreader,也可以通过locatefoxit查找目录可能需要root权限,使用…

    2022年5月30日
  • mfc多线程串口通信_python进程和线程之间通信

    mfc多线程串口通信_python进程和线程之间通信AfxBeginThead全局变量参数传递消息传递线程通信目录(?)[-]线程间的通信线程之间的通信简介全局变量方式参数传递方式消息传递方式线程同步法线程间的通信1.线程之间的通信简介一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和

    2022年9月28日
  • PHP7中标量类型declare的用法详解

    PHP7中标量类型declare的用法详解

    2021年10月30日
  • python冒泡排序代码和注释_Python 冒泡排序

    python冒泡排序代码和注释_Python 冒泡排序冒泡排序(BubbleSort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。见下图:方法一:常规实现冒泡排序#方法1#定义一个列表,用于存放数字list=[]whileTrue:#…

    2022年10月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号