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. 视频编码性能

提升性能的动机

在视频领域,性能是一个非常复杂的术语,其涵盖的内容远超出了“性能”这个词语本身。

  • 在一些文献中,编码器性能是指用于获得特定视觉质量的比特数的压缩效率。测试编码器比参考编码器可以节省的平均码率被认为是客观编码的性能标准 。

  • 还有另外一种看法就是:编码器的性能是指以FPS(frame per second)为单位的编码每帧图像的速度。

在本书中,性能一般指的是编码视频帧的速度。我们还注意到FPS可用于不同目的。视频剪辑中的帧率也称为FPS(例如,24 FPS或30 FPS),这意味着应该以指定的帧率(FPS)播放(played back in real time/real-time play back)该视频,从而提供平滑的运动感知(如果播放的帧率低于规定的帧率,则会产生视频卡顿的现象)。但是,当生成压缩视频时,压缩速度比实时播放速度快许多倍,称该速度(也以FPS表示)为编码速度或编码器性能。需要注意的是,在某些实时应用程序(如视频会议)中,视频帧仅用于实时显示。因此,较快的编码速度并不是必需的,虽然如此,编码速度也需要足够快。因为更快的编码速度使得处理器可以进入空闲状态,从而节省电量。

但是,有很多视频应用要求编码器的编码速度要快于播放速度。例如:

  • 可以在更短的时间内压缩较长的视频。这对于视频编辑人员非常有用。视频编辑人员通常会处理大量的视频内容,并且他们的工作需要在指定的时间限制内完成。

  • 视频归档应用程序需要压缩、存储大量视频。因此,视频归档应用可以从快速编码中受益。

  • 视频录制应用程序能够以合适的压缩格式存储录制的视频,快速编码可以实现共享处理单元的目的,从而实现同时运行编码和(或)非编码任务。

  • 快速编码有益于将视频从一种格式转换为另一种格式。例如,可以使用诸如Handbrake之类的转码器同时将多个MPEG-2标准的DVD视频转换为AVC标准。

  • 视频转码可用于:视频创作,视频编辑,上传视频到Internet,刻录视频内容到光盘,或者视频内容分发。对于这些场景而言,视频转码速度越快越好。特别是,可以通过高速编码(实时编码的几倍速度)使得基于云的视频点播服务能够同时处理多个请求。当然,同时处理多个请求的能力还需要网络带宽的优化。

  • 快速编码还有益于视频传输应用(例如有限电视等)。将视频转换到较低的码率水平,则可以通过电缆、电信、以及卫星有效地分发视频,并且可以在相同的信道带宽中容纳更多的视频节目。转换(transrating)和重新封包(repacketization)系统中的总延迟通常是恒定的,并且只有实时处理需要关注这种整体延时。尽管如此,从调度灵活性和资源利用的角度来看,仍然需要提升转换速度和编码任务的速度。

典型的视频应用涉及一系列任务,例如捕获视频数据;压缩,传输或存储视频数据;视频数据解压缩以及显示视频数据。在处理这一些列任务的同时,需要保持一个恒定的整体系统延迟。相机和显示设备引入的延迟通常可以忽略不计。一般而言,性能需要重点关注:解码、编码、以及处理时间。其中,解码任务通常由视频标准指定,并且每秒需要一定数量的操作。但是视频编码和处理任务中的计算量大大超过了解码任务所需的计算量。因为编码和处理任务具有更高的复杂性,因此,根据应用要求,它们更适合于性能优化。

视频编码需要大量的信号处理操作,大约每秒数十亿次操作。幸运的是,视频压缩可以很容易地分解为流水线任务。在各个任务中,视频数据可以在空间或时间维度上进一步分解为一组相互独立的部分,使其适合并行处理。利用这种并行特性,通过并行使用多个处理单元,可以获得比实时视频编码更快的性能。这些处理单元可以是专用、固定功能硬件单元和(或)可编程硬件单元的组合。专用硬件的优势在于对特定任务的优化,因此任务可以通过性能和功耗优化的方式完成。可编程单元则提供了一定的灵活性,并且不会轻易过时。同时,可编程单元的性能调整也比专用硬件单元更便宜。因此,有效地将专用单元和可编程单元组合成混合解决方案,可以提供比实时性能更高的性能。例如,Inter(R) Core(TM)和Intel (R) Atom (TM)等CPU,可以将繁重的编码任务交给集成GPU执行。

PreviousCPU速度和限制Next对性能的考虑

Last updated 5 years ago

Was this helpful?