The invention discloses a hevc decoding method based on multi-core platform and multi-level task level and data level parallel. According to the dependence of hevc data, the multi-core processor is used as the processing platform, and at the same time, the whole hevc decoder is divided into five task modules according to the hevc standard, which are respectively code stream reading module, entropy decoding module, pixel reconstruction module, deblocking filter module and sample adaptive compensation module; parallel methods are designed for different decoding task modules, and at the same time Among the modules, the dependence of each CTU unit is used to realize the pipeline parallel processing based on CTU unit among different decoding tasks. By introducing data redundancy reduction mechanism, only some reference pixels are put into the cache space, avoiding too much data operation, effectively managing the buffer storage space, and improving the decoding efficiency. Compared with serial decoding, the multi-core parallel decoding algorithm adopted by the method of the invention greatly improves the parallel acceleration ratio of decoding and ensures the quality of decoded image.
【技术实现步骤摘要】
基于多核平台多层次任务级与数据级并行的HEVC解码方法
本专利技术属于数字视频信号编解码领域,具体涉及基于多核平台多层次任务级与数据级并行的HEVC解码方法。
技术介绍
随着高清、超高清视频应用的急剧增加,为提高压缩性能以及满足海量视频数据的传输和存储要求,视频编码联合协作小组JCT-VC在2013年4月正式发布了新一代高效视频编解码国际标准HEVC(HighEfficiencyVideoCoding)。HEVC编解码标准的主要目标是在H.264/AVC标准的基础上,在保证相同视频图像质量的前提下,将高分辨率的视频图像压缩效率提高一倍,使视频流的码率减少50%,进而更好地适应各种不同的网络环境,同时能够支持多核并行编解码。HEVC的编码框架沿用了H.264/AVC的混合编码框架,是一种基于块的混合编码方案。但与以往的混合编码方案不同,HEVC几乎在每一个编码环节上都采取了重要的改进措施。HEVC将编码帧分为若干相邻但不重叠的方形编码树单元(CodingTreeUnit,CTU),CTU可以按照四叉树的形式进一步划分为若干方形编码单元CU(CodingUnit),CU还可以分解为更小的预测单元PU(PredictionUnit)和变换单元TU(TransformUnit)。HEVC在H.264/AVC预测模式基础上增加了很多方向预测模式来消除图像的空间相关性,每个PU支持35种预测模式。HEVC除了采用和H.264/AVC类似的环内去方块滤波(DeBlockingFilter,DBF)外,还增加了新的样点自适应 ...
【技术保护点】
1.基于多核平台多层次任务级与数据级并行的HEVC解码方法,其特征在于,包括以下步骤:/n步骤1:主线程首先对整个HEVC解码器进行初始化操作,读取二进制码流文件,创建HEVC解码器以及对内存单元进行申请;/n步骤2:从所读取的二进制码流中截取当前帧的码流并调用函数,对视频码流的设定单元进行解析,将得到的视频参数和全局信息保存至解码图像对象结构体中;/n步骤3:根据配置参数分配预设数目的线程,通过多核函数库将每个线程与不同的核进行绑定;/n步骤4:一个线程读取视频码流,对视频码流进行熵解码解析操作,在熵解码操作结束后将得到的量化系数QP和残差数据存入帧缓存中;/n步骤5:当前CTU单元的熵解码操作完成后,若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元像素解码重构若都完成则安排线程对当前CTU单元进行像素解码重构;若线程完成当前CTU单元的像素解码重构操作,转入任务队列并进入等待状态;/n步骤6:当前CTU单元像素解码重构结束之后,且当前CTU单元左相邻CTU单元已完成垂直边界滤波操作,随即安排线程对当前CTU单元进行垂直边界的滤波处理操作,处理完成后,线程转入任务队列 ...
【技术特征摘要】
1.基于多核平台多层次任务级与数据级并行的HEVC解码方法,其特征在于,包括以下步骤:
步骤1:主线程首先对整个HEVC解码器进行初始化操作,读取二进制码流文件,创建HEVC解码器以及对内存单元进行申请;
步骤2:从所读取的二进制码流中截取当前帧的码流并调用函数,对视频码流的设定单元进行解析,将得到的视频参数和全局信息保存至解码图像对象结构体中;
步骤3:根据配置参数分配预设数目的线程,通过多核函数库将每个线程与不同的核进行绑定;
步骤4:一个线程读取视频码流,对视频码流进行熵解码解析操作,在熵解码操作结束后将得到的量化系数QP和残差数据存入帧缓存中;
步骤5:当前CTU单元的熵解码操作完成后,若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元像素解码重构若都完成则安排线程对当前CTU单元进行像素解码重构;若线程完成当前CTU单元的像素解码重构操作,转入任务队列并进入等待状态;
步骤6:当前CTU单元像素解码重构结束之后,且当前CTU单元左相邻CTU单元已完成垂直边界滤波操作,随即安排线程对当前CTU单元进行垂直边界的滤波处理操作,处理完成后,线程转入任务队列并进入等待状态;
步骤7:当前CTU单元完成垂直边界滤波操作后,且当前CTU单元的左相邻、上相邻CTU单元已完成垂直边界的滤波,则安排线程对其进行水平边界的滤波操作;
步骤8:若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元样点自适应补偿操作都完成则安排线程对当前CTU单元进行样点自适应补偿SAO操...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。