在视频译码中调色板块大小的限制的制作方法

文档序号:11291361阅读:211来源:国知局
在视频译码中调色板块大小的限制的制造方法与工艺

本申请案要求2015年2月10日申请的美国临时专利申请案第62/114,537号的权利,所述美国临时专利申请案特此以全文引用的方式并入本文中。

本发明涉及编码及解码内容,且更具体来说,涉及根据基于调色板的译码模式的编码及解码内容。



背景技术:

数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流装置及其类似者。数字视频装置实施视频压缩技术,例如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频译码(avc)所定义的标准、目前正在开发的高效率视频译码(hevc)标准及这些标准的扩展中所描述的那些视频压缩技术。视频装置可通过实施这些视频压缩技术更有效地发射、接收、编码、解码及/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。图片的经帧内译码(i)切片中的视频块是使用关于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(p或b)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。

空间或时间预测产生待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本的块的运动向量来编码,且残余数据指示经译码块与预测性块之间的差。根据帧内译码模式及残余数据来编码帧内译码块。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生可接着进行量化的残余系数。最初布置成二维阵列的经量化系数可经扫描以便产生系数的一维向量,且可应用熵译码以达成甚至更多压缩。

可使用调色板模式编码并解码内容,例如图像。一般来说,调色板模式为涉及使用色彩值的调色板来表示内容的技术。内容可经编码以使得内容通过包含对应于调色板中的色彩值的值的索引图来表示。索引图可经解码以获得重构内容的色彩值。



技术实现要素:

本发明的技术涉及基于调色板的内容译码。举例来说,在基于调色板的内容译码中,内容译码器(例如,例如视频编码器或视频解码器的内容译码器)可将“调色板”形成为色彩表以用于表示特定区域(例如,给定块)的视频数据。基于调色板的内容译码可(例如)尤其可用于具有相对较小数目的色彩的视频数据的译码区域。内容译码器可针对使像素与表示像素的色彩的调色板中的条目相关的像素中的一或多者而译码调色板索引(例如,索引值)而非译码实际像素值(或其残差)。本发明中描述的技术可包含用于传信基于调色板的译码模式、发射调色板、导出调色板、导出非发射语法元素的值、发射基于调色板的译码图及其它语法元素、预测调色板条目、译码调色板索引的延行、熵译码调色板信息及各种其它调色板译码技术中的一或多者的各种组合的技术。

在一个实例中,本发明描述一种方法,其包括:接收具有大小的视频数据块;确定视频数据块的大小;及基于视频数据块的所确定大小停用用于视频数据块的调色板模式编码。

在一个实例中,本发明描述一种装置,其包括经配置以存储视频数据的存储器;及与所述存储器通信的视频编码器,所述视频编码器经配置以:从存储器接收具有大小的视频数据块;确定视频数据块的大小;及基于视频数据块的所确定大小停用用于视频数据块的调色板模式编码。

在一个实例中,本发明描述一种设备,其包括用于接收具有大小的视频数据块的设备;用于确定视频数据块的大小的设备;及用于基于视频数据块的所确定大小停用用于视频数据块的调色板模式编码的设备。

在一个实例中,本发明描述一种上面存储有指令的非暂时性计算机可读存储媒体,所述指令当经执行时引起一或多个处理器:接收具有大小的视频数据块;确定视频数据块的大小;及基于视频数据块的所确定大小停用用于视频数据块的调色板模式编码。

在附图及以下描述中阐明本发明的一或多个实例的细节。本发明的其它特征、目标及优势将从描述及图式及权利要求书显而易见。

附图说明

图1为说明可利用本发明中描述的技术的实例视频译码系统的框图。

图2为说明可执行本发明中所描述的技术的实例视频编码器的框图。

图3为说明可执行本发明中所描述的技术的实例视频解码器的框图。

图4为说明与本发明的技术一致的确定用于基于调色板的视频译码的调色板条目的实例的概念图。

图5为说明与本发明的技术一致的确定到像素的块的调色板的索引的实例的概念图。

图6为说明与本发明的技术一致的确定超过延行长度的最大副本、假设光栅扫描次序的实例的概念图。

图7为说明与本发明的用于基于调色板的视频译码的技术一致的用于处理视频数据的实例程序的流程图。

具体实施方式

本发明的方面是针对用于内容译码(例如视频译码)及内容数据压缩(例如,视频数据压缩)的技术。确切来说,本发明描述用于内容数据(例如,视频数据)的基于调色板的译码的技术。在本发明的各种实例中,如下文更详细地描述,本发明的技术可是针对以调色板模式预测或译码块以改进译码效率及/或减小编解码器复杂度的程序。举例来说,本发明描述与限制调色板模式的调色板块大小相关的技术。

如本文所使用,术语“内容”的例子可改变为术语“视频”,且术语“视频”的例子可改变为术语“内容”。无论术语“内容”或“视频”是被用作形容词、名词抑或词类的其它部分,此为成立。举例来说,“内容译码器”的参考也包含“视频译码器”的参考,且“视频译码器”的参考也包含“内容译码器”的参考。类似地,“内容”的参考也包含“视频”的参考,且“视频”的参考也包含“内容”的参考。

如本文所使用,“内容”指代任何类型的内容。举例来说,“内容”可指视频、屏幕内容、图像、任何图形内容、任何可显示内容或与其对应的任何数据(例如,视频数据、屏幕内容数据、图像数据、图形内容数据、可显示内容数据及类似者)。

如本文所用,术语“视频”可指屏幕内容、可移动内容、可以序列呈现的多个图像,或与其对应的任何数据(例如,屏幕内容数据、可移动内容数据、视频数据、图像数据及类似者)。

如本文所用,术语“图像”可指单个图像、一或多个图像、在多个图像中的对应于视频的一或多个图像、在多个图像之中对应于视频的一或多个图像、对应于视频的多个图像(例如,对应于视频的所有图像或对应于视频的并非所有图像)、单个图像的子部分、单个图像的多个子部分、对应于多个图像的多个子部分、一或多个图形基元、图像数据、图形数据及类似者。

在传统视频译码中,图像经假设为连续色调且在空间上平滑。基于这些假设,已开发例如基于块的变换、滤波及其它译码工具的各种工具,且这些工具已针对天然内容视频展示出良好性能。然而,在类似远程台式计算机、协同工作及无线显示器的应用中,计算机产生的屏幕内容可为待压缩的主要内容。此类型的屏幕内容往往会具有离散色调、锐线及高对比度对象边界。可不再应用连续色调及平滑度的假设,且因此传统视频译码技术可在压缩内容(例如,屏幕内容)方面效率低下。

在基于调色板的视频译码的一个实例中,视频编码器可通过为块确定调色板(例如,明确地译码调色板、预测调色板或其组合),定位调色板中的条目以表示一或多个像素的值及使用指示用于表示块的像素值的调色板中的条目的索引值来编码调色板及块两者而编码视频数据块。在一些实例中,视频编码器可在经编码位流中传信调色板及/或索引值。反过来,视频解码器可从经编码位流获得用于块的调色板,以及用于所述块的个别像素的索引值。视频解码器可使像素的索引值与调色板的条目相关以重构块的各种像素值。

举例来说,可假设视频数据的特定区域具有相对较小数目种色彩。视频译码器(例如,视频编码器或视频解码器)可译码(例如,编码或解码)所谓的“调色板”以表示特定区域的视频数据。调色板可表示为表示特定区域(例如,给定块)的视频数据的色彩或像素值的索引(例如表)。视频译码器可译码索引,所述索引使一或多个像素值与调色板中的适当值相关。每一像素可与调色板中表示像素的色彩的条目相关联。举例来说,调色板可包含给定块中的最主要像素值。在某些情况下,所述最主要像素值可包含在所述块内最频繁地出现的一或多个像素值。另外,在一些情况下,视频译码器可应用阈值以确定是否应将像素值包含作为块中的最主要像素值中的一者。根据基于调色板的译码的各种方面,视频译码器可对指示当前块的像素值中的一或多者的索引值进行译码,而不是针对视频数据的当前块对实际像素值或其残余部分进行译码。在基于调色板的译码的情况下,索引值指示调色板中的相应条目,所述条目被用于表示当前块的个别像素值。上文的描述意图提供基于调色板的视频译码的概述。

基于调色板的译码,其可特别适合于屏幕产生的内容译码或其中一或多个传统译码工具效率低下的其它内容。用于视频数据的基于调色板的译码的技术可与一或多个其它译码技术(例如,用于帧间或帧内预测性译码的技术)一起使用。举例来说,如下文更详细描述,编码器或解码器或组合式编码器-解码器(编码解码器)可经配置以执行帧间及帧内预测性译码,以及基于调色板的译码。

在一些实例中,基于调色板的译码技术可经配置以与一或多个视频译码标准一起使用。举例来说,高效率视频译码(hevc)为由itu-t视频译码专家组(vceg)及iso/iec运动图片专家组(mpeg)的视频译码联合合作小组(jct-vc)开发的新视频译码标准。最终hevc标准文件是国际电信联盟(itu)的电信标准化部门在2013年4月作为“itu-th.265,系列h:视听服务的视听及多媒体系统基础架构-移动视频的译码-高效率视频译码”公开。

为了提供屏幕产生内容的更高效译码,jct-vc将开发hevc标准的扩展(被称作hevc屏幕内容译码(scc)标准)。被称作“hevcscc草案2”或“wd2”的hevcscc标准的新工作草案描述于文件jctvc-s1005中,其为r.joshi及j.xu的“hevc屏幕内容译码草案文字2”itu-tsg16wp3及iso/iecjtc1/sc29/wg11的关于视频译码的联合合作小组(jct-vc),第19次会议:法国斯特拉斯堡,2014年10月17日到24日。

就hevc架构来说,作为实例,基于调色板的译码技术可经配置以用作译码单元(cu)模式。在其它实例中,基于调色板的译码技术可经配置以用作hevc的架构中的预测单元(pu)模式。因此,在cu模式的上下文中描述的所有以下所公开程序可另外或替代地适用于pu。然而,这些基于hevc的实例应不被认为是对本文所描述基于调色板的译码技术的约束或限制,因为这些技术可经应用以独立地起作用或作为其它现有或仍待开发的系统/标准的一部分。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状区域。

在一些实例中,调色板可由一或多个cu、pu或数据的任何区域(例如,数据的任何块)导出。举例来说,调色板可包括(及可由以下各者组成):当前cu中的最主要像素值,其中针对此特定实例,cu为数据的区域。将调色板的大小及元素首先从视频编码器发射到视频解码器。可使用与当前cu相邻的cu(即,邻近cu(例如,其中邻近cu可包含在当前cu上方及/或在当前cu左边的cu))中的调色板的大小及/或元素来直接译码或预测性地译码调色板的大小及/或元素。此后,根据特定扫描次序基于调色板来编码cu中的像素值。针对cu中的每一像素位置,首先发射旗标(例如,palette_flag)以指示像素值是否包含于调色板中。针对映射到调色板中的条目的那些像素值,对cu中的给定像素位置传信与所述条目相关联的调色板索引。针对调色板中并不存在的那些像素值,可将特殊索引分配给像素且针对cu中的给定像素位置发射实际像素值。这些像素被称作“逸出像素”。可使用任何现有熵译码方法(例如,固定长度译码,一元译码等)来译码逸出像素。

