首页> 中国专利> 用于在调色板编码模式中对调色板进行编码或解码的方法和设备

用于在调色板编码模式中对调色板进行编码或解码的方法和设备

摘要

本发明涉及用于根据HEVC RExt、使用调色板预测模式来对图像的当前像素块进行处理的方法和装置。该模式使用当前调色板来构建索引的预测结果块,以预测当前像素块。当前调色板包括使条目索引与像素值相关联的条目。该方法包括根据作为先前用于对像素块进行处理的调色板的两个或更多个调色板的条目来预测当前调色板。可以使用如下的调色板预测结果,其中该调色板预测结果是根据两个或更多个调色板、优选根据针对当前编码实体中的编码单元的最后使用的调色板以及根据标志位图表示元素是否已被复制到最后使用的调色板中的先前使用的调色板所构建的。因此,改进了调色板模式的编码。

著录项

  • 公开/公告号CN105814891A

    专利类型发明专利

  • 公开/公告日2016-07-27

    原文格式PDF

  • 申请/专利权人 佳能株式会社;

    申请/专利号CN201480067915.2

  • 发明设计人 G·拉罗彻;C·吉斯科特;P·乌诺;

    申请日2014-12-10

  • 分类号H04N19/176;H04N19/186;H04N19/159;H04N19/184;H04N19/70;

  • 代理机构北京魏启学律师事务所;

  • 代理人魏启学

  • 地址 日本东京都大田区下丸子3丁目30番2号

  • 入库时间 2023-06-19 00:09:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-02

    授权

    授权

  • 2016-08-24

    实质审查的生效 IPC(主分类):H04N19/176 申请日:20141210

    实质审查的生效

  • 2016-07-27

    公开

    公开

说明书

技术领域

本发明涉及用于使用调色板(palette)预测模式来对图像的当前像素块进行处理 (例如,编码或解码)的方法和装置。本发明特别涉及如HEVC范围扩展中所介绍的调色板模 式编码。

背景技术

本发明更特别地适用于基于利用所谓的调色板进行编码后的或者根据所谓的调 色板构建得到的预测结果块来对当前像素块进行预测编码的编码模式。

本申请中的调色板被定义为具有使索引与像素的值相关联的条目或“元素”的查 找表。通常、但并非必需地,像素的值包括与该像素相关联的各颜色分量的值,这样得到彩 色调色板。然而,像素的值可以由单个像素分量构成,这样得到单色调色板。

通常将对像素块进行编码的该模式称为调色板编码模式。例如,在高效视频编码 (HEVC:ISO/IEC23008-2MPEG-H第2部分/ITU-TH.265)国际标准的范围扩展中,考虑采用 该模式。

在对视频序列中的图像进行编码的情况下,首先将该图像分割成被称为编码树块 (CTB)的具有大小相等的像素的编码实体。编码树块的大小通常是64×64个像素。然后,各 编码树块可分解成较小块的层级树,其中这些较小块的大小可以改变,并且这些较小块是 要编码的实际像素块。将要编码的这些较小块称为编码单元(CU)。

特定编码单元的编码通常是可以预测的。这意味着首先确定预测结果块。接着,计 算预测结果块和编码单元之间的差。将该差称为残差。接着,对该残差进行压缩。编码单元 的实际编码信息由用以表示确定预测结果块和压缩后的残差的方式的某种信息构成。最佳 预测结果块是与编码单元尽可能相似以获得可以高效地进行压缩的小残差的块。

基于用于确定编码单元的预测编码方法所用的预测结果块的方法来定义编码模 式。

将第一个编码模式称为INTRA(帧内)模式。根据INTRA模式,基于当前图像内的直 接包围编码单元的像素的值来构建预测结果块。值得注意的是,预测结果块不是当前图像 的块而是当前图像的重建。使用方向来确定构建预测结果块实际使用了与块的边界相邻的 哪些像素以及如何使用这些像素。INTRA模式背后的想法是:由于自然图像的通常的连贯 性,因此直接包围编码单元的像素有可能与当前编码单元的像素相似。因此,可以基于这些 周围像素使用预测结果块来获得编码单元的像素值的良好预测。

将第二个编码模式称为INTER(帧间)模式。根据INTER模式,预测结果块是另一图 像的块。INTER模式背后的想法是:序列中的连续图像通常非常相似。主要区别通常源自于 由于照相机的滚动或者由于场景中的运动物体所引起的这些图像之间的运动。预测结果块 由相对于当前图像内的编码单元的位置、给出该预测结果块在参考图像中的位置的矢量来 确定。该矢量被称为运动矢量。根据该模式,使用该模式的这种编码单元的编码包括包含运 动矢量和压缩后的残差的运动信息。

本申请关注于被称为调色板模式的第三个编码模式。根据调色板模式,可以将给 定编码单元的预测结果块定义为来自调色板的索引的块:针对预测结果块中的各像素位 置,预测结果块包含与调色板中的如下像素值相关联的索引,其中该像素值最接近于编码 单元中位置相同(即,同位置)的像素的值。调色板编码模式如此使用当前调色板来构建索 引的预测结果块,以预测当前编码单元或像素块。然后,计算表示预测结果块和编码单元之 间的差的残差,并对该残差进行编码。调色板中的条目索引还已知为“等级(level)”。

在使用调色板模式的情况下,必须在对图像进行编码的位流中传输调色板以及索 引或“等级”的预测结果块。由于需要针对各编码单元传输可能包括数十个条目的调色板, 因此这表示信令的成本高。

发明内容

本发明是为了使用调色板模式来改进编码、特别是为了大幅降低信令成本所设计 的。

本发明提供了通过预测对像素块进行编码时所使用的调色板来改进调色板模式 的编码。这样使得要从编码器向解码器传输的与调色板有关的信息较少:信令成本大幅降 低。

根据本发明的第一方面,提供一种用于使用调色板编码模式对图像的当前像素块 进行处理的方法,所述调色板编码模式使用包括条目的集合的当前调色板,条目的集合使 各个条目索引与相应的像素值相关联,所述方法包括:预测步骤,用于根据两个或更多个调 色板的条目来预测所述当前调色板,所述两个或更多个调色板是先前用于对像素块进行处 理的调色板,其中,所述预测步骤包括从所述两个或更多个调色板中的给定调色板中进行 条目的选择,条目的该选择是基于标志的位图,各标志用于定义所述给定调色板中的相应 条目是否被选择为用以生成另一调色板中的条目的条目,其中所选择的条目包括所述给定 调色板中的与所述位图的用于定义不选择用以生成所述另一调色板的条目的标志相对应 的条目。这样,可以如此对预测其它调色板的情况下所述给定调色板中已经丢弃的条目进 行检索以丰富所述当前调色板或所述当前调色板的调色板预测结果。

在实施例中,所述另一调色板是所述两个或更多个调色板中的另一调色板。

在实施例中,所述另一调色板是用于对所述图像中的紧挨所述当前像素块之前的 像素块进行处理的调色板。

在实施例中,所述给定调色板是用于对所述图像中的紧挨位于紧接所述图像中的 所述当前像素块之前的像素块的前面的像素块进行处理的调色板。

在实施例中,标志的所述位图包括所述位图中的预定义位置处的至少一个元素, 所述至少一个元素用于通知所述位图是否包括位于所述预定义位置之后的至少一个附加 标志,所述至少一个附加标志用于定义所述给定调色板中的用以生成所述另一调色板的条 目的选择。

在实施例中,所述当前调色板是根据基于所述两个或更多个调色板所构建的调色 板预测结果而生成的。

在实施例中,构建所述调色板预测结果包括:从对所述图像中紧挨所述当前像素 块之前的像素块进行处理所最后使用的调色板中选择所有条目,并且从用于对所述图像中 的另一像素块进行处理的另一调色板中选择至少一个条目。该结构使得可以利用特别是如 上所述所选择的可能具有高相关性的附加条目来补充传统的调色板预测结果(通常是最后 使用的调色板)。

在实施例中,所述当前调色板是使用标志的位图根据所述调色板预测结果所生成 的,其中各标志用于定义所述调色板预测结果中的相应条目是否被选择为用以生成所述当 前调色板中的条目的条目。

在实施例中,在构建中的调色板预测结果中已不存在相似条目的情况下,将所述 两个或更多个调色板的条目添加至该构建中的调色板预测结果。

根据本发明的第二方面,提供一种用于将数字图像的序列编码在位流中的方法, 其中使用调色板编码模式对图像的至少一个块进行编码,所述方法包括根据第一方面的用 于对当前像素块进行处理的方法。

根据本发明的第三方面,提供一种用于对包括编码后的数字图像的序列的位流进 行解码的方法,其中已使用调色板编码模式对图像的至少一个块进行了编码,所述方法包 括根据第一方面的用于对当前像素块进行处理的方法。

根据本发明的第四方面,提供一种用于使用调色板编码模式对图像的当前像素块 进行处理的装置,所述调色板编码模式使用包括条目的集合的当前调色板,条目的集合使 各个条目索引与相应的像素值相关联,所述装置包括:预测模块,用于根据两个或更多个调 色板的条目来预测所述当前调色板,所述两个或更多个调色板是先前用于对像素块进行处 理的调色板,其中,所述预测部所进行的预测包括从所述两个或更多个调色板中的给定调 色板中进行条目的选择,条目的该选择是基于标志的位图,各标志用于定义所述给定调色 板中的相应条目是否被选择为用以生成另一调色板中的条目的条目,其中所选择的条目包 括所述给定调色板中的与所述位图的用于定义不选择用以生成所述另一调色板的条目的 标志相对应的条目。

根据本发明的第五方面,提供一种用于使用调色板编码模式对图像的当前像素块 进行处理的装置,所述调色板编码模式使用包括条目的集合的当前调色板,条目的集合使 各个条目索引与相应的像素值相关联,所述装置具有用于实现根据上述第一方面的方法的 部件。

根据本发明的第六方面,提供一种用于将数字图像的序列编码在位流中的装置, 所述装置包括用于进行根据第二方面的方法的部件。

根据本发明的第七方面,提供一种用于对包括数字图像的序列的位流进行解码的 装置,所述装置包括用于进行根据第三方面的方法的部件。

根据本发明的第八方面,提供一种用于存储程序的非瞬态计算机可读介质,所述 程序在由用于使用调色板编码模式对图像的当前像素块进行处理的装置中的微处理器或 计算机系统执行的情况下,使得所述装置进行以下步骤:预测步骤,用于根据两个或更多个 调色板的条目来预测包括条目的集合的当前调色板,其中所述调色板编码模式使用所述当 前调色板,条目的集合使各个条目索引与相应的像素值相关联,所述两个或更多个调色板 是先前用于对像素块进行处理的调色板,其中,所述预测步骤包括从所述两个或更多个调 色板中的给定调色板中进行条目的选择,条目的该选择是基于标志的位图,各标志用于定 义所述给定调色板中的相应条目是否被选择为用以生成另一调色板中的条目的条目,其中 所选择的条目包括所述给定调色板中的与所述位图的用于定义不选择用以生成所述另一 调色板的条目的标志相对应的条目。

根据本发明的第九方面,一种包括指令的计算机程序,所述指令在由计算机执行 的情况下,使得所述计算机进行根据第一方面、第二方面和第三方面中的任一方面的方法。

根据本发明的另一方面,提供一种用于使用调色板编码模式来对图像的当前像素 块进行处理的方法,其中所述调色板编码模式使用包括条目的集合的当前调色板,条目的 集合使各个条目索引与相应的像素值相关联。

所述方法包括根据两个或更多个调色板的条目来预测所述当前调色板的步骤,其 中所述两个或更多个调色板是先前用于对像素块进行处理的调色板。

因此,如上所述,较少的与当前调色板有关的信息传输至解码器,如此减少了位流 中的信令。如以下在本申请中所述,调色板预测结果可以由两个或更多个调色板构成,并且 可以使用该调色板预测结果来预测当前调色板的全部或一部分。因而,本发明还在于避免 在用以产生调色板的单个调色板预测结果被证明具有非常少的元素的情况下具有较差的 调色板。这在采用这种调色板预测结果的情况下可能发生。

在变形例中,调色板编码模式使用当前调色板来构建索引的预测结果块以预测当 前像素块,并且所述方法包括使用调色板预测结果来预测所述当前调色板的步骤。

相应地,根据本发明的其它方面,提供一种用于使用调色板编码模式对图像的当 前像素块进行处理的装置(即,根据情况为编码器或解码器),其中所述调色板编码模式使 用包括条目的集合的当前调色板,条目的集合使各个条目索引与相应的像素值相关联。

所述装置包括预测模块,所述预测模块用于根据两个或更多个调色板的条目来预 测所述当前调色板,其中所述两个或更多个调色板是先前用于对像素块进行处理的调色 板。

在变形例中,所述调色板编码模式使用当前调色板来构建索引的预测结果块以预 测当前像素块,并且所述预测模块用于使用调色板预测结果来预测所述当前调色板。

在所附权利要求书中定义本发明的实施例的可选特征。这里以下参考方法来说明 这些特征中的一部分特征,而这一部分特征可以转换为根据本发明的实施例的装置所专有 的系统特征。

在本发明的一些实施例中,所述当前调色板的预测包括从所述两个或更多个调色 板中的给定调色板中进行条目的选择,条目的该选择是基于标志的位图,各标志用于定义 所述给定调色板中的相应条目是否被选择为用以生成另一调色板的条目的条目。这是因 为,标志的位图使得可以知晓哪些元素/条目已重复用于一些调色板以及哪些元素/条目已 被丢弃。由于该信息,可以利用可能恰好与当前处理中的像素块相关的一些丢弃元素来丰 富调色板预测结果或当前调色板。

特别地,在如下情况下如此:所选择的条目包括给定调色板中的与位图中定义不 选择用以生成另一调色板的条目的标志相对应的条目。这种标志表示该条目先前已被丢 弃。

根据一些特征,所述另一调色板是所述两个或更多个调色板中的另一调色板。这 意味着由于基于彼此的预测而紧密相关的两个调色板都用于预测当前调色板。例如在使用 最后使用的调色板来预测新调色板的情况下可能发生该结构。

如此可以对预测其它调色板的情况下所述给定调色板中已经丢弃的条目进行检 索以丰富所述当前调色板或所述当前调色板的调色板预测结果。

特别地,所述另一调色板可以是最后用于对图像中(根据编码/解码顺序)位于所 述当前像素块正前(即,紧挨在所述当前像素块之前)的像素块进行处理的调色板。另外,所 述给定调色板和所述另一调色板可以是用于对图像中(根据相同的编码/解码顺序)位于所 述当前像素块正前的最后两个像素块进行处理的两个调色板。特别地,给定调色板可以是 用于对图像中紧挨位于紧接图像中的当前像素块之前的像素块的前面的像素块进行处理 的调色板。这些结构利用连续且靠近的像素块之间的冗余,以获得高效编码。

根据其它特征,标志的所述位图包括所述位图中的预定义位置处的至少一个元 素,所述至少一个元素用于通知所述位图是否包括位于所述预定义位置之后的至少一个附 加标志,所述至少一个附加标志用于定义所述给定调色板中的用以生成所述另一调色板的 条目的选择。这是为了缩小位图的大小并由此降低信令成本。这是因为,根据如何构建调色 板,给定调色板的最后的条目更有可能是陈旧且无效的元素。因此,有可能位图的最后的标 志全部被设置为0,从而定义不从给定调色板选择相应条目。

在如以上所介绍的一些实施例中,当前调色板是根据基于两个或更多个调色板所 构建的调色板预测结果而生成的。

在一些特定实施例中,构建所述调色板预测结果包括:从最后用于对所述图像中 位于所述当前像素块正前的像素块进行处理的调色板中选择所有条目,并且从用于对所述 图像中的另一像素块进行处理的另一调色板中选择至少一个条目。该结构使得可以利用特 别是如上所述所选择的可能具有高相关性的附加条目来补充传统的调色板预测结果(通常 是最后使用的调色板)。

