首页> 中国专利> 用于视频压缩系统的调色板模式中的调色板大小约束

用于视频压缩系统的调色板模式中的调色板大小约束

摘要

提供用于通过将待用于当前调色板中的颜色的数量限制为不大于编码单元或预测单元的大小且通过避免当前调色板中的重复颜色来改进HEVC调色板模式中的编码器性能效率的系统和方法。编码器可以用信号通知二进制向量,该二进制向量指示将在当前调色板中重新使用的来自调色板预测器列表的先前元素,基于所述二进制向量确定所述先前元素的数量,确定当前调色板的样本大小,基于所述先前元素的数量和所述样本大小确定将在所述当前调色板中使用的新元素的最大数量。确定与所述新元素的最大数量对应的一组新元素,并用信号通知该组新元素。

著录项

  • 公开/公告号CN113330740A

    专利类型发明专利

  • 公开/公告日2021-08-31

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN202080009923.7

  • 发明设计人 孙域晨;楼剑;

    申请日2020-02-20

  • 分类号H04N19/105(20060101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人王小东;黄纶伟

  • 地址 英属开曼群岛大开曼

  • 入库时间 2023-06-19 12:24:27

说明书

相关申请的交叉引用

本发明要求于2019年3月1日提交的美国申请第16290255号的优先权,其全部内容通过引用并入本文。

背景技术

现有的视频编码标准,例如H.264/AVC(高级视频编码)、H.264/MPEG-4AVC和H.265/HEVC(高效视频编码)标准基于使用基于块的预测和变换编码的混合编码方案。为了压缩视频帧,视频压缩系统应用预测方法,诸如帧内预测或帧间预测,以得到预测帧。基于预测帧,视频压缩系统还对残留信息编码以细化预测帧。通常通过变换和量化技术来压缩残余信息。基于这些信息,解码器能够从预测帧和残留信息来重构视频帧。解码器通过将预测像素值和残留像素值简单相加来组合预测块和残留块以生成重构块,从而生成最终重构像素值。

采用新的编码工具即调色板模式来标准化高效视频编码的屏幕内容编码扩展(HEVC SCC)。调色板模式可以用极少选定代表性颜色有效地描述编码单元(CU)中的所有像素。调色板模式是基于屏幕内容帧中的像素值通常集中在少数颜色值上的观察而设计的。编码器分析CU中的像素并且确定多个代表性颜色以构造调色板表,即代表性颜色值与颜色索引之间的颜色映射表。在比特流中用信号通知调色板表。具有接近调色板颜色的像素值的像素被量化为由相应调色板索引表示的所选调色板颜色。其余像素称为跳出像素(escape pixel)。保留特定调色板索引值以表示跳出像素,并且跳出像素的像素值被直接用信号通知。CU中的所有调色板索引形成调色板索引图,其与跳出像素值一起被发送到解码器。像素或调色板索引可以表示单色或三色分量值,例如YCbCr或GBR。

在用于HEVC调色板模式的HEVC句法设计中,调色板可以包含冗余颜色,这会增加解码器实施方案的复杂性,即,编码器会发信号通知调色板中的一些颜色但决不会使用它们。

附图说明

参照附图给出详细说明。在附图中,附图标记的最左边的数字表示附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的项目或特征。

图1例示了使用预测方法的视频压缩系统的示例解码处理。

图2例示了由图1的视频压缩系统得到的示例预测块、示例残留块和示例重构块。

图3例示了应用于图像的调色板模式的示例图。

图4例示使用HEVC SCC调色板模式的视频压缩系统的示例解码处理。

图5例示了具有所应用的二进制向量且形成当前CU调色板的调色板预测器列表的示例图形表示。

图6例示了示例调色板索引图编码。

图7例示了用于通过避免冗余和未使用的颜色来提高编码效率的示例流程图。

图8例示了用于实现通过避免冗余和未使用的颜色来提高编码效率的处理和方法的示例系统。

具体实施方式

本文中所论述的系统和方法针对改进HEVC调色板模式中的视频压缩系统性能,且更明确地说,针对通过将待用于当前调色板中的颜色的数量限制为不大于编码单元或预测单元的大小并且通过避免当前调色板中的重复颜色来改进编码器性能效率。

图1例示了使用预测方法的视频压缩系统102的示例解码处理100。

视频压缩系统102首先通过应用诸如帧内预测106或帧间预测108的预测方法来得到预测块104,然后通过应用残留解码方法112来对残留块110进行解码。视频压缩系统102组合预测块104和残留块110以产生重构块114。

图2例示了由图1的视频压缩系统102得到的示例预测块104、残余块110和重构块114。

预测块104和残留块110以编码单元(CU)的像素值示出。如上参照图1所述,预测块104和残留块110的相应像素值被简单地相加,以生成重构块114的相应像素值。

图3例示了应用于CU 302的调色板模式的示例图300。为简单起见,像素或调色板索引被示出为对应于仅一个值。然而,在HEVC SCC中,像素或调色板索引可以表示三个颜色分量值,例如YCbCr或GBR。

在HEVC SCC调色板模式中,针对各个CU发送标记以指示调色板模式是否用于该CU(例如CU 302)。如果调色板模式用于CU 302,则具有接近于调色板颜色(例如颜色A304、颜色B306和颜色C308)的像素值的像素由调色板颜色值310表示,如在颜色直方图312中所示。例如,颜色A304被示出为接近于调色板颜色值50,颜色B306被示出为接近于调色板颜色值80,并且颜色C308被示出为接近于调色板颜色值310。CU 302的调色板颜色值310由调色板索引314表示,其中,调色板颜色值310是CU 302的代表性颜色,如调色板表316中所示。剩余像素由表示为跳出索引的特定调色板索引值呈现,且直接用信号通知其像素值。注意,颜色是3值,例如YCbCr或GBR向量。CU 302中的所有像素的调色板索引形成调色板索引图318。

图4例示了使用HEVC SCC调色板模式的视频压缩系统402的示例解码处理400。

与参照图1描述的帧内/帧间预测方法相比,如果块或CU由HEVC SCC调色板模式404编码,则在不使用任何预测方法或残留细化的情况下独立地对其进行解码以产生重构块406。为了解码调色板编码块,视频压缩系统402的视频解码器解码调色板颜色和索引。调色板颜色由调色板表如调色板表316描述,并由调色板表编码工具编码。基于调色板表,三个颜色分量的像素由调色板索引(例如调色板索引314)表示。CU中所有像素的调色板索引形成调色板索引图,例如调色板索引图318,并由调色板索引图编码工具编码。

图5例示了调色板预测器列表502的示例图形表示500,所述调色板预测器列表502具有被应用并形成用于当前CU的调色板(当前CU调色板506)的二进制向量,例如调色板预测器向量504。

为了重构调色板,调色板预测器列表(例如调色板预测器列表502)可以存储先前编码的调色板条目作为基准来预测用于当前CU的调色板,例如当前CU调色板506。为了使用调色板预测器列表502作为基准来编码当前CU调色板506,可以使用二进制向量(例如,二进制向量504)来指示调色板预测器列表502中的各个条目是否将在当前CU调色板506中重新使用。可以将重新使用的条目设置在当前CU 506的调色板的开始处,从而维持其在调色板预测器列表502中的次序。该处理之后可以是调色板预测器列表502中不存在的新调色板条目508。在此示例中,在对当前CU进行编码之前,存在五个条目510、512、514、516和518,如调色板预测器列表502中的颜色强度(R,G,B)520下方所例示。首先,用信号通知具有值‘10110’的二进制向量504,其指示调色板预测器列表502中的第一元素510、第三元素514和第四元素516将分别在当前CU调色板506中重新使用。这三个元素被设置在当前调色板的开始处,在当前CU调色板506中的索引522下分别被索引为0、1和2。在示例中,当前CU调色板506还有不是从调色板预测器列表502预测的两个条目(索引3和索引4)。这两个条目524和526可以使用固定长度码直接发送。

图6例示了示例调色板索引图编码600。

再次参照图3至图5,视频压缩系统402构造了调色板表预测器,以通过应用预测编码来预测当前CU的调色板表,例如调色板表316和当前CU调色板506,其中最后调色板编码的CU的调色板被用作预测器。在对调色板表316或当前CU调色板506进行编码之后,当前CU中的像素由如参数表604中所示的与调色板中的颜色对应的调色板索引602连同调色板索引图编码的其它参数一起表示。所述索引形成调色板索引图606,所述调色板索引图606被划分为多个串(run)且接着以水平或垂直遍历扫描次序编码。在此示例中,假设水平扫描次序,并且在调色板索引图606中将扫描方向展示为箭头。在调色板索引图606中,16个索引由串索引608、三个串R0、R1和R2连同水平遍历扫描进行编码。存在两种串模式610,复制索引模式和复制上方模式,并且对于串的各个开始位置,发送标记以指示使用哪个串模式。

如果使用了复制上方模式,则一串像素612将从其上方像素复制调色板索引。在该示例中,串R2是串值为10的上方串的副本。如果使用了复制索引模式,则首先用信号通知palette_index_idc句法元素,随后是一段PaletteIndexRun信息。palette_index_idc句法描述串是复制索引模式(palette_index_idc=0)还是复制上方模式(palette_index_idc=1),并且PaletteIndexRun句法描述串的长度。一串像素612共享同一调色板索引502,其中调色板索引602和一串像素612的串值分别是从palette_index_idc和PaletteIndexRun得到的。

在HEVC句法设计中,调色板表316或当前CU调色板506可以包含冗余颜色,即,编码器可发信号通知调色板表316或当前CU调色板506中的颜色,但不会使用发信号通知的颜色中的一些颜色。例如,如果编码树单元(CTU)中的所有CU都是4乘4大小的CU,则各个CU将有16个样本,并且CU的调色板中最多有16个颜色。必须创建缓冲器来存储例如由各个CU的坏比特流用信号通知的那些未使用的颜色会不必要地增加解码器实现复杂性。

图7例示了用于通过避免冗余和未使用的颜色来提高编码效率的示例流程图700。下文描述的处理可由视频编码器执行,或更明确地说,由视频编码器的一个或更多个处理器执行。通过避免将不在当前调色板中使用的冗余和未使用的颜色,视频编码器可以通过避免执行对不使用的颜色的不必要量化来改进编码效率。

在框702处,可以发信号通知或发送二进制向量(例如具有值10110的调色板预测器向量504),其指示来自调色板预测器列表(例如502)的先前元素(例如510、514和516)将在当前调色板(例如当前CU调色板506)中重新使用。在框704处,可以基于二进制向量来确定将重新使用的先前元素的数量。二进制向量的值可以从全0变化到全1。例如,调色板预测向量504可以具有范围从指示没有颜色被重新使用的00000到指示所有颜色被重新使用的11111的值。在框706处,可以确定当前调色板的样本量。当前调色板的样本量可以包括用于当前调色板的编码单元的大小和用于当前调色板的预测单元的大小。编码单元大小和预测单元大小可以是4×4、8×8或HEVC标准中使用的任何其它大小。

在框708处,可以基于先前元素的数量和样本量来确定将在当前调色板中使用的新元素的最大数量。举例来说,如果当前调色板的样本量是4×4CU的大小,则对于此调色板应存在最多16个颜色或元素。因此,新元素的最大数量小于或等于当前调色板的样本量。新元素的最大数量可以通过确定样本量和先前元素的数量之间的差并将该差设置为新元素的最大数量来确定。

除先前元素之外,当前调色板可以还包括跳出像素和通过帧内预测重构的样本,这可能需要修改上述新元素的最大数量。为了解决该变化,可以确定将在当前调色板中使用的跳出像素和重构样本的总数量,并且可以将新元素的最大数量减少该总数量。然后可以将新元素的减少后的最大数量设置为新元素的最大数量。

通过将待用于当前调色板中的新颜色的数量设定为最大可用数量,由于避免了缓冲或处理(例如量化)不必要或未使用的新颜色,可以改进编码器的效率。

另选,因为在当前调色板中使用的新元素可以使用诸如指数Golomb码的码来编码,所以可以将用于对新元素进行编码的编码参数设置成使得编码后的新元素的数量等于新元素的最大数量。

在框710,可以确定对应于最大新元素数量的一组新元素。一组新元素的元素可以不同于先前的元素、以及与总数量相关联的跳出像素和重构样本。因此,视频编码器可以避免缓冲或处理重复颜色,并且可以改进视频编码器性能效率。然后,在框712,可以用信号通知或发送该一组新元素。

图8例示了用于实现上述用于通过避免冗余和未使用的颜色来提高编码效率的处理和方法的示例系统800。

本文所述的技术和机制可以由系统800的多个示例以及任何其它计算设备、系统和/或环境来实现。图8中所示的系统800只是系统的一个示例,并且无意于暗示对用于执行上述处理和/或处理的任何计算装置的使用范围或功能的任何限制。适用于实施方式的其他众所周知的计算装置、系统、环境和/或配置包括但不限于驱动器/乘客计算机、服务器计算机、手持式或膝上型计算机设备、多处理器设备、微处理器设备、机顶盒、游戏机、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述任何设备或设备的分布式计算环境、使用现场可编程门阵列(“FPGA”)和专用集成电路(“ASIC”)的实现等。

系统800可以包括一个或更多个处理器802和在通信上耦接到处理器802的系统存储器804。处理器802可以执行一个或更多个模块和/或处理以使处理器802执行各种功能。在一些示例中,处理器802可包括中央处理单元(CPU),图形处理单元(GPU)、CPU和GPU两者,或本领域中已知的其它处理单元或组件。另外,各个处理器802可以拥有其自己的本地存储器,本地存储器还可以存储程序模块、程序数据和/或一个或更多个操作系统。

根据系统800的确切配置和类型,系统存储器804可以是易失性的(诸如RAM)、非易失性的(诸如ROM)、闪存、微型硬盘驱动器、存储卡等、或其某种组合。系统存储器804可以包括可由处理器802执行的一个或更多个计算机可执行模块806。

模块806可以包括但不限于发送模块808,确定模块810和参数模块812。发送模块808可以被配置成发送或发信号通知二进制向量,该二进制向量指示将在当前调色板中重新使用的来自调色板预测器列表的先前元素,如参照图7所描述。

确定模块810可以被配置成基于该二进制向量确定先前元素的数量,确定针对当前调色板的样本大小,基于先前元素的数量和样本大小确定将在当前调色板中使用的新元素的最大数量以及与新元素的最大数量对应的一组新元素,如上文参照图7所描述。当前调色板的样本大小可以包括用于当前调色板的编码单元的大小和用于当前调色板的预测单元的大小。编码单元大小和预测单元大小可以是4×4,8×8或HEVC标准中使用的任何其它尺寸。

确定模块810可以基于先前元素的数量和样本大小来确定将在当前调色板中使用的新元素的最大数量。举例来说,如果当前调色板的样本大小是4×4CU的大小,则对于此调色板应存在最多16个颜色或元素。因此,新元素的最大数量小于或等于当前调色板的样本大小。新元素的最大数量可以通过确定样本大小与先前元素的数量之间的差并将该差设置为新元素的最大数量来确定。

除先前元素之外,当前调色板可以包括跳出像素和通过帧内预测重构样本,这可能需要修改上述新元素的最大数量。为了解决该变化,确定模块810可以确定将在当前调色板中使用的跳出像素和重构样本的总数量,并将新元素的最大数量减少该总数量。确定模块810可将减少后的新元素的最大数量设置为新元素的最大数量。

通过将待用于当前调色板中的新颜色的数量设定为最大可用数量,由于避免了缓冲或处理(例如量化)不必要或未使用的新颜色,可以改进编码器(例如系统800)的效率。

另选地,因为可使用例如指数Golomb码的码来对当前调色板中所使用的新元素进行编码,所以参数模块812可以将用于对新元素进行编码的编码参数设置成使编码后的新元素的数量等于上文参照图7所描述的新元素的最大数量。

确定模块810可以确定与新元素的最大数量相对应的一组新元素。所述一组新元素可以不同于先前的元素,以及与总数量相关联的跳出像素和重构样本。因此,系统800(例如视频编码器)可以避免缓冲或处理重复颜色并且可以改进视频编码器性能效率。

发送模块808可还被配置成发送或发信号通知所述一组新元素。

系统800可另外包括输入/输出(I/O)接口814,用于接收与二进制向量、调色板预测器列表、新元素和当前调色板的样本大小相关联的数据。系统800还可以包括允许系统800通过网络(未示出)与其他设备(未示出)通信的通信模块816。网络可以包括因特网,诸如有线网络或直接线连接的有线介质,以及诸如声学、射频(RF)、红外和其它无线介质的无线介质。

如下所述,可以通过执行存储在计算机可读存储介质上的计算机可读指令来执行上述方法的一些或全部操作。在说明书和权利要求书中使用的术语“计算机可读指令”包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。可以在各种系统配置上实现计算机可读指令,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持计算装置、基于微处理器的可编程消费电子产品、其组合等。

计算机可读存储介质可以包括易失性存储器(例如随机存取存储器(RAM))和/或非易失性存储器(例如只读存储器(ROM)、闪存等)。计算机可读存储介质还可包括其他可移动存储和/或不可移动存储,包括但不限于闪存、磁存储、光存储和/或磁带存储,它们可提供计算机可读指令、数据结构、程序模块等的非易失性存储。

非暂时性计算机可读存储介质是计算机可读介质的示例。计算机可读介质包括至少两种类型的计算机可读介质,即计算机可读存储介质和通信介质。计算机可读存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息以任何过程或技术实现的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质包括但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、读取只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他存储技术、光盘只读存储器(CD-ROM)、数字通用盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储或其他磁存储装置、或可用于存储信息以供计算装置访问的任何其他非传输介质。相反,通信介质可以在诸如载波的调制数据信号或其他传输机制中实现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义,计算机可读存储介质不包括通信介质。

存储在一个或更多个非暂时性计算机可读存储介质上的计算机可读指令当由一个或更多个处理器执行时可以执行以上参照图1至图8描述的操作。总体而言,计算机可读指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序和/或并行地组合任意数量的所描述的操作以实现处理。

示例条款

A.一种视频编码器中的方法,所述方法包括:确定当前调色板的样本量;基于所述样本量确定将在所述当前调色板中使用的新元素的最大数量;确定与所述新元素的最大数量对应的一组新元素;以及发送所述一组新元素。

B.根据段落A所述的方法,其中,所述当前调色板的所述样本量包含用于所述当前调色板的编码单元的大小和用于所述当前调色板的预测单元的大小,并且所述新元素的最大数量小于或等于所述当前调色板的所述样本量。

C.根据段落A所述的方法,所述方法还包括:基于二进制向量确定将在当前调色板中重新使用的来自调色板预测器列表的先前元素的数量。

D.根据段落C所述的方法,其中,基于所述样本量确定将在所述当前调色板中使用的新元素的最大数量包括:基于所述样本量和将在所述当前调色板中重新使用的所述先前元素的所述数量确定将在所述当前调色板中使用的新元素的最大数量。

E.根据段落D所述的方法,其中,确定新元素的最大数量包括:确定所述样本量与将重新使用的所述先前元素的数量之间的差;以及将所述差设置为所述新元素的最大数量。

F.根据段落E所述的方法,所述方法还包括,在确定所述一组新元素之前:确定将在所述当前调色板中使用的跳出像素和重构样本的总数量;将所述新元素的最大数量减少所述总数量;以及将减少后的最大数量设置为所述新元素的最大数量。

G.根据段落F所述的方法,其中,所述一组新元素不同于:所述先前元素,以及与所述总数量相关联的跳出像素和重构样本。

H.根据段落F所述的方法,所述方法还包括:将用于对所述新元素进行编码的编码参数设置成使得编码后的新元素的数量等于所述新元素的最大数量。

I.一种计算机可读存储介质,其存储可由视频编码器的一个或更多个处理器执行的计算机可读指令,所述计算机可读指令在由所述一个或更多个处理器执行时使所述一个或更多个处理器执行包括以下各项的操作:基于二进制向量确定将在当前调色板中重新使用的来自调色板预测器列表的先前元素的数量;确定当前调色板的样本量;基于所述先前元素的数量和所述样本量确定将在所述当前调色板中使用的新元素的最大数量;确定与所述新元素的最大数量对应的一组新元素;以及发送所述一组新元素。

J.根据段落I所述的计算机可读存储介质,其中,针对所述当前调色板的样本量包含用于所述当前调色板的编码单元的大小和用于所述当前调色板的预测单元的大小,并且所述新元素的最大数量小于或等于所述当前调色板的所述样本量。

K.根据段落I所述的计算机可读存储介质,其中,确定所述新元素的最大数量包括:确定所述样本量与将重新使用的先前元素的数量之间的差;以及将所述差设置为所述新元素的最大数量。

L.根据段落K所述的计算机可读存储介质,其中,所述操作还包括,在确定所述一组新元素之前:确定将在所述当前调色板中使用的跳出像素和重构样本的总数量;将所述新元素的最大数量减少所述总数量;以及将减少后的最大数量设置为所述新元素的最大数量。

M.根据段落L所述的计算机可读存储介质,其中,所述一组新元素不同于:所述先前元素,以及与所述总数量相关联的跳出像素和重构样本。

N.根据段落L所述的计算机可读存储介质,其中,所述操作还包括:将用于对所述新元素进行编码的编码参数设置成使得编码后的新元素的数量等于所述新元素的最大数量。

O.一种用于视频编码器的系统,所述系统包括:一个或更多个处理器;以及在通信上耦接到所述一个或更多个处理器的存储器,所述存储器存储能够由所述一个或更多个处理器执行的计算机可执行模块,所述计算机可执行模块在由所述一个或更多个处理器执行时进行相关联的操作,所述计算机可执行模块包括:确定模块,所述确定模块被经配置成:基于二进制向量确定将在当前调色板中重新使用的来自调色板预测器列表的先前元素的数量,确定针对当前调色板的样本量,基于所述样本量确定将在所述当前调色板中使用的新元素的最大数量,确定与所述新元素的最大数量对应的一组新元素;以及发送模块,所述发送模块被配置成发送所述一组新元素。

P.根据段落O所述的系统,其中,所述当前调色板的所述样本量包含用于所述当前调色板的编码单元的大小和用于所述当前调色板的预测单元的大小,并且所述新元素的最大数量小于或等于所述当前调色板的所述样本量。

Q.根据段落O所述的系统,其中,所述确定模块还被配置成通过以下操作来确定所述新元素的最大数量:确定所述样本量与将重新使用的所述先前元素的所述数量之间的差,以及将所述差设定为所述新元素的最大数量。

R.根据段落Q所述的系统,其中,所述确定模块还被配置成,在确定所述一组新元素之前:确定将在所述当前调色板中使用的跳出像素和重构样本的总数量;将所述新元素的最大数量减少所述总数量;以及将减少后的最大数量设置为新元素的最大数量。

S.根据段落R所述的系统,其中,所述一组新元素不同于:所述先前元素,以及与所述总数量相关联的跳出像素和重构样本。

T.根据段落R所述的系统,其中,所述计算机可执行模块还包括:参数模块,所述参数模块被配置成将用于对所述新元素进行编码的编码参数设置成使得编码后的新元素的数量等于所述新元素的最大数量。

结论

虽然已经用特定于结构特征和/或方法动作的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不一定限于所描述的特定特征或动作。而是,公开了特定特征和动作作为实现权利要求的示例性形式。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号