视频数据块中的样本可使用水平光栅扫描次序或其它扫描次序进行处理(例如,扫描)。举例来说,视频编码器可通过使用水平光栅扫描次序扫描调色板索引而将调色板索引的二维块转换成一维阵列。同样,视频解码器可使用水平光栅扫描次序重构调色板索引的块。因此,本发明可将先前样本称作按扫描次序在块中当前经译码的样本之前的样本。应了解,除水平光栅扫描以外的扫描(例如,垂直光栅扫描次序)也可为可适用的。以上实例以及本发明中阐述的其它实例意图提供对基于调色板的视频译码的概述。

图1为说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”大体上是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”大体上可指视频编码或视频解码。视频译码系统10的视频编码器20及视频解码器30表示可经配置以执行根据本发明中所描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20及视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码选择性地译码视频数据的各种块(例如,hevc译码中的cu或pu)。非基于调色板的译码模式可指代各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如由hevc标准指定的各种译码模式。

如图1中所示,视频译码系统10包含源装置12及目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可解码由源装置12所产生的经编码视频数据。因此,目的地装置14可被称作视频解码装置或视频解码设备。源装置12及目的地装置14可为视频译码装置或视频译码设备的实例。

源装置12及目的地装置14可包括广泛范围的装置,包含台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓“智能”电话的电话手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机(in-carcomputer)或其类似者。

目的地装置14可经由信道16从源装置12接收经编码的视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使源装置12能够实时地将经编码视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据通信标准(例如,无线通信协议)调制经编码视频数据,且可将经调制视频数据发射到目的地装置14。一或多个通信媒体可包含无线及/或有线通信媒体,例如射频(rf)频谱或一或多个物理发射线。一或多个通信媒体可形成基于分组的网络(例如局域网、广域网或全球网络(例如,因特网))的部分。一或多个通信媒体可包含路由器、交换器、基站,或促进从源装置12到目的地装置14的通信的其它设备。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可(例如)经由磁盘存取或卡存取而存取存储媒体。存储媒体可包含多种本地存取的数据存储媒体,例如蓝光光盘、dvd、cd-rom、快闪存储器,或用于存储经编码视频数据的其它合适的数字存储媒体。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可经由流式传输或下载来存取存储于文件服务器或另一中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、文件传送协议(ftp)服务器、网络附接存储(nas)装置及本地磁盘驱动器。

目的地装置14可经由标准数据连接(例如,因特网连接)来存取经编码视频数据。数据连接的实例类型可包含无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等)或适合于存取存储于文件服务器上的经编码视频数据的两者的组合。经编码视频数据从文件服务器的发射可为流式发射、下载发射或两者的组合。

源装置12及目的地装置14可经配置以执行与本发明一致的基于调色板的译码。然而,本发明用于基于调色板的译码的技术不限于无线应用或设定。所述技术可应用于支持多种多媒体应用的视频译码,所述多媒体应用例如空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、编码视频数据以供存储于数据存储媒体上、解码存储于数据存储媒体上的视频数据,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频重放、视频广播及/或视频电话的应用。

图1中所说明的视频译码系统10仅为实例,且本发明的技术可应用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,从经由网络而流式传输的区域存储器或其类似者检索数据。视频编码装置可编码数据且将数据存储到存储器,及/或视频解码装置可从存储器检索数据且解码数据。在许多实例中,由并不彼此通信,但简单地将数据编码到存储器及/或从存储器检索数据并解码数据的装置来执行编码及解码。

在图1的实例中,源装置12包含视频源18、视频编码器20,及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含例如摄像机的视频俘获装置,含有先前所俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口及/或用于产生视频数据的计算机图形系统,或视频数据的这些源的组合。

视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12经由输出接口22直接将经编码视频数据发射到目的地装置14。在其它实例中,经编码视频数据还可存储于存储媒体上或文件服务器上,以稍后供目的地装置14存取以用于解码及/或重放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可经由信道16来接收经编码视频数据。显示装置32可与目的地装置14集成或可在目的地装置14外部。一般来说,显示装置32显示经解码视频数据。显示装置32可包括多种显示装置,例如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示装置。

本发明可大体上指视频编码器20将某些信息“传信”或“发射”到另一装置,例如视频解码器30。术语“传信”或“发射”可大体上指用以解码压缩视频数据的语法元素及/或其它数据的通信。此通信可实时地或近乎实时地发生。替代地,此通信可在时间跨度内发生,例如此通信可在当编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,接着,在存储到此媒体之后可由解码装置在任何时间检索所述语法元素。因此,虽然视频解码器30可被称作“接收”某些信息,但信息的接收未必实时或接近实时发生且可在存储之后在某一时间处从媒体检索。

视频编码器20及视频解码器30各自可实施为多种合适电路中的任一者,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施技术,那么装置可将用于软件的指令存储于合适的非暂时性计算机可读存储媒体中,且可在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。可将上述内容(包含硬件、软件、硬件与软件的组合等)中的任一者视为一或多个处理器。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(编码解码器)的部分。

在一些实例中,视频编码器20及视频解码器30根据视频压缩标准(例如上文所提及的hevc标准,及hevc标准中所描述)操作。除基本hevc标准之外,还存在持续努力以产生用于hevc的可缩放视频译码、多视图视频译码及3d译码扩展。另外,例如,如本发明中所描述的基于调色板的译码模式可经提供用于hevc标准的扩展。在一些实例中,本发明中描述的用于基于调色板的译码的技术可应用于经配置以根据其它视频译码标准操作的编码器及解码器。因此,hevc编解码器中用于译码单元(cu)或预测单元(pu)的译码的基于调色板的译码模式的应用是出于实例的目的而描述。

在hevc及其它视频译码标准中,视频序列通常包含一系列图片。图片还可被称作“帧”。图片可包含三个样本阵列,表示为sl、scb及scr。sl为明度样本的二维阵列(即,块)。scb是cb色度样本的二维阵列。scr是cr色度样本的二维阵列。色度样本还可在本文中被称作“色度”样本。在其它情况下,图片可为单色的,且可仅包含明度样本阵列。

为了产生图片的经编码表示,视频编码器20可产生译码树单元(ctu)的集合。ctu中的每一者可为明度样本的译码树块、色度样本的两个对应译码树块及用于对译码树块的样本进行译码的语法结构。译码树块可为样本的n×n块。ctu还可被称作“树块”或“最大译码单元”(lcu)。hevc的ctu可广泛地类似于例如h.264/avc的其它标准的宏块。然而,ctu未必限于特定大小,且可包含一或多个译码单元(cu)。切片可包含在光栅扫描中连续排序的整数数目个ctu。经译码切片可包括切片标头及切片数据。切片的切片标头可为包含提供关于切片的信息的语法元素的语法结构。切片数据可包含切片的经译码ctu。

本发明可使用术语“视频单元”或“视频块”或“块”以指代一或多个样本块及用于译码样本的所述一或多个块的样本的语法结构。视频单元或块的实例类型可包含ctu、cu、pu、变换单元(tu)、宏块、宏块分割等等。在hevc的实例中,为产生经译码ctu,视频编码器20可对ctu的译码树块递回地执行四叉树分割,以将译码树块划分成译码块,因此命名“译码树单元”。译码块为样本的n×n块。cu可为具有明度样本阵列、cb样本阵列及cr样本阵列的图片的明度样本的译码块及色度样本的两个对应译码块,及用以译码所述译码块的样本的语法结构。视频编码器20可将cu的译码块分割为一或多个预测块。预测块可为其上应用相同预测的样本的矩形(即,正方形或非正方形)块。cu的预测单元(pu)可为图片的明度样本的预测块,图片的色度样本的两个对应预测块,及用以对预测块样本进行预测的语法结构。视频编码器20可产生cu的每一pu的明度、cb及cr预测块的预测性明度、cb及cr块。

视频编码器20可使用帧内预测或帧间预测来产生pu的预测性块。如果视频编码器20使用帧内预测产生pu的预测性块,那么视频编码器20可基于与pu相关联的图片的经解码样本产生pu的预测性块。

如果视频编码器20使用帧间预测来产生pu的预测性块,那么视频编码器20可基于不同于相关联于pu的图片的一或多个图片的经解码样本而产生pu的预测性块。视频编码器20可使用单向预测或双向预测来产生pu的预测性块。当视频编码器20使用单向预测来产生pu的预测性块时,pu可具有单个运动向量(mv)。当视频编码器20使用双向预测来产生pu的预测性块时,pu可具有两个mv。

在视频编码器20产生cu的一或多个pu的预测性块(例如,预测性明度、cb及cr块)之后,视频编码器20可产生cu的残余块。cu的残余块中的每一样本可指示cu的pu的预测性块中的样本与cu的译码块中的对应样本之间的差异。举例来说,视频编码器20可产生cu的明度残余块。cu的明度残余块中的每一样本指示cu的预测性明度块中的一者中的明度样本与cu的原始明度译码块中的对应样本之间的差异。另外,视频编码器20可产生cu的cb残余块。cu的cb残余块中的每一样本可指示cu的预测性cb块中的一者中的cb样本与cu的原始cb译码块中的对应样本之间的差异。视频编码器20还可产生cu的cr残余块。cu的cr残余块中的每一样本可指示cu的预测性cr块中的一者中的cr样本与cu的原始cr译码块中的对应样本之间的差异。

此外,视频编码器20可使用四叉树分割将cu的残余块(例如,明度、cb及cr残余块)分解成一或多个变换块(例如,明度、cb及cr变换块)。变换块可为应用相同变换所针对的样本的矩形块。cu的变换单元(tu)可为明度样本的变换块、色度样本的两个对应变换块,及用于对变换块样本进行变换的语法结构。因此,cu的每一tu可与明度变换块、cb变换块及cr变换块相关联。与tu相关联的明度变换块可为cu的明度残余块的子块。cb变换块可为cu的cb残余块的子块。cr变换块可为cu的cr残余块的子块。

视频编码器20可将一或多个变换应用于变换块以产生tu的系数块。系数块可为变换系数的二维阵列。变换系数可为标量。举例来说,视频编码器20可将一或多个变换应用于tu的明度变换块以产生tu的明度系数块。视频编码器20可将一或多个变换应用于tu的cb变换块,以产生tu的cb系数块。视频编码器20可将一或多个变换应用于tu的cr变换块以产生tu的cr系数块。

在产生系数块(例如,明度系数块、cb系数块或cr系数块)之后,视频编码器20可量化系数块。量化通常指代对变换系数进行量化以可能减少用以表示变换系数的数据的量,从而提供进一步压缩的程序。在视频编码器20将系数块量化之后,视频编码器20可熵编码指示经量化变换系数的语法元素。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(cabac)。

