视频编码的制作方法

文档序号:7675712阅读:271来源:国知局
专利名称:视频编码的制作方法
技术领域
本发明涉及视频编码,尤其是在采用帧间差分编码的视频编码器环 境下的视频编码。发明内容本发明由权利要求来限定。


现在将结合附图举例来说明本发明的某些实施方式,图中图1是并入了根据本发明实施方式的装置的视频传输系统的框图;图2A是图1的编码器的框图;图2B是图1的解码器的框图;而图2、 3和4是示出编码器和解码器的操作的流程图。
具体实施方式
图1中例示了实时多参考H,264编码器和解码器的通用结构。该结构执行以下功能--视频帧捕获和&264实时编码。-H.264实时解码和显示。-使用RFC 3984的H.264/RTP打包。-基于UDP/IP的传输。-H.264/RTP解包。-RTCP/AVPF客户计线程(产生RTP丢失,抖动状态) -RTCP/AVPF服务器线程(轮询RTCP反馈) 使用这个特定编码标准和这些特定传输协议当然仅仅是示例,如果 需要的话也可以选择其他的标准和协议。需要注意的是,RTCP提供了定 期接收报告(RR)并且AVPF配置文件现在允许立即(或者是在反馈带 宽限制允许的条件下尽可能地立即)反馈包丢失差错。图2A示出了视频编码器。视频信号(一般是数字格式)在输入1 处被接收。减法器2形成了输入信号和来自预测器缓冲区3中的预测信 号之间的差分,该差分随后在框4中被进一步编码。对本发明而言,这 里执行的编码并不是重要的,但可以包括例如阈值(为了抑制零或微小 差分的传输)量化、变换编码和/或可变长度编码。预测器缓冲区3的输 入是在加法器5中形成的,预测信号和在解码器6中解码出的编码差分 信号之和(从而编码和解码过程中消息的丢失被包含在预测器循环中)。 解码器6和加法器5连同缓冲区3和运动补偿器8形成了本地解码器。 图2B示出了解码器。首先,任何在框4中执行的编码操作都在框6' (与图1的框6相同)中被反转以产生帧间差分信号。然后,该信号在 从编码器接收运动向量的运动补偿单元8'中经过运动补偿后被加到预测 信号中,该预测信号来自帧存储器3'。加法器5'的输出形成了解码器输 出,并被送到帧存储器3'的输入。因此,图2的远程解码器具有与图1 所示本地解码器相同的结构,尽管如我们稍后将看到的那样,某些控制 功能可能会不同。尽管没有示出,但是按照常规技术,可以在编码器输出和解码器输 入处设置缓冲区,以允许在恒定比特流信道上进行传输。差分编码基本上是帧间的,尽管有时可以使用帧间编码(对于整个 帧或是对于帧的选定块)来限制传输差错的增长。该预测可以简单地包 含来自预测器缓冲区3的早期(或者,在某些系统中是后期)解码后的 帧;然而如图所示还包括运动估计器7。对被编码画面的帧和来自缓冲区 的帧进行比较对于当前帧的每个块(该画面被视为分割成块),其标识 出之前帧的哪个区域和该块最相似。所标识区域与关注的块在位置上的 向量差被称作运动向量(因为它通常表示了物体在由电视画面描绘场景 中的运动),并且被提供给用于将之前帧的所标识区域移动到当前帧的相 关块的位置上的运动补偿单元8,从而产生更好的预测。这使得减法器2 产生的差分结果的平均值更小,允许编码器4利用比其他情形更低的比 特率对画面进行编码。预测器缓冲区3和3'可以包含多个帧,在本例中是4个。编码器在原理上可以使用任何存储的帧作为预测器,或者,甚至多于一个例如,H.264和H.263允许每8xg块来选择参考帧。图3示出了编码器的操作。在步骤100中,在输入处接收被称作帧 n的帧。在步骤101中,对于每个8x8块,编码器检査缓冲区3中的所有 候选帧(或者时间允许下尽量多些),来确定哪些给予最好的压縮。然后 在步骤102中,对该帧进行编码;并在103中传输。也可在104中由本 地解码器5、 6等来解码。 一般地,传输的消息包括该预测器或者所有预 测器的参考索引,利用它们,解码器可以使用正确的那个(那些)来进 行解码。步骤101-104的处理是公知的,因而不再进行详细描述。在步骤105中,控制单元10确定预测器缓冲区3中是否有空间来容 纳新解码的帧,如果没有,则在步骤106中删除其中一个已有的帧。删 除帧的算法稍后进行说明。然后,在步骤107中新解码的帧被存储在缓 冲区3中并且针对n的下一个值重复该处理。在H.264编码器的情况下,我们希望编码器以"短期帧"的形式存 储它的所有参考帧,如在标准中定义的那样;可以使用长期参考帧,但 是相对于短期帧而言,它们被认为对"存储器管理控制操作"的丢失缺 乏弹性。无论何时,在步骤106中,编码器从缓冲区3中删除一帧,步骤103 中的传输也包括发送给解码器指示它删除那个帧的消息。在这个例子中, 这种消息是利用在H.264中定义的"存储器管理控制操作"来发送的。 通过对这些存储器应用已经由编码器放置在比特流中的存储器管理控制 操作,解码缓冲区遵循编码缓冲区。我们希望这些消息在被发送的每个片断(NAL单元)中被发送,因 此,例如如果一画面被编码为4个片段,则这些组"存储器管理控制操 作"(MMCO命令)都被发送四次。MMCO命令可用于从缓冲区中移除 短期或者长期画面、将短期映射为长期、清空缓冲区等。多个MMCO命 令可以在同一个片断(NAL单元)中发送。如果解码器丢失了一组MMCO命令,那么编码器缓冲区与解码器缓 冲区的内容之间就会产生失配。为了缓解这个问题,我们提出了一个改 进的版本,其中每个片断都包含一消息,该消息确切地告知解码器在那 时哪个帧应该在解码缓冲区中。实现该目的的一种方式是利用由H.264 定义的"参考画面列表重排"命令。该方式有如下这些功能。编码器有 一组参考帧。在对帧进行编码时,它可以选择使用一个、 一些或者所有 这些参考帧。从概念上讲,这些帧以缺省顺序放置,以最近的帧开始按 照长期索引的升序进行排列(最大的帧号,忽略wmp因素,之后是最久 的短期帧,之后是长期帧(如果有的话))。编码器可以随意在比特流中 包含一组重映射指令,该指令可以将缺省顺序改变为某些其它的顺序, 被称为重映射顺序。在该标准中,这个顺序的主要目的是为了促进对熵 编码的使用以识别出将使用的参考帧。重映射指令被定义为将帧号直接 映射到重映射索引(为了效率,使用帧号预测)。编码器也可以指出有多 少参考将被使用。用于指代参考帧的可变长度代码取决于那些声明要被 使用的参考帧的数量(如果只有一个,就是零比特,如果有两个,就是 一个单独的比特,其它的情况是一个可变长度代码表);码字的长度取决 于重映射索引,短码(1比特)对应于索引0等等。当缺省顺序对于熵编 码效率不是最佳时,重映射是很有用的。这些重映射指令在本文中可以 用于向解码器指示哪些帧(通过它们的帧号)应该在它的缓冲区中。我们实现它的方式是,对于编码器而言,将重映射指令插入到参考 其缓冲区中所有帧的每个片断(NAL单元)中(不需要对缺省顺序作任 何改变),而对于解码器而言,使用这些指令来确定当没有所需的知识时, 应该从它的缓冲区中移除哪个帧——也许是因为编码器的缓冲区中的帧 太少导致没有MMCO移除命令,或者因为MMCO删除命令针对的是解 码器没有的帧。因此,我们可以看出,可从编码器接收额外消息的差错恢复装置使 用这些重映射指令,该额外消息指定了哪些画面应该在存储器中,并被 配置为在要存储解码后的画面并且还未收到删除消息的情况下,通过参 考其中一条额外消息来选择要从存储器中删除的画面。另选的是,解码 器可以配备差错恢复装置,该装置在要存储解码后的画面并且还未收到 删除消息的情况下,可使用与在编码器中选择将被删除的画面的算法相 同的算法来选择要从存储器中删除的画面。图4示出了远程接收器的操作。在步骤200中,接收到片断。NALU 是网络适配层单元,适于封装在RTP包中。NALU包含编码H.264片断 数据,该数据可以是整个画面的数据或者画面一部分的数据。在我们的 实施中,我们使用了被公知为灵活宏块排序(FMO)的技术,其中,画 面的宏块被分为片断组,这些片断组的每一个都被编码为一到多个片断。 FN是当前片断头内的帧号,PrevFN是之前出现的FN。如果在超时时段 内没有接收到片断(201),则在步骤202中向编码器发送差错消息。然 后,在步骤203中检查每个包是否为所期待的那个包,如果不是(例如 包丢失),就在204中将向编码器回发差错消息。202和204中的差错消 息的功能是识别丢失帧,或者更恰当地讲,在本示例中,用于识别最后 收到的好帧。它可以是帧号,但在本例中,我们假设数据是利用RTP协 议传输的,并且差错消息发送RTP包号。事实上,在本例中,步骤200 到204是在RTP接收器中执行的。在207中,解码器检査当前片断是否 针对与之前片断相同的帧。如果不是,还要检查(208)之前帧是否已经 被完全解码。如果没有(也就是丢失了一个或多个片断),则在209中使 用常规的掩盖技术来生成替代片断进行显示(例如,通过从之前帧中复 制像素)。然后,在步骤210、 211和212中(它们和编码器处的步骤105、 106和107是相同的),将掩盖帧插入到缓冲区中,如果必要的话,删除 已有的帧。在213中,检查正在接收的帧是否是之前帧的下一个。如果不是(即, 丢失了一个或多个整帧),则利用适当的掩盖步骤来生成替代的一帧或多 帧进行显示。替代帧的数量为FN-PrevFN-l。这里注意的是,(这些)替 代帧并不存储在预测器缓冲区3'中。然后,在步骤215中对当前片断进行解码。如果出现差错,需要的 话,就可以使用掩盖技术来消除差错。如果(步骤216)该帧仍然不完整, 则处理回到200接收另一片段。如果是完整的,那么在步骤217、 218和 219 (它们和编码器处的步骤105、 106和107相同)中,将新解码后的 帧插入到缓冲区中,如果有必要,就删除已有的帧。在步骤220中,将 指向之前帧号的变量PrevFN设为FN。可能发生的情况是,帧在没有差错的情况被接收,但是由于缓冲区 中没有它的参考帧而导致不能被正确解码。这可以通过在该解码器中存 在的替换帧在框215中对NAL单元进行解码来得到处理。需要注意的是, 某些宏块可以被正确解码,因为它们的参考是存在且正确的,而仅某些 宏块可以参考丢失或损坏参考。另选的是,与没有接收到帧的情况相同,该条件可以被识别并且使 控制转到步骤214。需要注意的是,在某些系统中,并非所有的帧都被用作编码其它帧 的预测器例如,在MPEG-2标准中,B-帧,尽管是使用帧间差分编码 技术进行编码的,但从不会把其自身作为编码另一帧的参考帧。在这种 情况下,无论编码器还是解码器都不需要存储解码后的帧。所使用的差错掩盖技术可以是任意常规应用的技术。例如,解码器 可通过从之前帧中复制帧的不正确部分或者利用更复杂的掩盖技术(例 如,使用诸如灵活宏块排序列(FMO)的编码工具)来掩盖差错。FMO 允许按照与光栅扫描顺序不同的顺序对宏块进行编码,这反过来意味着, 如果在传输中有些数据丢失了,那么周围的数据可能被正确地接收,可 以利用它们来掩盖丢失的信息。 -图5是流程图,示出了在编码器处,控制单元IO响应于从远程解码 器接收到(在步骤300中)的差错消息而采取的动作。在步骤301中, 将消息中的RTP包号翻译为相应的最后一个知道的好帧的帧号NlKC。具 体来讲,RTCP AVPF传送反馈指示被发送以识别丢失的RTP有效载荷的 RTP序号。通过存储序号和帧号的表,编码器处的RTP打包器和RTCP 管理器可以推知最新的参考已被正确地接收。然后,在步骤302中,从缓冲区中删除任何在帧Nucc之后被传输的 帧(如果存在于缓冲区3中的话)。其效果是防止编码器使用这个或者这
些帧一一它们被视为没有被远程解码器可靠地解码(或者至少不被视为己经被可靠地解码)——为用于任何其它编码帧的预测器。在步骤303 中,向解码器发送MMCO消息,从而解码器可以从它自己的缓冲区中删 除相应帧(当然,如果它们实际上存在的话)。在另选实施方式中,在帧 NucG之后被传输的帧可以被简单地标记为"不使用",而不是从缓冲区3 中删除,在这种情况下不需要向解码器发送该消息。需要注意的是,如果通常情况下,那些将被用作预测器的帧是按照 捕获-然后-显示的顺序被编码和传输的,则这些响应差错消息而要被删除 的帧是那些帧号大于或等于Nuccj的帧。然而在其它情况下,预测模式不 同于简单的由帧n-l来预测帧n,例如,在视频冗余编码中,每个偶数帧 通过先前的偶数帧来预测,并且对于奇数帧来说是类似的——即,帧n 是通过帧n-l预测的。在通常情况下,将要被删除的帧是那些有错的、用 作预测(直接或者间接)帧的后-编码的帧。这里我们返回到从缓冲区例行地删除帧,以便为新的进入帧提供空 间的问题上来。目的是管理缓冲区内容以便在前述多参考框架中对参考 进行选择,特别是当存在反馈信道时,在包丢失的环境中,出于编码效 率和差错恢复这两个目的,便于将参考随时间分布。这在高延迟(>100ms RTT)的环境中可能是非常重要的,例如在ADSL或者使用RTP/RTCP 的移动网络上应用的视频电话(或低缓冲视频流)。我们设想缓冲区尺寸 小于容纳往返时间内传输的所有帧所需的尺寸一一即缓冲区容量小于 RTT除以数据速率。目标是选择那些及时被关闭的以及来自其范围由信 道的往返时间决定某些先前定义的时间段的参考(例如帧n-l、帧n-2) 的组合。当帧被编码时,这些参考能够得到管理,从而总是同时有用于 良好压縮率的最近参考,以及适用于高延时反馈的差错修复的老帧。在^例中,当前帧n前面的两个帧(n-l和n-2)总是会被保留,以 便在没有包丢失的情况下,仍然有多个最近参考可用,所以压縮效率应 该保持良好。另外,比当前帧要早大于或等于往返时间的量的至少一个 帧被保留,以便在包丢失的情况下,当编码器从解码器接收到差错消息 时,对于解码器而言很有可能利用解码器已经正确接收到的帧作为潜在
预测器,而不必发送帧内更新。然而该保留面临一个上限,任何早于该 限的帧都将被丢弃。为了尽可能将这种情况保持在一个稳定的状态下, 通常需要保留一个或多个年龄在最近两个帧与比往返时间更老的一个 (多个)帧之间的帧。在本例中,表示帧的年龄是容易的因而,如果当前帧是帧n,那么帧j的年龄是n-j。我们基本上定义了三个窗口——最近帧、中间帧和老帧。在本例中,中间帧和老帧的窗口大小为m,也就是说"最近"第一个窗口是从年龄1到2;"中间"窗口是从年龄3到年龄m+2; "老"窗口是从年龄m+3到2m+2。如果m+3大于等于往返时间除以帧时段,例如,大于等于往返时间 除以帧时段的最小整数,那么"老"窗口中的帧通常会比当前帧要早至 少往返时间。用于参考缓冲管理的规则如下1) 除非缓冲区满了,否则不删除帧;2) 总是保存最近的两个帧,即,年龄1和2;3) 受限于2m+2,总是保存最老的帧;4) 保持足够的帧以便当最老的帧的年龄超过"老"窗口时,依然有 帧在"老"窗口中。这意味着如果缓冲区中的次老帧和缓冲区中的次新 帧之间的时间差超过了 "老"窗口的尺寸(即,m),那么该帧就不应该 从缓冲区中删除。其它地方,和上面一样,中间和"老"窗口具有相同 的尺寸,这需要至少一个帧总在中间窗口内。理想的情况是在稳定状态下以分布在时间上的参考作为结束。实现 这一点的一种方式是重新处理最老的帧并且保持其余的参考均匀分布。 (最老-m)、(最老-2m)等等,如果没有的话也可以是最接近的。因此,在缓冲区容量为4个帧的示例且m-3的条件下,该范围是1, 2, [3到5], [6到8]。该缓冲区的内容从空的开始,进程如下,其中每个数都代表了缓冲 区中帧的年龄,而保留标准是保留那些年龄最接近nMAX-m的帧,其中 nMAx是缓冲区中年龄最老的帧,而m和上面一样是"老"窗口的长度。11,21,2,31,2,3,41, 2, 3, 4, 5可能(范围[3到5]中最接近5-m的是3)=>保留1, 2, 3, 5 1,2,3,4,6可能(最接近6-m的是3)=>保留1,2,3,6 1, 2, 3, 4, 7可能(最接近7-m的是4) ->保留1, 2, 4, 7 1, 2, 3, 5, 8可能(最接近8-m的是5)=>保留1, 2, 5, 8 1,2,3,6,9可能(9超出了范围)=>1,2,3,6 回到稳定状态。 该特殊算法还适用于m=5的情况(这里,1, 2, 3, 8是稳定状态),且 在该范围内任何m值的长度都是相同的而不会交迭。另外一个会出现的问题是(在步骤202或者204中发送的)反馈包 本身丢失。解码器可以被配置成在它发送了差错消息之后,检测应当示 出在编码器处产生的补救动作的证据的帧(例如在(反馈时间+RTT)时 到达的帧)是否未进行示出。期望看到的是MMCO命令移除最近的帧, 或者重映射指令(如果使用)来将它们移到列表末端,或者完全移出列 表。相反,不希望接收到使用应该已经被删除的帧作为参考帧而预测出 的帧。对于没有出现这些命令的响应或者非正确参考使用的响应,将会 发送另一条差错消息。如果范围直接关联到RTT,则在这种情况下,我 们可能多于一次尝试进行恢复,恢复次数等于范围的号。如果编码器有较老帧的第三(或者更多)窗口,那么它依然可以在 接收到重复反馈消息时进行修复,即使消息来得太迟,它也能够对帧进 行帧内编码并且清除它的缓冲区。需要注意的是,在图4示出的解码器操作中,返回到接收器的差错 消息是响应于包丢失而仅在RTP级别上产生的。然而,如果需要,步骤 215的解码处理过程中识别的差错也可以用于触发差错消息。在以上说明中,已经解释了期望的目标是确保缓冲区总是包含比当 前帧早了一裕度(margin)的帧,该裕度大于等于往返时间。样例建议 m+3应设置成大于等于往返时间除以帧时段的最小整数。在实践当中可以用多种方法来实现。可以针对使用或要使用的信道 的期望RTT来手动设置编码器。要注意的是,接近以上范围意味着最老 参考的年龄将在范围[111+3....2111+2]中变化,因此RTT应该小于m+3个帧 时段;然而,如果(例如因为m已经设置得太低,或者因为RTT发生超 出预期的改变)有一种可能——但不敢保证——可以适应长达2m+2个帧 周期的RTT。在想要的帧缺失的情况下,不管是由于这个原因还是由于 多个差错,编码器都可以通过编码内帧和清空所有早期帧的缓冲来进行 修复。另选的是,在一种更为成熟的方法中,可以例如通过处理RTCP接 收报告来测量实际的RTT,并被用来修正上述分布参数。解码器应该能够通过检査已经收到的数据包中的RTP序号来确定哪些帧被正确解码而哪些没有被正确解码。然而,可能并不是什么时候都 能很完美地操作例如,解码器可能认为参考帧是正确的,而编码器却 使用了解码器根本没有接收到的不同参考帧。这些测量的一个目的是避 免对内刷新帧的需要,这种未检测的失配可能不确定地存在于解码画面 中。为了避免这种可能性,如果需要,编码器和解码器可以配备差错检 测结构,诸如在我们2005年6月8日递交的共同未决欧洲专利申请 05253512.7 (代理号A30778)中所描述的。通过示例的方式,利用上述带有反馈机制的系统,该反馈机制能够 在发生(利用RTP/AVPF)利用111=5-年龄{[1-2], [3-7], [8-12], [13-17]} 的4参考帧窗口的5参考25 *sH.264流时立即在解码器上指示丢失,可 以容纳以高达480ms的信道RTT到达的反馈。为了在没有该方案的情况下完成同样的保护,编码器不得不利用12 个短期参考帧的滑动窗口来进行编码。在实时编码器上搜寻12个参考所 需的时间是受到限制的,并且根据编码器和解码器的结构和容量水平, 如此大量的参考甚至都不被允许。一些用于各种各样网络的典型RTT延迟被引用如下GSMRTT时间报告为920msGPRS通常的延迟为6-700ms EDGE/UMTS好一些,但延迟为2-500ms ADSL (单链路 40ms)因此,所述结构可以针对相同复杂度来扩展现有技术的参考历史窗 口,或者针对相同RTT窗口来显著降低复杂性,都是为了在没有差错的 情况下获得编码效率的微小潜在丢失。复杂性降低来自于,针对多个参 考运动估计和二进制树型建模和上述差错模型存储需求的参考子集的减 少。其他的消息可以参照"H,264/AVC over IP", Wenger, S, fEEE Transactions on Circuits and Systems for Video Technology, vol.13, no.7 July 2003, httD:〃ieeexDlore.ieee.org/iei5/76/27384/01218197.odf"Overview of the H.264/AVC video coding standard", Wiegand' T" Su川van, G,丄, Bjontegaard, G', Luthra, A"旧EE Tran幼ctlons on Circuits and Systems for Video ' Technology, vol.13, no.7 July 2003, htto:〃ieeexplore.ieee,ora/iel5/76/27384/01218189.pdf
权利要求
1、一种传输视频信号的方法,该方法包括以下步骤存储多个参考画面;对输入视频信号进行编码,并将它们传输到解码器,所述编码是如下执行的针对至少一些画面,选择所存储的参考画面中的一个或多个并利用相对于它的帧间差分编码对该画面的至少一部分进行编码;以及对编码信号进行本地解码以产生本地解码后的画面,存储为所述参考画面;其中,该方法包括接收差错消息并响应于它来禁止将相对较年轻的参考画面用作预测器,并且仅仅选择所述相对较老的画面用于预测;其中所述参考画面存储在缓冲区中,该缓冲区的存储容量小于到解码器的往返时间除以帧时段;并且其中所述方法包括以下步骤选择要从存储器中删除的画面以便为新解码后的画面提供空间,所述选择是根据持续时间为多个帧时段的限定时间窗口来执行的,并且根据以下规则被安排为,该窗口中最年轻的帧比当前帧老了至少往返时间除以帧时段的时间间隔(a)如果只有一个帧落在该限定窗口内,则该帧不应该被删除;以及(b)如果该缓冲区中该帧之前和之后的帧之间的年龄差超过了该窗口长度,则不应该删除任何帧。
2、 根据权利要求1所述的方法,其中,该差错消息包含关于在该接 收器处哪个帧存在差错的指示,并且用于接收差错消息的装置可禁止将 被指示为存在差错的帧以及直接或间接从它预测出的后续编码帧用作预 测器。
3、 根据权利要求1或2所述的方法,该方法包括以下步骤测量往 返时间并相应地改动该时间窗口 。
4、 根据权利要求l、 2或3所述的方法,该方法包括以下步骤向 解码器发送标识了被选择要删除的参考画面的消息。
5、 一种视频编码器,该视频编码器包括存储器,用于包含多个参考画面;差分编码装置,用于对输入视频信号进行编码,其可针对每个画面 来选择所存储的参考画面中的一个或多个并利用相对于它的帧间差分编 码对它进行编码;本地解码装置,用于生成本地解码画面,以便输入到该存储器中;用于从接收器接收差错消息的装置,其响应于差错消息将该编码器 从允许选择所述相对较年轻的画面作为预测器的状态切换到允许仅选择 所述相对较老的画面作为预测器的状态;控制装置,可选择将哪些本地解码画面输入到所述存储器和从所述 存储器中删除哪些本地解码画面,该控制装置可根据持续时间为多个帧 时段的限定时间窗口来操作,并且根据以下规则被安排为,该窗口中最 年轻的帧比当前帧老了至少往返时间除以帧时段的时间间隔(a) 如果只有一个帧落在该限定窗口内,则该帧不应该被删除;以及
6 如果该缓冲区中该帧之前和之后的帧之间的年龄差超过了该窗 口长度,则不应该删除任何帧;该控制装置还可接收往返时间的测量值并相应地改动该时间窗口。
7、 根据权利要求6所述的视频编码器,其中,该差错消息包含关于 在该接收器处哪个帧存在差错的指示,并且用于接收差错消息的装置可 禁止将被指示为存在差错的帧以及直接或间接从它预测出的后续编码帧 用作预测器。
8、 根据权利要求6或7所述方法,其中该控制装置被构造为,基于 对要删除的参考画面的选择,向该接收器发送标识该参考画面的消息。
9、 一种视频链路,该视频链路包括发送器,其包括根据权利要求6、 7或8所述的视频编码器; 接收器,其能够向该发送器发送差错消息;以及 用于测量该发送器与该接收器之间的往返时间并将该测量值传送到 该控制装置的装置。
10、 一种视频解码器,该视频解码器包括 存储器,其用于包含多个参考画面;存储器控制装置,其响应于从编码器接收到移除消息,从该存储器中移除该消息中指定的画面;差分解码装置,用于对帧间编码的输入视频信号进行解码,并可将 新解码的画面输入到该存储器中, 其特征在于包括差错恢复装置,其可从编码器接收额外消息,该额 外消息指定了哪些画面应该在该存储器中,并且被构造为,在要存储解 码后的画面并且还未接收到删除消息的情况下,通过参考其中一条额外 消息来选择要从该存储器中删除的画面。
11、 一种视频解码器,该视频解码器包括 存储器,用于包含多个参考画面;存储器控制装置,其响应于从编码器接收到移除消息,从该存储器 中移除该消息中指定的画面;差分解码装置,用于对帧间编码的输入视频信号进行解码,并可将 新解码的画面输入到该存储器中;其特征在于包括差错恢复装置,其可在要存储解码后的画面并且还 未接收到删除消息的情况下选择要从该存储器中删除的画面,其中,该 差错恢复装置包括用于估计哪个画面将在该编码器处被删除的装置,所 述估计是根据持续时间为多个帧时段的限定时间窗口来执行的,并且根 据以下规则被安排为,该窗口中最年轻的帧比当前帧老了至少往返时间 除以帧时段的时间间隔(a) 如果只有一个帧落在该限定窗口内,则该帧不应该被删除;以及(b) 如果该缓冲区中该帧之前和之后的帧之间的年龄差超过了该窗 口长度,则不应该删除任何帧。
12、 根据权利要求10或11所述的解码器,该解码器包括差错检 测装置;以及这样的装置,其可在出现差错的情况下向该编码器发送标 识了被成功解码的最近画面的差错消息。
13、 根据权利要求12所述的解码器,该解码器包括这样的装置,其 可跟踪差错消息的传输,并且在没有接收到对应删除消息时发送额外差 错消息。
14、 根据权利要求12或13所述的解码器,该解码器包括这样的装 置,其可跟踪差错消息的传输,并且在往返时间结束后接收到编码画面 后,发送额外差错消息,该编码画面将该差错消息应当对其触发删除消 息的画面指定为参考画面。
全文摘要
一种使用帧间差分编码的视频编码器,该视频编码器具有用于包含多个参考画面的存储器(3)。对于每个输入的画面,其选择一个(或多个)所存储的参考画面来使用。控制装置(10)选择哪个本地解码画面将被输入到存储器或者从存储器中移除,从而该存储器总是包含至少一个处于定义的时间窗口内的相对较老的画面和至少一个比该时间窗口更近的相对较年轻的画面。当其从接收器接收到差错消息时,其将编码器从正常状态(该状态下允许选择任意画面作为预测器)切换到只允许选择所述相对较老的画面进行预测的状态。该时间窗口的开始最好根据估计(或观测)到的编码器与解码器之间的往返时间来设定,使得至少一个相对较老的画面总是早于差错消息。
文档编号H04N7/36GK101401438SQ200780008889
公开日2009年4月1日 申请日期2007年2月27日 优先权日2006年3月15日
发明者帕特里克·约瑟夫·马尔罗伊, 迈克尔·埃尔林·尼尔森 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1