运动补偿方法及装置、HEVC解码方法及设备制造方法及图纸

技术编号:15079540 阅读:95 留言:0更新日期:2017-04-07 12:11
本发明专利技术涉及一种运动补偿方法,包括获取当前帧的全部预测单元块的全部匹配块,将全部匹配块分成大小相同的匹配小方块,将全部所述匹配小方块根据GPU的缓存行的大小和GPU的局部缓存的大小组合成匹配大块,GPU接收全部匹配大块并做运动补偿计算,以生成帧间预测图像。本发明专利技术还提供了使用所述运动补偿方法的HEVC解码方法,为嵌入式系统在纯CPU软解码和硬件专用解码模块之外,提供了一种在性能、功耗、成本、扩展性等方面更为平衡的HEVC解码方案。本发明专利技术还提供了一种运动补偿装置和使用所述运动补偿装置HEVC解码设备。

Motion compensation method and apparatus, HEVC decoding method and apparatus

The invention relates to a method of motion compensation, including the unit block all matching block all prediction of the current frame, the matching block is divided into squares, all of the same size, all the squares, according to the local cache line size GPU and GPU size, combined into blocks, GPU receives all the matching chunks and the motion compensation calculation, the predicted image to generate a frame. The invention also provides a HEVC decoding method using the motion compensation method for embedded system, in addition to pure CPU soft decoding and dedicated hardware decoding module, provides a performance, power consumption, cost, scalability and other more balanced HEVC decoding scheme. The invention also provides a motion compensation device and a HEVC decoding device using the same.

【技术实现步骤摘要】