就cabac来说,作为实例,视频编码器20及视频解码器30可选择概率模型(也被称作上下文模型)以基于上下文对与视频数据块相关联的符号进行译码。举例来说,上下文模型(ctx)可为应用于选择多个不同上下文中的一者的索引或偏移,所述上下文中的每一者可对应于特定概率模型。因此,不同概率模型通常针对每一上下文来定义。在编码或解码二进制之后,概率模型基于二进制的值经进一步更新以反映对二进制的最新概率评估。举例来说,概率模型可维持有限状态机中的状态。每一特定状态可对应于特定概率值。对应于概率模型的更新的下一状态可取决于当前二进制(例如,当前正被译码的二进制)的值。因此,概率模型的选择可受经预先译码二进制的值的影响,因为所述值至少部分指示具有给定值的二进制的概率。上文所描述的上下文译码程序可通常被称作上下文自适应译码模式。

因此,视频编码器20可使用概率模型编码目标符号。同样地,视频解码器30可使用概率模型剖析目标符号。在一些情况下,视频编码器20可使用上下文自适应译码与非上下文自适应译码的组合来译码语法元素。举例来说,视频编码器20可通过选择对上下文操作以译码二进制的概率模型或“上下文模型”来对二进制进行上下文译码。相比之下,视频编码器20可在译码二进制时通过旁路或省去规则算术译码程序而对二进制进行旁路译码。在这些实例中,视频编码器20可使用固定概率模型来对二进制进行旁路译码。即,经旁路译码的二进制不包含上下文或概率更新。

视频编码器20可输出包含经熵编码语法元素的位流。位流还可包含未经熵编码的语法元素。所述位流可包含形成经译码图片及相关联数据的表示的位的序列。位流可包括一连串网络抽象层(nal)单元。所述nal单元中的每一者包含nal单元标头且封装原始字节序列有效负载(rbsp)。nal单元标头可包含指示nal单元类型代码的语法元素。通过nal单元的nal单元标头指定的nal单元类型代码指示nal单元的类型。rbsp可为含有封装于nal单元内的整数数目个字节的语法结构。在一些情况下,rbsp包含零个位。

不同类型的nal单元可封装不同类型的rbsp。举例来说,第一类型的nal单元可封装图片参数集(pps)的rbsp,第二类型的nal单元可封装经译码切片的rbsp,第三类型的nal单元可封装补充增强信息(sei)的rbsp,等等。封装视频译码数据的rbsp(相反于参数集及sei消息的rbsp)的nal单元可被称作视频译码层(vcl)nal单元。

视频解码器30可接收通过视频编码器20产生的位流。另外,视频解码器30可剖析位流以对来自位流的语法元素进行解码。视频解码器30可至少部分基于从位流解码的语法元素而重构视频数据的图片。用以重构视频数据的程序可与由视频编码器20执行的程序大体上互逆。举例来说,视频解码器30可使用pu的mv来确定当前cu的pu的预测性块。另外,视频解码器30可反量化与当前cu的tu相关联的变换系数块。视频解码器30可对变换系数块执行反变换以重构与当前cu的tu相关联的变换块。通过将当前cu的pu的预测性块的样本添加到当前cu的tu的变换块的对应样本,视频解码器30可重构当前cu的译码块。通过重构图片的每一cu的译码块,视频解码器30可重构图片。

在一些实例中,视频编码器20及视频解码器30可经配置以执行基于调色板的译码。举例来说,在基于调色板的译码中,视频编码器20及视频解码器30可将所谓的调色板译码为表示特定区域(例如,给定块)的视频数据的色彩或像素值的表,而非执行上文所描述的帧内预测或帧间预测译码技术。以此方式,视频译码器可译码当前块的像素值中的一或多者的索引值,而非译码视频数据的当前块的实际像素值或其残差,其中所述索引值指示调色板中用于表示当前块的像素值的条目。

举例来说,视频编码器20可通过确定用于块的调色板、定位调色板中的条目以表示每一像素的值,及编码调色板及将像素值与调色板相关的像素的索引值而编码视频数据块。视频解码器30可从经编码位流获得用于块的调色板,以及块的像素的索引值。视频解码器30可将个别像素的索引值与调色板的条目匹配以重构块的像素值。在与个别像素相关联的索引值不匹配块的对应调色板的任何索引值的情况下,出于基于调色板的译码的目的,视频解码器30可将此像素识别为逸出像素。

在另一实例中,视频编码器20可根据以下操作编码视频数据块。视频编码器20可确定块的个别像素的预测残余值,确定块的调色板,且定位调色板中具有表示个别像素的预测残余值中的一或多者的值的值的条目(例如,索引值)。另外,视频编码器20可使用指示调色板中用于表示块的每一个别像素的对应预测残余值的条目的索引值编码块。视频解码器30可从由源装置12传信的经编码位流获得块的调色板,以及对应于块的个别像素的预测残余值的索引值。如所描述,索引值可对应于调色板中与当前块相关联的条目。反过来,视频解码器30可使预测残余值的索引值与调色板的条目相关,以重构块的预测残余值。可将预测残余值添加到预测值(例如,使用帧内或帧间预测获得)以重构块的像素值。

如下文更详细地描述,基于调色板的译码的基本构想为:对于待译码的视频数据的给定块,视频编码器20可导出包含当前块中的最主要像素值的调色板。举例来说,调色板可指经确定或假设为当前cu的主要及/或代表的数个像素值。视频编码器20可首先将调色板的大小及元素发射到视频解码器30。另外,视频编码器20可根据特定扫描次序编码给定块中的像素值。对于包含于给定块中的每一像素,视频编码器20可传信将像素值映射到调色板中的对应条目的索引值。如果像素值并不包含于调色板中(即,不存在指定经调色板译码的块的特定像素值的调色板条目),那么此像素被定义为“逸出像素”。根据基于调色板的译码,视频编码器20可编码且传信经保留以用于逸出像素的索引值。在一些实例中,视频编码器20还可编码且传信包含于给定块中的逸出像素的像素值或残余值(或其经量化版本)。

在接收由视频编码器20传信的经编码视频位流之后,视频解码器30即可首先基于从视频编码器20接收的信息确定调色板。视频解码器30可接着将与给定块中的像素位置相关联的所接收索引值映射到调色板的条目以重构给定块的像素值。在一些情况下,视频解码器30可确定经调色板译码块的像素为逸出像素,例如,通过确定像素通过经保留以用于逸出像素的索引值而经调色板译码。在视频解码器30识别经调色板译码块中的逸出像素的情况下,视频解码器30可接收包含于给定块中的逸出像素的像素值或残余值(或其经量化版本)。视频解码器30可通过将个别像素值映射到对应调色板条目且通过使用像素值或残余值(或其经量化版本)而重构经调色板译码块,以重构包含于经调色板译码块中的任何逸出像素。

如上文所陈述,在实例调色板译码模式中,调色板可包含由索引编号的条目。每一条目可表示色彩分量值或强度(例如,在例如ycbcr、rgb、yuv、cmyk或其它格式的色彩间隙中),所述值或强度可用作块的预测符或经最终重构的块样本。如描述于标准提交文件jctvc-q0094(weipu等人,“ahg10:基于rext6.0的推荐的调色板译码软件”jctvc-q0094,西班牙巴伦西亚市,2014年3月27日到2014年4月4日)中,调色板可包含从预测符调色板所复制的条目。预测符调色板可包含来自先前使用调色板模式译码的块或来自其它经重构的样本的调色板条目。对于预测符调色板中的每一条目,发送二进制旗标以指示条目是否被复制到当前调色板(由旗标=1指示)。此被称作二进制调色板预测向量。另外,当前调色板可包括经明确传信的新条目(例如,由经明确传信的新条目组成)。还可传信新输入条目的数目。

作为另一实例,在调色板模式中,调色板可包含由表示色彩分量值的索引编号的条目,所述色彩分量值可被用作块样本的预测符或最终经重构块样本。调色板中的每一条目可含有(例如)一个明度分量(例如,明度值)、两个色度分量(例如,两个色度值)或三个色彩分量(例如,rgb、yuv等)。先前经解码的调色板条目可存储于列表中。举例来说,此列表可用于预测在当前调色板模式cu中的调色板条目。二进制预测向量可以位流传信以指示列表中的哪些条目再用于当前调色板中。在一些实例中,延行长度译码可用于压缩二进制调色板预测符。举例来说,可使用0阶指数哥伦布码(exp-golombcode)来译码延行长度值。

在本发明中,将假设每一调色板条目指定样本的所有色彩分量的值。然而,本发明的概念适用于使用独立调色板及/或每一色彩分量的独立调色板条目。又,假设使用水平光栅扫描次序处理块中的样本。然而,还可适用例如垂直光栅扫描次序的其它扫描。如上文所提及,调色板可含有经预测调色板条目((例如)从用于译码前述块的调色板预测的)及对当前块具专一性且明确地传信的新条目。编码器及解码器可知晓经预测及新调色板条目的数目且其总和可指示块中的总调色板大小。

如上文所引用的jctvc-q0094的实例中所提出的,使用调色板译码的块中的每一样本可属于三个模式中的一者,如下文所阐述:

●逸出模式。在此模式中,样本值并不作为调色板条目而包含到调色板中,且对于所有色彩分量,明确地传信经量化的样本值。所述情形类似于新调色板条目的传信,尽管对于新调色板条目,并不将色彩分量值量化。

●copyabove模式(也称为copyfromtop模式或复制模式)。在此模式中,当前样本的调色板条目索引从位于样本的块中的当前样本正上方的样本而被复制。在其它实例中,对于从上复制模式,视频数据块可经转置以使得块上方的样本实际上为块左边的样本。

●值模式(也称为索引模式或延行模式)。在此模式中,调色板条目索引的值经明确地传信。

如本文所描述,调色板条目索引可被称作调色板索引或简称为索引。这些术语可互换地使用以描述本发明的技术。另外,如下文更详细描述,调色板索引可具有一或多个相关联的色彩或强度值。举例来说,调色板索引可具有与像素的单一色彩或强度分量(例如,rgb数据的红色分量、yuv数据的y分量,或其类似者)相关联的单一相关联的色彩或强度值。在另一实例中,调色板索引可具有多个相关联的色彩或强度值。在一些情况下,可应用基于调色板的视频译码来译码单色视频。因此,“色彩值”大体上可指用以产生像素值的任何色彩或非色彩分量。

延行值可指示使用相同调色板译码模式译码的调色板索引值的延行。举例来说,关于值模式,视频译码器(例如,视频编码器20或视频解码器30)可译码索引值及延行值,其指示扫描次序中的具有相同索引值并通过调色板索引译码的连续样本的数目。关于copyabove模式,视频译码器可译码当前样本值的索引值与上方相邻样本(例如,定位于块中当前经译码的样本上方的样本)的索引值相同的指示,及指示也从上方相邻样本复制索引值且通过调色板索引译码的按扫描次序的连续样本的数目的延行值。因此,在上述实例中,调色板索引值的延行是指具有相同值的调色板值的延行或从上方相邻样本复制的索引值的延行。

因此,延行可针对给定模式指定属于相同模式的后续样本的数目。在一些情况下,传信索引值及延行值可类似于延行长度译码。在出于说明的目的的实例中,对应于视频数据块的索引块的连续调色板索引值的字符串可为0、2、2、2、2、5。在一些实例中,索引块可包含一或多个逸出像素值。索引块中的每一索引值可对应于视频数据块中的样本。在此实例中,视频译码器可使用值模式译码第二样本(例如,“2”的第一调色板索引值)。在译码2的索引值之后,视频译码器可译码3的延行,所述延行指示三个后续样本也具有相同的2的调色板索引值。以类似方式,在使用copyabove模式译码索引之后译码四个调色板索引的延行可指示:从当前经译码的样本位置上方的行中的对应调色板索引值复制总共五个调色板索引。

使用调色板,视频编码器20及/或视频解码器30可经配置以将样本的块(例如,视频数据块)译码成索引块,其中所述索引块为包含例如用于每一样本的索引值(其将样本映射到一或多个调色板条目)且在一些实例中包含一或多个逸出像素值的块。视频数据块的每一像素可通过延行模式、复制模式或逸出模式来译码。在一些实例中,视频数据块的第一行中的像素可仅使用延行模式或逸出模式来译码。

语法元素palette_run_type_flag指示是使用延行模式还是复制模式。举例来说,视频编码器20可经配置以通过将对应于palette_run_type_flag语法元素的值编码到视频数据块的样本的经编码位流中而传信语法元素palette_run_type_flag。视频解码器20可经配置以接收包括对应于palette_run_type_flag语法元素的编码值的经编码位流。视频解码器20可经配置以对经编码值进行解码以确定对应于palette_run_type_flag语法元素的值,且因此,确定是延行模式还是复制模式用于视频数据块的样本。举例来说,当palette_run_type_flag的值为第一值时,那么延行模式可用于视频数据块的样本。作为另一实例,当palette_run_type_flag的值为第二值时,那么复制模式可用于视频数据块的样本。

在一些实例中,当使用延行模式或复制模式时,可将palette_index语法元素连同palette_run语法元素一起传信。举例来说,视频编码器20可经配置以通过将对应于palette_index的值(例如,索引值)及对应于palette_run的值(例如,延行值)编码到经编码位流中而传信palette_index及palette_run语法元素。视频解码器30可经配置以接收包括对应于palette_index语法元素的经编码值及对应于palette_run语法元素的经编码值的经编码位流。视频解码器20可经配置以对对应于palette_index的经编码值及对应于palette_run的经编码值进行解码以分别确定对应于palette_index的值(例如,索引值)及对应于palette_run的值(例如,延行值)。

当使用延行模式时,延行值指示将具有相同调色板索引的像素的数目。然而,当使用复制模式时,延行值指示像素的数目,将所述像素的调色板索引(例如,索引值)从另一相应像素复制到每一像素(例如,在每一相应像素正上方)。

在一些实例中,逸出模式是在延行模式内译码,其中特定调色板索引可用于指示此模式。用以指示逸出模式的调色板索引等于根据一些实例的当前块的调色板大小。在逸出模式中,延行值可未经译码,这是由于逸出模式应用于单个像素(例如像素三元组(y、u及v)),其中单个像素的色彩分量的值经明确地传信为palette_escape_val。在一些实例中,复制模式可不针对块中的第一行而启用,这是由于在属于相同块的第一行上方不存在像素。

可对每块传信旗标palette_escape_val_present_flag以指示逸出像素的使用。此旗标等于1指示经调色板译码的块中存在至少一个逸出像素,且否则的话旗标等于0。举例来说,视频编码器20可经配置以通过将对应于palette_escape_val_present_flag语法元素的值编码到经编码位流中而传信语法元素palette_escape_val_present_flag。视频解码器20可经配置以接收包括对应于palette_escape_val_present_flag语法元素的编码值的经编码位流。视频解码器20可经配置以对经编码值进行解码以确定对应于palette_escape_val_present_flag语法元素的值,且因此,确定经调色板译码块中是否存在至少一个逸出像素。

在一些实例中,调色板大小限于0到max_palette_size范围内,其中后者被传信。对于通过调色板模式译码的块,在一些实例中,调色板可从一或多个先前调色板译码块的调色板条目预测。针对当前块,调色板可作为一或多个新条目经明确地传信。在其它实例中,先前译码块的调色板可经完全再使用(例如,复制)以用于当前块,此称为调色板共享模式。在一些实例中,旗标palette_share_flag可经传信以指示先前块的整个调色板在不修改情况下按现状经再使用用于当前块。

当使用调色板模式译码视频的块时,像素扫描模式(例如,扫描次序)可包含例如:垂直横移或水平横移(蛇形)扫描。根据每块单元传信的旗标palette_transpose_flag导出块中所使用的扫描模式。

在调色板模式译码期间,可应用调色板索引调节程序。从当前块中的第二像素开始,可检查(例如确定)扫描次序中的先前像素的调色板模式。在一些实例中,最大调色板索引大小可首先减小1。如果扫描次序中的先前像素的调色板模式等于延行模式(即,如果扫描次序中的先前像素经或待使用延行模式译码),如果索引值大于或等于扫描次序中的先前像素的索引值,那么当前像素的调色板索引(例如,索引值)可减小1。类似地,如果扫描次序中的先前像素的调色板模式等于复制模式(即,如果扫描次序中的先前像素经或待使用复制模式译码),如果索引大于上述调色板索引,那么当前像素的调色板索引(例如,索引值)可减小1。

视频编码器20可经配置以熵编码索引块以压缩索引块。类似地,视频解码器30可经配置以熵解码经编码索引块以产生索引块,视频解码器30可从所述索引块产生样本的块(例如,由编码器20编码的视频数据块)。举例来说,基于延行长度的熵译码可用于压缩与解压缩索引块。在一些实例中,视频编码器20及视频解码器30可经配置以使用cabac分别熵编码及解码索引块中的索引值。

为将cabac译码应用于信息(例如,语法元素、例如索引块的索引值的索引块或其它信息),视频译码器(例如,视频编码器20及视频解码器30)可对信息执行二进制化。二进制化指代将信息转换成一系列一或多个位的程序。一或多个位的每个系列可被称为“二进制”。二进制化为无损程序且可包含以下译码技术中的一个或组合:固定长度译码、一元译码、截断的一元译码、截断的莱斯(rice)译码、哥伦布译码、指数哥伦布译码、哥伦布-莱斯译码、哥伦布译码的任一形式、莱斯译码的任一形式及熵译码的任一形式。举例来说,二进制化可包含使用8位固定长度技术将整数值5表示成00000101,或者使用一元译码技术将整数值5表示成11110。

在二进制化之后,视频译码器可识别译码上下文。译码上下文可识别译码具有特定值的二进制数的概率。举例来说,译码上下文可指示对0值二进制数进行译码的0.7概率,以及对1值二进制数进行译码的0.3概率。在识别译码上下文之后,视频译码器可基于上下文算术地译码所述二进制数,此已知为上下文模式译码。使用cabac上下文模式译码而译码的二进制数可被称作“上下文二进制数”。

另外,视频译码器(例如,视频编码器20及视频解码器30)可使用旁路cabac译码(例如,旁路模式译码)译码一些二进制数,而非对所有二进制数执行上下文模式译码。旁路模式译码是指cabac译码器的旁路模式,其中旁路译码为算术译码二进制数而不需使用自适应上下文(例如,译码上下文)的程序。即,旁路译码引擎不选择上下文,且可假设两个符号(0和1)的概率都是0.5。尽管旁路模式译码的带宽效率可不如上下文模式译码那么有效,但是在对二进制数执行旁路模式译码而非对二进制数执行上下文模式译码时可能在计算方面成本较低。此外,执行旁路模式译码可允许较高的并行化度及通量。使用旁路模式译码而译码的二进制数可被称作“旁路二进制数”。

视频编码器20及视频解码器30可经配置有cabac译码器(例如,分别为cabac编码器及cabac解码器)。cabac译码器可包含上下文模式译码引擎以执行cabac上下文模式译码及旁路模式译码引擎以执行旁路模式译码。如果二进制数经上下文模式译码,那么上下文模式译码引擎用于译码此二进制数。上下文模式译码引擎可需要多于两个处理周期来译码单个二进制数。然而,由于恰当的管线设计,上下文模式译码引擎可仅需要n+m个周期以编码n个二进制数,其中m为起始管线的开销。m通常大于0。

在cabac译码程序开始时(即,从旁路模式到上下文模式的每次切换且反之亦然),引入管线开销。如果二进制数经旁路模式译码,那么旁路模式译码引擎用于译码此二进制数。旁路模式译码引擎可预期仅需要一个周期来译码n位信息,其中n可大于一。因此,如果一组旁路二进制数及上下文二进制数内的所有旁路二进制数经共同地译码(例如,依次而不需交错上下文译码二进制数)且所述组内的所有上下文二进制数经共同地译码(例如,依次而不需交错旁路译码二进制数),那么用以译码所述组旁路二进制数及上下文二进制数的周期的总数可减少。确切来说,在转变到上下文模式译码之前或之后将旁路二进制数共同地译码可节省重新开始上下文模式译码引擎所需要的开销。举例来说,视频编码器20及视频解码器30可经配置以单次针对一系列旁路及上下文译码二进制数从旁路模式切换到上下文模式(或在其它实例中从上下文模式切换到旁路模式),同时使用调色板模式来分别编码或解码视频数据块。在另一实例中,视频编码器20及视频解码器30可经配置以当使用调色板模式编码或解码视频数据块时减小编码或解码程序从旁路模式切换到上下文模式(及从上下文模式切换到旁路模式)的次数。

本发明中描述的技术可包含用于传信基于调色板的视频译码模式,发射调色板,导出调色板,传信扫描次序,导出扫描次序,及发射基于调色板的视频译码图及其它语法元素中的一或多者的各种组合的技术。举例来说,本发明的技术可针对熵译码调色板信息。在一些实例中,本发明的技术可尤其用于提高译码效率并减小与基于调色板的视频译码相关联的译码低效率。因此,如下文更详细描述,在一些情况下,当使用调色板模式译码视频数据时,本发明的技术可改进效率及改进位速率。

可以任何组合或与彼此独立而结合彼此从而利用本文所描述的技术、方面及/或实例。举例来说,视频编码器20及视频解码器30可经配置以执行本文所描述的技术、方面及/或实例中的一或多者中的任一个或任何合适的组合。