在其它特定实施例中,所述当前调色板是使用标志的位图根据所述调色板预测结 果所生成的,其中各标志用于定义所述调色板预测结果中的相应条目是否被选择为用以生 成所述当前调色板中的条目的条目。

在一些实施例中,在构建中的调色板预测结果中已不存在相似条目的情况下,将 所述两个或更多个调色板的条目添加至该构建中的调色板预测结果。这是为了避免冗余。

在一些实施例中,根据预定义的扫描顺序对图像的像素块进行处理;并且针对当 前像素块的调色板预测结果是从用于对根据调色板编码模式先前进行了处理的像素块进 行预测的调色板的集合中所选择的。由于这是基于过去的调色板,因此这与当前调色板的 帧间预测相对应。由于在对当前像素块进行处理的情况下,已经可以在两侧(编码器和解码 器)利用具有大量信息的过去的调色板,因此该结构有可能降低大量的信令成本。如此可以 进行高效的调色板预测。

在特定实施例中,针对当前像素块的调色板预测结果是根据调色板编码模式进行 了处理的最后一个像素块所使用的调色板。换句话说,最后使用(例如,解码)的调色板被选 择为调色板预测结果。该设置利用了相继处理的像素块之间的高度像素冗余,这是由于这 些像素块通常在空间上接近。该设置还减少了存储先前使用的调色板的存储器成本,这是 由于仅需存储最后一个调色板。另外,该设置可以节省编码位流中的位,这是由于不必指定 使用哪个先前使用的调色板作为针对当前像素块的调色板预测结果。

在其它特定实施例中,针对当前像素块的调色板预测结果是从根据调色板编码模 式先前进行了处理的与当前像素块连续的像素块所使用的调色板的集合中所选择的。实际 上,这通常是当前像素块的上方或左方的像素块。该设置还利用邻接的像素块之间的高度 像素冗余。

在另一其它特定实施例中,在当前像素块开始诸如条带(slice)或独立区块 (tile)等的由像素块构成的新编码实体、或者开始各自由像素块构成的新的一排编码实体 的情况下,重置先前处理的像素块所使用的调色板的集合。在变形例中,重置可以针对各新 的图像或帧而发生。由于可以并行地处理编码实体或编码实体排(例如,HEVC中的编码树 块),因此该设置可以加速图像的处理(编码或解码)。此外,针对各个新的编码实体排的重 置被证明与针对各编码实体的重置相比提供了更高效的像素块的编码。

如HEVC标准中所定义的独立区块包括至少一个条带,并且从空间上独立于其它区 块。

根据特定特征,将调色板的集合重置为空的集合。

在变形例中,重置后的调色板的集合包括默认调色板。因而,即使在重置的情况 下、即在对新的编码实体进行处理的情况下,该结构也可以提供调色板预测。这样使得可以 再次降低针对新编码实体中的第一个编码单元的信令成本。

在该变形例中,默认调色板可以包括与均等地分布于整个颜色空间的像素值相对 应的预定实体的集合。例如,对于以YUV颜色空间表示的像素(这将同样适用于RGB颜色空 间),像素值可以均等地分布于整个Y分量,而考虑到用于对各颜色分量进行编码的位深度, U和V分量值可以固定为最大可能值MAX的一半(即,U和V取颜色空间中的相应分量的中值), 例如1<<(位深度-1)或(MAX+1)/2。

在本发明的其它实施例中,参考调色板预测结果与包括构成图像的像素块的各个 编码实体相关联,并且针对当前像素块的调色板预测结果是与包括当前像素块的编码实体 相关联的参考调色板预测结果。本发明的这些实施例使得可以在编码实体(例如,CTB)层级 定义非常高效的调色板预测结果。作为示例,以与上述的重置相同的精神,可以针对单排编 码实体定义单个参考调色板预测结果。这是为了降低将参考调色板预测结果通知至解码器 的成本。

在特定实施例中,使用与编码实体相关联的参考调色板预测结果作为针对构成编 码实体的各像素块的调色板预测结果。由于该设置,针对整个编码实体需要有限量的信息、 即参考调色板预测结果。目的是与传统的调色板模式相比大幅降低信令成本。

优选地,将参考调色板预测结果插入用于对图像进行编码的位流中。这样使得解 码器可以具有这些参考调色板预测结果以针对编码实体中的各像素块高效地进行调色板 预测,即无需用以确定这些预测结果的复杂机制。

在与编码器有关的特定实施例中,该方法还可以包括从用于预测编码实体的所有 像素块的调色板中选择使率失真标准最小化的调色板作为针对该编码实体的参考调色板 预测结果。然后,编码器应将所选择的参考调色板预测结果在位流中通知至解码器。这样提 供了针对编码实体的所有调色板选择最佳调色板。

在与编码器有关的变形例中,该方法还可以包括选择用于预测编码实体的最大像 素块的调色板作为针对该编码实体的参考调色板预测结果。然后,编码器应将所选择的参 考调色板预测结果在位流中通知至解码器。参考调色板预测结果的该选择的实现非常简 单,并且该实现的复杂度低。

在本发明的另外其它实施例中,针对当前像素块的调色板预测结果包括与同当前 像素块相邻的像素的值相对应的实体。这是为了利用在空间上靠近的像素之间的高度像素 冗余。

在特定实施例中,从与当前像素块的上侧和左侧连续的像素中选择与当前像素块 相邻的像素。考虑到逐块HEVC编码的原因效果,该设置在维持针对在编码器和解码器处始 终可利用的像素的依赖性的同时,增大了上述的优点。实际上,传统的扫描顺序表示已重建 了与当前像素块的上侧和左侧连续的块。

根据特定特征,与当前像素块相邻的像素包括相对于连续的当前像素块位于左上 方、右上方和左下方的像素。当然,这三个特定像素可以形成所选择的相邻像素。这些像素 是传统的帧内预测模式所使用的像素。这些像素利用少量信息来提供与当前像素块的像素 有关的相关信息。

在其它特定实施例中,从与当前像素块相邻的像素的预定集合中选择预定义数量 的像素作为调色板预测结果的条目,其中所选择的像素是像素的预定集合内彼此之间空间 距离最高的像素。这样产生了多样性并且避免了重复像素。

在另外的其它特定实施例中,像素类与各相邻像素相关联,并且根据与当前像素 块相邻的像素的预定集合内的相邻像素的关联类的发生次数来对这些相邻像素进行排序, 以将调色板预测结果中较低的条目索引给予具有更频繁的像素类的相邻像素。这是为了在 适当情形下降低对调色板预测结果进行编码的情况下的成本。注意,与给定像素相关联的 类可以由给定像素的值附近的像素值(例如,考虑到预定义余量)来定义。

在本发明的另外其它实施例中,当前调色板具有有序条目,并且使用调色板预测 结果来预测当前调色板,这包括根据同一当前调色板中的前一条目来预测当前调色板的条 目。换句话说,对调色板的给定条目进行处理的情况下的调色板预测结果由彩色调色板中 位于该给定条目前面的条目构成(包括彩色调色板中位于该给定条目前面的条目)。这类似 于彩色调色板的帧内预测。

在特定实施例中,当前调色板的给定条目可以根据同一当前调色板中位于该给定 条目正前的条目来进行预测。由于不再需要将与使用前一条目来预测当前条目有关的信息 发送(至解码器),因此该设置减少了位流中的信令(并由此降低了编码成本)。

以相同方式,当前调色板中除第一个条目以外的所有条目可以根据同一当前调色 板中位于这些条目正前的条目来进行预测。这样也减少了位流中的信令。这是因为预测出 了所有的条目,因而不再需要识别预测了哪些条目以及没有预测哪些条目。

可以组合上述的用以获得调色板预测结果的各种实施例的全部或一部分。考虑到 这种组合,因而用于预测当前调色板的调色板预测结果组合以下内容中的两个或更多个:

用于预测先前处理的像素块的调色板;

与包括当前像素块的编码实体相关联的参考调色板预测结果;

与同当前像素块相邻的像素的值相对应的条目;以及

当前调色板中位于该当前调色板中的要预测的当前条目前面的至少一个条目。

现在转向根据调色板预测结果来预测当前调色板,可以考虑多个实现。

在本发明的实施例中,使用调色板预测结果来预测当前调色板,这包括获得标志 的位图,其中各标志用于定义调色板预测结果中的相应条目是否被选择为当前调色板的条 目。该结构在根据调色板预测结果来定义实际预测方面具有低的(存储器和编码)成本。这 些成本局限于位图。

在特定实施例中,标志的位图包括数量与调色板预测结果中的条目的数量相同的 位,并且位图中的位置处的各位定义调色板预测结果中位置相应的条目是否被选择为当前 调色板的条目。该结构提高了编码效率。可以进一步缩小位图的大小的变形例可以考虑使 位图在被选择为当前调色板的条目的最后一个条目处停止。由于如以上所建议的、调色板 预测结果中的条目是根据这些条目的发生来进行排序的,因此这特别有利。在一些实施例 中,这样使得调色板预测结果的最后的条目在统计学上不经常用于当前调色板。

在其它特定实施例中,该方法还可以包括:在具有从调色板预测结果所选择出的 条目的当前调色板的末尾处添加附加条目。这些附加条目可以是针对(使用解码回路在解 码器和编码器这两者处)所解码的附加像素的条目、以及来自例如(如传统的调色板编码模 式中那样)由编码器所构建的并且(在位流中)传输至解码器的预定调色板的条目。该设置 在于提高当前调色板的编码效率。

在本发明的其它实施例中,使用调色板预测结果来预测当前调色板,这包括获得 与当前调色板的至少一个相应条目与调色板预测结果的条目之间的差相对应的至少一个 (可能为两个或更多个)条目残差。这意味着必须将根据调色板预测得到的残差发送至解码 器。该结构使得可以获得与(基于从预测结果向当前调色板的条目的复制的)先前实施例相 比更精细的调色板。

在特定实施例中,当前调色板和调色板预测结果分别具有有序条目,并且各条目 残差与当前调色板的条目和具有相同的条目索引的调色板预测结果的条目之间的差相对 应。由于不再需要将与使用预测结果的哪个条目来预测当前条目有关的信息发送(至解码 器),因此该设置减少了位流中的信令(并由此降低了编码成本)。

以相同方式,可以针对当前调色板中具有条目索引与调色板结果中的条目索引相 同的相应条目的每个条目获得残差。由于这附加地使得不再需要识别哪些条目需要预测以 及哪些条目不需要预测,因此这样同样减少了位流中的信令。

注意,基于条目的复制或者基于残差的这两个预测可以与使用上述的任意方法所 获得的调色板预测结果一起使用。对当前调色板进行帧内预测的情况除外,其中在这种情 况下,仅可以使用残差方法(否则在调色板中两个条目将相同)。

在一些实施例中,当前调色板的条目的像素值具有颜色分量,并且使用调色板预 测结果来仅预测颜色分量的子部分。实际上,可以预测三个颜色分量中的一个或两个。该设 置减少了处理以及位流中的信令。

本发明的另一方面涉及一种用于使用调色板编码模式对图像的当前像素块进行 处理的装置,所述调色板编码模式使用包括条目的集合的当前调色板,条目的集合使各个 条目索引与相应的像素值相关联,所述装置用于实现如以上所定义的处理方法的任何实施 例。

本发明的另一方面涉及一种用于存储程序的非瞬态计算机可读介质,所述程序在 由用于使用调色板编码模式来对图像的当前像素块进行处理的装置中的微处理器或计算 机系统执行的情况下,使得所述装置进行以下步骤:根据两个或更多个调色板的条目来预 测包括条目的集合的当前调色板,其中,所述调色板编码模式使用所述当前调色板,条目的 集合使各个条目索引与相应的像素值相关联,,所述两个或更多个调色板是先前用于对像 素块进行处理的调色板。

所述非瞬态计算机可读介质可以具有与以上和以下与方法和装置有关地所述的 特征和优点类似的特征和优点、特别是提高调色板预测模式的编码效率的特征和优点。

本发明的另一方面涉及一种大致如这里参考附图中的图13或14或15或17或19或 21或22进行说明并示出的用于使用调色板编码模式对图像的当前图像块进行处理的方法, 所述调色板编码模式使用当前调色板来构建索引的预测结果块以预测当前像素块,其中所 述当前调色板包括条目的集合,条目的集合使各个条目索引与相应的像素值相关联。

在本发明的还一方面中,提供一种用于根据调色板模式对图像的当前像素块进行 编码或解码的方法,所述调色板模式使用包括值的集合的彩色调色板,值的集合表示当前 块的像素的至少一个分量,所述方法包括以下步骤:获得彩色调色板预测结果,并且使用所 述彩色调色板预测结果来预测所述当前块的彩色调色板。

优选地,所述图像的块根据预定义的扫描顺序进行排序,并且彩色调色板预测结 果是基于图像的给定原因区域中根据调色板模式进行了编码的最后一个块的彩色调色板 所确定的。

在实施例中,根据彩色调色板预测结果中所包括的值来预测当前彩色调色板的 值。可以对彩色调色板的值进行排序,并且当前彩色调色板的值与用于表示所述值是否是 根据彩色调色板预测结果中具有相同顺序的值而预测得到的标志相关联。在实施例中,给 定原因区域是包括当前像素块的编码实体中已经重建的部分。

在实施例中,对彩色调色板的值进行排序,并且当前调色板的值与用于表示所述 值是否是根据彩色调色板预测结果中具有给定顺序的值而预测得到的标志相关联。

在实施例中,彩色调色板预测结果关联至图像的各编码实体。可以根据与当前块 相邻的像素获得彩色调色板预测结果。

在本发明的又一方面中,提供一种用于根据调色板模式对图像的当前像素块进行 编码或解码的方法,所述调色板模式使用包括值的集合的彩色调色板,值的集合表示当前 块的像素的至少一个分量,所述方法包括以下步骤:获得彩色调色板预测结果,并且使用所 述彩色调色板预测结果来预测所述当前块的彩色调色板,其中使用所述彩色调色板预测结 果来预测所述当前块的彩色调色板包括获得标志的位图,其中各标志用于定义所述彩色调 色板预测结果中的相应条目是否被选择为所述当前块的彩色调色板的条目。

标志的位图可以包括数量与彩色调色板预测结果中的条目的数量相同的位,并且 位图中的位置处的各位定义彩色调色板预测结果中位置相应的条目是否被选择为当前块 的彩色调色板的条目。

在实施例中,所述方法附加包括以下步骤:在具有从彩色调色板预测结果选择出 的条目的当前块的彩色调色板的末尾处添加附加条目。

在本发明的又一方面中,提供一种用于根据调色板模式对图像的当前像素块进行 编码或解码的方法,所述调色板模式使用包括值的集合的彩色调色板,值的集合表示当前 块的像素的至少一个分量,所述方法包括以下步骤:获得彩色调色板预测结果,并且使用所 述彩色调色板预测结果来预测所述当前块的彩色调色板,其中根据扫描顺序来对所述图像 的像素块进行处理,从用于预测根据所述调色板编码模式先前进行了处理的像素块的调色 板的集合中选择针对所述当前像素块的调色板预测结果,以及在所述当前像素块开始新的 一排各自包括像素块的编码实体的情况下,重置先前处理的像素块所使用的所述调色板的 集合。优选地,所述调色板的集合被重置为默认调色板。

根据本发明,还提供一种用于使用调色板编码模式对图像的当前像素块进行处理 的方法,所述调色板编码模式使用当前调色板来构建索引的预测结果块以预测所述当前像 素块,其中所述当前调色板包括条目的集合,条目的集合使各个条目索引与相应的像素值 相关联,所述方法包括使用调色板预测结果来预测所述当前调色板的步骤。

