Digital_Video_Concepts
  • 前言
    • 前言
  • 数字视频简介
    • 数字视频简介
    • 相关概念
    • 视频压缩
    • 权衡分析
    • 新型视频应用
    • 总结
  • 视频压缩技术
    • 数字视频压缩技术
    • 网络限制和压缩
    • 人类视觉系统
      • HVS模型
      • HVS的应用
    • 压缩技术概述
      • 数据结构和概念
      • 色度亚采样
      • 降低冗余
      • 熵编码
    • 压缩技术: 成本-收益分析
      • 变换编码技术
      • 预测编码技术
      • 其他编码技术
      • 率失真理论
    • 总结
  • 视频编码标准
    • 视频编码标准
    • 视频编码的国际标准概述
      • JPEG
      • H.261
      • MPEG-1
      • MPEG-2
      • H.263
      • MPEG-4 (Part 2)
      • AVC
      • HEVC
      • 视频质量的国际标准
    • 其他工业标准概述
      • VC-1
      • VP8
      • VP9
    • 总结
  • 视频质量度量
    • 视频质量指标
    • 压缩损失,伪像,视觉质量
      • 压缩损失:量化噪声
      • 常见的伪影
      • 影响视觉质量的因素
    • 视频质量的评估方法和指标
      • 主观视频质量评估
      • 客观视频质量评估和指标
        • 基于误差灵敏度的方法
        • 峰值信噪比
        • 基于结构相似性的方法
        • 基于信息保真度的方法
        • 时空方法
        • 基于显著性的方法
        • 网络感知方法
        • 基于噪声的质量指标
        • 客观编码效率指标
        • 基于ITU-T标准的客观的质量度量方法
    • 视频质量测量
      • 主观测量
      • 客观测量及其应用
    • 调参
      • 影响视频质量的参数
      • 参数之间的权衡
    • 总结
  • 视频编码性能
    • 视频编码性能
    • CPU速度和限制
    • 提升性能的动机
    • 对性能的考虑
      • 资源利用率最大化
      • 专用资源
      • 调整视频参数
        • 决定编码速度的因素
          • 系统配置
          • 工作负载的性质
          • 编码工具和参数
            • 独立数据单元
            • GOP结构
            • 码率控制
            • 多帧参考
            • 率失真的拉格朗日优化
            • 隔行扫描的帧/场模式
            • 自适应去块滤波器
          • 视频复杂度和格式
          • 基于GPU加速的优化
    • 性能优化方法
      • 算法优化
        • 快速算法
          • 快速变换算法
          • 快速帧内预测算法
          • 快速运动估计算法
          • 快速模式决策算法
          • 快速熵编码算法
        • 并行化方法
          • 数据分区
          • 任务并行化
          • 流水线技术
          • 数据并行化
          • 指令并行化
          • 多线程技术
          • 向量化技术
      • 编译器和代码优化
        • 编译器优化
        • 代码优化
      • 超频
      • 性能瓶颈
    • 性能度量和调整
      • 性能思考
      • 性能指标
      • 性能分析工具
    • 总结
  • 视频应用的耗电量
    • 视频应用的耗电量
    • 功耗及其限制
    • 媒体应用的工作负载
      • 媒体应用用途
    • 面向电量设计
    • 电源管理的思考
      • ACPI和电源管理
      • 操作系统电源管理
        • Linux电源管理
        • Windows电源管理
      • 处理器电源管理
      • Voltage-Frequency曲线
    • 电源优化
      • 架构级别优化
      • 算法级别优化
      • 系统整体级别优化
      • 应用级别优化
    • 电源度量
      • 度量方法论
      • 电源度量的思考
    • 测量电源的工具
      • DC电源测量系统
      • 电源测量的软件工具
    • 总结
  • 低功耗平台上的视频应用的功耗
    • 低功耗平台上的视频应用的功耗
    • 低功耗设备的重要事项
    • 低功耗平台上典型的媒体应用
      • 视频播放
      • 视频录制
      • 视频分发
      • 视频电话(会议)
    • 低功耗系统的状态
      • 简单ACPI模型的缺点
      • 待机状态
      • 低功耗状态的组合
    • 低功耗平台的电源管理
      • 电源管理的专用硬件
      • 显示器电源管理
    • 低功耗平台的思考
      • 软件设计
      • 体系结构的思考
    • 低功耗平台的电量优化
      • 快速执行然后关闭
      • Activity调度
      • 减少唤醒次数
      • 突发模式
      • 完善CPU和GPU的并行化
      • 显存带宽优化
      • 显示功耗优化
      • 存储功耗优化
    • 低功耗的度量
      • 电源的处理器信号
      • 媒体应用的功耗指标
    • 总结
  • 性能,电量以及质量的权衡
    • 性能,电量以及质量的权衡
    • 权衡分析的思考
      • 权衡分析的类型
      • 参数调整的效果
      • 优化策略
    • 权衡性能和功耗
      • Case Study
    • 权衡性能和质量
      • Case Study I
      • Case Study II
    • 权衡功耗和质量
      • Case Study
    • 总结
  • 结语
    • 结语
    • 重点和结论
    • 对未来的思考