描述于2015年2月10日上传到jct-vc文件管理系统的tzu-derchuang等人的“ce-1相关:对64x64调色板译码块的索引图扫描(ce-1related:indexmapscanfor64x64palettecodingblock)”jctvc-t0058版本3(下文中“jctvc-t0058”)文件中的实例译码系统的问题为调色板块大小可如64×64一般大并具有如64×64一般大的扫描模式,但最大变换块大小为32×32,其中例如应用系数扫描。如此,在此状况下,实施中的管线将增加到64×64块大小,其在没有调色板模式情况下不需要且因此呈现用于调色板模式的特殊情形。所描述的jctvc-t0058通过将64×64横移扫描改变成四个32×32横移扫描而将调色板模式中的64×64块译码成四个32×32子块。然而如此进行将需要改变到调色板模式译码,其将仅特定用于64×64调色板块,且因此将例如不均匀性引入到调色板模式译码中。

在本发明的各种实例中,本发明的技术可涉及以调色板模式预测或译码块以改进译码效率及/或通过例如寻找待使用调色板模式译码64×64块(如果有的话)的方式而降低编解码器复杂度的程序。

在本发明的一些实例中,可针对具有64×64或更大的大小的任何调色板块停用调色板模式译码。在其它实例中,调色板模式译码可限于具有小于64×64的大小的调色板块,意味着调色板模式译码可经启用或另外用于具有小于64×64的大小的调色板块。在其它实例中,可基于最大变换单元大小而规范地限制最大调色板块大小,例如规范地限于最大变换单元大小。调色板模式译码可针对超过或另外大于最大变换单元大小的调色板块大小而停用。在这些实例中,应理解最大调色板块大小可基于最大变换单元大小,因为最大调色板块大小规范地限于最大变换单元大小。举例来说,视频编码器20可经配置以将可使用调色板模式编码的最大调色板块大小规范地限于最大变换单元大小。在此实例中,视频编码器20可经配置以停用调色板模式或另外不使用调色板模式用于具有大于视频编码器20经配置以编码的最大变换单元大小的大小的任何调色板块。

举例来说,如果视频编码器20经配置以编码的最大变换单元大小为32×32,那么视频编码器20可经配置以将最大调色板块大小规范地限于32×32。在此实例中,视频编码器20可经配置以停用调色板模式或另外不使用调色板模式用于具有大于32×32的大小的任何调色板块。还应理解,在此实例中,视频编码器20可经配置以启用调色板模式或另外使用调色板模式用于具有小于或等于32×32的大小的任何调色板块。具有大于32×32的大小的调色板块的实例包含例如64×64、64×16、16×64、64×32及32×64。

作为另一实例,如果视频编码器20经配置以编码的最大变换单元大小为16×16,那么视频编码器20可经配置以将最大调色板块大小规范地限于16×16。在此实例中,视频编码器20可经配置以停用调色板模式或另外不使用调色板模式用于具有大于16×16的大小的任何调色板块。还应理解,在此实例中,视频编码器20可经配置以启用调色板模式或另外使用调色板模式用于具有小于或等于16×16的大小的任何调色板块。

在其它实例中,视频编码器20经配置以编码的最大变换单元大小可经规范地限于m×n的块大小,其中m及n为正整数且可或可不彼此相等。在一些实例中,m及/或n可基于最大变换单元大小。举例来说,如果最大变换单元大小为32×32,那么m及n两者将等于32。然而,在其中最大变换单元大小为32×16的实例中,那么m将等于32且n将等于16。在此实例中,具有大于32×16的大小的调色板块的实例包含例如64×64、64×16、16×64、64×32、32×64、32×32及16×32。

在一些实例中,视频编码器20可经配置以传信用于特定数据集的最大变换单元大小。在这些实例中,视频编码器20可经配置以停用调色板模式或另外不使用调色板模式用于与特定数据集相关联的具有大于所传信最大变换单元大小的块大小的任何调色板块。因此,如本文所使用,最大变换单元可指视频编码器20经配置以编码的最大变换单元,或可指用于特定数据集(例如,视频数据的一或多个块)的所传信最大变换单元。举例来说,虽然最大变换单元大小可为32×32,但对于特定数据集,视频编码器20可传信最大变换单元大小为16×16。因此,对于此实例中的此特定数据集,最大变换单元大小为16×16。

因此,应理解视频编码器20可经配置以动态地停用调色板模式或另外经配置以不基于最大变换单元大小而使用调色板模式。类似地,应理解,视频编码器20可经配置以动态停用调色板模式或另外经配置以不使用调色板模式用于具有大于最大变换单元的大小的任何调色板块。因此,还应理解,视频编码器20可经配置以动态地停用调色板模式或另外经配置以不使用调色板模式用于具有不等于或小于最大变换单元的大小的任何调色板块。因此,应进一步理解,视频编码器20可经配置以仅当视频数据块具有不超过视频编码器20可经配置以编码的最大变换单元的大小时使用调色板模式编码视频数据块。类似地,视频编码器20可经配置以仅当视频数据块具有不超过最大变换单元的大小时启用用于视频数据块的调色板模式译码。

同样,因此,还应理解,视频解码器30可经配置以动态地停用调色板模式或另外经配置以不使用调色板模式用于具有不等于或小于最大变换单元的大小的任何调色板块。因此,应进一步理解,视频解码器30可经配置以仅当视频数据块具有不超过视频编码器20可经配置以编码及/或视频解码器30可经配置以解码的最大变换单元的大小时使用调色板模式解码视频数据块。类似地,视频解码器30可经配置以仅当视频数据块具有不超过最大变换单元的大小时启用用于视频数据块的调色板模式译码。在其它实例中,视频解码器30可经配置以基于对应于调色板模式旗标的值(例如,palette_mode_flag的语法元素的值)确定是启用还是停用调色板模式。

作为另一实例,视频解码器30可经配置以接收视频数据块。视频解码器30可经配置以确定相对于最大变换单元大小的视频数据块的大小。视频解码器30可经配置以当视频数据的所接收块大于最大变换单元大小的大小时确定视频的所接收块未经调色板模式编码。

如本文所阐述,最大调色板块大小可经规范地限制。举例来说,最大调色板块大小可基于最大变换单元大小,例如经规范地限于最大变换单元大小。在一些实例中,视频编码器20可经配置有符合性位流约束条件以实施本文中所描述的任何调色板块大小约束,从而导致控制何时停用、启用或另外使用调色板模式。举例来说,符合性位流约束条件可为符合性位流不应具有超过通过调色板模式译码的某一大小的块。作为另一实例,符合性位流约束条件可为符合性位流应具有通过调色板模式译码的块,只是其中所述块等于或小于某一大小。在两个实例中,参考某一大小可为32×32或任何其它m×n大小,其中m及n为正整数且可或可不彼此相等。然而,在其它实例中,在以上两个实例中的参考某一大小可基于最大变换单元大小。在这些实例中,符合性位流约束条件可例如为符合性位流不应具有超过最大变换单元的块。作为另一实例,符合性位流约束条件可为符合性位流必须符合本文中所描述的一或多个规范性限制。

就本文中所描述的任何符合性位流约束条件来说,应理解,视频编码器20可经配置有呈任何组合形式的任何这些约束条件以控制调色板模式何时经停用、启用,或另外用于视频数据块。

在其它实例中,视频编码器20可经配置以通过经配置以将待经调色板模式译码的视频数据的任何块划分成m×n个子块以使得视频数据的整个块由m×n个子块表示而实施本文中所描述的任何调色板块大小约束,其中m及n为正整数且可或可不彼此相等。划分视频数据的整个块意味着视频数据块的每一像素(例如,样本)为m×n子块的部分。子块的大小可取决于一或多个准则。举例来说,m×n子块的大小可取决于用于变换系数译码的块的大小(例如,tu中的变换块的大小)以对准调色板模式译码与变换系数译码。在此实例中,如果视频编码器20经配置以使用大小为4×4的块变换系数码,那么视频编码器20可经配置以将待经调色板模式译码的视频数据的任何块划分成4×4子块,其中m及n两者皆等于4。举例来说,替代使用调色板模式译码64×64块,视频编码器20可经配置以将64×64块划分成多个4×4子块,从而导致此实例中的两百五十六个4×4子块,其中每一子块是使用调色板模式个别地译码。

在另一实例中,m×n子块的大小可为小于64×64的默认大小,而非取决于一或多个准则。举例来说,m×n子块的默认大小可4×4、8×8、16×16、32×32,或小于64×64的任何其它大小。在此实例中,视频编码器20可经配置以通过经配置以将待经调色板模式译码的视频数据的任何块划分成默认大小(例如,分别为4×4、8×8、16×16、32×32,或小于64×64的任何其它大小)而实施本文中所描述的任何调色板块大小约束。

在一些实例中,m×n子块可根据任何扫描次序而扫描。举例来说,视频编码器20可经配置以使用z形扫描次序、水平扫描次序、垂直扫描次序、“蛇形”扫描次序(即,横移扫描次序)或任何其它扫描次序来扫描m×n子块。

在其它实例中,视频编码器20可经配置以通过经配置以传信具有64×64的大小的块的调色板模式(例如,通过传信palette_mode_flag的语法元素的值)而且经配置以传信小于64×64的m×n子块大小的其它调色板相关信息(例如,再使用的调色板条目、新的调色板条目、调色板表大小等)而实施本文中所描述的任何调色板块大小约束,其中m及n为正整数且可或可不彼此相等。举例来说,m×n子块大小可为32×32。在一些实例中,m×n子块大小可为32×32,这是因为32×32对应于最大变换单元的大小。在此实例中,视频编码器20可经配置以通过经配置以传信具有64×64的大小的块的调色板模式,而且经配置以传信在32×32子块大小(或任何其它m×n子块大小)中的其它调色板相关信息而实施本文中所描述的任何调色板块大小约束。此为本文中所描述的一个实例,其中视频编码器20可经配置以协调调色板模式块大小与变换单元块大小。在一些实例中,m及/或n可基于最大变换单元大小。举例来说,如果最大变换单元大小为32×32,那么m及n两者将等于32。64×64调色板块大小的扫描次序可与m×n块中的每一者的扫描次序相同。

在涉及64×64的调色板块大小的一个实例中,视频编码器可经配置以传信用于此64×64大小调色板块的调色板模式。视频编码器接着可经配置以传信用于每一m×n子块的其它调色板相关信息。举例来说,视频编码器20可经配置以传信用于每一m×n子块的max_palette_size。

在其它实例中,视频编码器20可经配置以通过经配置以将索引值及/或逸出值的最长延行长度限于小于t的阈值而实施本文中所描述的任何调色板块大小约束。在这些实例中,视频编码器20可经配置以将最大延行长度限于小于t的阈值,而非将64×64调色板块分成子块。通过限制最大延行长度值,视频编码器20可经配置以实施调色板块大小约束而不需将调色板块划分成子块。

在一些实例中,t可等于最大变换单元大小。举例来说,如果最大变换单元大小为32×32,那么t可等于32×32。现在描述涉及针对64×64调色板块及32×32的t值的水平横移扫描次序的实例。视频编码器20可按现状处理64×64调色板块,但将最大延行长度限于小于t的值的值(例如,32×32减去1),而非处理在此实例中的在32×32象限(例如,索引值继之以小于t的延行长度,例如32×32减去1)中的调色板块。

