针对视频译码工具的受约束块层级优化和用信号发送的制作方法

文档序号:15885993发布日期:2018-11-09 18:53阅读:281来源:国知局
针对视频译码工具的受约束块层级优化和用信号发送的制作方法

本公开涉及视频编码和视频解码。

背景技术

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、手提式或台式计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式发射装置等等。数字视频装置实施视频译码技术,例如描述于以下各者中的那些技术:由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频译码(advancedvideocoding,avc)定义的标准、高效视频译码(highefficiencyvideocoding,hevc)标准,和这类标准的扩展。视频装置可通过实施这些视频译码技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。视频译码标准包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual和itu-th.264(也称为iso/iecmpeg-4avc),包含其可缩放视频译码(svc)和多视图视频译码(mvc)扩展。另外,itu-t视频译码专家组(vceg)和iso/iec运动图片专家组(mpeg)的视频译码联合合作小组(jct-vc)已开发了新的视频译码标准,即高效视频译码(hevc)。最新的hevc草案说明书(且在下文中称为hevcwd)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/14_vienna/wg11/jctvc-n1003-v1.zip获得。

视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的部分)分割成若干视频块(其也可被称作树块)、译码单元(cu)和/或译码节点。图片可被称作帧,且参考图片可被称作参考帧。

空间或时间预测产生用于将译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可应用熵译码以达成甚至更大程度压缩。



技术实现要素:

一般来说,本公开描述对在视频编码和视频解码时一或多个译码工具的使用施加块层级定限或块层级约束条件的技术。

在一个实例中,一种用于解码经编码视频数据的装置包含一或多个存储媒体,以及与存储所述媒体通信的处理电路。所述存储媒体被配置成存储所述经编码视频数据的至少一部分。所述处理电路被配置成确定存储到所述存储媒体的所述经编码视频数据的所述部分的块层级阈值;确定存储到所述存储媒体的所述经编码视频数据的所述部分的经编码块具有等于或大于所述块层级阈值的大小;接收指示将使用译码工具重构所述经编码块的一部分的语法元素;基于所述经编码块具有等于或大于所述块层级阈值的所述大小,确定所述语法元素适用于包含在所述经编码块中的多个样本的所有样本;和基于所述译码工具重构所述经编码块。

在另一实例中,一种用于编码视频数据的装置包含一或多个存储媒体,和与所述存储媒体通信的处理电路。所述存储媒体被配置成存储所述经编码视频数据的至少一部分。所述处理电路被配置成确定存储到所述存储媒体的所述视频数据的所述部分的块层级阈值;确定存储到所述存储媒体的所述视频数据的所述部分的块具有等于或大于所述块层级阈值的大小;使用译码工具编码所述块以形成经编码块;和基于所述经编码块具有等于或大于所述块层级阈值的所述大小,编码指示将使用所述译码工具重构所述经编码块的多个样本的所有样本的语法元素。

在另一实例中,本公开是针对一种解码经编码视频数据的方法。所述方法包含确定所述经编码视频数据的一部分的块层级阈值;确定所述经编码视频数据的所述部分的经编码块具有等于或大于所述块层级阈值的大小;接收指示将使用译码工具重构所述经编码块的一部分的语法元素。所述方法另外包含基于所述经编码块具有等于或大于所述块层级阈值的所述大小,确定所述语法元素适用于包含在所述经编码块中的多个样本的所有样本;和基于所述译码工具重构所述经编码块。

在另一实例中,本公开是针对一种用于解码经编码视频数据的设备。所述设备包含用于确定所述经编码视频数据的一部分的块层级阈值的装置;和用于确定存储到所述存储媒体的所述经编码视频数据的所述部分的经编码块具有等于或大于所述块层级阈值的大小的装置。所述设备另外包含用于接收指示将使用译码工具重构所述经编码块的一部分的语法元素的装置;和用于基于所述经编码块具有等于或大于所述块层级阈值的所述大小,确定所述语法元素适用于包含在所述经编码块中的多个样本的所有样本的装置。所述设备另外包含用于基于所述译码工具重构所述经编码块的装置。

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

附图说明

图1是说明被配置成实施本公开的技术的实例视频编码和解码系统的框图。

图2是说明根据本公开的技术的用于ctu的块分割结构的实例的概念图。

图3是说明根据qtbt分割结构的块分割的实例的概念图。

图4a和4b是说明根据本公开的一或多个方面的qtbt分割结构的其他实例和细节以及用于分割的对应树结构的概念图。

图5是说明被配置成实施本公开的技术的视频编码器的实例的框图。

图6是说明被配置成实施本公开的技术的视频解码器的实例的框图。

图7是说明用于64×64ctu的本公开的实例译码工具相关旗标用信号发送技术的概念图。

图8是说明视频解码装置可执行以实施本公开的一或多种技术的实例过程的流程图。

图9是说明视频编码装置可执行以实施本公开的一或多种技术的实例过程的流程图。

具体实施方式

本公开大体上涉及用于视频译码工具的受约束块层级优化和用信号发送的技术。还可在高级视频编解码器(例如hevc的扩展或下一代视频译码标准)的情形中使用本公开的各方面。下一代视频译码标准的方面是针对块分割方案。此类分割方案的一个实例是四叉树加二叉树(qtbt)块分割结构。根据qtbt结构,可根据用于一或多个递归循环的四叉树结构分割块。在某一程度的基于四叉树的分割之后,可根据二叉树结构进一步分割所得子块(例如,叶节点)中的一或多个,前提是正在分割的所述子块具有不大于在qtbt分割结构下允许的最大二叉树根节点大小的区域。

四叉树块分割结构描述于hevc中,且是各种视频译码工具的基础。也就是说,各种现有译码工具的设计是针对应用于经由四叉树分割获得的子块的优化。按照定义,四叉树分割产生正方形子块作为叶节点。如此,各种现有译码工具的设计是针对正方形子块的优化。然而,qtbt分割方案的二叉树方面引入对叶节点形状的灵活性,其中qtbt分割的块的叶节点可为正方形或非正方形的矩形。如此,各种现有译码工具的设计不优化为在其中根据qtbt分割结构分割块的所有情境中应用。

本公开通常针对于基于块大小的约束条件,其减少或潜在地消除可起因于将现有译码工具应用于经由qtbt分割获得的子块的低效率。在一些实例中,本公开的技术设置用于各种译码工具相关操作的块层级阈值(例如,呈最小块大小形式)。通过根据本公开的技术设置块层级阈值,视频编码装置和视频解码装置可充分利用这些译码工具提供的益处,同时仍实施qtbt分割结构并且能够得到qtbt分割结构提供的优点。

举例来说,qtbt中的译码工具可提供针对特定大小的块的译码增益,但对于其它大小的块,用信号发送开销可能太大并抵消qtbt的益处。在使用块层级阈值的情况下。可采用可用于qtbt的译码增益,同时减小用信号发送开销覆盖译码增益的几率。

图1是说明可使用本公开的技术的实例视频编码和解码系统10的框图。如图1中所示出,系统10包含提供稍后待由目的地装置14解码的经编码视频数据的源装置12。特定来说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一个,包含台式计算机、笔记本(即,手提式)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式发射装置等。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。因此,源装置12和目的地装置14可为无线通信装置。源装置12是实例视频编码装置(即,用于编码视频数据的装置)。目的地装置14是实例视频解码装置(即,用于解码视频数据的装置)。

在图1的实例中,源装置12包含视频源18、被配置成存储视频数据的存储媒体20、视频编码器22和输出接口24。目的地装置14包含输入接口26、被配置成存储经编码视频数据的存储媒体28、视频解码器30和显示装置32。在其它实例中,源装置12和目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源例如外部相机接收视频数据。同样地,目的地装置14可与外部显示装置介接,并非包含集成显示装置32。

图1中说明的系统10仅是一个实例。可由任何数字视频编码和/或解码装置执行用于处理和/或译码视频数据的技术。尽管本公开的技术总体上由视频编码装置或视频解码装置来执行,但是所述技术还可由视频编码器/解码器(通常被称作“编解码器”)执行。源装置12和目的地装置14仅是此类译码装置的实例,其中源装置12产生经译码视频数据以供发射到目的地装置14。在一些实例中,源装置12和目的地装置14可以大致上对称的方式操作,使得源装置12和目的地装置14中的每一个包含视频编码和解码组件。因此系统10可支持源装置12和目的地装置14之间例如用于视频流式发射、视频重放、视频广播或视频电话的单向或双向视频发射。

源装置12的视频源18可包含视频捕获装置,例如摄像机、含有先前所捕获视频的视频档案和/或用于从视频内容提供者接收视频数据的视频馈入接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。源装置12可包括被配置成存储视频数据的一或多个数据存储媒体(例如,存储媒体20)。本公开中所描述的技术一般来说可适用于视频译码,并且可应用于无线和/或有线应用。在每一情况下,视频编码器22可对所捕获、所预捕获或计算机产生的视频进行编码。输出接口24可将经编码视频信息输出到计算机可读媒体16。

目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一些实例中,计算机可读媒体16包括通信媒体以使源装置12能够实时地将经编码视频数据直接发射到目的地装置14。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(rf)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换机、基站或可适用于促进从源装置12到目的地装置14的通信的任一其它装备。目的地装置14可包括被配置成存储经编码视频数据和经解码视频数据的一或多个数据存储媒体。

在一些实例中,可将经编码数据从输出接口24输出到存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含各种分布式或本地存取的数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器、或用于存储经编码视频数据的任何其它适合的数字存储媒体。在再一实例中,存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式发射或下载从存储装置存取存储的视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、ftp服务器、网络附接存储(nas)装置和本地磁盘驱动器。目的地装置14可经由包含因特网连接的任何标准数据连接来存取经编码的视频数据。此可包含无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可为流式发射、下载发射或其组合。

本公开中描述的技术可应用于支持多种多媒体应用中的任一个的视频译码,所述多媒体应用例如空中电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(例如,根据http(dash)的动态自适应流式发射)、数字视频编码到数据存储媒体上、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可被配置成支持单向或双向视频发射,以支持例如视频流式发射、视频重放、视频广播和/或视频电话的应用。

计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可从源装置12接收经编码视频数据并且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据并且生产含有经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。

目的地装置14的输入接口26从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器22的视频编码器22定义的也供视频解码器30使用的语法信息,所述语法信息包含描述块和其它经译码单元(例如,图片群组(gop))的特性和/或处理的语法元素。存储媒体28可存储由输入接口26接收的经编码视频数据。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一个,例如阴极射线管(crt)、液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示装置。

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

在一些实例中,视频编码器22和视频解码器30可根据视频译码标准操作。实例视频译码标准包含(但不限于)itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual和itu-th.264(也称为iso/iecmpeg-4avc),包含其可缩放视频译码(svc)和多视图视频译码(mvc)扩展。此外,itu-t视频译码专家组(vceg)和iso/iec运动图片专家组(mpeg)的视频译码联合合作小组(jct-vc)最近已开发了新视频译码标准(即,高效视频译码(hevc)或itu-th.265),包含其范围和屏幕内容译码扩展、3d视频译码(3d-hevc)和多视图扩展(mv-hevc)和可缩放扩展(shvc)。在本公开的时间,正在开发下一代视频译码标准,随后是itu-h.265的定稿。

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

为了产生图片的经编码表示,视频编码器22可以产生一组译码树单元(ctu)。ctu中的每一个可包括明度样本的译码树块、色度样本的两个对应的译码树块,以及用于对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,ctu可包括单个译码树块和用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的nxn块。ctu也可以被称为“树块”或“最大译码单元(lcu)”。hevc的ctu可以广泛地类似于例如h.264/avc等其它标准的宏块。然而,ctu未必限于特定大小,并且可以包含一或多个译码单元(cu)。切片可包含按光栅扫描次序连续排序的整数数目的ctu。

本公开可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块和用于对一或多个样本块中的样本进行译码的语法结构。实例类型的视频单元可包含ctu、cu、pu、变换单元(tu)、宏块、宏块分割区等。在一些情形中,pu的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树块、译码块和其它类型的视频数据块。

