在视频编码中用于改进的编码模式控制的方法、设备和模块的制作方法

文档序号:7638952阅读:115来源:国知局
专利名称:在视频编码中用于改进的编码模式控制的方法、设备和模块的制作方法
技术领域
本发明涉及数字视频处理领域。具体来说,本发明涉及视频编码。
背景技术
视频压缩标准在最近的几十年中已经获得发展,并且形成今天 的数字电视广播系统的实现技术。所有当前的视频压缩标准的焦点 都集中在比特流语法与语义以及解码过程上。也存在非规范性指导 文献, 一般被称为测试模型,该测试模型描述了编码器机制。它们 特别考虑了带宽要求和数据传输率要求。作为以前发展目标的存储和广播媒体包括诸如DVD (数字通用光盘)的数字存储媒体和诸如 数字卫星(例如,DVB-S:数字视频广播-卫星)、有线(例如, DVB-C:数字视频广播-有线)和陆地(例如,DVB-T:数字视频 广播-陆地)平台的电视广播系统。已经将努力集中在优化的带宽 使用上,特别是对于没有足够的可用无线电频谱的DVB-T标准。 然而,这些存储和广播媒体基本上保证充分的端到端服务质量。因 此,仅仅以较小的重要性来考虑服务质量方面。然而,近年来,诸如因特网的分组交换数据通信网络已经因传 输/广播当然包括数字视频序列的多媒体内容而获得日益增加的重 要性。原理上,分组交换数据通信网络要受到在数据通信中的受限 制的端到端的服务质量的影响,该服务质量基本包括为确保无错误 的数据通信必须处理的分组删除(packet erasure )、分组丟失和/或 比特差错。在分组交换网络中,数据分组可能由于在网络的中间节 点处的緩冲器溢出而被丢弃、可能由于传输延迟而丢失或者可能由 于在接收机侧的排队混乱而被拒绝。200680028296.1
权利要求书第2/ll页
起的失真的所述失真项包括偏差值和关于当前宏块的潜在错误传输 的概率值,所述偏差值从当前宏块和先前帧中适用于差错隐藏的同 位宏块获得。
7. 根据权利要求4所述的方法,其中,描述由于先前错误传输 的宏块而引起的失真的所述失真项包括为先前帧中潜在地错误地传 输的宏块估计的失真值和关于当前宏块的潜在地错误传输的概率值。
8. 根据权利要求5所述的方法,其中,描述由于差错传播而引 起的失真的所述失真项包括加权平均失真值,所述加权平均失真值
运动向量确定,其中,描述由于差错传播而引起的失真的所述失真 项另外包括关于当前宏块的不出现潜在错误传输的概率值。
9. 根据权利要求8所述的方法,其中,所述加权平均失真值从 所述参考宏块的失真值获得,所述失真值通过权重值被加权用于求 平均,所述权重值和所述参考宏块的区域成比例,所述区域作为参 考而被用于预测所述当前宏块。
10. 根据权利要求4所述的方法,其中,根据下列等式估计帧内 编码模式的所述失真值
(", /) = p. Z (,(", /) — ,(" — 1, /))2 + p.化("—1, /);
其中,p为分组丢失概率,n为帧编号,i为宏块编号,卢(",0为 在无差错传输的情况下重建的宏块。
11. 根据权利要求5所述的方法,其中,根据下列等式估计帧间
编码模式的所述失真值
D, (", /) = (1 — p). A ( e/, 0 + P. Z 0 — — U))2 + P Dc (" — 1, /);
其中,(1 —; 》万c("^,/)为由差错传播产生的额外项,万cOv,O
为所述当前宏块使用作为参考的所有宏块的加权平均信道失真。
12. 根据权利要求3所述的方法,其中,所述确定基本所有编码
模式的成本值包括对于每个编码模式,
3理想地,解码器将通知编码器再现图片中的损坏区域,以便允 许编码器只修复受影响的区域。然而,这需要反馈信道,而在许多 应用中没有反馈信道可用。在其他的应用中,该往返延迟太长以致 不能允许好的视频体验。因为受影响的区域(在与丢失相关的伪像 可见的地方)通常由于运动补偿而随着时间在空间上增长,长往返 延迟导致需要更多的修复数据,需要更多的修复数据继而导致更高 的(平均的和峰值的)带宽需求。因此,当往返延迟变得很大时, 基于反馈的机制变得更不具有吸引力。仅仅前传(forward-only)修复算法不依靠反馈消息,而是宁愿 只基于在编码器本地可用的知识在模式决策过程中选择要被修复 的区域。这些算法中, 一些算法通过在比特流中非预测地放置(帧 内)编码区域来修改模式决策过程,以便使得比特流更加鲁棒,即 使这些编码区域从速率失真模型的角度不是优化的。这类的模式决 策算法通常被称为帧内刷新。在大多数视频编解码器中,允许独立 模式决策的最小单元被称为宏块。选择用于帧内编码的各个宏块以 便优先地防止可能的传输差错的算法被称为帧内刷新算法。随机帧内刷新(RIR)和循环帧内刷新(CIR)是众所周知的方 法并且被广泛使用。在随机帧内刷新(RIR)中,帧内编码的宏块 从要被编码的图片的所有宏块中、或者从图片的有限序列中随机地 选择。依照循环帧内刷新(CIR),每个宏块以固定的周期根据固 定的"更新模式"而被帧内更新。两个算法都未考虑图片内容或者 比特流属性。由ISO/IEC JTC1/SG29开发来显示MPEG-4部分2标准的性能 的测试模型包括被称为自适应帧内刷新(AIR)的算法。自适应帧 内刷新(AIR)选择具有最大的绝对差总和(SAD)的那些宏块, 该误绝对差总和在参考图片緩冲器中空间上对应的、运动补偿的宏 块之间来计算。由联合视频组(JVT)开发来显示ITU-T建议H.264的性能的 测试模型包括高复杂度的宏块选择方法,该方法根据每个宏块的速率失真特征放置帧内宏块,该方法被称为丢失感知速率失真优化(LA-RDO)。丟失感知速率失真优化(LA-RDO)算法在编码器处 模拟多个解码器,并且每个模拟的解码器以给定的分组丢失率独立 地解码该宏块。为了得到更加准确的结果,如果发现宏块要丟失, 则模拟的解码器也应用差错隐藏。宏块的预期失真是在所有的模拟 解码器上的平均,并且这个平均失真被用于模式选择。丟失感知速 率失真优化(LA-RDO)通常给出了好的性能,但是它对于许多实 现都是不可行的,这是因为由于模拟潜在大量的解码器,编码器的 复杂度显著地增加。另 一 个具有高复杂度的方法被称为递归优化每像素估计 ROPE。如果宏块丟失,ROPE被认为可以非常准确地预测失真。然 而,和丢失感知速率失真优化(LA-RDO)相似,ROPE具有高的复 杂度,因为它需要在像素的级别上进行计算。发明内容本发明的一个目的是提供克服前述缺陷的概念。具体来说,本 发明的目的是提供通过视频序列的有利编码来改善数字压缩视频 序列的鲁棒性的概念。此外,在诸如优选带有图像/视频捕获能力的 移动电话的电池供电设备中,视频编码器在计算复杂度上具有非常 严格的限制。为了增强这些类型设备的终端用户体验,在视频编码 器中需要轻量(在计算周期和内存需求方面)然而有效的机制。通过如在所附权利要求中所限定的方法、计算机程序产品、设 备和系统来解决该目的。根据本发明的 一个方面,提供了 一种可与视频编码器一起应用 的自适应编码模式选择的方法。该视频编码器可以以多个用于视频 序列的宏块编码的编码模式进行操作。该自适应编码模式选择可应 用在宏块级上。视频序列意图优选地在易出差错的通信网络上传 输,优选在任何分组交换和/或电路交换网络上传输,但是并不限于 此。首先,依赖于可用的编码模式估计由于当前宏块的潜在错误传输而引起的预期失真值。该估计优选基于支持确定预期失真值的计 算来执行。基于该失真值和编码参数从多个编码模式中选择最终编 码模式。为每个编码模式估计失真值并且使一组编码参数和每个编 码模式关联。使用累积失真值更新通过视频序列中宏块的空间位置 而引用的表。该最终编码模式适用于宏块编码。根据本发明的 一 个实施例,在该表中维护的累积失真值通过与 选择的最终编码模式关联的预期失真值来更新。这意味着在每次编 码宏块时,更新表示抽象数字的累积失真值,所述抽象数字指示由 于传输差错而引起的预期失真。基于该表来维护该累积失真值。优 选地,该累积失真值初始为0。由于该表的功能性,它可以命名为 信道失真表,指示提供该表以用于维护上面定义的信道失真值。根据本发明的一个实施例,为每个编码模式确定成本值。特定 编码模式的每个成本值取决于该特定编码模式的失真值和该特定 编码模式的编码参数。基于成本值的比较从多个编码模式中选择最 终编码模式,所述每个成本值和多个编码模式的一个特定编码模式关联。特别地,为最终编码模式选择最小成本值。根据本发明的一个实施例,该多个编码模式至少包括"帧内" 编码模式。根据失真项来估计宏块的"帧内"编码模式的失真值。 该失真项以非限定方式包括第一项和第二项,该第一项描述由于差 错隐藏而引起的失真,该第二项描述由于先前错误传输的宏块而引 起的失真。根据本发明的一个实施例,该多个编码模式至少包括"帧间" 编码模式。根据失真项来估计宏块的"帧间"编码模式的失真值。 该失真项以非限定方式包括第一项、第二项和第三失真项,该第一 项描述由于差错隐藏而引起的失真,该第二项描述由于先前错误传 输的宏块而引起的失真,该第三失真项描述由于差错传播而引起的 失真。根据本发明的 一 个实施例,描述由于差错隐藏而引起的失真的 失真项包括偏差值。所述偏差值根据假定被错误地传输的宏块和在先前帧中的同位宏块获得,该同位宏块可适用于由于宏块错误传输 的假定而意图应用的差错隐藏。描述由于差错隐藏而引起的失真的 失真项另外包括关于当前宏块的潜在错误传输的概率值。特别地,通过关于错误传输的概率值来评价(rate)该偏差值。根据本发明的 一 个实施例,描述由于先前错误传输的宏块而引 起的失真的失真项包括已经为先前宏块估计的失真值。根据本发明 的任何实施例、特别是基于在这里描述的方法的实施例,来执行先 前宏块的失真值的估计。先前宏块的失真值描述因先前传输的潜在 错误宏块而产生的失真。描述由于先前错误传输的宏块而引起的失 真的失真项另外包括关于当前宏块的潜在错误传输的概率值。特别 地,通过关于错误传输的概率值来评价先前宏块的失真值。根据本发明的 一 个实施例,描述由于差错传播而引起的失真的 失真项包括加权平均失真值。该加权平均失真值可根据在先前帧中 的参考宏块的失真值来确定。该参考宏块可根据运动向量来确定并 且作为参考被用于预测宏块。描述由于差错传播而引起的失真的失 真项另外包括关于当前宏块的不出现潜在错误传输的概率值。特别 地,通过关于不出现潜在错误传输的概率值来评价描述由于差错传 播而引起的失真的失真项。应该注意到,关于当前宏块的潜在错误 传输的概率值和关于不出现潜在错误传输的概率值的和等于1 。根据本发明的 一 个实施例,加权平均失真值根据用作参考的宏 块的失真值来获得,该失真值通过权重值被加权以用于获得它们的 平均失真值。该权重值和参考宏块的区域成比例,该区域被用作当 前宏块的参考。简而言之,对于每个宏块位置,维护代表抽象表示的累积失真 值。该累积失真值指示"失真"并且在每次编码宏块时被更新。初 始时,该累积失真值优选为0。当以"帧间"编码模式来编码宏块 时,该累积失真值根据用于"帧间"编码模式的上述失真值而增加。 该失真值反映了在易出差错的条件下所讨论的宏块的附加失真(更 坏的质量)。当以"帧内"编码模式来编码宏块时,根据用于"帧内"编码模式的上述失真值来获得该失真。该失真值不包括由差错 传播产生的失真项。换句话说,对于"帧间"编码,由先前的(可 能丢失的)传输产生的质量恶化被累积。根据本发明的一个实施例,根据下列等式来估计"帧内编码"模式的失真值D:(",〖)=P. Z (,(", 0 - A" -1,0)2 + p.A (" -1, /); 其中,p为分组丢失概率,n为帧编号,i为宏块编号,,(",O为在 无差错传输的情况下重建的宏块。根据本发明的一个实施例,根据下面的等式估计"帧间"编码 模式的失真值(",0 = (l - P) .A ,Z) + P . Z (A",0 - A"- l, + , A ("- l,Z);其中,(1 —"'AOw,0为因差错传播产生的附加项,万c("^,/)为当前宏块用作参考的所有宏块的加权平均信道失真。根据本发明的 一个实施例,确定每个编码模式的成本值在于, 对于每个编码模式,确定由可应用在宏块上的量化操作而产生的量化失真值;提供与编码模式关联的拉各朗日参数和根据编码模式编码宏块所需要的比特数;以及依赖于该量化失真值、拉各朗日参数、比特数以及与编码模式关联的失真值确定成本值。根据本发明的 一 个实施例,根据下面的等式确定多个编码模式中的 一 个编码模式的成本值/,",/) + Dc(",/) + U.);其中,A(",O为由量化导致的失真值,Dc(",/)为根据一个编码模式确定的预期失真值,R为将被用于编码当前宏块的比特数,义m。de 为优选依赖于所述一个编码模式的拉各朗日参数。根据本发明的另一个方面,提供了包括在其上记录有程序代码 的计算机可读介质的计算机程序产品。该程序代码适用于可与视频 编码器一起应用的自适应编码模式选择,该视频编码器可以以多个 用于编码视频序列的当前宏块的编码模式进行操作。视频序列意图优选地在易出差错的通信网络上传输,优选在任何分组交换和/或电路交换网络上传输。该程序代码包括视频编码器;代码段,用于依赖于编码模式来估计由于当前宏块的潜在错误传输而引起的预期失真值;代码段,用于基于失真值和编码参数从多个编码模式中选择最终编码模式;表,其通过当前宏块所在的视频序列的空间位置而被引用,并使用累积失真值来更新;以及代码段,用于将最终 编码才莫式应用于编码当前宏块。根据本发明的 一 个实施例,通过预期失真值更新该累积失真值, 该预期失真值和选择的最终编码模式关联。这意味着在每次编码宏 块时,更新表示抽象数字的累积失真值,该抽象数字指示了由于传 输差错而引起的预期失真。基于该表来维护该累积失真值。优选地, 该累积失真值初始为0。根据本发明的一个实施例,另外提供了用于基于失真值和编码 参数确定每个编码模式的成本值的代码段。安排用于选择的代码段 以基于成本值的比较从多个编码模式中选择最终编码模式。根据本发明的一个实施例,该多个编码模式至少包括帧内编码 模式。提供了根据失真项来估计当前宏块帧内模式编码的失真值的 代码段。该失真项包括描述由于差错隐藏而引起的失真的项和描述 由于先前错误传输的宏块而引起的失真的项。根据本发明的一个实施例,该多个编码模式至少包括帧间编码 模式。提供了根据失真项来估计当前宏块帧内模式编码的失真值的 代码段。该失真项包括描述由于差错隐藏而引起的失真的项、描述 由于先前错误传输的宏块而引起的失真的项以及描述由于差错传 播而引起的失真的项。根据本发明的 一 个实施例,描述由于差错隐藏而引起的失真的 失真项包括偏差值。该偏差值根据当前宏块和在先前帧中的同位宏 块获得。在先前帧中的同位宏块意图在由于当前宏块的错误传输而 需要的差错隐藏情况下应用。该失真项另外包括关于当前宏块的错 误传输的概率值。根据本发明的一个实施例,描述由于先前错误传输的宏块而引 起的失真的失真项包括为在先前帧中已经潜在地被错误传输的宏 块而估计的失真值和关于当前宏块的错误传输的概率值。根据本发明的一个实施例,描述由于差错传播而引起的失真的 失真项包括加权平均失真值。该加权平均失真值可根据在先前帧中 的参考宏块的失真值确定。该参考宏块被用作参考并且可根据从运 动估计而获得运动向量确定。描述由于差错传播而引起的失真的失 真项另外包括关于当前宏块的不出现错误传输的概率值。根据本发明的 一个实施例,加权平均失真值根据参考宏块的失 真值获得,该失真值通过权重值被加权以求平均,该权重值和参考 宏块的区域成比例,该区域作为参考而被用于预测当前宏块。根据本发明的一个实施例,根据下列等式来估计"帧内编码"模式的失真值"(",o=p. ;e (,(", o—,(" - L o)2+p 化("—1, o;其中,p为分组丢失概率,n为帧编号,i为宏块编号,F(",0为在 无差错传输的情况下重建的宏块。根据本发明的一个实施例,根据下列等式估计"帧间"编码模 式的失真值《(",/) = (l — p) & ("re/, /) + p . z (,(", , ) - -1, /))2 + p.化("—U); 其中,G-p)'A(^v,0为因差错传播产生的附加项,万c("一/)为当前宏块使用作为参考的所有宏块的加权平均信道失真。根据本发明的一个实施例,对于每个编码模式,用于确定每个编码模式的成本值的代码段包括代码段,用于确定由可应用在当 前宏块上的量化操作而产生的量化失真值;代码段,用于提供和编 码模式关联的拉各朗日参数和根据编码模式编码当前宏块所需要 的比特数;以及代码段,用于依赖于量化失真值、拉各朗日参数、 比特数以及与编码模式关联的失真值确定述成本值。根据本发明的 一 个实施例,根据下面的等式确定多个编码模式200680028296.1
权利要求书第2/ll页
起的失真的所述失真项包括偏差值和关于当前宏块的潜在错误传输 的概率值,所述偏差值从当前宏块和先前帧中适用于差错隐藏的同 位宏块获得。
7. 根据权利要求4所述的方法,其中,描述由于先前错误传输 的宏块而引起的失真的所述失真项包括为先前帧中潜在地错误地传 输的宏块估计的失真值和关于当前宏块的潜在地错误传输的概率值。
8. 根据权利要求5所述的方法,其中,描述由于差错传播而引 起的失真的所述失真项包括加权平均失真值,所述加权平均失真值
运动向量确定,其中,描述由于差错传播而引起的失真的所述失真 项另外包括关于当前宏块的不出现潜在错误传输的概率值。
9. 根据权利要求8所述的方法,其中,所述加权平均失真值从 所述参考宏块的失真值获得,所述失真值通过权重值被加权用于求 平均,所述权重值和所述参考宏块的区域成比例,所述区域作为参 考而被用于预测所述当前宏块。
10. 根据权利要求4所述的方法,其中,根据下列等式估计帧内 编码模式的所述失真值
(", /) = p. Z (,(", /) — ,(" — 1, /))2 + p.化("—1, /);
其中,p为分组丢失概率,n为帧编号,i为宏块编号,卢(",0为 在无差错传输的情况下重建的宏块。
11. 根据权利要求5所述的方法,其中,根据下列等式估计帧间
编码模式的所述失真值
D, (", /) = (1 — p). A ( e/, 0 + P. Z 0 — — U))2 + P Dc (" — 1, /);
其中,(1 —; 》万c("^,/)为由差错传播产生的额外项,万cOv,O
为所述当前宏块使用作为参考的所有宏块的加权平均信道失真。
12. 根据权利要求3所述的方法,其中,所述确定基本所有编码
模式的成本值包括对于每个编码模式,
3由于先前错误传输的宏块而引起的失真和由于差错传播而引起的 失真的失真项,来估计当前宏块的帧内模式编码的失真值。根据本发明的 一 个实施例,描述由于差错隐藏而引起的失真的 失真项包括偏差值和关于宏块的错误传输的概率值,该偏差值根据 当前宏块和可适用差错隐藏的先前帧中的同位宏块获得。根据本发明的 一 个实施例,描述由于先前错误传输的宏块而引 起的失真的失真项包括为在先前帧中潜在地被错误传输的宏块而 估计的失真值和关于该宏块的错误传输的概率值。根据本发明的一个实施例,描述由于差错传播而引起的失真的 失真项包括加权平均失真值,该加权平均失真值可以根据先前帧中描述由于差错传播而引起的失真的失真项另外包括关于该宏块的 不出现错误传输的概率值。根据本发明的 一 个实施例,加权平均失真值根据参考宏块的失 真值获得。该失真值通过纟又重值被加一又以求平均,该权重值和该参 考宏块的区域成比例,该区域作为参考被用于预测该当前宏块。根据本发明的 一 个实施例,该失真估计器被安排用于根据下列等式估计帧内编码模式的失真值(",o , i: /) -,(" -1, o)2+, a (" -1, o;其中,p为分组丟失概率,n为帧编号,i为宏块编号,F(",0为在 无差错传输的情况下重建的宏块。根据本发明的一个实施例,该失真估计器被安排用于根据下列 等式估计帧间编码模式的失真值(", /) = (1 - /7) . A ,,■) + p . J](戶(",/) - ,(" - 1, /))2 + /7 .化("_ 1, /)其中,(1 —户)'化(""/,0为因差错传播产生的附加项,万c("^,/)为当前宏块用作参考的所有宏块的加权平均信道失真。根据本发明的一个实施例,对于每个编码模式,被安排用于确定每个编码模式的成本值的成本计算器还被安排用于确定由应用200680028296.1说明书第10/29页中的一个编码模式的成本值J,",/) + Z)c(",/) + U.);其中,DJ",/)为由量化导致的失真值,Dc(",O为根据一个编码模式确定的预期失真值,R为将被用于编码当前宏块的比特数,Am。de为优选依赖于所述一个编码模式的拉各朗日参数。根据本发明的另 一个方面,提供了安排用于自适应编码模式选择的视频编码器。该视频编码器可以以多个用于编码视频序列的当前宏块的编码模式进行操作。该视频序列意图优选在易出差错的通信网络上传输,优选在任何分组交换和/或电路交换网络上传输。失真估计器,被安排用于依赖于编码模式来估计由于当前宏块的潜在错误传输而引起的预期失真值。决策模块,被安排用于基于失真值 和编码参数从多个编码模式中选择最终编码模式。进一步地,还包括表,该表通过视频序列中当前编码的宏块的空间位置而被引用, 并且使用累积失真值来更新。视频编码器被安排用于将最终编码模 式应用于编码当前宏块。根据本发明的一个实施例,累积失真值通过与选择的最终编码 模式关联的预期失真值来更新。这意味着在每次编码宏块时,更新 表示抽象数字的累积失真值,该抽象数字指示了由于传输差错而引 起的预期失真。基于该表维护该累积失真值。优选地,该累积失真4直初始为0。根据本发明的一个实施例,成本计算器被安排用于基于该失真 值和编码参数确定每个编码模式的成本值。决策模块被安排用于基 于成本值的比较从多个编码模式中选择最终编码模式。根据本发明的一个实施例,多个编码模式至少包括帧内编码模 式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真和 由于先前错误传输的宏块而引起的失真的失真项,来估计当前宏块 的帧内模式编码的失真值。根据本发明的 一 个实施例,多个编码模式至少包括帧间编码模 式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真、22式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真和 由于先前错误传输的宏块而引起的失真的失真项,来估计当前宏块 的帧内模式编码的失真值。根据本发明的一个实施例,多个编码模式至少包括帧间编码模 式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真、 由于先前错误传输的宏块而引起的失真和由于差错传播而引起的 失真的失真项,来估计当前宏块的帧内模式编码的失真值。根据本发明的 一 个实施例,描述由于差错隐藏而引起的失真的 失真项包括偏差值和关于宏块的错误传输的概率值,该偏差值根据 当前宏块和可适用差错隐藏的先前帧中的同位宏块获得。根据本发明的 一 个实施例,描述由于先前错误传输的宏块而引 起的失真的失真项包括为在先前帧中潜在地被错误地传输的宏块 估计的失真值和关于该宏块的错误传输的概率值。根据本发明的 一 个实施例,描述由于差错传播而引起的失真的 失真项包括加权平均失真值,该加权平均失真值可以根据在先前帧 中被用作参考的参考宏块的失真值确定以及可以根据运动向量确 定。描述由于差错传播而引起的失真的失真项另外包括关于该宏块 的不出现错误传输的概率值。根据本发明的 一 个实施例,加权平均失真值根据参考宏块的失 真值获得。该失真值通过权重值被加权以求平均,该权重值和该参 考宏块的区域成比例,该区域作为参考被用于预测该当前宏块。根据本发明的一个实施例,失真估计器被安排用于估计帧内编 码模式的失真值,该估计可以根据下列等式来实现<formula>formula see original document page 25</formula>其中,p为分组丢失概率,n为帧编号,i为宏块编号,,(",/)为在 无差错传输的情况下重建的宏块。根据本发明的 一个实施例,该失真估计器被安排用于估计帧间 编码模式的失真值,该估计能够根据下列等式来实现<formula>formula see original document page 26</formula> ;其中,G —W'AOw,0为因差错传播产生的附加项,^c("w/,0为当前宏块使用作为参考的所有宏块的加权平均信道失真。根据本发明的一个实施例,对于每个编码模式,被安排用于确定每个编码模式的成本值的成本计算器还被安排用于确定由可应 用在当前宏块上的量化操作产生的量化失真值;提供与该编码模式 关联的拉各朗日参数和根据该编码模式编码当前宏块所需要的比 特数;以及依赖于该量化失真值、拉各朗日参数、比特数以及与该 编码才莫式关联的失真值确定该成本值。根据本发明的 一个实施例,成本计算器被安排用于根据下面的 等式确定多个编码模式中的 一 个编码模式的成本值其中,A(",O为由量化导致的失真值,Dc(",/)为根据一个编码模式确定的预期失真值,R为将被用于编码当前宏块的比特数,Am。de 为优选依赖于所述一个编码模式的拉各朗日参数。根据本发明的另 一个方面,提供了支持可与视频编码器一起操 作的自适应编码模式选择的系统。该视频编码器可以以多个用于编 码视频序列的当前宏块的编码模式进行操作。该视频序列意图优选 在易出差错的通信网络上传输,优选在任何分组交换和/或电路交换 网络上传输。失真估计器被安排用于依赖于编码模式来估计由于当 前宏块的潜在错误传输而引起的预期失真值。决策模块被安排用于 基于失真值和编码参数从多个编码模式中选择最终编码模式。进一 步地,还包括表,该表通过视频序列中宏块的空间位置而被引用, 并且使用累积失真值来更新。该视频编码器被安排用于将最终编码才莫式应用于编码当前宏块。根据本发明的 一 个实施例,通过和选择的最终编码模式关联的 预期失真值来更新累积失真值,该累积失真值通过表分别进行存储 和维护。这意味着在每次编码宏块时,更新表示抽象数字的累积失真值,该抽象数字指示由于传输差错而引起的预期失真。基于该表 维护该累积失真值。优选地,该累积失真值初始为0。根据本发明的 一 个实施例,成本计算器被安排用于基于该失真 值和编码参数确定每个编码模式的成本值。决策模块被安排用于基 于成本值的比较从多个编码模式中选择最终编码模式。根据本发明的一个实施例,多个编码模式至少包括帧内编码模 式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真和 由于先前错误传输的宏块而引起的失真的失真项,来估计当前宏块 的帧内模式编码的失真值。根据本发明的 一 个实施例,多个编码模式至少包括帧间编码模 式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真、 由于先前错误传输的宏块而引起的失真和由于差错传播而引起的 失真的失真项,来估计当前宏块的帧内模式编码的失真值。根据本发明的另一个方面,提供一种模块,优选地提供控制模 块,其被安排用于支持视频编码器的自适应编码模式选择。该视频 编码器可以以多个用于编码— 见频序列的当前宏块的编码才莫式进行 操作操作。该视频序列意图优选在易出差错的通信网络上传输,优 选在任何分组交换和/或电路交换网络上传输。失真估计器被安排用 于依赖于编码模式来估计由于当前宏块的潜在错误传输而引起的 预期失真值。决策模块被安排用于基于失真值和编码参数从多个编 码模式中选择最终编码模式。进一步地,还包括表,该表通过视频 序列中宏块的空间位置而被引用,并且使用累积失真值来更新。该 模块被安排用于指示视频编码器将最终编码模式应用于编码当前 宏块。优选地,上述的模块以及控制模块可以连接到视频编码器的编 码器控制器的 一部分,或者在视频编码器的编码器控制器内被实 现。通常,由编码器控制器有利地控制视频编码器的操作,该编码 器控制器连接到所述模块和需要操作控制的视频编码器的部件。该 控制模块以及编码器控制器编码器控制器分别适用于指示所述模块和视频编码器的部件来执行如上所述的输入视频信号的编码。根据本发明的 一 个实施例,通过和选择的最终编码模式关联的 预期失真值来更新累积失真值,该累积失真值通过表分别进行存储 和维护。这意味着在每次编码宏块时,更新表示抽象数字的累积失 真值,该抽象数字指示由于传输差错而引起的预期失真。基于该表 维护该累积失真值。优选地,该累积失真值初始为0。根据本发明的 一 个实施例,成本计算器被安排用于基于该失真 值和编码参数确定每个编码模式的成本值。决策模块被安排用于基 于成本值的比较从多个编码模式中选择最终编码模式。根据本发明的一个实施例,多个编码模式至少包括帧内编码模 式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真和 由于先前错误传输的宏块而引起的失真的失真项,来估计当前宏块 的帧内模式编码的失真值。根据本发明的 一个实施例,多个编码模式至少包括帧间编码模 式。失真估计器被安排用于根据描述由于差错隐藏而引起的失真、 由于先前错误传输的宏块而引起的失真和由于差错传播而引起的 失真的失真项,来估计当前宏块的帧内模式编码的失真值。


现在将参考附图来说明本发明的优选实施例,在附图中 图1示出了示意性图示根据本发明实施例的系统环境的框图; 图2示出了示意性图示根据本发明实施例的处理设备的框图; 图3示出了示意性图示根据本发明实施例的视频编码器的框图;图4示出了示意性图示根据本发明实施例的操作序列的流程图;图5示意性示出了根据本发明实施例的信道失真估计;以及 图6示出了示意性图示根据本发明实施例的支持图4的操作序 列的部件的框图。
具体实施方式
通过结合附图进行的下面详细描述,根据本发明的各方面的特 征和优势将变得明显。应当注意,在整个附图中,相同部件以及相 似的部件用相同的标号指示。如前所述,为了简单起见,下面给出 的实施例的描述集中在分组交换易删除通信。但是,本领域的技术 人员基于该描述将理解,本发明的构思不限于分组交换通信,本发 明构思适用于任何种类的通信,特别包括电路交换和/或分组交换通 信。图1的框示了电子设备100的原理性结构部件,该电子设 备100应该示范性地表示可与本发明 一起使用的任何种类的处理设 备。电子设备IOO可以优选是任何固定式或者便携式电子设备。应 该理解,本发明既不限于图示的电子设备100,也不限于任何其他特定种类的处理设备。图示的电子设备100示范性地被实施为支持蜂窝通信的用户终 端。特别地,电子设备IOO具体化为基于处理器或者基于微控制器 的设备,该设备包括相应的中央处理单元(CPU)和移动处理单 元(MPU)100;数据和应用存储器120;蜂窝通信装置,包括具有 射频天线(简略示出)的蜂窝射频接口 (I/F) 170和订户识别模块(SIM ) 160;用户接口输入/输出装置,通常包括音频输入/输出(I/O ) 装置140(通常为麦克风和扬声器)、按键、具有键输入控制器(Ctrl) 130的键盘和/或小键盘以及具有显示控制器(Ctrl) 150的显示器;(本地)无线数据接口 (I/F) 180;以及通用数据接口 (I/F) 185。 进一步地,电子设备100还包括视频编码器模块200和视频解码器 模块210,该视频编码器模块200能够根据一个或者多个视频编解 码器来编码/压缩视频输入信号以获得压缩的数字视频序列(和例如 还有数字图片),并且特别地可与提供视频输入信号的图像捕获模 块220 —起操作,该视频解码器模块210能够根据一个或者多个视 频编解码器来编码压缩的数字视频序列(和例如还有数字图片)。电子设备100的操作通常由中央处理单元(CPU) /移动处理单 元(MPU) 110基于操作系统或者基本控制应用来控制,该操作系 统或基本控制应用通过将电子设备100的函数、特征和功能性的用 法提供给电子设备的用户来控制电子设备100的函数、特征和功能 性。显示器和显示控制器(Ctrl) 150通常由处理单元(CPU/MPU) 110来控制并且为用户提供信息,该信息特别包括允许用户利用电 子设备100的函数、特征和功能性的(图形)用户界面(UI)。该 小键盘和小键盘控制器(Ctrl) 130被提供来支持用户输入信息。经 由小键盘输入的信息常规地由小键盘控制器(Ctrl)提供给处理单 元(CPU/MPU ) 110,可以根据输入信息命令和/或控制处理单元110。 音频输入/输出(I/O)装置140至少包括用于再现音频信号的扬声 器和用于记录音频信号的麦克风。处理单元(CPU/MPU) 110能够 控制音频数据至音频输出信号的转换和音频输入信号至音频数据 的转换,其中,例如音频数据具有合适的格式以用于传输和存储。 数字音频至音频信号的音频信号转换和反向转换常规地由例如基 于数字信号处理器(DSP,未示出)实现的数模和模数电路所支持。根据在图1中图示的特定实施例的电子设备100包括耦合到射 频天线(未示出)的蜂窝接口 (I/F) 170,并且可与订户识别模块 (SIM) 160 —起操作。蜂窝接口 (I/F) 170被安排作为蜂窝收发机, 以从蜂窝天线接收信号、解码该信号、解调该信号并且还将它们降 低到基带频率。蜂窝接口 (I/F) 170提供空中接口,该空中接口和 订户识别模块(SIM) 160 —起服务于和公用陆地移动网络(PLMN ) 的无线接入网络(RAN)的相应基站(BS)的蜂窝通信。因此蜂窝接口 (I/F) 170的输出由可能需要处理单元 (CPU/MPU ) 110的进一步处理的数据流组成。被安排作为蜂窝收 发机的蜂窝接口 (I/F) 170还适用于接收来自处理单元(CPU/MPU) 110的数据,该数据将经由空中接口被传输到无线接入网络(RAN) 的基站(BS)。因此,蜂窝接口 (I/F) 170对体现信号的数据进行 编码、调制并将其上变频(up convert)为射频,射频将用于空中接口传输。然后电子设备100的天线(未示出)将所得的射频信号传输到公用陆地移动网络(PLMN)的无线接入网络(RAN)的相应 基站(BS)。蜂窝接口 (I/F) 170优选支持第二代数字蜂窝网络, 诸如可以支持GPRS (通用分组无线业务)和/或EDGE (增强型数 据GSM演进)的GSM (全球移动通信系统)、UMTS (通用移动 通信系统)和/或任何与蜂窝电话标准相似或者相关的标准。示范性地描绘了无线数据接口 (I/F) 180,并且应该将其理解 为表示一个或者多个无线网络接口 ,该一个或多个无线网络接口可 以除了示范性电子设备100中实现的上述蜂窝接口 (I/F) 170之外 或者作为其替代来提供。现在可以利用大量的无线网络通信标准。例如,电子设备IOO可以包括一个或者多个无线网络接口,该一个 或者多个无线网络接口依照任何IEEE 802.xx标准、Wi-Fi标准、任 何蓝牙标准(1.0、 1.1、 1.2、 2.0 ER) 、 ZigBee (用于无线个人区域 网(WPAN))、红外数据访问(IRDA)、任何其他的目前可用的 标准和/或诸如UWB (超宽带)的任何未来无线数据通信标准来操 作。此外,示范性地描绘了通用数据接口 U/F) 185,并且应该将 其理解为表示一个或者多个特别包括有在示范性电子设备100中实 现的网络接口的数据接口 。这种网络接口可以支持基于有线的网 络,诸如以太网LAN (局域网)、PSTN 。>共交换电话网)、DSL (数字用户线路)和/或其他的目前可用的标准和将来的标准。通用 数据接口 (I/F) 185也可以表示任何数据接口 ,包括任何专用串行/ 并行接口、通用串行总线(USB)接口 、火线接口 (根据任何IEEE 1394/1394a/1394b等标准)、包括遵循ATAPI (先进技术扩展分组 接口 )的总线的存储器总线接口、 MMC(多媒体卡)接口、 SD(安 全数据)卡接口等等。在图1中图示的部件或者模块可以以分离的、单独的模块或者 任何它们的组合纟皮集成到电子设备100中。优选地,电子i殳备100 的一个或者多个部件和模块可以与处理单元(CPU/MPU)集成,形成片上系统(SoC)。这种片上系统(SoC)优选地将计算机系统的 所有部件集成为单个芯片。SoC可以包含数字、模拟、混合信号功 能,并且也经常包括射频功能。典型的应用是在嵌入式系统和便携 式系统的领域中,这些系统特别受限于尺寸和功率消耗约束。尽管 如此,应该注意,SoC设计并不限于这种嵌入式或者便携式系统, 而是也能应用于实现固定系统。这种典型的SoC由多个执行不同任 务的集成电路组成。这些集成电路可以包括一个或者多个部件,所 述部件包括微处理器(CPU/MPU)、存储器(RAM:随机存取存 储器,ROM:只读存储器)、 一个或者多个UART (通用异步接收 器-发送器)、 一个或者多个串行/并行/网络端口 、 DMA(直接存 储器存取)控制器芯片、GPU(图形处理单元)、DSP(数字信号 处理器)等。最近半导体技术的进步已经允许VLSI(超大规模集成) 集成电路在复杂度上提高,使在单个芯片上集成系统的所有部件成 为可能。视频编码器适用于接收视频输入信号并且编码其数字视频序 列,该数字视频序列可以被存储、经由任何数据通信接口传输和/ 或通过视频解码器210再现。视频编码器200可以和任何纟见频编解 码器一起操作。视频输入信号可以由电子设备100的图像捕获模块 220提供。图像捕获模块220可以被实现到电子设备100中或者可 分离地连接到电子设备100。视频编码器200的说明性的实现将在 下面参考图3来描述。将会参考该说明性的实现。图像捕获模块220优选为用于记录图像的传感器。通常这种图 像捕获模块220由包含链接的、或者耦合的电容器阵列的集成电路 (IC)组成。在外部电路的控制下,每个电容器能够将它的电荷传 输到其相邻电容器中的某一个。这种包含链接的或者耦合的电容器 阵列的集成电路作为电荷耦合器件(CCD)为本领域的技术人员所 公知。也可以使用其他图像捕获技术。视频解码器210适用于接收数字化编码/压缩的视频序列,该视 频序列优选地;陂划分为多个一见频数据分组,该一见频数据分组在基于分组的数据通信网络上经由电子设备100的蜂窝接口 170、无线接 口 (I/F) 180、任何其他数据接口接收,或者从连接到电子设备100 的数据存储器中接收。视频解码器210可与任何视频编解码器一起 操作。视频数据分组由视频解码器来解码,并且优选地被输出,以 便经由显示控制器和显示器150显示给电子设备100的用户。关于 视频解码器210的功能和实现的细节不在本发明的范围之内。典型的可选电子设备可以包括个人数字助理(PDA)、手提计 算机、笔记本、所谓的智能手机(具有改进的计算和存储能力,允 许执行一个或者多个高级且复杂的应用的蜂窝电话),这些设备配 备有通常支持分组交换数据网络上的数据通信的一个或者多个网 络接口。这种通常基于微处理器的、能够进行包括编码多媒体内容 在内的多媒体内容处理的设备的实现在本领域中是众所周知的。本领域的技术人员将理解,本发明不限于任何特定的支持电子 处理的设备,该特定的支持电子处理的设备仅仅表示能够执行本发 明的发明构思的一种可能的支持处理设备。应该理解,发明构思涉 及视频编码器200的有利实现,该视频编码器200能够在包括如上 所述的电子设备、个人计算机(PC)、消费电子(CE)设备、服务 器等等的任何处理使能设备上实现。参考图2,通过框示了示范性传输机-网络-接收机的布 置。应该注意,该框图分别包括在传输机侧和接收机侧的模块和/ 或功能,这些模块和/或功能被示范性地示出,以说明其中可操作本 发明的实施例的典型系统环境。传输机侧和接收机侧的实现并非是 完全的。在也被称为服务器侧的传输机侧,提供了数字化编码/压缩 的视频序列的视频分组。视频分组要被传输到接收机侧,也被称为 客户端侧。视频分组的传输可利用优选为分组交换网络的数据通信 网络500来操作。要被传输的视频分组源自视频编码器200,视频 编码器200接收视频输入信号并且处理该视频输入信号,从而产生 数字化编码/压缩的视频序列。在服务器侧,在经由优选包括UDP (通用数据报协议)接口 256的网络接口 255传输之前,可以将该数字化编码/压缩的视频序列存储在数据库250中。在客户端侧,优选包括对应UDP接口 266的对应网络接口 265 被安排用来接收由传输机/服务器传输的数字化编码/压缩的视频序 列的视频分组。接收的视频分组通常被转发到緩沖存储器269,其 将所接收的视频分组放到序列中。然后,视频分组被提供给视频解 码器210,用于根据视频分组来(在显示器上)再现视频序列。网络500优选为易删除的网络,诸如因特网或者公用陆地移动 网络(PLMN )。如前所述,视频解码器210理想地将通知视频编码器200再现 的图片中损坏的的区域,以便允许编码器只修复受影响的区域。然 而,这需要反馈信道。这种反馈机制通过在客户端侧的反馈模块268 和QoS (服务质量)模块267和在服务器侧的QoS模块257简要示 出。在许多应用中,不能利用这种反馈机制。在另外的应用中,往 返延迟太长以至不能得到好的视频体验。因为受影响的区域(丢失 相关的伪像可见的地方)通常由于运动补偿而随时间在空间上生 长,所以长往返延迟导致需要更多的修复数据,而更多的修复数据 反过来导致更高的(平均和峰值)带宽需求。因此,当往返延迟变 大时,基于反馈的机制变得更缺乏吸引力。图3示意性地图示了根据本发明实施例的视频编码器的基本框 图。在图3中示出的说明性视频编码器描绘了使用时间和空间预测 进行视频编码的混合解码器。通常不使用除了包含在第 一 帧内的信息之外的任何信息来编码 视频序列的第一帧或者随机接入点。这种类型的编码被称为"帧内" 编码,即,通常对第一帧进行"帧内"编码。通常使用"帧间"编 码来编码视频序列的剩余图片或者在视频序列的随机接入点之间 的图片。"帧间"编码使用了根据其他先前解码的图片的预测(特 别是运动补偿预测)。用于"帧间"预测或者运动估计的编码过程 基于选择运动数据,该运动数据包含参考图片和应用到块的所有样 本的空间位移。作为辅助信,t被传输的运动数据供编码器和解码器使用,以同时提供"帧间"预测信号。对预测("帧内"或者"帧间")的残差(residual)进行变换, 该残差为原始的块和被预测的块之间的差异。变换系数被缩放和量 化。由视频编码器200的部件410执行该变换、缩放和量化。量化 的变换系数通过^L频编码器200的部件44(H皮熵编码,并且和用于 "帧内"帧或"帧间"帧预测的辅助信息一起被传输。编码器包括 用以进行后续块或者下一图片的预测的解码器。因此,在解码器侧 通过相同的方式通过去量化、缩放和逆变换部件420来对该量化的 变换系数进行反缩放和逆变换,产生解码的预测残差。解码的预测 残差被加到预测中。该相加的结果被馈送到解块滤波器部件421, 解块滤波器部件421将解码的视频作为它的输出来提供,解码的视 频被存储在帧(延迟)緩沖器422中,该帧(延迟)緩沖器422支 持分别通过视频编码器200的部件430和视频编码器200的解码器 部分的424进行的运动估计和运动补偿。输入视频信号以图片的状态被提供给编码器输入。视频序列的 图片可以是帧或者场(field)。每个图片被分为每个具有预定的固 定尺寸的宏块。每个宏块覆盖图片的长方形区域。优选地,典型的 宏块具有亮度Uuma)分量为16x16样本M象素和两个色度分量中每 个为8x8样本/像素的区域。对宏块的亮度和色度样本在空间上或者 在时间上进行预测,并且所得的预测残差使用变换编码来传输。因 此,预测残差的每个颜色分量被再划分为块,并且使用诸如可分整 数变换或者离散余弦变换(DCT)的整数变换对每个块进行变换, 并且通过变换、缩放和量化部件410来量化该变换系数。此后,使 用诸如熵编码部件440的任何熵编码方法来传输该量化的变换系 数。宏块可以进一步结构化为片(slice),片表示能够被独立地解 码的给定图片的子集。在I片中,所有的宏块不使用除了这个图片 中包含的信息之外的任何其他信息而被编码。在P和B片中,使用 在先编码的图片的信息来形成用于预测编码的P和B片的宏块的预测信号。每个宏块能够根据片编码类型以一个或者多个编码类型来 传输。可以参照在先编码的块的相邻样本,在变换域中或者空间域 中进行预测。除了 "帧内"编码外,还可以为P类型的宏块指定各种预测或 者运动补偿的编码类型。每个P类型宏块对应于一种特定的分割, 该分割将宏块分割为用于运动描述的固定尺寸块。通过移位对应参考图片的区域来获得用于每个预测编码的mxn块的预测信号,该对应参考图片由平移运动向量和图片参考索引所指定。运动向量分量 通常使用根据相邻块的中值或者方向性预测而被差分编码。可以使 用多于 一 个在先编码的图片作为运动补偿预测的参考。视频编码器220必须在帧(延迟)緩冲器422中存储用于图片 间预测的参考图片。根据参考图片緩沖类型和输出视频比特流中指 定的任何存储器管理控制操作,用于接收视频解码器220的输出比 特流的视频解码器复制编码器的多图片緩冲器。除了 P片宏块,B片宏块也可以用于"帧间"编码。B片和P 片之间的基本差异在于B片以这样的方式来编码在该方式中,一于建立预测信号。通常,B片利用两个不同的参考图片緩沖器,这 两个緩冲器分别被称为第一和第二参考图片緩沖器(未示出)。在 每个参考图片緩冲器中实际定位那些图片是緩冲器控制的问题。基于块的编码的 一 个特殊的特征是当解码时成块伪像结构的出 现。被安排在视频编码器220的解码器环路中的解块滤波器421被 用来减少这种成块伪像。由编码器控制器405控制视频编码器200的操作,该编码器控 制器405连接到需要操作控制的模块。编码器控制器405指示模块 来执行如上所述的输入视频信号的编码。应该注意到,以举例的方式描述了一见频编码器200。本发明不 限于任何特定的视频编码器,并且视频编码器的具体建立不在本发 明的范围之内。参考图4,图示了根据本发明实施例的算法的一般流程图。 在编码时且没有使用反馈信道的情况下,模式决策过程不知道 由于先前的传输差错而可能被破坏的区域。因此,模式决策过程必 须预测信道失真的影响并且通过选择"合适的"宏块用于帧内编码 来相应地动作。通常来说,编码器应该放置帧内宏块,以便最小化 差错传播。针对每个宏块来进行在图4中以举例的方式示出的操作,以便 决定编码该宏块的编码模式。要被使用的编码模式的决策基于成本 决定,以^更选4奪该编码才莫式。所有的(可能的和/或期望的)用于编码的候选模式都被处理。 在操作S100中,开始根据本发明实施例的用于选择编码模式的 操作序列。在操作S110中,执行对于每个"帧间"和"帧内"的编码模式 的运动估计和"帧内"预测。如果候选模式是"帧内"编码,则估计由可能的分组产生的重 建宏块的失真。在下面将更详细地描述失真的确定。如果候选模式是"帧间"编码,则执行运动估计。通过使用在 运动估计过程中已经发现的运动向量,通过考虑差错传播特征来估 计宏块的失真。在下面将更详细地描述失真的确定。计算每个模式的成本。该成本特别考虑了进行编码需要的比特 数、信道失真、和由量化导致的失真。基于计算出的成本,选择给 出最小成本的候选模式用于编码。在操作S115,存储被确定产生最 小成本的成本、信道失真和/或属于最小成本的对应模式。在操作S120,检查是否应该考虑更多的候选模式。如果有更多的候选模式,则在操作S130针对每个候选模式估计 宏块的信道失真,并且在操作S140计算候选模式的成本。基于该 计算出的成本和存储的成本选择用于编码的候选模式,优选给出最 小成本的模式。在操作S150,存储被确定产生最小成本的成本、信 道失真、和/或属于该最小成本的对应模式。操作序列返回操作S120以继续。否则,在操作S155,检索最终编码模式。该最终编码模式是由于计算出最小成本而已经被存储的那个编码模式。将信道失真Dc存储在信道失真表中。在操作S160,使用最终编码模式(对应于具有最小成本的编码 模式)来编码该宏块。在操作S170,完成根据本发明实施例的用于选择编码模式的操 作序列。宏块的信道失真指的是由在传输过程中可能的数据丢失而导致 的失真。因为,假定不存在反馈信道来准确地通知编码器数据丟失, 所以应该估计信道失真。根据本发明的一个实施例,为每个宏块分 别地估计信道失真。为宏块的每个候选模式估计信道失真。对于"帧 内"和"帧间"编码模式,该估计不同,"帧间"编码模式根据先 前的帧来预测该宏块,而"帧内"编码模式不利用这种预测。对于"帧内,,编码模式,信道失真可能由由于差错隐藏而引起 的失真和由于先前的错误宏块而引起的失真而导致。根据本发明的 实施例,并且参考差错隐藏,假定在丢失宏块的情况下,解码器拷 贝在先前帧中的同位宏块来隐藏该差错。对于本领域技术人员明显 的是,也可以使用其他的隐藏机制,要进行深度讨论请参考提到的 WANG和Wenger的论文。参考错误宏块,由于先前4晉误宏块而引 起的失真随着差错隐藏被带到了当前帧。通过考虑这两个信道失真源,对于"帧内"编码模式的信道失 真#皮估计为<formula>formula see original document page 38</formula>其中,p为分组丢失概率,n为帧编号, i为宏块编号,卢(",/)为在无差错传输的情况下重建的宏块。参考等式(1),应该假定,在丟失宏块的情况下,解码器将先前的同位宏块拷贝到当前帧。尽管,通过模拟已经发现即使对于更 加先进的差错隐藏技术这个假定也是有效的,但本领域的技术人员 将理解对于不同的隐藏技术可以修改等式(1)。对于"帧间,,编码模式,信道失真具有额外的项以使得能够将 差错传播考虑进去。因为"帧间"编码的宏块根据先前的帧(参见 上文)被预测,"帧间"宏块可能传播差错到当前帧,即使该当前 帧由解码器正确地接收。通过考虑这个额外的项,对于"帧间"编码模式的信道失真被估计为<formula>formula see original document page 39</formula>; 其中,<formula>formula see original document page 39</formula>是由差错传播产生的额外的项, 万c , 0是当前宏块用作参考的所有宏块的加权平均信道失真。每个参考宏块的权重和被用作参考的区域成比例。图5示出如 何计算万<formula>formula see original document page 39</formula>加权平均信道失真)的例子。参考图5,图示了在先前帧中四个宏块的信道失真的加权平均。使用在运功估计过程中发现的运动向量(MV)计算这些宏块和它们各自的权重。在这 个例子中,在图片n-l (i=l或者宏块1 )中MBi具有最大权重,而 MB3 (〖=3或者宏块3)具有最小权重。对于一些应用,无论每个模式的成本怎样,可能期望的是"强 迫"宏块的编码模式为"帧内"。 一个需要这种强迫的例子是遵守 ITU-T建议H.263基准,根据该基准在每个宏块使用现在的系数以 帧间模式被编码132次之后最近的必须以帧内模式被编码。根据本 发明,可以通过将"帧间"模式的成本设置为比最大可能成本更大 的预定值来实现该强迫。对于每个候选模式,计算包含估计信道失真的成本,并且选择具有最小成本的模式。使用下面的等式计算每个模式的成本<formula>formula see original document page 39</formula>其中,<formula>formula see original document page 39</formula>为由量化导致的失真,R为将被用来编码该宏块的比特数, 《。de为拉各朗日参数。 应该注意,对于将不用作随后帧的参考的帧,De给出为0。这 是因为在非参考图片中的差错不传播。应该注意,根据本发明实施例的上述计算和决策操作可与在图3中示出的编码器控制器405 —起操作,该编码器控制器405控制 视频编码器200的操作。参考图6,示范性地图示了根据本发明实施例的支持上述计算 和决策操作的部件。本发明一般涉及模式模式决策算法,该算法支 持以带宽为代价在单个图片中选择要被帧内编码(而不是易受错误 传输影响的帧间编码,其中要注意的是帧间编码节省带宽)的宏块, 以便增加易出差错的条件下的再现视频质量。简而言之,该发明构 思的主要方面和它的算法包括下列的两个要素用于每个宏块的失真估计器,其对诸如分组丢失的信道差错或 者视频分段中的差错作出反应,其考虑了在再现视频中的潜在差错 传播。模式决策算法,其基于编码参数和由于信道差错而引起的估计 失真来选择最佳模式。提供失真估计器600,其适用于响应于诸如分组丟失的信道差 错或者在视频分段中的差错为每个宏块估计在再现视频中的潜在 差错传播。提供成本计算器来确定与每个估计的信道失真关联的成 本。提供模式决策模块610,其适用于基于编码参数和由于信道差 错而引起的估计失真来选择最佳模式用于编码该宏块。给失真估计 器600供应一个或者多个能用于编码的编码模式和每个要编码的宏 块。该失真估计器600优选被安排为执行等式(1)和等式(2)的 估计操作,其中成本计算器优选被安排为执行等式(3)的计算操 作。决策模块610最后指示要使用哪个编码模式。应该注意到,尽管如此,但本发明构思不限于防止差错。本领 域的技术人员能够容易地发现用于帧内刷新的其他应用,例如允许渐进解码器刷新。也应该注意到,本发明构思可以进一步和差错隐 藏机制、差错反馈机制和前传差错纠正机制相结合,上述机制是现 有技术中已知的或者在将来将变得可用的。将理解本发明的各种细 节可以被改变而不脱离本发明的范围。此外,前面的描述仅仅用于 说明的目的,而不是用于限制的目的-本发明由权利要求来限定。
权利要求
1.一种用于可与视频编码器一起应用的自适应编码模式选择的方法,所述视频编码器可以以多个用于编码视频序列的空间位置中的当前宏块的编码模式进行操作,所述方法包括操作-依赖于所述编码模式估计由于所述当前宏块的潜在错误传输而引起的预期失真值;-基于所述失真值和编码参数中的至少一个从所述多个编码模式中选择最终编码模式;-更新在通过所述空间位置而被引用的表中的累积失真值;以及-将所述最终编码模式应用于编码所述当前宏块。
2. 根据权利要求1所述的方法,包括-通过和所述选择的最终编码模式关联的期望失真值来更新所 述累积失真值;其中,优选所述累积失真值初始为0。
3. 根据权利要求1所述的方法,包括-基于所述失真值和编码参数确定基本每个编码模式的成本值; 以及-基于所述成本值的比较选择所述最终编码模式。
4. 根据权利要求1所述的方法,其中,所述多个编码模式至少 包括帧内编码模式,所述方法包括-根据描述由于差错隐藏而引起的失真和由于先前错误传输的 宏块而引起的失真的失真项,估计当前宏块的帧内模式编码的失真 值。
5. 根据权利要求1所述的方法,其中,所述多个编码模式至少 包括帧间编码模式,所述方法包括-根据描述由于差错隐藏而引起的失真、由于先前错误传输的宏 块而引起的失真和由于差错传播而引起的失真的失真项,估计当前 宏块的帧间模式编码的失真值。
6. 根据权利要求4所述的方法,其中,描述由于差错隐藏而引起的失真的所述失真项包括偏差值和关于当前宏块的潜在错误传输 的概率值,所述偏差值从当前宏块和先前帧中适用于差错隐藏的同 位宏块获得。
7. 根据权利要求4所述的方法,其中,描述由于先前错误传输 的宏块而引起的失真的所述失真项包括为先前帧中潜在地错误地传 输的宏块估计的失真值和关于当前宏块的潜在地错误传输的概率值。
8. 根据权利要求5所述的方法,其中,描述由于差错传播而引 起的失真的所述失真项包括加权平均失真值,所述加权平均失真值运动向量确定,其中,描述由于差错传播而引起的失真的所述失真 项另外包括关于当前宏块的不出现潜在错误传输的概率值。
9. 根据权利要求8所述的方法,其中,所述加权平均失真值从 所述参考宏块的失真值获得,所述失真值通过权重值被加权用于求 平均,所述权重值和所述参考宏块的区域成比例,所述区域作为参 考而被用于预测所述当前宏块。
10. 根据权利要求4所述的方法,其中,根据下列等式估计帧内 编码模式的所述失真值<formula>formula see original document page 3</formula>其中,p为分组丢失概率,n为帧编号,i为宏块编号,卢(",0为 在无差错传输的情况下重建的宏块。
11. 根据权利要求5所述的方法,其中,根据下列等式估计帧间编码模式的所述失真值<formula>formula see original document page 3</formula>其中,(1 —; 》万c("^,/)为由差错传播产生的额外项,万cOv,O为所述当前宏块使用作为参考的所有宏块的加权平均信道失真。
12. 根据权利要求3所述的方法,其中,所述确定基本所有编码模式的成本值包括对于每个编码模式, -确定由可应用在所述当前宏块上的量化操作产生的量化失真值;-提供与所述编码模式关联的拉各朗日参数和根据所述编码模 式来编码当前宏块所需要的比特数;以及-依赖于所述量化失真值、拉各朗日参数、比特数以及与所述编 码模式关联的失真值确定所述成本值。
13. 根据权利要求3所述的方法,其中,根据下列等式确定所述多个编码模式中的一个编码模式的所述成本值 <formula>formula see original document page 4</formula>其中,为由量化导致的失真值,"c(",/)为根据一个编码模式确定的预期失真值,R为将用于编码当前宏块的比特数,2m。de为 优选依赖于一个编码模式的拉各朗日参数。
14. 一种包括计算机可读介质的计算机程序产品,所述计算机可 读介质在其上记录有程序代码,所述程序代码用于可与视频编码器 一起应用的自适应编码模式选择,所述视频编码器可以以多个用于编码视频序列的当前宏块的编码模式进行操作;所述程序代码包括 -所述视频编码器; 当所述程序代码被处理器执行时具有-代码段,用于依赖于所述编码模式估计由于所述当前宏块的潜 在错误传输而引起的预期失真值;-代码段,用于基于所述失真值和编码参数从所述多个编码模式 中选择最终编码模式;-代码段,用于更新由所述空间位置引用的表中的累积失真值; 以及-代码段,用于将所述最终编码模式应用于编码所述当前宏块。
15. 根据权利要求14所述的计算机程序产品,包括-代码段,用于通过和所述选择的最终编码模式关联的所述预期 失真值来更新所述累积失真值;其中,所述累积失真值优选初始为0。
16. 根据权利要求14所述的计算机程序产品,包括-代码段,用于基于所述失真值和编码参数确定每个编码模式的 成本〗直;以及-代码段,用于基于所述成本值的比较从所述多个编码模式中选 择最终编码模式。
17. 根据权利要求14所述的计算机程序产品,其中,所述多个 编码模式至少包括帧内编码模式,所述程序代码包括-代码段,用于根据描述由于差错隐藏而引起的失真和由于先前 错误传输的宏块而引起的失真的失真项,估计所述当前宏块的帧内 模式编码的失真值。
18. 根据权利要求14所述的计算机程序产品,其中,所述多个 编码模式至少包括帧间编码模式,所述程序代码包括-代码段,用于根据描述由于差错隐藏而引起的失真、由于先前 错误传输的宏块而引起的失真和由于差错传播而引起的失真的失真 项,估计所述当前宏块的帧间模式编码的失真值。
19. 根据权利要求17所述的计算机程序产品,其中,根据下列 等式估计帧内编码模式的所述失真值<formula>formula see original document page 5</formula>其中,p为分组丢失概率,n为帧编号,i为宏块编号,,(",O为 在无差错传输的情况下重建的宏块。
20. 根据权利要求18所述的计算机程序产品,其中,帧间编码 模式的所述失真值根据下列等式估计化<formula>formula see original document page 5</formula>其中,(l一p)'万c("^,/)为由差错传播产生的额外项,万cOv,O 为所述当前宏块用作参考的所有宏块的加权平均信道失真。
21. 根据权利要求16所述的计算机程序产品,其中,对于每个 编码模式,用于为每个编码模式确定所述成本值的所述代码段包括-代码段,用于确定由可应用于所述当前宏块的量化操作产生的量化失真值;-代码段,用于提供和所述编码模式关联的拉各朗日参数和根据 所述编码模式编码所述当前宏块所需要的比特数;以及-代码段,用于依赖于所述量化失真值、所述拉各朗日参数、所 述比特数以及与所述编码模式关联的所述失真值确定所述成本值。
22. 根据权利要求16所述的计算机程序产品,其中,所述多个编码模式中的 一个编码模式的所述成本值根据下列等式确定 J,",/) + Dc(",/) + U.).其中,i^(",/)为由量化导致的失真值,Dc(",/)为根据所述一个编码模式确定的预期失真值,R为将被用于编码所述当前宏块的比特数,义m。de为优选依赖于所述一个编码模式的拉各朗日参数。
23. —种被安排用于自适应编码模式选择的视频编码器,所述视 频编码器可以以多个用于编码视频序列的当前宏块的编码模式进行 操作;所述视频编码器包括-失真估计器,被安排用于依赖于所述编码模式估计由于所述当 前宏块的潜在错误传输而引起的预期失真值;-决策模块,被安排用于基于所述失真值和编码参数从所述多个 编码模式中选择最终编码模式;以及-表,包括更新的累积失真值,其中,所述表通过所述空间位置 而被引用;其中,所述视频编码器被安排用于将所述最终编码模式应用于编 码所述当前宏块。
24. 根据权利要求23所述的视频编码器,包括所述表被安排用于存储所述累积失真值,所述累积失真值由和所 述选择的最终编码模式关联的所述预期失真值来更新,其中,所述 累积失真值优选初始为0。
25. 根据权利要求23所述的视频编码器,包括-成本计算器,被安排用于基于所述失真值和编码参数确定每个编码模式的成本值;以及-所述决策模块,被安排用于基于所述成本值的比较从所述多个 编码模式中选择最终编码模式。
26. 根据权利要求23所述的视频编码器,其中,所述多个编码 模式至少包括帧内编码模式,所述视频编码器包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真和由于先前错误传输的宏块而引起的失真的失真项,估计所述 当前宏块的帧内模式编码的失真值。
27. 根据权利要求23所述的视频编码器,其中,所述多个编码 模式至少包括帧间编码模式,所述视频编码器包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真、由于先前错误传输的宏块而引起的失真和由于差错传播而引 起的失真的失真项,估计所述当前宏块的帧间模式编码的失真值。
28. 根据权利要求26所述的视频编码器,其中,描述由于差错 隐藏而引起的所述失真的所述失真项包括偏差值和关于所述宏块的 错误传输的概率值,所述偏差值根据所述当前宏块和先前帧中适用 于差错隐藏的同位宏块获得。
29. 根据权利要求26所述的视频编码器,其中,描述由于先前在地被错误传输的宏块估计的失真值和关于所述宏块的错误传输的 概率值。
30. 根据权利要求27所述的视频编码器,其中,描述由于差错 传播而引起的所述失真的所述失真项包括加权平均失真值,所述加 权平均失真值可根据先前帧中用作参考的参考宏块的失真值确定以 及根据运动向量确定,其中,描述由于差错传播而引起的所述失真 的所述失真项另外包括关于所述宏块的不出现错误传输的概率值。
31. 根据权利要求30所述的视频编码器,其中,所述加权平均 失真值从所述参考宏块的失真值获得,所述失真值通过权重值被加 权用于求平均,所述权重值和所述参考宏块的区域成比例,所述区域作为参考被用于预测所述当前宏块。
32. —种处理设备,可与被安排用于自适应编码模式选择的视频 编码器一起操作,所述视频编码器可以以用于编码一见频序列的当前 宏块的多个编码模式进行操作;所述处理设备包括 -所述视频编码器;-失真估计器,被安排用于依赖于所述编码模式估计由于所述当 前宏块的潜在错误传输而引起的预期失真值;-决策模块,被安排用于基于所述失真值和编码参数从所述多个 编码模式中选择最终编码模式;以及-表,包括更新的累积失真值,其中,所述表通过所述空间位置 而被引用;其中,所述视频编码器被安排用于将所述最终编码模式应用于编 码所述当前宏块。
33. 根据权利要求32所述的处理设备,包括-所述表,安排用于存储所述累积失真值,所述累积失真值由和 所述选择的最终编码模式关联的所述预期失真值来更新,其中,所 述累积失真值优选初始为0。
34. 根据权利要求32所述的处理设备,包括-成本计算器,被安排用于基于所述失真值和编码参数确定每个编码模式的成本值;以及-所述决策模块,被安排用于基于所述成本值的比较从所述多个 编码模式中选择最终编码模式。
35. 根据权利要求32所述的处理设备,其中,所述多个编码模 式至少包括帧内编码模式,所述处理设备包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真和由于先前错误传输的宏块而引起的失真的失真项,估计所述当前宏块的帧内模式编码的失真值。
36. 根据权利要求32所述的处理设备,其中,所述多个编码模式至少包括帧间编码模式,所述处理设备包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真、由于先前错误传输的宏块而引起的失真和由于差错传播而引 起的失真的失真项,估计所述当前宏块的帧间模式编码的失真值。
37. 根据权利要求35所述的处理设备,其中,描述由于差错隐 藏而引起的所述失真的所述失真项包括偏差值和关于所述宏块的错 误传输的概率值,所述偏差值根据所述当前宏块和先前帧中适用于 差错隐藏的同位宏块获得。
38. 根据权利要求35所述的处理设备,其中,描述由于先前错地被错误传输的宏块估计的失真值和关于所述宏块的错误传输的概 率值。
39. 根据权利要求36所述的处理设备,其中,描述由于差错传 播而引起的所述失真的所述失真项包括加权平均失真值,所述加权 平均失真值可以根据先前帧中用作参考的参考宏块的失真值确定以 及根据运动向量确定,其中,描述由于差错传播而引起的所述失真
40. 根据权利要求39所述的处理设备,其中,所述加权平均失 真值从所述参考宏块的失真值获得,所述失真值通过权重值被加权 用于求平均,所述权重值和所述参考宏块的区域成比例,所述区域作为参考用于预测所述当前宏块。
41. 根据权利要求35所述的处理设备,其中,被安排用于估计 帧内编码模式的所述失真值的所述失真估计器可根据下列等式操 作<formula>formula see original document page 9</formula>其中,p为分组丢失概率,n为帧编号,i为宏块编号,,OV')为 在无差错传输的情况下重建的宏块。
42. 根据权利要求36所述的处理设备,其中,被安排用于估计 帧间编码模式的所述失真值的所述失真估计器可根据下列等式操作 一《(",/) = (1 — /7) , A + /7 . Z 0 — A" — 1, '.))2 + P . A (" — 1, /);其中,(l-; )'&Ov,/)为从差错传播产生的附加项,万c("^,/)为所述当前宏块用作参考的所有宏块的加权平均信道失真。
43. 根据权利要求34所述的处理设备,其中,对于每个编码模 式,被安排用于确定每个编码模式的所述成本值的所述成本计算器 被额外地安排用于-确定由可应用在所述当前宏块上的量化操作产生的量化失真值;-提供与所述编码模式关联的拉各朗日参数和根据所述编码模 式编码所述当前宏块需要的比特数;以及-依赖于所述量化失真值、所述拉各朗日参数、所述比特数以及 与所述编码模式关联的所述失真值确定所述成本值。
44. 根据权利要求34所述的处理设备,其中,所述成本计算器 被安排用于根据下列等式确定所述多个编码模式中的一个编码模式 的所述成本值J = D>,/) + Z)c (", 0 + U.);其中,A(",O为由量化导致的失真值,Dc(",/)为根据所述一个 编码模式确定的预期失真值,R为将被用于编码所述当前宏块的比特数,义m。de为优选依赖于所述一个编码模式的拉各朗日参数。
45. —种被安排用于可与视频编码器一起操作的自适应编码模式选择的系统,所述视频编码器可以以用于编码视频序列的当前宏块的多个编码模式进行操作; 所述系统包括 -所述视频编码器;-失真估计器,被安排用于依赖于所述编码模式估计由于所述当 前宏块的潜在错误传输而引起的预期失真值;-决策模块,被安排用于基于所述失真值和编码参数从所述多个编码模式中选择最终编码模式;以及-表,包括更新的累积失真值,其中,所述表通过所述空间位置而被引用;其中,所述视频编码器被安排用于将所述最终编码模式应用于编 码所述当前宏块。
46. 根据权利要求45所述的系统,包括-所述表,被安排用于存储所述累积失真值,所述累积失真值由 和所述选择的最终编码模式关联的所述预期失真值来更新,其中, 所述累积失真值优选初始为0。
47. 根据权利要求45所述的系统,包括-成本计算器,被安排用于基于所述失真值和编码参数确定每个 编码模式的成本值;以及-所述决策模块,被安排用于基于所述成本值的比较从所述多个 编码模式中选择最终编码模式。
48. 根据权利要求45所述的系统,其中,所述多个编码模式至 少包括帧内编码模式,所述处理设备包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真和由于先前错误传输的宏块而引起的失真的失真项,估计所述 当前宏块的帧内模式编码的失真值。
49. 根据权利要求45所述的系统,其中,所述多个编码模式至 少包括帧间编码模式,所述处理设备包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真、由于先前错误传输的宏块而引起的失真和由于差错传播而引 起的失真的失真项,估计所述当前宏块的帧间模式编码的失真值。
50. —种被安排用于可与视频编码器一起操作的自适应编码模 式选4奪的才莫块,所述^L频编码器可以以用于编码;f见频序列的当前宏 块的多个编码模式进行操作;其中,所述模块被安排用于控制所述视频编码器;所述模块包括 -失真估计器,被安排用于依赖于所述编码模式估计由于所述当前宏块的潜在错误传输而引起的预期失真值;-决策模块,被安排用于基于所述失真值和编码参数从所述多个 编码模式中选择最终编码模式;以及-表,包括更新的累积失真值,其中,所述表通过所述空间位置 而^皮引用;其中,所述模块被安排用于指示所述视频编码器将所述最终编码 模式应用于编码所述当前宏块。
51. 根据权利要求50所述的模块,包括-所述表,被安排用于存储所述累积失真值,所述累积失真值由 和所述选择的最终编码模式关联的所述预期失真值来更新,其中, 所述累积失真值优选初始为0。
52. 根据权利要求50所述的模块,包括-成本计算器,被安排用于基于所述失真值和编码参数确定每个编码模式的成本值;以及-所述决策模块,被安排用于基于所述成本值的比较从所述多个 编码模式中选择最终编码模式。
53. 根据权利要求50所述的模块,其中,所述多个编码模式至 少包括帧内编码模式,所述处理设备包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真和由于先前错误传输的宏块而引起的失真的失真项,估计所述当前宏块的帧内模式编码的失真值。
54. 根据权利要求50所述的模块,其中,所述多个编码模式至 少包括帧间编码模式,所述处理设备包括-所述失真估计器,被安排用于根据描述由于差错隐藏而引起的 失真、由于先前错误传输的宏块而引起的失真和由于差错传播而引 起的失真的失真项,估计所述当前宏块的帧间模式编码的失真值。
全文摘要
一般而言,本发明提供了一种视频编码器,该视频编码器被安排用于自适应编码模式选择。该视频编码器可以以多个用于编码视频序列的当前宏块的编码模式进行操作。该视频序列意图优选通过例如任何电路交换或分组交换通信网络的通信网络被传输。失真估计器被安排用于依赖于编码模式估计由于当前宏块的潜在错误传输而引起的预期失真值。决策模块被安排用于基于失真值和编码参数从多个编码模式中选择最终编码模式。进一步,提供了表,该表通过宏块的空间位置而被引用,并且使用累积失真值来更新。视频编码器被安排用于将最终编码模式应用于编码当前宏块。
文档编号H04N7/26GK101233760SQ200680028296
公开日2008年7月30日 申请日期2006年6月8日 优先权日2005年8月3日
发明者K·宇居尔, S·文格尔, 栋 田 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1