【技术实现步骤摘要】
本专利技术总体地涉及。
技术介绍
传统的视频编码标准,从H.261开始,历经MPEG-1,MPEG-2,H.263,MPEG-4,H.264等等,都是编码器复杂,解码器相对简单;编码器可以自由定义算法,解码器算法固定。这样做的主要原因是解码器是大众消费产品,解码器往往是硬件芯片实现,为了便于解码器能够接收不同编码器编出的码流,因此码流格式必须标准化、一致化,因此解码器的解码流程也就标准化了,几乎没有改动或改进的余地,这样也事实上提高了解码器的量产数量,降低了解码器的设计制造成本。但是随着编解码标准越来越复杂,解码器也变得越来越复杂,4K分辨率的视频在2.7GHz的i7处理器上单线程也只能刚好达到30fps的软件解码速度。另一方面,由于硬件解码研发周期长,操作系统适配兼容性差,因此在不少实际产品中研发企业更偏向于更为灵活的软件解码方案,而越来越高的解码复杂度对软件解码提出了挑战。软件解码主要分为三个阶段:1)熵解码2)反量化+反D ...
【技术保护点】
一种计算机执行的、针对采用了CABAC熵编码技术编码的码流进行的、宏块级别的并行解码方法,对于一个宏块的解码操作包括熵解码操作和除了熵解码操作外的在后解码操作,其中包括:接收来自编码器侧的码流,该码流是采用了CABAC熵编码技术熵编码的;利用单独的CABAC熵解码线程对所接收的码流中的宏块进行CABAC熵解码;至少部分基于CABAC熵解码的结果、帧内宏块和帧间宏块之间的依赖关系、当前能够利用的存储资源和计算资源,界定能够彼此并行进行在后解码操作的宏块;以及利用并行的块解码线程,彼此并行地对所界定的宏块进行在后解码操作。
【技术特征摘要】
1.一种计算机执行的、针对采用了CABAC熵编码技术编码的码流进行
的、宏块级别的并行解码方法,对于一个宏块的解码操作包括熵解码操作和
除了熵解码操作外的在后解码操作,其中包括:
接收来自编码器侧的码流,该码流是采用了CABAC熵编码技术熵编码
的;
利用单独的CABAC熵解码线程对所接收的码流中的宏块进行CABAC
熵解码;
至少部分基于CABAC熵解码的结果、帧内宏块和帧间宏块之间的依赖
关系、当前能够利用的存储资源和计算资源,界定能够彼此并行进行在后解
码操作的宏块;以及
利用并行的块解码线程,彼此并行地对所界定的宏块进行在后解码操作。
2.根据权利要求1的并行解码方法,还包括:
利用环状缓冲区来存储宏块进行在后解码操作所需要的上下文内容数据
集,缓冲区的存储单位为每个宏块进行在后解码操作所需要的上下文内容数
据集,缓冲区的长度大于图像水平方向所包含的编码块的数目,缓冲区中的
每个数据集具有可填充标记和可解码标记,可填充标记标识该数据集是否可
以被覆盖,可解码标记标识该元素是否有足够的数据进行对应区域的解码工
作,具体图像块可解码指的是能够对该具体图像块进行在后解码操作。
3.根据权利要求1或2的并行解码方法,所界定的能够彼此并行进行在
后解码操作的宏块包括在不同帧中的宏块。
4.根据权利要求1或2的并行解码方法,所述界定能够彼此并行进行在
后解码操作的宏块在以下两种情况下被触发执行:
在CABAC熵解码线程中具体图像块的CABAC熵解码完成后,确定该
具体图像块是否可以进行在后解码操作,如果确定可以,则将该具体图像块
加入能够彼此并行进行在后解码操作的宏块的集合中;
在具体图像块的在后解码操作完成后,确定与该具体图像块相关的图像
块中是否有新的可进行在后解码操作的图像块出现,如果有,则将出现的新
\t的可进行在后解码操作的图像块加入能够彼此并行进行在后解码操作的宏块
的集合中。
5.根据权利要求2的的并行解码方法,还包括:
利用并行化调度模块,基于环状缓冲区中可进行在后解码操作的图像块
的数量A、图像块熵解码完成领先数量B、当前计算资源的使用率C、当前
的并行的块解码线程的数量D,对熵解码线程和并行的块解码线程进行调度。
6.根据权利要求5的并行解码方法,所述对熵解码线程和并行的块解码
线程进行调度包括下述项目中的至少一个:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。