CN111903129A - 用于视频编码中的变换的多类型树框架 - Google Patents

用于视频编码中的变换的多类型树框架 Download PDF

Info

Publication number
CN111903129A
CN111903129A CN201980022133.XA CN201980022133A CN111903129A CN 111903129 A CN111903129 A CN 111903129A CN 201980022133 A CN201980022133 A CN 201980022133A CN 111903129 A CN111903129 A CN 111903129A
Authority
CN
China
Prior art keywords
video
tree
block
transform
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980022133.XA
Other languages
English (en)
Inventor
M.卡泽维茨
V.塞雷金
N.胡
W-J.钱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN111903129A publication Critical patent/CN111903129A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

实施例包括用于解码视频数据的方法和装置,包括接收形成视频数据的编码图片的表示的编码的视频比特流,并确定将视频数据的编码图片分割为多个编码单元。该分割可以根据第一树结构,并且该多个编码单元包括第一树结构的叶节点。该方法还包括确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元。

Description

用于视频编码中的变换的多类型树框架
相关申请的交叉引用
本专利申请要求享有2018年4月2日提交的No.62/651,689临时申请和2019年4月1日提交的No.16/372,249非临时申请的优先权,其被转让给本申请的受让人,并在此通过引用明确地并入本申请。
技术领域
本公开涉及视频编码和视频解码。
背景技术
数字视频功能可被并入广泛的设备,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、笔记本电脑或台式电脑、平板电脑、电子书阅读器、数字相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电话、所谓的“智能手机”、视频电视会议设备、视频流媒体设备等。数字视频设备实施视频编码技术,诸如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4部分10、高级视频编码(AVC)、高效视频编码(HEVC)标准定义的标准以及这些标准的扩展中描述的那些技术。通过实施这样的视频编码技术,视频设备可以更有效地传输、接收、编码、解码和/或存储数字视频信息。
视频编码技术包括空间(图片内)预测和/或时间(图片间)预测,以减少或移除视频序列中固有的冗余。对于基于块的视频编码,视频切片(例如,视频图片/帧或视频图片的部分)可以被分割为视频块,其也可被称为树块、编码单元(coding unit,CU)和/或编码节点。图片可以被称为帧。参考图片可以被称为参考帧。
空间或时间预测得到待编码块的预测性块(predictive block)。残差数据表示原始待编码块与预测性块之间的像素差值。为了进一步压缩,残差数据可以从像素域变换到变换域,得到残差变换系数,其然后可以被量化。可以应用熵编码来实现甚至更多的压缩。
发明内容
本公开描述了使用基于多树的框架分割视频数据块的技术,包括递归地将变换块或单元划分为树结构,该树结构可以不同于相应编码单元的树结构。
一个实施例包括用于解码视频数据的方法。该方法包括接收编码的视频比特流,该编码的视频比特流形成视频数据的编码图片的表示。该方法还包括确定将视频数据的编码图片分割为多个编码单元。该分割是根据第一树结构进行的。多个编码单元包括第一树结构的叶节点。该方法还包括确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元。该方法还包括基于确定的第一树结构和第二树结构重构编码图片。
另一实施例包括用于编码视频数据的方法。该方法包括获得用于编码成编码的视频比特流的图片,并确定将视频数据的图片分割为多个编码单员。该分割根据第一树结构,并且该多个编码单元包括第一树结构的叶节点。该方法还包括确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元。该方法还包括基于确定的第一树结构和第二树结构,将图片编码为编码的视频比特流。
另一实施例包括用于解码视频数据的装置。该装置包括被配置为存储视频数据的编码图片的存储器。该装置还包括被配置为接收形成视频数据的编码图片的表示的编码的视频比特流并确定将视频数据的编码图片分割为多个编码单元的视频处理器。该分割是根据第一树结构进行的。该多个编码单元包括第一树结构的叶节点。该处理器还被配置为确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元,以及基于确定的第一树结构和第二树结构重构编码图片。
另一实施例包括用于编码视频数据的装置。该装置包括被配置为存储视频数据的编码图片的存储器。该装置还包括被配置为获得用于编码成编码的视频比特流的图片,并确定将视频数据的图片分割为多个编码单元。该分割是根据第一树结构进行的,并且该多个编码单元包括第一树结构的叶节点。该处理器还被配置为还确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元。该处理器还被配置为基于确定的第一树结构和第二树结构,将图片编码为编码的视频比特流。
另一实施例包括用于解码视频数据的装置。该装置包括用于存储视频数据的编码图片的部件。该装置还包括获得形成视频数据的编码图片的表示的编码视频比特流的部件,和确定将视频数据的编码图片分割为多个编码单元的部件。该分割是根据第一树结构进行的。该多个编码单元包括第一树结构的叶节点。该装置还包括用于确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元的部件,和基于确定的第一树结构和第二树结构重构编码图片的部件。
另一实施例包括用于编码视频数据的装置。该装置包括用于存储视频数据的编码图片的部件。该装置还包括获得用于编码成编码的视频比特流的图片的部件,和确定将视频数据的图片分割为多个编码单元的部件。该分割是根据第一树结构进行的,并且该多个编码单元包括第一树结构的叶节点。该装置还包括用于确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元的部件。该装置还包括基于确定的第一树结构和第二树结构,将图片编码为编码的视频比特流的部件。
一个或多个示例的细节在附图和下面的描述中阐述。其他特征、对象和优点将从描述、附图和权利要求中显而易见。
附图说明
图1是示出配置为实现本公开的技术的示例视频编码和解码系统的框图。
图2是示出高效视频编码(HEVC)中的编码单元(coding unit,CU)结构的概念图。
图3是示出用于帧间预测模式的示例分割类型的概念图。
图4A是示出使用四叉树二叉树(QTBT)结构的块分割的示例树结构的概念图。
图4B是示出与使用图4A的QTBT结构的块分割相对应的示例树结构的概念图。
图5A是示出示例水平三叉树分割类型的概念图。
图5B是示出示例水平三叉树分割类型的概念图。
图5C是示出示例非对称二叉树分割类型的概念图。
图6A是示出四叉树分割的概念图。
图6B是示出垂直二叉树分割的概念图。
图6C是示出水平二叉树分割的概念图。
图6D是示出垂直中心-侧(center-side)树分割的概念图。
图6E是示出水平中心-侧树分割的概念图。
图7是示出根据本公开的技术的编码树单元(coding tree unit,CTU)分割的示例的概念图。
图8是示出视频编码器的示例的框图。
图9是示出视频解码器的示例的框图。
图10A是示出根据本公开的技术的视频编码器的示例操作的流程图。
图10B是示出根据本公开的技术的视频解码器的示例操作的流程图。
图11是示出根据本公开的另一示例技术的视频编码器的示例操作的流程图。
图12是示出根据本公开的另一示例技术的视频解码器的示例操作的流程图。
具体实施方式
本公开涉及基于块的视频编码中视频数据块(例如,编码单元)的分割和/或组织。本公开的技术可应用于视频编码标准中。在下面描述的各种示例中,本公开的技术包括使用三个或更多个不同的分割结构分割视频数据块。在一些示例中,可以在编码树结构的每个深度处使用三个或更多个不同的分割结构。这样的分割技术可以被称为多类型树(multi-type-tree,MTT)分割。通过使用MTT分割,可以更灵活地分割视频数据,因此允许更高的编码效率。
图1是示出示例视频编码和解码系统10的框图,该系统10可以利用本公开的技术以分割视频数据块、信令通知和解析分割类型,以及应用变换和进一步变换分割。如图1所示,系统10包括源设备12,该源设备12提供编码视频数据以在稍后时间由目的设备14解码。特别地,源设备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可以与外部显示设备接口连接,而不是包括集成的显示设备。
图1所示的系统10只是一个示例。处理视频数据的技术可以由任何数字视频编码和/或解码设备或装置执行。虽然通常本公开的技术由视频编码设备和视频解码设备执行,但这些技术也可以由组合的视频编码/解码器执行,通常称为“编解码器(CODEC)”。源设备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输出到存储设备。类似地,编码的数据可通过输入接口26从存储设备访问。存储设备可以包括各种分布式或本地访问的数据存储介质(诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器或用于存储编码的视频数据的任何其他合适的数字存储介质)中的任何一种。在进一步示例中,存储设备可以对应于文件服务器或另一个中间存储设备,其可以存储由源设备12生成的编码视频。目的设备14可以经由流或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储编码的视频数据并将该编码的视频数据传输到目的设备14的任何类型的服务器。示例文件服务器包括网络服务器(例如,用于网站)、FTP服务器、网络附接存储(network attached storage,NAS)设备或本地磁盘驱动器。目的设备14可以通过任何标准数据连接(包括互联网连接)访问编码的视频数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或两者的组合,其适合于访问存储在文件服务器上的编码的视频数据。从存储设备传输编码的视频数据可以是流传输、下载传输或它们的组合。
本公开的技术可应用于视频编码,以支持各种多媒体应用中的任何一种,诸如空中电视广播、有线电视传输、卫星电视传输、互联网流视频传输(诸如通过HTTP的动态自适应流(dynamic adaptive streaming,DASH))、编码到数据存储介质上的数字视频、存储在数据存储介质上的数字视频的解码或其他应用。在一些示例中,系统10可以被配置为支持单向或双向视频传输,以支持诸如视频流、视频回放、视频广播和/或视频电话的应用。
计算机可读介质16可以包括暂态介质,诸如无线广播或有线网络传输,或存储介质(也就是说,非暂态存储介质),诸如硬盘、闪存驱动器、光盘、数字视频光盘、蓝光光盘或其他计算机可读介质。在一些示例中,网络服务器(未示出)可以从源设备12接收编码的视频数据,并提供编码的视频数据给目的设备14,例如,经由网络传输。类似地,介质生产设施(诸如光盘冲压设施)的计算设备可以从源设备12接收编码的视频数据并生产包含该编码的视频数据的光盘。因此,在各种示例中,计算机可读介质16可以理解为包括各种形式的一个或多个计算机可读介质。
目的设备14的输入接口26从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器22定义的语法信息,该语法信息也被视频解码器30使用,该信息包括描述块和其他编码单元(例如,图片组(GOP))的特性和/或处理的语法元素。存储介质28可以存储由输入接口26接收的编码的视频数据。显示设备32将解码的视频数据显示给用户。显示设备32可以包括各种显示设备中的任何一种,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其他类型的显示设备。
视频编码器22和视频解码器30各自可以被实施为各种合适的编码器或解码器电路中的任何一种,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、固件或它们的任意组合。当技术部分地以软件实施时,设备可以将软件的指令存储在合适的、非暂态计算机可读介质中,并且可以使用一个或多个处理器在硬件中运行指令以执行本公开的技术。视频编码器22和视频解码器30中的每一个都可以包含在一个或多个编码器或解码器中,其中任何一个都可以作为组合编码器/解码器(CODEC)的部分集成在相应的设备中。视频编码器22和视频解码器30可以包括ALU、EFU、数字电路、模拟电路和/或由可编程电路形成的可编程核。在视频编码器22和/或视频解码器30的操作由在可编程电路上运行的软件执行的示例中,片上或片外存储器可以存储视频编码器22或视频解码器30接收和运行的软件的指令(例如,对象代码)。
在一些示例中,视频编码器22和视频解码器30可以根据视频编码标准(诸如ITU-TH.265,也称为高效视频编码(High Efficiency Video Coding,HEVC))或其扩展(诸如多视图和/或可扩展视频编码扩展)来操作。可替换地,视频编码器22和视频解码器30可以根据其他专有标准或行业标准(诸如联合勘探测试模型(Joint Exploration Test Model,JEM)或ITU-T H.266,也称为多功能视频编码(Versatile Video Coding,VVC))来操作。VVC标准的最近的草案在Bross等,“通用视频编码(草案3),”ITU-T SG 16WP 3和ISO/IEC JTC 1/SC29/WG 11的联合专家小组(Joint Video Experts Team,JVET),第十二次会议:中国澳门,2018年10月3日至12日,JVET-L1001-v9(以下简称“VVC草案3”)中描述。然而,本公开的技术不限于任何特定的编码标准。相反,为了说明的目的,相对于上述示例描述了示例。
在HEVC和其他视频编码规范中,视频序列通常包括一系列图片。图片也可以被称为“帧”。图片可以包括三个样点阵列,记为SL、SCb和SCr。SL是亮度样点的二维阵列(即,块)。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。色度样点也可以在此称为“色度(chroma)”样点。在其它情况下,图片可以是单色的,并且可以只包括亮度样点的阵列。
此外,在HEVC和其他视频编码规范中,为了生成图片的编码表示,视频编码器22可以生成编码树单元(CTU)集。CTU中的每一个可以包括亮度样点的编码树块、色度样点的两个相应的编码树块,以及用于对编码树块的样点进行编码的语法结构。在单色图片或具有三个单独颜色层(color plane)的图片中,CTU可以包括单个编码树块和用于对编码树块的样点进行编码的语法结构。编码树块可以是NxN样点块。CTU也可以被称为“树块”或“最大编码单元”(largest coding unit,LCU)。HEVC的CTU可以大致类似于其他标准的宏块,诸如H.264/AVC。然而,CTU不一定局限于特定的尺寸,并且可以包括一个或多个编码单元(CU)。切片可以包括按光栅扫描顺序连续排列的整数数量的CTU。
如果根据HEVC操作,为了生成编码的CTU,视频编码器22可以递归地对CTU的编码树块进行四叉树分割,以将编码树块切分(divide)为编码块,因此命名“编码树单元”。编码块是NxN样点块。CU可以包括具有亮度样点阵列、Cb样点阵列和Cr样点阵列的图片的亮度样点编码块和两个相应的色度样点编码块,以及用于对编码块的样点进行编码的语法结构。在单色图片或具有三个独立颜色层的图片中,CU可以包括单个编码块和用于对编码块的样点进行编码的语法结构。
比特流内的语法数据还可以定义CTU的尺寸。切片包括按编码顺序的若干连续CTU。视频帧或图片可以被分割为一个或多个切片。如上所述,每个树块可以根据四叉树划分为编码单元(CU)。一般来说,四叉树数据结构每个CU包括一个节点,其中根节点对应于树块。如果将CU划分为四个子CU,则对应于该CU的节点包括四个叶节点,叶节点中的每一个对应于子CU中的一个。
四叉树数据结构的每个节点可以提供相应CU的语法数据。例如,四叉树中的节点可以包括划分标志,指示对应于该节点的CU是否被划分为子CU。可以递归地定义CU的语法元素,并且可以取决于CU是否被划分为子CU。如果CU没有被进一步划分,则将其称为叶CU。如果CU块被进一步划分,则可一般将其称为非叶CU。在本公开的一些示例中,即使没有明确划分原叶CU,也可以将叶CU的四个子CU称为叶CU。例如,如果尺寸为16x16的CU没有被进一步划分,则尽管16x16的CU从未被划分,但四个8x8子CU也可以被称为叶CU。
CU具有与H.264标准的宏块类似的目的,只是CU没有尺寸区别。例如,树块可以被划分为四个子节点(也称为子CU),每个子节点又可以是一个父节点,并被划分为另外四个子节点。最后未划分的子节点,称为四叉树的叶节点,包括编码节点,也称为叶CU。与编码比特流相关联的语法数据可以定义树块可以被划分的最大次数,称为最大CU深度,并且还可以定义编码节点的最小尺寸。因此,比特流还可以定义最小编码单元(smallest codingunit,SCU)。本公开使用术语“块”来指HEVC背景中的CU、PU或TU中的任何一个,或其他标准背景中的类似数据结构(例如,H.264/AVC中的宏块及其子块)。
CU包括编码节点以及与编码节点相关联的预测单元(prediction unit,PU)和变换单元(transform unit,TU)。CU的尺寸对应于编码节点的尺寸,并且在一些示例中可以是正方形的。在HEVC的示例中,CU的尺寸可以从8x8像素至最大64x64像素或更大的树块的尺寸。每个CU可以包含一个或多个PU和一个或多个TU。与CU相关联的语法数据可以描述例如将CU分割为一个或多个PU。无论CU是跳过模式还是直接模式编码、帧内预测模式编码或帧间预测模式编码,分割模式可以有所不同。PU可以被分割为非正方形的形状。与CU相关联的语法数据还可以描述,例如,根据四叉树将CU分割为一个或多个TU。TU的形状可以是正方形或非正方形(例如,矩形)。
HEVC标准允许根据TU进行变换。对于不同的CU,TU可以是不同的。TU的尺寸通常基于为分割的LCU定义的给定CU内PU的尺寸,尽管情况并非总是如此。TU通常与PU的尺寸相同或比PU的尺寸更小。在一些示例中,对应于CU的残差样点可以使用四叉树结构被再分到更小的单元中,有时称为“残差四叉树”(residual quad tree,RQT)。RQT的叶节点可称为TU。与TU相关联的像素差值可被变换以产生变换系数,该变换系数可以被量化。
叶CU可包括一个或多个PU。一般而言,PU代表对应于相应CU的全部或部分的空间区域,并且可以包括用于检索PU的参考样点的数据。此外,PU包括与预测有关的数据。例如,当PU是帧内模式编码时,PU的数据可以包括在RQT中,该RQT可以包括描述对应于PU的TU的帧内预测模式的数据。作为另一个示例,当PU是帧间模式编码时,PU可以包括定义PU的一个或多个运动矢量的数据。定义PU的运动矢量的数据可以描述,例如,运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动矢量指向的参考图片,和/或运动矢量的参考图片列表(例如,表0、表1或表C)。
具有一个或多个PU的叶CU还可包括一个或多个TU。如上所述,可以使用RQT(也称为TU四叉树结构)指定TU。例如,划分标志可以指示叶CU是否被划分为四个变换单元。在一些示例中,每个变换单元可被进一步划分为进一步的子TU。当TU没有被进一步划分时,它可以被称为叶TU。一般来说,对于帧内编码,属于叶CU的所有叶TU都包含从相同帧内预测模式产生的残差数据。也就是说,一般应用相同的帧内预测模式来计算将在叶CU的所有TU中变换的预测值。对于帧内编码,视频编码器22可以使用帧内预测模式计算每个叶TU的残差值,作为对应于TU的CU的部分和原始块之间的差值。TU不一定限于PU的尺寸。因此,TU可以比PU更大或更小。对于帧内编码,PU可以与相同CU的相应叶TU并置。在一些示例中,叶TU的最大尺寸可以对应于相应叶CU的尺寸。
此外,叶CU的TU还可以与相应的RQT结构相关联。也就是说,叶CU可以包括指示叶CU如何被分割为TU的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于树块(或LCU)。
如上所述,视频编码器22可以将CU的编码块分割为一个或多个预测块(prediction block)。预测块是矩形(即,方形或非方形)样点块,对其应用相同的预测。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生成Cr残差块。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系数块。
在一些示例中,视频编码器22跳过对变换块的变换应用。在这样的示例中,视频编码器22可以以与变换系数相同的方式对待残差样点值。因此,在视频编码器22跳过变换的应用的示例中,以下关于变换系数和系数块的讨论可以适用于残差样点的变换块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器22可对系数块进行量化,以可能地减少用于表示系数块的数据量,可能提供进一步的压缩。量化一般指的是将一系列值压缩为单一值的过程。例如,量化可以通过将值除以常数,然后舍入到最接近的整数来完成。为了量化系数块,视频编码器22可以量化系数块的变换系数。在视频编码器22量化系数块之后,视频编码器22可以对指示量化的变换系数的语法元素进行熵编码。例如,视频编码器22可以对指示量化的变换系数的语法元素执行上下文自适应二进制算术编码(Context-Adaptive Binary Arithmetic Coding,CABAC)或其他熵编码技术。
视频编码器22可以输出比特流,该比特流包括形成编码图片和相关数据的表示的比特序列。因此,比特流包括视频数据的编码表示。比特流可以包括网络抽象层(networkabstraction layer,NAL)单元的序列。NAL单元是包含NAL单元中的数据的类型的指示、以及以必要时穿插仿真预防比特的原始字节序列有效载荷(raw byte sequence payload,RBSP)的形式包含该数据的字节的语法结构。NAL单元中的每一个可以包括NAL单元头,并且可以封装RBSP。NAL单元头可以包括指示NAL单元类型码的语法元素。由NAL单元的NAL单元头指定的NAL单元类型码指示NAL单元的类型。RBSP可以是包含封装在NAL单元内的整数数量字节的语法结构。在一些情况下,RBSP包括零比特。
视频解码器30可以接收由视频编码器22生成的比特流。视频解码器30可以对比特流进行解码以重构视频数据的图片。作为解码比特流的部分,视频解码器30可以解析比特流以从比特流中获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重构视频数据的图片。重构视频数据的过程一般可以与由视频编码器22执行的过程相逆。例如,视频解码器30可以使用PU的运动矢量来确定当前CU的PU的预测性块。此外,视频解码器30可以逆量化当前CU的TU的系数块。视频解码器30可以对系数块进行逆变换,以重构当前CU的TU的变换块。视频解码器30可以通过将当前CU的PU的预测性块的样点加到当前CU的TU的变换块的相应样点中来重构当前CU的编码块。通过重构图片的每个CU的编码块,视频解码器30可以重构图片。
下面介绍HEVC的常见概念和某些设计方面,聚焦用于块分割的技术。在HEVC中,切片中最大的编码单元称为CTB。CTB按照四叉树结构进行切分,其节点为编码单元。四叉树结构中的多个节点包括叶节点和非叶节点。叶节点在树形结构中没有子节点(即叶节点不被进一步划分)。该非叶节点包括树结构的根节点。该根节点对应于视频数据的初始视频块(例如,CTB)。对于多个节点中的每个相应的非根节点,该相应的非根节点对应于视频块,该视频块是对应于该相应的非根节点的树结构中的父节点的视频块的子块。多个非叶节点的每个相应的非叶节点在树结构中具有一个或多个子节点。
在HEVC主配置文件中,CTB的尺寸范围为16x16至64x64(尽管技术上可以支持8x8CTB尺寸)。如在W.J.Han等,“通过灵活的单元表示和编码工具的相应扩展提高视频压缩效率(Improved Video Compression Efficiency Through Flexible Unit Representationand Corresponding Extension of Coding Tools)”,IEEE视频技术电路和系统交易,第20卷,第12期,第1709-1720页,2010年12月中所述,CTB可以以四叉树的方式递归地划分为CU,并如图2所示。如图2所示,分割的每一级是四叉树被划分为四个子块。黑色块是叶节点(即没有进一步划分的块)的示例。
在一些示例中,CU可以是与CTB相同的尺寸,尽管CU可以小到8x8。每个CU用一种编码模式进行编码,该编码模式可以是,例如,帧内编码模式或帧间编码模式。其他编码模式也是可能的,包括用于屏幕内容的编码模式(例如,帧内块复制模式、基于调色板的编码模式等)。当CU是帧间编码(即,应用帧间模式)时,CU可以进一步被分割为预测单元(PU)。例如,CU可以被分割为2或4个PU。在另一示例中,当不应用进一步分割时,整个CU被视为单个PU。在HEVC示例中,当一个CU中存在两个PU时,它们可以是半尺寸矩形或以CU的1/4或3/4尺寸为尺寸的两个矩形。
如图3所示,在HEVC中,对于利用帧间预测模式编码的CU,存在八种分割模式,即PART_2Nx2N、PART_2NxN、PART_Nx2N、PART_NxN、PART_2NxnU、PART_2NxnD、PART_nLx2N和PART_nRx2N。如图3所示,用分割模式PART_2Nx2N编码的CU不进一步划分。也就是说,整个CU被视为单个PU(PU0)。用分割模式PART_2NxN编码的CU被对称地水平划分为两个PU(PU0和PU1)。用分割模式PART_Nx2N编码的CU被对称地垂直划分为两个PU。用分割模式为PART_NxN编码的CU被对称地划分为4个尺寸相等的PU(PU0、PU1、PU2、PU3)。
用分割模式PART_2NxnU编码的CU被不对称地水平划分为一个具有CU尺寸的1/4的PU0(上方的PU)和一个具有CU尺寸的3/4的PU1(下方的PU)。用分割模式PART_2NxnD编码的CU被不对称地水平划分为一个具有CU尺寸的3/4的PU0(上方的PU)和一个具有CU尺寸的1/4的PU1(下方的PU)。用分割模式PART_nLx2N编码的CU被不对称地垂直划分为一个具有CU尺寸的1/4的PU0(左侧PU)和一个具有CU尺寸的3/4的PU1(右侧PU)。用分割模式PART_nRx2N编码的CU被不对称地垂直划分为一个具有CU尺寸的3/4的PU0(左侧PU)和一个具有CU尺寸的1/4的PU1(右PU)。
当CU被帧间编码时,每个PU都存在运动信息(如运动矢量、预测方向和参考图片)的一个集合。此外,每个PU用为唯一的帧间预测模式编码,以得出该运动信息的集合。然而,应该理解的是,即使两个PU被唯一编码,在一些情况下,它们仍然可能具有相同的运动信息。
在J.An等,“下一代视频编码的块分割结构(Block partitioning structure fornext generation video coding)”,国际电信联盟,COM16-C966,2015年9月(以下简称“VCEG提案COM16-C966”)中,为后HEVC的未来视频编码标准提出了四叉树二叉树(QTBT)分割技术。仿真结果已经表明,所提出的QTBT结构比在已使用的HEVC中的四叉树结构更有效。
在提出的VCEG提案COM16-C966的QTBT结构中,首先使用四叉树分割技术分割CTB,其中一个节点的四叉树划分可以迭代,直到节点达到最小允许的四叉树叶节点尺寸。最小允许的四叉树叶节点尺寸可以通过语法元素MinQTSize的值指示给视频解码器。如果四叉树叶节点尺寸不大于最大允许的二叉树根节点尺寸(例如,由语法元素MaxBTSize表示),则可以使用二叉树分割进一步分割四叉树叶节点。一个节点的二叉树分割可以迭代,直到节点达到最小允许的二叉树叶节点尺寸(例如,由语法元素MinBTSize表示)或最大允许的二叉树深度(例如,由语法元素MaxBTDepth表示)。VCEG提案COM16-C966使用术语“CU”来表示二叉树叶节点。在VCEG提案COM16-C966中,CU用于预测(例如,帧内预测、帧间预测等)和变换,而无需任何进一步的分割。一般来说,根据QTBT技术,存在用于二叉树划分的两种划分类型:对称水平划分和对称垂直划分。在每一种情况下,通过水平地或垂直地从中间切分块而划分块。
在QTBT分割结构的一个示例中,CTU尺寸设置为128x128(例如:128x128亮度块和两个相应的64x64色度块),MinQTSize设置为16x16,MaxBTSize设置为64x64,MinBTSize(用于宽度和高度两者)设置为4,MaxBTDepth设置为4。四叉树分割首先应用于CTU,以生成四叉树叶节点。四叉树叶节点可以具有从16x16(即,MinQTSize为16x16)到128x128(即,CTU尺寸)的尺寸。根据QTBT分割的一个示例,如果叶四叉树节点是128x128,则由于叶四叉树节点的尺寸超过了MaxBTSize(即64x64),因此叶四叉树节点不能进一步通过二叉树划分。否则,叶四叉树节点将被通过二叉树进一步分割。因此,四叉树叶节点也是二叉树的根节点,并且具有二叉树深度为0。二叉树深度达到MaxBTDepth(例如,4)意味着不存在进一步的划分。二叉树节点具有宽度等于MinBTSize(如4),意味着不存在进一步的水平划分。类似地,二叉树节点具有高度等于MinBTSize,意味着没有进一步的垂直划分。二叉树的叶节点(CU)被进一步处理(例如,通过执行预测处理和变换处理),而没有任何进一步的分割。
图4A示出了使用QTBT分割技术分割的块50(例如,CTB)的示例。如图4A所示,使用QTBT分割技术,结果块中的每一个都通过每个块的中心对称地划分。图4B示出了对应于图4B的块分割的树结构。图4B中的实线表示四叉树划分,虚线表示二叉树划分。在一个示例中,在二叉树的每个划分(即,非叶)节点中,语法元素(例如,标志)被信令通知以指示所执行的划分类型(例如,水平或垂直),其中0指示水平划分,1指示垂直划分。对于四叉树划分,不需要指示划分类型,因为四叉树划分总是将块水平和垂直地划分为具有相等尺寸的4个子块。
如图4B所示,在节点70处,使用QT分割将块50划分为图4A所示的四个块51、52、53和54。块54没有被进一步划分,因此是叶节点。在节点72处,使用BT分割将块51进一步划分为两个块。如图4B所示,节点72用1标记,指示垂直划分。因而,在节点72处的划分导致块57和包括块55和56的块。块55和56是通过在节点74处的进一步垂直划分而产生的。在节点76处,使用BT分割将块52进一步划分为两个块58和59。如图4B中所示,节点76用1标记,指示水平划分。
在节点78,使用QT分割将块53划分为4个相等尺寸的块。块63和66由该QT分割创建,并且不进一步划分。在节点80处,首先使用垂直二叉树划分对左上角的块进行划分,产生块60和右边的垂直块。然后使用水平二叉树划分将右边的垂直块划分为块61和62。在节点78处通过四叉树划分创建的右下块,在节点84处使用水平二叉树划分而被划分为块64和65。
在其他实施例中,基于MTT的CU结构可以取代基于QT、BT和/或基于QTBT的CU结构。MTT分割结构仍然是递归树结构。然而,多个不同的分割结构(例如,三个或更多个)被使用。例如,根据本公开的MTT技术,在树结构的每个深度可以使用三个或更多个不同的分割结构。在这种背景中,树结构中的节点的深度可以指从该节点到树结构的根的路径长度(例如,划分的次数)。如在本公开中使用的那样,分割结构一般可以指块可以被切分为多少个不同的块。例如,四叉树分割结构可以将块切分为四个块,二叉树分割结构可以将块切分为两个块,以及三叉树分割结构可以将块切分为三个块。分割结构可以有多种不同的分割类型,如下文中将更详细地解释。分割类型可以另外定义如何切分块,包括对称或非对称分割、均匀或非均匀分割和/或水平或垂直分割。
在根据本公开的技术的一个示例中,视频编码器22可以被配置为接收视频数据的图片,并使用三个或更多个不同的分割结构将视频数据的图片分割为多个块,并对视频数据的图片的多个块进行编码。类似地,视频解码器30可以被配置为接收包括形成视频数据的编码图片的表示的比特序列的比特流,确定使用三个或更多个不同的分割结构将视频数据的编码图片分割为多个块,并且重构视频数据的编码图片的多个块。在一个示例中,分割视频数据帧包括使用三个或更多个不同的分割结构将视频数据帧分割为多个块,其中,三个或更多个不同的分割结构中的至少三个可以用于表示如何分割视频数据帧的树结构的每个深度。在一个示例中,三个或更多个不同的分割结构包括三叉树分割结构,并且视频编码器22和/或视频解码器30可以被配置为使用三叉树分割结构的三叉树分割类型来分割多个视频数据块中的一个,其中,三树分割结构将多个块中的一个切分为三个子块,而不通过中心切分该多个块中的一个。在本公开的另一实施例中,三个或更多个不同的分割结构还包括四叉树分割结构和二树分割结构。
因此,在一个示例中,视频编码器22可以生成视频数据的初始视频块(例如,编码树块或CTU)的编码表示。作为生成初始视频块的编码表示的一部分,视频编码器22确定包括多个节点的树结构。例如,视频编码器22可以使用本公开的MTT分割结构分割树块。
MTT分割结构中的多个节点包括多个叶节点和多个非叶节点。叶节点在树结构中没有子节点。非叶节点包括树结构的根节点。根节点对应于初始视频块。对于多个节点中的每个相应的非根节点,该相应的非根节点对应于视频块(例如,编码块),该视频块是对应于该相应的非根节点的树结构中的父节点的视频块的子块。多个非叶节点的每个相应的非叶节点在树结构中具有一个或多个子节点。在一些示例中,由于强制划分且子节点中的一个对应于在图片边界外的块,图片边界处的非叶节点可能只有一个子节点。
根据本公开的技术,对于在树结构的每个深度级处的树结构的每个相应的非叶节点,对该相应的非叶节点存在多个允许的划分模式(例如,分割结构)。例如,对于树结构的每个深度,可以允许三个或更多个的分割结构。视频编码器22可以被配置为根据多个允许的分割结构中的一个,将对应于相应的非叶节点的视频块分割为对应于该相应的非叶节点的子节点的视频块。多个允许分割结构中的每个相应的允许的分割结构可以对应于将对应于相应的非叶节点的视频块分割为对应于该相应的非叶节点的子节点的视频块的不同方式。此外,在本示例中,视频编码器22可以将初始视频块的编码表示包括在比特流中,该比特流包括视频数据的编码表示。
在一个类似的示例中,视频解码器30可以确定包括多个节点的树结构。如先前的示例中,多个节点包括多个叶节点和多个非叶节点。叶节点在树结构中没有子节点。非叶节点包括树结构的根节点。该根节点对应于视频数据的初始视频块。对于多个节点中的每个相应的非根节点,该相应的非根节点对应于视频块,该视频块是对应于该相应的非根节点的树结构中的父节点的视频块的子块。多个非叶节点的每个相应的非叶节点在树结构中具有一个或多个子节点。对于在树结构的每个深度级处的树结构的每个相应的非叶节点,存在对于相应的非叶节点的多个允许的划分模式,根据该多个允许的划分模式中的一个,将对应于相应的非叶节点的视频块分割为对应于相应的非叶节点的子节点的视频块。多个允许的划分模式中的每一个相应的允许的划分模式对应于将对应于相应的非叶节点的视频块分割为对应于该相应的非叶节点的子节点的视频块的不同方式。此外,在本示例中,对于树结构的每个(或至少一个)相应的叶节点,视频解码器30重构对应于该相应的叶节点的视频块。
在一些这样的示例中,对于树结构中除根节点以外的每个相应的非叶节点,用于该相应的非叶节点的多个允许的划分模式(例如,分割结构)独立于分割结构,根据该分割结构,对应于该相应的非叶节点的父节点的视频块被分割为对应于该相应的非叶节点的父节点的子节点的视频块。
在本公开的其他示例中,在树结构的每个深度处,视频编码器22可被配置为使用来自三个或更多个分割结构中的一个的特定分割类型进一步划分子树。例如,视频编码器22可以被配置为从QT、BT、三叉树(triple-tree,TT)和其他分割结构中确定特定的分割类型。在一个示例中,QT分割结构可以包括方形四叉树和矩形四叉树分割类型。视频编码器22可以使用方形四叉树分割,通过将方形块水平地和垂直地沿中心切分为四个相等尺寸的方形块来分割该块。同样地,视频编码器22可以使用矩形四叉树分割,通过将矩形块水平地和垂直地沿中心切分为四个相等尺寸的矩形块来分割该矩形(例如,非方形)块。
BT分割结构可以包括水平对称二叉树、垂直对称二叉树、水平非对称二叉树和垂直非对称二叉树分割类型。对于水平对称二叉树分割类型,视频编码器22可以被配置为水平地沿着块的中心将该块划分为两个相同尺寸的对称块。对于垂直对称二叉树分割类型,视频编码器22可以被配置为垂直地沿着块的中心将该块划分为两个相同尺寸的对称块。对于水平非对称二叉树分割类型,视频编码器22可以被配置为水平地将块划分为两个不同尺寸的块。例如,一个块可以是父块的1/4尺寸,而另一个块可以是父块的3/4尺寸,如图3的PART_2NxnU或PART_2NxnD分割类型中那样。对于垂直非对称二叉树分割类型,视频编码器22可以被配置为垂直地将块划分为两个不同尺寸的块。例如,一个块可以是父块的1/4尺寸,而另一个块可以是父块的3/4尺寸,如图3的PART_nLx2N或PART_nRx2N分割类型中那样。
在其他示例中,非对称二叉树分割类型可将父块切分为不同尺寸的部分。例如,一个子块可以是父块的3/8,而另一子块可以是父块的5/8。当然,这种分割类型可以是垂直的,也可以是水平的。
TT分割结构与QT或BT结构的不同之处在于,TT分割结构不沿着中心划分块。块的中心区域一起保持在同一子块中。与产生四个块的QT或产生两个块的二叉树不同,根据TT分割结构的划分产生三个块。根据TT分割结构的示例分割类型包括对称分割类型(水平的和垂直的二者),以及非对称分割类型(水平的和垂直的二者)。此外,根据TT分割结构的对称分割类型可以是不均匀/不一致或均匀/一致的。根据本公开的TT分割结构的非对称分割类型是不均匀/不一致的。在本公开的一个示例中,TT分割结构可以包括以下分割类型:水平均匀/一致的对称三叉树、垂直均匀/一致的对称三叉树、水平不均匀/不一致的对称三叉树、垂直不均匀/不一致的对称三叉树、水平不均匀/不一致的非对称三叉树、和垂直不均匀/不一致的非对称三叉树分割类型。
一般来说,不均匀/不一致的对称三叉树分割类型是关于块的中心线对称的分割类型,但其中结果块三个块中的至少一个与其他两个块不是相同尺寸。一个优选的示例是,侧块是块的1/4尺寸,而中心块是块的1/2尺寸。均匀/一致的对称三叉树分割类型是关于块的中心线对称的分割类型,并且结果块都是相同的尺寸。取决于垂直或水平划分,如果块高度或宽度是3的倍数,则这样的分割是可能的。不均匀/不一致的非对称三叉树分割类型是关于块的中心线不对称的分割类型,并且其中结果块中的至少一个与其他两个不是相同尺寸。
图5A是示出示例水平三叉树分割类型的概念图。图5B是示出示例垂直三叉树分割类型的概念图。在图5A和图5B两者中,h代表亮度或色度样点中的块的高度,w代表亮度或色度样点中的块的宽度。注意图5A和图5B中三叉树分割中的每一个中的相应的“中心线”并不代表块的边界(即,三叉树分割不通过中心线划分块)。相反,中心线被示出以描绘特定分割类型相对于原始块的中心线是对称的还是不对称的。所描绘的中心线也是沿着划分的方向。
如图5A中所示,利用水平均匀/一致的对称分割类型分割块71。水平均匀/一致的对称分割类型产生相对于块71的中心线对称的顶半部和底半部。水平均匀/一致的对称分割类型产生三个相等尺寸的子块,每个具有h/3的高度和w的宽度。当块71的高度可被3整除时,水平均匀/一致的对称分割类型是可能的。
利用水平不均匀/不一致的对称分割类型分割块73。水平不均匀/不一致的对称分割类型产生相对于块73的中心线对称的顶半部和底半部。水平不均匀/不一致的对称分割类型产生相等尺寸的两个块(例如,具有h/4的高度的顶部和底部块),以及不同尺寸的中心块(例如,具有h/2的高度的中心块)。在本公开的一个示例中,根据水平不均匀/不一致的对称分割类型,中心块的面积等于顶部和底部块的组合面积。在一些示例中,水平不均匀/不一致的对称分割类型可以优选用于具有高度是2的幂的块(例如,2、4、8、16、32等)。
利用水平不均匀/不一致的对称分割类型分割块75。水平不均匀/不一致的非对称分割类型相对于块75的中心线不产生对称的顶半部和底半部(即,顶部和底半部是非对称的)。在图5A的示例中,水平不均匀/不一致的非对称分割类型产生具有h/4的高度的顶部块,具有3h/8的高度的中心块,以及具有3h/8的高度的底部块。当然,可以使用其他非对称布置。
如图5B中所示,利用垂直均匀/一致的对称分割类型分割块77。垂直均匀/一致的对称分割类型产生相对于块77的中心线对称的左半部和右半部。垂直均匀/一致的对称分割类型产生相等尺寸的三个子块,每个具有w/3的宽度和h的高度。当块77的宽度可被3整除时,垂直均匀/一致的对称分割类型是可能的。
利用垂直不均匀/不一致的对称分割类型分割块79。垂直不均匀/不一致的对称分割类型产生相对于块79的中心线对称的左半部和右半部。垂直不均匀/不一致的对称分割类型产生相对于79的中心线对称的左半部和右半部。垂直不均匀/不一致的对称分割类型产生相等尺寸的两个块(例如,具有w/4的宽度的左侧和右侧块),以及不同尺寸的中心块(例如,具有w/2的宽度的中心块)。在本公开的一个示例中,根据垂直不均匀/不一致的对称分割类型,中心块的面积等于左侧和右侧块的组合面积。在一些示例中,垂直不均匀/不一致的对称分割类型可以优选用于具有宽度是2的幂(例如,2、4、8、16、32等)的块。
利用垂直不均匀/不一致的非对称分割类型分割块81。垂直不均匀/不一致的非对称分割类型相对于块81的中心线不产生对称的左和右半部(即,左和右半部是非对称的)。在图5B的示例中,垂直不均匀/不一致的非对称分割类型产生具有w/4的宽度的左侧块,具有3w/8的宽度的中心块,以及具有3w/8的宽度的右侧块。当然,可以使用其他非对称布置。
在块(例如,在子树节点处)被划分为非对称三叉树分割类型的示例中,视频编码器22和/或视频解码器30可应用限制,使得三个分割中的两个具有相同尺寸。这样的限制可以对应于视频编码器22在编码视频数据时必须对其遵守的限制。此外,在一些示例中,视频编码器22和视频解码器30可以应用限制,凭借该限制,当根据非对称三叉树分割类型进行划分时,两个分割的面积之和等于剩余分割的面积。例如,视频编码器22可以生成或视频解码器30可以接收符合限制的初始视频块的编码表示,该限制指明,当根据非对称三叉树分割模式分割对应于树结构的节点的视频块时,该节点具有第一子节点、第二子节点和第三子节点,第二子节点对应于与第一子节点和第三子节点相对应的视频块之间的视频块,对应于第一子节点和第三子节点的视频块具有相同的尺寸,且对应于第一子节点和第三子节点的视频块的尺寸之和等于对应于第二子节点的视频块的尺寸。
图5C是示出示例非对称二叉树分割类型的概念图。实施例可以包括在QTBT结构之上的非对称二叉树(asymmetric binary tree,ABT)CU编码工具。在ABT结构中,扩展了QTBT的二叉树划分模式集,以支持编码单元的非对称二叉划分。具体来说,可以将CU切分为分别具有父CU的1/4尺寸和3/4尺寸的2个子CU。已经引入了4种新的二叉树划分模式到QTBT框架中,从而允许新的划分配置。如图5C中所示,除了QTBT中已经可用的划分模式外,还可以使用所谓的非对称划分模式。ABT结构的进一步细节可以在F.Le Leannec,T.Poirier,F.Urban,“QTBT中的非对称编码单元(Asymmetric Coding Units in QTBT)”,国际电信联盟,JVET-D0064,2016年10月中发现。
在本公开的一些示例中,视频编码器22可以被配置为从用于QT、BT、ABT和TT分割结构中的每一个的所有上述分割类型当中选择。在其他示例中,视频编码器22可以被配置为仅从上述分割类型的子集当中确定分割类型。例如,上面讨论的分割类型(或其他分割类型)的子集可以用于四叉树结构的某些块尺寸或用于某些深度。支持的分割类型的子集可以在比特流中被信令通知用于由视频解码器30使用,或者可以被预定义使得视频编码器22和视频解码器30可以在没有任何信令通知的情况下确定该子集。
在其他示例中,对于所有CTU中的所有深度,支持的分割类型的数量可以是固定的。也就是说,视频编码器22和视频解码器30可以被预配置为以针对CTU的任何深度使用相同数量的分割类型。在其他示例中,支持的分割类型的数量可以不同,并且可以取决于深度、切片类型或其他先前编码的信息。在一个示例中,在树结构的深度0或深度1处,仅使用QT分割结构。在深度大于1处,可以使用QT、BT和TT分割结构中的每一个。
在一些示例中,视频编码器22和/或视频解码器30可以对支持的分割类型应用预配置的约束,以避免重复分割视频图像的某个区域或CTU的区域。在一个示例中,当利用非对称分割类型划分块时,视频编码器22和/或视频解码器30可以被配置为不进一步划分从当前块划分的最大子块。例如,当根据非对称分割类型(例如,图3中的PART_2NxnU分割类型)划分方形块时,所有子块当中最大的子块(例如,图3中的PART_2NxnU分割类型的PU1)是所注意的叶节点并且不能进一步划分。然而,较小的子块(例如,图3中PART_2NxnU分割类型的PU0)可以被进一步划分。
作为其中可以对支持的分割类型应用约束以避免重复某个区域的分割的另一示例,当利用非对称分割类型划分块时,从当前块划分的最大子块不能在相同方向进一步划分。例如,当利用非对称分割类型(例如,图3中的PART_2NxnU分割类型)划分方形块时,视频编码器22和/或视频解码器30可以被配置为在水平方向上不划分所有子块当中的大子块(例如图3中的PART_2NxnU分割类型的PU1)。然而,在这个示例中,视频编码器22和/或视频解码器30可以在垂直方向上再次划分PU1。
作为其中可以对支持的分割类型应用约束以避免进一步划分中的困难的另一示例,视频编码器22和/或视频解码器30可被配置为当块的宽度/高度不是2的幂时(例如,当宽度/高度不是2、4、8、16等时),不水平也不垂直划分块。
上述示例描述了视频编码器22如何被配置为根据本公开的技术可以执行MTT分割。然后,视频解码器30也可以应用与由视频编码器22执行的相同的MTT分割。在一些示例中,视频编码器22如何分割视频数据的图片可以通过在视频解码器30处应用相同的预定义规则集来确定。然而,在许多情况下,视频编码器22可以基于用于正在被编码的视频数据的特定图片的速率失真度量来确定要使用的特定分割结构和分割类型。因而,为了使视频解码器30确定对于特定图片的分割,视频编码器22可以在编码比特流中信令通知语法元素,这些语法元素指示图片以及图片的CTU将如何被分割。视频解码器30可以解析这样的语法元素并相应地分割图片和CTU。
在本公开的一个示例中,视频编码器22可以被配置为在序列参数集(sequenceparameter set,SPS)、图像参数集(picture parameter set,PPS)、切片头、自适应参数集(adaptive parameter set,APS)或任何其他高级语法参数集中,信令通知支持的分割类型的特定子集作为高级语法元素。例如,可以在序列参数集(SPS)、图片参数集(PPS)或任何其它高级语法参数集中预定义或在比特流中信令通知分割类型的最大数量和哪些类型是被支持的,作为高级语法元素。视频解码器30可以被配置为接收并解析这样的语法元素,以确定使用的分割类型的特定子集和/或支持的分割结构(例如,QT、BT、TT等)和类型的最大数量。
在一些示例中,在每个深度处,视频编码器22可以被配置为信令通知指示在树结构的该深度处使用的所选分割类型的索引。此外,在一些示例中,视频编码器22可以在每个CU处自适应地信令通知这样的分割类型索引,即,该索引对于不同的CU可以是不同的。例如,视频编码器22可以基于一个或多个速率失真计算来设置分割类型的索引。在一个示例中,如果满足某些条件,则可以跳过分割类型(例如,分割类型的索引)的信令通知。例如,当只有一个与特定深度相关联的支持的分割类型时,视频编码器22可以跳过分割类型的信令通知。在这个示例中,当接近图片边界时,将要编码的区域可能比CTU小。因此,在这个示例中,CTU可能被强制划分以适合图片边界。在一个示例中,仅使用对称二叉树进行强制划分,并且不信令通知分割类型。在一些示例中,在某一深度处,分割类型可以基于先前编码的信息(诸如切片类型、CTU深度、CU位置)而导出。
在本公开的另一示例中,对于每个CU(叶节点),视频编码器22可以进一步被配置为信令通知语法元素(例如,1比特的变换_划分标志),以指示是否将在CU的相同尺寸上进行变换(即,该标志指示TU是CU的相同尺寸还是被进一步划分)。在变换_划分标志被信令通知为真的情况下,视频编码器22可以被配置为进一步将CU的残差划分为多个子块,并且在每个子块上进行变换。视频解码器30可以执行相逆的过程。
在一个示例中,当变换_划分标志被信令通知为真时,执行以下操作。如果CU对应于方形块(即,CU是方形的),那么视频编码器22使用四叉树划分将残差划分为四个方形子块,并且在每个方形子块上执行变换。如果CU对应的是非方形块,例如MxN,那么视频编码器22将残差划分为两个子块,当M>N时,子块尺寸为0.5MxN,当M<N时,子块尺寸为Mx0.5N。作为另一示例,当变换_划分标志被信令通知为真并且CU对应于非方形块,例如MxN,(即,CU是非方形的),视频编码器22可以被配置为将残差划分为具有尺寸为KxK的子块,并且KxK方形变换用于每个子块,其中K等于M和N的最大因子(factor)。作为另一示例,当CU是方形块时,不信令通知变换_划分标志。
在一些示例中,当在预测后CU中存在残差时,不信令通知划分标志,并只使用具有一个导出的尺寸的变换。例如,具有等于MxN的尺寸的CU,使用KxK方形变换,其中K等于M和N的最大因子。因此,在这个示例中,对于具有尺寸为16x8的CU,相同的8x8变换可以应用于CU的残差数据的两个8x8子块。“划分标志”是指示树结构中的节点在树结构中具有子节点的语法元素。
在一些示例中,对于每个CU,如果CU没有被划分为方形四叉树或对称二叉树,则视频编码器22被配置为始终将变换尺寸设置为等于分割尺寸(例如,CU的尺寸)。
仿真结果已经表明,与JEM-3.1参考软件相比,在随机存取的情况下,使用本公开的MTT技术的编码性能已经显示出改进。平均而言,仿真已经表明,本公开的MTT技术已经提供了3.18%的比特率失真(BD)率的降低,而仅有适度的编码时间增加。仿真已经表明,本公开的MTT技术为更高的分辨率提供了良好的性能,例如,A1类和A2类测试的亮度BD率降低了4.20%和4.89%。A1类和A2类是示例4K分辨率测试序列。
应当理解的是,对于参照视频编码器22描述的上述示例中的每一个,视频解码器30可以被配置为执行相逆的过程。关于信令通知语法元素,视频解码器30可以被配置为接收和解析这样的语法元素,并相应地对相关的视频数据进行分割和解码。
在本公开的一个具体示例中,视频解码器可以被配置为根据三个不同的分割结构(QT、BT和TT)对视频块进行分割,每个深度处允许五个不同的分割类型。如图5A-5E所示,分割类型包括四叉树分割(QT分割结构)、水平二叉树分割(BT分割结构)、垂直二叉树分割(BT分割结构)、水平中心-侧三叉树分割(TT分割结构)和垂直中心-侧三叉树分割(TT分割结构)。
五个分割类型的定义如下。请注意,方形被视为矩形的特例。
·四叉树分割:将块进一步划分为四个相同尺寸的矩形块。图6A示出了四叉树分割的示例。
·垂直二叉树分割:将块垂直划分为两个相同尺寸的矩形块。图6B是垂直二叉树分割的示例。
·水平二叉树分割:将块水平划分为两个相同尺寸的矩形块。图6C是水平二叉树分割的示例。
·垂直中心-侧三叉树分割:将块垂直划分为三个矩形块,从而两个侧块共享相同的尺寸,而中心块的尺寸是两个侧块之和。图6D是垂直中心-侧三叉树分割的示例。
·水平中心-侧三叉树分割:将块水平划分为三个矩形块,从而两个侧块共享相同的尺寸,而中心块的尺寸是两个侧块之和。图6E是水平中心-侧三叉树分割的示例。
对于与特定深度相关联的块,视频编码器22确定使用哪种分割类型(包括没有进一步的划分),并将所确定的分割类型显式或隐式地(例如,分割类型可以从预定规则中导出)信令通知给视频解码器30。视频编码器22可以基于检查使用不同分割类型的块的速率失真成本来确定要使用的分割类型。为了获得速率失真成本,视频编码器22可能需要递归地检查块的可能分割类型。
图7是示出编码树单元(CTU)分割的示例的概念图。换句话说,图7示出了对应于CTU的CTB 91的分割。在图7的示例中,
·在深度0处,利用水平二叉树分割(如用具有由单个点隔开的连接号的线93所指示)将CTB 91(即整个CTB)划分为两个块。
·在深度1处:
·利用垂直中心-侧三叉树分割(如用具有小连接号的线95和86所指示)将上部块划分为三个块。
·利用四叉树分割(如用具有由两个点隔开的连接号的线88和90所指示)将底部块划分为四个块。
·在深度2处:
·利用水平中心-侧三叉树分割(如用具有由短连接号隔开的长连接号的线92和94所指示)将在深度1处的上部块的左侧块划分为三个块。
·对在深度1处的上部块的中心块和右侧块不再划分。
·对在深度1处的底部块的四个块不再划分。
在图7的示例中可以看出,使用了三种不同的分割结构(BT、QT和TT),与四种不同的分割类型(水平二叉树分割、垂直中心-侧三叉树分割、四叉树分割和水平中心-侧三叉树分割)。
在另一示例中,可以对在一定深度处或具有一定尺寸的块施加额外的约束。例如,当块的高度/宽度小于16像素时,不能用垂直/水平中心-侧树来划分块,以避免具有高度/宽度小于4像素的块。
尽管本文讨论的QTBT、ABT和TT结构可以具有比HEVC中使用的四叉树结构更好的编码性能,但是想要进一步的灵活性。例如,在一些示例中,BT、ABT、TT结构中的CU叶节点可以进一步划分为递归变换单元。
HEVC中的RQT只允许在四叉树结构中将CU的残差块划分为TU,这不够灵活。在一些示例中,CU的残差块可以灵活地以QT、BT、ABT、TT或其他结构递归地划分为TU。
变换单元分割结构
为了实现对CTU更灵活的分割,在一些实施例中,CU的残差块可以进一步以QT、BT、ABT、TT或任何其他分割或它们的任意组合的方式递归地划分为变换单元。例如,视频编码器22或解码器30可以确定根据包括叶节点的第一树结构将编码图片分割为多个编码单元。视频编码器22或解码器30可以确定,根据第二树结构将叶节点的残差块递归地划分为多个变换单元。
在一个示例中,在变换单元树的根处将标志编码在视频比特流中(经由视频编码器编码到比特流中,以及经由视频解码器从比特流中解码),使得在整个残差块的相应树中只允许该第二树的单一的变换单元分割结构。例如,作为一个示例,如果该树中只允许垂直中心-侧树,则该树中的TU只可以被划分为垂直中心-侧树。
在另一示例中,针对相同块内的每个分割的TU或TU组(例如,子集)编码一个标志,以确定该TU将以哪个结构被划分。
变换信息信令通知
可选地,对于TU,可以应用诸如增强型多重变换(enhanced multiple transform,EMT)、非分离型二次变换(non-separable secondary transform,NSST)和变换跳过(transform skip,TS)等变换工具。在一个示例中,变换工具的标志仅在变换单元树的根处进行编码(由编码器在比特流中编码,并由解码器从这样的比特流中解码),使得树中所有TU共享相同的标志。例如,在这样的一个示例中,EMT标志和索引仅在根级处被信令通知。该EMT标志和索引将决定是否应用EMT以及哪个EMT集被应用于相同树中的所有TU。在另一示例中,针对每个TU或TU组编码变换工具的标志。例如,针对每个TU编码EMT标志和索引。每个TU将基于它自己的标志执行EMT。
系数编码
在HEVC中,编码块标志(coded block flag,CBF)和系数针对每个TU进行编码。通过信令通知CBF和非零系数的最后位置,这种编码可能遭受大量开销。根据一些实施例,为了减少这种开销,可以一起信令通知整个变换单元树(换句话说,对于所有TU)的系数。在这样的示例中,仅信令通知在根级处的CBF和非零系数的最后位置。
已经描述了各种示例。本公开的特定示例可单独使用或相互组合使用。
图8是示出可以实施本公开的技术的示例视频编码器22的框图。图8是为了解释的目的而提供的,并且不应被认为是对本公开中广泛举例和描述的技术的限制。本公开的技术可以适用于各种编码标准或方法。
在图8的示例中,视频编码器22包括预测处理单元100、视频数据存储器101、残差生成单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、解码图片缓冲器116和熵编码单元118。预测处理单元100包括帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120可以包括运动估计单元和运动补偿单元(未示出)。
视频数据存储器101可以被配置为存储将由视频编码器22的组件编码的视频数据。存储在视频数据存储器101中的视频数据可以,例如,从视频源18获得。解码图片缓冲器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。根据本公开的一个或多个技术,对于在树结构的每个深度级处的树结构的每个相应的非叶节点,存在对于相应的非叶节点的多个允许的划分模式,根据多个允许的划分模式中的一个,将对应于相应的非叶节点的视频块分割为对应于相应的非叶节点的子节点的视频块。在一个示例中,预测处理单元100或视频编码器22的另一处理单元可以被配置为执行上述MTT分割技术的任意组合。
视频编码器22可以对CTU的CU进行编码,以生成CU的编码表示(即,编码CU)。作为对CU进行编码的一部分,预测处理单元100可以分割在CU的一个或多个PU当中与CU相关联的编码块。根据本公开的技术,CU可以只包括单个PU。也就是说,在本公开的一些示例中,CU不被切分为单独的预测块,而是对整个CU执行预测处理。因此,每个CU可以与亮度预测块和相应的色度预测块相关联。视频编码器22和视频解码器30可以支持具有各种尺寸的CU。如上所示,CU的尺寸可以指CU的亮度编码块的尺寸也可以指亮度预测块的尺寸。如上所述,视频编码器22和视频解码器30可以支持由上述示例MTT分割类型的任意组合定义的CU尺寸。
帧间预测处理单元120可以通过对CU的每个PU执行帧间预测来生成PU的预测性数据。如上所释,在本公开的一些MTT实例中,CU可以只包含单个PU,即CU和PU可以是同义的。PU的预测性数据可以包括PU的预测性块和PU的运动信息。帧间预测处理单元120可以根据PU是处于I切片、P切片还是B切片,对PU或CU执行不同的操作。在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可以从由帧间预测处理单元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可以被配置为根据上述MTT技术对TU进行分割。例如,视频编码器22可以不使用RQT结构将CU进一步切分为TU。因而,在一个示例中,CU包括单个TU。
变换处理单元104可以通过将一个或多个变换应用于TU的变换块来为CU的每个TU生成变换系数块。变换处理单元104可以将各种变换应用到与TU相关联的变换块。例如,变换处理单元104可以将离散余弦变换(discrete cosine transform,DCT)、方向变换或概念上类似的变换应用到变换块。在一些示例中,变换处理单元104不将变换应用到变换块。在这样的示例中,变换块可以被当作变换系数块。
量化单元106可以对系数块中的变换系数进行量化。量化过程可以减少与一些或全部变换系数相关联的比特深度。例如,n比特的变换系数可以在量化过程中被舍入到m比特的变换系数,其中n大于m。量化单元106可以基于与CU相关联的量化参数(quantizationparameter,QP)值来量化与CU的TU相关联的系数块。视频编码器22可以通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化度。量化可能引入信息损失。因此,量化的变换系数可能具有比原始系数更低的精度。
逆量化单元108和逆变换处理单元110可分别对系数块应用逆量化和逆变换,以从系数块重构残差块。重构单元112可以将重构的残差块添加到由预测处理单元100生成的一个或多个预测性块的相应样点中,以产生与TU相关联的重构的变换块。通过以这种方式为CU的每个TU重构变换块,视频编码器22可以重构CU的编码块。
滤波器单元114可以执行一个或多个去块(deblock)操作以减少与CU相关联的编码块中的块效应。解码图片缓冲器116可以在滤波器单元114对重构的编码块执行一个或多个去块操作之后存储重构的编码块。帧间预测处理单元120可以使用包含重构的编码块的参考图片来对其他图片的PU执行帧间预测。此外,帧内预测处理单元126可以使用解码图片缓冲器116中的重构的编码块对与CU相同的图片中的其他PU执行帧内预测。
熵编码单元118可以从视频编码器22的其他功能组件接收数据。例如,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一个或多个熵编码操作,以生成熵编码的数据。例如,熵编码单元118可以对数据执行CABAC操作、上下文自适应可变长度编码(context-adaptive variablelength coding,CAVLC)操作、可变到可变(variable-to-variable,V2V)长度编码操作、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binaryarithmetic coding,SBAC)操作、概率区间分割熵(Probability Interval PartitioningEntropy,PIPE)编码操作、指数葛洛姆(Golomb)编码操作或另一类型的熵编码操作。视频编码器22可以输出包括由熵编码单元118生成的熵编码的数据的比特流。例如,根据本公开的技术,比特流可以包括表示CU的分割结构的数据。
图9是示出被配置为实施本公开的技术的示例视频解码器30的框图。图9是为了解释的目的而提供的,并且不是对本公开中广泛举例和描述的技术的限制。为了解释的目的,本公开在HEVC编码的背景下描述视频解码器30。然而,本公开的技术可以适用于其它编码标准或方法。
在图9的示例中,视频解码器30包括熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160和解码图片缓冲器162。预测处理单元152包括运动补偿单元164和帧内预测处理单元166。在其他示例中,视频解码器30可以包括更多、更少或不同功能的组件。
视频数据存储器151可以存储编码的视频数据,诸如编码的视频比特流,以由视频解码器30的组件进行解码。存储在视频数据存储器151中的视频数据可以,例如,从计算机可读介质16获得,例如,从本地视频源(诸如摄像机)获得,经由视频数据的有线或无线网络通信获得,或者通过访问物理数据存储介质获得。视频数据存储器151可以形成编码图片缓冲器(coded picture buffer,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或视频解码器30的另一处理单元可以确定树结构,作为从比特流获取语法元素的部分。树结构可以指定如何将初始视频块(诸如CTB)分割为较小的视频块(诸如编码单元)。根据本公开的一个或多个技术,对于树结构的每个深度级处的树结构的每个相应的非叶节点,存在对于相应的非叶节点的多个允许的分割类型,根据多个允许的划分模式中的一个,将对应于相应的非叶节点的视频块分割为对应于相应的非叶节点的子节点的视频块。在其他实施例中,可以根据确定的树结构划分对应于CU叶节点的残差块。
除了从比特流中获取语法元素之外,视频解码器30还可以对非分割的CU执行重构操作。为了对CU执行重构操作,视频解码器30可以对CU的每个TU执行重构操作。通过对CU的每个TU执行重构操作,视频解码器30可以重构CU的残差块。如上所述,在本公开的一个示例中,CU包括单个TU。
作为对CU的TU执行重构操作的一部分,逆量化单元154可以对与TU相关联的系数块进行逆量化,即去量化。在逆量化单元154对系数块进行逆量化之后,逆变换处理单元156可以对系数块应用一个或多个逆变换,以生成与TU相关联的残差块。例如,逆变换处理单元156可以将逆DCT、逆整数变换、逆卡洛南-洛伊变换(Karhunen-Loeve transform,KLT)、逆旋转变换、逆方向变换或另一逆变换应用到系数块。
如果使用帧内预测对CU或PU进行编码,则帧内预测处理单元166可执行帧内预测以生成PU的预测性块。帧内预测处理单元166可以基于样点空间相邻块使用帧内预测模式来生成PU的预测性块。帧内预测处理单元166可以基于从比特流获得的一个或多个语法元素来确定PU的帧内预测模式。
如果使用帧间预测对PU进行编码,则熵解码单元150可以确定PU的运动信息。运动补偿单元164可以基于PU的运动信息,确定一个或多个参考块。运动补偿单元164可以基于一个或多个参考块,生成PU的预测性块(例如,预测性亮度、Cb和Cr块)。如上所述,在使用MTT分割的本公开的一个示例中,CU可以只包括单个PU。也就是说,CU可以不被切分为多个PU。
重构单元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的帧内预测或帧间预测操作。
图10A是示出根据本公开的技术的视频编码器22的示例操作的流程图。在图10A的示例中,视频编码器22可以生成视频数据的初始视频块(例如,编码树块)的编码表示(200)。作为生成初始视频块的编码表示的一部分,视频编码器22确定包括多个节点的树结构。多个节点包括多个叶节点和多个非叶节点。叶节点在树结构中没有子节点。非叶节点包括树结构的根节点。根节点对应于初始视频块。对于多个节点中的每个相应的非根节点,该相应的非根节点对应于视频块(例如,编码块),该视频块是对应于该相应的非根节点的树结构中的父节点的视频块的子块。多个非叶节点的每个相应的非叶节点在树结构中具有一个或多个子节点。对于在树结构的每个深度级处的树结构的每个相应的非叶节点,存在用于相应的非叶节点的三个或更多个分割结构(例如BT、QT和TT分割结构)的多个允许的分割类型,并且根据多个允许的分割类型中的一个,将对应于相应的非叶节点的视频块分割为对应于相应的非叶节点的子节点的视频块。多个允许的分割类型中的每个相应的允许的分割类型可以对应于将对应于相应的非叶节点的视频块分割为对应于该相应的非叶节点的子节点的视频块的不同方式。此外,在本示例中,视频编码器22可以将初始视频块的编码表示包括在比特流中,该比特流包括视频数据的编码表示(202)。
图10B是示出根据本公开的技术的视频解码器30的示例操作的流程图。在图10B的示例中,视频解码器30可以确定包括多个节点的树结构(250)。该多个节点包括多个叶节点和多个非叶节点。叶节点在树结构中没有子节点。非叶节点包括树结构的根节点。根节点对应于视频数据的初始视频块。对于多个节点中的每个相应的非根节点,该相应的非根节点对应于视频块,该视频块是对应于该相应的非根节点的树结构中的父节点的视频块的子块。多个非叶节点的每个相应的非叶节点在树结构中具有一个或多个子节点。对于在树结构的每个深度级处的树结构的每个相应的非叶节点,存在对于该相应的非叶节点的三个或更多个分割结构(例如BT、QT和TT分割结构)的多个允许的分割类型,并且根据多个允许的分割类型中的一个,将对应于相应的非叶节点的视频块分割为对应于相应的非叶节点的子节点的视频块。多个允许的分割类型中的每个相应的允许的分割类型对应于将对应于相应的非叶节点的视频块分割为对应于该相应的非叶节点的子节点的视频块的不同方式。此外,在本示例中,对于树结构的每个(或至少一个)相应的叶节点,视频解码器30重构对应于该相应的叶节点的视频块(252)。
在图10A和图10B的示例中,对于树结构中除根节点以外的每个相应的非叶节点,用于相应的非叶节点的多个允许的分割类型可以独立于划分模式,根据该划分模式,对应于相应的非叶节点的父节点的视频块被分割为对应于该相应的非叶节点的父节点的子节点的视频块。例如,与VCEG提案COM16-C966不同,如果根据二叉树划分模式对特定节点的视频块进行划分,则可以根据四叉树划分模式对该特定节点的子节点的视频块进行划分。
此外,在图10A和图10B的示例中,对于树结构的每个相应的非叶节点,对于相应的非叶节点的多个允许的划分模式可以包括以下中的两个或更多个:方形四叉树划分模式、矩形四叉树划分模式、对称二叉树划分模式、非对称二叉树划分模式、对称三叉树划分模式或非对称三叉树划分模式。
此外,如上所示,仅使用上述分割类型的子集。支持的分割类型的子集可以在比特流中被信令通知或预定义。因此,在一些示例中,视频解码器30可以从比特流中获得指示多个支持的划分模式的语法元素。类似地,视频编码器22可以在比特流中信令通知多个支持的划分模式。在这些示例中,对于树结构的每个相应的非叶节点,多个支持的划分模式可以包括相应的非叶节点的多个允许的划分模式。在这些示例中,指示多个支持的划分模式的语法元素可以从比特流获得(并在其中信令通知),诸如在序列参数集(SPS)或图片参数集(PPS)或切片头中。
如上所示,在一些示例中,当子树被划分为为非对称三叉树时,应用三个分割中的两个具有相同尺寸的限制。因此,在一些示例中,视频解码器30可以接收符合限制的初始视频块的编码表示,该限制指明,当根据非对称三叉树模式分割对应于树结构的节点的视频块时,对应于该节点的两个子节点的视频块具有相同的尺寸。同样地,视频编码器22可以生成初始视频块的编码表示以遵守限制,该限制指明,当根据非对称三叉树模式分割对应于树结构的节点的视频块时,对应于该节点的两个子节点的视频块具有相同的尺寸。
如上所示,在一些示例中,对于所有CTU中的所有深度,支持的分割类型的数量可以是固定的。例如,在多个允许的划分模式中,对于树结构的每个非叶节点,可以存在相同数量的允许的划分模式。此外,如上所示,在其他示例中,支持的分割类型的数量可以取决于深度、切片类型、CTU类型或其他先前编码的信息。例如,对于树结构中的至少一个非叶节点,对于非叶节点的多个允许的划分模式中允许的划分模式的数量取决于以下至少一个:树结构中的非叶节点的深度、对应于树结构中的该非叶节点的视频块的尺寸、切片类型或先前编码的信息。
在一些示例中,当用非对称分割类型(例如,图3中所示的非对称二叉树分割类型,包括PART_2NxnU、PART 2NxnD、PART_nLx2N、PART_nRx2N)划分块时,从当前块中划分的最大子块不能被进一步划分。例如,对初始视频块如何编码的约束可以要求,当根据非对称划分模式将对应于树结构的任何非叶节点的视频块划分为多个子块时,多个子块的最大的子块对应于树结构的叶节点。
在一些示例中,当用非对称分割类型划分块时,从当前块中划分的最大子块不能在相同方向进一步划分。例如,对初始视频块如何编码的约束可以要求,当根据非对称划分模式将对应于树结构的任何非叶节点的视频块在第一方向上划分为多个子块时,该树结构不能包含对应于该多个子块中最大的子块的、在第一方向上从该多个子块的最大的子块划分的子块的节点。
在一些示例中,当块的宽度/高度不是2的幂时,不允许进一步进行进行水平/垂直划分。例如,对初始视频块如何编码的约束可以要求,对应于高度或宽度不是2的幂的视频块的树结构的节点为叶节点。
在一些示例中,在每个深度处,选择的分割类型的索引在比特流中被信令通知。因此,在一些示例中,视频编码器22可以在比特流中包括划分模式的索引,根据该划分模式,对应于树结构的非叶节点的视频块被划分为对应于该非叶节点的子节点的视频块。类似地,在一些示例中,视频解码器30可以从比特流中获得分割模式的索引,根据该分割模式,对应于树结构的非叶节点的视频块被划分为对应于该非叶节点的子节点的视频块。
在一些示例中,对于每个CU(叶节点),1比特的变换_划分标志被进一步信令通知,以指示是否用CU的相同尺寸来进行变换。如果变换_划分标志被信令通知为真,则CU的残差被进一步划分为多个子块,并对每个子块进行变换。因此,在一个示例中,对于树结构的至少一个叶节点,视频编码器22可以在比特流中包括一个语法元素。在这个示例中,具有第一值的语法元素指示具有与对应于叶节点的视频块相同尺寸的变换被应用于对应于叶节点的视频块的残差数据;具有第二值的语法元素指示具有比对应于叶节点的视频块更小尺寸的多个变换被应用于对应于叶节点的视频块的残差数据的子块。在相似的示例中,对于树结构的至少一个叶节点,视频解码器30可以从比特流中获得该语法元素。
在一些示例中,当CU中存在残差时,不信令通知划分标志,并且仅使用具有一个导出尺寸的变换。例如,对于树结构的至少一个叶节点,视频编码器22可以将相同的变换(例如,离散余弦变换、离散正弦变换等)应用于对应于与叶节点相对应的视频块的残差数据的不同部分,以将残余数据从样点域转换到变换域。在样点域中,残差数据以样点的值(例如,像素的分量)来表示。在变换域中,残差数据可以用频率系数来表示。同样地,对于树结构的至少一个叶节点,视频解码器30可以将相同的变换(即,逆离散余弦变换、逆正弦变换等)应用于对应于与叶节点相对应的视频块的残差数据的不同部分,以将残差数据从变换域转换到样点域。
在一些示例中,对于每个CU,如果CU没有被划分为方形四叉树或对称二叉树,则变换尺寸始终设置为等于分割尺寸的尺寸。例如,对于与根据方形四叉树划分模式或对称二叉树划分模式分割的视频块相对应的树结构的每个相应的非叶节点,应用于与相应的非叶节点的子节点相对应的视频块的残差数据的变换的变换尺寸总是被设置为等于对应于相应的非叶节点的子节点的视频块的尺寸。
图11是示出根据本公开的另一示例技术的视频编码器的示例操作的流程图。视频编码器22的一个或多个结构元件,包括预测处理单元100,可被配置为执行图11的技术。
在本公开的一个示例中,视频编码器22可以被配置为获得视频数据的图片。在块300处,视频编码器22确定根据包括叶节点的第一树结构将视频数据的编码图片分割为多个编码单元。第一树结构可以使用基于速率失真度量的搜索来确定。接下来在块302处,编码器22确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元。划分残差块的确定也可以基于使用速率失真度量的搜索。在块304处,视频编码器22基于第一树结构和第二树结构对图片进行编码。未示出的,视频编码器22还使用类似的技术对其他编码单元中的每一个进行编码。
图12是示出根据本公开的另一示例技术的视频解码器的示例操作的流程图。视频解码器30的一个或多个结构元件,包括熵解码单元150和/或预测处理单元152,可以被配置为执行图12的技术。
在本公开的一个示例中,视频解码器30被配置为接收编码的视频比特流,该编码的视频比特流形成视频数据的编码图片的表示。在块400处,视频解码器30确定根据包括叶节点的第一树结构将视频数据的编码图片分割为多个编码单元。在块402处,视频解码器确定根据第二树结构将叶节点的残差块递归地划分为多个变换单元。移动到块404,视频解码器30基于确定的第一树结构和第二树结构重构编码图片。视频解码器30可以应用类似的技术来重构图片的编码单元中的每一个。
为了说明的目的,已经针对HEVC标准的扩展描述了本公开的一些方面。然而,本公开中描述的技术可以对其他视频编码过程有用,包括其他标准或尚未开发的专有视频编码过程,包括VVC。
如本公开中所述,视频编码器可指视频编码器或视频解码器。类似地,视频编码单元可指视频编码器或视频解码器。同样地,如果适用,视频编码可以指视频编码或视频解码。在本公开中,短语“基于”可以指示仅基于、至少部分基于或以某种方式基于。本公开可以使用术语“视频单元”或“视频块”或“块”来指一个或多个样点块和用于对一个或多个样点块的样点进行编码的语法结构。视频单元的示例类型可以包括CTU、CU、PU、变换单元(TU)、宏块、宏块分割等。在一些上下文中,对PU的讨论可与对宏块或宏块分割的讨论互换。视频块的示例类型可以包括编码树块、编码块和视频数据块的其他类型。
应当认识到,根据示例,本文描述的技术中的任何一个的某些行为或事件可以以不同的顺序执行,可以被添加、合并或完全遗漏(例如,并非所有描述的行为或事件对于技术的实践是必要的)。此外,在某些示例中,行为或事件可以并发地执行,例如,通过多线程处理、中断处理或多个处理器,而不是顺序地执行。
在一个或多个示例中,所述功能可以在硬件、软件、固件或它们的任意组合中实施。如果以软件实施,则功能可以作为一个或多个指令或代码存储在计算机可读介质上,或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于有形介质,诸如数据存储介质,或包括便于(例如,根据通信协议)将计算机程序从一个地方传输到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质一般可以对应于(1)有形的计算机可读存储介质,其是非暂态性的,或者(2)通信介质,诸如信号或载波。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索用于实施本公开所述技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储设备,快闪存储器,或任何其它可用于以指令或数据结构形式存储所需的程序代码并且可由计算机访问的介质。并且,任何连接都适当地称为计算机可读介质。例如,如果指令使用同轴电缆、光纤电缆、双绞线、数字用户线(digitalsubscriber line,DSL)或无线技术(诸如红外、无线电和微波)从网站、服务器或其他远程源传输,那么同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电和微波)就包括在介质的定义中。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态性介质,而是针对非暂态的有形的存储介质。本文使用的磁盘(disk)与光盘(disc),包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘以及蓝光光盘,其中磁盘通常以磁方式复制数据,而光盘则使用激光以光学方式复制数据。上述组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或离散逻辑电路。因此,本文使用的术语“处理器”可以指任何上述结构或适合于本文所述技术的实施的任何其它结构。此外,在某些方面,本文所述的功能可以在配置为编码和解码的专用硬件和/或软件模块内提供,或者并入组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实施。
本公开的技术可以在各种各样的设备或装置中实施,包括无线手持设备、集成电路(IC)或IC集(例如,芯片集)。在本公开中描述了各种组件、模块或单元,以强调配置为执行所公开的技术的设备的功能方面,但不一定需要由不同的硬件单元实现。相反,如上所述,各种单元可以组合在编解码器硬件单元中,或由相互操作的硬件单元的集合提供,包括如上所述的一个或多个处理器,与合适的软件和/或固件联合。
已经描述了各种示例。这些和其它示例都在所附权利要求的范围内。