在实施例中,根据预定义的扫描顺序来对图像的像素块进行处理,并且从用于预 测根据调色板编码模式先前进行了处理的像素块的调色板的集合中选择针对当前像素块 的调色板预测结果。优选地,针对当前像素块的调色板预测结果是使用调色板编码模式进 行了处理的最后一个像素块所使用的调色板。可以从根据调色板编码模式先前进行了处理 的与当前像素块连续的像素块所使用的调色板的集合中选择针对当前像素块的调色板预 测结果。

优选地,在当前像素块开始包括像素块的新编码实体、或者开始新的一排各自包 括像素块的编码实体的情况下,重置先前处理的像素块所使用的调色板的集合。可以将调 色板的集合重置为空集合或默认调色板。默认调色板包括与均等地分布于整个颜色空间的 像素值相对应的预定条目的集合。

在实施例中,参考调色板预测结果与包括构成图像的像素块的各个编码实体相关 联,并且针对当前像素块的调色板预测结果是与包括当前像素块的编码实体相关联的参考 调色板预测结果。使用与编码实体相关联的参考调色板预测结果作为针对构成编码实体的 各像素块的调色板预测结果。优选将参考调色板预测结果插入用于对图像进行编码的位流 中。该方法还可以包括选择用于预测编码实体的最大像素块的调色板作为编码实体所用的 参考调色板预测结果。在实施例中,该方法还包括从用于预测编码实体的所有像素块的调 色板中选择使率失真标准最小化的调色板作为编码实体所用的参考调色板预测结果。

在实施例中,针对当前像素块的调色板预测结果包括与同当前像素块相邻的像素 的值相对应的条目。可以从与当前像素块的上侧和左侧连续的像素中选择与当前像素块相 邻的像素。与当前像素块相邻的像素可以包括相对于连续的当前像素块位于左上方、右上 方和左下方的像素。在实施例中,像素类与各相邻像素相关联,并且根据与当前像素块相邻 的像素的预定集合内的相邻像素的关联类的发生次数来对这些相邻像素进行排序,以将调 色板预测结果的较低条目索引给予具有更频繁的像素类的相邻像素。优选地,从与当前像 素块相邻的像素的预定集合中选择预定义数量的像素作为调色板预测结果的条目,其中所 选择的像素是像素的预定集合内彼此之间空间距离最高的像素。

在实施例中,当前调色板具有有序条目,并且使用调色板预测结果来预测当前调 色板,这包括根据当前调色板中的前一条目来预测同一当前调色板的条目。可以根据当前 调色板中位于给定条目正前的条目来预测同一当前调色板的该给定条目。当前调色板中除 第一个条目以外的所有条目可以根据同一当前调色板中位于这些条目正前的条目来进行 预测。

在实施例中,用于预测当前调色板的调色板预测结果组合以下内容中的两个或更 多个:用于预测先前处理的像素块的调色板;与包括当前像素块的编码实体相关联的参考 调色板预测结果;与同当前像素块相邻的像素的值相对应的条目;以及当前调色板中位于 该当前调色板中的要预测的当前条目前面的至少一个条目。

在实施例中,使用调色板预测结果来预测当前调色板,这包括获得标志的位图,其 中各标志用于定义调色板预测结果中的相应条目是否被选择为当前调色板的条目。标志的 位图可以包括数量与调色板预测结果中的条目的数量相同的位,并且位图中的位置处的各 位定义调色板预测结果中位置相应的条目是否被选择为当前调色板的条目。在另一实施例 中,该方法包括在具有从调色板预测结果选择出的条目的当前调色板的末尾处添加附加条 目。

在实施例中,使用调色板预测结果来预测当前调色板,这包括获得与当前调色板 的至少一个相应条目和调色板预测结果的条目之间的差相对应的至少一个条目残差。当前 调色板和调色板预测结果可以分别具有有序条目,并且各条目残差与当前调色板的条目和 调色板预测结果中具有相同的条目索引的条目之间的差相对应。优选地,针对当前调色板 中具有条目索引与调色板结果中的条目索引相同的相应条目的每个条目获得残差。

在实施例中,当前调色板的条目的像素值具有颜色分量,并且使用调色板预测结 果来仅预测颜色分量的子部分。

在本发明的又一方面中,提供一种用于使用调色板编码模式对图像的当前像素块 进行处理的装置,所述调色板编码模式使用当前调色板来构建索引的预测结果块以预测当 前像素块,其中所述当前调色板包括条目的集合,条目的集合使各个条目索引与相应的像 素值相关联,所述装置包括预测模块,所述预测模块用于使用调色板预测结果来预测所述 当前调色板。

在本发明的附加方面中,提供一种用于使用调色板编码模式对图像的当前像素块 进行处理的装置,所述调色板编码模式使用当前调色板来构建索引的预测结果块以预测当 前像素块,其中所述当前调色板包括条目的集合,条目的集合使各个条目索引与相应的像 素值相关联,所述装置用于实现根据另外提供的方法和上述的任意实施例的处理方法。

根据本发明的方法的至少一部分可以通过计算机来实现。因此,本发明可以采用 完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)、或者组合在此通常均 可称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本发明可以采用 使计算机可用程序代码嵌入在介质中的任何有形表现介质中所嵌入的计算机程序产品的 形式。

由于本发明可以以软件来实现,因此本发明可以体现为计算机可读代码以任何适 当载体介质上提供至可编程设备。有形载体介质可以包括诸如软盘、CD-ROM、硬盘驱动器、 磁带装置或固态存储器装置等的存储介质。瞬态载体介质可以包括诸如电气信号、电子信 号、光学信号、声学信号、磁信号或者例如微波或RF信号的电磁信号等的信号。

附图说明

现在将仅通过示例的方式并且参考以下附图来说明本发明的实施例,其中:

图1示出HEVC编码器架构;

图2示出HEVC解码器架构;

图3示出原因区域(causalarea)的概念;

图4示出HEVCRExt所支持的色度(Chroma)格式;

图5示出编码树块向编码单元的分割和这些编码单元的扫描顺序解码;

图6示出HEVC中的句法元素的基于Golomb的二进制编码;

图7示出HEVC范围扩展的研究中的解码器侧的调色板模式预测的原理;

图8示出编码单元以及相应的等级块和关联的调色板的示例;

图9示出同一等级块以及该等级块的编码所使用的句法元素的集合;

图10示出与调色板模式有关的句法元素的解码处理;

图11示出解码侧的用以构建等级块的重建处理;

图12示出编码器的示例性调色板确定算法;

图13示出编码器处的针对调色板模式的Pred模式、Level(等级)句法元素和Run (行程)句法元素的选择;

图14示出使用调色板预测的原理;

图14a示出数个CTB排列成行的帧;

图15示出根据本发明的实施例的基于在位流中所传输的参考调色板预测结果的 解码处理;

图16示出本发明的实施例中的使用相邻像素作为预测结果的当前编码单元;

图17示出根据本发明的实施例的、基于相邻像素的针对当前编码单元的调色板预 测结果的生成;

图18示出根据本发明的实施例的调色板预测结果的构建的示例;

图19示出根据本发明的实施例的基于标志的位图的调色板句法的解码;

图20示出一个示例中的图19的处理;

图21示出根据本发明的实施例的基于调色板元素和元素预测结果之间的残差的 解码处理;

图22示出根据本发明的实施例的调色板的帧内预测;

图23是本发明的一个或多个实施例的实现所用的计算装置的示意框图;

图24是示出根据本发明的一些实施例的、用于根据已存在的两个或更多个调色板 构建调色板预测结果的一般步骤的流程图;

图25示出图24的方法的示例性实现;

图26示出图24的处理的实现;以及

图27示出定义根据调色板预测结果可以如何预测调色板的标志的位图所用的修 改句法,并且包括示出用于对位图的修改句法进行解码的步骤的流程图。

具体实施方式

图1示出HEVC编码器架构。在视频编码器中,将原始序列101分割成像素块(102)。 然后,向各块分配编码模式。存在HEVC中通常使用的两类编码模式:基于空间预测的模式或 者INTRA模式103、以及基于时间预测的模式或基于运动估计104和运动补偿105的INTER模 式。已知为HEVCRExt的当前设计中的HEVC的扩展添加了用以对像素块进行编码的附加的 编码模式、即与INTRA和INTER编码模式竞争的调色板编码模式。以下特别是参考图7~13来 更详细地说明该调色板编码模式。

通常,通过被称为INTRA预测的处理,根据INTRA编码单元的原因边界处的编码后 像素来预测该INTRA编码单元。

INTER编码模式的时间预测首先在于:在运动估计步骤104中,在被称为参考帧116 的先前帧或将来帧中发现离编码单元最近的参考区域。该参考区域构成预测结果块。接着, 在运动补偿步骤105中,使用预测结果块来预测该编码单元以计算残差。

在空间预测和时间预测这两种情况下,通过从原始预测结果块中减去编码单元来 计算残差。

在INTRA预测中,对预测方向进行编码。在时间预测中,对至少一个运动矢量进行 编码。然而,为了进一步降低与运动矢量编码有关的位率成本,不是直接对运动矢量进行编 码。实际上,假定运动是均匀的,则将运动矢量编码成该运动矢量与其周围的运动矢量之间 的差,这特别有利。例如在H.264/AVC编码标准中,相对于所计算出的位于当前块的上方和 左方的三个块之间的中值矢量,对运动矢量进行编码。仅将所计算出的中值矢量和当前块 运动矢量之间的还被称为残差运动矢量的差编码在位流中。这是在模块“Mv预测和编码” 117中进行处理的。将各编码后矢量的值存储在运动矢量字段118中。从运动矢量字段118中 提取预测所使用的相邻运动矢量。

接着,在模块106中选择使率失真性能最优的模式。为了进一步减少冗余,在模块 107中对残差块实施通常为DCT的变换,并且在模块108中对系数实施量化。然后,在模块109 中对量化后的系数块进行熵编码,并且将该结果插入位流110中。

然后,在模块111~116中,编码器进行编码后的帧的解码,以供将来运动估计所使 用。这是编码器中的解码回路。这些步骤使得编码器和解码器能够具有相同的参考帧。为了 重建编码后的帧,在模块111中对残差进行逆量化并且在模块112中对残差进行逆变换,从 而在像素域中提供“重建”残差。根据编码模式(INTER或INTRA),将该残差添加至INTER预测 结果(114)或INTRA预测结果(113)。

接着,在模块115中,利用一种或数种后滤波对该第一次重建进行滤波。这些后滤 波器集成于解码回路中。这意味着,需要在编码器和解码器处将这些后滤波器应用于重建 帧,以在编码器和解码器处使用相同的参考帧。该后滤波的目的是去除压缩伪像 (compressionartifact)。

在图2中示出了HEVC解码器的原理。首先,在模块202中对视频流201进行熵解码。 然后,在模块203中对残差数据进行逆量化并且在模块204中对残差数据进行逆变换,以获 得像素值。还可以对模式数据进行熵解码,并且根据模式来进行INTRA型解码或INTER型解 码。在INTRA模式的情况下,从位流中解码得到INTRA预测方向。然后,使用该预测方向来定 位参考区域(205)。如果模式是INTER,则从位流中解码得到运动信息(202)。该运动信息包 括参考帧索引和运动矢量残差。将运动矢量预测结果添加至运动矢量残差以获得运动矢量 (210)。然后,使用运动矢量来定位参考帧中的参考区域(206)。注意,利用解码后的运动矢 量来更新运动矢量字段数据211以用于下一解码后运动矢量的预测。然后,利用与编码器侧 所使用的完全相同的后滤波器来对解码后的帧的该第一次重建进行后滤波(207)。解码器 的输出是解压缩视频209。

图3示出通过如HEVC那样的逐块编码所得到的原因原理。

在高等级处,图像分割成按光栅扫描顺序进行编码的编码单元。因而,在对块3.1 进行编码的情况下,区域3.3的所有块已进行了编码,并且可被视为可供编码器利用。同样, 在解码器处对块3.1进行解码的情况下,区域3.3的所有块已进行了解码并且如此进行了重 建,并且可被视为在解码器处可利用。区域3.3被称为编码单元3.1的原因区域。一旦对编码 单元3.1进行了编码,则该编码单元3.1将属于下一编码单元的原因区域。该下一编码单元 以及接下来的所有编码单元属于作为点状区域示出的区域3.4,并且无法用于对当前编码 单元3.1进行编码。值得注意的是,原因区域由重建块构成。用于对给定编码单元进行编码 的信息不是图像的原始块,其原因是该信息在解码时不可用。解码时可用的唯一信息是原 因区域中的像素块的重建版本、即这些块的解码后版本。由于该原因,在编码时,对原因区 域中在先前进行了编码的块进行解码以提供这些块的该重建版本。

在对块3.1进行编码时,可以使用来自原因区域中的块3.2的信息。在HEVC范围扩 展草案规范中,可在位流中传输的位移矢量3.5可以表示该块3.2。

图5示出将编码树块分割为编码单元以及用以顺次处理这些编码单元的示例性扫 描顺序。在HEVC标准中,利用编码树块(CTB)来组织块结构。帧包含数个非重叠的正方形编 码树块。编码树块的大小可以在64×64~16×16的范围内。该大小是在序列层级确定的。在 编码效率方面最高效大小是最大大小即64×64。注意,除图像边界外,所有的编码树块具有 相同的大小,这意味着这些编码树块是按行排列的。边界CTB的大小根据剩余像素的数量而 改变。

各编码树块包含一个或多个正方形的编码单元(CU)。编码树块基于四叉树结构而 分割成多个编码单元。编码树块中的各编码单元的处理(编码或解码)顺序基于光栅扫描顺 序而遵循四叉树结构。图5示出编码单元的处理顺序的示例。在该图中,各编码单元中的数 字给出该编码树块的各相应编码单元的处理顺序。

在HEVC中,使用多个方法来对不同的句法元素(例如,块残差、与预测结果块有关 的信息(运动矢量、INTRA预测方向等))进行编码。HEVC使用诸如基于上下文的自适应二进 制算术编码(CABAC)、Golomb-rice码或被称为固定长度编码的简单二进制表示等的多种熵 编码。在大多数情况下,进行二进制编码处理以表示不同的句法元素。该二进制编码处理同 时也是非常有针对性的,并且依赖于不同的句法元素。

例如,被称为“coeff_abs_level_remaining”的句法元素包含系数残差的绝对值 或该绝对值的一部分。该二进制编码处理的想法是针对最初的值使用Golomb-Rice码、并且 针对更高的值使用指数Golomb码。更具体地,根据被称为GolombOrder(哥伦布阶次)的给 定参数,这意味着为了表示最初的值(例如,0~3的值),使用Golomb-Rice码,然后对于更高 的值(例如,4以上的值),使用指数Golomb码。GolombOrder是Golomb-Rice码和指数Golomb 码这两者所使用的参数。

图6示出解码侧的该原理。解码处理的输入数据是位流601以及GolombOrder或已 知为RiceGolomb参数的Order。该处理的输出是解码后符号612。

在步骤602中将前缀(Prefix)值设置为等于1,然后从步骤601中的位流提取1位, 并且将变量标志设置为等于解码后的值(603)。如果在步骤604中该标志等于0,则使Prefix 值递增(605),并且从位流提取另一位(603)。在标志值等于1的情况下,决定模块606检查值 Prefix是否严格小于3。如果为真,则从位流601提取N位(其中,N=Order)(608)并且将该N 位设置为变量“码字”。这与Golomb-Rice表示相对应。如步骤609所示,将符号(Symbol)值 612设置为等于((Prefix<<Order)+码字)。其中,“<<”是左移运算符。

如果在步骤606中Prefix大于或等于3,则下一步骤是610,其中在该步骤610中,从 位流中提取N位(其中,N=prefix–3+Order),并且将这N位设置为变量“码字”(610)。将符号 值611设置为等于((1<<(prefix-3))+2)<<Order)+码字。这与指数Golomb表示相对应。

以下,该解码处理和采用对称方式的相应编码处理被称为输入参数与Golomb Order相对应的Golomb_H。可以用简单方式来标注Golomb_H(Order)。

在HEVC中,对于诸如残差等的一些句法元素,更新GolombOrder以使得熵编码适 应要编码的信号。在系数的值较大的情况下,更新公式尝试通过增加GolombOrder来减小 Golomb码的大小。在HEVC标准中,通过以下公式来给出更新:

Order=Min(cLastRiceOrder+(cLastAbsLevel>(3*(1<<cLastRiceOrder))? 1:0),4)

其中,cLastRiceOrder是最后使用的Order,cLastAbsLevel是最后解码的coeff_ abs_level_remaining。请注意,对于要编码或解码的第一个参数,cLastRiceOrder和 cLastAbsLevel设置为等于0。此外,请注意,在该公式中,参数Order不能超过值4。并且,表 达式(C?A:B)在条件C为真的情况下具有值A,并且在条件C为假的情况下具有值B。

通常还被称为HEVCRExt的HEVC范围扩展是针对新的视频编码标准HEVC的当前正 起草的扩展。

该扩展的目的是提供利用附加的颜色格式和位深度并且可以以无损方式对视频 序列进行编码的附加工具。特别地,该扩展被设计成除4:2:0视频格式(参见图4)外,还支持 4:2:2颜色格式和4:4:4视频格式。彩色图像通常由三个颜色分量R、G和B构成。这些分量通 常相关,并且在图像和视频压缩中,在处理对图像之前对颜色分量进行去相关是很常见的。 对颜色分量进行去相关的最常见格式是YUV颜色格式。通常,通过向R、G和B输入帧这三个输 入应用线性变换,根据图像的RGB表示来创建YUV信号。Y通常被称为亮度分量,U和V通常被 称为色度分量。代替术语“YUV”,通常还使用术语“YCbCr”。

关于作为对像素的各颜色分量进行编码所使用的位数的位深度,尽管当前HEVC标 准能够应对具有8位和10位的位深度(即,256~1024个可能的颜色)的4:2:0颜色格式,但 HEVCRExt将被设计成附加地支持具有8位~16位的扩展位深度(即,多达65536个可能颜 色)的4:2:2和4:4:4视频格式。这对于具有更大的颜色分量动态而言特别有用。

HEVCRExt还被设计成提供输入序列的无损编码;这是为了使解码输出209严格等 于输入101。为了实现此,与传统的HEVC有损编解码器相比,修改或添加了多个工具。这里提 供以下用以以无损方式实现的示例性修改或添加的非穷尽列表:

-去除量化步骤108(解码器中的203);

-强制启用旁路变换,这是因为正常余弦/正弦变换107可能引入误差(解码器中的 204);

-去除专用于对量化噪声进行补偿的工具,诸如后滤波115(解码器中的207)等。

对于HEVCRExt,进一步修改了GolombOrder的更新公式,以适应于应对更高的位 深度、并且考虑用于应对扩展格式(4:2:2和4:4:4)的包括无损编码的视频压缩的应用程序 所要求的非常高的质量。对于HEVCRExt,更新公式已如下所述发生了改变:

Order=Min(cLaxtRiceOrder+(cLastAbslevel>>(2+cLastRiceOrder)),7)

根据该公式,Order的最大值是7。此外,对于变换块的子块所用的coeff_abs_ level_remaining的第一次编码,GolombOrder设置为:

Order=

Max(0,cRiceOrder-(transtorm_skip_flag||cu_transquant_bypass_flag?1: 2))

其中:

·变量“transform_skip_flag”在针对当前编码单元跳过了变换(例如,DCT107或 204)的情况下被设置为1,并且在使用变换的情况下被设置为0,

·变量“cu_transquant_bypass_flag”在对编码单元进行无损编码的情况下被设 置为1,否则被设置为0,

·变量“cRiceOrder”被设置为等于来自变换块的另一子块的最后使用的Order, 否则被设置为0。

HEVCRExt的附加工具当前正被设计成除自然序列外,还对“画面内容”视频序列 进行高效编码。“画面内容”视频序列是指具有与从例如包含文本、PowerPoint演示、图形用 户界面和表格的个人计算机或任何其它装置捕获到的内容(例如,屏幕截图)相对应的非常 有针对性的内容的特殊视频序列。这些特殊视频序列与自然视频序列相比具有相当不同的 统计数据。在视频编码中,包括HEVC的传统视频编码工具的性能在处理这种“画面内容”的 情况下有时被证明未给人留下深刻印象。

HEVCRExt中当前讨论的用以处理“画面内容”视频序列的当前工具包括帧内块复 制(IntraBlockCopy)模式和调色板模式。这些模式的原型与以自然视频序列作为对象的 传统方法相比已表现出良好的编码效率。本申请关注于调色板编码模式。

HEVCRExt的调色板模式是预测模式。这意味着与通过运动预测(帧间情况)或通 过帧内预测所进行的预测相同,使用调色板方法来构建给定编码单元的编码所用的预测结 果。在生成了预测之后,对残差编码单元进行变换、量化和编码。换句话说,以上参考图1和2 所述的处理同样适用。

通常利用包含N元组颜色的有限集合的表(例如,参见基于YUV颜色空间的图8中的 803)来表示调色板,其中各颜色由该颜色在给定颜色空间中的分量来定义。例如,在典型的 RGB格式中,调色板包括P个N元组(其中,对于RGB,N=3)元素的列表。更精确地,各元素与采 用RGB格式的颜色分量的固定三元数组相对应。当然,这不限于RGB或YUV颜色格式。任何其 它的颜色格式可以利用调色板来表示,并且可以使用数量更少或更多的颜色分量,这意味 着N可以不同于3。

在编码器侧,RExt中所考虑的调色板模式在于:将给定的输入编码单元的像素值 变换成被称为标识出关联调色板中的条目的等级的索引。在该变换之后,如此得到的编码 单元或块包括等级,然后与该关联调色板(通常是具有用于表示编码单元的有限数量的颜 色的三元数组的表)一起被发送至解码器。由于调色板定义有限数量的颜色,因此向索引块 的变换通常近似原始的输入编码单元。

为了在编码器侧应用调色板模式,如下所述进行用以对像素的编码单元进行变换 的示例性方式:

-例如通过使整体失真最小化,来求出最佳地描述要编码的像素的编码单元的P个 三元数组;

-然后使编码单元的各像素与这P个三元数组中最接近的颜色相关联:则要编码的 值(或等级)(如此构成索引块的一部分)是与所关联的最接近的颜色的条目相对应的索引。 如此通过将调色板的条目与编码单元的各像素进行比较来根据调色板获得索引的预测结 果块,以针对各像素识别出定义最接近颜色的条目。

对于各编码单元,调色板(即,所发现的P个三元数组)、索引块或等级块、以及表示 原始编码单元和颜色空间中的索引块(也就是块预测结果)之间的差的残差被编码在位流 110中,并且发送至解码器。

在解码器处,调色板模式在于以相反方式来进行转换。这意味着利用从位流解码 得到的调色板中的相应颜色来替换与编码单元的各像素相关联的各解码后索引,以重建编 码单元的各像素的相应颜色。这是颜色空间中的索引块(即,编码单元预测结果)的重建。由 于调色板模式是预测模式,因此从位流解码得到关联的残差,然后将该残差与重建编码单 元预测结果相加,以构建最终的重建编码单元。

图7还示出解码器处的调色板模式的原理。在步骤702中从位流701提取当前编码 单元所用的预测模式。当前,利用位流中的位于跳过标志之前的标志来标识调色板模式(以 上参考图1和2已说明了其它编码模式)。该标志是使用单个上下文进行编码得到的CABAC。 如果该模式是调色板模式(703),则从位流701提取并解码得到(704)调色板模式的相关句 法705(即,与调色板、等级块和残差有关的信息)。

接着,在步骤706期间,根据解码后数据构建调色板707和等级块708这两个元素。 根据该等级块和关联的调色板,构建(709)像素域中的编码单元预测结果710。这意味着对 于块等级的各等级,颜色(RGB或YUV)与各像素相关联。

然后,从位流701解码得到(711)编码单元残差。在调色板模式的当前实现中,使用 常见的HEVC帧间残差编码方法、即使用Golomb编码来对与调色板模式相关联的残差进行编 码。为了获得编码单元的残差,进行传统的逆量化和逆变换。将块预测结果710与该编码单 元残差712相加(713),以形成重建编码单元714。

图8示出编码器处的调色板模式的原理。将当前编码单元801转换成代替3个颜色 值(Y,U,V)或(R,G,B)而是包含各像素的等级的大小相同的块802。基于编码单元整体失真 最小化来构建与该等级块相关联的调色板803,并且该调色板803针对每个条目使条目索引 或等级与相应的像素颜色值相关联。注意,针对单色应用,像素值可以仅包含一个分量。

如与图7有关地所述,针对各编码单元对调色板(和残差)进行编码并且将该调色 板(和残差)插入位流中。以相同方式,对(与编码单元预测结果相对应的)等级块进行编码 并将该等级块插入位流中,并且以下参考图9给出编码的示例。在该示例中,按水平顺序扫 描等级块。

等级块91与图8所示的附图标记802的等级块完全相同。表92和93描述了用于对等 级块91进行编码的连续句法元素。表93应被理解为表92的延续。该表中的句法元素与块91 中的实线所包围的等级组的编码相对应。

按扫描顺序以连续像素为组来对等级块进行编码。使用给出预测方向的第一句法 元素、给出重复次数的第二元素和给出像素值(即,等级)的可选的第三元素来对各组进行 编码。该重复次数与组中的像素的数量相对应。

这两个表表示与调色板模式相关联的当前句法。这些句法元素与等级块91所用的 位流中所关联的编码后信息相对应。在这些表中,使用三个主要的句法元素来充分表示调 色板模式的操作,并且如下所述在逐次考虑等级块91的等级的情况下使用。

被称为“Pred模式”的第一句法元素使得可以区分两个编码模式。在与等于“0”的 “Pred模式”标志相对应的第一模式中,对于当前像素使用新的等级。在位流中,紧挨在该标 志之后通知该等级。在与等于“1”的“Pred模式”标志相对应的第二模式中,使用“从上复制 (copyup)”模式。更具体地,这意味着当前像素等级与位于紧挨在从针对光栅扫描顺序相 同的位置起的上方的行处的像素等级相对应。在等于“1”的“Pred模式”标志的情况下,由于 通过参考等级块91中的正上方的像素的等级的值而已知了等级的值,因此不必紧挨在该标 志之后通知该等级。

被称为“Level”的第二句法元素表示仅处于“Pred模式”的第一模式下的当前像素 所用的调色板的等级值。

使用被称为“Run”的第三句法元素来对“Pred模式”的两个模式中的重复次数值进 行编码。考虑到从左上角向右下角并且从左向右从上向下逐行扫描等级块91,因此Run句法 元素给出了块91中具有相同编码的连续像素的数量。

该“Run”句法元素具有根据“Pred模式”标志而有所不同的含义。在Pred模式是0的 情况下,“Run”元素是预测结果块中具有相同的等级值的连续像素的数量。例如,如果Run= 8,则这意味着当前“Level”适用于当前像素,并且适用于后面的8个像素,其中这9个像素与 光栅扫描顺序中的9个相同连续样本相对应。

在Pred模式是1的情况下,“Run”元素是预测结果块中具有与块91中的连续像素上 方的像素的等级值相对应的等级值(即,应用了“从上复制”模式)的这些连续像素的数量。 例如,如果Run=31,则这意味着当前像素以及后面的31个像素(与总共32个像素相对应)的 等级是从上方的行的像素复制而来的。

表92和93表示通过使用调色板模式来表示块91的八个步骤。各步骤从“Pred模式” 标志的编码开始,在“Pred模式”标志等于“0”的情况下跟随“Level”句法元素、或者在“Pred 模式”标志等于“1”的情况下跟随“Run”句法元素。“Run”句法元素始终跟随在“Level”句法 元素之后。

在针对当前块进行解码的预测模式是调色板模式的情况下,解码器首先对与该块 有关的句法进行解码,然后针对编码单元应用重建处理。

图10示出与调色板模式有关的句法元素的解码处理。首先,从位流1001提取调色 板的大小并对调色板的大小进行解码(1002)。通过将步骤1002中解码得到的该大小值加1 来获得调色板的准确大小(Palette_size)。实际上,通过使用值0具有最小位数(1位)的一 元码来对该大小进行编码并且调色板的大小不能等于0,否则没有像素值可以用来构建块 预测结果。

接着,开始进行与调色板值解码相对应的处理。在步骤1004中将与调色板的索引 相对应的变量i设置为等于0,接着在步骤1005中进行测试以检查i是否等于调色板大小 (Palette_size)。如果在步骤1005中i不同于调色板大小,则在步骤1006中从位流1001中提 取一个调色板元素并且进行解码,然后将该调色板元素添加至具有等于“i”的关联等级/索 引的调色板。然后,通过步骤107使变量i递增。如果在步骤1005中i等于调色板大小,则调色 板已经完全解码。

接着,进行与等级块91的解码相对应的处理。首先,将与像素计数器相对应的变量 j以及变量syntax_i设置为0(1008)。然后,进行检查以获知像素计数器是否与该块中所包 含的像素的数量相对应。如果步骤1009中的答案为“是”,则在步骤1017中处理结束,否则从 位流1001中提取与一个预测模式相对应的标志“Pred模式”的值并且进行解码(1010)。

将“Pred模式”的值添加至包含解码后的所有“Pred模式”值的表的索引syntax_i 处。如果该“Pred模式”的值等于0(步骤1011),则从位流1001中提取与“Level”相对应的句 法元素并且进行解码(1012)。将该变量“Level”添加至包含解码后的所有等级的表的索引 syntax_i处。使与像素计数器相对应的变量j递增1(1013)。

接着,在步骤1014中对“Run”句法元素进行解码。如果句法元素“Pred模式”等于1 (步骤1011),则在步骤1014中还对“Run”值进行解码。将该句法元素“Run”添加至包含解码 后的所有行程的表的索引syntax_i处。

接着,在步骤1015中,使值j进行大小为步骤1014中进行解码后的行程的递增。使 变量syntax_i递增1以考虑句法元素的下一集合。如果计数器j等于块中的像素的数量,则 结束用以构建等级块91的句法(1017)。在与调色板有关的该处理结束时,解码器获知调色 板以及包含与该编码单元的调色板模式相关联的所有“Pred模式”、“Level”和“Run”句法元 素的列表的表。然后,解码器可以继续进行如通过图7所述的编码单元的重建处理。

在图10的本实施例的微变形例中,针对等级块91的顶部的第一行像素不设置 “Pred模式”元素。这是因为,由于这些像素在上方行不具有等级,因此无法执行“从上复制” 模式。因此,只要在步骤1009中j小于块宽度,则不设置“Pred模式”元素并且跳过步骤1010 ~1011,由此直接进行步骤1012。注意,该微变形例使编码后的等级块的大小减小。

在可以与图10的上述实施例或其微变形例相组合的实施例中,可以生成多个等级 块,而不是仅一个等级块。这意味着针对像素的全部或一部分使用多个等级。例如,可以针 对第一颜色分量(例如,Y)构建第一等级块,而可以针对至少一个剩余分量(例如,U和V)构 建另一等级块。当然,可以考虑针对三个颜色分量的三个等级块。可以使用特定标志来在位 流中通知具有多个等级块及其与颜色分量的对应关系的选择。在变形例中,这可以利用图 像的颜色格式来表示。

以上已经与图7的调色板模式预测处理有关地说明了图10的处理,其中对残差进 行编码,因而在将残差添加至编码单元预测结果之前,在步骤711和712中对该残差进行提 取并解码。