本专利技术涉及视频编解码领域,具体涉及一种运动补偿方法及装置、HEVC解码方法及设备
技术介绍
HEVC是新一代的视频压缩技术,在继承了H.264众多优点基础上,进一步提升了压缩率。对高清晰度的视频,在编码质量不变的情况下,HEVC的压缩率相比H.264提高了30-50%,大大减轻了对存储空间和传输带宽的消耗。但压缩率的提升是以增加复杂度为代价的。对嵌入式系统,目前主流的HEVC解码方法有两种:纯CPU软解码(包括NEON加速)和硬件专用模块解码。纯CPU软解码对系统资源,尤其是CPU资源消耗非常大,在面对高码率视频时,很容易出现解码不流畅的现象;同时高负载下系统耗电量很大,散热压力也很大,这些严重影响了软解码在嵌入式系统中的使用。硬件专用解码模块,具有解码流畅、耗电低,发热小的特点,往往得到SoC厂家的青睐。但该模块的引入会增加研发周期和硬件成本,后续扩展性差,一旦出现兼容性问题,则不容易解决,因而即便是包含硬件解码的系统,往往也需要一套软解码作为备份解码方案。在学术界上,有诸多使用CUDA加速的HEVC编解码方案,相对于纯CPU软解码和硬件专用解码模块来说,是一种较好的折衷。但这些方案全都基于PC平台,由于CUDA技术在嵌入式系统中基本不通用,并且嵌入式系统在GPU结构和显存方面与PC平台有显著差异,使得基于PC平台的GPU-HEVC加速方案很难直接应用在嵌入式系统中。目前在嵌入式系统中,尚无基于CPU和GPU协作的HEVC解码方案。
技术实现思路
本专利技术提供一种嵌入式系统中基于CPU和GPU协作的运动补偿方法及装置,同时还设计了一种使用所述运动补偿方法及装置的HEVC解码方法及设备,在纯CPU软解码和硬件专用解码模块之外,提供一种在性能、功耗、成本、扩展性等方面更为平衡的HEVC解码方案。克服了嵌入式系统中纯CPU软解码对系统资源消耗大、解码不流畅、耗电量大等和硬件专用解码模块的成本高、扩展性差等的缺陷。根据本专利技术的一个方面,提供了一种运动补偿方法,包括获取当前帧的全部预测单元块的全部匹配块,将所述全部匹配块分成大小相同的匹配小方块,将全部所述匹配小方块根据GPU的缓存行的大小和GPU的局部缓存的大小组合成匹配大块,GPU接收所述匹配大块并做运动补偿计算。进一步的,所述匹配小方块的边长为2的幂次。进一步的,取所述全部匹配块的边长的最大公约数作为所述匹配小方块的边长。进一步的,所述匹配大块的宽度为GPU的缓存行的预设整数倍,所述匹配大块的高度为GPU的局部缓存的大小除以所述GPU的缓存行的预设整数倍和预设值的乘积。进一步的,当所述匹配大块的宽度和/或高度不是所述匹配小方块边长的整数倍时,将所述匹配大块的宽度和/或高度减至匹配小方块边长的整数倍。进一步的,对全部所述匹配大块做运动补偿计算由GPU完成,其他步骤由CPU完成。进一步的,所述GPU从所述CPU接收所述匹配大块。进一步的,所述GPU从所述CPU一次接收所述匹配大块的数量是基于当前帧的整帧或半帧图像。进一步的,所述GPU从所述CPU接收所述匹配大块具体为所述GPU读取系统内存中所述CPU所存入的匹配大块,所述系统内存以所述CPU和所述GPU都能识别的方式申请,从而实现内存零拷贝。进一步的,所述GPU向所述CPU输出运动补偿计算结果。进一步的,所述GPU向所述CPU一次输出的运动补偿计算结果是基于当前帧的整帧或半帧图像。进一步的,以所述CPU和所述GPU都能识别的方式申请系统内存,所述运动补偿计算结果存入所述系统内存,所述CPU读取所述系统内存中的运动补偿计算结果,从而实现内存零拷贝。另一方面,本专利技术还提供了一种HEVC解码方法,采用如权利要求1至12任一项所述的运动补偿方法对当前帧做运动补偿运算。进一步的,所述HEVC解码方法中除运动补偿方法外的其他运算由CPU完成。进一步的,所述HEVC解码方法中的反量化反变换运算由CPU和GPU协作完成。进一步的,所述HEVC解码方法中的重构运算由GPU完成。另一方面,本专利技术还提供了一种运动补偿装置,包括处理模块和计算模块,所述处理模块获取当前帧的全部预测单元块的全部匹配块,并将所述全部匹配块根据GPU的缓存行的大小和GPU的局部缓存的大小重新组合成匹配大块;所述计算模块对全部所述匹配大块做运动补偿计算。进一步的,所述处理模块取所述匹配大块的宽度为GPU的缓存行的预设整数倍,所述匹配大块的高度为GPU的局部缓存的大小除以所述GPU的缓存行的预设整数倍和预设值的乘积。进一步的,所述处理模块将全部所述匹配块分成大小相等的匹配小方块,所述匹配小方块根据所述GPU的缓存行的大小和所述GPU的局部缓存的大小组成所述匹配大块。进一步的,所述处理模块取所述匹配小方块的边长为2的幂次。进一步的,所述处理模块取所述全部匹配块的边长的最大公约数作为所述匹配小方块的边长。进一步的,当所述匹配大块的宽度和/或高度不是所述匹配小方块边长的整数倍时,将所述匹配大块的宽度和/或高度减至匹配小方块边长的整数倍。进一步的,所述处理模块由CPU执行完成,所述计算模块由GPU执行完成。进一步的,所述GPU从所述CPU接收所述匹配大块。进一步的,所述GPU从所述CPU一次接收所述匹配大块的数量是基于当前帧的整帧或半帧图像。进一步的,所述GPU从所述CPU接收所述匹配大块具体包括所述GPU读取系统内存中所述CPU存入的匹配大块,所述系统内存以所述CPU和所述GPU都能识别的方式申请,从而实现内存零拷贝。进一步的,所述GPU向所述CPU输出运动补偿计算结果。进一步的,所述GPU向所述CPU一次输出的所述运动补偿计算结果是基于当前帧的整帧或半帧图像。进一步的,以所述CPU和所述GPU都能识别的方式申请系统内存,所述运动补偿计算结果存入所述系统内存,所述CPU读取所述系统内存中的运动补偿计算结果,从而实现内存零拷贝。另一方面,本专利技术还提供了一种HEVC解码设备,包括如权利要求17至29任一项所述的运动补偿装置,用于执行HEVC解码设备中的运动补偿模块的运算。进一步的,所述HEVC解码设备中的除运动补偿外的其他运算模块由CPU完成。进一步的,所述HEVC解码设备中的反量化反变换模块由CPU和GPU协作完成。进一步的,所述HEVC解码设备中的重构模块由GPU完成。本专利技术的有益效果在于,通过针对嵌入式系统GPU显存的特性和嵌入式系统GPU运算结构的特点,设计了一种嵌入式系统中基于CPU和GPU协作的运动补偿方法及装置,同时设计了一种使用所述运动补偿方法及装置的HEVC解码方法及设备,有效提高了解码效率,同时降低了解码功耗。为嵌入式系统在纯CPU软解码和硬件专用解码模块之外,提供了一种在性能、功耗、成本、扩展性等方面更为平衡的HEVC解码方案。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术一实施例的HEVC解码方法100的流程框图;图2是本专利技术一实施例的运动补偿方法200的流程图;图3是本专利技术一实施例的匹配大块计算方法300的流程图;图4是现有CPU和GPU交互方法与本专利技术一实施例中CPU和GPU间交互方法400的对比图;图5是本专利技术一实施例的运动补偿装置500的框图。图6是本专利技术一实本文档来自技高网...