为了产生经译码ctu,视频编码器22可在ctu的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是n×n样本块。cu可包括具有明度样本阵列、cb样本阵列和cr样本阵列的图片的明度样本的译码块和色度样本的两个对应译码块,以及用于对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,cu可包括单个译码块和用以对译码块的样本进行译码的语法结构。

视频编码器22可将cu的译码块分割为一或多个预测块。预测块是被应用相同预测的样本的矩形(即,正方形或非正方形)块。cu的预测单元(pu)可包括亮度样本的预测块、色度样本的两个对应预测块和用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,pu可包括单个预测块和用于预测预测块的语法结构。视频编码器22可产生cu的每一pu的预测块(例如,明度、cb和cr预测块)的预测性块(例如,明度、cb和cr预测性块)。

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

在视频编码器22产生cu的一或多个pu的预测性块(例如,明度、cb和cr块)之后,视频编码器22可产生cu的一或多个残余块。作为一个实例,视频编码器22可产生cu的亮度残余块。cu的明度残余块中的每一样本指示cu的预测性明度块中的一个中的明度样本与cu的原始明度译码块中对应的样本之间的差异。另外,视频编码器22可以产生cu的cb残余块。在色度预测的一个实例中,cu的cb残余块中的每一样本可指示cu的预测性cb块中的一个中的cb样本与cu的原始cb译码块中对应的样本之间的差异。视频编码器22也可以产生cu的残余块残余块。cu的cr残余块中的每一样本可指示cu的预测性cr块中的一个中的cr样本与cu的原始cr译码块中对应的样本之间的差异。然而,应理解,可使用用于色度预测的其它技术。

此外,视频编码器22可使用四叉树分割将cu的残余块(例如,明度、cb和cr残余块)分解成一或多个变换块(例如,明度、cb和cr变换块)。变换块是被应用相同变换的样本的矩形(例如,正方形还是非正方形)块。cu的变换单元(tu)可包括明度样本的变换块、色度样本的两个对应变换块和用以对变换块样本进行变换的语法结构。因此,cu的每一tu可具有明度变换块、cb变换块以及cr变换块。tu的明度变换块可为cu的明度残余块的子块。cb变换块可为cu的cb残余块的子块。cr变换块可为cu的cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,tu可包括单个变换块和用于对变换块的样本进行变换的语法结构。

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

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

视频编码器22可输出包含形成经译码图片和相关联数据的表示的位序列的位流。因此,位流包括视频数据的经编码表示。所述位流可包括网络抽象层(nal)单元序列。nal单元是含有nal单元中的数据类型的指示和含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(rbsp)的形式的字节的语法结构。nal单元中的每一个可包含nal单元标头且包封rbsp。所述nal单元标头可包含指示nal单元类型代码的语法元素。由nal单元的nal单元标头指定的nal单元类型码指示nal单元的类型。rbsp可为含有包封在nal单元内的整数数目个字节的语法结构。在一些情况下,rbsp包含零个位。

视频解码器30可接收由视频编码器22产生的位流。另外,视频解码器30可解析位流以从位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构视频数据的图片。重构视频数据的过程通常可与由视频编码器22执行的过程互逆。举例来说,视频解码器30可使用pu的运动向量,以确定当前cu的pu的预测性块。另外,视频解码器30可逆量化当前cu的tu的系数块。视频解码器30可对系数块执行逆变换以重构当前cu的tu的变换块。通过将用于当前cu的pu的预测性块的样本添加到当前cu的tu的变换块的对应的样本上,视频解码器30可以重构当前cu的译码块。通过重构用于图片的每一cu的译码块,视频解码器30可重构所述图片。

下文描述hevc中的块分割结构。在hevc标准(itu-th.265和iso/iec23008-2,2013年1月)中,以及在sullivan等人的“高效视频译码(hevc)标准概览(overviewofthehighefficiencyvideocoding(hevc)standard)”(ieeetrans.circuitsandsystemsforvideotechnology,第22卷,第12号,第1649-1668页,2012年12月)中,且在kim等人的“hevc标准中的块分割结构(blockpartitioningstructureinthehevcstandard)”(ieeetrans.circuitsandsystemsforvideotechnology,第22卷,第12号,第1697-1705页,2012年12月)中,每一图片划分成编码树单元(ctu),所述单元以针对特定瓦片或切片的光栅扫描次序经译码。ctu是正方形块并表示四叉树或编码树的根。ctu大小可在8×8到64×64明度样本的范围内。64×64大小用于多个例子中,且可被视为典型使用情况。ctu通过使用四叉树结构分割成译码单元(cu),所述四叉树结构表示为适应各种本地特性的编码树。视频编码器22和/或视频解码器30可确定在cu层级处是使用图片间(时间)预测还是图片内(空间)预测来译码(例如,相应地编码或解码)图片区域。根据pu拆分类型,每一2n×2n大小的cu可进一步拆分成一个2n×2n、两个2n×n或n×2n,或四个n×n预测单元(pu)。相同预测过程应用于一个pu内部的所有样本,且视频编码器22可在pu基础上将相关信息用信号发送(例如,发射)到视频解码器30。在通过基于pu拆分类型应用预测过程获得残余块之后,可根据另一四叉树结构将cu分割成变换单元(tu)。

下文描述四叉树加二叉树(qtbt)块分割结构。在an等人的“下一代视频译码的块分割结构(blockpartitioningstructurefornextgenerationvideocoding)”(itu-tsg16doc.com16-c966,2015年9月)中,且在可从https://vceg.hhi.fraunhofer.de/svn/svn_hmjemsoftware/branches/hm-13.0-qtbt/获得的“qtbt软件(qtbtsoftware)”(2015年10月)中,提出四叉树加二叉树块分割结构。根据提出的qtbt结构,ctu(或i切片的“ctb”)是四叉树的根节点,其首先由四叉树进行分割,其中可重复一个节点的四叉树拆分直到节点达到允许的最小四叉树叶节点大小(minqtsize)。如果四叉树叶节点大小不大于允许的最大二叉树根节点大小(maxbtsize),那么可根据二叉树分割结构进一步分割四叉树叶节点。可重复一个节点的二叉树拆分直到节点达到允许的最小二叉树叶节点大小(minbtsize)或直到重复分割达到允许的最大二叉树深度(maxbtdepth),与哪一个首先发生无关。二叉树叶节点被命名为或被称为cu(或i切片的“cb”),其用于预测(例如图片内或图片间预测)和变换而无需任何进一步分割。

根据二叉树分割或拆分,存在两种拆分类型,即对称水平拆分和对称竖直拆分。在qtbt分割结构的一个实例中,ctu大小设置为128×128(也就是说,假设4:2:0色度格式,128×128明度样本和两个对应64×64色度样本),minqtsize设置为16×16,maxbtsize设置为64×64,minbtsize(针对宽度和高度两者)设置为4,且maxbtdepth设置为4。四叉树分割首先应用于ctu以产生四叉树叶节点。四叉树叶节点可具有从16×16(即,minqtsize)到128×128(即,ctu大小)的大小。如果叶四叉树节点具有128×128大小,那么将不根据二叉树结构进一步拆分,这是因为所述大小超过maxbtsize(即,64×64)。否则,叶四叉树节点可根据二叉树分割结构进一步分割。

因此,四叉树叶节点也是二叉树的根节点且具有二叉树深度0。当二叉树深度达到maxbtdepth(即,4)时,这意味着不执行进一步拆分。也就是说,具有等于maxbtdepth值的二叉树深度值的节点是已执行在qtbt分割结构的二叉树分割部分下允许的最大数目次反复的二叉树拆分的结果。当二叉树节点具有等于minbtsize(即,4)的宽度时,这意味着不执行进一步水平拆分。类似地,当二叉树节点具有等于minbtsize的高度时这意味着不执行进一步竖直拆分。二叉树的叶节点即通过预测和变换进一步处理而无需任何进一步分割的cu。

图2是说明根据hevc的ctu40的块分割的实例的概念图。在图2的实例中,ctu40表示64×64ctu。如图2的图例42中所示,实线边界指示cu边界,短划线边界指示tu边界,且点划线边界指示pu边界。

图3是说明根据qtbt分割结构的块分割的实例的概念图。举例来说,图3的左侧说明相对于块44(可为例如ctu0)的qtbt块分割方案。图3的右侧说明对应树结构(例如,呈键或图例46形式)。如图例46中所示,图3中的实线指示基于四叉树的拆分,而点划线指示基于二叉树的拆分。对于基于二叉树的拆分的每一拆分节点(即,非叶节点),视频编码器22可用信号发送一个旗标以指示使用哪个拆分类型(即,水平或竖直)。相对于所述旗标,值零(0)指示水平拆分,且值一(1)指示竖直拆分。对于基于四叉树的拆分,不需要指示拆分类型,这是因为其总是将块水平地和竖直地拆分成相等大小的4个子块。

对于i切片,视频编码器22和/或视频解码器30可使用根据qtbt分割结构的明度-色度隔开的成块分割结构。举例来说,视频编码器22和/或视频解码器30可使用qtbt结构将一个ctu的明度分量(例如,明度ctb)分割成明度cb,且可使用另一qtbt结构将所述ctu的两个对应色度分量(例如,两个对应色度ctb)分割成色度cb。对于p和b切片,共享明度和色度的块分割结构。也就是说,对于p切片或b切片,通过一个qtbt结构将一个ctu(包含明度和色度两者)分割成cu。在qtbt块分割结构中,职每一叶块分割节点处总是应用变换和预测大小,且所述大小还与叶节点块大小对准。以此方式,qtbt分割结构可有可能偏离了使cu、pu和tu隔开的概念。替代地,根据qtbt分割结构,cu、pu和tu统一形成一个块。根据qtbt分割结构,统一块可为四叉树(qt)节点块或二叉树(bt)节点块。

图4a和4b是说明qtbt分割结构的其他实例和细节的概念图。图4a说明使用qtbt分割技术分割的块50(例如,ctb)的实例。如图4a中所示出,根据qtbt分割技术,穿过每一块的中心对称地拆分所得块中的每一个。图4b说明对应于图4a的块分割的树结构。图4b中的实线指示基于qt的拆分,且短划线指示基于bt的拆分。在一个实例中,在二叉树的每一拆分节点(即,非叶节点)中,视频编码器22可用信号发送语法元素(例如,旗标)以指示执行的拆分类型,其中0指示水平拆分且1指示垂直拆分。对于四叉树拆分,不需要指示拆分类型,这是因为四叉树拆分总是将块水平地和垂直地拆分成具有相等大小和正方形形状的四(4)个子块。

如图4b中所示出,在节点70处,使用qt分割将块50拆分成图4a中示出的四个块51、52、53和54。块54不进一步拆分,且因而是叶节点。在节点72处,使用bt分割将块51进一步拆分成两个块。如图4b中所示出,用1标记节点72,指示竖直拆分。也就是说,视频编码器22可用信号发送针对节点72具有值1的旗标,指示基于bt的竖直拆分。如此,节点72处的拆分产生块57和包含块55和56两者的块。通过节点74处的进一步竖直拆分产生块55和56(如在节点74处用1指示)。在节点76处,使用bt分割将块52进一步拆分成两个块58和59。如图4b中所示出,用0标记节点76,指示水平拆分。

在节点78处,使用基于qt的分割将块53拆分成4个相等大小的块。由此基于qt的分割产生块63和66且不进一步拆分。在节点80处,使用竖直二叉树拆分首先拆分左上方块,产生块60和右侧竖直块(如在节点80处用1指示)。接着使用水平二叉树拆分将所述右侧竖直块拆分成块61和62(如在节点82处用0指示)。在节点84处使用基于bt的水平拆分将从节点78处的四叉树拆分产生的右下方块拆分成块64和65(如在节点84处用0指示)。

除了已在hevc中采用的离散余弦变换(dct)-ii和4×4离散正弦变换(dst)-vii之外,增强型多变换(“emt”或也被称作自适应多变换(amt)))方案用于针对经帧间译码和经帧内译码块的残余译码。amt方案使用除hevc中描述的当前变换以外的来自dct/dst家族的多个选定变换。新引入的变换矩阵是dst-vii、dct-viii、dst-i和dct-v。

amt方案适用于小于64×64的cu。视频编码器22可编码并用信号发送旗标以指示amt是否适用于cu。在视频解码器30处,是否应用amt受视频编码器22用信号发送的cu层级旗标的值控制。也就是说,在视频解码器30处,cu层级旗标的值控制对旗标经接收所用于的cu内所有变换单元(tu)的amt适用性。视频编码器22可将cu层级旗标的值设置为等于0,以指示在cu中应用dct-ii以编码残余。对于amt启用的cu内的每一tu,视频编码器22可编码并用信号发送两个额外旗标,以识别将在视频解码器30处使用/应用的水平和竖直变换。在接收视频编码器22用信号发送的cu层级旗标后,视频解码器30可在旗标的值等于零(0)的情况下,确定dct-ii将应用于解码旗标应用于的cu的所有tu。视频解码器30可使用相对于cu接收的两个额外旗标以识别在解码cu时应用的水平和竖直变换。

对于帧内残余译码,归因于不同帧内预测模式的不同残余统计数据,视频编码器22和/或视频解码器30可使用模式相依性变换候选选择过程。如在下文表1中示出,定义三个变换子集,且如下文在表2中规定,基于帧内预测模式选择变换子集。

表1:三个预定义变换候选集

对于子集概念,当所接收的cu层级旗标的值等于1时,视频解码器30可首先基于表2(下文)使用针对每一tu的帧内预测模式识别变换子集。反过来,对于水平和竖直变换中的每一个,指定帧内预测模式,视频解码器30可根据下文的表2选择变换子集。反过来,根据上文的表1,视频解码器30可使用从视频编码器22接收的用信号显式发送的变换索引,从所选择的变换子集进一步识别变换核心。

表2:针对每一帧内预测模式的选定水平(h)和竖直(v)变换集

然而,对于帧间预测残余,视频编码器22和/或视频解码器30可针对所有帧间模式且针对水平和竖直变换两者仅使用由dst-vii和dct-viii组成的一个变换集。amt的复杂性这编码器侧(例如,在视频编码器22处)可能相对高,这是因为在其中视频编码器22使用所谓的“暴力搜索(brutal-forcesearch)”的情况下,可需要用针对每一残余块的速率-失真成本评估总计五个(dct-ii和四个多变换候选)不同变换候选。为缓解视频编码器22处的此复杂性问题,在联合勘测模型(jem)中设计用于算法加速的数个优化方法。jem是用于下一代视频译码技术的勘测的视频编解码器平台。jem的另外方面描述于“联合勘测测试模型2的算法描述(algorithmdescriptionofjointexplorationtestmodel2)”(itu-tsg16wp3和iso/iecjtc1/sc29/wg11的联合视频勘测小组(jvet),第2次会议:美国圣地亚哥,2016年2月20-26日,文献号jvet-b1001_v1)中。

上文所描述的现有技术存在一或多个潜在问题。例如以下的数个现有译码工具是在hevc描述的块分割结构顶部开发:emt(描述于2016年1月25日申请的美国专利申请案第15/005,736号中)、不可分二级变换(“nsst”,描述于2015年9月29日申请的美国临时申请案62/234,644、2016年2月12日申请的美国临时申请案62/294,897,2016年4月15日申请的美国临时申请案62/323,496,和2016年5月17日申请的美国临时申请案62/337,736,以及2016年9月20日申请的美国专利申请案第15/270,455号和2016年9月20日申请的美国专利申请案第15/270,507号中)以及位置相依性预测组合(“pdpc”,描述于2015年9月29日申请的美国临时申请案62/234,645,和2016年9月21日申请的美国专利申请案第15/272,034号中)、对识别是应用帧内预测还是帧间预测的cu层级用信号发送,且这些译码工具在cu层级、pu层级或tu层级经优化并用用信号发送。

然而,对于这些译码工具的优化可能并不适合于基于qtbt的分割的所有情况。举例来说,当应用qtbt分割结构顶部的这些译码工具中的一或多个时,可对每一qt或bt块节点执行优化,所述块节点又可为小到4×4。如此,应用译码工具可为次优解决方案(虽然未必在所有情况下)。举例来说,作为针对基于hevc的块分割的优化,将译码工具应用于qtbt分割的块可表示次优解决方案,这是因为用信号发送可使用显著开销,这对于小的块大小可能为过多开销。

已在qtbt中遗弃基于hevc的块分割结构中的一些约束。举例来说,根据基于hevc的块分割,cu可使用所有帧内块或所有帧间块经译码(例如,由视频编码器22编码和/或由视频解码器30解码),且cu不小于8×8。然而,根据qtbt分割结构,即使单个8×8块仍可具有经帧内译码块和经帧间译码块的混合。对于小块(例如,具有小于8×8的维度的块),此qtbt的灵活性可需要视频编码器22用信号发送相当大数目个位以向视频解码器30指示块是经帧内模式译码还是经帧间模式译码。在一些情况下,考虑块节点的大小,用信号发送的位数(或‘用信号发送位’)可能太多。对于qtbt,译码工具在qt块节点或bt块节点上总是经优化且被以信号通知,这可能不适用于图像的不同统计数据。

本公开的各方面是针对缓解和/或解决上文所论述的潜在问题中的一或多个。本公开论述以下技术,也可在本公开的各个部分被称作“方法”。应了解,本文中所描述的各种装置(例如视频编码器22、视频解码器30和其各种组件(例如,各个附图中示出的组件))被配置成执行本文中所描述的方法。以下详细列举的方法可单独地应用,或替代地,本公开的视频译码装置可执行以下方法的任何组合。

根据本公开的一些技术,针对其中基于块拆分的分割结构应用于块的情境,视频编码器22和/或视频解码器30可定义相对于一或多个译码工具的块层级阈值。如本文中所使用,“译码工具”是特定译码方法、技术或可在特定块层级接通或断开的模式。举例来说,当应用例如帧内预测、帧间预测、帧间跳过、变换用信号发送、增强型多变换(emt)、不可分二级变换(nsst)、关于识别是应用帧内预测还是帧间预测的用信号发送或位置相依性预测组合(pdpc)中的一或多个的译码工具时,如果将根据hevc四叉树结构或qtbt结构分割被应用译码工具的块,那么视频编码器22和视频解码器30可实施块层级阈值。视频编码器22可优化适用译码工具,并且可用信号发送与符合或超过适用译码工具的预定块层级阈值的块的译码相关的一或多个语法元素。视频编码器22可设置块层级阈值,使得阈值不同于视频编码器22和/或视频解码器30应用预测和变换处的块大小。

在本公开的技术的一些实施方案中,视频编码器22和/或视频解码器30可设置块层级阈值,使得可依据相应块尺寸表示块层级阈值。作为实例,可依据块面积大小或块宽度和高度的某一组合中的一或多个表示块层级阈值。举例来说,视频编码器22可相对于emt译码工具将基于块面积的阈值设置为256。也就是说,视频编码器22可将基于emt的译码应用于依据面积覆盖至少256个像素的块。在此实例中,视频编码器22可编码并用信号发送emt旗标和emt索引,使得emt旗标和索引在块宽度基础上应用于符合或超过256面积阈值的块。也就是说,即使根据hevc四叉树结构或根据qtbt结构进一步分割256像素块,emt旗标的值仍适用于256像素块的所有子块。根据qtbt分割结构,二进制分割可仅在进一步分割256像素之后变得适用。也就是说,256像素块可具有正方形外观尺寸,而不管块是根据hevc四叉树分割拆分还是根据qtbt分割结构拆分。

在此实施方案中,视频编码器22可通过跨越块应用位率优化,确定是否使用emt编码256像素块。也就是说,视频编码器22可通过跨越阈值大小的块的所有子块运行位率优化,在(实施或不实施emt的)两个选项之间进行选择。如果视频编码器22基于块宽度优化的结果确定将跨越256像素块应用emt,那么视频编码器22可在“启用”状态(例如,通过将旗标的值设置为值1)编码emt。如果视频编码器22确定应基于位率优化操作将emt旗标设置为启用状态(例如,设置为值1),那么视频编码器22可针对整个256像素块将emt旗标设置为值1。也就是说,视频编码器22可编码自动整个256像素块的单个emt旗标,表情可将emt旗标的值设置为1。继而,基于针对整个256像素块具有值1的emt旗标,视频编码器22可编码并用信号发送针对256像素块的每一子块的相应emt索引值。

在相对于译码工具的块层级定限技术的一些实例中,视频编码器22可基于除块大小尺寸以外的准则设置块层级阈值。举例来说,视频编码器22可基于ctu、切片、瓦片、图片或图片群组(gop)基础中的一或多个设置块层级阈值。也就是说,块层级阈值可基于以上准则中的一或多个变化。

替代地,在一些实施方案中,视频编码器22可在ctu、切片、瓦片、图片或gop基础上分别使用先前经编码的ctu、切片、瓦片、图片或gop的经编码信息更新块层级阈值。在一些情况下,在视频编码器22使用先前经编码信息变化块层级阈值的情况下,视频编码器22可例如基于对于每一块大小执行预测和/或变换多少次的计数,设置块层级。在一些实例中,视频编码器22可将块层级阈值设置为默认值。默认值的实例包含但不限于值64或256。在一些实例中,视频编码器22可视包含块的切片的切片类型(例如,切片是帧内、p还是b切片)而用信号发送块层级阈值。虽然块层级阈值可具有数个预定义固定值中的一个,但视频编码器22可针对不同译码配置或图像分量应用不同值。举例来说,视频编码器22可视某些因素(例如当前切片是帧内切片、p切片还是b切片,和/或当前块是明度分量还是色度分量)而针对块层级阈值应用不同值。

在一些实例中,视频编码器22可相对于阈值应用于的块在带外用信号发送块层级阈值。举例来说,视频编码器22可在一或多个语法结构(例如切片标头、图片参数集(pps)、视频参数集(vps)或序列参数集(sps))中用信号发送块层级阈值。在接收块层级阈值(例如,相对于适用经编码块是带内还是带外)后,视频解码器30可使用块层级阈值作为相对于经编码块应用互逆(解码器侧)译码工具的条件。在上文关于应用emt的基于块面积的阈值所描述的实施方案中,视频解码器30可将接收的任何emt旗标应用于符合或超过用信号发送的块层级阈值面积的块。举例来说,如果(例如,在切片标头、vps、pps或sps中)接收的块层级阈值面积反映256像素的面积,那么视频解码器30可将接收的任何emt旗标应用于面积为至少256像素的块。

举例来说,视频解码器30可接收设置为启用状态(例如,设置为值1)的emt旗标。基于emt旗标的启用状态,视频解码器30可相对于覆盖至少256像素面积的块(被应用emt旗标)的解码,启动emt译码工具。也就是说,视频解码器30可相对于至少256像素面积的块的所有子块,启动emt译码工具。继而,视频解码器30可接收相对于至少256像素面积的块的每一子块的个别emt索引。基于接收的每一emt索引值,视频解码器30可使用emt译码工具重构emt启动的块的每一子块。以此方式,视频编码器22和视频解码器30可通过充分利用阈值块层级的emt旗标,代替要求每一个别子块的emt旗标,而不考虑用以获得子块的分割方案,减少对根据本公开的技术的emt旗标用信号发送的需要。

以此方式,视频编码器22和视频解码器30可实施本公开的块层级定限技术以应用现有译码工具,而不需要为适应qtbt分割的译码工具优化的任何改变。在cu层级根据hevc四叉树分割结构用信号发送基于译码工具的语法元素(例如emt旗标)。hevc兼容cu可变化大小,但不降至低于8×8维度。然而,qtbt分割结构允许8×8块进一步分割,有时达到拆分成高达四个子块的程度。如此,扩展用于qtbt分割结构的现有译码工具(例如,emt、pdpc等)的优化将致使旗标译码的四倍增加。如此,视频编码器22将需要编码并用信号发送针对qtbt分割的块的四个旗标,其中视频编码器22将需要编码并用信号发送针对hevc四叉树分割的块的单个旗标。类似地,视频解码器30将需要接收并处理针对qtbt分割的块的四个旗标,其中视频解码器30将需要接收并处理针对hevc四叉树分割的块的单个旗标。