Powered by GitBook
On this page
  • 智能电量意识
  • 对质量的要求
  • 硬件加速模
  • 高效能的用户接口
  • 代码密度和内存占用量
  • 优化数据传输
  • 并行化和批处理

Was this helpful?

  1. 低功耗平台上的视频应用的功耗
  2. 低功耗平台的思考

软件设计

对于资源稀缺的可穿戴平台和低功耗的移动平台,很多重要的想法需要从应用程序设计的角度进行评估。毫无疑问,新的应用程序会考虑这些因素。但是,也可以修改现有的应用程序从而使其从中受益。

鉴于大多数的低功耗设备提供了各种省电机制,因此应用程序应适当利用这些省电机制。例如,允许网络设备在较长时间内处于较低功耗的状态,从而避免不必要的网络流量。但是,接下来会讲一些额外的省电建议。

智能电量意识

低功耗设计通常使用诸如电压缩放或频率缩放之类的技术来权衡性能以节省功耗,从而降低电压或频率以降低动态功耗。但是,必须提供最低电压电平才能使电路工作。此外,降低电源电压会增加电路延迟,从而限制了处理器的工作频率;延迟不能太大以至于无法满足特定工作频率下的内部时序。因此,如Intel(R)Speed Step(TM)电压缩放技术所证明的那样,必须采取一种谨慎的方法来确定适当的电压缩放量。

不幸的是,现代处理器对系统性能的要求太高,无法使电压缩放成为一种有吸引力的节能解决方案。而且,处理器频率并不是影响复杂多媒体应用的功耗-性能(power-performance)的唯一因素。内存访问延迟和内存带宽也是重要因素。此外,多媒体应用具有实时的截止期限,这进一步限制了电压缩放的用处。因此,在实际系统中,需要沿电压-频率曲线动态调节电压和频率。

电压和频率的动态调整通常应由操作系统来完成。但是,操作系统不了解预期的工作量,尤其是在涉及突发多媒体应用程序时。而且,这样的工作负载不容易以合理的准确性进行预测,并且基于时间间隔的调度程序是不够的。操作系统充其量可以使用一些试探法更改处理器频率并尝试控制功耗。但是,这种试探的方案不适用于突发工作负载,例如视频解码,编码或处理。

但是,如果应用程序关注电量,就可以动态地、更好地预测实际的工作负载,进而将典型的视频解码器的功耗降低30%以上。应用程序的功耗在很大程度上取决于指令和存储器所需的时钟周期数。如果应用程序可以将未来需要的信息提供给OS,则OS可以执行更高效的任务调度,并且不需要进行不置信的预测。

如上的应用程序和OS联合起来降低功耗的方式对于资源匮乏的移动设备而言特别有用。应用程序必须了解其处理的任务的要求,尤其是应用程序处理的当前任务所需的时钟数,并且必须将这些信息通知给OS。然后,OS可以利用周期计数以及功耗-频率曲线来调节并达到可以满足应用截止期限的最小频率,从而实现最佳功耗。

例如,对于H.263解码,编码帧中使用的位数与解码时间成正比。根据Pouwelse等人的报告,利用每个帧中使用的位数的提示,应用程序可以确定视频的预期频率要求,并节省大约25%的功耗。