Claims (20)

1.一种用于解码视频数据的方法,所述方法包括:
接收编码的视频比特流,所述编码的视频比特流形成所述视频数据的编码图片的表示;
确定将所述视频数据的编码图片分割为多个编码单元,所述分割根据是第一树结构进行的,并且所述多个编码单元包括第一树结构的叶节点;
确定根据第二树结构将所述叶节点的残差块递归地划分为多个变换单元;以及
基于确定的第一树结构和第二树结构重构所述编码图片。
2.如权利要求1所述的方法,其中,根据四叉树、二叉树、非对称二叉树或三叉树中的至少一种,将所述残差块递归地划分为第二树结构。
3.如权利要求1所述的方法,还包括从所述编码的视频比特流中解码语法元素,所述语法元素指示在所述残差块的树中只允许单一的变换单元分割结构。
4.如权利要求1所述的方法,还包括从所述编码的视频比特流中解码对于所述多个变换单元中的每一个的语法元素,所述语法元素指示相应的变换单元被划分为的结构。
5.如权利要求1所述的方法,还包括从所述编码的视频比特流中解码对于所述多个变换单元的子集的语法元素,所述语法元素指示相应的变换单元组被划分为的结构。
6.如权利要求1所述的方法,还包括从所述编码的视频比特流中解码与变换单元树的根相关联的语法元素,所述语法元素指示所述树中的多个变换单元根据指定的变换进行变换。
7.如权利要求6所述的方法,其中所述语法元素指示所述多个TU共享参数,所述参数与增强型多重变换(EMT)、非分离型二次变换(NSST)或变换跳过(TS)中的一个相关联。
8.如权利要求1所述的方法,还包括从所述编码的视频比特流中解码与变换单元树的根相关联的语法元素,所述语法元素指示所述变换单元树的编码块标志或非零系数的最后位置中的至少一个。
9.一种用于编码视频数据的方法,所述方法包括:
获得用于编码成编码的视频比特流的图片;
确定将所述视频数据的图片分割为多个编码单元,所述分割是根据第一树结构进行的,并且所述多个编码单元包括第一树结构的叶节点;
确定根据第二树结构将所述叶节点的残差块递归地划分为多个变换单元;以及
基于确定的第一树结构和第二树结构,将所述图片编码成所述编码的视频比特流。
10.如权利要求9所述的方法,其中,根据四叉树、二叉树、非对称二叉树或三叉树中的至少一种,将所述残差块递归地划分为第二树结构。
11.如权利要求9所述的方法,还包括将语法元素编码到所述编码的视频比特流中,所述语法元素指示在所述残差块的树中只允许单一的变换单元分割结构。
12.如权利要求9所述的方法,还包括将对于所述多个变换单元中的每一个的语法元素编码到所述编码的视频比特流中,所述语法元素指示相应的变换单元被划分为的结构。
13.如权利要求9所述的方法,还包括将对于所述多个变换单元的子集的语法元素编码到所述编码的视频比特流中,所述语法元素指示相应的变换单元组被划分为的结构。
14.如权利要求9所述的方法,还包括将与变换单元树的根相关联的语法元素编码到所述编码的视频比特流中,所述语法元素指示所述树中的多个变换单元根据指定的变换进行变换。
15.如权利要求14所述的方法,其中所述语法元素指示所述多个TU共享参数,所述参数与增强型多重变换(EMT)、非分离型二次变换(NSST)或变换跳过(TS)中的一个相关联。
16.如权利要求9所述的方法,还包括将与变换单元树的根相关联的语法元素编码到所述编码的视频比特流中,所述语法元素指示所述变换单元树的编码块标志或非零系数的最后位置中的至少一个。
17.一种用于解码视频数据的装置,所述装置包括:
存储器,被配置为存储所述视频数据的编码图片;以及
视频处理器,被配置为:
接收编码的视频比特流,所述编码的视频比特流形成所述视频数据的编码图片的表示;
确定将所述视频数据的编码图片分割为多个编码单元,所述分割是根据第一树结构进行的,并且所述多个编码单元包括第一树结构的叶节点;
确定根据第二树结构将所述叶节点的残差块递归地划分为多个变换单元;以及
基于确定的第一树结构和第二树结构重构所述编码图片。
18.如权利要求17所述的装置,其中所述视频处理器还被配置为从所述编码的视频比特流中解码语法元素,所述语法元素指示在所述残差块的树中只允许单一的变换单元分割结构。
19.如权利要求17所述的装置,其中所述视频处理器还被配置为从所述编码的视频比特流中解码对于所述多个变换单元中的每一个的语法元素,所述语法元素指示相应的变换单元被划分为的结构。
20.如权利要求17所述的装置,其中所述视频处理器还被配置为从所述编码的视频比特流中解码语法元素,所述语法元素指示在所述残差块的树中只允许单一的变换单元分割结构。
CN201980022133.XA 2018-04-02 2019-04-02 用于视频编码中的变换的多类型树框架 Pending CN111903129A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862651689P 2018-04-02 2018-04-02
US62/651,689 2018-04-02
US16/372,249 US10972758B2 (en) 2018-04-02 2019-04-01 Multi-type-tree framework for transform in video coding
US16/372,249 2019-04-01
PCT/US2019/025372 WO2019195280A1 (en) 2018-04-02 2019-04-02 Multi-type-tree framework for transform in video coding