在如图7所述的调色板模式预测处理的变形例中,可以不设置残差(即,不在编码 侧对残差进行编码)。这样使得图7没有步骤711、712和713,并且重建后的编码单元714与编 码单元预测结果710相同。

然而,可能仍存在利用调色板的等级进行了不恰当描述的编码单元的像素,这意 味着在调色板中没有发现相应的相关等级。由于在等级块中没有设置相应值,因此将这些 像素称为“逃逸(escape)”像素。

因而,针对这些“逃逸”像素,可以利用来自原始编码单元的明确像素值来补充在 图10的针对等级块的处理期间所构建的句法元素。可以在位流中通知并传输明确像素值。

通知像素的示例是在“Pred模式”元素之前(即,在步骤1010之前)添加“逃逸”标志 以表示像素是进行了调色板编码(因此经过步骤1010)还是逃逸编码(因此具有明确像素 值)。在“逃逸”标志之后是明确像素值(针对该像素不设置“Pred模式”、“Level”和“Run”元 素)。

在“逃逸”标志的变形例中,可以使用特定Level值(专用于“逃逸”像素并且是在步 骤1012中所获得的)来通知“逃逸”像素。在这种情况下,“Run”元素应是明确像素值。该特定 值可以仅在构建中的调色板达到其最大大小的情况下发生,由此节省了针对各调色板大小 通知逃逸值的成本。

在任意实施例中,可以对明确像素值进行预测编码(例如,作为与相邻像素值的 差),也可以不进行该预测编码,并且可以对明确像素值进行量化,也可以不进行该量化,其 可能的结果是熵编码(上下文和位数等)。

返回参考调色板,通常使用三个二进制码来对上述示例中由三个值构成的各调色 板元素进行编码。二进制码的长度与各颜色分量的位深度相对应。通常使用一元码来对调 色板大小进行编码。使用一位(以及在存在的情况下,“逃逸”标志)来对“Pred模式”元素进 行编码。使用二进制码长度等于b的二进制码来对“Level”元素进行编码,其中2b是等于或 大于调色板大小的最小整数。并且,如以上与图6有关地所述,使用Golomb_H(Order=3)来 对“Run”元素进行编码。

图11示出用以构建等级块911、然后构建颜色空间中的必须用作预测结果的块预 测结果的重建处理。该处理的输入数据是使用以上的图10的处理所获得的包含“Pred模 式”、“Level”和“Run”的列表的表。注意,本领域技术人员能够使以下的教导适应于依赖于 存在“逃逸”像素的实施例。

除“Pred模式”、“Level”和“Run”元素以外的输入数据的项是根据位流中所通知的 四叉树(图5)而获知的编码单元801的大小(与等级块802/91的大小相同)。

在第一个步骤1101中,将表示像素计数器的变量i设置为等于0,并且还将用以逐 次考虑句法元素的各集合的变量j设置为等于0。在步骤1104中,检查从“Pred模式”的表中 的索引j处所提取的元素Pred_mode[j]是否为0。

如果Pred_mode[j]等于0,则针对当前像素i编码新的等级。结果,位置i处的像素 的值被设置为等于等级的表中的索引j处的等级;Block[i]=Level[j]。这是步骤1105。在 步骤1106中使变量i递增1以考虑下一像素,并且在步骤1107中将专用于对当前Run中已处 理的像素进行计数的变量k设置为等于0。

在步骤1108中进行检查,以判断k是否等于行程的表中的索引j处的“Run”元素:k =Run[j]?。如果不相等,则将位置i处的像素的等级设置为等于位置i-1处的像素的等级 值:Block[i]=Block[i-1]。这是步骤1109。然后,在步骤1110和1111中,分别使变量i和变 量k递增1。如果在步骤1108中k=Run[j],则结束左方等级值的传播并且进行(以下所述的) 步骤1120。

如果在步骤1104中Pred_mode[j]不同于0,则在步骤1112中,“从上复制”模式从变 量k被设置为等于0开始。接着,步骤1113检查(k-1)是否等于行程的表中的索引j处的“Run” 元素:k=Run[j]+1?。如果不相等,则将位置i处的像素的等级值设置为等于上方行中的位 置i处的像素的等级值:Block[i]=Block[i-width],其中“width”是如根据所输入的编码 单元的大小推导出的等级块的宽度(与编码单元相同)。这是步骤1114。接着,在步骤1115和 1116中,分别使变量i和变量k递增1。如果在步骤1113中k=Run[j]+1,则预测模式“从上复 制”完成并且处理继续进行步骤1120。

在步骤1120中,进行检查以判断变量i是否等于块91/CU801中的像素的数量。如 果不相等,则在步骤1121中使变量j递增1以考虑句法元素的下一集合,并且处理循环回上 述的步骤1104。

如果在步骤1120中对所有的像素均进行了处理,则在步骤1122中获得最后的等级 块91:这与表Block[]相对应。然后,最后的步骤1123在于:使用利用图10的处理进行解码后 的调色板803(除直接具有像素值的“逃逸”像素外)来将各等级转换成颜色值。该最后的步 骤根据各个块位置的等级和调色板中的相应条目而影响该块中的位置处的像素值(Y,U,V) 或(R,G,B)。

如在HEVCRExt中所引入的调色板模式的其它方面涉及:编码器所进行的要用于 对当前编码单元进行编码的调色板的确定(参见以下的图12)、以及编码器中的Pred模式、 Level和Run句法元素的选择(参见以下的图13)。

图12示出编码器中的示例性调色板确定算法。该处理的输入数据是像素的原始编 码单元及其编码单元大小。在该示例中,构建YUV调色板,但其它实现可以得到具有以相同 方式构建的RGB调色板。

在第一步骤1201中,将表示像素计数器的变量j设置为0,还将用以在构建调色板 时跟随调色板的生长的变量“Palette_size”设置为0,并且将表示阈值的变量“TH”设置为 9。接着,在步骤1203中,从原始编码单元1204读取具有与扫描顺序相对应的索引i的像素 pi。然后,在1205中将变量j设置为等于0,并且在步骤1206中,进行检查以判断调色板大小 是否等于变量“j”(意味着考虑了构建中的调色板的所有调色板元素)。

如果调色板大小等于j,则在步骤1209中,将索引“j”处的调色板设置为等于像素 值pi。这意味着当前像素pi变为调色板中与索引j相关联的新元素。更精确地,进行以下的分 配:

PALY[j]=(Yi)

PALU[j]=(Ui)

PALV[j]=(Vi)

其中,PALY,U,V是用以存储颜色值的三个表。

在步骤1210中使调色板大小(Palette_size)递增1,并且在步骤1211中,针对索引 “调色板大小”,将发生表计数器设置为等于1。然后,在步骤1213中,使变量i递增1以考虑当 前编码单元的下一像素“i”。然后,在步骤1214中进行检查以判断是否处理了当前编码单元 的所有像素。如果处理了当前编码单元的所有像素,则通过后面所述的排序步骤1215来完 成该处理,否则在上述的步骤1203中考虑下一像素。

返回至步骤1206,如果j不同于palette_size,则进行步骤1207,其中在该步骤 1207中,计算pi和索引j处的调色板元素之间的各颜色分量的绝对值。公式如图所示。如果 所有的绝对差均严格小于预定义的阈值TH,则在步骤1212中使与调色板中的元素“j”有关 的发生计数器递增1。步骤1207针对构建中的调色板的各元素创建类,其中在给定余量TH的 情况下,这种类包含与该元素的颜色相邻的颜色。因而,步骤1212对各类的发生进行计数。 在步骤1212之后进行已说明的步骤1213。

在不满足步骤1207的情况下,在步骤1208中使变量j递增1以考虑调色板中的下一 调色板元素。这样,通过重新进行步骤1207来将其它调色板颜色元素与当前像素进行比较。 如果在调色板中不存在满足步骤1207的标准的元素,则如上所述,参考步骤1209、1210和 1211来向调色板添加新的元素。

可以注意到,决定模块1207可以针对4:4:4(YUV或RGB)序列比较各颜色元素,并且 可以针对4:2:0序列仅比较亮度颜色分量。

在图12的处理结束时,表“计数器”包含各个调色板元素所定义的类的发生次数。 然后,在步骤1215中根据调色板元素的发生来对调色板元素进行排序,使得最频繁的元素 处于调色板中的首位(索引或“等级”最低的条目)。

还可以注意到,调色板的大小可以局限于例如24个条目的最大大小。在这种情况 下,如果由于步骤1215而引起调色板的大小超过24,则通过去除来自排序后的调色板中的 第25个位置的元素(条目)来缩小调色板。结果,这样构建了调色板。

现在转向编码器中的Pred模式、Level和Run句法元素的选择,图13的处理的输入 数据是像素的原始编码单元、编码单元大小以及如通过图12的处理所构建的调色板。特别 地,在判断必须使用INTRA编码、INTER编码和调色板编码中的哪个编码模式的情况下,进行 该评价。

在第一步骤1301中,将表示像素计数器的变量“i”设置为0。以下所述的处理试图 确定从i开始的像素的句法元素。独立地评价这两个预测模式:在图的右手部分,“Pred模 式”=0,在图的左手部分,“Pred模式”=1。

对于“从上复制”预测(与“Pred模式”=1相对应),在步骤1303中将用于对当前Run 中的等级的数量进行计数的变量“icopy”设置为等于0。然后,在步骤1304中,将像素位置i处 的当前等级即Block[i+icopy]与位于上方行中的正上方的像素的等级即Block[i+icopy- width]进行比较,其中“width”与当前编码单元的宽度相对应。注意,在步骤1308中并行地 确定编码单元的各像素的等级Block[i+icopy]。该步骤在于:使如以上已经说明的最接近的 调色板元素(实际为其索引或等级)与位置i处的像素相关联。该步骤使用位置i、调色板 1306和原始编码单元1307。

如果在步骤1304中Block[i+icopy]=Block[i+icopy-width],则在步骤1305中使变 量“icopy”递增1,以考虑像素块的下一像素值并且表示位置i+icopy处的当前像素等级可以包 括在当前“从上复制”Run中。如果在步骤1304中Block[i+icopy]不同于Block[i+icopy-width] (这意味着“从上复制”Run的当前评价已结束),则将变量“icopy”发送至决定模块1314。在处 理的该阶段,变量“icopy”与从正上方的行所复制的值的数量相对应。

对于左方值预测(与“Pred模式”=0相对应),并行地或顺次地处理用以确定Run值 (ileft)的回路。首先,将用于存储当前像素的索引i的变量“iStart”设置为“i”,并且还将用以 逐次考虑索引“i”之后的像素等级的变量“j”设置为等于“i”并将用于对构建中的当前Run 进行计数的变量“ileft”设置为等于0。这是步骤1309。接着,步骤1310在于:判断j!=0、 “Pred_mode[j-1]”=0和Block[j]=Block[j-1]是否成立。Pred_mode[]是编码器为了存储 预测模式(针对“从上复制”预测和左方值预测分别为1或0)所使用的表。在以下所述的步骤 1317中,在处理连续像素时,逐渐填充Pred_mode[],并且Pred_mode[]例如在步骤1301中已 经利用零值进行了初始化:针对任意的k,Pred_mode[k]=0。

如果满足步骤1310中的条件,则在步骤1311中使变量“ileft”递增1,以表示位置j 处的当前像素等级可以包括在当前“左方值”Run中,并且在步骤1312中使变量j递增1,以考 虑像素块的下一像素值。

如果不满足步骤1310的条件,则将变量“j”与“iStart”进行比较,以判断“j”是否是 针对当前“左方值”Run所要检查的第一个像素值。这是步骤1313。如果“j”等于或小于 “iStart”(这意味着“j”是针对当前Run所要检查的第一个像素值),则开始当前Run,并且在上 述的步骤1312中考虑下一像素值。如果“j”严格高于“iStart”,这意味着已经检测到与当前 “左方值”Run的像素值不同的第一个像素值,则将与当前“左方值”Run的长度相对应的变量 “ileft”发送至决定模块1314。注意,作为“从上复制”预测所用的回路,在步骤1308中在相同 的回路中判断索引i处的等级Block[i]。

在计算了“左方值预测”和“从上复制”模式所用的最大行程之后,在步骤1314中比 较变量“ileft”和“icopy”。这是为了判断“icopy”!=0并且“icopy”+2高于“ileft”是否成立。这是 用以选择复制模式或左方值预测模式的示例性标准。特别地,参数“2”可以略微改变。

步骤1314的条件表示:如果“icopy”等于0、或者小于或等于ileft-2,则在步骤1315中 选择“左方值预测”模式。在这种情况下,在同一步骤1315中,将“PredMode”变量设置为等于 0并且将Run变量设置为等于“ileft”。另一方面,如果“icopy”不同于0且严格高于“ileft-2”,则 在步骤1316中选择“从上复制”模式。在这种情况下,在步骤1316中将“PredMode”变量设置 为等于1并且将Run变量设置为等于“icopy-1”。

接着,在步骤1317中,利用当前值“Predmode”和“Run”来更新编码器中的包含 “Pred_mode”和“Run”的表。然后,在步骤1318中计算像素块中要考虑的下一位置,其中该下 一位置与进行了“行程”值+1的递增的当前位置i相对应。然后,在步骤1319中进行检查,以 判断是否处理了编码单元的最后的像素。如果是这种情况,则处理在步骤1320结束,否则从 步骤1303和1309开始针对下一像素位置评价“左方预测”和“从上复制”这两个预测模式,以 获得句法元素的新集合。

在该处理结束时,编码器获知编码单元的各样本的等级,并且能够基于三个表 Pred_mode[]、Block[]和Run[]的内容来对等级块的相应句法进行编码。

如上所述,如在HEVCRExt中当前设计的调色板模式需要针对各编码单元传输调 色板。这表示位流中的数据量大,因而需要编码成本。本发明人设想了调色板模式的改进以 提高其编码效率。

根据本发明的一个方面,使用调色板预测结果来预测针对当前编码单元的当前调 色板。在与本发明有关的变形例中,根据两个或更多个调色板的条目来预测当前调色板,其 中这两个或更多个调色板是先前用于例如使用根据这两个或更多个调色板所构建的调色 板预测结果来处理像素块的调色板。这样使得可以减少针对与编码单元相关联的各调色板 所要传输的信息量。以下说明各种实施例。

由于本发明的方法是基于预测的,因此首先参考图14~18、22和24~26来说明针 对当前编码单元的预测结果的获得,然后参考图19~22和27来说明用以实际描述针对解码 器的预测的句法元素。

在基于上述图7的图14中示出实现本发明的解码处理的一般步骤。本领域技术人 员将直接理解编码器处的用以适当地构建位流的相应操作。图14中的块14xx与图7中的块 7xx相同。如该图所示,在如下的步骤1406中实现本发明的主要想法:代替完全从位流进行 解码,至少部分根据调色板预测结果1416来预测调色板。以下说明用以获得(1415)调色板 预测结果的几种方式,包括获得:

用于预测先前处理的像素块或编码单元的调色板;

与包括当前编码单元的编码实体相关联的参考调色板预测结果;

与同当前编码单元相邻的像素的值相对应的条目;以及

位于当前调色板中的要预测的当前条目之前的当前调色板的至少一个条目。

根据用以获得调色板预测结果的第一实施例,根据如以上参考图5所述的预定义 扫描顺序,来对图像的像素块进行处理,其中在图5中CTB的CU是根据扫描顺序来进行编码/ 解码的。然后,从对先前处理的像素块进行预测所使用的调色板的集合中,选择针对当前像 素块的调色板预测结果。优选地,针对当前像素块的调色板预测结果是最后处理的像素块 所使用的调色板。这可以通过将(针对最后处理的编码单元的)最后使用的解码调色板存储 在存储器中来实现。当然,可以选择已使用的调色板中的另一调色板作为调色板预测结果, 其中在这种情况下,应将这样选择的调色板的标识符提供至解码器。

根据所使用的扫描顺序,通常观察到,最后使用的调色板(也就是调色板预测结 果)是与当前编码单元连续的先前处理的编码单元所使用的调色板其中之一。这样确保了 如下:考虑到编码单元之间的高度冗余以获得高效编码。例如,基于图5,调色板预测结果可 以是用于处理左方或上方的编码单元15、17、12和13的调色板其中之一。

为了避免由于具有与当前编码单元的实际内容非常不同的内容的调色板预测结 果所引起的较差的调色板预测,特定实施例提供了最后使用的调色板(或先前使用的调色 板的集合)的重置。这种重置可以针对各新的CTB(即,在当前编码单元从由像素块构成的新 编码实体开始时)、或者针对如以上所介绍的各新的一排或一行CTB、或者甚至针对各新帧 而发生的。

这种重置还使得编码器或解码器可以并行地估计各CTB(或CTB的行或者帧)所用 的的调色板模式。然而,由于2个CTB的编码单元之间通常存在一些相关性,因此优选针对各 新的一排CTB进行重置。这是使用示出具有多个CTB(各自利用正方形来表示)的帧的图14a 进行例示的。左侧的采用粗线的CTB是最后使用的调色板进行了重置的CTB,这是由于这些 CTB各自从新的一排CTB开始。

针对一排中的第一个CTB的重置是与帧层级的重置相比更高效的方法。这是因为, CTB是按水平光栅扫描顺序来进行编码的,因而对于一排CTB中的第一个CTB,最后使用的调 色板很可能是根据在空间上距离远的CTB(正上方的CTB排的最后一个CTB)所预测的。考虑 到这些CTB之间的空间距离,这些CTB之间的相关性非常低,因而这些CTB各自的调色板之间 的依赖性(预测)没有价值。

最后使用的调色板的重置可能意味着没有调色板可用作用以可能地预测当前调 色板的调色板预测结果。在这种情况下,无法预测当前调色板、例如一排中的第一个CTB中 所处理的第一个编码单元的调色板。该重置可以通过将(用于存储最后使用的调色板的大 小的)Previous_Palette_size变量设置为0来进行。

另外,由于不存在可以预测的值,因此最后使用的调色板的重置还实质增加了调 色板模式的全局编码成本,由此偏向较小的调色板大小,因此偏向较小且不太高效的调色 板预测结果。这是因为,块中的新元素可以由其它块重复使用,因此实际上共用了针对第一 个块所花费的位。典型的解决方案将是使用诸如Viterbi等的动态编程算法,其中在这些动 态编程算法中,仅在对若干个块进行了编码之后才选择针对块的编码决定。然而,这过于复 杂,并且优选更简单的解决方案。

因而,编码成本的这种增加可能使得编码模式选择器(参见步骤106)更少选择调 色板模式且并不是在重置之后立即选择调色板模式(因而具有延迟)。然而,值得选择调色 板模式来对编码单元进行编码。为此,实施例通过在发生了重置(即,具有空的或默认的调 色板预测结果)之后对编码单元的最初编码的位编码成本进行作假来提高选择调色板模式 的可能性。这是为了使位编码成本比应有的位编码成本低,由此提高了选择调色板模式的 可能性。

可以提供与编码所使用的位有关的假信息以虚假地获得位编码成本的该降低。该 假或作假信息或者针对颜色分量的“奖励”可以依赖于编解码器的工作点(即,位应带来何 种程度的失真改善)、色度格式、所关注的至少一个颜色分量、以及/或者当前编码单元所用 的调色板中的元素数量。

例如,可以考虑具有RGB或YUV元素的调色板的情况,其中各分量R/G/B/Y/U/V具有 例如8位。因此,由于针对调色板重置之后的第一个编码单元所使用的调色板的一个条目的 编码所引起的位成本通常是3×8=24位。然而,在这里所论述的实施例中,例如通过使位成 本虚假地减少为仅8位,可以应用奖励以校正该位成本。因而,在步骤106中,更有可能选择 调色板模式。

在需要两个或更多个等级来表示像素(例如,针对分量Y的一个等级、以及针对一 对分量U和V的一个等级)的特定实施例中,实际使用两个或更多个调色板来对像素块进行 编码。可以向两个或更多个调色板各自应用奖励。例如,如果设置了两个调色板(针对分量Y 的一个调色板以及针对分量U+V的另一调色板),奖励可以涉及:将一个Y元素的位成本从8 位修改为4位并将一个U+V元素的位成本从16位修改为6位。

由于可能值得预测首先处理的编码单元所用的调色板,因此变形例包括利用默认 调色板替换最后使用的调色板,使得默认调色板用作针对CTB排的第一个编码单元的调色 板预测结果。可以考虑用以生成默认调色板的各种方式(编码器和解码器这两者以相同方 式进行工作)。作为示例,默认调色板可以包括与均等地分布于整个颜色空间的颜色值相对 应的预定条目的集合。等分布可以涉及三个颜色分量。然而,在优选实施例中,颜色值可以 均等地分布于整个Y分量。并且U分量值和V分量值是固定的、例如固定为颜色空间中的U或V 分量的中值。通过分配bit-depth(位深度)/2或bit-depth>>1的值,可以根据分量的位深 度直接计算出U值和V值,其中“>>”是右移运算符。沿着Y分量的分布的示例是以下公式: YLevel=(Level*bit-depth)/Previous_Palette_size,其中,Level与如以上所述的默认 表的条目索引相对应(因而针对各新的Y值递增1),bit-depth是Y分量的位深度。注意, Previous_Palette_size可以等于最后使用的调色板、或者等于根据最后解码的CTB或CTB 排或帧所计算出的平均值Palette_size、或者等于诸如4等的预定义数字。

根据用以获得调色板预测结果的其它实施例,参考调色板预测结果与构成图像的 编码单元的各个编码实体(诸如CTB、CTB排、条带、条带片段、区块、帧或序列等)相关联。并 且针对当前像素块的调色板预测结果是与包括当前像素块的编码实体相关联的参考调色 板预测结果。这些实施例可能需要针对各编码实体在位流中传输参考调色板预测结果。

图15示出基于在位流中传输的参考调色板预测结果的解码处理。该图基于图14, 因而除模块1506使用从位流解码得到的参考调色板预测结果1516来构建调色板以外,块 1501~1514与块1401~1414相同。当然,在编码器处进行相应处理以将参考调色板预测结 果包括在位流中。

在CTB解码(或者CTB排、条带、帧等的解码)开始时,在步骤1515中从位流提取参考 调色板预测结果1516。注意,参考调色板预测结果的使用可能导致在位流中没有针对当前 编码实体CTB的任何编码单元设置调色板。在这种情况下,可以在位流中设置一个标志,因 而可以从位流中提取该标志,以通知不要针对编码单元解码任何调色板。在变形例中,可以 通过使用Palette_size的0值来替换该标志,以向解码器指示针对当前编码单元不对调色 板进行解码。该变形例要求Palette_size等于解码后的Size(大小)而不是上述的步骤1003 中的解码后的Size+1。为了节省用于通知使用参考调色板预测结果的任何位,在使用调色 板编码模式来对CTB的至少一个CU进行编码的情况下,可以在该CTB的末尾传输参考调色板 预测结果。

在任何情况下,如果需要对当前CTB的编码单元其中之一进行解码,则提取参考调 色板预测结果并且对该参考调色板预测结果进行解码。模块1502提取预测模式。如果预测 模式不是调色板模式(测试1503),则解码器利用相应的模式来对CU进行解码(1517)。否则 (如果是调色板模式),如图7那样对当前编码单元所用的调色板进行解码。然而,在本实施 例中调色板1507的构建1506依赖于参考调色板预测结果1516。以下说明该依赖性的示例以 及相应句法元素1505的示例。

在如以上针对图7和13所述、对编码单元进行解码(1517,1520)的情况下,在步骤 1518中,解码器检查该编码单元是否是CTB的最后一个编码单元。注意,该图不包含可能涉 及其它句法元素的CTB的完整句法解码。如果该编码单元不是最后一个编码单元,则在步骤 1502中提取针对下一CU的预测模式。如果该编码单元是最后一个编码单元,则进行用以对 CTB进行完全解码的其余处理(未示出),并且在步骤1519中,解码器检查该CTB是否是帧的 最后一个CTB。如果该CTB不是最后一个CTB,则在上述的步骤1515中从位流中提取针对下一 CTB的参考调色板预测结果。当然,该图并不完整,并且省略了与本发明无关的多个解码步 骤。

如上所述,使用所传输的参考调色板预测结果作为当前CTB中的各编码单元CU所 使用的调色板的预测结果。如下所述,可以使用参考调色板预测结果来预测调色板的元素, 或者在变形例中,可以使用参考调色板预测结果作为当前编码单元所用的调色板。在这种 情况下,将参考调色板预测结果1516直接传输至模块1509,由此使得不再需要模块1507。

编码器处的参考调色板预测结果的选择可以有助于编码效率。可以使用多个算法 来确定“最佳”参考调色板预测结果。例如,可以选择用于预测当前CTB中的最大编码单元的 调色板作为针对CTB的参考调色板预测结果。在另一示例中,可以确定用于预测构成当前 CTB的所有编码单元的调色板中的使率失真标准最小化的调色板,并且使用该调色板作为 针对CTB的参考调色板预测结果。当然,可以使用其它选择标准。

根据用以获得调色板预测结果的其它实施例,针对当前编码单元的调色板预测结 果包括与同当前编码单元相邻的像素的值相对应的条目。在这些实施例中,如在图16中以 示例方式示出,从相邻像素中提取针对当前CU的调色板预测结果。

在该示例中,所选择的像素是与当前像素块的上侧和左侧连续的像素,这是因为 这些所选择的像素属于如以上参考图3所定义的原因区域。这些连续像素在图16中用灰色 示出。特别地,所选择的像素是固定数量的例如与INTRA预测模式所使用的像素相同的三个 像素(图中的深灰色像素1601~1603),即相对于连续的当前编码单元位于左上方、右上方 和左下方的像素。当然,可以考虑其它数量的像素。优选地,编码器和解码器这两者已知要 选择的相关像素,以使得不需要附加的信令信息。然而,一些实施例可以设想在编码器选择 特定像素、然后在位流中通知所选择的像素的数量和所选择的这些像素。

在一个实施例中,考虑相邻像素的有限集合。例如,像素的该集合是以像素具有最 高空间距离的顺序所选择的。这样创建了多样性并且避免了重复像素。

图17示出基于相邻像素的针对当前编码单元的调色板预测结果的生成。如上所 述,调色板预测结果中的元素的顺序很重要。这需要定义调色板元素(这里为相邻像素)的 类。可以在编码器和解码器这两者中进行该确定处理。

在一个实施例中,对相邻像素1701进行分类(1702)。注意,相邻像素可以包括与当 前编码单元不是直接连续的像素。例如使用图12的步骤1207的标准,所考虑的相邻像素的 集合中的各相邻像素根据该相邻像素相对于调色板预测结果中的已存在的条目的颜色距 离而与类(因此与条目索引)相关联。在实施例中,利用图16所示的三个像素1601~1603来 定义类。这样得到无序调色板预测结果1703。另外,在分类1702期间,对各类的发生1704进 行计数。

基于无序调色板预测结果1703和发生1704,在步骤1705中构建具有有序条目的调 色板预测结果1706(例如,最频繁的条目优先)。注意,可以从该调色板预测结果丢弃发生次 数少(例如,阈值以下)的条目。

在实施例中,类相同的两个像素具有完全相同的像素值(因而,分类所使用的标准 不涉及绝对值,并且需要设置为零的阈值TH)。注意,在HEVCRExt(因而调色板模式)所针对 的包括文本或屏幕截图的图像中,连续的编码单元中存在较少的不同值。因而,基于像素值 的标识来对像素进行分类是相关的。

图18示出分类的示例。1801示出具有连续像素的当前编码单元,其中这些连续像 素具有第一像素值(利用类“1”来表示)或第二像素值(利用类“2”来表示)或第三像素值(利 用类“3”来表示)。相邻像素的集合是利用表1802中的相关类来表示的。表1802给出与各类 相关联的发生次数。在表1803中示出根据表1802通过根据类的发生对类进行排序并且去除 不重要的预测结果条目(这里为由于发生次数低(在该示例中为2)而与类“1”相对应的条 目)所构建的调色板预测结果。为了去除预测结果条目,算法可以考虑到相邻像素的数量、 类的数量和/或最可能的相邻像素的发生。

根据用以获得调色板预测结果的其它实施例,当前调色板具有有序条目,并且使 用调色板预测结果来预测当前调色板,这包括根据当前调色板的前一条目来预测同一当前 调色板的条目。换句话说,对调色板的给定条目进行处理的情况下的调色板预测结果由当 前正构建的彩色调色板中位于该给定条目之前的条目构成(包括当前正构建的彩色调色板 中位于该给定条目之前的条目)。如此对当前调色板进行帧内预测。

这利用图22来例示,其中图22示出用以在适当的情况下基于位流中的信令来获得 所预测的调色板的解码处理。图22仅再现与图10的左上部分相对应的部分、即所预测的调 色板的生成。如此必须进行图10的其余部分以获得用于定义块预测结果91的句法元素。

如图所示,在步骤2201和2202中,对Palette_size进行解码和计算。接着,对第一 个调色板元素进行解码。由于对调色板进行帧内预测,因此不预测第一个调色板元素,如此 从位流直接解码该第一个调色板元素。然后,在步骤2204中,为了相继考虑各调色板条目所 设置的变量i被设置为等于1。通过接下来的步骤来对其它的调色板元素进行解码。特别地, 对于各调色板元素,在步骤2206中对标志即Use_Pred进行解码,以判断索引i处的调色板元 素是否使用帧内预测(测试2207)。如果不使用帧内预测,则在步骤2208中从位流直接解码 调色板元素。否则,在步骤2210中,从位流解码与当前调色板中的调色板元素预测结果的索 引相对应的索引j。注意,编码器相对于索引i可能已对索引j进行了编码以节省位,在这种 情况下,解码器以相反方式进行工作。然后,在步骤2211中对残差进行解码,并且在步骤 2212中将调色板元素Pal[i]设置为等于Res[i]+Pal[j]并添加至调色板。然后,在步骤2209 中使索引i增加1以考虑下一调色板元素。一旦解码了所有的调色板元素(测试2205),则处 理继续进行图10的步骤1008。

在一个实施例中,调色板元素i的元素预测结果是调色板元素i-1、即位于当前调 色板中的当前调色板元素正前的调色板条目。在这种情况下,可以省略模块2210,并且在进 行预测的情况下,将调色板元素Pal[i]设置为等于Res[i]+Pal[i-1]。在一个实施例中,根 据位于当前调色板中的除第一个调色板条目以外的所有调色板条目正前的调色板元素来 预测这些调色板条目。在这种情况下,由于解码器知晓如何使用帧内预测来获得调色板元 素/对调色板元素进行解码,因此可以省略Use_pred标志。这意味着可以省略模块2206和 2208。

为了提高调色板元素的帧内预测的编码效率,在编码器中,可以根据调色板元素 的值而不是根据调色板元素的发生来对调色板元素进行排序。

根据其它实施例,根据两个或更多个调色板的条目来预测当前调色板。这意味着 可以根据两个或更多个调色板来构建调色板预测结果。特别地,可以合并两个或更多个调 色板的一部分或全部以形成针对当前调色板的新调色板预测结果。

这是因为,如以上所介绍的预测机制可以依赖于作为调色板预测结果从例如用于 对先前处理的像素块进行预测的调色板的集合中所选择的单个调色板。这样可能会影响调 色板预测结果的质量。例如,如果在连续的像素块B1、B2和B3中、块B1和B3各自包括许多不 同像素但B2包括少许不同像素,则使用正前的调色板作为针对下一调色板的调色板预测结 果这一事实导致了使用B2的调色板(具有少许调色板元素)作为B3的调色板预测结果。但这 将使B3的调色板预测结果中的元素数大幅减少,因而使得用以高效地预测B3的调色板的能 力大幅下降。

