用于视频编码的方法和装置的制造方法_5

文档序号:8270316阅读:来源:国知局
出一连串的16x16像素残差数据宏块,其可以表 示在影像300中的第一宏块针对预测宏块(像素预测器302的输出)之间的差异。
[0200] 预测误差编码器303包括:变换块342和量化器344。变换块342将第一预测误 差信号320变换到变换域。该变换是例如DCT变换或它的变型。量化器344量化变换域信 号(例如,DCT系数)以形成量化系数。
[0201] 预测误差解码器304接收来自预测误差编码器303的输出,以及产生解码的预测 误差信号338,该解码的预测误差信号338当与在第二求和设备339处的图像块312的预测 表示组合时产生初步重建图像314。预测误差解码器可以被认为包括:反量化器346,其将 量化的系数值(例如,DCT系数)反量化以近似重建变换信号,以及反变换块348,其针对所 重建的变换信号执行反变换,其中反变换块348的输出含有重建块(多个)。预测误差解码 器还可以包括:宏块过滤器(未示出),其可以根据另外的解码信息和过滤器参数来过滤所 重建的宏块。
[0202] 在以下中,将更详细地描述帧间预测器306的示例实施例的操作。帧间预测器306 接收针对帧间预测的当前块。假设的是,针对当前块,已经存在已经被编码的一个或多个邻 居块,已经针对它们定义了运动向量。例如,在左侧上的块和/或在当前块上面的块可以是 此类块。例如通过使用编码的邻居块和/或在相同片或帧中的非邻居块的运动向量,使用 空间运动向量预测的线性或非线性函数,使用具有线性或非线性操作的各种空间运动向量 预测器的组合,或通过不使用时间参考信息的任何其它适当的手段,能够形成针对当前块 的空间运动向量预测。还可能的是,通过将一个或多个编码块的空间和时间预测信息两者 组合来获得运动向量预测器。这些类型的运动向量预测器还可以被称为时空运动向量预测 器。
[0203] 在编码邻居块中使用的参考帧已经被存储到参考帧存储器404。参考帧可以是短 期参考或长期参考,以及每个参考巾贞可以具有指示在参考巾贞存储器中的参考巾贞的位置的唯 一索引。当参考帧不再用作参考帧时,则可以从参考帧存储器移除该参考帧,或将它标记为 非参考帧,其中可以由新的参考帧来占据该参考帧的存储位置。除了邻居块的参考帧之外, 参考帧选择器360还可以选择一个或多个其它帧作为潜在的参考帧以及将它们存储到参 考帧存储器。
[0204] 编码块的运动向量信息也被存储到该存储器中,以便帧间预测器306在处理针对 当前块的运动向量候选时能够检索该运动向量信息。
[0205] 在一些实施例中,可以有两个或更多运动向量预测过程,以及每个过程可以具有 它自己的候选集创建过程。在一个过程中,使用仅运动向量值。在另一个过程中,如以上已 经提及的,该过程可以被称为合并/融合模式/过程/机制,每个候选元素可以包括:1) '块 是使用仅列表0被单向预测'还是'块是使用仅列表1被单向预测'还是'块是使用列表和 列表1被双向预测'的信息;2)针对参考图像列表0的运动向量值;3)在参考图像列表0 中的参考图像索弓丨;4)针对参考图像列表1的运动向量值;以及5)在参考图像列表1中的 参考图像索引。因此,每当将两个预测候选进行比较时,不但比较运动向量值,而且可以将 上述5个值进行比较以确定它们是否彼此对应。在另一方面,如果比较中的任何比较指示 的是,预测候选不具有相等的运动信息,则可以不需要另外的比较。
[0206] 运动向量定义器361通过使用在相同帧中的当前块的一个或多个邻居块和/或其 它块的和/或在一个或多个其它帧中当前块的共位块和/或其它块的运动向量中的一个或 多个运动向量,来定义针对当前帧的候选运动向量。在图5a中使用框500说明了这种情况。 这些候选运动向量能够被称为候选预测器集合或预测器集合。每个候选预测器因此表示一 个或多个已经编码的块的运动向量。在一些实施例中,如果当前块和邻居块参考针对该列 表的相同参考帧,则候选预测器的运动向量被设置为等于针对相同列表的邻居块的运动向 量。此外,针对时间预测,可以有一个或多个先前编码的帧,其中在先前编码的帧中的共位 块或其它块的运动向量能够被选择作为针对当前块的候选预测器。能够通过使用不同于当 前帧的帧的任何构件来生成时间运动向量预测器候选。
[0207] 还能够通过使用一个或多个其它块(诸如当前块的邻居块和/或在一个或多个其 它帧中的共位块)中的超过一个运动向量,来获得候选运动向量。作为示例,可以使用在当 前块的左边的块的运动向量、在当前块上面的块的运动向量以及在当前块的右上角处的块 的运动向量的任何组合(即,在当前块上面的块的右边的块)。该组合可以是运动向量的中 间值或通过使用其它方程式来计算。例如,可以由伸缩因子来伸缩在组合中使用的运动向 量中的一个或多个运动向量,可以添加偏移,和/或可以添加恒定运动向量。在一些实施例 中,所组合的运动向量基于时间和空间运动向量两者,例如当前块的邻居块或其它块中的 一个或多个块的运动向量以及在另一个帧中的共位块或其它块的运动向量。
[0208] 如果邻居块不具有任何运动向量信息,则可以替代地使用诸如零运动向量的默认 运动向量。
[0209] 图8说明了编码单元800的示例,以及该编码单元的一些邻居块801-805。如从 如8能够看出,如果编码单元800表示当前块,则被标记为AO、AU BO、Bl和B2的邻居块 801-805能够是在获得空间候选运动向量时可以使用的此类邻居块。
[0210] 当候选的当前数量是有限的或不充足时,可以需要基于先前添加的预测器创建另 外或额外的运动向量预测。能够通过组合先前两个预测和/或通过缩放或添加偏移和/或 添加具有各种参考索引的零运动向量来处理一个先前的候选,来执行这种类型的创建另外 的候选。因此,运动向量定义器361可以检查能够定义多少运动向量候选以及针对当前块 存在多少潜在的候选运动向量。如果潜在的运动向量候选的数量小于阈值,则运动向量定 义器361可以创建另外的运动向量预测。
[0211] 为了使当前块与编码/解码块(该编码/解码块的运动向量被用作候选运动向 量)进行区分,在本申请中,那些编码/解码块还被称为参考块。
[0212] 在一些实施例中,不但获得(例如通过复制)参考块(多个)的运动向量信息,而 且可以将在参考图像列表中的参考块的参考索引复制到候选列表。块是使用仅列表〇被单 向预测或该块是使用仅列表1被单向预测的或该块是使用列表0和列表1被双向预测的信 息也可以被复制。候选列表还可以被称为候选集或运动向量预测候选的集合。
[0213] 图6a说明了预测单元的空间和时间预测的示例。描绘了帧600中的当前块601 和已经被编码的邻居块602。运动向量定义器361已经定义了针对邻居块602的运动向量 603,其指向前一个帧605中的块604。这种运动向量能够用作针对当前块的潜在的空间运 动向量预测610。图6a描绘的是,在先前帧605中的共位块606,即该块与当前帧相比在相 同的位置但是在前一个帧中,具有指向另一个帧608中的块609的运动向量607。这种运动 向量607能够用作针对当前帧的潜在的时间运动向量预测611。
[0214] 图6b说明了预测单元的空间和时间预测的另一个示例。在这个示例中,先前帧 605的块606基于在帧605之间的帧的块609以及在当前帧600的之后的块612,使用双向 预测。可以通过使用运动向量607、614两者或它们中的任何一个来形成针对当前块601的 时间运动向量预测。
[0215] 在以下,将更详细地描述根据示例实施例的针对运动信息编码的合并过程。编码 器创建运动预测候选的列表,通过信号传送来自该列表的候选中的一个候选作为针对当前 编码单元或预测单元的运动信息。在图5a中使用框502说明了这种情况。运动预测候选 可以由若干空间运动预测以及没有、一个或多个时间运动预测组成。能够从例如空间邻居 块AO、AU BO、Bl、B2 (它们的运动信息用作空间候选运动预测)的运动信息来获得空间候 选。可以通过处理不同于当前帧的帧中的块的运动,来获得时间运动预测候选(多个)。
[0216] 在这个示例中,空间运动预测候选是空间邻居块AO、AU BO、Bl、B2。当编码/解 码顺序是从将被编码/解码的帧、片或另一个实体的左到右以及从上到下时,空间运动向 量预测候选Al位于预测单元的左侧。分别地,空间运动向量预测候选Bl位于预测单元之 上。第三;空间运动向量预测候选BO在空间运动向量预测候选Bl的右侧;空间运动向量预 测候选AO在空间运动向量预测候选Al的下面;以及空间运动向量预测候选B2位于与空间 运动向量预测候选Al相比相同的列上以及在与空间运动向量预测候选Bl相比在相同的行 上。也就是说,如例如从图8能够看出,空间运动向量预测候选B2与预测单元的对角线邻 接。
[0217] 能够以预定顺序(例如,AU B1、B0、AO和B2)来处理这些空间运动向量候选。因 此被选择以用于进一步检查的第一空间运动预测候选是A1。在针对所选择的空间运动预测 候选执行进一步检查之前,可以确定该合并列表是否已经含有最大数量的空间运动预测候 选。因此,预测列表修改器363将在该合并列表中的空间运动预测候选的数量与最大数量 进行比较,以及如果在该合并列表中的空间运动预测候选的数量不小于该最大数量,则不 将所选择的空间运动预测候选包含在该合并列表中,以及可以停止构建合并列表的过程。 在另一方面,如果在该合并列表中的空间运动预测候选的数量小于该最大数量,则可以执 行所选择的空间运动预测候选的进一步分析,或可以将该空间运动预测候选添加到该合并 列表而不进一步分析。
[0218] 其中的一些运动预测候选可以具有相同的运动信息,导致冗余。因此,当合并的候 选具有相同的运动信息(例如,相同的运动向量和相同的参考索引)时,对于合并列表而 言,可以丢弃这些合并候选,除了具有最小处理顺序的合并候选之外。以这种方式,在丢弃 冗余候选之后,含有剩余的候选的该列表能够被称为原始合并列表。如果在原始合并列表 中的候选的数量小于合并候选的最大数量,则另外的运动预测候选可以被生成以及被包含 在该合并列表中,以便使得候选的总数量等于最大数量。总之,最终的合并列表包括:在原 始合并列表中的候选和以各种方式获得的另外的候选。生成另外的候选的其中一种方式 是,通过将对应于原始列表中的候选的参考图像列表0的运动信息与对应于在原始合并列 表中的另外的候选的参考图像列表1的运动信息进行组合,来创建新的候选。以这种方式 生成的候选可以被称为组合候选。
[0219] 可以通过比较运动信息的所有元素,来执行比较两个块它们是否具有相同的运 动,即1) '预测单元是使用仅参考图像列表〇被单向预测'还是'预测单元是使用仅参考图 像列表1被单向预测'还是'预测单元是使用参考图像列表0和参考图像列表1被双向预 测'的彳目息;2)对应于参考图像列表0的运动向量值;3)在参考图像列表0中的参考图像 索引;4)对应于参考图像列表1的运动向量值;以及5)在参考图像列表1中的参考图像索 引。
[0220] 合并列表候选的最大数量可以是任何非零值。在以上示例中,合并列表候选是空 间邻居块AO、AU BO、Bl、B2以及时间运动预测候选,但是可以有超过一个时间运动预测候 选和还可以有不同于空间邻居块的其它空间运动预测候选。在一些实施例中,还可以有不 同于块AO、AU BO、Bl、B2的其它空间邻居块。
[0221] 还可能的是,被包含在该列表中的空间运动预测候选的最大数量能够不同于4。
[0222] 在一些实施例中,合并列表的最大数量和被包含在该列表中的空间运动预测候选 的最大数量能够取决于时间运动向量候选是否被包含在该列表中。
[0223] 能够处理在当前帧中位于各种位置处的不同数量的空间运动预测候选。这些位置 可以与AU B1、B0、AO和B2相同或与它们不同。
[0224] 可以以A1、B1、B0、A0、B2的任何顺序或独立并行地做出针对候选的决策。
[0225] 与当前和/或先前的片和/或当前和/或邻居块的各种属性有关的另外的条件能 够用于确定是否将候选包含在该列表中。
[0226] 能够通过比较整个运动信息的子集来实现运动比较。例如,能够比较仅针对一些 或全部参考图像列表的运动向量值和/或针对一些或全部参考图像列表的参考索引和/或 被分配给每个块以表示它的运动信息的标识符值。该比较能够是同一性或等同性检查或比 较针对阈值的(绝对)差异或任何其它类似的度量。
[0227] 在移除冗余候选的过程期间,在运动向量预测器候选之间的比较还能够基于不同 于运动向量值的任何其它信息。例如,它可以基于运动向量值的线性或非线性函数、在帧/ (最大)编码单元/宏块中的空间位置、块是否与块共享相同运动的信息、块是否在相同编 码/预测单元中的信息,等。
[0228] 在一些实施例中,当合并模式在使用中时,时间运动向量候选(其可以已经被包 含在该列表中)可以被设置为不同于〇的值。例如,运动向量定义器361可以发现在该列 表中的哪个/哪些图像具有不同于当前片/编码单元的图像顺序计数的图像顺序计数,以 及从那些参考图像选择在图像顺序计数中具有最小差异的那个参考图像,即最接近于当前 片的图像。于是可以提供所选择的图像的参考索引作为时间运动向量预测的参考索引。
[0229] 在一些其它实施例中,运动向量定义器361可以例如以参考索引增加的顺序(从 索引〇开始)来检查在该列表中的参考图像(多个),以及选择能够用于时间运动向量预 测的第一参考图像。例如可以基于参考图像的类型、图像顺序计数和/或编码模式来确定 可使用性。例如,如果参考索引指向时间参考图像中或时间、层间或视图间的参考图像中的 图像,则可以选择此类参考图像。另外或可替代地,如果在该列表中存在与不同于当前编码 单元的图像顺序计数的图像顺序计数相关联的图像,则它可以被选择作为时间运动向量预 测。使用图5a中的框504-512来说明这些步骤。
[0230] 当运动向量定义器361已经选择了针对时间运动向量预测的参考索引时,运动向 量定义器361可以例如向块处理器381通知该参考索引,其中块处理器381或编码器的另 一个单元可以使用514所选择的参考图像作为针对当前块的预测参考。
[0231] 在一些实施例中,通过信号将参考索引传送给解码器,以便该解码器不需要确定 该参考索引而是能够使用通过信号传送的参考索引以找出编码器已经选择用作参考图像 的参考图像。可以例如如下来执行该信令。当运动向量定义器361已经选择针对时间运动 向量预测的参考索引时,运动向量定义器361可以例如向块处理器381通知该参考索引,其 中块处理器381或编码器的另一个单元可以将该参考索引添加522到例如片头部,或添加 到比片级别更高的另一个级别处的语法元素,诸如自适应参数集、图像参数集和/或序列 参数集。另外,在一些实施例中,可以在活动参数集中指示存在片头部级别信令,活动参数 集可以具有诸如自适应参数集、图像参数集和/或序列参数集的任何类型。可以例如如图 5a的框500-512中说明的,或通过一些其它方式来执行该选择。在图5b中,使用框516、518 和520说明了一般化的合并列表构建和预测参考选择过程。
[0232] 在一些实施例中,通过信号将针对时间运动向量预测器的参考图像的类型或"方 向"传送给解码器,以便该解码器不需要确定参考索引而是能够使用所导出的参考索引以 发现编码器已经选择用作预测参考的参考图像。例如可以如下来执行该信令。当运动向量 定义器361已经在不同类型或"方向"的可能候选之中选择了针对时间运动向量预测的参 考索引(例如,在相同类型的图像之中的参考图像列表内具有最小参考索引的每个类型的 参考图像)时,运动向量定义器361可以例如向块处理器381通知该参考索引,其中块处 理器381或编码器的另一个单元可以将该参考图像的类型或"方向"添加522到例如片头 部,或添加到比片级别更高的另一个级别处的语法元素,诸如自适应参数集、图像参数集和 /或序列参数集。另外,在一些实施例中,可以在活动参数集中指示存在片头部级别信令,活 动参数集可以具有诸如自适应参数集、图像参数集和/或序列参数集的任何类型。
[0233] 在以下,参照图7更详细地描述解码器600的示例实施例的操作。
[0234] 在解码器侧,执行类似的操作以重建图像块。图7示出了用于使用本发明的实施 例的视频解码器700的框图。可以从编码器、从网络元素、从存储介质或从另一个源来接收 将被解码的比特流。解码器知道该比特流的结构,以便它能够确定熵编码码字的含义,以及 可以通过熵解码器701来解码该比特流,熵解码器701对所接收的信号执行熵解码。熵解 码器因此执行上述编码器的熵编码器330的反操作。熵解码器701将熵解码的结果输出给 预测误差解码器702和像素预测器704。
[0235] 在一些实施例中,可以不使用熵编码,而是可以使用另一个信道编码,或可以将编 码的比特流提供给解码器700而没有信道编码。解码器700可以包括对应的信道解码器以 从所接收的信号获得编码码字。
[0236] 像素预测器704接收熵解码器701的输出。熵解码器701的输出可以包含关于在 编码当前块中使用的预测模式的指示。在像素预测器704内的预测器选择器714确定将执 行帧内预测还是帧间预测。此外,预测器选择器714可以将图像块716的预测表示输出给 第一组合器713。图像块716的预测表示结合重建的预测误差信号712 -起使用,以生成 初步重建图像718。初步重建图像718可以在预测器714中使用,或可以被传递给过滤器 720。过滤器720 (如果使用)应用过滤,该过滤输出最终的重建信号722。最终的重建信 号722可以被存储在参考帧存储器724中,参考帧存储器724还连接到用于预测运算的预 测器714。
[02
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1