【技术保护点】
一种运动补偿方法,其特征在于,包括以下步骤:获取当前帧的全部预测单元块的全部匹配块;所述全部匹配块分成大小相同的匹配小方块;所述匹配小方块根据GPU的缓存行的大小和GPU的局部缓存的大小组合成多个匹配大块;所述GPU接收所述匹配大块做运动补偿计算。

【技术特征摘要】
1.一种运动补偿方法,其特征在于,包括以下步骤:获取当前帧的全部预测单元块的全部匹配块;所述全部匹配块分成大小相同的匹配小方块;所述匹配小方块根据GPU的缓存行的大小和GPU的局部缓存的大小组合成多个匹配大块;所述GPU接收所述匹配大块做运动补偿计算。2.如权利要求1所述的运动补偿方法,其特征在于,所述匹配小方块的边长为2的幂次。3.如权利要求1所述的运动补偿方法,其特征在于,取所述全部匹配块的边长的最大公约数作为所述匹配小方块的边长。4.如权利要求1所述的运动补偿方法,其特征在于:所述匹配大块的宽度为GPU的缓存行的预设整数倍;所述匹配大块的高度为GPU的局部缓存的大小除以所述GPU的缓存行的预设整数倍与预设值的乘积。5.如权利要求4所述的运动补偿方法,其特征在于,当所述匹配大块的宽度和/或高度不是所述匹配小方块边长的整数倍时,将所述匹配大块的宽度和/或高度减至所述匹配小方块边长的整数倍。6.如权利要求1所述的运动补偿方法,其特征在于,对所述匹配大块做运动补偿计算由GPU完成,其他步骤由CPU完成。7.如权利要求6所述的运动补偿方法,其特征在于,所述GPU从所述CPU接收所述匹配大块。8.如权利要求7所述的运动补偿方法,其特征在于,所述GPU从所述CPU一
\t次接收的所述匹配大块的数量是基于当前帧的整帧或半帧图像。9.如权利要求7所述的运动补偿方法,其特征在于,所述GPU从所述CPU接收所述匹配大块具体包括:所述GPU读取系统内存中所述CPU存入的匹配大块,所述系统内存以所述CPU和所述GPU都能识别的方式申请,从而实现内存零拷贝。10.如权利要求6所述的运动补偿方法,其特征在于,还包括:所述GPU向CPU输出运动补偿计算结果。11.如权利要求10所述的运动补偿方法,其特征在于,所述GPU向所述CPU一次输出的运动补偿计算结果是基于当前帧的整帧或半帧图像。12.如权利要求10所述的运动补偿方法,其特征在于,所述GPU向所述CPU输出运动补偿计算结果具体包括:以所述CPU和所述GPU都能识别的方式申请系统内存,所述运动补偿计算结果存入所述系统内存;所述CPU读取所述系统内存中的运动补偿计算结果,从而实现内存零拷贝。13.一种HEVC解码方法,其特征在于,采用如权利要求1至12任一项所述的运动补偿方法对当前帧做运动补偿运算。14.如权利要求13所述的HEVC解码方法,其特征在于,所述HEVC解码方法中除运动补偿运算外的其他运算由CPU完成。15.如权利要求13所述的HEVC解码方法,其特征在于,所述HEVC解码方法中的反量化反变换运算由CPU和GPU协作完成。16.如权利要求13所述的HEVC解码方法,其特征在于,所述HEVC解码方法中的重构运算由GPU完成。17.一种运动补偿装置,其特征在于,包括:处理模块,用于获取当前帧的全部预测单元块的全部匹配块,并将所述全部匹配块根据GPU的缓存行的大...

【专利技术属性】
技术研发人员:高峰
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1