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. 权衡分析的思考

优化策略

有一些不会降低视觉质量的优化策略用于提高性能或节省功耗。这些策略通常用于视频编码应用的优化,并具有适当的权衡。

  • 减少调度延迟:批处理允许对各种宏块做一系列的函数调用(例如调用运动估计)。此外,批处理允许在合适的并行处理中采用宏块行级多线程(macroblock-row-level multithreading)。通常,批处理中的所有操作共享相同的内存,从而提高了数据获取速度和缓存命中率。然而,应用程序必须等待批处理中所有宏块完成写入,然后才能从内存读取数据。这会带来很小的延迟,但是该延迟仍然适用于视频流等视频应用。批处理实现的性能优势通常不会牺牲视觉质量,并且还为同时运行的其他工作负载留有足够的空间。

  • 优化闲置时间:通过workload shaping进行主动的电量优化是另一种功耗优化的方法。与最坏情况的设计原理相反,视频编解码器实现框架不仅知道硬件特定的细节,而且还主动调整实现策略以提供最佳的资源利用率。对于传统的无功优化方法,系统仅通过利用可用的空闲时间来调整其执行速度,以适应不断变化的工作负载。在主动优化方案中,可以在给定的时间内改变工作负载的情况,从而节省约50%~90%的电量。在这种情况下,空闲时间在多个数据单元上累积,以便底层处理器可以在更大的空闲时间段内使用更主动的节能方法,例如深度睡眠。此外,通过在可忍受的延迟内对视频帧进行重新排序,也可以节省功耗。使用高级的复杂模型调整工作负载,视频编解码器框架则在运行时解释模型并选择合适的操作频率和电压,从而在不损失质量的情况下,将功耗降至最低。

  • 任务并行化:第5章已经讨论了任务、数据和指令并行化的好处。把独立的任务并行化并将它们调度到多个处理器上可以充分利用处理器的能力。任务并行化可以加速执行速度,并使处理器进入长时间的睡眠状态,从而实现节能。任务管道还可以使资源在必要时保持繁忙,并最大程度地减少资源冲突。此外,通过适当设计并行应用程序,当处理器变得太慢或无响应时,可以将任务重新安排到其他处理器来消除性能瓶颈。对不同处理器的任务指定优先级也有助于提高整体性能。但是,并行化具有潜在的缺点,并行化会增加额外的开销,例如处理器间通信或同步成本。

  • 优化I/O:在选择功耗和处理延迟时,除了在最短的时间内最大程度地利用系统资源之外,提高数据访问速度和降低I/O瓶颈至关重要。在某些离线视频应用程序中(例如基于云的视频分发),当处理器在并行的编码视频片段时,可以使用专用的I/O处理器来获得更好的总体功耗分布。但是,这种技术会导致延迟增加。只有完成所有的处理器都完成编码后,才能将最终的视频码流拼接在一起。因此,由I/O处理器提供的服务的分组数量是一个需要折衷的参数。另外,应该尽可能的利用数据预取和流式传输,视频数据特别适合此类技术。

  • 降低计算量:算法优化允许使用诸如基于阈值的循环而提前退出循环,或利用SIMD的并行性。这些技术有利于降低计算量。但是,这需要非常仔细的分析,才能确定和理解所涉及的各种权衡。在某些情况下,降低计算量有可能会影响到视觉质量。此外,减少执行的指令数量、手工优化代码或使用各种编译器优化技术都会直接影响性能和功耗。

  • 优化成本与收益:需要时刻认真考虑高性能在执行中的复杂性和随之而来的功耗。可能需要重新设计性能优化方法以解决功耗问题。在图像滤波实验中,发现滤波的负载行为和标量与向量的乘法加和的工作负载完全不同,尽管这两个工作负载都具有相似的可并行性。在图像滤波时,由于存在可用的数据复用,因此可能实现性能优化。对于许多视频编码和处理应用程序也是如此。然而,由于不均匀的数据复用和资源调度,图像滤波过程的功耗分布是不规则的。功耗最佳点对应于较大的展开因子,相对适中的阵列分区,流水线乘法器和非流水线循环。较大的展开系数可在合理的带宽需求下最大程度地利用已加载的数据。带宽需求通常在多个周期内摊销,以最大化给定资源的复用和效率。这导致复杂的控制流程和非直观的能源优化设计解决方案。对于这种复杂的工作负载,高性能的设计所带来的功耗增加未必总是合理的。

Previous参数调整的效果Next权衡性能和功耗

Last updated 5 years ago

Was this helpful?