Publications (1)

Publication Number Publication Date
CN111903129A true CN111903129A (zh) 2020-11-06

Family

ID=68054053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980022133.XA Pending CN111903129A (zh) 2018-04-02 2019-04-02 用于视频编码中的变换的多类型树框架

Country Status (4)

Country Link
US (1) US10972758B2 (zh)
EP (1) EP3772262A1 (zh)
CN (1) CN111903129A (zh)
WO (1) WO2019195280A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019234604A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Extended quad-tree with asymmetric sub-blocks
US10743029B2 (en) * 2018-07-30 2020-08-11 Tencent America LLC Constraints on coding unit partition
US11496774B2 (en) * 2019-08-27 2022-11-08 Tencent America LLC Header syntax for QT/BT/TT size
JP2021057729A (ja) * 2019-09-30 2021-04-08 マクセル株式会社 画像符号化方法、画像符号化装置、画像復号方法および画像復号装置
WO2021155005A1 (en) * 2020-01-28 2021-08-05 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus on transform and coefficient signaling
JP7431995B2 (ja) 2020-02-21 2024-02-15 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9912944B2 (en) * 2012-04-16 2018-03-06 Qualcomm Incorporated Simplified non-square quadtree transforms for video coding
WO2017008263A1 (en) * 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
WO2017088810A1 (en) * 2015-11-27 2017-06-01 Mediatek Inc. Method and apparatus of entropy coding and context modelling for video and image coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10779004B2 (en) * 2016-10-12 2020-09-15 Mediatek Inc. Methods and apparatuses of constrained multi-type-tree block partition for video coding
US10848788B2 (en) * 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ADAM WIECKOWSKI等: "High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder Description Update 9", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11,28TH MEETING: TORINO, IT, 15–21 JULY 2017,NO. JCTVC-AB1002, 21 July 2017 (2017-07-21), pages 1 *
ADAM WIECKOWSKI等: "NextSoftware: An alternative implementation the Joint Exploration Model (JEM)", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11,8TH MEETING: MACAO, CN, 18–25 OCT. 2017,NO. JVET-H0084, 6 December 2017 (2017-12-06), pages 4 *
ZHAO WANG等: "Effective Quadtree Plus Binary Tree Block Partition Decision for Future Video Coding", 2017 DATA COMPRESSION CONFERENCE, IEEE, 4 April 2017 (2017-04-04), pages 1 *

Also Published As

Publication number Publication date
EP3772262A1 (en) 2021-02-10
WO2019195280A1 (en) 2019-10-10
US20190306538A1 (en) 2019-10-03
US10972758B2 (en) 2021-04-06

Similar Documents

Publication Publication Date Title
CN108464001B (zh) 用于视频译码的多类型树框架
CN110073661B (zh) 用于编码和解码视频数据的方法和装置
US11611757B2 (en) Position dependent intra prediction combination extended with angular modes
EP3485644B1 (en) Signaling of quantization information in non-quadtree-only partitioned video coding
EP3251354B1 (en) Contexts for large coding tree units
KR20190103167A (ko) 비디오 코딩을 위한 인트라 예측 기법들
US10972758B2 (en) Multi-type-tree framework for transform in video coding
US20190306506A1 (en) Limitation on the coding tree unit/block for next-generation video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination