[发明专利]基于双MIC的OpenCL并行帧率上转换方法有效
申请号: | 201710490906.X | 申请日: | 2017-06-23 |
公开(公告)号: | CN107172426B | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 朱虎明;王朵;焦李成;鹿乐;田小林;张小华;侯彪;关云辉;焦文 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04N19/132 | 分类号: | H04N19/132;H04N19/139;H04N19/176;H04N19/513;H04N19/59;H04N7/01 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 韦全生;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mic opencl 并行 帧率上 转换 方法 | ||
1.一种基于双MIC的OpenCL并行帧率上转换方法,包括如下步骤:
(1)主线程对OpenCL设备的MIC1和MIC2进行初始化,实现主机端对MIC设备的控制;
(2)主线程对读入的视频进行编号:主线程读入N帧视频,并对运动估计算法中视频当前帧的图像编号为i,初始化i=1,同时对运动补偿算法中视频当前帧的图像编号为j,初始化j=1,其中,i的取值范围是[1,N],j的取值范围是[1,N];
(3)主线程定义信号量并初始化:主线程定义信号量1和信号量2,并将信号量1的值初始化为1,信号量2的值初始化为0;
(4)主线程在主机上开辟内存并创建子线程:主线程在主机上开辟主机内存cpu_mem1、主机内存cpu_mem2和主机内存cpu_mem3,同时创建子线程1和子线程2;
(5)子线程1控制MIC1,执行运动估计算法:
(5a)子线程1在MIC1上开辟内存mic1_mem1和内存mic1_mem2;
(5b)子线程1将第i帧和第i+1帧的图像数据传输到内存mic1_mem1;
(5c)MIC1计算运动估计算法中第i帧图像数据的运动矢量MVi,并将MVi存入内存mic1_mem2中;
(5d)子线程1将MVi从内存mic1_mem2传入主机内存cpu_mem1;
(5e)子线程1判断信号量1的值是否大于0,若是,将信号量1的值减1,同时将主机内存cpu_mem1中的MVi写入主机内存cpu_mem2中,将信号量2的值加1,并执行步骤(5g),否则,执行步骤(5f);
(5f)子线程1等待子线程2修改信号量1的值,直到修改完成,并执行步骤(5e);
(5g)令i=i+1,子线程1判断i≤N是否成立,若是,执行步骤(5b),否则,子线程1挂起;
(6)子线程2控制MIC2,执行运动补偿算法,实现视频帧率的上转换:
(6a)子线程2在MIC2上开辟内存mic2_mem1、内存mic2_mem2和内存mic2_mem3;
(6b)子线程2将第j帧和第j+1帧的图像数据传入内存mic2_mem1;
(6c)子线程2判断信号量2的值是否大于0,若是,将信号量2的值减1,同时将主机内存cpu_mem2中的MVi读到内存mic2_mem2,并执行步骤(6e),否则,执行步骤(6d);
(6d)子线程2等待子线程1修改信号量2的值,直到修改完成,并执行步骤(6c);
(6e)MIC2计算待插帧中每个像素点的运动补偿插值,并将待插帧的插值结果存放在内存mic2_mem3中;
(6f)子线程2将插值结果从内存mic2_mem3传入主机内存cpu_mem3,并将主机内存cpu_mem3中的插值结果写文件到硬盘中,同时将信号量1的值加1;
(6g)令j=j+1,子线程2判断j≤N是否成立,若是,执行步骤(6b),否则,子线程2挂起;
(7)主线程关闭子线程1和子线程2。
2.根据权利要求1所述的基于双MIC的OpenCL并行帧率上转换方法,其特征在于,步骤(4)中所述的创建子线程1和子线程2,采用Pthread函数pthread_create。
3.根据权利要求1所述的基于双MIC的OpenCL并行帧率上转换方法,其特征在于,步骤(5a)中所述的子线程1在MIC1上开辟内存mic1_mem1和内存mic1_mem2,其与步骤(6a)中所述的子线程2在MIC2上开辟内存mic2_mem1、内存mic2_mem2和内存mic2_mem3,均采用OpenCL函数clCreateBuffer。
4.根据权利要求1所述的基于双MIC的OpenCL并行帧率上转换方法,其特征在于,步骤(5b)中所述的子线程1将第i帧和第i+1帧的图像数据传输到内存mic1_mem1,其与步骤(6b)所述的子线程2将第j帧和第j+1帧的图像数据传入内存mic2_mem1,均采用OpenCL函数clEnqueueWriteBuffer。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710490906.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:铰链组件及具有该铰链组件的冰箱
- 下一篇:万能可微调合页