[发明专利]并行解码方法和并行解码装置有效
申请号: | 201510955169.7 | 申请日: | 2015-12-17 |
公开(公告)号: | CN105592314B | 公开(公告)日: | 2018-07-10 |
发明(设计)人: | 宋思超;陶品 | 申请(专利权)人: | 清华大学 |
主分类号: | H04N19/13 | 分类号: | H04N19/13;H04N19/176;H04N19/436;H04N19/146 |
代理公司: | 北京睿邦知识产权代理事务所(普通合伙) 11481 | 代理人: | 张丽新 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 熵解码 宏块 并行解码 解码操作 码流 并行 熵编码 界定 线程 并行解码装置 存储资源 计算资源 依赖关系 帧间图像 帧内宏块 帧内图像 编码器 块解码 图像块 帧间 | ||
1.一种计算机执行的、针对采用了CABAC熵编码技术编码的码流进行的、宏块级别的并行解码方法,对于一个宏块的解码操作包括熵解码操作和除了熵解码操作外的在后解码操作,其中包括:
接收来自编码器侧的码流,该码流是采用了CABAC熵编码技术熵编码的;
利用单独的CABAC熵解码线程对所接收的码流中的宏块进行CABAC熵解码;
至少部分基于CABAC熵解码的结果、帧内宏块和帧间宏块之间的依赖关系、当前能够利用的存储资源和计算资源,界定能够彼此并行进行在后解码操作的宏块;以及
利用并行的块解码线程,彼此并行地对所界定的宏块进行在后解码操作。
2.根据权利要求1的并行解码方法,还包括:
利用环状缓冲区来存储宏块进行在后解码操作所需要的上下文内容数据集,缓冲区的存储单位为每个宏块进行在后解码操作所需要的上下文内容数据集,缓冲区的长度大于图像水平方向所包含的编码块的数目,缓冲区中的每个数据集具有可填充标记和可解码标记,可填充标记标识该数据集是否可以被覆盖,可解码标记标识该元素是否有足够的数据进行对应区域的解码工作,具体图像块可解码指的是能够对该具体图像块进行在后解码操作。
3.根据权利要求1或2的并行解码方法,所界定的能够彼此并行进行在后解码操作的宏块包括在不同帧中的宏块。
4.根据权利要求1或2的并行解码方法,所述界定能够彼此并行进行在后解码操作的宏块在以下两种情况下被触发执行:
在CABAC熵解码线程中具体图像块的CABAC熵解码完成后,确定该具体图像块是否可以进行在后解码操作,如果确定可以,则将该具体图像块加入能够彼此并行进行在后解码操作的宏块的集合中;
在具体图像块的在后解码操作完成后,确定与该具体图像块相关的图像块中是否有新的可进行在后解码操作的图像块出现,如果有,则将出现的新的可进行在后解码操作的图像块加入能够彼此并行进行在后解码操作的宏块的集合中。
5.根据权利要求2的的并行解码方法,还包括:
利用并行化调度模块,基于环状缓冲区中可进行在后解码操作的图像块的数量A、图像块熵解码完成领先数量B、当前计算资源的使用率C、当前的并行的块解码线程的数量D,对熵解码线程和并行的块解码线程进行调度。
6.根据权利要求5的并行解码方法,所述对熵解码线程和并行的块解码线程进行调度包括下述项目中的至少一个:
暂停熵解码线程、重启熵解码线程、增加并行的块解码线程、减少并行的块解码线程。
7.根据权利要求5或6的并行解码方法,并行化调度模块在每次块解码线程准备开始寻找一个可解码图像块进行解码时进行调度。
8.根据权利要求7的并行解码方法,所述并行化调度模块根据下述规则中的至少一个进行调度:
熵解码线程处于运行状态时,当图像块熵解码完成领先数量等于预定的最大值时,熵解码线程暂停;
熵解码线程处于暂停状态时,并且图像块熵解码完成领先数量小于预定最大值的预定百分比时,熵解码线程重启;
如果环状缓冲区中可进行在后解码操作的图像块的数量A大于等于2,且当前计算资源的使用率C不大于第一预定阈值,则增加一个块解码线程;
如果当前的并行的块解码线程的数量D大于1、当前计算资源的使用率C大于第二预定阈值、图像块熵解码完成领先数量B小于预定的最大值,则减少一个块解码线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510955169.7/1.html,转载请声明来源钻瓜专利网。