在一些实例中,视频编码器20可经配置有符合性位流约束条件以实施本文中所描述的任何调色板块大小约束。举例来说,符合性位流约束条件可为符合性位流不应包含等于或大于t的阈值的延行长度值。

图2为说明可实施本发明的技术的实例视频编码器20的框图。出于解释的目的而提供图2,且不应将其视为对如本发明中广泛例示及描述的技术的限制。出于解释的目的,本发明描述在hevc译码的情况下的视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。

视频编码器20表示可经配置以根据本发明中所描述的各种实例执行用于基于调色板的译码的技术的装置的实例。

在图2的实例中,视频编码器20包含块编码单元100、视频数据存储器101、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。块编码单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元120包含运动估计单元及运动补偿单元(图中未示)。视频编码器20还包含基于调色板的编码单元122,其经配置以执行本发明中所描述的基于调色板的译码技术的各种方面。在其它实例中,视频编码器20可包含更多、更少或不同功能的组件。

视频数据存储器101可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储于视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储用于由视频编码器20在编码视频数据(例如,以帧内或帧间译码模式)时使用的参考视频数据的参考图片存储器。视频数据存储器101及经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如,动态随机存取存储器(dram),包含同步dram(sdram)、磁阻式ram(mram)、电阻式ram(rram)或其它类型的存储器装置。可通过相同存储器装置或独立存储器装置来提供视频数据存储器101及经解码图片缓冲器116。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。

视频编码器20可接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一ctu。ctu中的每一者可与具有相等大小的明度译码树块(ctb)及图片的对应ctb相关联。作为编码ctu的部分,块编码单元100可执行四叉树分割以将ctu的ctb划分成逐渐较小的块。更小块可为cu的译码块。举例来说,块编码单元100可将与ctu相关联的ctb分割成四个相等大小的子块,将子块中的一或多者分割成四个相等大小的子子块,等等。

视频编码器20可编码ctu的cu以产生所述cu的经编码的表示(即,经译码的cu)。作为编码cu的部分,块编码单元100可分割与cu的一或多个pu中的cu相关联的译码块。因此,每一pu可与明度预测块及对应色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的pu。如上文所指示,cu的大小可指cu的明度译码块的大小,且pu的大小可指pu的明度预测块的大小。假设特定cu的大小为2n×2n,那么视频编码器20及视频解码器30可支持用于帧内预测的2n×2n或n×n的pu大小,及用于帧间预测的2n×2n、2n×n、n×2n、n×n或类似大小的对称pu大小。视频编码器20及视频解码器30还可支持用于帧间预测的2n×nu、2n×nd、nl×2n及nr×2n的pu大小的不对称分割。

帧间预测处理单元120可通过对cu的每一pu执行帧间预测而产生pu的预测性数据。用于pu的预测性数据可包含pu的预测性块及pu的运动信息。取决于pu是在i切片中、p切片中抑或b切片中,帧间预测单元121可针对cu的pu执行不同操作。在i切片中,所有pu经帧内预测。因此,如果pu在i切片中,那么帧间预测单元121并不对pu执行帧间预测。因此,对于在i模式中编码的块,经预测的块是使用空间预测从同一帧内的先前经编码的相邻块而形成。

如果pu在p切片中,那么帧间预测处理单元120的运动估计单元可针对用于pu的参考区域搜索参考图片的列表(例如,“refpiclist0”)中的参考图片。用于pu的参考区域可为参考图片内含有最紧密地对应于pu的样本块的样本块的区域。运动估计单元可产生指示含有用于pu的参考区的参考图片的refpiclist0中的位置的参考索引。另外,运动估计单元可产生指示pu的译码块与相关联于参考区域的参考位置之间的空间位移的mv。举例来说,mv可为提供从当前经解码图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元可输出参考索引及mv作为pu的运动信息。帧间预测处理单元120的运动补偿单元可基于通过pu的运动向量指示的参考位置处的实际或经内插的样本而产生pu的预测性块。

如果pu在b切片中,那么运动估计单元可针对pu执行单向预测或双向预测。为针对pu执行单向预测,运动估计单元可搜索refpiclist0的参考图片,或用于pu的参考区的第二参考图片列表(“refpiclist1”)。运动估计单元可输出以下各者作为pu的运动信息:指示含有参考区域的参考图片的refpiclist0或refpiclist1中的位置的参考索引、指示pu的预测块与相关联于参考区域的参考位置之间的空间位移的mv,及指示参考图片是在refpiclist0抑或在refpiclist1中的一或多个预测方向指示符。帧间预测处理单元120的运动补偿单元可至少部分地基于由pu的运动向量指示的参考区处的实际或内插样本而产生pu的预测性块。

为了针对pu执行双向帧间预测,运动估计单元可在用于pu的参考区的refpiclist0中搜索参考图片,且还可在用于pu的另一参考区的refpiclist1中搜索参考图片。运动估计单元可产生指示含有参考区的参考图片的refpiclist0及refpiclist1中的位置的参考图片索引。另外,运动估计单元可产生指示相关联于参考区的参考位置与pu的样本块之间的空间位移的mv。pu的运动信息可包含参考索引及pu的mv。运动补偿单元可至少部分地基于由pu的运动向量指示的参考区处的实际或内插样本而产生pu的预测性块。

根据本发明的各种实例,视频编码器20可经配置以执行基于调色板的译码。关于hevc架构,作为实例,基于调色板的译码技术可经配置以用在cu层级。在其它实例中,基于调色板的视频译码技术可经配置以用在pu层级。在其它实例中,基于调色板的译码技术可经配置以用在子预测单元(子pu)层级(例如,预测单元的子块)。因此,本文中(本发明通篇)所描述的在cu层级的情况下的所有所公开程序可另外地或替代性地应用于pu层级或子pu层级。然而,这些基于hevc的实例不应被视为约束或限制本文中所描述的基于调色板的视频译码技术,因而,这些技术可适用于独立地或作为其它现有或尚待开发的系统/标准的部分而工作。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状区域。

当(例如)针对cu或pu选择基于调色板的编码模式时,基于调色板的编码单元122(例如)可执行基于调色板的解码。举例来说,基于调色板的编码单元122可经配置以产生具有指示像素值的条目的调色板,选择调色板中的像素值以表示视频数据块中的至少一些位置的像素值,及用信号通知使视频数据块的位置中的至少一些位置与调色板中分别对应于所选择像素值的条目相关联的信息。尽管将各种功能描述为通过基于调色板的编码单元122执行,但这些功能中的一些或全部可通过其它处理单元或不同处理单元的组合执行。

根据本发明的方面,基于调色板的编码单元122可经配置以执行本文中所描述的用于调色板译码的技术的任何组合。

举例来说,基于调色板的编码单元122可经配置以停用用于具有64×64或更大的大小的任何调色板块的调色板模式译码。在其它实例中,基于调色板的编码单元122可经配置以将调色板模式译码限于具有小于64×64的大小的调色板块,意味着调色板模式译码可经启用或另外用于具有小于64×64的大小的调色板块。在其它实例中,基于调色板的编码单元122可经配置以基于最大变换单元大小规范地限制最大调色板块大小。作为另一实例,基于调色板的编码单元122可经配置以停用用于具有超过或另外大于最大变换单元大小的大小的调色板块的调色板模式译码。基于调色板的编码单元122可类似地经配置以执行本文中所描述的用于调色板译码的任何其它技术。

帧内预测处理单元126可通过对pu执行帧内预测而产生用于pu的预测性数据。用于pu的预测性数据可包含pu的预测性块及各种语法元素。帧内预测处理单元126可对i切片中、p切片中及b切片中的pu执行帧内预测。

为对pu执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生用于pu的预测性数据的多个集合。帧内预测处理单元126可使用来自相邻pu的样本块的样本来产生用于pu的预测性块。对于pu、cu及ctu,假设从左到右、从上到下的编码次序,那么相邻pu可在pu上方、右上方、左上方或左边。帧内预测处理单元126可使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与pu相关联的区的大小。

块编码单元100可从通过帧间预测处理单元120针对pu产生的预测性数据或通过帧内预测处理单元126针对pu产生的预测性数据当中选择用于cu的pu的预测性数据。在一些实例中,块编码单元100基于预测性数据的集合的速率/失真度量而选择用于cu的pu的预测性数据。选定的预测性数据的预测性块在本文中可被称作选定的预测性块。

残余产生单元102可基于cu的明度译码块、cb译码块及cr译码块及cu的pu的所选择预测性明度块、预测性cb块及预测性cr块而产生cu的明度残余块、cb残余块及cr残余块。举例来说,残余产生单元102可产生cu的残余块,以使得残余块中的每一样本具有等于cu的译码块中的样本与cu的pu的对应选定预测性块中的对应样本之间的差的值。

变换处理单元104可执行四叉树分割以将与cu相关联的残余块分割成与cu的tu相关联的变换块。因此,在一些实例中,tu可与明度变换块及两个色度变换块相关联。cu的tu的明度变换块及色度变换块的大小及位置可或可不基于cu的pu的预测块的大小及位置。被称为“残余四叉树”(rqt)的四叉树结构可包含与区域中的每一者相关联的节点。cu的tu可对应于rqt的叶子节点。

变换处理单元104可通过将一或多个变换应用于tu的变换块而产生用于cu的每一tu的变换系数块。变换处理单元104可将各种变换应用于与tu相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(dct)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在这些实例中,变换块可经处理为变换系数块。

量化单元106可量化系数块中的变换系数。量化程序可减小与变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间被往下舍入到m位变换系数,其中n大于m。量化单位106可基于与cu相关联的量化参数(qp)值量化与cu的tu相关联的系数块。视频编码器20可通过调整与cu相关联的qp值来调整应用于与cu相关联的系数块的量化程度。量化可使得信息丢失,因此经量化的变换系数可具有比原始变换系数较低的精确度。

反量化单元108及反变换处理单元110可分别将反量化及反变换应用于系数块,以从系数块重构残余块。重构单元112可将经重构的残余块添加到来自通过块编码单元100产生的一或多个预测性块的对应样本,以产生与tu相关联的经重构的变换块。通过以此方式重构用于cu的每一tu的变换块,视频编码器20可重构cu的译码块。

滤波器单元114可执行一或多个解块操作以减少与cu相关联的译码块中的块假象。滤波器单元114可执行其它滤波操作,包含样本自适应偏移(sao)滤波及/或自适应回路滤波(alf)。在滤波器单元114对经重构译码块执行一或多个解块操作之后,经解码图片缓冲器116可存储经重构译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片,以对其它图片的pu执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构译码块,以对处于与cu相同的图片中的其它pu执行帧内预测。

熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,并可从块编码单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元118可对数据执行上下文自适应译码操作(例如,cabac操作)、上下文自适应可变长度译码(cavlc)操作、可变到可变(v2v)长度译码操作、基于语法的上下文自适应二进制算术译码(sbac)操作、概率区间分割熵(pipe)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码的数据的位流。举例来说,位流可包含表示cu的rqt的数据。

在一些实例中,残余译码并不与调色板译码一起执行。因此,当使用调色板译码模式译码时视频编码器20可不执行变换或量化。另外,视频编码器20可熵编码单独地使用调色板译码模式从残余数据产生的数据。

根据本发明的技术中的一或多者,视频编码器20,且具体来说基于调色板的编码单元122,可执行经预测视频块的基于调色板的视频译码。如上文所描述,由视频编码器20产生的调色板可明确地经编码并发送到视频解码器30,由先前调色板条目预测,由先前像素值预测,或其组合。

图3为说明经配置以执行本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图3,且其并不限制如本发明中广泛例示及描述的技术。出于解释的目的,本发明描述在hevc译码的情况下的视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。

上文关于编码器20所描述的调色板译码的细节在此不关于解码器30重复,但应理解,解码器30可相对于本文关于编码器20所描述的任何编码程序而执行互逆解码程序。

举例来说,应理解,视频解码器30可经配置以动态地停用调色板模式或另外经配置以不使用调色板模式用于具有不等于或小于最大变换单元的大小的任何调色板块。应进一步理解,视频解码器30可经配置以仅当视频数据块具有不超过视频编码器20可经配置以编码及/或视频解码器30可经配置以解码的最大变换单元的大小时使用调色板模式解码视频数据块。类似地,视频解码器30可经配置以仅当视频数据块具有不超过最大变换单元的大小时启用用于视频数据块的调色板模式译码。在其它实例中,视频解码器30可经配置以基于对应于调色板模式旗标的值(例如,palette_mode_flag的语法元素的值)确定是启用还是停用调色板模式。

作为另一实例,视频解码器30可经配置以接收视频数据块。视频解码器30可经配置以确定相对于最大变换单元大小的视频数据块的大小。视频解码器30可经配置以当视频数据的所接收块大于最大变换单元大小的大小时确定视频的所接收块未经调色板模式编码。

视频解码器30表示根据本发明中描述的各种实例的可经配置以执行用于基于调色板的译码及熵译码(例如,cabac)的技术的装置的实例。

在图3的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、块解码单元152、反量化单元154、反变换处理单元156、重构单元158、滤波器单元160及经解码图片缓冲器162。块解码单元152包含运动补偿单元164及帧内预测处理单元166。视频解码器30还包含经配置以执行本发明中所描述的基于调色板的译码技术的各种方面的基于调色板的解码单元165。在其它实例中,视频解码器30可包含更多、更少或不同功能的组件。

视频数据存储器151可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。可(例如)从计算机可读媒体16(例如,从本地视频源(例如,相机))经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而获得存储于视频数据存储器151中的视频数据。视频数据存储器151可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(cpb)。经解码图片缓冲器162可为存储用于通过视频解码器30解码视频数据(例如,以帧内或帧间译码模式)时使用的参考视频数据的参考图片存储器。视频数据存储器151及经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如,动态随机存取存储器(dram),包含同步dram(sdram))、磁阻式ram(mram)、电阻式ram(rram)或其它类型的存储器装置。可由同一存储器装置或独立存储器装置提供视频数据存储器151及经解码图片缓冲器162。在各种实例中,视频数据存储器151可与视频解码器30的其它组件一起在芯片上,或相对于那些组件来说在芯片外。

经译码图片缓冲器(cpb)可接收并存储位流的经编码视频数据(例如,nal单元)。熵解码单元150可从cpb接收经编码视频数据(例如,nal单元)且剖析所述nal单元以解码语法元素。熵解码单元150可对nal单元中的经熵编码语法元素进行熵解码。块解码单元152、反量化单元154、反变换处理单元156、重构单元158及滤波器单元160可基于从位流提取的语法元素而产生经解码视频数据。

视频解码器30可经配置以执行与本文中所描述的视频编码器20的所述程序大体上互逆的程序。类似地,视频编码器20可经配置以执行与本文中描述的视频解码器30的程序大体上互逆的程序。举例来说,视频解码器30可经配置以解码位流中的经编码语法元素的公开内容同样必定公开视频编码器20可经配置以将语法元素编码到位流中。

作为另一实例,熵解码单元150可经配置以执行与本文中所描述的熵编码单元118的所述程序大体上互逆的程序。根据本发明的方面,熵解码单元150可经配置以熵解码通过熵编码单元118产生的任何码字。

位流的nal单元可包含经译码切片nal单元。作为解码位流的部分,熵解码单元150可从经译码切片nal单元提取语法元素且对所述语法元素进行熵解码。经译码切片中的每一者可包含切片标头及切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的pps的语法元素。

除了解码来自位流的语法元素之外,视频解码器30可对未分割的cu执行重构操作。为了对未分割cu执行重构操作,视频解码器30可对cu的每一tu执行重构操作。通过对cu的每一tu执行重构操作,视频解码器30可重构cu的残余块。

作为对cu的tu执行重构操作的部分,反量化单元154可反量化(即,解量化)与tu相关联的系数块。反量化单元154可使用与tu的cu相关联的qp值来确定反量化单元154应用的量化程度及(同样地)反量化程度。即,可通过调节在量化转变系数时使用的qp值来控制压缩比,即,用于表示原始序列及压缩序列的位数的比率。压缩比还可取决于所采用的熵译码的方法。

在反量化单元154对系数块进行反量化之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与tu相关联的残余块。举例来说,反变换处理单元156可将反dct、反整数变换、反卡胡南-洛夫(karhunen-loeve)变换(klt)、反旋转变换、反定向变换或另一反变换应用于系数块。

如果pu使用帧内预测进行编码,那么帧内预测处理单元166可执行帧内预测以产生用于pu的预测性块。帧内预测处理单元166可使用帧内预测模式以基于空间上邻近的pu的预测块而产生用于pu的预测性明度、cb及cr块。帧内预测处理单元166可基于从位流解码的一或多个语法元素确定用于pu的帧内预测模式。

块解码单元152可基于从位流提取的语法元素构建第一参考图片列表(refpiclist0)及第二参考图片列表(refpiclist1)。此外,如果pu使用帧间预测来编码,那么熵解码单元150可提取用于pu的运动信息。运动补偿单元164可基于pu的运动信息而确定用于pu的一或多个参考区。运动补偿单元164可基于用于pu的一或多个参考块处的样本块产生用于pu的预测性明度块、cb块及cr块。

重构单元158可在适用时使用与cu的tu相关联的明度变换块、cb变换块及cr变换块以及cu的pu的预测性明度块、预测性cb块及预测性cr块(即,帧内预测数据或帧间预测数据)来重构cu的明度译码块、cb译码块及cr译码块。举例来说,重构单元158可将明度变换块、cb变换块及cr变换块的样本添加到预测性明度块、预测性cb块及预测性cr块的对应样本,以重构cu的明度译码块、cb译码块及cr译码块。