本发明人发现了值得组合两个或更多个调色板以构建用以处理新的像素块的新 调色板。

图24是示出用于根据已存在的两个或更多个调色板来构建调色板预测结果的一 般步骤的流程图。现有的调色板可以包括当前调色板、(包括参考调色板预测结果的)最后 的调色板预测结果、空间或时间上相邻的调色板、以及(例如,包含诸如分量全部为0的调色 板元素等的默认调色板元素的)默认调色板的全部或一部分。

在图24的处理中,P表示所考虑的已存在的调色板的数量;pal0,…,palP-1是相应 的调色板;“pred”是如通过处理所形成的调色板预测结果,其中NMAX是调色板元素的最大数 量;Jk,k∈[0;P]是调色板palk中的元素数量;“i”是表示用以相继考虑P个调色板pal0,…, palP-1中的各调色板的调色板计数器的变量;“n”是表示构建中的调色板预测结果“pred”中 的调色板元素的当前数量的变量;并且“j”是表示用以相继考虑当前调色板pali的各调色 板元素的调色板元素计数器的变量。

例如,可以对调色板pal0,…,palP-1进行排序,以首先处理最新的(例如,索引低 的)调色板。这是为了将较新的元素尽可能添加至调色板预测结果的开头。

通过对要考虑的第一个调色板进行初始化(“i”=0)并且对要构建的调色板预测 结果“pred”中的当前预测结果元素进行初始化(“n”=0),从步骤2400开始处理。然后,该处 理进入用以相继考虑各调色板pali的回路。

在步骤2401中,将调色板元素计数器“j”初始化为0,以考虑当前调色板pali的的 第一个调色板元素。

在步骤2402中,检查当前调色板pali的当前调色板元素pali[j]是否满足用以触发 或不触发该调色板元素向调色板预测结果“pred”的添加的特定标准。

触发标准可以仅依赖于将pali[j]与调色板预测结果“pred”中已添加的元素(即, pred[0]...pred[n-1])进行比较,从而在pali[j]不同于pred[0]...pred[n-1]的情况下决 定将当前调色板元素添加至“pred”,并且在pali[j]与“pred”的其中一个元素相同的情况 下决定不将当前调色板元素添加至“pred”。注意,两个元素pali[j]和pred[k]之间的比较 可以是严格比较或严格相似(元素的分量之间严格相等)、或者松弛比较/相似(元素的相应 分量之间的差为各个阈值以下)。在变形例中,在比较中可以仅涉及特定量的n个元素pred [k],其中准确的量依赖于“n”的值。这是因为,比较次数可以快速增加。例如使用比较中所 涉及的n/2个或至多4个元素,可以在编码效率和复杂度之间取得良好权衡。

然而,可以涉及其它的触发标准,诸如以下参考图19~21所述的Use_pred标志的 位图等。例如通过将各个调色板条目与调色板预测结果条目逐一进行比较,由编码器生成 这些Use_pred标志,以通知哪些值可以重新用作当前调色板中的值。特别地,该方法有利地 使得可以不明确传输或不复制调色板元素。标志的数量依赖于调色板预测结果的大小以及 如何通知元素。

步骤2402的结果是针对是否将当前调色板元素pali[j]添加至调色板预测结果 “pred”作出决定。

如果决定不添加当前调色板元素pali[j],则处理进入步骤2405。

如果决定添加当前调色板元素pali[j],则处理进入步骤2403,其中在该步骤2403 中,将当前预测结果元素pred[n]设置为当前调色板元素pali[j]。接着通过使“n”递增来选 择“pred”中的下一预测结果元素。

接着,步骤2404在于检查是否确定了“pred”的预测结果元素的最大数量。如果没 有确定,则处理进入步骤2405。否则,完全确定了调色板预测结果“pred”,并且处理在步骤 2409结束。

在步骤2405中,通过使调色板元素计数器“j”递增来选择当前调色板pali中的下 一元素。

在步骤2406中,检查是否考虑并处理了当前调色板pali的所有调色板元素:j<Ji。 如果没有,则处理循环回步骤2402以处理下一调色板元素pali[j]。如果处理了整个当前调 色板pali,则处理进入步骤2407,其中在该步骤2407中,如果尚未处理所有的调色板 pal0,…,palP-1(步骤2408中的检查),则使调色板计数器“i”递增以考虑下一调色板。

如果处理了所有的调色板pal0,…,palP-1,则处理在步骤2409结束。

注意,可以组合上述的用以获得调色板预测结果的各种实施例中的一部分或全 部,以提供用于预测调色板元素的全部或一部分的多个基准。

现在转向用以向解码器实际描述调色板预测的句法元素,尽管上述的图22已介绍 了用以定义调色板预测的机制,但现在参考图19~21。考虑检索调色板预测结果,并且该调 色板预测结果的大小(Predictor_of_palette_size)是已知的。

根据与句法元素有关的实施例,使用调色板预测结果来预测当前调色板,这包括 获得标志的位图,其中各个标志用于定义调色板预测结果中的相应条目是否被选择为当前 调色板的条目。结果,除使得解码器可以检索适当的调色板预测结果的信息外,仅需将位图 发送至解码器。针对当前编码单元,如在HEVCRExt中所定义的,可以代替调色板而发送该 位图。

位图的句法包含M个标志,其中M等于调色板预测结果中的元素的数量。第i个解码 得到的标志用于定义来自调色板预测结果的元素i是否用于填充(预测)当前编码单元所用 的当前调色板。在变形例中,位图可能被限制为从与调色板预测结果中的第一个元素相对 应的标志起直到与必须用作元素预测结果的最后一个元素相对应的标志为止的较少数量 的标志。位图的大小是以与在HEVCRExt位流中指定调色板大小的方式相同的方式在位流 中指定的。

例如,将调色板预测结果中的与等于1的标志(位)相关联的元素复制在当前调色 板的第一个可用位置,从而保持这些元素的顺序。

在另一实施例中,向具有从调色板预测结果中所选择的条目的当前调色板的末尾 添加附加条目。例如,首先从位流中解码得到位图并将调色板预测结果的相应条目复制到 当前调色板中,然后可以以与传统的调色板传输相同的方式向当前调色板的末尾添加附加 像素。

在试图提供预测调色板元素作为附加调色板元素的一个实施例中,对Palette_ size的确定进行配置,以使其增加预测调色板元素的数量:为此,将Palette_size设置为等 于解码后的大小+位图中的被设置为等于1的标志的数量(Palette_pred_enable_size)。如 果Palette_pred_enabled_size等于0,则如步骤1003所述,将Palette_size设置为等于解 码后的大小+1。

图19示出基于标志的位图所进行的这些实施例的调色板句法的解码。对于图22, 图19基于图10,但仅示出与调色板解码有关的部分。

首先,根据上述实施例中的任意实施例,在步骤1901中获得调色板预测结果1902。 另外,还获得Predictor_of_palette_size1903。模块1905从位流1904解码得到N个标志, 其中N=Predictor_of_palette_size。

针对等于1的各标志,在步骤1906期间,将来自调色板预测结果的相应元素添加至 当前调色板1907中的第一个可用索引处。将表示位图中的等于1的标志的数量的Palette_ pred_enabled_size1908传输至决定模块1910。还从位流解码得到调色板的其余部分的大 小(1909)。决定模块1910判断Palette_pred_enabled_size是否等于0。如果Palette_pred_ enabled_size等于0、这意味着在当前调色板中不存在预测调色板元素,则在步骤1911中将 Palette_size设置为等于解码后的Size+1,并且在步骤1912中将用以相继考虑当前调色板 的各条目的变量i设置为等于0。如果Palette_pred_enabled_size不同于0、这意味着在当 前调色板中存在至少一个预测调色板元素,则在步骤1913中将Palette_size设置为等于解 码后的Size+Palette_pred_enabled_size,并且将变量i设置为等于Palette_pred_ enabled_size。接着,通过与图10的步骤1005、1006和1007相对应的步骤1915、1916和1917 来进行调色板元素的解码回路。该回路在变量i等于Palette_size的情况下停止。在当前调 色板(1907)的末尾(即,在预测调色板元素之后)添加解码后(1916)的调色板元素。在一个 实施例中,在步骤1913中始终将Palette_size设置为等于解码后的Size+Palette_pred_ enabled_size以简化实现,由此可以省略模块1910、1911和1912。

注意,可以颠倒标志所用的值“0”和“1”,这意味着在调色板预测结果中的相应元 素不用于预测构建中的调色板的元素的情况下,使用标志=1(相反的情况下使用标志= 0)。

标志的值的含义的该颠倒有助于防止被称为“起始码竞争(startcode emulation)”的现象:如果字节的序列与所谓的起始码一致,则必须通过使位流的大小增大 的扩展处理来对该序列进行变换,使得该序列不再与起始码一致并且具有唯一起始码。通 过代替0而使用1,避免了该大小增大。

图20利用示例示出图19的处理。使用以上参考图14~18所述的任意实施例所获得 的调色板预测结果是包含使索引或等级与颜色值相关联的五个元素的表2001。在表2002中 示出位图的解码后标志。在该示例中,两个标志被设置为等于1:调色板预测结果的针对等 级0的一个标志和针对等级2的一个标志。如此将相应的调色板元素添加至开头的等级(分 别为等级0和等级1)可用的当前调色板2003。然后,如HEVCRExt中所提出的,可以从位流解 码得到新的调色板条目,并且将这些新的调色板条目添加至位置2和3。

可以注意到,在传输调色板预测结果的情况下,仅需要与调色板预测结果相对应 的标志(位图)。为了减少信令,可以针对属于传输了单个参考调色板预测结果的同一CTB、 条带、区块、条带片段、帧或序列的所有编码单元使用相同的位图。

在参考图19和20的上述说明中已定义了Use_pred标志的位图。现在返回参考图 24,并且更具体地参考步骤2402,其中在该步骤2402中,使用用以授权当前调色板元素pali[j]向调色板预测结果“pred”的添加的触发标准。如以上所介绍的,该触发标准可以涉及 Use_pred标志的位图。

在一些实施例中,构建中的调色板预测结果包括来自如上所述使用标志的位图来 基于(用作预测结果的)第二调色板进行了预测的第一调色板的条目,其中这些标志中的各 标志用于定义第二调色板中的相应条目是否被选择为用以预测第一调色板中的条目的条 目。本实施例的特殊之处在于:通过还包括与位图中的用于定义不选择用以预测第一调色 板的条目的标志相对应的第二调色板的条目,来构建调色板预测结果。

图25示出这种方法的示例性实现。

示出了可以是当前图像中正处理的连续编码单元的三个编码单元CU1~CU3。

附图标记2500表示用于对CU1进行处理(编码或解码)的调色板。可能已经使用了 本申请中所述的任何机制将该调色板编码在位流中(因而被解码器检索到)、或者对该调色 板进行了预测。

通过使用如上所述的基于最后使用的调色板的预测结果生成机制,该调色板2500 用作用于构建用以处理CU2的调色板2501的调色板预测结果。调色板2501的预测是基于如 上所述的Use_pred标志的位图2506。需要重申的是,这些标志根据用于预测下一CU的调色 板的相应元素的使用与否而分别取值1或0。在变形例中,标志=1可以表示不选择相应元 素,而标志=0可以表示选择用于预测下一CU的调色板的元素。

结果,在本示例中,如位图2506中所定义的,将调色板预测结果2500的第一个元 素、第三个元素、第四个元素和第五个元素复制到调色板2501中。第二个元素2502未被重复 使用(在位图2506中标志=0)。注意,基于上述的机制(例如,在位流中进行明确传输),附加 调色板元素2503可能已添加至构建中的调色板2501的末尾。

此外,使用调色板2501作为用以构建用来处理CU3的调色板的调色板预测结果。在 该图的示例中,将调色板2501的所有元素都复制到(步骤2504)CU3所用的调色板中。在该示 例的变形例中,与定义要复制到调色板2501中的元素的位图2506相同,可以设置用以识别 应将调色板2501的哪些元素复制到CU3所用的调色板中的位图(未示出)。

针对本发明的本实施例,还使用调色板预测结果2500作为用于构建用以处理CU3 的调色板的预测结果。

为了实现这种构建,根据调色板2500和2501来构建调色板预测结果2505。如上所 述,将调色板2501的所有元素都复制到(步骤2504)调色板预测结果2505中。在该示例中,将 与位图中的定义不选择用以预测调色板2501的条目(通常为标志=0,例如元素2502)的标 志相对应的调色板预测结果2500的条目添加至(步骤2508)调色板预测结果2505。这是因 为,由于复制步骤2504,因此调色板预测结果2500的其它条目已存在于调色板预测结果 2505中。由于位图2506中的标志,因此可以非常快速地进行元素2502的该选择。

可以设置用以基于调色板预测结果2505来预测用以处理CU3的调色板的位图。

当然,调色板预测结果2505也可以直接是用以处理CU3的调色板。然而,调色板预 测结果2505由于其包括先前调色板中所定义的所有元素因而不断增长。调色板预测结果 2505增长至如下的极值,其中从该极值起,不再能够容纳在调色板预测结果2505中的调色 板预测结果的元素不管其Use_pred标志的值如何,都不添加至预测结果。

优选在调色板预测结果2505的末尾进行元素2502的添加。可以直接观察到如此得 到的调色板预测结果与上述情形相比变得丰富。

在调色板预测结果的末尾添加未使用的元素的一个特殊优点是这些元素按寿命 和使用程度进行了大致排序。这样使得调色板预测结果中的最后的元素是最没有用且最有 可能被去除的元素。如此,例如可以在使用包括某种元素的各个调色板对最后的M个(M是待 定义的整数)像素块进行处理时,基于该元素的使用次数来决定从构建中的调色板预测结 果中去除该元素。

当然,该处理还可适用于将未使用的元素放置于调色板预测结果的开头、或者甚 至与来自调色板2401的一部分元素交错存在。

注意,从先前调色板中选择未使用的元素确保了这些元素是唯一的,因此Use_ pred标志不会冗余。如此使调色板预测结果效率最大化。

本发明的涉及根据两个或更多个调色板来构建调色板预测结果的上述方法仅影 响图19的调色板预测结果构建步骤1901。

图26示出用以利用上述方法来构建诸如预测结果2505等的调色板预测结果的步 骤1901的实施例,其中该实施例与以上参考图24所述的一般步骤相比更加具体。这种调色 板预测结果2505用于基于相应位图(未示出)的Use_pred标志来构建用以处理CU3的调色 板。

参考图25的示例来总结该处理,该处理在于将阵列“pal”所表示的CU2调色板2501 的元素复制到预测结果元素的阵列“pred”中(步骤2504)。“pred”是用于从调色板阵列 “pal”复制元素的临时缓冲器。在该处理结束时,“pred”是调色板预测结果。

另外,可能的填充元素(诸如2502等)被添加至“pred”,从而进一步添加至已复制 的元素。

结构“pred”最多包含NMAX个元素。NMAX理想上可以大于调色板中的元素的最大数 量。在NMAX=64(即,示例中的调色板的最大大小的两倍)的情况下,可以取得编码效率和存 储器之间的良好折衷。

“pal”是专用于存储所使用的最后一个调色板(即,在图25的示例中为调色板 2501)的包含Ncur个元素的结构。

“last”是专用于存储先前调色板或预测结果(例如,最后使用的调色板的调色板 预测结果(即,在图25的示例中为调色板预测结果2500))的包含Nlast个元素的结构。相应的 Use-pred标志也存储在存储器中,例如存储在所谓的“Use_pred”阵列中。

注意,“pal”是所使用的最后一个调色板,而“last”是所使用的该最后一个调色板 的调色板预测结果。