通常,会有省电的固件逻辑来控制主机系统的功耗。固件必须依靠测量来确定功耗节省的策略。然而,固件又不了解应用程序正在尝试做的工作,因此无法优化功耗。另一方面,具备功耗意识的智能应用通常可以利用对任务的了解以及内存使用模式将相关信息发送给固件,以帮助固件进一步节省功耗。

在一个类似的性能-省电的例子中,Steigerwald等人提出了一个在线事务处理应用程序,该应用程序监视事务处理的性能计数器以确定性能影响。然后将性能信息提供给中间件,中间件学习并更新系统上的最佳功耗限制策略。最后,电源控制器固件来限制系统的功耗。

对质量的要求

尽管会为了节省功耗而牺牲性能和视觉质量,但是大多数现代游戏和媒体应用程序的用户对质量的期望都很高。虽然CPU可以以更低频率运行并降低功耗,但对于各种游戏和视频编解码器应用是不可接受的,因为降低CPU频率就意味着无法在规定的时间内处理完响应的任务,进而导致出现卡顿,丢帧等影响体验的行为。但是,如果在设计和优化软件时仔细考虑这些因素的话就可以在满足质量要求的同时节省功耗。

硬件加速模

最新的移动手持设备的低功耗处理器带有各种能够执行特定任务的硬件模块,例如:相机图像信号处理,视频解码。与通用CPU执行任务相比,这些硬件模块会对任务进行优化以降低功耗。应用程序应利用这些硬件模块的优势,并尽可能减少工作量,以减轻计算负担并节省功耗。

高效能的用户接口

从前面描述的各种使用模型中可以明显看出,显示器是最耗电的单元。但是,可以以节能的方式设计图形用户界面(GUI),特别是对于LCD或OLED的显示器。对于这些显示器而言,不同的颜色、颜色模型、颜色序列,其消耗的电量也不同。因此,可以使用低功耗的配色方案降低功耗。例如,通常在PDA中使用的TFT(thin film transistor) LCD在黑色时比白色消耗更少的电量。

高效节能GUI设计的另一种方法是通过使用更少和更大的按钮改善用户的交互的延迟,以提供更好的用户便利性。

代码密度和内存占用量

在智能手机等低功耗的移动平台上,较差的代码密度意味着在处理器上运行所需的固件和驱动程序的代码太大。与优化固件相比,设备制造商必须使用更多的RAM和闪存来存储固件。因此,使用更多的存储器会导致更高的成本并会增大电池的耗电量。

由于内存成本在整个设计的成本和功耗中占主导地位,因此固件优化和代码密度可以发挥很大的作用。编译器级别的优化以及可能的指令集体系结构(ISA,instruction set architecture)可以实现密度更高的固件二进制文件,从而有助于降低功耗。

减少二进制文件的内存占用量的另一种方法是在写入内存时执行无损压缩,并在从内存读回时进行相应的解压缩。但是,节电还取决于工作负载的性质。由于媒体工作负载具有良好的局部性,因此将内存压缩用于某些媒体使用可能会有所帮助。

优化数据传输

专为低功耗设备设计的现代移动应用程序通常会利用Internet来处理云端的大量数据,在设备上则仅维护一个瘦客户端。尽管这种方法可以提高性能,但大量的数据传输意味着较高的功耗。利用要传输的数据的模式,可以减少数据带宽的使用,从而降低数据传输带来的功耗。此外,应用程序可以利用新的S0iX状态进行通知,从而允许处理器更频繁地进入到低功耗状态。

并行化和批处理

任务调度是多任务环境的一个挑战。长时间的任务序列化不会为处理器提供进入低功耗状态的机会。任务的并行化,流水线处理和批处理可以使得处理器有机会进入到低功耗状态,从而降低功耗。如果任务没有特定的处理速度,则以最高频率运行处理器以尽快完成任务,然后让处理器在尽可能长的时间内处于闲置状态,这样可能会更有效。

Previous低功耗平台的思考Next体系结构的思考

Last updated 5 years ago

Was this helpful?