万老师《H.265/HEVC》第十章:编解码并行处理

本篇博客对H.265/HEVC的编解码并行处理进行学习。

首先了解一下线程:线程是进程的一部分。进程在这里可以理解为一次视频编码,即编码一个视频的过程,那么线程就可以视作编码一个GOP、编码一个Slice、编码一个CTU等。可以认为进程包含很多线程。

1 并行处理技术

H.265的高复杂度来源:更多的帧内模式、更灵活的划分方式、TU块的引入。
并行方式:多个处理器,多核并行可以成倍增加编解码速度。

功能并行:预测、变换、滤波、熵编码等功能模块一起进行。
数据并行:数据完全独立的slice、tile一起进行;此外CTU级还有波前并行处理。

H.265中的功能并行:熵解码其余模块并行解码串行。
H.265中的数据并行:tile的并行和波前并行均存在。

并行处理缺陷:
码率飙升问题:同时编码很多内容会导致比特数非常多,且码率不够稳定。
负载失衡:有的线程要做的任务很多,但有的线程要做的很少,这种不平衡在功能并行、slice级并行均会出现。

2 具体应用

1、GOP级并行:一个线程用于统筹控制,多个线程并行处理GOP,此方法更适用于编码端。
2、图像级并行:由于帧间预测,在同级别的B帧下可以适用。
3、Slice级并行:各个Slice相互独立,故完全可行。
4、Tile级的并行:Tile是矩形CTU组,引入主要就是为并行处理,其改变了CTU的扫描顺序,减少了帧间缓存,但忽略相关性会导致性能损失。
5、CTU级的波前并行:按CTU的行进行,多行CTU同时处理,但后一行比前一行慢2个CTU,保证了原始性能。所谓波前并行(WPP),指的就是CTU不是独立的、需要相互参考时使用的并行处理。如帧内预测需要上一行左一列参考像素、帧间预测需要上边块和左边块的MV信息、环路滤波过程会跨CTU以及各种边界。
6、依赖片并行:将slice划分为不同区域,分别封装到独立的NAL中。解码当前依赖片只需等待参考片的一部分解码完成即可。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值