如由针对emt旗标的基于块面积的定限的实例所说明,本公开的技术使得视频编码器22和视频解码器30能够继续相对于qtbt分割的块充分利用hevc优化的译码工具(例如emt),而无复杂性和带宽消耗的四倍增加。也就是说,本公开的基于块面积的定限技术使得视频编码器22和视频解码器30能够处理针对正方形256像素块的单个旗标,即使块是根据qtbt分割结构分割。以此方式,本公开的技术使得视频编码器22和视频解码器30能够使用现有hevc优化的译码工具,同时充分利用更为新近的qtbt块分割结构。也就是说,本公开的技术使得能够在不需要qtbt分割结构改变的情况下继续使用现有(hevc优化的)译码工具。举例来说,如本公开中所描述,使用块层级阈值允许译码工具与qtbt分割结构一起使用而无需一定要求改变译码工具(虽然改变译码工具是可能的)。

根据本公开的一些方面,视频编码器22和/或视频解码器30可应用块层级阈值以确定仅应用帧内译码或仅应用帧间译码所在的最低块层级。举例来说,视频编码器22可在基于大小的块层级阈值的基础上,规定仅应用帧内译码或帧间译码所在的最小块层级。举例来说,视频编码器22可指示或规定在块层级阈值处或以下不允许帧内译码和帧间译码的混合。也就是说,视频编码器22可仅将帧间译码或仅将帧内译码(而非两者的组合)应用于具有等于或小于阈值面积的面积的块的所有子块。换句话说,如果块是在面积阈值处或内,那么视频编码器22可将帧内译码应用于所有子块,或可应用帧间译码以编码块的所有子块,而不考虑用以形成子块的分割结构。虽然相对于块面积进行描述,但应了解,在一些实例中,视频编码器22可基于其它大小尺寸(例如块宽度和/或块高度)确定并用信号发送块层级阈值。因此,当考虑块宽度和/或块高度时,术语块面积包含基于面积和大小的大小。术语块面积不应被视为受限于大小的二维测量值,而是也包含单个尺寸(例如,宽度和/或高度)。

在一些实例中,视频编码器22可基于ctu基础、切片基础、瓦片基础、图片基础或图片群组(gop)基础中的一或多个变化块层级阈值。另外,在视频编码器22应用块层级阈值以允许或不允许帧内译码和帧间译码的任何混合的各种实例中,视频编码器22可相对于对应块例如在切片标头、图片参数集(pps)、视频参数集(vps)或序列参数集(sps)中在带外用信号发送块层级阈值。

替代地,视频编码器22可在ctu基础、切片基础、瓦片基础、图片基础或gop基础中的一或多个上,分别使用先前编码的ctu、切片、瓦片、图片或gop的经译码信息更新块层级阈值。举例来说,视频编码器22可基于针对每一块大小执行预测和/或变换多少次的计数,更新块层级阈值。在一些替代方案中,视频编码器22可将块层级阈值设置为默认值,例如64或256。在一些实例中,视频编码器22可视切片类型(例如切片是帧内切片、p切片还是b切片)而用信号发送块层级阈值。

在用于帧内译码或帧间译码确定的块层级定限的一些实施方案中,块层级阈值更新可为任选的。举例来说,视频编码器22可用信号发送“存在”旗标(其为现有旗标),以提供有关块层级阈值的信息。举例来说,视频编码器22可将旗标设置为0值以指示块层级阈值设置为默认阈值水平或默认值。在块层级阈值设置为默认值的情况下,视频编码器22可以任选地在较高结构层级(例如在pps、sps或vps中)用信号发送块层级阈值。另一方面,视频编码器22可将存在旗标的值设置为值1,以指示直接用信号发送或将直接用信号发送块层级阈值。在一些情况下,为直接用信号发送块层级阈值,视频编码器22可通过排除其中层级等于默认值的任何情况调整用信号发送的值。

在一些实例中,视频编码器22可视用于包含块的切片的切片类型(例如切片是帧内切片、p切片还是b切片)而用信号发送块层级阈值。虽然块层级阈值可为数个预定义固定值中的一个,但视频编码器22可为不同译码配置或图像分量应用不同值。举例来说,视频编码器22可视某些因素(例如当前切片是帧内切片、p切片还是b切片,和/或当前块是明度分量还是色度分量)而针对块层级阈值应用不同值。

在一些情况下,视频编码器22可实施在对处于或低于块层级阈值的块的帧内译码和帧间译码之间选择的一或多个例外。也就是说,在一些情境中(其形成仅帧内块或仅帧间块的块层级定限的例外),视频编码器22可使用帧内译码和帧间译码两者编码处于或低于块层级阈值的块的子块。在一些此类情境中,如果视频编码器22被配置成形成对仅帧间或仅帧内选择的例外,那么视频编码器22可编码并用信号发送在块层级阈值处或内的块的旗标,以指示是否允许针对块的相应子块的帧内译码和帧间译码的混合。举例来说,视频编码器22可将旗标设置为值0,以指示不允许针对特定对应块的帧内译码和帧间译码的混合。在此实例中,视频编码器22可将旗标设置为值1,以指示允许相对于对应块的子块的译码的帧间译码和帧内译码的混合。视频编码器22可编码并用信号发送以指示是否准许相对于块的帧内译码和帧间译码的混合的旗标可表示新旗标,其中所述旗标表示相对于现有视频译码标准(例如h.264和/或hevc)中规定的语法元素的额外语法元素。

在其中视频编码器22使用块层级定限确定仅可应用帧内译码或帧间译码的最低块层级的实例中,视频解码器30可实施使用块层级阈值确定仅可应用帧内译码或帧间译码以重构块的子块的最低块层级的互逆操作。举例来说,视频解码器30可基于视频编码器22规定的基于大小的块层级阈值,确定将仅应用帧内译码或帧间译码的最小块层级。举例来说,视频解码器30可基于包含在视频编码器22用信号发送的位流中的数据,确定不允许针对处于或低于块层级阈值的块的帧内译码和帧间译码的混合。也就是说,视频解码器30可仅应用帧间译码或仅应用帧内译码(而非两者的组合)重构具有等于或小于阈值面积的面积的经编码块的所有子块。在其中视频编码器22依据块面积规定块层级阈值的实例中,如果块在面积阈值处或内,那么视频解码器30可应用帧内译码重构块的所有子块,或可应用帧间译码重构块的所有子块,而不考虑用以形成子块的分割结构。虽然相对于块面积进行描述,但应了解,在一些实例中,视频解码器30可基于其它大小尺寸(例如块宽度和/或块高度)确定块层级阈值。

在一些实例中,视频解码器30可基于ctu基础、切片基础、瓦片基础、图片基础或gop基础中的一或多个检测块层级阈值的变化。另外,在各种实例中,视频解码器30可从相对于对应块在带外(例如在适用于块的切片标头、pps、vps或sps中)接收的语法结构获得块层级阈值。在一些实例中,视频解码器30可基于取决于切片类型(例如切片是帧内切片、p切片还是b切片)的位流信息确定块层级阈值。

在帧内译码或帧间译码确定的块层级定限的一些实施方案中,块层级阈值更新可为任选的。举例来说,视频解码器30可接收并处理“存在”旗标(其为现有旗标)以确定有关块层级阈值的信息。举例来说,视频解码器30可恢复旗标的0值以确定块层级阈值设置为默认阈值水平或默认值。在块层级阈值设置为默认值的情况下,在一些情境中,视频解码器20可职位流的较高结构层级内(例如在pps、sps或vps中)接收块层级阈值。另一方面,视频解码器30可在存在旗标的值设置为值1的情况下,确定直接接收或将直接接收块层级阈值。

如果视频解码器30不接收旗标,那么视频解码器30可推断旗标的值为0。也就是说,在其中不接收相对于块的旗标的情况下,视频解码器30可确定块层级阈值设置为默认值,且因而可使用默认值作为相对于将相关译码工具应用于块的阈值块层级。在一些情况下,视频解码器30可接收经调整值,使得用信号发送的值排除其中层级等于默认值的任何情况。

在一些实例中,视频解码器30可接收块层级阈值作为取决于包含块的切片的切片类型(例如切片是帧内切片、p切片还是b切片)的值。虽然块层级阈值可为数个预定义固定值中的一个,但视频解码器30可针对不同译码配置或图像分量应用不同值。举例来说,视频解码器30可视某些因素(例如当前切片是帧内切片、p切片还是b切片,和/或当前块是明度分量还是色度分量)而针对块层级阈值应用不同值。

在一些情况下,视频解码器30可实施在用于处于或低于块层级阈值的块的帧内译码和帧间译码之间的选择的一或多个例外。也就是说,在一些情境中(其形成仅帧内块或仅帧间块的块层级定限的例外),视频解码器30可使用帧内译码和帧间译码两者重构处于或低于块层级阈值的块的子块。在一些此类情境中,如果视频解码器30被配置成形成对仅帧间或仅帧内选择的例外,那么视频解码器30可编码并重构在块层级阈值处或内的经编码块的旗标(其包含在视频编码器22用信号发送的位流中)。旗标的值可指示是否准许相对于重构块的相应子块的帧内译码和帧间译码的混合。举例来说,视频解码器30可在旗标设置为值0的情况下,确定不允许针对特定对应块的帧内译码和帧间译码的混合。在此实例中,视频解码器30可仅使用帧内译码或仅使用帧间译码(而非其组合)重构块的各个子块。根据此实施方案,如果视频解码器30确定旗标设置为值1,那么视频解码器30可确定允许相对于对应块的子块的重构的帧间译码和帧内译码的混合。视频解码器30可接收并重构以确定是否准许相对于重构块的帧内译码和帧间译码的混合的旗标可表示新旗标,其中所述旗标表示相对于现有视频译码标准(例如h.264和/或hevc)中规定的语法元素的额外语法元素。

在一些实例中,视频编码器22和/或视频解码器30可实施针对一或多个译码工具的优化的块层级约束条件,但在其中符合阈值或超过阈值的块包含经帧内译码子块和经帧间译码子块的混合的情况下,移除所述约束条件。举例来说,根据hevc,一些译码工具(例如pdpc和nsst)仅针对帧内译码经优化。emt是针对帧间译码和帧内译码两者经优化,并且因此,可实施为emt帧间和/或emt帧内。根据hevc,一些译码工具仅针对帧间译码经优化。如此,在块包含经帧内译码子块和经帧间译码子块两者的情况下移除针对译码优化的块层级约束条件适用于任何此类译码工具。

举例来说,因为emt译码工具针对指定块实施为emt帧内或emt帧间,因此块层级阈值可在其中块包含经帧内译码子块和经帧间译码子块两者的情况下,阻碍emt译码工具的使用,这是因为emt译码工具应用为emt帧内或应用为emt帧间。类似地,块层级约束条件可在其中块包含经帧内译码子块和经帧间译码子块两者的情况下,阻碍pdpc工具或nsst工具的使用,这是因为pdpc工具和nsst工具中的每一个是针对经帧内译码块经优化。以此方式,视频编码器22和视频解码器30可实施针对应用译码工具以适应qtbt分割结构的块层级约束条件,但可在块包含经帧间译码子块和经帧内译码子块的混合的情况下移除所述约束条件,以充分利用译码工具的仅帧内优化或仅帧间优化。

根据本公开的一些技术,视频编码器22可实施用于一或多个译码工具的相对于用信号发送信息的块层级定限。在一个实施方案中,视频编码器22可将相对于用信号发送信息的单个块层级阈值用于视频编码器22应用或可用的所有译码工具。举例来说,视频编码器22可用信号发送仅用于至少在阈值块层级处的块的单个emt旗标,或单个pdpc旗标,或单个nsst旗标。也就是说,在此实施方案中,块层级阈值具有静态值,而不考虑视频编码器22使用哪个译码工具来编码块。