步骤2600对“pal”向“pred”的复制进行初始化:通过将回路计数器“i”设置为0来 选择各结构的第一个元素。然后,复制回路从步骤2601开始:将“pred”的当前元素设置为等 于“pal”的当前元素。然后,步骤2602使得可以通过使回路计数器“i”递增来选择“pal”的下 一元素。

然后,步骤2603检查是否到达了构建中的调色板预测结果“pred”或调色板“pal” 中的最后一个元素(假定针对“pred”为NMAX并且针对“pal”为Ncur)。

如果没有到达最后一个元素,则处理循环回步骤2601以复制下一元素。否则,处理 进入步骤2604。

根据本发明的该实施例,其它调色板(这里为先前调色板2500)针对调色板预测结 果2505的构建的贡献是通过以下的步骤2604~2608所得到的。

这些步骤使得能够进行图25中的附图标记2508的填充操作。这些步骤向“pred”提 供除通过前一调色板“pal”的复制所得到的元素以外的附加元素。

步骤2604通过将回路计数器“j”初始化为0,来选择先前调色板“last”的第一个元 素。

然后,进行步骤2605,其中在该步骤2605中,检查是否到达了“pred”或“last”的最 后一个元素。

如果没有,则处理继续进行步骤2606。否则,处理在步骤2609结束。

步骤2606在于:检查“last”中的当前元素“j”是否已被重复使用。与上述的步骤 2402相同,这可以在于:检查与“Use_pred”阵列中的该元素相关联的Use_pred标志是被设 置为0(没有重复使用)还是1(重复使用)。在变形例中,这可以在于:验证当前元素是否已存 在于构建中的“pred”中。

如果没有重复使用,则进行步骤2607,其中在该步骤2607中,从“last”向“pred” (在“pred”的末尾)添加当前元素“j”。因此,通过使“i”递增来选择“pred”的下一元素。

在任意情况下,在步骤2608中,通过使“j”递增来选择“last”中的下一元素。

在处理了“last”或“pred”中的所有元素的情况下,处理在步骤2609结束。

注意,针对图26的处理的下一次迭代,可以对结构“last”进行更新,以通过接收用 于存储针对CU3的调色板预测结果2505的“pred”的副本来存储CU3所使用的(将要成为最后 使用的调色板的)调色板的调色板预测结果。注意,针对(在处理新的编码单元CU4的情况下 的)下一次迭代的最后使用的调色板是根据调色板预测结果2505针对CU3所构建的调色板。 因此,该最后使用的调色板是存储在“pal”中以供下一次迭代所用的针对CU3所构建的调色 板。

如上所述,本实施例提供了如下方法,该方法采用调色板预测结果的大小趋于持 续增大的方式来构建各新的调色板预测结果。当然,数量NMAX提供了调色板预测结果的最大 大小的极值。然而,NMAX通常被选择得相当大、通常大于调色板的最大大小。

需要重申的是,必须向客户端装置提供Use_pred标志的位图以根据新构建的调色 板预测结果来预测新的调色板。NMAX的值越大,位图中额外的Use_pred标志的数量越大。由 于各标志至少耗费一位,因此存在传输方面的成本。

用以在无需附加技术的情况下减轻这些额外成本的方式是将NMAX作为Ncur和Nlast的组合来进行计算。例如,可以将NMAX定义为fact*Nlast,其中fact(因子)可以依赖于受影响 的颜色格式和分量。例如,针对4:4:4的颜色格式,fact=6,而针对其它格式的亮度,fact= 1,并且针对其它格式的色度,fact=2。

然而,特别是在确定最佳NMAX约为64的图26的实施例的情况下,已发现该方法不是 最佳解决方案。

如以下的图27中所提出的实施例提供了位图所用的用以减小位图大小的修改句 法。特别地,标志的位图包括位于该位图中的预定义位置处的至少一个元素,其中该至少一 个元素用于通知位图在预定义位置之后是否包括至少一个附加标志,其中该至少一个附加 标志用于定义用以预测另一调色板的调色板预测结果的条目的选择。

图27示出与用以预测调色板(例如,用以处理CU3的调色板)的调色板预测结果(例 如,预测结果2505)相关联的Use_pred标志的修改句法。注意,该修改句法可用于任何位图。

在图27的上部示出如上所述的(即,无修改句法的)位图。该位图通常包括两个部 分:

附图标记为2700的部分,其使被设置为“0”的标志和被设置为“1”的标志混合。部 分2700以最后一个标志被设置为“1”而结束。该部分定义预测调色板中所使用的调色板预 测结果的所有元素;以及

附图标记为2701的部分,其是位图的其余部分,并且仅由被设置为“0”的标志构 成,因而与没有重复使用的元素相对应。注意,位图的最后部分通常仅由“0”构成,这是因为 相应元素通常是陈旧且不太使用的元素。

注意,这里分割为两个部分的该分割仅是为了例示目的而提供的。如果没有实现 根据本发明的修改句法,则提供位图2700+2701。

在该位图的下方,示出具有修改句法的位图。可以注意到,其大小大幅减少。

修改句法通过在Use_pred标志的序列中的特定位置插入附加元素或位,来消除连 续的“0”标志2702的存在。

作为例示,添加了位2703和2704,以表示在该位图中之后是否存在被设置为“1”的 其它Use_pred标志。

这些附加位被指定为“预测结束”标志,并且这些附加位不提供与调色板预测结果 中的相应条目是否被选择为用以预测当前构建中的调色板中的条目的条目有关的指示。相 反,这些附加标志使Use_pred标志向右移位。

作为示例,“预测结束”标志可以取值“0”,以表示在位图的其余部分中存在等于1 的其它标志,而在位图的其余部分中不存在等于1的其它标志的情况下,“预测结束”标志可 以取值“1”。

关于2703和2704的示例,如通过子部分2705中被设置为1的标志所表明的,标志 2703的值“0”表示存在要使用位图来进行预测的剩余元素,而标志2704被设置为1,这是因 为不再存在任何所预测的元素(所有的其它Use_pred标志被设置为0)。

结果,在添加了标志2703和2704的情况下,可以完全跳过子部分2701,但在该示例 中仅跳过子部分2702,如此降低了传输成本。

附加的“预测结束”标志的位置优选是根据调色板模式的性质来预定义的。然而, 应考虑到以下内容来选择这些位置:

值得尽早具有预测结束标志,以避免针对小的调色板发送过多的Use_pred标志; 以及

值得按周期性间隔(理想是2的幂)具有预测结束标志,以容易地解析位图。

考虑到该情况,实施例在第4个Use_pred标志位置之后针对预测结束标志提供预 定义位置,然后从第16个Use_pred标志之后开始每隔8个Use_pred标志针对预测结束标志 提供预定义位置,然后在第24个Use_pred标志之后,以此类推。

图27的下部是示出用于对位图的修改句法进行解码的步骤的流程图。

处理的步骤2715~2717是修改句法所特有的。

步骤2710通过将回路计数器“i”设置为0、并且将预测元素的编号“j”设置为0,来 对解码回路进行初始化。

然后,步骤2711检查在调色板预测结果中是否剩余任何元素(i<N),这是因为可能 发生以下情况:预测结果为空(N=0),并且没有剩余要解码的标志(元素的最大数量为NMAX的调色板)。

如果不存在更多要处理的元素,则处理在步骤2718结束。

否则,在步骤2712中,针对调色板预测结果的元素i来对Use_pred标志进行解码。

在步骤2713中,判断元素i是否用于预测构建中的调色板。例如,设置为1的标志表 示使用了调色板预测结果的相应元素i。

在肯定的情况下,在步骤2714中使得使用过的元素的编号“j”递增。

在任意情况下,处理继续进行步骤2715,而不是如在无修改句法的情况那样直接 进入步骤2719。

步骤2715检查紧接着当前第i个Use_pred标志是否存在“预测结束”标志(例如, 2703或2704)。例如,可以基于“i”的值来进行该检查(例如,如以上所建议的,i是否是4、16、 24、...)。

如果下一标志不是“预测结束”标志,则通过进入步骤2719而重新开始正常处理。

否则,在步骤2716中对“预测结束”标志进行解码。一旦进行了解码,则步骤2717判 断“预测结束”标志是否表示预测的结束、即是否设置为1。

如果“预测结束”标志不表示预测的结束,则在步骤2719中,通过使回路计数器“i” 递增以选择下一Use_pred标志来继续进行对Use_pred标志的解码。

如果“预测结束”标志表示预测结束,则处理在2718结束。

该处理的结果是获得了所有相关的Use_pred标志,以判断应使用调色板预测结果 的哪个元素来预测构建中的调色板。注意,没有获得Use_pred标志的元素必须被视为未使 用。

根据与句法元素有关的其它实施例,使用调色板预测结果来预测当前调色板,这 包括获得与当前调色板的至少一个相应条目和调色板预测结果的条目之间的差相对应的 至少一个(可能为两个或更多个)条目残差。在这些实施例中,在位流中传输当前调色板元 素和调色板预测结果之间的残差。残差Res[i]等于Pal[i]-Pal_Pred[j],

其中,Res[i]是等级i的残差,Pal[i]是等级i的当前调色板元素,并且Pal_Pred [j]是利用等级j所标识的元素预测结果。注意,除非解码器已知调色板预测结果j(例如,由 于j相对于i是固定的,例如j=i),否则通常需要传输调色板预测结果j。

针对三个颜色分量的残差的解码不同于调色板元素的解码。实际上,如现有技术 中所述,利用固定长度的N位来对调色板元素进行编码,其中N=3*位深度。对于残差并且为 了节省位,可以(以与块残差的系数相同的方式)利用诸如Golomb(哥伦布)码等的自适应码 来对各颜色分量残差进行编码。

图21示出基于具有调色板元素和元素预测结果之间的这种残差的解码处理。另 外,该图仅示出与调色板解码有关的部分。另外,为了简化该图,没有示出位流。

在步骤2101中从位流中提取调色板的解码后的大小,并且在步骤2102中Palette_ size被设置为等于解码后的Size+1。在步骤2103中,将用于相继考虑各调色板条目的变量i 设置为0。然后,用以对调色板进行解码的回路从用以判断是否处理了所有的调色板条目的 测试2104开始。对于调色板元素i,在步骤2105中从位流中解码标志Use_pred,以判断(测试 2106)调色板元素i是否使用预测。如果调色板元素i不使用预测,则在步骤2107中使用传统 机制对调色板元素i进行解码,然后将该调色板元素i添加至调色板的等于i的等级。然后, 在步骤2108中使变量i递增1以考虑下一调色板元素。如果调色板元素i使用预测,则在步骤 2112中从位流中解码预测结果索引j。注意,以编码效率为目的,用于对预测结果索引j进行 编码的码的长度依赖于Predictor_of_Palette_size2110。因而,并行地,如上所述获得了 调色板预测结果2110,并且还获得了Predictor_of_Palette_size2110。

一旦已知预测结果索引j,则在步骤2113中还从位流中解码调色板元素的残差Res [i]。然后,在步骤2114中,使用调色板预测结果Pal_Pred2111来根据公式Res[i]+Pal_ Pred[j]计算调色板元素Pal[i]。然后,将调色板元素Pal[i]添加至当前调色板。接着,在步 骤2108中使变量i递增1以考虑下一调色板元素。在该处理结束时,当前调色板已解码。

在一个实施例中,将索引j设置为等于i,其中在这种情况下,不再需要将预测结果 索引j传输至解码器。结果,可以省略模块2112。另外,可以针对当前调色板中具有条目索 引/等级与调色板预测结果中的条目索引/等级相同的相应条目的每个元素来获得残差。在 这种情况下,如果i大于或等于Predictor_of_Palette_size,则不对残差进行解码。此外, 由于解码器基于Predictor_of_Palette_size获知要预测哪些调色板元素,因此不再需要 标志Use_pred。结果,可以省略模块2105和2106。这些方法通过去除预测结果的信令,减少 了调色板预测所需的信令位的数量。这在根据调色板元素的发生次数来对调色板元素进行 排序的情况下是有用的。

在实施例中,预测三个(或更多个)颜色分量中的仅一个或两个颜色分量。

以上已经说明了用以获得调色板预测结果的多个方式(图14~18、22和24~26)、 以及用以根据调色板预测结果来定义并通知调色板的预测的多个方式(图19~22和27)。在 对当前调色板进行帧内预测的情况下,仅可以使用残差方法(否则,在调色板中两个条目将 相同),除此以外,可以组合这些实施例。在优选实施例中,调色板预测结果是在针对各排 CTB或针对各CTB进行重置的情况下的最后解码的CU;并且利用表示调色板预测结果的元素 是否要复制在构建中的当前调色板中的标志位图来通知调色板预测结果。

图23是用于实现本发明的一个或多个实施例的计算装置2300的示意框图。计算装 置2300可以是诸如微计算机、工作站或轻盈便携式装置等的装置。计算装置2300包括通信 总线,其中该通信总线连接至以下组件:

-诸如微处理器等的表示为CPU的中央处理单元2301;

-表示为RAM的随机存取存储器2302,用于存储本发明实施例的方法的可执行代码 以及根据本发明的实施例的如下寄存器,其中这些寄存器被配置为记录实现用于对图像的 至少一部分进行编码或解码的方法所需的变量和参数,其中RAM2302的存储器容量例如可 以利用连接至扩展口的可选RAM来扩展;

-表示为ROM的只读存储器2303,用于存储实现本发明实施例所用的计算机程序;

-网络接口2304,其通常连接至发送或接收要处理的数字数据所经由的通信网络。 网络接口2304可以是单个网络接口、或者包括不同的网络接口(例如,有线接口和无线接口 或者不同种类的有线接口或无线接口)的集合。在CPU2301中所运行的软件应用程序的控 制下,将数据包写入网络接口以进行发送或者从网络接口读取数据包以进行接收;

-用户接口2305,其可用于从用户接收输入或向用户显示信息;

-表示为HD的硬盘2306,其可被设置为大容量存储装置;

-I/O模块2307,其可用于相对于诸如视频源或显示器等的外部装置进行数据的发 送/接收。

可执行代码可以存储在只读存储器2303中、硬盘2306上或者例如盘等的可移除数 字介质上。根据变形例,程序的可执行代码可以利用通信网络经由网络接口2304来接收,从 而在执行之前存储在通信装置2300的诸如硬盘2306等的存储部件其中之一内。

中央处理单元2301被配置为控制和引导根据本发明实施例的一个或多个程序的 指令或软件代码的一部分的执行,其中这些指令存储在上述存储部件其中之一内。在通电 之后,CPU2301例如能够在从程序ROM2303或硬盘(HD)2306加载了来自主RAM存储器2302 的与软件应用程序有关的指令之后,执行这些指令。这种软件应用程序在由CPU2301执行 的情况下,使得进行图14、15、17、19、21、22和24~27所示的流程图的步骤。

图14、15、17、19、21、22和24~27所示的算法的任何步骤可以通过诸如PC(“个人计 算机”)、DSP(“数字信号处理器”)或微控制器等的可编程计算机器执行一组指令或程序来 以软件方式实现;或者还可以通过诸如FPGA(“现场可编程门阵列”)或ASIC(“专用集成电 路”)等的机器或专用组件来以硬件方式实现。

尽管以上已经参考具体实施例说明了本发明,但本发明不限于这些具体实施例, 并且本领域技术人员将明白存在于本发明的范围内的变形。

在参考仅以示例方式给出而并不意图限制本发明的范围的前述例示实施例的情 况下,许多其它修改和改变对本领域普通技术人员是不言自明的,其中所述范围仅由所附 权利要求书来确定。特别地,在适当情况下,可以互换来自不同实施例的不同特征。

在权利要求书中,词语“包括”没有排除其它要素或步骤,并且不定冠词“a”或“an” 没有排除多个。在相互不同的从属权利要求中陈述不同的特征的仅有事实并不表明不能有 利地使用这些特征的组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号