滤波器单元160可执行解块操作以减少与cu的明度译码块、cb译码块及cr译码块相关联的块假象。视频解码器30可在经解码图片缓冲器162中存储cu的明度译码块、cb译码块及cr译码块。经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测及在显示装置(例如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的明度块、cb块及cr块对其它cu的pu执行帧内预测或帧间预测操作。

根据本发明的各种实例,视频解码器30可经配置以执行基于调色板的译码。当选定基于调色板的解码模式(例如)用于cu或pu时,基于调色板的解码单元165(例如)可执行基于调色板的解码。举例来说,基于调色板的解码单元165可经配置以产生具有指示像素值的条目的调色板,接收使视频数据块中的至少一些像素位置与调色板中的条目相关联的信息,基于信息选择调色板中的像素值,且基于调色板中的所选择像素值重构块的像素值。尽管各种功能经描述为由基于调色板的解码单元165执行,但这些功能中的一些或全部可由其它处理单元或不同处理单元的组合来执行。

基于调色板的解码单元165可接收调色板译码模式信息,并在调色板译码模式信息指示调色板译码模式适用于块时执行以上操作。在调色板译码模式信息指示调色板译码模式不适用于块时,或在其它模式信息指示不同模式的使用时,基于调色板的解码单元165使用非基于调色板的译码模式(例如,hevc帧间预测译码模式或hevc帧内预测译码模式)解码视频数据块。视频数据块可为(例如)根据hevc译码程序产生的cu或pu。基于调色板的译码模式可包括多个不同基于调色板的译码模式中的一者,或可存在单个基于调色板的译码模式。

根据本发明的方面,基于调色板的解码单元165可经配置以执行本文中所描述的用于调色板译码的技术的任何组合。上文关于编码器20所描述的调色板译码的细节在此不关于解码器30重复,但应理解,解码器30可相对于本文关于编码器20所描述的任何基于调色板的编码程序而执行互逆的基于调色板的解码程序。

图4为说明与本发明的技术一致的确定用于译码视频数据的调色板的实例的概念图。图4的实例包含具有与第一调色板184相关联的第一pal(调色板)译码单元(cu)180及与第二调色板192相关联的第二palcu188的图片178。如下文更详细描述且根据本发明的技术,第二调色板192是基于第一调色板184。图片178还包含通过帧内预测译码模式译码的块196及通过帧间预测译码模式译码的块200。

出于解释的目的,在视频编码器20(图1及图2)及视频解码器30(图1及图3)的上下文中并关于hevc视频译码标准描述图4的技术。然而,应理解,本发明的技术不限于此方式,且可通过其它视频译码处理器及/或装置在其它视频译码程序及/或标准中应用。

一般来说,调色板是指对于当前经译码的cu(在图4的实例中为cu188)来说为主要的及/或代表性的数个像素值。第一调色板184(还可被称作索引184)及第二调色板192(还可被称作索引192)经展示为包含多个调色板(还可被称作多个索引)。在一些实例中,根据本发明的方面,视频译码器(例如视频编码器20或视频解码器30)可单独地针对cu的每一色彩分量来译码调色板(例如索引)。举例来说,视频编码器20可编码用于cu的明度(y)分量的调色板、用于cu的色度(u)分量的另一调色板及用于cu的色度(v)分量的又一调色板。在此实例中,y调色板的条目可表示cu的像素的y值,u调色板的条目可表示cu的像素的u值,且v调色板的条目可表示cu的像素的v值。

在其它实例中,视频编码器20可编码用于cu的全部色彩分量的单个调色板。在此实例中,视频编码器20可编码具有为三重值(包含yi、ui及vi)的第i个条目的调色板。在此情况下,调色板包含用于像素的分量中的每一者的值。因此,作为具有多个个别调色板的调色板集合的调色板184及192的表示仅为一个实例且不意图为限制性的。

在图4的实例中,第一调色板184包含分别具有条目索引值1、条目索引值2及条目索引值3的三个条目202到206。第一调色板184使索引值(例如,第一调色板184的左列中所展示的值)与像素值相关。举例来说,如图4中所展示,第一调色板184中的一者使索引值1、2及3分别与像素值a、b及c相关。如本文中所描述,视频译码器(例如,视频编码器20或视频解码器30)可使用基于调色板的译码对使用索引1到3(还可表达为索引值1到3)的块的像素进行译码,而不是对第一cu180的实际像素值进行译码。即,对于第一cu180的每一像素位置,视频编码器20可编码像素的索引值,其中索引值与第一调色板184中的一或多者中的像素值相关联。视频解码器30可从位流获得索引值并使用索引值及第一调色板184中的一或多者重构像素值。因此,第一调色板184是通过视频编码器20在经编码视频数据位流中发射以供视频解码器30在基于调色板的解码中使用。

在一些实例中,视频编码器20及视频解码器30可基于第一调色板184来确定第二调色板192。举例来说,视频编码器20及/或视频解码器30可定位确定预测性调色板(在此实例中,第一调色板184)所依据的一或多个块。在一些实例(例如图4中所说明的实例)中,视频编码器20及/或视频解码器30可在确定用于第二cu188的预测性调色板时定位先前经译码的cu,例如左侧相邻cu(第一cu180)。

在图4的实例中,第二调色板192包含分别具有条目索引值1、条目索引值2及条目索引值3的三个条目208到212。第二调色板192使索引值(例如,第一调色板192的左列中展示的值)与像素值相关。举例来说,如图4中所展示,第二调色板192中的一者使索引值1、2及3分别与像素值a、b及d相关。在此实例中,视频编码器20可译码指示第一调色板184的哪些条目包含于第二调色板192中的一或多个语法元素。在图4的实例中,一或多个语法元素经说明为向量216。向量216具有若干相关联二进制(或位),其中每一二进制指示与所述二进制相关联的调色板预测符是否用于预测当前调色板的条目。举例来说,向量216指示第一调色板184的前两个条目(202及204)包含于第二调色板192中(向量216中的值“1”),而第一调色板184的第三条目不包含于第二调色板192中(向量216中的值“0”)。在图4的实例中,向量为布林(boolean)向量。

在一些实例中,视频编码器20及视频解码器30可在执行调色板预测时确定调色板预测符列表(其还可被称作调色板预测符表)。调色板预测符列表可包含来自用以预测用于译码当前块的调色板的一或多个条目的一或多个相邻块的调色板的条目。视频编码器20及视频解码器30可以相同方式来构建列表。视频编码器20及视频解码器30可译码数据(例如向量216)以指示调色板预测符列表的哪些条目将包含于用于译码当前块的调色板中。

图5为说明与本发明的技术一致的确定到像素的块的调色板的索引的实例的概念图。举例来说,图5包含索引块240(还可被称作图240或索引图240),所述索引块包含使与索引值相关联的像素的相应位置与调色板244的条目相关的索引值(例如,索引值1、2及3)。

虽然索引块240在图5的实例中说明为包含每一像素位置的索引值,但应理解,在其它实例中,并非全部像素位置可与将像素值与调色板244的条目相关的索引值相关联。即,如上文所提及,在一些实例中,如果像素值并不包含于调色板244中,那么视频编码器20可编码(且视频解码器30可从经编码位流获得)用于索引块240中的位置的实际像素值(或其经量化版本)的指示。

在一些实例中,视频编码器20及视频解码器30可经配置以译码指示哪些像素位置与索引值相关联的额外映射。举例来说,假设索引块240中的(i,j)条目对应于cu的(i,j)位置。视频编码器20可编码用于指示条目是否具有相关联索引值的索引块(即,每一像素位置)的每一条目的一或多个语法元素。举例来说,视频编码器20可编码具有值为一的旗标,以指示在cu中的(i,j)位置处的像素值为调色板244中的值中的一者。

在此实例中,视频编码器20还可编码调色板(图5的实例中展示为244)。在调色板244包含单个条目及相关联像素值的情况下,视频编码器20可跳过索引值的传信。视频编码器20可将旗标编码为具有值零以指示在cu中的(i,j)位置处的像素值并非调色板244中的值中的一者。在此实例中,视频编码器20还可编码供视频解码器30用于重构像素值的像素值的指示。在一些情况下,可以有损方式译码像素值。

cu的一个位置中的像素的值可提供cu的其它位置中的一或多个其它像素的值的指示。举例来说,可存在cu的相邻像素位置将具有相同像素值或可映射到相同索引值(在有损译码情况下,其中多于一个的像素值可映射到单个索引值)的相对高概率。

因此,视频编码器20可编码指示按给定扫描次序的具有相同像素值或索引值的若干连续像素或索引值的一或多个语法元素。如上文所提及,相同值像素或索引值的串可在本文中称为延行。在为出于说明的目的的实例中,如果按给定扫描次序的两个连续像素或索引具有不同值,那么延行等于零。如果按给定扫描次序的两个连续像素或索引具有相同值但按扫描次序的第三像素或索引具有不同值,那么延行等于一。对于具有相同值的三个连续索引或像素,延行为二,等等。视频解码器30可从经编码位流获得指示延行的语法元素并使用数据来确定具有相同像素或索引值的连续位置的数目。

在根据本发明的技术的一些实例中,熵编码单元118及熵解码单元150可经配置以熵译码索引块240。举例来说,编码单元118及熵解码单元150可经配置以熵译码延行长度(例如,延行长度值或延行长度码)及/或与调色板模式中的索引块相关的二进制调色板预测向量。

图6为说明与本发明的技术一致的说明确定最大延行长度上的复制、假设光栅扫描次序的实例的概念图。在图6的实例中,如果由虚线280涵盖的像素中无一者经译码为逸出样本,那么最大可能延行长度为35(即,无阴影的像素位置的数目)。如果在虚线280内的像素中的一或多者经译码为逸出样本,那么假设标记为逸出像素(具有“x”的像素位置)的像素为在虚线280内的在扫描次序中的第一逸出像素,接着大于延行长度的最大可能经译码的副本为5。

在一些实例中,视频解码器30可仅针对在虚线280内的像素确定延行模式(例如,其中像素经译码的调色板模式)。因此,在最差的情况下,视频解码器30为blockwidth-1像素做出确定。在一些实例中,视频解码器30可经配置以实施关于像素(为其检查延行模式)的最大数目的某些限制。举例来说,如果像素与当前像素处于相同的行,那么视频解码器30可仅检查在虚线280内的像素。视频解码器30可推断在虚线280内的所有其它像素未译码为逸出样品。图6中的实例假设光栅扫描次序。然而,所述技术可应用于其它扫描次序,例如垂直、水平横移,及垂直横移。

图7为说明与本发明的技术一致的用于编码视频数据的实例程序的流程图。出于说明的目的,通常将图7的程序描述为由视频编码器(例如,视频编码器20)执行,但多种其它处理器也可执行图7中所示的程序。在一些实例中,块编码单元100、基于调色板的编码单元122及/或熵编码单元118可执行图7中展示的一或多个程序。

在图7的实例中,视频编码器(例如,视频编码器20)可经配置以接收具有大小的视频数据块(700)。视频编码器可经配置以确定视频数据块的大小(702)。视频编码器可经配置以基于视频数据块的所确定大小停用用于视频数据块的调色板模式编码(704)。

在一些实例中,视频编码器可经配置以将调色板模式编码限于具有小于第二大小的第一大小的视频数据的任何块。在一些实例中,第一大小可为32×32。在一些实例中,第二大小可为64×64。在这些实例中,视频编码器可经配置以将调色板模式限于具有小于64×64的第一大小的视频数据的任何块。在一些实例中,第一大小可为32×32且第二大小可为64×64。

在一些实例中,视频编码器可经配置以将调色板模式编码限于具有小于或等于经指定用于视频数据的最大变换单元的大小的第一大小的视频数据的任何块。最大变换单元的大小可为32×32。在此实例中,视频编码器可经配置以将调色板模式译码限于具有小于或等于32×32的第一大小的视频数据的任何块。

在一些实例中,视频编码器可经配置以将视频数据块划分成多个4×4子块。在这些实例中,视频编码器可经配置以使用调色板模式编码所述多个4×4子块。

在一些实例中,视频编码器可经配置以将调色板模式编码中的任何延行长度值限于最大延行长度值,以使得仅当调色板模式编码中的任何延行长度值不限于最大延行长度值时才基于视频数据块的所确定大小针对视频数据块停用调色板模式编码。在一个实例中,最大延行长度值为32×32减去1。在另一实例中,最大延行长度基于最大变换单元的大小。在此实例中,如果最大变换单元的大小为32×32,那么最大延行长度可小于32×32,例如32×32减去1。在另一实例中,最大延行长度基于最大变换单元中系数的数目。

应理解,本文所描述的所有技术可单独地或以组合方式使用。举例来说,视频编码器20及/或其一或多个组件及视频解码器30及/或其一或多个组件可以任何组合执行本发明中所描述的技术。

应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行、可添加、合并或完全省略(例如,对于实践所述技术来说并非所有所描述的动作或事件皆为必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。另外,尽管出于清晰的目的,本发明的某些方面经描述为通过单一模块或单元执行,但应理解,本发明的技术可通过与视频译码器相关联的单元或模块的组合来执行。

出于说明目的,已关于开发中hevc标准而描述本发明的某些方面。然而,本发明中所描述的技术可用于其它视频译码程序,包含尚未开发的其它标准或专有视频译码程序。

上文所描述的技术可通过视频编码器20(图1及2)及/或视频解码器30(图1及3)执行,两者通常可称作视频译码器。同样地,如适用,视频译码可指视频编码或视频解码。

根据本发明,术语“或”可解译为“及/或”,其中上下文并不以其它方式指示。另外,虽然例如“一或多个”或“至少一”或其类似者的短语可被用于本文中所公开的一些特征(而并非为其它者);并未使用此语言的特征可解释为具有暗示上下文并不以其它方式指示的此含义。

虽然在上文描述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中描述的技术的实例。因此,本发明的技术不应限于这些实例组合且可涵盖本发明中描述的技术的各种方面的任何可设想组合。

在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而在计算机可读媒体上存储或发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体大体可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。

通过实例而非限制,这些计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器或可用于存储呈指令或数据结构形式的所要代码且可由计算机存取的任何其它媒体。又,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字用户线(dsl)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤缆线、双绞线、dsl或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是实际上有关非暂时性有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上的组合也应包含于计算机可读媒体的范围内。

指令可由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或并入组合式编解码器中。此外,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可以多种装置或设备实施,所述装置或设备包含无线手机、集成电路(ic)或ic集合(例如,芯片集)。本发明中描述各种组件、模块或单元以强调经配置以执行所公开技术的装置的功能方面,但未必要求由不同硬件单元来实现。确切地说,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合适合的软件及/或固件来提供所述单元。

各种实例已于本文中予以描述。涵盖所描述的系统、操作、功能或实例的任何组合。这些及其它实例处于以下权利要求书的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1