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. 权衡性能和质量

Case Study I

将一个35Mbps码率的H.264视频转码为相同格式、7Mbps码率的视频。原视频片长约5分钟,分辨率为1920×1080p,30fps。视频中包含几个不同复杂性的场景,从密集空间细节到大量平面区域,从不规则运动到静态镜头。转码中涉及将原文件全解码并用新编码参数对其进行重新编码。

转码的采用的计算机平台配置如表8-3所示。

表8-3 案例I转码采用的计算机平台配置

System Parameter

Configuration

处理器

4th-gen. Core i5

核数

4

CPU主频

2.9 GHz

CPU睿频

3.6 GHz

热设计功耗

65 W

缓存大小

6 MB

显卡

Intel (R) HD Graphics (TM) 4600

GPU最大频率

1.15 GHz

嵌入式DRAM

Yes

内存

4 GB双通道

内存频率

1333 MHz

转码采用了两种方式:仅运行在CPU上的软件转码器,和经过GPU加速的转码器(大多数计算密集型任务在专用硬件单元中完成)。这两种实现方式不同地优化了参数,但两者都提供了三种性能质量权衡的输出模式:最佳质量模式,平衡模式和最佳速度模式。

GPU加速的实现只提供了少量外部可设置的参数,而仅CPU上的转码有更多的可调参数,我们尽力使这些参数在各自的实现方式下尽可能接近。当然,两种实现方式的模式调整的确切参数存在差异,但也存在一些共性。表8-4总结了常用参数。

表8-4 两种转码方案的常用的配置

参数

最佳质量模式

均衡模式

最佳速度模式

运动估计和模型决策算法

算法1

算法2

算法3(早期版本中?)

局部运动补偿

八分之一像素

四分之一像素

无

参考帧

多

少

1

自适应搜索

有

无

无

运动搜索范围

大

中

小

加权预测

有

有

无

多B帧?

有

有

无

子宏块分区

全部

部分

无

场景变化检测

有

有

无

比特率控制的前向分析

多数帧

少数帧

无

请注意,这两种实现方式中使用的参数略有不同,因此也不会产生完全相同的视频质量。另外,GPU加速实现的重点是在不损失太多视觉质量的情况下获得更高的性能,因此在此实现中只有少数参数的调整是从最佳质量到最佳速度。 另一方面,仅CPU转码器中难以获得更高的性能,因此在该实现方式的最佳速度模式下更激进的关闭了几个功能(相比GPU加速转码器而言)。

以FPS来衡量两种转码器实现的三种操作模式的下的性能。注意,为获得性能质量的平衡,三种模式都调整了编码参数。 图8-5显示了仅CPU转码和GPU加速转码两种实现之间的性能比较,同时图中还显示了不同模式下的比率。

图8-5. 不同转码模式的性能对比

从图8-5可以看出,这两种实现都在速度方面进行了缩放,速度范围从最佳质量到平衡模式再到最佳速度模式。例如,GPU加速将编码从一种模式加速到另一种模式,速度提高了大约2倍。但是,由于对编码参数进行了更积极的调整,仅CPU的方式从最佳质量缩放到了平衡模式,并且利用表8-5中的优化措施实现了7.45倍的加速。类似的,从平衡模式到最佳速度模式,可获得额外的4.2倍加速。

表8-5. 不同模式下,仅利用CPU的优化方法

参数

最佳质量

平衡

最快速度

Motion estimation method

Uneven multihexagon search

Hexagonal search with radius 2

Diamond search with radius 1

Maximum motion vector range

24

16

16

Sub-pixel motion estimation

Yes

Yes

No

Partitions

All (p8x8, p4x4, b8x8, i8x8, i4x4)

p8x8, b8x8, i8x8, i4x4

No sub-macroblock partitions

Use trellis for mode decisions

Yes

No

No

Adaptive quantization

Yes, with auto-variance

Yes

No

R-D mode decision

All picture types

I-picture and P-picture only

None

Max number of reference pictures

16

2

1

Number of references for weighted prediction for P-pictures

2

1

None

Number of frames to look-ahead

60

30

None

Max number of adaptive B-pictures

8

2

None

CABAC

Yes

Yes

No

In-loop deblocking

Yes

Yes

No

8×8 DCT

Yes

Yes

No

Scene change detection

Yes

Yes

No

显然,如上的优化影响了视觉质量。图8-6显示了两种实现方式的视频质量的比较。从最佳质量到最佳速度,未利用GPU加速的方式的PSNR平均损失约5 dB,而文件大小的减少则不到0.1%。另一方面,在保持视觉质量的同时提高性能的焦点上,GPU加速的方式从最佳质量到最佳速度模式下仅平均损失了~0.6 dB的PSNR。但是,与最佳质量模式相比,采用最佳速度模式时,GPU加速的模式会导致文件大小增加〜1.25%,从而折衷了所获得的压缩量。

图8-6. 是否采用GPU加速模式的质量对比

从图8-5和图8-6还可以发现:就三种性能模式的速度而言,采用GPU加速比仅采用CPU时分别快约33倍、9倍、4倍。这也显示了两种实现之间在参数调整方面的对比。尽管GPU加速的实现在最佳质量模式下的性能要好得多,但与仅用CPU的最佳质量模式相比,它的PSNR平均降低了1.76 dB,文件大小增加了约1.5%。因此,GPU加速的方式已经在通过牺牲视觉质量而支持性能。此外,由于某些算法是在固定功能硬件单元实现的,因此,GPU加速的实现在更改算法的能力方面缺乏灵活性。尽管如此,在最佳速度模式下,GPU加速方式的PSNR平均高出约2.8 dB,但与纯CPU实现相比,文件大小却增大了约2.9%。这些结果证明了这两种实现中所固有的性能-质量折衷。

图8-7显示了本节的案例研究的编码视频质量与编码速度之间的关系。 对于CPU-only和GPU加速的不同模式下的质量/速度存在明显的缩放,但是两种实现方式的缩放率却是不同的。

图8-7. Case Study I 的质量和速度的比较

Previous权衡性能和质量NextCase Study II

Last updated 5 years ago

Was this helpful?