HEVC算法和体系结构:编码结构之编码完后码流的语法架构

简介: <p><br></p> <h1 style="text-align:center">编码结构之编码完后码流的语法架构</h1> <p><br></p> <p>        本博文主要介绍HEVC编码结构,从编码完后码流的语法架构这一方面进行描述。<br></p> <p><br></p> <p>        在码流结构方面,HEVC采用了类似于H.264的分层结构,将属于GOP


编码结构之编码完后码流的语法架构


        本博文主要介绍HEVC编码结构,从编码完后码流的语法架构这一方面进行描述。


        在码流结构方面,HEVC采用了类似于H.264的分层结构,将属于GOP层、Slice层中共用的大部分语法游离出来,组成序列参数集SPS(Sequence Parameter Set)和图像参数集PPS(Picture Parameter Set)。此外,为了兼容标准在其他应用上的扩展,例如可分级视频编码器、多视点视频编码器,HEVC的语法架构中增加了视频参数集VPS(Video Parameter Set)。


        参数集是一个独立的数据单元,它包含视频的不同层级编码单元的共享信息,只有当参数集直接或间接被片段SS(Slice Segment)引用时才有效。SS是视频编码数据的基本单位,对于一个SS,通过引用它所使用的PPS,该PPS又引用其对应的SPS,该SPS又引用它对应的VPS,最终得到SS的公用信息,HEVC的压缩码流结构如下图所示。




1、视频参数集VPS(Video Parameter Set)


        VPS的内容大致包括多个子层共享的语法元素,其他不属于SPS的特定信息等。


        在H.264的码流结构中,没有类似VPS这样的参数集去描述时域各层之间的依赖关系。它的扩展部分可伸缩视频编码中,SEI信息提供了相关各层信息,以用于不同业务和不同终端的访问。但是在某些场合,例如广播和多播,由于SEI中的部分信息会重复出现在SPS中,这样会造成参数重传而引起延迟等问题,因此在HEVC中引入了VPS。


        VPS主要用于传输视频分级信息,有利于兼容标准在可分级视频编码或多视点视频编码的扩展。一个给定的视频序列,无论它每一层的SPS是否相同,都参考相同的VPS,VPS包含的信息有:

(1)、多个子层和操作点共享的语法元素;

(2)、会话所需的有关操作点的关键信息,如档次、级别;

(3)、其他不属于SPS的操作点特性信息,例如与多层或子层相关的虚拟参考解码器HRD(Hypothetical Reference Decoder)参数。


2、序列参数集SPS(Sequence Parameter Set)


        SPS的内容大致包括解码相关信息,如档次级别、分辨率、某档次中编码工具开关标识和涉及的参数、时域可分级信息等。SPS还包含了一个CVS(Coded Video Sequence)中所有图像共用的信息,其中CVS被定义为一个GOP编码后所生产的压缩数据。


3、图像参数集PPS(Picture Parameter Set)


        PPS的内容大致包括初始图像控制信息,如量化参数QP、分块信息等。即PPS包含了一幅图像所用的公共参数,也就是说,一幅图像中的所有SS引用同一个PPS。


4、扩展知识点:档次(Profile)、层(Tier)和级别(Level)


        档次主要规定编码器可采用哪些编码工具或算法。

        级别则是指根据解码端的负载和存储空间情况对关键参数(最大采样率、最大图像尺寸、分辨率、最小压缩比、最大比特率、解码缓冲区DPB大小等)加以限制。

        考虑到应用可根据最大的码率和CPB大小来区分,因此有些级别定义了两个层Tier:主层和高层,主层用于大多数应用,而高层用于那些最严苛的应用。


目录
相关文章
|
18天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
19 3
|
30天前
|
存储 缓存 算法
如何通过优化算法和代码结构来提升易语言程序的执行效率?
如何通过优化算法和代码结构来提升易语言程序的执行效率?
|
30天前
|
存储 前端开发 数据库
一文搞懂SaaS应用架构:应用服务、应用结构、应用交互设计
【10月更文挑战第21天】本文介绍了 SaaS 应用服务的多租户服务、安全服务和更新与维护服务,以及 SaaS 应用的前后端结构和交互设计。多租户服务涉及数据隔离和资源分配;安全服务包括身份认证与授权及数据安全;更新与维护服务涵盖版本管理和技术支持。前端结构关注用户界面设计和前端技术选型;后端结构则涉及微服务架构和数据库管理。交互设计强调租户与应用的交互和应用内部模块间的交互。
128 0
|
1月前
|
机器学习/深度学习 自然语言处理 算法
神经网络算法以及应用场景和基本语法
神经网络算法以及应用场景和基本语法
41 0
|
1月前
|
机器学习/深度学习 人工智能
【AI大模型】深入Transformer架构:编码器部分的实现与解析(下)
【AI大模型】深入Transformer架构:编码器部分的实现与解析(下)
|
2月前
|
编解码 人工智能 文件存储
卷积神经网络架构:EfficientNet结构的特点
EfficientNet是一种高效的卷积神经网络架构,它通过系统化的方法来提升模型的性能和效率。
57 1
|
3月前
|
机器学习/深度学习 算法 机器人
【博士每天一篇文献-算法】改进的PNN架构Lifelong learning with dynamically expandable networks
本文介绍了一种名为Dynamically Expandable Network(DEN)的深度神经网络架构,它能够在学习新任务的同时保持对旧任务的记忆,并通过动态扩展网络容量和选择性重训练机制,有效防止语义漂移,实现终身学习。
58 9
|
3月前
|
机器学习/深度学习 算法 文件存储
【博士每天一篇文献-算法】 PNN网络启发的神经网络结构搜索算法Progressive neural architecture search
本文提出了一种名为渐进式神经架构搜索(Progressive Neural Architecture Search, PNAS)的方法,它使用顺序模型优化策略和替代模型来逐步搜索并优化卷积神经网络结构,从而提高了搜索效率并减少了训练成本。
55 9
|
3月前
|
机器学习/深度学习 存储 人工智能
【博士每天一篇文献-算法】改进的PNN架构Progressive learning A deep learning framework for continual learning
本文提出了一种名为“Progressive learning”的深度学习框架,通过结合课程选择、渐进式模型容量增长和剪枝机制来解决持续学习问题,有效避免了灾难性遗忘并提高了学习效率。
60 4