在用于译码工具用信号发送的块层级定限的另一实施方案中,视频编码器22可在逐个译码工具基础上使用个别块层级阈值。举例来说,视频编码器22可用信号发送仅用于符合第一阈值水平的块的emt旗标,仅用于符合第二阈值水平的块的pdpc旗标,以及仅用于符合第三阈值水平的块的nsst旗标。

根据本公开的一些实例,视频编码器22和视频解码器30可在任何给定时间,针对单个块的单个译码工具应用唯一性块层级阈值。举例来说,符合或超过块层级阈值(所述阈值表示可执行语法用信号发送所在的最小块层级)的块可构成图片帧且无重叠。举例来说,根据此实施方案,如果分割将导致小于块层级阈值的至少一个子块,那么视频编码器22和视频解码器30可能不进一步分割任何块。也就是说,视频编码器22和视频解码器30可能不在具有阈值水平大小的多于一个块中包含更小子块。

在一些情境中,视频编码器22可用信号发送所谓的“虚拟块”。更具体地说,当用信号发送虚拟块时,视频编码器22可仅用信号发送形成块的经编码数据子集。举例来说,在用信号发送虚拟块时,视频编码器22可分组和用信号发送相对于块的经编码视频数据的仅某些语法元素。与虚拟块相比,“实际块”表示视频编码器22用信号发送经编码信息完整集合所用于的经编码视频数据块。

根据本公开的一些技术,视频编码器22可检测虚拟块符合用于用信号发送译码工具信息的阈值大小。在一些此类情境中,视频编码器22可确定虚拟块够资格作为实际块(也就是说,虚拟块和对应的实际块是相同的单个块)。视频编码器22可检测此类情境,举例来说,视频编码器22是否确定块不进一步拆分且因此,实际块(其大小符合或超过阈值大小)是最终块。在此情况下,视频编码器22可调节和/或推迟惯常相对于虚拟块执行的任何用信号发送。替代地,视频编码器22可替代地用信号发送相对于实际块的虚拟块信息。

通过实施本公开的替代地在某些情境中用信号发送相对于实际块的虚拟块信息的技术,视频编码器22可在某些情况下提供潜在位率改进。举例来说,在其中仅针对某些预测模式进行语法用信号发送的情况下,特定预测模式可能不可由视频编码器22用以相对于虚拟块的用信号发送。衷此类情境中,视频编码器22可在拆分旗标的值上且在等于(或大于)阈值大小的块大小上调节针对虚拟块的用信号发送。如果视频编码器22检测到对应的实际块不进一步拆分且所述块大小至少等于阈值大小,那么视频编码器22可确定实际块是最终的。如此,视频编码器22可实施本公开的技术以确定惯常作为虚拟块的部分用信号发送的语法元素的用信号发送可随后进行,且可能仅相对于实际块用信号发送。

视频编码器22可执行此条件性语法用信号发送,使得所述用信号发送取决于所得子块(区别于彼此)的组合是否在虚拟块的大小处是可能的。举例来说,视频编码器22可实施条件性用信号发送,使得在基于使用帧内预测模式和帧间预测模式正被编码而区分子块的情况下,所述用信号发送取决于切片类型。在块包含在i切片中的情况下,帧间预测并非用于编码块的选项。如此,在块包含在i切片中的情况下,视频编码器22可确定不需要条件性用信号发送。

在本文中相对于pdpc译码工具描述本公开的条件性用信号发送技术的实例。在编码视频数据块时应用pdpc译码工具提供其中视频编码器22可实施本公开的条件性用信号发送方面以提供位率改进的一或多个实例。在一些情况下,视频解码器30可推断图片边界处的拆分旗标。举例来说,如果视频编码器22确定块大到足以使所述块跨越图片边界,那么视频编码器22可能不用信号发送拆分旗标。在此实例中,视频解码器30可推断所述大块正被拆分。也就是说,视频编码器22可实施条件性用信号发送,以避免用信号发送块所跨越的图片边界处的拆分旗标。在此情况下,视频解码器30可被配置成推断图片边界处的块拆分。

下文相对于pdpc译码工具描述本公开的条件性用信号发送技术的实例。对于符合或超过本公开的块层级阈值的块,如果使用pdpc译码工具编码所述块,那么视频编码器22可用信号发送启用状态的pdpc旗标(也称为“pdpc使用旗标”),并且可以任选地用信号发送一或多个pdpc索引(或“pdpc索引值”)。在接收到设置为启用状态的pdpc旗标后,视频解码器30可推断将使用pdpc译码工具重构阈值大小的块的每个和所有子块(不考虑用以获得子块的分割方案)。也就是说,视频解码器30可推断较小子块的pdpc旗标值等于接收的用于处于或超过阈值水平的较大块的单个pdpc旗标值。在一个实例中,视频编码器22和视频解码器30可将等于64样本的阈值水平用于待使用pdpc译码工具编码和解码的明度分量块。

如上文所描述,在根据本公开的条件性用信号发送的一些情况下,视频编码器22可调节且进而避免用信号发送用于符合或超过阈值块大小的块的pdpc旗标和索引。更具体地说,视频编码器22可在确定是否进一步拆分块上调节pdpc旗标和/或索引的用信号发送。也就是说,在视频编码器22确定不进一步拆分块的情况下,视频编码器22可能不用信号发送用于所述块的pdpc旗标或任何pdpc索引。替代地,在进一步拆分块的情况下,视频编码器22可执行根据现有pdpc用信号发送技术提供的用信号发送布局进行的pdpc用信号发送。也就是说,如果视频编码器22确定不进一步拆分块,那么视频编码器22可在预测模式经解析且可用之后用信号发送任何pdpc信息。

如上文所描述,pdpc是针对帧内预测模式经优化的译码工具。因此,视频编码器22可能不针对任何经帧间预测块或子块应用pdpc译码工具。在其中视频编码器22不实施条件性用信号发送的情况下,视频编码器22可用信号发送用于等于或大于阈值大小的块的pdpc信息,前提是所述块不进一步拆分且因此不包含任何经帧间译码子块。再次,在块包含经帧间译码子块的情况下,可能不需要pdpc信息,且因此,子块层级pdpc信息的用信号发送可归因于用信号发送不必要位而致使位率浪费。

视频编码器22也可以本公开的条件性用信号发送技术扩展到应用使用多于一个旗标以指示预测参数的pdpc版本的情况。一个此类实例是使用四个参数集、每块形状和每预测模式的pdpc版本。视频编码器22可在块大小上实施不同阈值以定义待编码或替代地继承和共享的旗标的数目。以此方式,视频编码器22可在较高树层级处利用较大数目个pdpc参数选项,其中旗标译码开销可相对小。另一方面,视频编码器22可在较低树层级使用较小数目个pdpc参数选项(可能少到单个选项),其中每旗标相对开销较大。

在本公开的一些实例中,视频编码器22可实施视频编码器22可将基于表的规则用于用信号发送语法的决策而非使用单个阈值的另一扩展。在本公开的基于表的用信号发送语法确定技术的一种情况下,视频编码器22可使用其中表条目包含块分割的宽度和/或高度的表。在此实例中,表元素可表示具有对来源于相关分区形状的分区有效的用信号发送语法的修改的列表,而不考虑分区形状是否是基于四叉树分割或基于qtbt分割的结果。

在一些实例中,作为用于如上文所描述的译码工具的块层级定限的替代方案,视频编码器22和视频解码器30可替代地实施不对应于块分解过程中的实际块的块层级阈值。在这些实例中,如果拆分块产生低于块层级阈值的两个子块(bt分割)或四个子块(qt分割)的子块,那么视频编码器22可用信号发送所得子块大小的译码工具相关语法元素。此类基于子块的块层级阈值的实例是392,或不为2的幂的任何阈值大小。在一些情况下,视频编码器22可使用并非浮点值的基于子块的块层级阈值。

根据本公开的一些实例,视频编码器22可在其中视频编码器22检测到块大小与块层级阈值相同或低于块层级阈值的第一例子处,用信号发送译码工具相关语法元素(例如,emt旗标)。一旦用信号发送针对块的译码工具相关语法元素,视频编码器22便可能不用信号发送针对由块的进一步拆分产生的任何子块的对应译码工具相关语法元素。也就是说,根据这些实例,在确定块处于或低于预定块层级阈值后,视频编码器22便可用信号发送相对于块的第一子块的译码工具相关语法元素(例如,emt旗标)。

图5是说明可实施本公开的技术的实例视频编码器22的框图。图5是出于解释的目的提供且不应被视为限制本公开中广泛地示范和描述的技术。本公开的技术可适用于各种译码标准或方法。

在图5的实例中,视频编码器22包含预测处理单元100、视频数据存储器101、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116和熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120可包含运动估计单元和运动补偿单元(未示出)。

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

视频编码器22接收视频数据。视频编码器22可编码视频数据的图片的切片中的每一ctu。ctu中的每一个可以与图片的大小相等的亮度译码树块(ctb)以及对应的ctb相关联。作为编码ctu的一部分,预测处理单元100可执行分割以将ctu的ctb划分为逐渐更小的块。较小块可为cu的译码块。举例来说,预测处理单元100可根据树结构分割与ctu相关联的ctb。根据本公开的一或多种技术,对于树结构的每一深度级处的树结构的每一相应非叶节点,存在针对相应非叶节点的多个允许的拆分模式,且根据多个可允许的拆分模式中的一个,将对应于相应非叶节点的视频块分割成对应于相应非叶节点的子级节点的视频块。

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

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

帧内预测处理单元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可从pu的由帧间预测处理单元120产生的预测性数据或pu的由帧内预测处理单元126产生的预测性数据当中选择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相关联的系数块。视频编码器22可通过调整与cu相关联的qp值来调整应用于与cu相关联的系数块的量化程度。量化可引入信息损耗。因此,经量化变换系数的精确度可低于原始系数的精确度。

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

滤波器单元114可执行一或多个去块操作来减少与cu相关联的译码块中的成块效应。在滤波器单元114对经重构译码块执行一或多个去块操作之后,经解码图片缓冲器116可存储经重构译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的pu执行帧间预测。另外,帧内预测处理单元126可以使用经解码图片缓冲器116中的经重构译码块以对处于与cu相同的图片中的其它pu执行帧内预测。

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

下文列出视频编码器22(或其一或多个组件)可被配置成执行的本公开的技术的各个实施方案。针对子标题的各个层级描述的各个选项,使用下文描述的阿拉伯数字‘1’、‘2’等为各个实施方案编号。

1.当针对特定译码工具(特定译码工具的实例包含但不限于:帧内预测、帧间预测、帧间跳过、变换用信号发送、emt、nsst、pdpc等),应用针对视频译码的基于块拆分的块分割结构,例如hevc或qtbt时,定义块层级阈值。此特定译码工具针对等于此块层级阈值或超过所述块层级阈值的块经优化并用信号发送。所述块层级阈值可不同于应用预测和变换所处的块大小。译码工具是特定译码方法、技术或可在特定块层级处接通或断开的模式。

a)可依据块面积大小或块宽度和高度表示块层级阈值。

b)块层级阈值可在ctu、切片、瓦片、图片或图片群组(gop)基础上变化。

■可在切片标头、pps、vps或sps中用信号发送块层级阈值。

■替代地,可在ctu、切片、瓦片、图片或gop基础上分别使用前一ctu、切片、瓦片、图片或gop的经译码信息,例如通过针对每一块大小执行预测和/或变换多少次的计数,更新块层级阈值。

■替代地,块层级阈值可设置为默认值,例如64或256或视切片类型(例如切片是帧内切片、p切片还是b切片)而用信号发送。

c)块层级阈值可为预定义固定值,但不同值可应用于不同译码配置或图像组件,例如当前切片是帧内切片、p切片还是b切片,当前块是明度分量还是色度分量。

2.块层级阈值也可以规定仅应用帧内译码或帧间译码所处的最小块层级。在处于或低于此指定块层级阈值处不允许帧内译码和帧间译码的混合。

a)块层级阈值可表达为块面积大小或块宽度和高度。

b)块层级阈值可在ctu、切片、瓦片、图片或图片群组(gop)基础上变化。

■可在切片标头、图片参数集(pps)、视频参数集(vps)或序列参数集(sps)中用信号发送块层级阈值。

