CN107465929A - 基于hevc的dvfs控制方法、系统、处理器及存储设备 - Google Patents
基于hevc的dvfs控制方法、系统、处理器及存储设备 Download PDFInfo
- Publication number
- CN107465929A CN107465929A CN201710601985.7A CN201710601985A CN107465929A CN 107465929 A CN107465929 A CN 107465929A CN 201710601985 A CN201710601985 A CN 201710601985A CN 107465929 A CN107465929 A CN 107465929A
- Authority
- CN
- China
- Prior art keywords
- mrow
- gpu
- cpu
- frame
- msub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种基于HEVC的DVFS控制方法、系统、处理器及存储设备,该方法基于CPU和GPU以流水线方式协同HEVC解码,解码器将其输入的二进制比特流进行熵解码,为解码器参数赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测模块;在CPU和GPU的每个同步点上,工作量预测模块基于熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频率,输入到频率管理器;根据预测的CPU工作频率和GPU工作频率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;调控器根据最终的CPU工作频率设置CPU频率,根据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
Description
技术领域
本发明属于视频编解码的技术领域,尤其涉及一种基于HEVC的DVFS控制方 法、系统、处理器及存储设备。
背景技术
随着网络技术的发展,视频应用已经进入到人们生活的方方面面,思科在其 可视化网络指数计划白皮书中指出:到2020年,每秒将会有100万分钟的视 频内容流经网络,全球IP视频流量占所有IP流量(企业和消费者)的比例增 加到82%[i]。而伴随着平板电脑以及智能手机等移动嵌入式设备的不断普及, 网络传输视频数据也存在着越来越大的压力。与现在广泛应用的视频编码标准 H.264/AVC相比,HEVC视频编码标准可显著提高视频编码压缩比。图1显示了 HEVC和H.264各压缩算法的性能比较。从图1中可以看出,对比现在普遍采用的 H.264/AVC视频编码标准,在相同的用户体验质量下HEVC的压缩比提高了大约50%,这就意味着利用HEVC标准,用户可以在原先一半的网络带宽下观看相同 质量的视频。
HEVC被称作H.265是最新的国际视频编码标准,其全称为High Efficiency VideoCoding。HEVC标准中解码器由熵解码、反量化反变换、帧内/帧间预测、 环路滤波等模块组成,如图2所示。
熵解码模块作为解码器的第一个模块负责将比特流转换成为后继模块所必 要的相应语法元素的值。根据相关语法元素的值,反量化过程将有限多个离散幅 值映射为大量的离散取值,实现信号一对多的过程。反变换是指将变换域中变换 系数转换回空间域中的像素形式,是视频编码器中变换的逆过程。熵解码后的系 数经过反量化反变换模块的处理转换为残差像素块。HEVC编码器可以选择帧内 或帧间预测两种模式。帧内预测是指利用视频空间域的相关性,使用当前图像已 编码的像素预测当前像素,以达到去除视频空间域冗余的目的。帧间预测是指利 用视频时间域的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到 有效去除视频时域冗余的目的。和学术界的许多研究工作一致,针对嵌入式设备 有限的计算能力,我们选择了计算复杂度相对低并且可以提供高压缩比的帧内预 测。预测数据块和残差数据块叠加,得到重建数据块(重建帧)。环路滤波模块 (LF)包括去块滤波(DBF)和像素自适应滤波(SAO)。去块滤波用于降低 方块效应,方块效应是指图像中编码数据块边缘的不连续性。像素自适应补偿用 于改善振铃效应,振铃效应是指基于块的变换量化过程在图像边缘周围产生的波 纹现象。重建帧经过环路滤波模块的处理,方块效应和振铃效应均得到改善,同 时提高了视频的主客观质量。
CPU(Central Processing Unit)作为计算机的运算核心和控制核心,随着技 术的进步,由单核发展到多核。目前,多核CPU已经普遍应用到移动通讯设备中, 以加快移动设备的处理能力。GPU(Graphic Processing Unit)经历了三个阶段的 发展,GPU已经不再局限于图形的处理,逐步走向通用计算。GPU制造厂商 NVIDIA公司于2006年推出的通用并行计算架构CUDA(Compute Unified Device Architecture),也使得越来越多的应用程序提高了性能。基于CUDA架构的支持, 开发人员可以用C/C++等高级语言来编写GPU并行程序,所编写出的程序可以具 有很高的并行度。CUDA架构很好地提高了GPU的可编程性及编程效率,从而进 一步推动了GPU通用计算技术的发展。
在移动设备的设计中,能效性能是关键的衡量因素之一。随着摩尔定律放缓, 晶体管单位功耗不能降低,半导体器件的发展已经进入暗硅时代,促进了异构多 核技术的发展。与此同时,HMPSoC技术的快速发展大大提高了高端嵌入式系统 的计算能力。HMPSoC提供强大计算资源的同时,相应的能源管理策略的研究和 优化是必不可少的。动态调频调压(Dynamic voltage and frequency scaling, DVFS)。是根据特定任务在不同时刻对处理器计算能力的具体需要,动态地调 整处理器的工作频率和供给电压(对于同一芯片,频率于电压成正相关),在保证 任务按时完成的情况下,尽可能慢的处理计算任务,从而达到降低动态能耗的目 的。DVFS技术已经被证明为节约系统能耗的有效机制并被广泛集成到商用计算 机中。虽然,现代计算机提供了内建的DVFS策略(例如linux系统中的OnDemand 调控器),基于应用程序域知识,在userspace调控器下,设计符合应用程序自身 特点的DVFS策略通常可以达到明显更好的资源供应效率。因此,预测 H.265/HEVC解码过程中工作量的变化,是进行DVFS节能的关键。目前,已经有 许多芯片支持DVFS技术,例如NVIDIA JetsonTK1和Jetson TX1。同时,Linux 操作系统对DVFS策略有很好的支持并且被广泛应用于嵌入式设备中。在视频解 码过程中,DVFS策略应该尽可能的控制处理单元以可以满足要求的最小工作频 率运行。最近,有针对运行于CPU上的HEVC解码器,根据处理器的历史工作负 荷预测解码当前帧的工作量,进而调节CPU的工作频率。然而,通过观察窗口中 工作负荷平均值来预测当前帧解码工作量的方法捕获解码复杂度突变(场景转移 时)的能力并不强。以至于,系统需要设置足够大的帧缓冲区来保证视频的实时 播放。
综上所述,针对现有技术中如何解决在利用DVFS能源管理策略对运行于 CPU-GPU协同的异构计算平台上的HEVC解码过程进行降低动态能耗,以及如何 预测H.265/HEVC解码过程中工作量变化的问题,尚缺乏有效的解决方案。
发明内容
本发明为了解决上述问题,提供一种基于HEVC的DVFS控制方法,具体 为一种基于HEVC的异构计算平台上CPU-GPU协同的DVFS能源管理控制方 法。
为了实现上述目的,本发明采用如下一种技术方案:
一种基于HEVC的DVFS控制方法,该方法基于CPU和GPU以流水线方 式协同HEVC解码,该方法包括以下步骤:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数 赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测 模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于 步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频 率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频 率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频 帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根 据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
进一步的,所述基于CPU和GPU以流水线方式协同HEVC解码的具体步 骤为:
CPU熵解码模块处理第一帧后,将其余模块的处理发射到GPU;
当GPU处理第一帧的时候,CPU便开始处理下一帧的熵解码任务,在CPU 将下一帧的计算任务发射到GPU之前,CPU和GPU需要进行同步,以保证GPU 已经完成了第一帧的处理任务;
后继的视频帧以上述相同的方式被处理。
进一步的,所述步骤(1)中,估计视频帧i的TU数量的具体步骤为:
基于前1帧的平均值预测计算视频帧i的TU数量
其中,为视频帧i的TU数量,为视频帧i-1的TU数量。
进一步的,所述步骤(2)中,预测CPU工作频率的具体步骤为:
(2a-1)设置了长度为L的滑动窗口,计算最近解码的L帧视频的平均工作 量预测当前视频帧i的工作量,即预测视频帧i的工作频率fi为:
其中,fn为已知的处理视频帧n时的处理单元工作频率,Tn为已知的处理视 频帧n时的处理单元工作时间,Tfps为帧率FPS所确定的解码一个视频帧的时间 间隔;
(2a-2)引入系数βCPU矫正步骤(2a-1)工作频率和处理时间的对应关系, 即CPU更精确的视频帧i的工作频率fiCPU为:
其中,βCPU设置为0.9;
(2a-3)根据步骤(1)中估计的视频帧i的TU数量对步骤(2-2)计算的 fiCPU进行调整,得到预测的CPU工作频率
进一步的,所述步骤(2)中,预测GPU工作频率的具体步骤为:
(2b-1)设置了长度为L的滑动窗口,计算最近解码的L帧视频的平均工作 量预测当前视频帧i的工作量,即预测视频帧i的工作频率fi为:
其中,fn为已知的处理视频帧n时的处理单元工作频率,Tn为已知的处理视 频帧n时的处理单元工作时间,Tfps为帧率FPS所确定的解码一个视频帧的时间 间隔;
(2b-2)引入系数βGPU矫正步骤(2b-1)工作频率和处理时间的对应关系, 即GPU更精确的视频帧i的工作频率fiGPU为:
其中,βGPU设置为0.85;
(2b-3)根据步骤(1)中估计的视频帧i的TU数量对步骤(2-2)计算的fiGPU进 行调整,得到预测的GPU工作频率
其中,为在大小为L的滑动窗口中所有已处理帧的平均TU数量,λ为缩 小TU数量变化对GPU处理时间影响的参数。
进一步的,所述步骤(3)中DVFS管理控制的具体步骤为:
(3-1)根据步骤(2)预测的CPU工作频率和GPU工作频率,频率管理器 分别设定CPU工作频率和GPU工作频率为满足实时解码要求的最小值;
(3-2)预先定义门限值,判断帧缓存中已经解码的视频帧的数量与预先定 义门限值的大小,若帧缓存中已经解码的视频帧的数量大于预先定义门限值,则 进入步骤(3-3),若帧缓存中已经解码的视频帧的数量小于预先定义门限值, 则进入步骤(3-4);
(3-3)将步骤(3-1)设定的CPU工作频率和GPU工作频率降低到低一级 频率;
(3-4)将步骤(3-1)设定的CPU工作频率和GPU工作频率提高到高一级 频率。
在本发明中,DVFS管理控制CPU工作频率和GPU工作频率,判断帧缓存 中已经解码的视频帧的数量与预先定义门限值的大小,若帧缓存中已经解码的视 频帧的数量大于预先定义门限值,则将步骤(3-1)设定的CPU工作频率和GPU 工作频率降低到低一级频率(如果存在低一级频率),以防止帧缓冲区溢出并且 进一步降低能耗;若帧缓存中已经解码的视频帧的数量小于预先定义门限值,则 将步骤(3-1)设定的CPU工作频率和GPU工作频率提高到高一级频率(如果 存在高一级频率),以保证解码器可以满足预定的FPS的要求。
本发明为了解决上述背景技术中的问题,提供一种基于HEVC的CPU-GPU 协同DVFS控制系统,具体为一种基于HEVC的异构计算平台上CPU-GPU协同 的DVFS能源管理控制系统。
为了实现上述目的,本发明采用如下一种技术方案:
一种基于HEVC的CPU-GPU协同DVFS控制系统,该系统基于一种基于 HEVC的DVFS控制方法,该系统包括:
解码器,所述解码器用于将其输入的二进制比特流进行熵解码,为解码器参 数赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预 测模块;
工作量预测模块,所述工作量预测模块用于在CPU和GPU的每个同步点上, 基于步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工 作频率,输入到频率管理器;
频率管理器,所述频率管理器用于根据步骤(2)预测的CPU工作频率和 GPU工作频率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存 中已解码视频帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入 到调控器;
帧缓存,所述帧缓存用于获取其中已解码视频帧的数量;
和
调控器,所述调控器用于根据最终的CPU工作频率设置CPU频率,根据最 终的GPU工作频率设置GPU频率。
本发明为了解决上述背景技术中的问题,提供一种处理器,具体为一种 CPU-GPU协同异构计算处理器。
为了实现上述目的,本发明采用如下一种技术方案:
一种处理器,包括CPU和GPU,CPU和GPU以流水线方式协同HEVC解 码,并调用加载执行存储设备中的各指令:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数 赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测 模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于 步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频 率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频 率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频 帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根 据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
进一步的,所述基于CPU和GPU以流水线方式协同HEVC解码为:
CPU熵解码模块处理第一帧后,将其余模块的处理发射到GPU;
当GPU处理第一帧的时候,CPU便开始处理下一帧的熵解码任务,在CPU 将下一帧的计算任务发射到GPU之前,CPU和GPU需要进行同步,以保证GPU 已经完成了第一帧的处理任务;
后继的视频帧以上述相同的方式被处理。
本发明为了解决上述背景技术中的问题,提供一种存储设备。
为了实现上述目的,本发明采用如下一种技术方案:
一种存储设备,其中存储有多条指令,所述指令适于由CPU-GPU协同异构 计算处理器加载并执行:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数 赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测 模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于 步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频 率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频 率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频 帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根 据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
本发明的有益效果:
(1)本发明将根据解码器运行的实际结果结合HEVC标准解码原理,提出 了预测解码视频帧工作量的新方法,以提高捕获解码复杂度突变的能力。
(2)本发明利用DVFS能源管理策略对运行于CPU-GPU协同的异构计算平 台上的HEVC解码过程中的动态能耗进行有效的降低,节约CPU-GPU协同的异 构计算处理器能源。
附图说明
图1为HEVC和H.264等各压缩算法的性能比较示意图;
图2为HEVC解码器流程示意图;
图3为本发明的方法流程图;
图4为本发明的CPU-GPU流水线示意图;
图5为本发明的归一化熵解码时间随CPU频率的变化示意图;
图6为本发明的归一化GPU解码时间随GPU频率的变化示意图;
图7为本发明的CPU熵解码时间随TU数量的变化示意图;
图8为本发明的基于前n帧预测的预测误差示意图;
图9为本发明的“SlideShow”视频帧在CPU和GPU上DIT所需的处理时间 示意图;
图10为本发明的“SlideShow”视频帧在CPU和GPU上IP所需的处理时间 示意图;
图11为本发明的“SlideShow”视频帧在CPU和GPU上DBF所需的处理时 间示意图;
图12为本发明的GPU端处理时间随TU数量的变化示意图;
图13为本发明的系统结构图。
具体实施方式:
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。 除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的 普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限 制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出, 否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使 用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或 它们的组合。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下 面结合附图与实施例对本发明作进一步说明。
实施例1:
本发明为了解决背景技术所介绍存在的问题,提供一种基于HEVC的DVFS 控制方法,具体为一种基于HEVC的异构计算平台上CPU-GPU协同的DVFS 能源管理控制方法。
为了实现上述目的,本发明采用如下一种技术方案:
如图3所示,
一种基于HEVC的DVFS控制方法,该方法基于CPU和GPU以流水线方 式协同HEVC解码,该方法包括以下步骤:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数 赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测 模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于 步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频 率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频 率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频 帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根 据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
在本实施例中,为了充分探究基于HEVC的DVFS控制方法,即HEVC解 码器在异构计算设备中基于DVFS策略的CPU和GPU协同的节能方法,本实施 例将HEVC解码算法并行化,移植到CPU-GPU协同异构嵌入式计算平台 NVIDIA TX1。借助CUDA语言将HEVC官方测试模型HM16.5解码器部分模块 并行移植到GPU上,设计CPU和GPU以流水线方式协同解码。
CPU和GPU的流水线工作方式如图4所示。
所述基于CPU和GPU以流水线方式协同HEVC解码的具体步骤为:
CPU熵解码模块处理第一帧后,将其余模块的处理发射到GPU;
当GPU处理第一帧的时候,CPU便开始处理下一帧的熵解码任务,在CPU 将下一帧的计算任务发射到GPU之前,CPU和GPU需要进行同步,以保证GPU 已经完成了第一帧的处理任务;
后继的视频帧以上述相同的方式被处理。
为了实现CPU和GPU的流水线工作方式,我们在解码器的初始化阶段,申 请了两块视频帧大小的映射锁页内存,CPU和GPU依次循环使用这两块内存, 当GPU在读写一块内存的数据时,CPU将解码下一幅视频所需的控制信息和变 换系数写到另一块内存空间。
综上所述,解压缩当前帧i的用时由CPU熵解码下一帧i+1和GPU处理当 前帧i的用时共同决定。
在本实施例中,得到最终的DVFS的能源管理方法,需要预先处理每个视频 帧解码时间与处理单元频率的关系、CPU工作频率预测算法、GPU工作频率预 测算法,最终得到CPU-GPU协同的DVFS的能源管理方法。
如图5-6所示,分析帧熵解码时间随CPU频率的变化关系、帧GPU处理部分 所需时间随GPU频率的变换关系。
随着CPU/GPU频率的降低,处理时间以线性的形式增加。令fn为已知的处 理视频帧n时的处理单元工作频率,Tn为已知的处理视频帧n时的处理单元工 作时间,Tfps为帧率FPS所确定的解码一个视频帧的时间间隔(例如:当FPS 为30时Tfps为1/30)。有研究设置了长度为L的滑动窗口用于计算最近解码的 L帧视频的平均工作量用于预测当前视频帧i的工作量,处理视频帧i的工作频 率预测计算公式如下:
如图5-6所示,解码时间随处理器频率的变化并不是严格意义上的正比关系, 假设两者为正比关系一定程度上会影响DVFS策略的精确性。因此,引入两个系 数βCPU和βGPU分别用于矫正CPU和GPU工作频率和处理时间的对应关系。特别 地,CPU更精确的视频帧i的工作频率fiCPU为:
相似的,GPU更精确的视频帧i的工作频率fiGPU为:
通过综合分析异构处理器平台上解码器解码多个视频序列时,平均每帧解码 时间随处理单元频率(在合理的范围内变动)的对应关系,我们将βCPU设置为 0.9,βGPU设置为0.85。这两个系数应用在本发明提出的DVFS频率控制算法中。
如图7所示,为帧熵解码ED时间随帧中所含TU(transform unit,变换单元) 数量的变化关系以及帧中GPU处理部分随帧中所含TU数量的变化关系,在本实 施例中结合对HEVC帧内预测解码器工作原理的分析,推导出视频帧TU数量变 化可以很好地模拟处理单元解码视频帧工作量的变化情况。接着,分析了大量视 频基于前n帧平均值预测当前帧i所含的预测误差情况,确定基于前一帧的 预测最为准确,由此了CPU(GPU)解码下一帧所需工作频率预测公式。
如图7所示,在GPU工作在最大频率上,CPU熵解码视频帧的处理时间随 帧中包含TU数量的变化。很明显的,熵解码时间和视频帧所含TU的数量呈现 出一致的变化规律,需要强调的是,在视频帧所含TU数量急剧变化的点,熵解 码时间可能突增或者急速降低,在非常短暂的时间范围内,相继的视频帧的熵解 码时间可以在非常大的范围内波动。然而,基于历史信息的预测算法很难捕获到 剧烈的动态变化,导致过高或者过低的估计了所需要的处理器频率。通过分析HEVC官方测试序列熵解码时间随视频帧所含TU数量的变化关系,得出熵解码和 每帧含有的TU数量呈现明显的正相关关系。在熵解码阶段,解码器解析输入的 二进制比特流并且以Z-scan的顺序为编码树单元CTU的语法元素赋值。在每个 CTU中,随后解码模块所需要的变换系数、预测模式等其他解码控制信息以TU 为单位被解码器赋值,可以说明,TU是熵解码过程中的最基本的处理单位。因 此,视频帧所含的TU数量在一定程度上决定了视频帧熵解码的处理时间。
在本实施例中,利用视频帧的TU数量(NTU)来衡量CPU端熵解码模块 的工作量,直观上,如果观察到TU数量有明显的变化,就在基于历史信息预测 得到的下一帧的工作量的基础上做相应的调整。然而,当前视频帧i所包含的TU 数量只有在熵解码模块完成之后才可以得到。因此,为了利用NTU来 预测当前帧i的CPU端(熵解码)工作量,必须估计的值。熵解码得到的当 前帧的准确可以作为GPU端工作量预测的输入,从而避免了GPU预测当前 帧所含数量而导致的工作量预测误差,增加了GPU端工作量预测的准确度。
针对不同视频序列中视频帧NTU的变化情况,进行了一系列的定量分析, 图8展现出基于前n帧的平均值预测的误差百分比(例如:“average5”表示 前5帧NTU的平均值),从图8中可以看出,对于所有的测试序列来说,“average1” 的预测效果最好。特别地,对于有更多场景切换的视频(例如:PeopleOnStreet 和SlideShow),使用较长的滑动窗口来预测会出现更高的误差率。基于如 上经验性的分析,我们预测视频帧i的NTU的公式如下:
在的基础上,将CPU频率根据视频帧i含有TU 数量的预测值进行调整,在CPU端熵解码视频帧i之前,设置CPU频率为:
在大小为L的滑动窗口中的视频帧所包含的TU数量可以线性的反映CPU 端(熵解码)工作量的变化。
如图9-11所示,
展示了解码视频序列SlideShow时,反量化反变换模块(DIT)、帧内预测 模块(IP)、去块滤波模块(DBF)分别由CPU(HM16.5)和GPU处理所需 的时间。显而易见,上述三个模块在GPU的执行具有更小的时间波动范围。即 将上述三个模块移植到GPU后,它们将具备更好的执行时间可预测性,更好地 支持了在系统userspace能源管理调控器下基于历史信息的DVFS控制策略。这 些模块执行性能和时间可预测性的提高得益于GPU强大的并行处理架构和快 速的上下文切换能力,从而很好地隐藏了内存访问延时的不确定性。如图9-11所示,帧内预测模块(IP)是帧内预测解码器中最耗时和执行时间波动最大的 模块。因此,正确得估计帧内预测模块(IP)的执行时间是设计GPU端DVFS 控制模式的关键。
如图12所示,展示了每个视频帧帧内预测模块所需时间和其所含有的总 TU数量的正相关关系。如图4所示的CPU和GPU流水线的工作模式,每个视 频帧中TU的数量可以通过CPU熵解码模块得到,从而可以直接用于GPU处 理当前帧工作量的预测,很好的避免了预测当前帧TU数量所带来的工作量预 测误差。
应用程序可控的GPU处理视频帧i的工作频率,即预测的GPU工作频率
其中,为在大小为L的滑动窗口中所有已处理帧的平均TU数量,λ为缩 小TU数量变化对GPU处理时间影响的参数。值得注意的是,由于GPU规模巨 大的并行化结构,一定程度上缩小TU数量变化对视频帧处理时间的影响,因此, 引用了系数λ来缩小TU数量变化对GPU处理时间的影响。基于实验分析,我们 将λ的值设定为0.2。
本实施例中,所述步骤(1)中,估计视频帧i的TU数量的具体步骤为:
基于前1帧的平均值预测计算视频帧i的TU数量
其中,为视频帧i的TU数量,为视频帧i-1的TU数量。
本实施例中,所述步骤(2)中,预测CPU工作频率的具体步骤为:
(2a-1)设置了长度为L的滑动窗口,计算最近解码的L帧视频的平均工作 量预测当前视频帧i的工作量,即预测视频帧i的工作频率fi为:
其中,fn为已知的处理视频帧n时的处理单元工作频率,Tn为已知的处理视 频帧n时的处理单元工作时间,Tfps为帧率FPS所确定的解码一个视频帧的时间 间隔;
(2a-2)引入系数βCPU矫正步骤(2a-1)工作频率和处理时间的对应关系, 即CPU更精确的视频帧i的工作频率fiCPU为:
其中,βCPU设置为0.9;
(2a-3)根据步骤(1)中估计的视频帧i的TU数量对步骤(2-2)计算的 fiCPU进行调整,得到预测的CPU工作频率
本实施例中,所述步骤(2)中,预测GPU工作频率的具体步骤为:
(2b-1)设置了长度为L的滑动窗口,计算最近解码的L帧视频的平均工作 量预测当前视频帧i的工作量,即预测视频帧i的工作频率fi为:
其中,fn为已知的处理视频帧n时的处理单元工作频率,Tn为已知的处理视 频帧n时的处理单元工作时间,Tfps为帧率FPS所确定的解码一个视频帧的时间 间隔;
(2b-2)引入系数βGPU矫正步骤(2b-1)工作频率和处理时间的对应关系, 即GPU更精确的视频帧i的工作频率fiGPU为:
其中,βGPU设置为0.85;
(2b-3)根据步骤(1)中估计的视频帧i的TU数量对步骤(2-2)计算的fiGPU进 行调整,得到预测的GPU工作频率
其中,为在大小为L的滑动窗口中所有已处理帧的平均TU数量,λ为缩 小TU数量变化对GPU处理时间影响的参数。
本实施例中,所述步骤(3)中DVFS管理控制的具体步骤为:
(3-1)根据步骤(2)预测的CPU工作频率和GPU工作频率,频率管理器 分别设定CPU工作频率和GPU工作频率为满足实时解码要求的最小值;
(3-2)预先定义门限值,判断帧缓存中已经解码的视频帧的数量与预先定 义门限值的大小,若帧缓存中已经解码的视频帧的数量大于预先定义门限值,则 进入步骤(3-3),若帧缓存中已经解码的视频帧的数量小于预先定义门限值, 则进入步骤(3-4);
(3-3)将步骤(3-1)设定的CPU工作频率和GPU工作频率降低到低一级 频率;
(3-4)将步骤(3-1)设定的CPU工作频率和GPU工作频率提高到高一级 频率。
在本发明中,DVFS管理控制CPU工作频率和GPU工作频率,判断帧缓存 中已经解码的视频帧的数量与预先定义门限值的大小,若帧缓存中已经解码的视 频帧的数量大于预先定义门限值,则将步骤(3-1)设定的CPU工作频率和GPU 工作频率降低到低一级频率(如果存在低一级频率),以防止帧缓冲区溢出并且 进一步降低能耗;若帧缓存中已经解码的视频帧的数量小于预先定义门限值,则 将步骤(3-1)设定的CPU工作频率和GPU工作频率提高到高一级频率(如果 存在高一级频率),以保证解码器可以满足预定的FPS的要求。
实施例2:
本发明为了解决上述背景技术中的问题,提供一种基于HEVC的CPU-GPU 协同DVFS控制系统,具体为一种基于HEVC的异构计算平台上CPU-GPU协同 的DVFS能源管理控制系统。
为了实现上述目的,本发明采用如下一种技术方案:
如图13所示,
一种基于HEVC的CPU-GPU协同DVFS控制系统,该系统基于一种基于 HEVC的DVFS控制方法,该系统包括:
解码器,所述解码器用于将其输入的二进制比特流进行熵解码,为解码器参 数赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预 测模块;
工作量预测模块,所述工作量预测模块用于在CPU和GPU的每个同步点上, 基于步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工 作频率,输入到频率管理器;
频率管理器,所述频率管理器用于根据步骤(2)预测的CPU工作频率和 GPU工作频率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存 中已解码视频帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入 到调控器;
帧缓存,所述帧缓存用于获取其中已解码视频帧的数量;
和
调控器,所述调控器用于根据最终的CPU工作频率设置CPU频率,根据最 终的GPU工作频率设置GPU频率。
实施例3:
本发明为了解决上述背景技术中的问题,提供一种处理器,具体为一种 CPU-GPU协同异构计算处理器。
为了实现上述目的,本发明采用如下一种技术方案:
一种处理器,包括CPU和GPU,CPU和GPU以流水线方式协同HEVC解 码,并调用加载执行存储设备中的各指令:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数 赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测 模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于 步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频 率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频 率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频 帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根 据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
在本实施例中,所述基于CPU和GPU以流水线方式协同HEVC解码为:
CPU熵解码模块处理第一帧后,将其余模块的处理发射到GPU;
当GPU处理第一帧的时候,CPU便开始处理下一帧的熵解码任务,在CPU 将下一帧的计算任务发射到GPU之前,CPU和GPU需要进行同步,以保证GPU 已经完成了第一帧的处理任务;
后继的视频帧以上述相同的方式被处理。
实施例4:
本发明为了解决上述背景技术中的问题,提供一种存储设备。
为了实现上述目的,本发明采用如下一种技术方案:
一种存储设备,其中存储有多条指令,所述指令适于由CPU-GPU协同异构 计算处理器加载并执行:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数 赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测 模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于 步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频 率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频 率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频 帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根 据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
本发明的有益效果:
(1)本发明将根据解码器运行的实际结果结合HEVC标准解码原理,提出 了预测解码视频帧工作量的新方法,以提高捕获解码复杂度突变的能力。
(2)本发明利用DVFS能源管理策略对运行于CPU-GPU协同的异构计算平 台上的HEVC解码过程中的动态能耗进行有效的降低,节约CPU-GPU协同的异 构计算处理器能源。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域 的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内, 所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于HEVC的DVFS控制方法,该方法基于CPU和GPU以流水线方式协同HEVC解码,其特征是:该方法包括以下步骤:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
2.如权利要求1所述的一种基于HEVC的DVFS控制方法,其特征是:所述基于CPU和GPU以流水线方式协同HEVC解码的具体步骤为:
CPU熵解码模块处理第一帧后,将其余模块的处理发射到GPU;
当GPU处理第一帧的时候,CPU便开始处理下一帧的熵解码任务,在CPU将下一帧的计算任务发射到GPU之前,CPU和GPU需要进行同步,以保证GPU已经完成了第一帧的处理任务;
后继的视频帧以上述相同的方式被处理。
3.如权利要求2所述的一种基于HEVC的DVFS控制方法,其特征是:所述步骤(1)中,估计视频帧i的TU数量的具体步骤为:
基于前1帧的平均值预测计算视频帧i的TU数量
<mrow>
<msubsup>
<mi>N</mi>
<mrow>
<mi>T</mi>
<mi>U</mi>
</mrow>
<mi>j</mi>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>N</mi>
<mrow>
<mi>T</mi>
<mi>U</mi>
</mrow>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
其中,为视频帧i的TU数量,为视频帧i-1的TU数量。
4.如权利要求2所述的一种基于HEVC的DVFS控制方法,其特征是:所述步骤(2)中,预测CPU工作频率的具体步骤为:
(2a-1)设置了长度为L的滑动窗口,计算最近解码的L帧视频的平均工作量预测当前视频帧i的工作量,即预测视频帧i的工作频率fi为:
<mrow>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>&Element;</mo>
<mi>L</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>n</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>T</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>L</mi>
</mrow>
<msub>
<mi>T</mi>
<mrow>
<mi>f</mi>
<mi>p</mi>
<mi>s</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,fn为已知的处理视频帧n时的处理单元工作频率,Tn为已知的处理视频帧n时的处理单元工作时间,Tfps为帧率FPS所确定的解码一个视频帧的时间间隔;
(2a-2)引入系数βCPU矫正步骤(2a-1)工作频率和处理时间的对应关系,即CPU更精确的视频帧i的工作频率fiCPU为:
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>i</mi>
<mi>C</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>&beta;</mi>
<mrow>
<mi>C</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
</msub>
<mo>&CenterDot;</mo>
<mfrac>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>&Element;</mo>
<mi>L</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>n</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>T</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>L</mi>
</mrow>
<msub>
<mi>T</mi>
<mrow>
<mi>f</mi>
<mi>p</mi>
<mi>s</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,βCPU设置为0.9;
(2a-3)根据步骤(1)中估计的视频帧i的TU数量对步骤(2-2)计算的fiCPU进行调整,得到预测的CPU工作频率
<mrow>
<msubsup>
<mi>f</mi>
<mrow>
<mi>C</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
<mi>i</mi>
</msubsup>
<mo>=</mo>
<msub>
<mi>&beta;</mi>
<mrow>
<mi>C</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
</msub>
<mo>&CenterDot;</mo>
<mfrac>
<msubsup>
<mi>N</mi>
<mrow>
<mi>T</mi>
<mi>U</mi>
</mrow>
<mi>i</mi>
</msubsup>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>&Element;</mo>
<mi>L</mi>
</mrow>
</msub>
<msubsup>
<mi>N</mi>
<mrow>
<mi>T</mi>
<mi>U</mi>
</mrow>
<mi>n</mi>
</msubsup>
<mo>/</mo>
<mi>L</mi>
</mrow>
</mfrac>
<mo>&CenterDot;</mo>
<mfrac>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>&Element;</mo>
<mi>L</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>n</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>T</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>L</mi>
</mrow>
<msub>
<mi>T</mi>
<mrow>
<mi>f</mi>
<mi>p</mi>
<mi>s</mi>
</mrow>
</msub>
</mfrac>
<mo>.</mo>
</mrow>
5.如权利要求2所述的一种基于HEVC的DVFS控制方法,其特征是:所述步骤(2)中,预测GPU工作频率的具体步骤为:
(2b-1)设置了长度为L的滑动窗口,计算最近解码的L帧视频的平均工作量预测当前视频帧i的工作量,即预测视频帧i的工作频率fi为:
<mrow>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&Sigma;</mi>
<mrow>
<mi>n</mi>
<mo>&Element;</mo>
<mi>L</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>n</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>T</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>L</mi>
</mrow>
<msub>
<mi>T</mi>
<mrow>
<mi>f</mi>
<mi>p</mi>
<mi>s</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,fn为已知的处理视频帧n时的处理单元工作频率,Tn为已知的处理视频帧n时的处理单元工作时间,Tfps为帧率FPS所确定的解码一个视频帧的时间间隔;
(2b-2)引入系数βGPU矫正步骤(2b-1)工作频率和处理时间的对应关系,即GPU更精确的视频帧i的工作频率fiGPU为:
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>i</mi>
<mi>G</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>&beta;</mi>
<mrow>
<mi>G</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
</msub>
<mo>&CenterDot;</mo>
<mfrac>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>&Element;</mo>
<mi>L</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>n</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>T</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>L</mi>
</mrow>
<msub>
<mi>T</mi>
<mrow>
<mi>f</mi>
<mi>p</mi>
<mi>s</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,βGPU设置为0.85;
(2b-3)根据步骤(1)中估计的视频帧i的TU数量对步骤(2-2)计算的fiGPU进行调整,得到预测的GPU工作频率
<mrow>
<msubsup>
<mi>f</mi>
<mrow>
<mi>G</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
<mi>i</mi>
</msubsup>
<mo>=</mo>
<msub>
<mi>&beta;</mi>
<mrow>
<mi>G</mi>
<mi>P</mi>
<mi>U</mi>
</mrow>
</msub>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>+</mo>
<mi>&lambda;</mi>
<mfrac>
<mrow>
<msubsup>
<mi>N</mi>
<mrow>
<mi>T</mi>
<mi>U</mi>
</mrow>
<mi>i</mi>
</msubsup>
<mo>-</mo>
<mover>
<msubsup>
<mi>N</mi>
<mrow>
<mi>T</mi>
<mi>U</mi>
</mrow>
<mi>L</mi>
</msubsup>
<mo>&OverBar;</mo>
</mover>
</mrow>
<mover>
<msubsup>
<mi>N</mi>
<mrow>
<mi>T</mi>
<mi>U</mi>
</mrow>
<mi>L</mi>
</msubsup>
<mo>&OverBar;</mo>
</mover>
</mfrac>
<mo>)</mo>
</mrow>
<mo>.</mo>
<mfrac>
<mrow>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>N</mi>
<mo>&Element;</mo>
<mi>L</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>n</mi>
</msub>
<mo>.</mo>
<msub>
<mi>T</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mi>L</mi>
</mrow>
<msub>
<mi>T</mi>
<mrow>
<mi>f</mi>
<mi>p</mi>
<mi>s</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,为在大小为L的滑动窗口中所有已处理帧的平均TU数量,λ为缩小TU数量变化对GPU处理时间影响的参数。
6.如权利要求1所述的一种基于HEVC的DVFS控制方法,其特征是:所述步骤(3)中DVFS管理控制的具体步骤为:
(3-1)根据步骤(2)预测的CPU工作频率和GPU工作频率,频率管理器分别设定CPU工作频率和GPU工作频率为满足实时解码要求的最小值;
(3-2)预先定义门限值,判断帧缓存中已经解码的视频帧的数量与预先定义门限值的大小,若帧缓存中已经解码的视频帧的数量大于预先定义门限值,则进入步骤(3-3),若帧缓存中已经解码的视频帧的数量小于预先定义门限值,则进入步骤(3-4);
(3-3)将步骤(3-1)设定的CPU工作频率和GPU工作频率降低到低一级频率;
(3-4)将步骤(3-1)设定的CPU工作频率和GPU工作频率提高到高一级频率。
7.一种基于HEVC的CPU-GPU协同DVFS控制系统,该系统基于如权利要求1-8任一所述的一种基于HEVC的DVFS控制方法,其特征是:该系统包括:
解码器,所述解码器用于将其输入的二进制比特流进行熵解码,为解码器参数赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测模块;
工作量预测模块,所述工作量预测模块用于在CPU和GPU的每个同步点上,基于步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频率,输入到频率管理器;
频率管理器,所述频率管理器用于根据步骤(2)预测的CPU工作频率和GPU工作频率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
帧缓存,所述帧缓存用于获取其中已解码视频帧的数量;
和
调控器,所述调控器用于根据最终的CPU工作频率设置CPU频率,根据最终的GPU工作频率设置GPU频率。
8.一种处理器,包括CPU和GPU,其特征是:CPU和GPU以流水线方式协同HEVC解码,并调用加载执行存储设备中的各指令:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
9.如权利要求1所述的一种处理器,其特征是:所述基于CPU和GPU以流水线方式协同HEVC解码为:
CPU熵解码模块处理第一帧后,将其余模块的处理发射到GPU;
当GPU处理第一帧的时候,CPU便开始处理下一帧的熵解码任务,在CPU将下一帧的计算任务发射到GPU之前,CPU和GPU需要进行同步,以保证GPU已经完成了第一帧的处理任务;
后继的视频帧以上述相同的方式被处理。
10.一种存储设备,其中存储有多条指令,其特征是:所述指令适于由CPU-GPU协同异构计算处理器加载并执行:
(1)熵解码:解码器将其输入的二进制比特流进行熵解码,为解码器参数赋值,估计视频帧i的TU数量,并解析出反变换系数矩阵,输入至工作量预测模块;
(2)工作量预测:在CPU和GPU的每个同步点上,工作量预测模块基于步骤(1)熵解码估计的视频帧i的TU数量,预测CPU工作频率和GPU工作频率,输入到频率管理器;
(3)DVFS管理控制:根据步骤(2)预测的CPU工作频率和GPU工作频率,频率管理器设定CPU工作频率和GPU工作频率,根据帧缓存中已解码视频帧的数量对设定的CPU工作频率和GPU工作频率进行调节,输入到调控器;
(4)工作频率设置:调控器根据最终的CPU工作频率设置CPU频率,根据最终的GPU工作频率设置GPU频率,CPU和GPU以设定的频率继续解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710601985.7A CN107465929B (zh) | 2017-07-21 | 2017-07-21 | 基于hevc的dvfs控制方法、系统、处理器及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710601985.7A CN107465929B (zh) | 2017-07-21 | 2017-07-21 | 基于hevc的dvfs控制方法、系统、处理器及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107465929A true CN107465929A (zh) | 2017-12-12 |
CN107465929B CN107465929B (zh) | 2019-02-01 |
Family
ID=60546278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710601985.7A Active CN107465929B (zh) | 2017-07-21 | 2017-07-21 | 基于hevc的dvfs控制方法、系统、处理器及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107465929B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165103A (zh) * | 2018-10-15 | 2019-01-08 | Oppo广东移动通信有限公司 | 帧率控制方法、装置、终端及存储介质 |
CN109753134A (zh) * | 2018-12-24 | 2019-05-14 | 四川大学 | 一种基于全局解耦的gpu内部能耗控制系统及方法 |
CN109889896A (zh) * | 2019-03-27 | 2019-06-14 | 努比亚技术有限公司 | 动态调节cpu运行频率的方法、移动终端及存储介质 |
CN110308784A (zh) * | 2019-04-30 | 2019-10-08 | 东莞恒创智能科技有限公司 | 基于Nvidia TX2的CPU、GPU联合调频节能优化方法 |
CN111902790A (zh) * | 2018-08-30 | 2020-11-06 | 华为技术有限公司 | 一种调频方法、装置及计算机可读存储介质 |
CN110209501B (zh) * | 2019-06-03 | 2022-02-08 | Oppo广东移动通信有限公司 | 图形处理器的频率调整方法、装置、终端及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09297854A (ja) * | 1996-05-07 | 1997-11-18 | Sony Computer Entertainment:Kk | グラフィック描画装置 |
CN1604012A (zh) * | 2003-10-05 | 2005-04-06 | 宏碁股份有限公司 | 以网页网址为基础的电源管理方法及其网页浏览装置 |
CN101466039A (zh) * | 2008-12-31 | 2009-06-24 | 中国科学院计算技术研究所 | 一种视频解码装置和方法 |
CN102098503A (zh) * | 2009-12-14 | 2011-06-15 | 中兴通讯股份有限公司 | 一种多核处理器并行解码图像的方法和装置 |
US20110213950A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
CN105163128A (zh) * | 2015-08-31 | 2015-12-16 | 华南理工大学 | 一种利用gpu并行加速图像转换的屏幕图像获取方法 |
CN105491377A (zh) * | 2015-12-15 | 2016-04-13 | 华中科技大学 | 一种计算复杂度感知的视频解码宏块级并行调度方法 |
CN106258011A (zh) * | 2014-04-30 | 2016-12-28 | 高通股份有限公司 | 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化 |
US20170053620A1 (en) * | 2015-08-20 | 2017-02-23 | Qualcomm Incorporated | Refresh rate matching with predictive time-shift compensation |
US20170150181A1 (en) * | 2015-11-20 | 2017-05-25 | Nvidia Corporation | Hybrid Parallel Decoder Techniques |
CN106896895A (zh) * | 2017-01-11 | 2017-06-27 | 广东工业大学 | 一种基于aov网关键路径查询的异构系统动态功耗优化方法 |
-
2017
- 2017-07-21 CN CN201710601985.7A patent/CN107465929B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09297854A (ja) * | 1996-05-07 | 1997-11-18 | Sony Computer Entertainment:Kk | グラフィック描画装置 |
CN1604012A (zh) * | 2003-10-05 | 2005-04-06 | 宏碁股份有限公司 | 以网页网址为基础的电源管理方法及其网页浏览装置 |
US20110213950A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
CN101466039A (zh) * | 2008-12-31 | 2009-06-24 | 中国科学院计算技术研究所 | 一种视频解码装置和方法 |
CN102098503A (zh) * | 2009-12-14 | 2011-06-15 | 中兴通讯股份有限公司 | 一种多核处理器并行解码图像的方法和装置 |
CN106258011A (zh) * | 2014-04-30 | 2016-12-28 | 高通股份有限公司 | 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化 |
US20170053620A1 (en) * | 2015-08-20 | 2017-02-23 | Qualcomm Incorporated | Refresh rate matching with predictive time-shift compensation |
CN105163128A (zh) * | 2015-08-31 | 2015-12-16 | 华南理工大学 | 一种利用gpu并行加速图像转换的屏幕图像获取方法 |
US20170150181A1 (en) * | 2015-11-20 | 2017-05-25 | Nvidia Corporation | Hybrid Parallel Decoder Techniques |
CN105491377A (zh) * | 2015-12-15 | 2016-04-13 | 华中科技大学 | 一种计算复杂度感知的视频解码宏块级并行调度方法 |
CN106896895A (zh) * | 2017-01-11 | 2017-06-27 | 广东工业大学 | 一种基于aov网关键路径查询的异构系统动态功耗优化方法 |
Non-Patent Citations (1)
Title |
---|
FAN GONG ET AL: "《Cooperative DVFS for energy-efficient HEVC decoding on embedded CPU-GPU architecture》", 《IN PROCESSDINGS OF DESIGN AUTOMATION CONFERENCE,AUSTIN,TX,USA,JUNE 2017》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111902790A (zh) * | 2018-08-30 | 2020-11-06 | 华为技术有限公司 | 一种调频方法、装置及计算机可读存储介质 |
CN111902790B (zh) * | 2018-08-30 | 2022-05-31 | 华为技术有限公司 | 一种调频方法、装置及计算机可读存储介质 |
US11460905B2 (en) | 2018-08-30 | 2022-10-04 | Huawei Technologies Co., Ltd. | Frequency scaling responding to a performance change method and apparatus and computer-readable storage medium |
CN109165103A (zh) * | 2018-10-15 | 2019-01-08 | Oppo广东移动通信有限公司 | 帧率控制方法、装置、终端及存储介质 |
CN109753134A (zh) * | 2018-12-24 | 2019-05-14 | 四川大学 | 一种基于全局解耦的gpu内部能耗控制系统及方法 |
CN109753134B (zh) * | 2018-12-24 | 2022-04-15 | 四川大学 | 一种基于全局解耦的gpu内部能耗控制系统及方法 |
CN109889896A (zh) * | 2019-03-27 | 2019-06-14 | 努比亚技术有限公司 | 动态调节cpu运行频率的方法、移动终端及存储介质 |
CN109889896B (zh) * | 2019-03-27 | 2022-05-27 | 努比亚技术有限公司 | 动态调节cpu运行频率的方法、移动终端及存储介质 |
CN110308784A (zh) * | 2019-04-30 | 2019-10-08 | 东莞恒创智能科技有限公司 | 基于Nvidia TX2的CPU、GPU联合调频节能优化方法 |
CN110209501B (zh) * | 2019-06-03 | 2022-02-08 | Oppo广东移动通信有限公司 | 图形处理器的频率调整方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107465929B (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465929A (zh) | 基于hevc的dvfs控制方法、系统、处理器及存储设备 | |
CN104854866B (zh) | 下一代视频的内容自适应、特性补偿预测 | |
US8031766B2 (en) | Performance adaptive video encoding with concurrent decoding | |
CN104885470B (zh) | 用于下一代视频的预测和编码的内容自适应划分 | |
CN105491377B (zh) | 一种计算复杂度感知的视频解码宏块级并行调度方法 | |
CN101466039B (zh) | 一种视频解码装置和方法 | |
US20140010284A1 (en) | Image transform and inverse transform method, and image encoding and decoding device using same | |
EP1956465A2 (en) | Power aware software pipelining for hardware accelerators | |
CN102055981B (zh) | 用于视频编码器的去块滤波器及其实现方法 | |
CN101252695A (zh) | 一种视频编码器及其帧内预测模式选择方法 | |
CN105120282A (zh) | 一种时域依赖的码率控制比特分配方法 | |
EP1952268A1 (en) | A method and a system for determining predicted numbers of processor cycles required for respective segments of a media file for playback of the media file | |
CN105791829A (zh) | 一种基于多核平台的hevc并行帧内预测方法 | |
US20090092184A1 (en) | Power saving decoder architecture | |
EP2154897A2 (en) | Video coding apparatus and method | |
CN101256668B (zh) | 一种计算均衡的多核进行视频滤波的方法 | |
CN104038766A (zh) | 用于以图像帧为基础执行并行视频编码的装置及其方法 | |
CN101795408A (zh) | 双级帧内预测视频编码系统及方法 | |
Jiang et al. | Highly paralleled low-cost embedded HEVC video encoder on TI KeyStone multicore DSP | |
CN104980764A (zh) | 基于复杂度均衡的并行编解码方法、装置及系统 | |
CN102075763A (zh) | 用于视频编码器的帧内子块预测电路及其实现方法 | |
CN103248885B (zh) | 帧内图像预测编解码方法及视频编解码器 | |
CN114021733B (zh) | 模型训练优化方法、装置、计算机设备及存储介质 | |
Chen et al. | Cpu microarchitectural performance characterization of cloud video transcoding | |
CN101115198A (zh) | 多核心平台的视频解码器功率监控方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |