HEVC编码流程解读

2024-04-07 07:18
文章标签 流程 解读 编码 hevc

本文主要是介绍HEVC编码流程解读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       HEVC的视频编码层采用从H.261标准之后一直使用的混合编码方法(帧内、帧间预测和2-D变换编码)。图1所示为HEVC的混合视频编码器方框图。(理解有误地方,还请多加指教,O(∩_∩)O谢谢)


       具体的编码流程如下所述。每帧图像分割成多个以块为单位的区域,分割信息传输到解码端。一个视频序列的第一帧(或者是一个视频序列的每个空白随机接入点(CRA, clean random access point)的第一帧)只采用帧内预测(即只运用同一帧图像相邻区域间的空域信息进行预测,但该帧并不与其他帧相互独立)。视频序列的其他帧或者两个CRA之间的其他帧,大多采用时域帧间预测方式预测进行块预测。帧间预测的编码过程由运动数据组成,这些运动数据包含用于每个块采样点预测的参考帧和运动矢量(MV, motion vector)。编码器和解码器运用作为边信息传输的MV和模式选择数据组成的运动补偿(MC, motion compensation)来生成同一的帧间预测信号。

帧内或帧间预测的残差信号(即原始块和它的预测块的不同信息),通过线性空域变换传输。变换系数经过扩展、量化、熵编码,和预测信息一起传输。

       编码器复制解码器的处理环路(图1所示中的灰色部分),这两个处理过程为后来数据产生相同的预测。因此,量化的变换系数通过反扩展、反变换来复制解码的近似残差信号。这个残差信号加上预测信息后经过一个或两个环路滤波器来平滑滤除由于基于块处理和量化产生的块效应等影响。这个最终的图像表征(即解码端输出图像的复制品)存储在已解码图像的缓存器中,以便用于后续图像的预测。一般而言,图像的编码和解码处理过程与它们从源头(即视频源)到来的顺序不同。因此,需要区别解码器的解码顺序(即码流顺序)和输出顺序(即显示顺序)。

        一般而言,人们希望HEVC处理的视频是逐行扫描图像(可能是因为视频输入的就是那种格式,或者为了消除隔行扫描优于编码)。HEVC的设计编码特征中没有明确表示支持隔行扫描的使用,因为隔行扫描已经不再用于显示,并且使用这种隔行扫描的情况越来越少。然而,HEVC引入的一个数据元语法允许编码器通过编码每个场(即每个视频帧的偶数场和奇数场)来处理隔行扫描视频。这种方法编码隔行扫描视频不仅有效,而且没有给解码器额外处理这种视频的负担。(转载请注明出处,谢谢)

这篇关于HEVC编码流程解读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881966

相关文章

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【

MySQL主从复制与读写分离的用法解读

《MySQL主从复制与读写分离的用法解读》:本文主要介绍MySQL主从复制与读写分离的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、主从复制mysql主从复制原理实验案例二、读写分离实验案例安装并配置mycat 软件设置mycat读写分离验证mycat读

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别