■替代地,可在ctu、切片、瓦片、图片或gop基础上分别使用前一ctu、切片、瓦片、图片或gop的经译码信息,例如通过针对每一块大小执行预测和/或变换多少次的计数,更新块层级阈值。

■替代地,块层级阈值可设置为默认值,例如64或256或视切片类型(例如切片是帧内切片、p切片还是b切片)而用信号发送。

■更新可为任选的。举例来说,可用信号发送存在旗标,且如果所述旗标设置为0值,那么使用任选地可在较高结构层级(例如pps、sps、vps)用信号发送的默认阈值水平。在此实例中,如果存在旗标设置成等于值1,那么直接用信号发送阈值水平。在直接用信号发送期间,可通过排除当层级等于默认值时的情况来用信号发送的值。

c)块层级阈值可使用预定义固定值,但不同值可应用于不同译码配置或图像分量,例如当前切片是帧内切片、p切片还是b切片,当前块是明度分量还是色度分量。

d)替代地,可针对此块层级阈值处的块进一步用信号发送旗标,以指示是否允许针对低于此块层级阈值且包含在当前块中的子块的帧内译码和帧间译码的混合。

3.根据此实施方案,当存在针对当前块的经帧内和帧间译码块的混合时,移除针对特定译码工具的限制,所述限制为仅可在大于或等于指定块层级阈值的块层级上优化译码工具。

4.数个工具可在阈值水平块处使用用信号发送。各个阈值可为不同的且为工具特定的。根据另一替代性方案,一个共同阈值用于所有工具。

5.在其中可执行语法用信号发送的阈值水平处的块可构成图片帧且无重叠。举例来说,根据此实施方案,将其它较小块包含到具有阈值水平大小的多于一个块中可为不可能的。

6.具有阈值大小的块可为虚拟块(即仅将某些语法元素分组并用信号发送所处的块),或实际块,所述块含有信息全集。接着,有可能存在其中虚拟块和实际块是相同的一个块的情况。此情境可例如当不存在进一步块拆分且具有等于阈值的大小的实际块是最终块时发生。在此情况下,应在虚拟块中进行的用信号发送经调节和推迟,且替代地在实际块中进行。此实施方案可在其中仅对某些预测模式进行语法用信号发送的情况下提供潜在改进,但预测模式在虚拟块中可为不可用的。依据执行此实施方案的方面,可在拆分旗标和等于阈值大小的块大小上调节虚拟块中的用信号发送。如果不存在进一步拆分且块大小等于阈值,那么块是最终的且可在稍后且仅在实际块中进行用信号发送。此条件性语法用信号发送的应用可取决于需要区分的块的组合在虚拟块大小处是否是可能的。举例来说,如果基于帧内和帧间预测模式区分块,那么其可取决于切片类型。在i切片的情况下,帧间预测是不可能的且可不需要条件性用信号发送。在下文进一步详细描述的pdpc提供一或多个实例。以类似方式,可推断边界处的拆分旗标。举例来说,当块大到足以使所述块跨越图片边界时,可不用信号发送拆分旗标且推断将拆分所述(大)块。条件性用信号发送也可应用于推断的拆分情况。

7.在一实例中,块层级阈值可能不对应于分解中的实际块。在此情况下,如果拆分块产生低于块层级阈值的两个(bt)或四个(qt)块,那么视频编码器22可执行可在此(子阈值)块大小处执行的语法元素用信号发送。此类块层级阈值的非限制性实例是392或不是2的幂的任何阈值。

8.在一实例中,视频编码器22可在块大小第一次与块层级阈值相同或低于块层级阈值时用信号发送语法元素。一旦用信号发送针对块的语法元素,便不针对所述块的任何进一步拆分用信号发送所述语法元素。

在以下描述中,提供上述技术的各种实例。根据本公开,所描述的实施例的任何部分的任何组合可实施为独立实例。

基于块面积阈值的优化和用信号发送emt的实例:当emt应用于qtbt时,块层级阈值可预定义为256。如果qtbt叶节点面积大于指定阈值,那么用信号发送用于此qtbt叶节点的emt旗标和emt索引。如果当前qtbt节点面积与指定阈值相同(例如,叶节点是16×16、32×8、8×32、64×4或4×64),那么不管其是否进一步拆分成更小块,都用信号发送用于当前qtbt节点的一个emt旗标。如果此emt旗标指示启用emt,那么进一步用信号发送用于其叶节点中的每一个的emt索引。以此方式,对于具有小于指定阈值的面积大小的叶节点,仅用信号发送emt索引,且不用信号发送emt旗标而是来源于从其具有等于指定阈值的面积大小的最靠近父级节点用信号发送的emt旗标。

在各种实例中,默认块层级阈值可应用于不同视频分辨率。举例来说,当单个视频图片具有小于100,000像素时,例如wqvga(416×240),默认块层级阈值可设置为64,否则,默认块层级阈值设置为256,例如wvga(832×480)、720p、1080p或4k。

位置相依性帧内预测组合(pdpc)阈值:按照针对emt的实例,pdpc可使用旗标和/或pdpc索引。可用信号发送针对大于或等于阈值大小的块的旗标和/或pdpc索引,且较小块的值经推断为等于在阈值水平处用信号发送的值。举例来说,相对于明度分量的阈值水平可等于64个样本。

如上文所提及,当不进一步拆分具有大于或等于阈值大小的大小的块时用于所述块的pdpc旗标和索引的用信号发送可经调节且是执行。对于此类情况,在预测模式经解析且可用之后,pdpc用信号发送在其原始位置进行。由于pdpc是帧内预测相关工具,因此其不应用于帧间预测块。如果在此情况下不调节语法,那么一旦块等于阈值大小便用信号发送pdpc信息。在此情况下,所述块可不进一步拆分且可经帧间译码。在此情况下,不需要pdpc信息,但用信号发送且有可能浪费与其相关联的位。

此实施方案可扩展到使用多于一个旗标用信号发送预测参数的pdpc的版本的情况(例如,对于使用四个参数集、每块形状和每预测模式的pdpc版本)。块大小上的不同阈值可定义需要进一步编码或替代地继承和共享的旗标的数目。因此,更多pdpc参数选项可在较高树层级处可用,其中旗标译码开销相对小,且当每旗标相对开销增加时,较小数目个选项(例如,在一些情况下,单个选项)可用。

另一扩展将使用用于做出关于用信号发送语法而非使用单个阈值的决策的基于表的规则。在此情况下,表条目是分区的宽度和高度,且列出具有对来源于分区形状的分区有效的用信号发送语法修改的表元素。

图6是说明被配置成实施本公开的技术的实例视频解码器30的框图。图6是出于解释的目的提供且不限制如本公开中大致示范和描述的技术。出于解释的目的,本公开在hevc译码的上下文中描述视频解码器30。然而,本公开的技术可以适用于其它译码标准或方法。

在图6的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。在其它实例中,视频解码器30可包含更多、更少或不同功能组件。

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

视频数据存储器151接收和存储位流的经编码视频数据(例如,nal单元)。熵解码单元150可从视频数据存储器151接收经编码视频数据(例如,nal单元),且可解析nal单元以获得语法元素。熵解码单元150可对nal单元中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158和滤波器单元160可基于从位流提取的语法元素,产生经解码视频数据。熵解码单元150可执行与熵编码单元118的过程大体上互逆的过程。

根据本公开的一些实例,熵解码单元150可确定树结构作为从位流获得语法元素的部分。树结构可规定初始视频块例如ctb如何被分割成较小视频块,例如译码单元。根据本公开的一或多种技术,对于树结构的每一深度级处的树结构的每一相应非叶节点,存在针对相应非叶节点的多个允许的拆分模式,且根据多个可允许的拆分模式中的一个,将对应于相应非叶节点的视频块分割成对应于相应非叶节点的子级节点的视频块。

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

作为对cu的tu执行重构操作的部分,逆量化单元154可逆量化(即,解量化)与tu相关联的系数块。在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便产生与tu相关联的残余块。举例来说,逆变换处理单元156可以将逆dct、逆整数变换、逆卡忽南-拉维(karhunen-loeve)变换(klt)、逆旋转变换、逆定向变换或另一逆变换应用于变换系数块。

如果使用帧内预测对pu进行编码,那么帧内预测处理单元166可执行帧内预测以产生pu的预测性块。帧内预测处理单元166可使用帧内预测模式以基于样本空间相邻块产生pu的预测性块。帧内预测处理单元166可基于从位流获得的一或多个语法元素确定用于pu的帧内预测模式。

