[发明专利]基于多核平台的HEVC帧内/帧间联合WPP编码方法在审
申请号: | 201810250015.1 | 申请日: | 2018-03-23 |
公开(公告)号: | CN108540797A | 公开(公告)日: | 2018-09-14 |
发明(设计)人: | 胡栋;谷涛;韩峰 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04N19/112 | 分类号: | H04N19/112;H04N19/436;H04N19/44 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 陈望坡;姚姣阳 |
地址: | 210003 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于多核平台的HEVC帧内/帧间联合WPP编码方法,包括以下步骤:主线程首先完成线程池及任务池的初始化及创建一个HEVC编码器;HEVC编码器接受用户命令行参数;将每个线程绑到不同的核上;逐帧读入图像并加入帧级任务队列,判断帧级任务队列是否达到设定的最大值;主线程对帧级任务队列中的所有帧进行类型判定与依赖性分析,并开启CTU行级编码线程;帧内依赖关系满足时申请线程处理下一个CTU行,帧间依赖关系满足时调取线程处理后续帧的CTU行,当一帧图像编码完成后,主线程输出码流信息,并继续读入新的帧,直到所有帧全部编码完成后释放系统资源并销毁线程池和任务池。本发明有省时且并行编码效率高的优点。 | ||
搜索关键词: | 任务队列 主线程 帧级 帧间 帧内 编码完成 多核平台 线程处理 依赖关系 编码器 任务池 线程池 读入 依赖性分析 并行编码 释放系统 输出码流 用户命令 编码线 初始化 后续帧 行参数 帧图像 调取 省时 线程 行级 逐帧 判定 图像 联合 销毁 创建 申请 | ||
【主权项】:
1.基于多核平台的HEVC帧内/帧间联合WPP编码方法,其特征在于:包括以下步骤:步骤(1):主线程首先完成系统初始化的工作,包括:线程池及任务池的初始化、以及创建一个HEVC编码器;步骤(2):HEVC编码器接受用户命令行参数,将参数传入HEVC编码器的内部编码图像结构体中,并根据参数来进行相应的配置;步骤(3):线程池初始化完成后,根据CPU数量创建相应的线程数,通过调用多核函数库将每个线程绑定到不同的核上,并且设定同一个线程函数,保证各个线程能够多核并行处理;步骤(4):进入编码主循环后,逐帧读入图像,加入帧级任务队列,并判断帧级任务队列是否达到设定的最大值,若没达到帧级任务队列设定的最大值,则继续读入帧;若达到帧级任务队列设定的最大值,则调用任务池为帧级任务队列中每一帧图像分配一个任务,每个任务拥有独立的内存空间来存储每一帧的参数信息,所有任务共享一个线程池资源;步骤(5):主线程对帧级任务队列中的所有帧进行类型判定与依赖性分析,并开启CTU行级编码线程,开始真正的编码;步骤(6):将CTU行作为最小的并行粒度调用线程池中的一个空闲线程来进行编码,并将该CTU行加入CTU行级任务队列;对于CTU行级任务队列中的所有CTU行,都会调用线程池中的空闲线程来进行编码,直到没有线程可用,此时CTU行级任务队列中的CTU行需等待新的空闲线程才能进行编码;当有CTU行编码完成时,将该CTU行编码线程重新加入线程池空闲队列,以供其他CTU行级任务调用;步骤(7):对I帧的CTU行在满足帧内依赖关系条件下进行帧内的WPP并行处理,而对非I帧处理时,若当前帧中
编码完成后,当帧间CTU依赖关系满足时,将调用线程池中的空闲线程对后续帧进行编码工作,实现帧内/帧间联合WPP编码;其中,上述的
代表编码顺序中第i帧中第j+LH个CTU行的第k+LW个CTU块,其中LH、LW代表运动矢量的垂直分量位移和水平分量位移;步骤(8):当一帧图像编码完成后,主线程输出码流信息,并跳转到步骤(4)继续读入新的帧,直到所有帧全部编码完成后释放系统资源并销毁线程池和任务池。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810250015.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种拍摄终端测试设备
- 下一篇:一种JPEG2000图像编码的实现系统及方法