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. 压缩技术: 成本-收益分析

率失真理论

Previous其他编码技术Next总结

Last updated 5 years ago

Was this helpful?

信源的熵定义了编码图像或视频帧所需的最小bit数。但是,这种定义仅适用于无损编码。实际上,由于HVS的特性,人们可以容忍某些不可逆的视觉质量损失。视觉质量损失的程度可以通过调整编码参数(例如量化级别)来实现。

率失真理论是信息论的一个分支,其目的为:确定在给定码率下的可接受的视觉质量损失量。该理论为有损数据压缩提供压缩效率的理论界限,例如:在特定的码率下能达到的最小失真;或者为了满足特定的失真限制,最小码率应该是多少。率失真理论根据信号保真度准则,通过为各种失真度量和信源模型定义率失真函数—R(D)R(D)R(D)。R(D)R(D)R(D)函数具有以下属性:

  • 对于给定的失真DDD,存在一种编码方案,对于该编码方案而言,其失真为DDD,其码率为R(D)R(D)R(D)。

  • 对于任何编码方案,R(D)R(D)R(D)代表可以达到DDD失真的最小码率。

  • R(D)R(D)R(D)是U型凸函数,并且是关于DDD的连续函数。

图2-27给出了典型的率失真函数的例子。对于无损压缩,其最小码率为D=0D=0D=0时的R值,该值可能等于或小于信源的熵值,具体的数值取决于失真度量。

图2-27. 率失真曲线的例子

R(D)R(D)R(D)范围取决于信源模型和失真度量。通常,编码器可以用更高的复杂度为代价实现接近R(D)R(D)R(D)的压缩效率。更好的编码器则使用较低的码率来获取可容忍的、较少的失真,但与其他编码器相比可能具有更高的复杂度。为了确定相对于R(D)R(D)R(D)的压缩效率,经常使用具有单位相关系数的二维高斯-马尔可夫源图像模型作为参考。然而,对于自然图像和视频,寻找良好的信源模型以及寻找与人类视觉系统相关的、良好的失真标准是一个热门的研究领域。

有损压缩

影响和区别压缩算法的因素有多个。在为特定的应用模型调整或选择压缩算法时,应认真分析这些因素。这些因素包括:

  • 对输入帧类型的敏感性:压缩算法对于输入帧的不同特征可能会具有不同的压缩效率。输入帧特征包括:动态范围,相机噪声,像素间像素相关性,分辨率等。

  • 目标码率:由于带宽的限制,某些应用程序需要保持一定的码率,但是如果需要,则会牺牲视觉质量以降低码率。压缩算法在率失真曲线上具有不同的最佳点,并且如果目标码率超出其最佳点则将导致较差的视觉质量。某些算法可能无法在低于特定的码率的情况下运行,例如,无论时空复杂度如何,用于HD分辨率的AVC算法必须使用不低于1.5 Mbps的带宽。对于30 FPS的1920×1080的视频,1.5 Mbps的码率的压缩率大约为500倍。

  • 恒定码率 vs 恒定质量:某些算法更适合无缓冲传输,因为它们以恒定的码率运行。但是,对于复杂的场景,可能需要以牺牲视觉质量为代价来维持码率。视频复杂度随场景的变化而变化,此时,恒定的码率会导致重建质量的变化。另一方面,某些算法会保持恒定的质量,码率则会发生变化,这需要在传输时保证足够的缓冲。

  • 编码器/解码器的不对称:某些算法(例如矢量量化方案)使用非常复杂的编码器,而解码器通过简单的表查找来实现。与矢量量化相比,其他方案(例如MPEG算法)需要更复杂的解码器,但其编码器则可以简化。但是,MPEG编码器通常比解码器复杂,因为MPEG编码器中还包含完整的解码器。取决于最终的用户平台,某些方案可能比其他方案更适合特定的应用程序。

  • 复杂性和可执行性:计算复杂性,内存需求以及对并行处理的开放性是压缩算法的硬件或软件实现的主要区别因素。尽管基于软件的实现能够更灵活地进行参数调整以获得最高的可实现质量,并且可以适应未来的变化,但是硬件实现通常会更快且还可以优化功耗。需要根据终端服务平台和应用模型做出适当的权衡。

  • 错误恢复能力:压缩数据容易受到信道错误的影响,但是不同的算法对这种信道错误的敏感性不尽相同。基于DCT的算法可能会因为信道错误而丢失一个或多个块,而带有可变长度代码的简单DPCM算法可能会丢失整帧数据。纠错码(error-correcting codes)可以以复杂性为代价来补偿某些错误,但是纠错码在出现突发错误时的效果并不理想。

  • 伪像:有损压缩算法通常会产生各种伪像。即使在相同的码率下,伪像的类型及其严重性也可能因算法而异。在视觉上,某些伪像可能比随机噪声或较柔和的图像更令人反感,例如可见的块边界,锯齿状的边缘,对象的振铃伪像等。而且,伪像还取决于视频内容的特性和观看条件。

  • 多代编码的效果:视频编辑等应用可能需要多代编码和解码,其中解码后的输出再次用作编码器的输入。编码器的输出是第二代压缩输出。某些应用程序支持此类的压缩。某些压缩算法则不适和多代压缩方案,并且对同一帧执行第二代编码后,通常会导致较差的视频质量。

  • 系统兼容性:并非所有标准都适用于所有系统。尽管标准化的目标之一是在整个行业中获得通用格式,但是某些厂商可能会仅强调某种压缩算法。尽管标准化成果通常认可诸如AVC和HEVC之类的格式,但是厂商可以选择推广类似的算法,例如VC-1,VP8或VP9。总体而言,这是一个更大的问题,涉及诸如蓝光( Blu-ray)与HD-DVD之类的技术定义。但是,在选择压缩方案时,必须考虑与目标生态系统的兼容。