如果pu是使用帧间预测经编码,那么熵解码单元150可确定所述pu的运动信息。运动补偿单元164可基于pu的运动信息来确定一或多个参考块。运动补偿单元164可基于所述一或多个参考块产生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的译码块相关联的成块假影。视频解码器30可将cu的译码块存储在经解码图片缓冲器162中。经解码图片缓冲器162可以提供参考图片以用于后续运动补偿、帧内预测以及在显示装置(例如图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的块对其它cu的pu执行帧内预测或帧间预测操作。

视频解码器30和/或其一或多个组件可被配置成实施本公开的各种解码器侧技术,以减少或潜在地解决上文所论述的各个问题,例如由针对基于hevc四叉树的分割且不针对基于qtbt的分割的二叉树方面优化现有译码工具产生的潜在问题。

根据本公开的一些技术,视频解码器30可针对其中基于块拆分的分割结构应用于块的情境,定义相对于一或多个译码工具的块层级阈值。如本文中所使用,“译码工具”是特定译码方法、技术或可在特定块层级接通或断开的模式。作为各个例子处此类译码工具的说明性实例,本公开使用帧内预测、帧间预测、帧间跳过、变换用信号发送、增强型多变换(emt)、不可分二级变换(nsst)或位置相依性预测组合(pdpc),但应理解,视频解码器30也可以应用本公开的技术以也使用其它译码工具。

举例来说,当应用例如上方列出的译码工具中的一或多个的译码工具重构经编码视频数据时,视频解码器30可施加约束条件,例如块层级阈值,而不考虑译码工具应用于的块是根据hevc四叉树结构还是qtbt结构进行分割。视频解码器30可接收与应用于重构符合或超过预定块层级阈值的块的译码工具相关的一或多个语法元素。在一些实例中,所述阈值不同于视频解码器30应用预测和逆变换所处的块大小。

在本公开的技术的一些实施方案中,视频解码器30可使用取决于相应块的尺寸的块层级阈值。作为实例,可依据块面积大小或块的宽度和高度的某种组合中的一或多个表示块层级阈值。举例来说,视频解码器30可使用相对于emt译码工具的基于块面积的阈值256像素。也就是说,视频解码器30可应用基于emt的解码以重构覆盖至少256像素的面积的块,且视频解码器30在经编码视频位流中接收针对所述块的经启用emt旗标。

在此实例中,视频解码器30可接收emt旗标一或多个emt索引,使得emt旗标在块宽度基础上应用于符合或超过256面积阈值的块。也就是说,即使根据hevc四叉树结构或根据qtbt结构进一步分割256像素块,视频解码器30仍可确定emt旗标的值适用于256像素块的所有子块。举例来说,根据qtbt分割结构,二进制分割可仅在进一步分割256像素之后变得适用。也就是说,256像素块可具有正方形外观尺寸,而不考虑所述块是根据hevc四叉树分割还是根据qtbt分割结构被拆分。

图7是说明用于64×64ctu(其说明为ctu170)的本公开的实例译码工具相关旗标用信号发送技术的概念图。说明用于图7中的64×64ctu的本公开的基于emt旗标的技术的实例。根据图7中说明的实例,视频解码器30可仅接收用于具有大于或等于256的面积的每一块的emt旗标。使用粗短划线边界说明符合阈值大小256的块。应了解,粗实线边界呈现为沿着其中两个粗短划线边界重叠的边界。对于具有小于256的面积大小的每一子块(其用实线或虚线细边界识别),视频解码器30可能不接收emt旗标。替代地,视频解码器30可从包封或包含当前子块的最小粗线边界(符合阈值面积)块的emt旗标推断emt旗标值。在各种实例中,视频解码器30可使用其它块层级阈值面积,例如但不限于32、64、128、512、1024等。

在相对于译码工具的块层级定限技术的一些实例中,视频解码器30可使用基于除块大小尺寸以外的准则的块层级阈值。举例来说,块层级阈值可基于ctu、切片、瓦片、图片或图片群组(gop)基础中的一或多个。也就是说,块层级阈值可基于上述准则中的一或多个而变化。

替代地,在一些实施方案中,块层级阈值可基于ctu、切片、瓦片、图片或gop基础,分别使用先前经译码ctu、切片、瓦片、图片或gop的信息而变化。在其中块层级阈值基于先前经译码信息变化的一些情况下,举例来说,块层级可基于针对每一块大小执行预测和/或逆变换多少次的计数。在一些实例中,块层级阈值可设置为默认值。默认值的实例包含但不限于值64或256。在一些实例中,视频解码器30可接收基于包含块的切片的切片类型(例如切片是帧内切片、p切片还是b切片)形成的块层级阈值。虽然块层级阈值可为预定义固定值,但视频解码器30可针对不同译码配置或图像分量应用不同值。举例来说,视频解码器30可视某些因素(例如当前切片是帧内切片、p切片还是b切片,和/或当前块是明度分量还是色度分量)而针对块层级阈值应用不同值。

在一些实例中,视频解码器30可相对于阈值应用于的块在带外接收块层级阈值。举例来说,视频解码器30可在一或多个语法结构(例如切片标头、图片参数集(pps)、视频参数集(vps)或序列参数集(sps))中接收块层级阈值。在接收块层级阈值(例如,相对于适用经编码块是带内还是带外)后,视频解码器30可使用块层级阈值作为相对于经编码块应用相应译码工具的解码器侧方面的条件。

在上文关于应用emt的基于块面积的阈值所描述的实施方案中,视频解码器30可将接收的任何emt旗标应用于符合或超过用信号发送的块层级阈值面积的块。举例来说,如果(例如,在切片标头、vps、pps或sps中)接收的块层级阈值面积反映256像素的面积,那么视频解码器30可将接收的任何emt旗标应用于面积为至少256像素的块。

举例来说,视频解码器30可接收设置为启用状态(例如,设置为值1)的emt旗标。基于emt旗标的启用状态,视频解码器30可相对于覆盖至少256像素面积的块(被应用emt旗标)的解码,启动emt译码工具。也就是说,视频解码器30可相对于至少为256像素面积的块的所有子块,启动emt译码工具。继而,视频解码器30可接收相对于至少256像素面积的块的每一子块的个别emt索引。基于接收的每一emt索引值,视频解码器30可使用emt译码工具重构emt启动的块的每一子块。

以此方式,视频解码器30可实施本公开的块层级定限技术以应用现有译码工具,而不需要为适应qtbt分割的译码工具优化的任何改变。在cu层级根据hevc四叉树分割结构用信号发送基于译码工具的语法元素(例如emt旗标)。hevc兼容cu可变化大小,但不降至低于8×8维度。然而,qtbt分割结构允许8×8块进一步分割,有时达到拆分成高达四个子块的程度。如此,扩展用于qtbt分割结构的现有译码工具(例如,emt、pdpc等)的优化将致使旗标译码的四倍增加。如此,视频解码器30将需要接收并处理针对atbt分割的块的四个旗标,其中视频解码器30将需要接收并处理针对hevc四叉树分割的块的单个旗标。

如由针对emt旗标的基于块面积的定限的实例所说明,本公开的技术使得视频编码器22和视频解码器30能够继续相对于qtbt分割的块充分利用hevc优化的译码工具(例如emt),而无复杂性和带宽消耗的四倍增加。也就是说,本公开的基于块面积的定限技术使得视频编码器22和视频解码器30能够处理针对正方形256像素块的单个旗标,即使块是根据qtbt分割结构分割。以此方式,本公开的技术使得视频编码器22和视频解码器30能够使用现有hevc优化的译码工具,同时充分利用更为新近的qtbt块分割结构。也就是说,本公开的技术使得能够继续使用现有(hevc优化的)译码工具而无需针对qtbt分割结构的额外优化。

根据本公开的一些方面,视频解码器30可应用块层级阈值以确定仅应用帧内译码或仅应用帧间译码进行块重构的最低块层级。举例来说,视频解码器30可在基于大小的块层级阈值的基础上,确定仅应用帧内译码或帧间译码所在的最小块层级,或可接收仅应用帧内译码或帧间译码所在的最小块层级,其为在经编码视频位流中用信号显式地发送的值。举例来说,视频解码器30可确定在块层级阈值处或以下不允许帧内译码和帧间译码的混合。也就是说,在块重构期间,视频解码器30可仅将帧间译码或仅将帧内译码(而非两者的组合)应用于具有等于或小于阈值面积的面积的块的所有子块。换句话说,如果块是在面积阈值处或内,那么视频解码器30可将帧内译码应用于所有子块,或可应用帧间译码以重构经编码块的所有经编码子块,而不考虑用以从块形成子块的分割结构。虽然相对于块面积进行描述,但应了解,在一些实例中,块层级阈值可基于其它大小尺寸,例如块宽度和/或块高度。

在一些实例中,块层级阈值可根据ctu基础、切片基础、瓦片基础、图片基础或图片群组(gop)基础中的一或多个而变化。另外,在视频解码器30应用块层级阈值以允许或不允许帧内译码和帧间译码的任何混合的各种实例中,视频解码器30可相对于对应块例如在切片标头、图片参数集(pps)、视频参数集(vps)或序列参数集(sps)中在带外接收块层级阈值。

替代地,可基于在ctu基础、切片基础、瓦片基础、图片基础或gop基础中的一或多个,分别使用先前重构的ctu、切片、瓦片、图片或gop的经译码信息更新块层级阈值。举例来说,视频解码器30可基于针对每一块大小执行预测和/或逆变换多少次的计数,更新块层级阈值。在一些替代方案中,视频解码器30可将块层级阈值设置为默认值,例如64或256。在一些实例中,视频解码器30可视切片类型(例如切片是帧内切片、p切片还是b切片)而接收块层级阈值。

在用于帧内译码或帧间译码确定的块层级定限的一些实施方案中,块层级阈值更新可为任选的。举例来说,视频解码器30可接收“存在”旗标(其为现有旗标),以辨别有关块层级阈值的信息。举例来说,如果旗标设置为0值,那么视频解码器30可确定块层级阈值设置为默认阈值水平或默认值。在块层级阈值设置为默认值的情况下,视频解码器30可以任选地在较高结构层级(例如在pps、sps或vps中)接收块层级阈值。另一方面,如果存在旗标的值设置为值1,那么视频解码器30可确定直接用信号发送或将直接用信号发送块层级阈值。

如果视频解码器30不接收旗标,那么视频解码器30可推断旗标的值为0。也就是说,在其中不接收相对于块的旗标的情况下,视频解码器30可确定块层级阈值设置为默认值,且因而可使用默认值作为相对于将相关译码工具应用于块的阈值块层级。在一些情况下,视频解码器30可接收经调整值,使得用信号发送的值排除其中层级等于默认值的任何情况。在一些情况下,视频解码器30可接收经调整块层级阈值,使得用信号发送排除其中层级等于默认值的任何情况。

在一些实例中,视频解码器30可接收块层级阈值作为取决于包含经编码块的切片的切片类型(例如切片是帧内切片、p切片还是b切片)的值。虽然块层级阈值可为数个预定义固定值中的一个,但视频解码器30可针对不同译码配置或图像分量应用不同值。举例来说,视频解码器30可视某些因素(例如当前切片是帧内切片、p切片还是b切片,和/或当前经编码块是明度分量还是色度分量)而针对块层级阈值应用不同值。

在一些情况下,视频解码器30可实施在用于处于或低于块层级阈值的块的帧内译码和帧间译码之间的选择的一或多个例外。也就是说,在一些情境中(其形成仅帧内块或仅帧间块的块层级定限的例外),视频解码器30可使用帧内译码和帧间译码两者重构处于或低于块层级阈值的块的经编码子块。在一些此类情境中,如果视频解码器30被配置成形成对仅帧间或仅帧内选择的例外,那么视频解码器30可接收在块层级阈值处或内的块的用信号发送的旗标。视频解码器30可恢复旗标的值,以确定是否允许针对块的相应子块的帧内译码和帧间译码的混合。举例来说,如果旗标设置为值0,那么视频解码器30可确定在对应块的重构中不允许帧内译码和帧间译码的混合。另一方面,如果旗标设置为值1,那么视频解码器30可确定允许相对于对应块的子块的译码的帧间译码和帧内译码的混合。视频解码器30可接收和恢复以确定是否准许相对于块的帧内译码和帧间译码的混合的旗标可表示新旗标,其中所述旗标表示相对于现有视频译码标准(例如h.264和/或hevc)中规定的语法元素的额外语法元素。

在一些实例中,视频解码器30可实施针对一或多个译码工具的优化的块层级约束条件,但在其中符合阈值或超过阈值的块包含经帧内译码子块和经帧间译码子块的混合的情况下,可移除所述约束条件。举例来说,根据hevc,一些译码工具(例如pdpc和nsst)仅针对帧内译码经优化。emt是针对帧间译码和帧内译码两者经优化,并且因此,可实施为emt帧间和/或emt帧内。根据hevc,一些译码工具仅针对帧间译码经优化。如此,在块包含经帧内译码子块和经帧间译码子块两者的情况下移除针对译码优化的块层级约束条件适用于任何此类译码工具。

举例来说,因为emt译码工具针对指定块实施为emt帧内或emt帧间,因此块层级阈值可在其中块包含经帧内译码子块和经帧间译码子块两者的情况下,阻碍emt译码工具的使用,这是因为emt译码工具应用为emt帧内或应用为emt帧间。类似地,块层级约束条件可在其中块包含经帧内译码子块和经帧间译码子块两者的情况下,阻碍pdpc工具或nsst工具的使用,这是因为pdpc工具和nsst工具中的每一个是针对经帧内译码块经优化。以此方式,视频解码器30可实施针对应用译码工具以适应qtbt分割结构的块层级约束条件,但可在块包含经帧间译码子块和经帧内译码子块的混合的情况下移除所述约束条件,以充分利用译码工具的仅帧内优化或仅帧间优化。

根据本公开的一些技术,视频解码器30可接收用于一或多个译码工具的信息,其中信息的用信号发送取决于块层级阈值。在一个实施方案中,视频解码器30可接收视频解码器30应用或可用的所有译码工具的信息,其中所有此类译码工具的信息的用信号发送取决于单个块层级阈值。举例来说,视频解码器30可接收仅用于至少在阈值块层级处的块的单个emt旗标,或单个pdpc旗标,或单个nsst旗标。也就是说,在此实施方案中,块层级阈值具有静态值,而不考虑视视频解码器30使用哪个译码工具来重构经编码块。

在用于译码工具用信号发送的块层级定限的另一实施方案中,块层级阈值可在逐个译码工具基础上变化。举例来说,视频解码器30可接收仅用于符合第一阈值水平的块的emt旗标,仅用于符合第二阈值水平的块的pdpc旗标,以及仅用于符合第三阈值水平的块的nsst旗标。

根据本公开的一些实例,视频解码器30可在任何给定时间,针对用于重构单个经编码块的单个译码工具应用唯一性块层级阈值。举例来说,符合或超过块层级阈值(所述阈值表示可执行语法用信号发送所在的最小块层级)的块可构成图片帧且无重叠。举例来说,根据此实施方案,如果分割将导致小于块层级阈值的至少一个子块,那么视频解码器30可能不进一步分割任何块。也就是说,视频解码器30可能不在具有阈值水平大小的多于一个块中包含更小子块。

在一些情境中,视频解码器30可在经编码视频位流中接收所谓的“虚拟块”。更具体地说,相对于虚拟块,视频解码器30可仅接收形成块的经编码数据子集。举例来说,对于虚拟块,视频解码器30可接收相对于块的经编码视频数据的某些语法元素的分组。与虚拟块相比,“实际块”表示视频解码器30接收经编码信息完整集合所用于的经编码视频数据块。

根据本公开的一些技术,如果虚拟块够资格作为实际块(也就是说,虚拟块和对应的实际块是相同的单个块),那么视频解码器30可接收惯常相对于虚拟块执行的信息的经推迟用信号发送。也就是说,视频解码器30可替代地接收相对于实际块的虚拟块信息。

通过替代地在某些情境中接收相对于实际块的虚拟块信息,视频解码器30可减少强加于视频编码器22的位率要求并且在某些情况下减少互连数据输送基础设施。举例来说,在其中语法用信号发送仅针对某些预测模式进行的情况下,如果不进一步拆分实际块,且实际块的大小至少等于阈值大小,那么实际块可表示最终块。如此,随后(例如,视频编码器22处)可执行惯常作为虚拟块的部分用信号发送的语法元素的用信号发送,且视频解码器30可接收仅相对于实际块的这些语法元素。

视频解码器30随后可接收相对于实际块的虚拟块信息,使得用信号发送的信息取决于所得子块(区别于彼此)的组合是否在虚拟块的大小处是可能的。举例来说,视频解码器30可接收或不接收相对于实际块的信息,使得在基于使用帧内预测模式和帧间预测模式正被编码而区分子块的情况下,所述用信号发送取决于切片类型。在经编码块包含在i切片中的情况下,帧间预测并非用于经编码块的重构的选项。如此,在块包含在i切片中的情况下,视频编码器22可确定不需要条件性用信号发送。

在本文中相对于pdpc译码工具描述本公开的条件性用信号发送技术的实例。在一些情况下,视频解码器30可基于未接收到边界处的用信号显式地发送的拆分旗标,推断图片边界处的拆分旗标。在此类情况下,视频解码器30可推断所述块正在图片边界处被拆分。也就是说,视频解码器30可被配置成基于块跨越图片边界,推断图片边界处的块拆分。

在接收到被设置为用于经编码块的启用状态的pdpc旗标后,视频解码器30可推断将使用pdpc译码工具重构阈值大小的块的每个和所有子块(不考虑用以获得子块的分割方案)。也就是说,视频解码器30可推断较小子块的pdpc旗标值等于接收的用于处于或超过阈值水平的较大块的单个pdpc旗标值。在一个实例中,视频解码器30可将等于64样本的阈值水平用于待使用pdpc译码工具编码和解码的明度分量块。

如上文所描述,pdpc是针对帧内预测模式经优化的译码工具。因此,视频解码器30可能不针对任何经帧间预测编码块或子块的重构应用pdpc译码工具。在其中视频编码器22不实施条件性用信号发送的情况下,视频解码器30可接收用于等于或大于阈值大小的经编码块的pdpc信息,前提是所述经编码块不进一步拆分且因此不包含任何经帧间译码子块。再次,在块包含经帧间译码子块的情况下,可能不需要pdpc信息,且因此,子块层级pdpc信息的用信号发送可归因于用信号发送不必要位而致使位率浪费。以此方式,通过减少其中需要用信号显式地发送pdpc信息的情况,视频解码器30可减少针对pdpc译码工具应用的位率要求。

视频解码器30也可以将本公开的基于条件性用信号发送的重构技术扩展到恢复使用多于一个旗标确定预测参数的pdpc的版本的情况。一个此类实例是使用四个参数集、每块形状和每预测模式的pdpc版本。视频解码器30可在块大小上实施不同阈值以定义待编码和恢复或替代地继承和恢复的旗标的数目。以此方式,视频解码器30可在较高树层级处利用较大数目个pdpc参数选项,其中旗标恢复开销可相对小。另一方面,视频解码器30可在较低树层级使用较小数目个pdpc参数选项(可能少到单个选项),其中每旗标层级处的相对旗标恢复开销较大。

在一些实例中,作为用于如上文所描述的译码工具的块层级定限的替代方案,视频解码器30可替代地实施不对应于块分解过程中的实际块的块层级阈值。在这些实例中,如果拆分块产生低于块层级阈值的两个子块(bt分割)或四个子块(qt分割)的子块,那么视频解码器30可接收所得子块大小的译码工具相关语法元素。此类基于子块的块层级阈值的实例是392,或不为2的幂的任何阈值大小。在一些情况下,视频解码器30可使用并非浮点值的基于子块的块层级阈值。

根据本公开的一些实例,视频解码器30可在其中视频解码器30能够检测到块大小与块层级阈值相同或低于块层级阈值的第一个例处,接收译码工具相关语法元素(例如,emt旗标)。一旦用信号发送针对块的译码工具相关语法元素,视频解码器30便可能不接收针对由块的进一步拆分产生的任何子块的对应译码工具相关语法元素。也就是说,根据这些实例,在所得块处于或低于预定块层级阈值所在的分割接合点上,视频解码器30可接收相对于块的第一子块的译码工具相关语法元素(例如,emt旗标)。

图8是说明视频解码器30和/或其各种组件可执行以实施本公开的一或多种技术的实例过程180的流程图。过程180可当视频解码器30确定经编码视频数据的块层级阈值时开始(182)。视频解码器30可确定存储到视频解码器30的一或多个存储媒体或视频解码器30可以其它方式存取的经编码视频数据的一部分的块层级阈值。

继而,视频解码器30可确定经编码视频数据的经编码块具有等于或大于块层级阈值的大小(184)。在各种实例中,用各个基于大小的术语(例如块面积)表示块层级阈值。因此,视频解码器30可确定块的面积等于或大于由块层级阈值表示的面积。视频解码器30可接收一语法元素,所述语法元素指示将使用译码工具重构符合阈值的经编码块的一部分(186)。语法元素的实例是emt旗标,其指示将使用emt译码工具重构经编码块的至少一部分。

基于经编码块具有等于或大于块层级阈值的大小,视频解码器30可确定所接收的语法元素适用于经编码块的所有样本(188)。也就是说,基于经编码块至少具有阈值大小,视频解码器30可确定所接收的语法元素适用于整个经编码块。继而,视频解码器30可使用译码工具重构经编码块(190)。

在一些实例中,块层级阈值表示最小面积,且视频解码器30可确定根据基于四叉树的分割方案或基于四叉树加二叉树的分割方案将经编码块分割成多个子块。在一些实例中,基于经编码块具有等于或大于最小面积的大小,视频解码器30可确定所接收的语法元素适用于经编码块的每一子块。

在一些实例中,所接收的语法元素包括增强型多变换(emt)旗标,且视频解码器30可确定emt旗标设置为启用状态。基于emt旗标设置为启用状态,视频解码器30可解码经编码块的每一相应子块的相应emt索引并且使用emt译码工具重构经编码块。

在一些实例中,可根据基于四叉树的分割方案或基于四叉树加二叉树的分割方案中的一个,将经编码块分割成多个子块,所述块层级阈值可表示最大子块面积,且译码工具可包含帧内译码或帧间译码中的至少一个。视频解码器30可基于一或多个子块中的任一个小于最大子块面积,确定将使用帧内译码或帧内译码中的仅一个重构子块。在一些实例中,视频解码器30可将块层级阈值应用于包含接收的语法元素所用于的译码工具的多个译码工具中的每一相应译码工具。所述多个译码工具可包含增强型多变换(emt)译码工具、位置相依性预测组合(pdpc)译码工具、不可分二级变换(nsst)译码工具、帧内预测工具或帧间预测工具中的两个或更多个。在各种实例中,帧内预测工具可以被称作帧内译码工具,或帧内预测译码工具。在各种实例中,帧间预测工具可以被称作帧间译码工具,或帧间预测译码工具。

在一些实例中,块层级阈值包含在多个块层级阈值中,且视频解码器30可将多个块层级阈值中的相应块层级阈值应用于包含接收的语法元素所用于的译码工具的多个译码工具中的每一相应译码工具。

图9是说明视频编码器22和/或其各种组件可执行以实施本公开的一或多种技术的实例过程210的流程图。过程210可当视频编码器22确定视频数据的块层级阈值时开始(212)。举例来说,视频编码器22可确定存储到视频编码器22的一或多个存储媒体或视频编码器22可以其它方式存取的视频数据的一部分的块层级阈值。

继而,视频编码器22可确定视频数据的块具有等于或大于块层级阈值的大小(214)。在各种实例中,用各个基于大小的术语(例如块面积)表示块层级阈值。因此,视频编码器22可确定块的面积等于或大于由块层级阈值表示的面积。

视频编码器22可使用译码工具编码块(218)。此类译码工具的实例包含emt译码工具、pdpc译码工具、nsst译码工具、帧间译码或帧内译码。基于块具有等于或大于块层级阈值的大小,视频编码器22可编码一语法元素,所述语法元素指示将使用译码工具重构符合阈值的经编码块的所有样本以形成经编码块(220)。也就是说,基于经编码块至少具有阈值大小,视频编码器22可编码语法元素,使得语法元素适用于整个经编码块。在一个此类实例中,视频编码器22可编码用于整个经编码块的处于启用状态中的emt旗标。

在一些实例中,块层级阈值表示最小子块面积,且视频编码器22可根据基于四叉树的分割方案或基于四叉树加二叉树的分割方案中的一个将经编码块分割成多个子块。在一些实例中,视频编码器22可基于经编码块具有等于或大于最小子块面积的大小,确定经编码语法元素适用于经编码块的每一子块。在一些实例中,经编码语法元素包括增强型多变换(emt)旗标,且视频编码器22可将emt旗标设置为启用状态。在这些实例中的一些中,视频编码器22可编码经编码块的每一相应子块的相应emt索引。

在一些实例中,根据基于四叉树的分割方案或基于四叉树加二叉树的分割方案中的一个,将经编码块分割成多个子块,所述块层级阈值表示最大子块面积,且译码工具是帧内译码或帧间译码中的至少一个。在这些实例中,视频编码器22可基于一或多个子块中的任一相应子块小于最大子块面积,使用帧内译码或帧内译码中的仅一个编码相应子块。在一些实例中,视频编码器22可将块层级阈值应用于包含接收的语法元素所用于的译码工具的多个译码工具中的每一相应译码工具。

在一些实例中,所述多个译码工具包含增强型多变换(emt)译码工具、位置相依性预测组合(pdpc)译码工具、不可分二级变换(nsst)译码工具、可以被称作帧内译码工具或帧内预测工具的帧内帧内预测工具、或帧间预测工具中的两个或更多个。在一些实例中,块层级阈值包含在多个块层级阈值中,且视频编码器22可将多个块层级阈值中的相应块层级阈值应用于包含经编码语法元素所针对的译码工具的多个译码工具中的每一相应译码工具。

在一些实例中,经编码块包括存储到存储媒体的经编码视频数据的部分的实际块,且视频编码器22可确定对应于符合块层级阈值的实际块的虚拟块。在这些实例中,视频编码器22可基于符合块层级阈值的虚拟块,用信号发送相对于实际块的经编码语法元素,而非用信号发送相对于对应于实际块的虚拟块的经编码语法元素。

在一些实例中,视频编码器22可在经编码视频位流的图片参数集(pps)、序列参数集(sps)或视频参数集(vps)中的一个中用信号发送经编码语法元素。在一些实例中,视频编码器22可基于经编码块的面积、经编码块的宽度或经编码块的高度中的一或多个,确定块层级阈值。在一些实例中,视频编码器22可至少部分地通过执行相对于译码工具和块的一部分的位率优化,确定是否在编码块时应用译码工具。在一些实例中,视频编码器22可避免用信号发送指示用以重构经编码块的个别样本的译码工具的语法元素。

已出于说明的目的相对于hevc标准、hevc标准的扩展或相对于正在开发中的下一代视频译码标准描述本公开的某些方面。然而,本公开中描述的技术可适用于其它视频译码过程,包括尚未开发的其它标准或专有视频译码过程。

如本公开中所描述,视频译码器可以指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,在适用时,视频译码可指视频编码或视频解码。

应认识到,取决于实例,本文中所描述的技术中的任一种的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。

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

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

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

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

已描述了各种实例。这些和其它实例在所附权利要求书的范围内。

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