CN113475068A - 视频编译码中通过广义帧内预测对子块进行编译码 - Google Patents

视频编译码中通过广义帧内预测对子块进行编译码 Download PDF

Info

Publication number
CN113475068A
CN113475068A CN202080016068.2A CN202080016068A CN113475068A CN 113475068 A CN113475068 A CN 113475068A CN 202080016068 A CN202080016068 A CN 202080016068A CN 113475068 A CN113475068 A CN 113475068A
Authority
CN
China
Prior art keywords
prediction
prediction block
block
pbg
video
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
CN202080016068.2A
Other languages
English (en)
Inventor
A.K.拉马苏布拉莫尼安
G.范德奥韦拉
C-T.谢
V.塞雷金
L.法姆范
M.卡尔切维茨
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 CN113475068A publication Critical patent/CN113475068A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

视频编译码器可以被配置为通过使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分来形成预测块集以对视频数据进行编译码。视频编译码器可将来自预测块集的多个预测块分组为第一预测块组(PBG)。视频编译码器可独立于第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。

Description

视频编译码中通过广义帧内预测对子块进行编译码
本申请要求于2020年2月25日递交的美国专利申请第16/800,467号的优先权,该专利要求于2019年2月28日递交的美国临时专利申请第62/812,078号、2019年3月12日递交的美国临时专利申请第62/817,474号,和2019年6月18日递交的美国临时专利申请第62/862,936号的优先权,每个申请的完整内容以引入的方式并入本文。
技术领域
本公开涉及视频编码和视频解码。
背景技术
数字视频功能能够集成到广泛的设备中,包含数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、便携式或台式计算机、平板电脑、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏机、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议设备、视频流设备等。数字视频设备实现视频编译码技术,比如那些在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频编译码(AVC)、ITU-T H.265/高效视频编译码(HEVC)所定义的标准以及这种标准的扩展中所描述的技术。通过实现这种视频编译码技术,视频设备可以更高效地发送、接收、编码、解码和/或存储数字视频信息。
视频编译码(例如,视频编码和/或视频解码)通常涉及从同一图像中的已编译码视频数据块(例如,帧内预测)或不同图像中的已编译码视频数据块(例如,帧间预测)预测视频数据块。视频编译码技术包含空域(图像内)预测和/或时域(图像间)预测来减少或消除视频序列中固有的冗余。对于基于块的视频编译码,可以将视频条带(例如,视频图像或视频图像的一部分)分割为视频块,其也可以被称为编译码树单元(CTU)、编译码单元(CU)和/或编译码节点。对于图像的帧内编译码的(I)条带中的视频块,可以使用相对于同一图像中相邻块中的参考样点的空域预测进行编码。对于图像的帧间编译码的(P或B)条带中的视频块,可以使用相对于同一图像中相邻块中的参考样点的空域预测或者相对于其他参考图像中的参考样点的时域预测。图像可以被称为帧,并且参考图像可以被称为参考帧。
发明内容
一般说来,本公开描述与使用帧内子分割(intra sub-partition,ISP)编译码将多个预测块编译码成预测块组相关的技术。具体地,视频编译码器(例如,视频编码器和/或视频解码器)可以将多个预测块(比如,编译码单元的多个子块)分组为预测块组。例如,单个预测块组可以包含编译码单元的多于一个预测块或子块。在一个示例中,第一预测块组可以包含编译码单元的第一子块和编译码单元的第二子块。
在一些示例中,视频编译码器可独立于包含在第一预测块组中的其他预测块的样点的重构而重构包含在同一预测块组中的预测块的样点。例如,视频编译码器可在重构包含在同一预测块组中的另一预测块的样点之前的情况下、不重构包含在同一预测块组中的另一预测块的样点的情况下、或与重构包含在同一预测块组中的另一预测块的样点并行地情况下,重构一个预测块的样点。在一些实例中,当使用帧内子分割进行编译码的实例来包含编译码单元的划分(比如垂直划分、水平划分和垂直划分的组合等)时,可以实现本公开的预测块分组技术。此外,可在预测块具有相对窄的维度(例如,窄的高度、窄的宽度等)时实现本公开的预测块分组技术,使得预测块的维度满足用于预测块分组的预定义阈值。本文中所描述的用于将预测块分组为预测块组的一种或多种技术可应用于现有视频编解码器中的任一者,比如HEVC(高效视频编译码)或H.266/通用视频编译码(VVC)标准,或可用于任何未来视频编译码标准中。
根据一个示例,公开了一种对视频数据进行编译码的方法。该方法包括:使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,预测块至少包括第一预测块和第二预测块;将来自该预测块集的多个预测块分组为第一预测块组(prediction block group,PBG);以及独立于该第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
根据另一个示例,公开了用于对视频数据进行编译码的设备。该设备包含被配置为存储视频数据的存储器和一个或多个处理器,该一个或多个处理器在电路中实现且被配置为使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,预测块至少包括第一预测块和第二预测块;将来自该预测块集的多个预测块分组为第一预测块组(PBG);以及独立于该第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
根据另一个示例,公开了非暂时性计算机可读存储介质。该非暂时性计算机可读存储介质在其上存储有指令,该指令在被执行时使得一个或多个处理器:使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,预测块至少包括第一预测块和第二预测块;将来自该预测块集的多个预测块分组为第一预测块组(PBG);以及独立于该第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
根据另一个示例,公开了用于对视频数据进行编译码的装置。该装置包含用于使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集的部件,预测块至少包括第一预测块和第二预测块;将来自该预测块集的多个预测块分组为第一预测块组(PBG);以及独立于该第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
在附图和以下说明书中阐述一个或多个示例的细节。根据说明书、附图及权利要求书,本公开中所描述的技术的其他特征、目的及优点将显而易见。
附图说明
图1是图示了可以执行本公开的技术的示例性视频编码和解码系统的框图。
图2是图示了示例性帧内预测模式的示图。
图3是图示了8×4矩形块的示例的框图。
图4A-4C是提供用于对角线方向范围之外的模式的(多个)模式映射过程的图示的框图。
图5是图示了VTM2中采用的广角的框图。
图6是图示了在VTM3中采用的更广的角度的框图。
图7是指定predModeIntra和VTM3中的角度参数intraPredAngle之间的映射表的表。
图8是图示了用于帧内子分割编译码的块的示例性分区的框图。
图9是图示了用于帧内子分割编译码的块的示例性分区的框图。
图10是图示了多参考行(reference line)预测的框图。
图11是图示了可如何将编译码块划分成四个水平平面预测块的示例的概念图。
图12是图示了可如何将编译码块划分成四个垂直平面预测块的示例的概念图。
图13是图示了这种平面预测块结构的示例的概念图。
图14是图示了如何将编译码块划分成四个预测块的框图。
图15是图示了使用帧内子分割和垂直分割对4×N编译码块进行编译码的示例的框图。
图16是图示了将M×N编译码块划分成四个预测块的示例的概念图。
图17是图示了针对使用帧内子分割编译码(ISP)和垂直划分进行编译码的4×N编译码块仅允许垂直帧内模式预测的示例的概念图。
图18是图示了使用ISP进行编译码并垂直划分的8×N(N>4)编译码块的示例的概念图。
图19A和19B是图示了示例性四叉树二叉树(QTBT)结构和相对应的编译码树单元(CTU)的概念示意图。
图20是图示了可以执行本公开的技术的示例性视频编码器的框图。
图21是图示了可以执行本公开的技术的示例性视频解码器的框图。
图22是图示了用于对当前块进行编码的示例性方法的流程图。
图23是图示了用于对当前块进行解码的示例性方法的流程图。
图24是图示了用于对视频数据的当前块执行预测块分组的示例性方法的流程图。
具体实施方式
一般说来,本公开描述与在帧内子分割(ISP)编译码中使用预测块组对预测块的编码和/或解码进行改进相关的技术。这些技术可应用于当前或未来的视频编译码标准,包含当前开发中的通用视频编译码(VVC)标准。
在一些示例中,视频编译码器可使用ISP编译码对视频数据块进行编译码。例如,视频编译码器可将视频数据块分割成子块(例如,预测块)。在一些示例中,子块可在一个或多个维度上具有相对窄的大小。在说明性示例中,编译码单元(CU)(比如编译码块)可具有宽度(W)×高度(H)的维度。在一个示例中,CU的W可等于4且H可等于N>0。在说明性示例中,视频编译码器可使用ISP编译码对4×N的CU进行编译码。例如,视频编译码器可以使用垂直划分或水平划分来分割CU。在另一个示例中,视频编译码器可以使用垂直划分和水平划分的组合。在这种情况下,视频编译码器可使用垂直划分来分割CU的第一一个或多个部分,且使用水平划分来分割同一CU的第二一个或多个部分。
在涉及垂直划分的示例中,得到的子块可具有1×N的大小。此外,N可以大于8(例如,H大于8)。在这样的示例中,视频编译码器可以利用样点的逐行存储。当视频编译码器使用样点的逐行存储时,比如维度低于预定义阈值的那些窄子块可导致视频编译码器执行低效且耗时的存储器访问过程。例如,在这样的实例中,当执行存储器访问过程时,视频编译码器然后可以从存储器访问(例如,读取)比子块中的样点数量更多数量的样点。当块的大小为M×N时,从存储器访问每行中的M个样点常常可能涉及开销,比如由于每次访问的最小样点数量的限制而访问多于M个样点。例如,给定的存储器访问过程可能需要视频编译码器在从另一行读取样点之前读取第一行的样点。在这些示例中,视频编译码器可接着在访问一个窄子块中的目标样点之前读取最少X个样点,其中X大于窄子块中的样点的数量。由于1×N和2×N子块的窄形状,这个问题由于窄子块的行的数量较大而加剧。例如,4×4CU可仅具有四行。在这些示例中,即使子块具有与4×4CU相同数量的样点,但是视频编译码器可能需要访问用于1×16子块的16行。尤其是在高分辨率序列中存在若干小编译码块的最坏情况下,得到的开销可能导致视频编译码器在编译码过程期间经历延迟。此外,CU中的子块的重构取决于编译码块中按解码顺序在前的其他子块的重构。在这种实例中,视频编译码器可能由于此性质的子块而在编码或解码CU中经历增加的延迟。
所公开的预测块分组技术可通过将预测块(例如,子块)分组为预测块组(PBG)且独立于包含在一个PBG中的其他预测块的样点来重构包含在同一PBG中的预测块的样点来解决上述问题以及其他问题。具体而言,可以使用帧内子分割(ISP)来垂直地、水平地或水平和垂直的组合地划分编译码单元,以形成预测块,然后可以将预测块分组为各种PBG。
可参照视频编译码器或参照视频编译码来描述本公开中的各种技术,该视频编译码器或视频编译码旨在是可指视频编译码器和视频编码或视频解码器的通用术语。除非另外明确说明,否则不应假定关于视频编码器或视频解码器描述的技术不能由视频编码器或视频解码器中的另一者执行。例如,在许多实例中,视频解码器执行与视频编码器相同或有时相反的编译码技术,以便对编码的视频数据进行解码。在许多情况下,视频编码器也包含视频解码回路,且因此视频编码器执行视频解码作为对视频数据进行编码的一部分。因此,除非另外说明,否则本公开中所描述的关于视频解码器的技术也可由视频编码器执行,且反之亦然。
图1是图示了可执行本公开的技术的示例视频编码和解码系统100的框图。本公开的技术一般指向对视频数据进行编译码(编码和/或解码)。一般说来,视频数据包含用于处理视频的任何数据。从而,视频数据可以包含原始的未编译码视频、编码的视频、解码的(例如,重构的)视频以及视频元数据(比如,信令数据)。
如图1所示,在本示例中,系统100包含提供将由目的地设备116进行解码和显示的编码的视频数据的源设备102。特别地,源设备102经由计算机可读介质110将视频数据提供给目的地设备116。该源设备102和该目的地设备116可以包括多种设备中的任何一种,包含台式计算机、笔记本(即膝上型计算机)、平板电脑、机顶盒、手持电话(比如智能手机)、电视、照相机、显示器设备、数字媒体播放器、视频游戏机、视频流设备等。在一些情况下,源设备102和目的地设备116可以被配备用于无线通信,并且因此可以被称为无线通信设备。
在图1的示例中,源设备102包含视频源104、存储器106、视频编码器200和输出接口108。目的地设备116包含输入接口122、视频解码器300、存储器120和显示器设备118。根据本公开,源设备102的视频编码器200和目的地设备116的视频解码器300可以被配置为应用用于广义帧内预测的技术。因而,源设备102表示视频编码设备的示例,而目的地设备116表示视频解码设备的示例。在其他示例中,源设备和目的地设备可以包含其他组件或布置。例如,源设备102可以从比如外部相机的外部视频源接收视频数据。同样,目的地设备116可以与外部显示器设备接口,而不是包含集成的显示器设备。
如图1所示的系统100仅是一个示例。一般说来,任何数字视频编码和/或解码设备都可以执行用于广义帧内预测的技术。源设备102和目的地设备116仅仅是这种编译码设备的示例,其中,源设备102生成用于传输到目的地设备116的编译码视频数据。本公开将“编译码”设备表示为执行数据编译码(编码和/或解码)的设备。从而,视频编码器200和视频解码器300表示编译码设备的示例,具体地,分别是视频编译码器和视频解码器。在一些示例中,设备102、116可以大体上对称的方式操作,使得设备102、116中的每个包含视频编码及解码组件。因此,系统100可支持视频设备102、116之间的单向或双向视频发送,例如,用于视频流、视频回放、视频广播或视频电话。
一般说来,视频源104表示视频数据源(即,原始的未编译码视频数据),并将视频数据的连续的图像(也称为“帧”)序列提供给视频编码器200,其对图像的数据进行编码。源设备102的视频源104可以包含视频捕获设备,比如相机、含有先前捕获的原始视频的视频档案和/或从视频内容提供商接收视频的视频馈送接口。作为进一步的替代方案,视频源104可以生成基于计算机图形的数据作为源视频,或者实况视频、存档视频和计算机生成视频的组合。在每种情况下,视频编码器200对捕获的、预捕获的或计算机生成的视频数据进行编码。视频编码器200可以将图像从接收顺序(有时称为“显示顺序”)重新排列为用于编译码的编译码顺序。视频编码器200可以生成包含编码的视频数据的比特流。然后,源设备102可以经由输出接口108将编码的视频数据输出到计算机可读介质110上,通过例如,目的地设备116的输入接口122进行接收和/或取得(retrieve)。
源设备102的存储器106和目的地设备116的存储器120表示通用存储器。在一些示例中,存储器106、120可存储原始视频数据(例如,来自视频源104的原始视频)和来自视频解码器300的原始的解码的视频数据。另外地或可替代地,存储器106、120可以分别存储可由例如,视频编码器200和视频解码器300执行的软件指令。尽管在本示例中存储器106和存储器120与视频编码器200和视频解码器300分开示出,但是应当理解的是,视频编码器200和视频解码器300还可以包含实现功能上相似或等效目的的内部存储器。进一步来说,存储器106、120可以存储例如,从视频编码器200输出并输入到视频解码器300的编码的视频数据。在一些示例中,存储器106、120的部分可以分配为一个或多个视频缓冲区,例如,用来存储原始的、解码的、和/或编码的视频数据。
计算机可读介质110可以表示能够将编码的视频数据从源设备102传输到目的地设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示用以使得源设备102能够例如,经由射频网络或基于计算机的网络将编码的视频数据实时地直接发送到目的地设备116的通信介质。根据比如无线通信协议的通信标准,输出接口108可以对包含编码的视频数据的传输信号进行调制,并且输入接口122可以对接收到的传输信号进行解调。通信介质可以包括任何无线或有线通信介质,比如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成比如局域网、广域网或比如因特网的全球网络的基于分组的网络的一部分。通信介质可以包含路由器、交换机、基站或有助于从源设备102到目的地设备116的通信的任何其他装备。
在一些示例中,计算机可读介质110可以包含存储设备112。源设备102可以将编码的数据从输出接口108输出到计算机可读介质110(例如,存储设备112)。类似地,目的地设备116可经由输入接口122从计算机可读介质110(例如,存储设备112)访问编码的数据。存储设备112可以包含各种分布式或本地访问的数据存储介质中的任何一种,比如硬盘、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器,或者用于存储编码的视频数据的任何其他合适的数字存储介质。
在一些示例中,计算机可读介质110可以包含文件服务器114或可存储由源设备102生成的编码的视频数据的另一中间存储设备。源设备102可将编码的视频数据输出到文件服务器114或可存储由源设备102生成的编码的视频的另一中间存储设备。目的地设备116可以经由流传输或下载来访问来自文件服务器114的存储的视频数据。文件服务器114可以是能够存储编码的视频数据并将编码的视频数据发送到目的地设备116的任何类型的服务器设备。文件服务器114可以表示(例如,用于网站的)网络服务器、文件传输协议(FTP)服务器、内容传递网络设备或网络附加存储(NAS)设备。目的地设备116可以通过包含因特网连接的任何标准数据连接来访问来自文件服务器114的编码的视频数据。这可以包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线路(DSL)、电缆调制解调器等)或者适合访问存储在文件服务器114上的编码的视频数据的二者的组合。文件服务器114和输入接口122可以被配置为根据流传输协议、下载传输协议或其组合来操作。
输出接口108和输入接口122可以表示无线发送器/接收器、调制解调器、有线网络组件(例如,以太网卡)、根据各种IEEE 802.11标准中的任何标准操作的无线通信组件,或其他物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置为根据比如4G、4G-LTE(长期演进)、LTE高级、5G或类似标准的蜂窝通信标准来传输比如编码的视频数据的数据。在输出接口108包括无线发送器的某些示例中,输出接口108和输入接口122可以被配置为根据其他无线标准,比如IEEE802.11规范、IEEE802.15规范(例如,ZigBeeTM)、BluetoothTM标准等来传输比如编码的视频数据的数据。在一些示例中,源设备102和/或目的地设备116可以包含各自的片上系统(system-on-a-chip,SoC)设备。例如,源设备102可以包含SoC设备来执行归于视频编码器200和/或输出接口108的功能,并且目的地设备116可以包含SoC设备来执行归于视频解码器300和/或输入接口122的功能。
本公开的技术可以应用于支持各种多媒体应用中的任何一种的视频编译码,比如空中电视广播、有线电视传输、卫星电视传输、比如基于HTTP的动态自适应流(DASH)的互联网流视频传输、编码到数据存储介质上的数字视频、对存储在数据存储介质上的数字视频进行解码或者其他应用。
目的地设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收编码的视频比特流。编码的视频比特流可包含也由视频解码器300使用的由视频编码器200定义的信令信息,比如具有描述视频块或其他编译码的单元(例如,条带、图像、图像组、序列等)的特性和/或处理的值的语法元素。显示器设备118向用户显示解码视频数据的解码图像。显示器设备118可以表示比如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类显示器设备的各种显示器设备中的任何一种。
尽管未在图1中示出,但在一些示例中,视频编码器200和视频解码器300中的每个可以与音频编码器和/或音频解码器集成在一起,并且可以包含适当的MUX-DEMUX单元或其他硬件和/或软件,来处理公共数据流中包含音频和视频的多路复用流。如果适用,MUX-DEMUX单元可以符合ITU H.223多路复用器协议或比如用户数据报协议(UDP)的其他协议。
视频编码器200和视频解码器300中的每个可以实现为各种合适的编码器和/或解码器电路中的任何一种,比如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当该技术部分地以软件实现时,设备可以将用于软件的指令存储在合适的非暂时计算机可读介质中,并使用一个或多个处理器在硬件中执行该指令来执行本公开的技术。视频编码器200和视频解码器300中的每个可以被包含在一个或多个编码器或解码器中,这两者都可以集成为各自设备中组合编码器/解码器(CODEC)的一部分。包含视频编码器200和/或视频解码器300的设备可以包括集成电路、微处理器和/或比如蜂窝电话的无线通信设备。
视频编码器200和视频解码器300可以根据视频编译码标准(比如ITU-T H.265,也称为高效视频编译码(HEVC),或其扩展(比如多视图和/或可缩放的视频编译码扩展)来操作。可替代地,视频编码器200和视频解码器300可以根据其他专有或工业标准来操作,比如联合探索模型(JEM)或ITU-TH.266,也称为通用视频编译码(VVC)。在以下中描述了VVC标准的最新草案:Bross等人的“通用视频编译码(草案4)”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家组(JVET),第13次会议:Marrakech,MA,2019年1月9日到18日,JVET-M1001-v2(下文中称为“VVC草案4”)。但是,本公开的技术不限于任何特定的编译码标准。
一般说来,视频编码器200和视频解码器300可以执行图像的基于块的编译码。术语“块”一般是指包含待处理的(例如,编码的、解码的或以其他方式在编码和/或解码过程中使用的)数据的结构。例如,块可以包含亮度和/或色度数据的样点的二维矩阵。一般说来,视频编码器200和视频解码器300可以对以YUV(例如,Y、Cb、Cr)格式表示的视频数据进行编译码。也就是说,视频编码器200和视频解码器300可以对亮度和色度分量进行编译码,其中色度分量可以包含红色和蓝色色度分量,而不是对图像的样点的红色、绿色和蓝色(RGB)数据进行编译码。在一些示例中,视频编码器200在编码之前将接收到的RGB格式的数据转换成YUV表示,并且视频解码器300将YUV表示转换成RGB格式。可替代地,预处理和后处理单元(未示出)可以执行这些转换。
本公开一般是指图像的编译码(例如,编码和解码),包含对图像数据进行编码或解码的过程。类似地,本公开可以表示对图像的块进行编译码以包含对块的数据进行编码或解码的过程,例如,预测和/或残差编译码。编码的视频比特流一般包含用于表示编译码决定(例如,编译码模式)和将图像分割为块的一系列语法元素的值。从而,对图像或块进行编译码的引用一般应理解为对形成图像或块的语法元素的值进行编译码。
HEVC定义各种块,包含编译码单元(CU)、预测单元(PU)和变换单元(TU)。根据HEVC,视频编译码器(比如视频编码器200)根据四叉树结构将编译码树单元(CTU)分割为CU。也就是说,视频编译码器将CTU和CU分割为四个相等的非重叠正方形,并且四叉树的每个节点具有零个或四个子代节点。没有子代节点的节点可以被称为“叶节点”,并且这种叶节点的CU可以包含一个或多个PU和/或一个或多个TU。视频编译码器可以进一步分割PU和TU。例如,在HEVC中,残差四叉树(RQT)表示TU的分割。在HEVC中,PU表示帧间预测数据,而TU表示残差数据。帧内预测的CU包含帧内预测信息,比如帧内模式指示。本公开一般可使用术语分割来将块表示为TU、PU或CU,或表示多个块或包含多个块的区域。
作为另一个示例,视频编码器200和视频解码器300可以被配置为根据JEM或VVC进行操作。根据JEM或VVC,视频编译码器(比如视频编码器200)将图像分割成多个编译码树单元(CTU)。视频编码器200可根据树结构(比如,四叉树-二叉树(QTBT)结构或多型式树(MTT)结构)来分割CTU。QTBT结构消除了多个分割类型的概念,比如HEVC的CU、PU和TU之间的区分。QTBT结构包含两级:根据四叉树分割而分割的第一级,和根据二叉树分割而分割的第二级。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于编译码单元(CU)。
在MTT分割结构中,可以使用四叉树(QT)分割、二叉树(BT)分割和一种或多种类型的三叉树(TT)分割来分割块。三叉树分割是将块划分成三个子块的分割。在一些示例中,三叉树分割将块分区为三个子块,而不通过中心对原始块进行分区。MTT中的分割类型(例如,QT、BT和TT)可以是对称的或不对称的。
在一些示例中,视频编码器200和视频解码器300可以使用单个QTBT或MTT结构来表示亮度分量和色度分量中的每个,而在其他示例中,视频编码器200和视频解码器300可以使用两个或更多个QTBT或MTT结构,比如用于亮度分量的一个QTBT/MTT结构和用于两个色度分量的另一QTBT/MTT结构(或用于各自色度分量的两个QTBT/MTT结构)。
视频编码器200和视频解码器300可以被配置为使用根据HEVC的四叉树分割、QTBT分割、MTT分割或其他分割结构。出于说明的目的,针对QTBT分割给出了本公开的技术的描述。然而,应该理解的是,本公开的技术还可以应用于配置使用四叉树分割或其他类型的分割的视频编译码器。
关于在垂直和水平维度方面的样点维度,例如,16×16样点或16乘16样点,本公开可以互换地使用“N×N”和“N乘N”来表示块(比如CU或其他视频块)。一般说来,16×16的CU在垂直方向上将有16个样点(y=16),在水平方向上将有16个样点(x=16)。同样地,N×N的CU一般地在垂直方向上具有N个样点,在水平方向上具有N个样点,其中N表示非负整数值。CU中的样点可以按行和列来排列。此外,CU在水平方向上不必具有与垂直方向上相同数量的样点。例如,CU可以包括N×M个样点,其中M不一定等于N。
视频编码器200对表示预测和/或残差信息以及其他信息的CU的视频数据进行编码。预测信息指示将如何预测CU以便形成用于CU的预测块。残差信息一般表示编码前CU的样点与预测块之间的逐样点差异。
为了预测CU,视频编码器200一般地可以通过帧间预测或帧内预测来形成用于CU的预测块。帧间预测一般是指从先前编译码的图像的数据中预测CU,而帧内预测一般是指从同一图像的先前编译码数据中预测CU。为了执行帧间预测,视频编码器200可以使用一个或多个运动向量来生成预测块。视频编码器200一般可以执行运动搜索以标识例如,在CU和参考块之间的差异的方面与CU紧密地匹配的参考块。视频编码器200可以使用绝对差之和(SAD)、平方差之和(SSD)、平均绝对差(MAD)、均方差(MSD)或其他这种差值计算来计算差值度量以确定参考块是否与当前CU紧密地匹配。在某些示例中,视频编码器200可以使用单向预测或双向预测来预测当前CU。
JEM和VVC的一些示例还提供仿射运动补偿模式,其可以视为帧间预测模式。在仿射运动补偿模式中,视频编码器200可以确定表示非平移运动的两个或更多个运动向量,比如放大或缩小、旋转、透视运动或其他不规则运动类型。
为了执行帧内预测,视频编码器200可以选择帧内预测模式来生成预测块。JEM和VVC的一些示例提供了六十七种帧内预测模式,包含各种方向的模式以及平面模式和DC模式。一般说来,视频编码器200选择帧内预测模式,其描述当前块(例如,CU的块)的相邻样点,以从其预测当前块的预测样点。假设视频编码器200以光栅扫描顺序(从左到右、从上到下)对CTU和CU进行编译码,则这种样点一般可以在与当前块相同的图像中在当前块的上方、左上方或左侧。
视频编码器200对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可以对数据进行编码,该数据表示使用了各种可用帧间预测模式中的哪一种以及对应模式的运动信息。对于单向或双向帧间预测,例如,视频编码器200可以使用高级运动向量预测(AMVP)或合并模式来对运动向量进行编码。视频编码器200可以使用类似模式来对仿射运动补偿模式的运动向量进行编码。
在预测(比如块的帧内预测或帧间预测)之后,视频编码器200可以计算块的残差数据。残差数据(比如残差块)表示块与该块的预测块之间的逐样点差异,预测块是使用对应预测模式形成。视频编码器200可以将一个或多个变换应用于残差块以在变换域而非样点域中产生变换数据。例如,视频编码器200可以将离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。此外,视频编码器200可以在一次变换之后应用二次变换,比如取决于模式的不可分二次变换(MDNSST)、取决于信号的变换、Karhunen-Loeve变换(KLT)等。视频编码器200在应用一个或多个变换之后产生变换系数。
如上所述,在进行任何变换以产生变换系数之后,视频编码器200可以对变换系数执行量化。量化一般是指对变换系数进行量化来可能地减少用于表示变换系数的数据量,从而提供进一步的压缩的过程。通过执行量化过程,视频编码器200可以减小与变换系数中的一些或所有相关联的比特深度。例如,视频编码器200可在量化期间将n比特值下舍入到m比特值,其中n大于m。在一些示例中,为了执行量化,视频编码器200可执行待量化的值的逐位右移。
量化之后,视频编码器200可以扫描变换系数,从而从包含量化的变换系数的二维矩阵中产生一维向量。可以将扫描设计为将较高能量(因此频率较低)的变换系数放在向量的前面,并将较低能量(因此频率较高)的变换系数放在向量的后面。在一些示例中,视频编码器200可以利用预定义的扫描顺序来对量化的变换系数进行扫描以产生序列化的向量,然后对向量的量化的变换系数进行熵编码。在其他示例中,视频编码器200可以执行自适应扫描。在对量化的变换系数进行扫描以形成一维向量之后,视频编码器200可以例如,根据上下文自适应二进制算术编译码(CABAC)来对一维向量进行熵编码。视频编码器200还可以熵编码用于语法元素的值,该语法元素描述与视频解码器300在解码视频数据中使用的编码的视频数据相关联的元数据。
为了执行CABAC,视频编码器200可以将上下文模型内的上下文分配给待发送的符号。例如,上下文可以涉及符号的相邻值是否是零值。概率确定可以是基于分配给符号的上下文。
视频编码器200可以进一步地例如,在图像标头、块标头、条带标头中生成到视频解码器300的语法数据,比如基于块的语法数据、基于图像的语法数据以及基于序列的语法数据,或者生成其他语法数据,比如序列参数集(SPS)、图像参数集(PPS)或视频参数集(VPS)。视频解码器300可以类似地对这种语法数据进行解码以确定如何解码对应视频数据。
以此方式,视频编码器200可以生成包含编码的视频数据的比特流,例如,描述将图像分割成块(例如,CU)的语法元素以及块的预测和/或残差信息。最终,视频解码器300可以接收比特流并且解码编码的视频数据。
一般说来,视频解码器300执行由视频编码器200执行的相反过程以对比特流的编码的视频数据进行解码。例如,视频解码器300可以使用CABAC,以与视频编码器200的CABAC编码过程基本相似(尽管与之相反)的方式,对比特流的语法元素的值进行解码。语法元素可以定义分割信息,该分割信息用于将图像分割为CTU和根据比如QTBT结构的对应分割结构对每个CTU进行分割以定义CTU的CU。语法元素可以进一步定义视频数据的块(例如,CU)的预测和残差信息。
例如,可以由量化的变换系数表示残差信息。视频解码器300可以逆量化和逆变换块的量化的变换系数以重现该块的残差块。视频解码器300使用信令通知的预测模式(帧内或帧间预测)和相关的预测信息(例如,用于帧间预测的运动信息)来形成块的预测块。然后,视频解码器300可以(在逐样点的基础上)组合预测块和残差块以重现原始块。视频解码器300可以执行附加过程(比如执行去方块过程)来减少沿块边界的视觉伪影。
根据本公开的技术,视频编码器200和/或视频解码器300可执行广义帧内预测。例如,视频编码器200和/或视频解码器300可对视频数据的当前编译码块的广义预测的性能的指示进行编译码;基于该指示将当前编译码块划分成一个或多个预测块;基于一个或多个预测块来定义一个或多个预测块组(PBG);确定PBG的编译码顺序;以编译码顺序对PBG进行编译码。
在一些示例中,视频编译码器(例如,视频编码器200和/或视频解码器300)可使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集。例如,视频编译码器可以执行CU的垂直划分或水平划分。在另一个示例中,视频编译码器可将CU的划分执行为CU的垂直划分与水平划分的组合。例如,视频编译码器可对CU的部分执行垂直划分且对CU的其他部分执行水平划分。在任何情况下,视频编译码器可经由各种划分或分割技术划分CU以形成预测块集。
在一些示例中,预测块可以包含至少第一预测块和第二预测块。在一些示例中,CU可包含单个预测块。预测块可以包含窄垂直块、窄水平块,或者垂直块和水平块的组合。应当注意,本文中的术语“窄”一般包含非正方形块(例如,矩形块等)。
此外,视频编译码器可以将多个预测块集分组为第一预测块组(PBG)。在一些示例中,PBG可以包含至少两个预测块。例如,PBG可以包含一个或多个垂直预测块、一个或多个水平预测块,或者垂直预测块和水平预测块的一个或多个组合。在另一个示例中,PBG可以包含单个预测块。此外,CU可以包含不同大小的PBG。例如,单个CU可以包含多个PBG,其中第一PBG通过对一个或多个预测块(例如,垂直、水平或垂直和水平块两者)进行分组而形成,且第二PBG通过对至少两个预测块(例如,垂直、水平或垂直和水平块两者)进行分组而形成。在一些示例中,单个CU可另外包含通过对至少两个预测块(例如,垂直块、水平块或垂直块与水平块两者)进行分组而形成的第三PBG,通过对至少三个预测块(例如,垂直、水平或两者)进行分组而形成的第四PBG等。
此外,一个或多个后续CU可包含预测块和/或PBG的相同或不同布置。例如,第二CU可以包含与一个或多个在前CU的分割相同或至少相似的分割。在另一个示例中,第二CU可以包含与一个或多个在前CU的分割方案不同的分割方案。例如,视频编译码器可使用垂直划分来分割第一CU、使用水平划分来分割第二CU、使用水平划分与垂直划分的组合来分割第三CU、使用不同类型的水平划分(例如,以相对于其他经分割预测块形成或多或少窄的预测块)或任何其他组合或变化来分割第四CU。
虽然本发明依据垂直划分或在一些情况下依据水平划分描述某些示例,但将理解,本发明的技术不限于如所描述的那样。在附加非限制性示例中且出于说明目的,视频解码器可使用相同分割方案分割多个CU,比如通过使用垂直划分来分割至少两个CU。视频编译码器可另外针对每个分割的CU以不同或相同方式对分割的预测块进行分组。例如,视频编译码器可对第一CU执行垂直划分以形成至少三个PBG的组,而视频编译码器可对一个或多个后续CU执行类似的垂直划分,但形成至少两个PBG。也就是说,从一个分割的CU到下一个分割的CU,每个CU的PBG的数目可不一定相等,即使在视频编译码器使用例如垂直划分来分割每个CU的情况下也是如此。将理解,为了简洁起见,不是所有选项都可以被明确地描绘,而是其他划分和/或分组选项可以通过本公开中描述的各种技术或技术的变型中的一个或多个来实现。此外,视频编译码器可执行这种PBG的独立重构,如上文所描述且如下文进一步描述。
视频编译码器接着可独立于第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。例如,视频编译码器可重构样点作为解码环路的一部分。在其他情况下,视频解码器300可划分CU以形成预测块集且将该预测块分组为PBG。
一般说来,本公开可以表示“信令通知”某些信息,比如语法元素。术语“信令通知”一般可以指对于语法元素和/或用于对编码的视频数据进行解码的其他数据的值的通信。也就是说,视频编码器200可以在比特流中用信令通知语法元素的值。一般说来,信令通知是指在比特流中生成值。如上所述,源设备102可以基本上实时地(或非实时地,比如可能在将语法元素存储到存储设备112以供稍后由目的地设备116取得时发生)将比特流传送到目的地设备116。
图2是图示了示例性帧内预测模式的示图。帧内预测的示例是广角帧内预测。在一些示例中,亮度块的帧内预测包含35种模式,包含平面预测模式、DC预测模式和33个角度(或方向)预测模式。例如,在一些情况下,对于正方形块的方向预测可以使用在当前块250的-135度到45度之间的方向,比如在VVC测试模型2(VTM2)中(参见J.Chen,Y.Ye和S.Kim等人的“通用视频编译码和测试模型2的算法描述(VTM2)”,第11次JVET会议,Ljubljana,SI,2018年7月,JVET-K1002),如图2所示。帧内预测的35个模式被索引,如下面的表1所示。
表1-帧内预测模式和相关联的名称的规范
帧内预测模式 相关联的名称
0 INTRA_PLANAR
1 INTRA_DC
2..34 INTRA_ANGULAR2..INTRA_ANGULAR34
在VTM2中,用于指定用于帧内预测的预测块的块结构不限于正方形(宽度w=高度h)。例如,矩形预测块(w>h或w<h)可以基于内容的特性来增加编译码效率。
在这样的矩形块中,将帧内预测的方向限制在-135度到45度的范围内可以导致使用更远的参考样点而不是更接近的参考样点用于帧内预测的情况。这种设计可能对编译码效率有影响。放宽限制范围可能更有利,使得更接近的参考样点(超过-135到45度角)可用于预测。这种情况的示例在图3中给出。
图3是图示了8×4矩形块的示例的框图。在图3的示例中,因为帧内预测方向的限制在-135度到45度的范围内,不使用“更接近”的参考样点(由圆圈3002指示),但可使用“更远”的参考样点(由圆圈3006指示)。也就是说,在图3的示例中,可以使用-135度内但比由圆圈3002指示的那些更远的一些参考样点,而不使用尽管比其他样点更接近的一些参考样点,例如,比由圆圈3006指示的样点更接近。
图4A-4C是提供用于对角线方向范围之外的模式的(多个)模式映射过程的图示的框图。在图4A的示例中,正方形块CU 402不需要角度模式重新映射。图4B图示了用于水平非正方形块CU 404的角度模式重新映射。图4C图示了用于垂直非正方形块CU 406的角度模式重新映射。
图5是图示了在VTM2中采用的广角帧内预测的框图。在一些示例中,广角帧内预测包含针对正方形和非正方形块,比如块550的角帧内预测。
在第12次JVET会议期间,广角帧内预测的修改被采纳到VVC测试模型3(VTM3)中,其细节可从以下获得:(i)L.Zhao、X.Zhao、S.Liu和X.Li的“CE3相关的:用于正方形和非正方形块的角度帧内预测的统一,”第12次JVET会议,Macau SAR,CN,2018年10月,JVET-L0279;(ii)J.Chen、Y.Ye和S.Kim的“通用视频编译码和测试模型3(VTM3)的算法描述”,第12次JVET会议,Macau SAR,CN,2018年10月,JVET-L1002;以及(iii)B.Bross、J.Chen和S.Liu的“通用视频编译码(草案3)”,第12次JVET会议,Macau SAR,CN,2018年10月,JVET-L1001。
该采用包含两处修改以统一正方形和非正方形块的角度帧内预测。首先,可以修改角度预测方向以覆盖所有块形状的对角线方向。其次,对于所有的块长宽比(正方形和非正方形),角度方向可以保持在左下对角线方向与右上对角线方向之间的范围内,如图4A-4C中所示并且如上所述。此外,对于所有块形状,顶部参考行和左侧参考列中的参考样点的数量被限制为2*宽度+1和2*高度+1。在图5的示例中,除了65个角度模式之外还描绘了广角(-1至-10,和67至76)。
图6是图示了用于VTM3中采用的块650的预测的更广的角度的框图。尽管VTM3为任何块大小定义了95个模式,但只能允许67个模式。所允许的精确模式取决于块宽度与块高度的比率。这是通过限制特定块大小的模式范围来实现的。图6提供了超过模式2和66的VTM3中对于总共93个角度模式的宽角(-1至-14,和67至80)的图示。
图7是提供predModeIntra和角度参数intraPredAnglein VTM3之间的示例性映射的示例性映射表,其进一步的细节可从以下中获得:B.Bross、J.Chen和S.Liu的“通用视频编译码(草案3)”,第12次JVET会议,Macau SAR,CN,2018年10月,JVET-L1001。在下文中,具有正的intraPredAngle值的角度模式被称为正的角度模式(模式索引<18或>50),而具有负的intraPredAngle值的角度模式被称为负的角度模式(模式索引>18且<50)。
如下等式(1)所示,基于IntraPredAngle推导逆角度参数invAngle:
Figure BDA0003224275210000191
注意,作为32的倍数的intraPredAngle值(即,本示例中的0、32、64、128、256、512的值)对应于来自非分数参考阵列样点的预测,如VTM3规范中的情况。下表2图示了与各种块长宽比对应的对角模式。
表2-与各种块长宽比对应的对角模式。
块长宽比(W/H) 对角模式
1(正方形) 2、34、66
2 8、28、72
4 12、24、76
8 14、22、78
16 16、20、80
1/2 -6、40、60
1/4 -10、44、56
1/8 -12、46、54
1/16 -14、48、52
在本公开的以下部分中描述帧内子分割编译码。帧内子分割编译码(ISP)(S.DeLuxán Hernández,H.Schwarz,D.Marpe,T.Wiegand(HHI)“CE3:基于行的帧内编译码模式”,JVET-L0076)是一种将编译码块(例如,编译码单元)划分或分割成多个子块的方法。例如,可将编译码单元划分或分割成两个子块、四个子块等。在一些实例中,子块可称为预测块。在一些示例中,在按照解码顺序重构后续子块之前,按照解码顺序重构编译码块内的每个子块。在VVC的第四工作草案(下文中称为“VVC WD4”并且可在phenix.it-sudparis.eu/ jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M1001-v2.zip处获得)中,可以仅将ISP应用于亮度编译码块。在这样的示例中,用于这些ISP编译码块的参考样点被限制为来自最接近编译码块的参考行(参考MRLIdx=0,如下面参考多参考行预测所讨论的)。
图8和9是图示了用于ISP编译码的块的示例性分区的框图。图8图示了4×8和8×4块的分区的示例。图9图示了除4×8、8×4和4×4块之外的所有块的分区的示例。
一比特用于信令通知编译码块是否被划分成帧内子分割,并且第二比特用于指示划分类型。示例性划分类型包含水平划分、垂直划分、垂直和水平划分等。基于所使用的帧内模式和划分类型,可以使用两种不同类型的处理顺序,其被称为正常顺序和相反的处理顺序。在正常顺序中,待处理的第一子分割是含有CU的左上样点,然后继续向下(水平划分)或向右(垂直划分)的子分割。另一方面,相反的处理顺序或者以包含CU的左下样点的子分割开始并继续向上(水平划分),或者以含有CU的右上样点的子分割开始并继续向左(垂直划分)。
在一些示例中,ISP的变化可仅使用正常处理顺序,比如在VVC WD4中。应注意,术语“子块”和“子分割”在本文中可互换使用。在任何情况下,这两个术语是指通过使用ISP分割编译码块而获得的块。
以下用斜体示出了与VVC WD4中的ISP相关联的一些语法(例如,表3和表4)和语义,以指示相关语法:
表3-编译码单元的语法表
Figure BDA0003224275210000201
Figure BDA0003224275210000211
表4-变换树的语法表
Figure BDA0003224275210000212
Figure BDA0003224275210000221
Figure BDA0003224275210000231
编译码单元的语义
intra_subpartitions_mode_flag[x0][y0]等于1指定当前帧内编译码单元被分割成NumIntraSubPartitions[x0][y0]个矩形变换块子分割。intra_subpartitions_mode_flag[x0][y0]等于0指定当前帧内编译码单元未被分割成矩形变换块子分割。
当intra_subpartitions_mode_flag[x0][y0]不存在时,intra_subpartitions_mode_flag的值被推断为等于0。
在一些示例中,帧内子分割划分标志可用于指示划分类型或多个划分类型。例如,intra_subpartitions_split_flag[x0][y0]可以指定划分类型或各种划分类型的数量。在一些示例中,帧内子分割划分标志可指示帧内子分割划分类型是水平、垂直、矩形、垂直与水平的混合还是任何其他划分类型。当intra_subpartitions_mode_flag[x 0][y 0]不存在时,视频编译码器可推断标志等于0。
变量IntraSubPartitionsSplitType指定用于当前亮度编译码块的划分类型,如下表5所图示。IntraSubPartitionsSplitType推导如下:
如果intra_subpartitions_mode_flag[x0][y0]等于0,IntraSubPartitionsSplitType设置为等于0.
否则,IntraSubPartitionsSplitType设置为等于1+intra_subpartitions_split_flag[x0][y0]。
表5-IntraSubPartitionsSplitType名称关联
Figure BDA0003224275210000232
Figure BDA0003224275210000241
变量NumIntraSubPartitions指定了帧内亮度编译码块被分区成的变换块子分割的数量。NumIntraSubPartitions推导如下:
-如果IntraSubPartitionsSplitType等于ISP_NO_SPLIT,则将NumIntraSubPartitions设置为等于1。
否则,如果以下条件之一为真,则将NumIntraSubPartitions设置为等于2:(1)cbWidth等于4且cbHeight等于8,或(2)cbWidth等于8且cbHeight等于4。否则,将NumIntraSubPartitions设置为等于4。
将在本公开的以下部分中描述多参考行预测。编译码块邻域内的样点用于块的帧内预测。典型地,最接近编译码块的左边界和上边界的重构参考样点行被用作帧内预测的参考样点。在一些示例中,例如,在VVC WD4中,视频编译码器可使用其他样点作为参考样点,比如编译码块或CU的邻域中的样点。
图10是图示了可以用于帧内预测的参考样点行的框图。对于每个编译码块,信令通知指示所使用的参考行的索引。
在一些示例中,比如在VVC WD4中,视频编译码器可仅使用MRLIdx等于0、1或3的参考行。视频编译码器可用截断的一元码字来对到用于编译码该块的参考行的索引(例如,分别指示具有MRLIdx 0、1和3的行的值0、1和2)进行编译码。平面模式和DC模式不被用于所使用的具有MRLIdx>0的参考行。
在一些示例中,块(例如,编译码单元(CU))的帧内子分割(ISP)编译码可导致在一个或多个维度上具有非常小的大小的子块(例如,预测块)。例如,当视频编译码器使用ISP编译码对大小为4×N(W×H)的编译码块进行编译码并且使用垂直划分时,当N大于8时,所得到的子块的大小是1×N。在依赖于样点的按行存储的实现方式中,越来越窄的子块可导致比子块中的样点数量多的样点的存储器访问。当块的大小为M×N时,从存储器访问每行中的M个样点可能经常涉及开销,比如由于每次访问的最小样点数的限制而访问多于M个样点。
由于1×N和2×N块的窄形状,这个问题可能由于窄块的行的数量较大而加剧。例如,4×4块可仅具有四行。尽管1×16子块具有与4×4块相同数量的样点,但具有16行待访问。在延迟临界情况下,特别是在高分辨率序列中存在若干小编译码块的最坏情况下,所得到的开销可能具有问题。因为在编译码块中的子块的重构可能依赖于在解码顺序之前的编译码块中的其他子块的重构,所以这些子块可能增加用于解码块的延迟,这可能是不期望的。
提出了一些解决问题的方法。然而,所提出的解决方案中的每个都涉及可能导致编译码低效的缺点。一种提出的解决方案是禁用分别导致大小为1×N和2×N的块的4×N和8×N块的垂直划分。然而,所提出的解决方案可能降低ISP的效率。另一种提出的解决方案(即,在S.De Luxán Hernández,V.George,J.Ma,T.Nguyen,H.Schwarz,D.Marpe,T.Wiegand(HHI),“CE3:帧内子分割编译码模式”,JVET-M0102中)是将1×N子块的预测限制到VER预测模式,以便它们不依赖于编译码块中其他子块的重构。然而,所提出的解决方案还导致对编译码块所允许的帧内模式的限制,这导致编译码效率低下。
本公开提出了用于改进CU的子分割编译码的设计的技术。本文所公开的技术中的一个或多个可单独实现或以任何组合一起实现。
根据所提出的第一技术,视频编译码器(例如,视频编码器200和/或视频解码器300)可执行子块(例如,预测块)的广义预测。作为一个示例,视频编译码器可对对编译码块执行广义预测的指示(例如,语法元素)进行编译码。在一些示例中,执行广义预测的指示可涉及用ISP对编译码块进行编译码的指示。在一些示例中,对执行广义预测的指示可仅应用于具有特定特性的块,例如,当块宽度在阈值范围内时,或者当块高度在阈值范围内时,或者当块中样点的数量在阈值范围内时,或者当块宽度和块高度的总和在阈值范围内时,或者当块宽度和块高度的最小值或最大值在阈值范围内时。在一些示例中,对于块,可以从块的允许的帧内模式集中定义帧内模式子集。在此些示例中,可仅在用属于该子集的帧内模式对块进行编译码时将广义预测应用于块。在一些示例中,可以通过块属性/特性、帧内模式和相邻块的属性来推断该指示,或者可以不使用显式信令通知。例如,当块宽度小于特定阈值时,可以应用广义预测。
作为另一个示例,基于执行广义预测的指示,视频编译码器可将编译码单元划分成一个或多个预测块。
作为另一个示例,视频编译码器可定义一个或多个预测块组(PBG)。PBG可以包含一个或多个预测块。PBG中任何样点的预测可以不直接依赖于PBG中任何其他样点的预测的值。例如,视频编译码器可以独立于包含在第一PBG中的其他预测块的样点来重构包含在相同PBG中的预测块的样点。以此方式,第一PBG中的样点的预测不依赖于第一PBG中的其他样点的预测的值。
在一些示例中,每个PBG恰好含有一个预测块。在一些示例中,每个PBG可以含有nPB个预测块(例如,预测块数目)。在这些示例中,视频编译码器可基于编译码单元的宽度和高度来确定nPB的值。在另一个示例中,视频编译码器可基于编译码单元的样点的数量或基于样点的数量以及编译码单元的宽度和高度来确定nPB的值。在一些示例中,视频编译码器还可使用划分类型(例如,水平、垂直、矩形、水平与垂直的混合等)和/或帧内模式(例如,角度等)来确定编译码单元或编译码块的nPB的值。在一些示例中,视频编译码器可指定形状不是矩形的预测块。
在一些示例中,可以放宽对“PBG中的任何样点的预测可能不依赖于PBG中的任何其他样点的预测值”的限制。例如,当将某些滤波操作应用于可能导致PBG内的样点的预测值之间的相关性的预测块时,只要常规帧内预测(没有后预测滤波操作)不导致相关性,则PBG内的样点的预测相关性的限制可能仍然被认为是有效的。例如,由于位置相关帧内预测组合(position dependent intra prediction combination,PDPC)、边界滤波或其他类似操作,限制可能不适用于相关性。在一些示例中,编译码块中的每个预测块可包含于一个且仅一个PBG中。在一些示例中,该限制可以更严格。例如,可以限制编译码块中的每个预测块必须包含在一个PBG和仅一个PBG中。
作为另一个示例,视频编译码器可指定PBG的解码顺序;可以定义解码顺序,使得当在解码顺序中PBG P1在PBG P2之前时,P1中的样点不依赖于P2中的样点。
作为另一个示例,对于每个PBG,视频编译码器可指定一组可用参考样点(下文描述)。
作为另一个示例,视频编译码器可基于PBG的可用参考样点和用于预测的帧内模式获得PBG中的样点的预测值。
根据所提出的第二技术,视频编译码器可以执行广义平面预测。作为一个示例,视频编译码器可定义用于编译码块的预测块集。在一些示例中,视频编译码器可用平面模式对预测块中的一个或多个进行编译码。视频编译码器可执行确定以通过以下中的一个或多个将编译码块划分成平面预测块:
1.在比特流中的指示(例如,标志),其指示块将被划分成平面预测块。在一些示例中,编译码块可以被指示为通过平面模式被编译码。在另一个示例中,该指示可以是使用ISP对编译码块进行编译码。
2.平面预测块可以由单独的模式值MPPB来指示。当指示用MPPB对块进行编译码时,将块划分成平面预测块。
3.可以基于某些块特性和比特流中的其他语法元素来推断该确定。例如,可以将具有特定最大样点数量并用ISP编译码的块划分成平面预测块。
在一些示例中,视频编译码器可通过以下各项中的一个或多个来确定平面预测块的数量NPPB和划分决定:NPPB可以在比特流中用信令通知(例如,对于所有块或对于具有特定特性的块)或者基于块特性和比特流中的其他语法元素来推导。例如,NPPB可以被设置为等于编译码块的帧内子分割块的数量。在其他示例中,NPPB的值可以被设置为等于4。划分方向或方法可由块特性确定或从比特流中的语法元素推导。
在一些示例中,块可以被水平地划分成NPPB个平面预测块。水平划分的决定例如,可以通过是否指示了水平划分方向来确定。
图11是图示了可如何将编译码块划分成四个水平平面预测块的示例的概念图。
在一些示例中,视频编译码器可将块垂直地划分成NPPB个平面预测块。例如,视频编译码器可以基于是否指示了垂直划分方向来确定是否垂直划分。
图12是图示了可如何将编译码块划分成四个垂直平面预测块的示例的概念图。
在一些示例中,视频编译码器可水平地和垂直地划分块,从而导致总共NPPB个平面预测块。视频编译码器可基于块的一个或多个特性(例如,CU的特性)来确定是否水平地和垂直地划分。在一些示例中,当没有指示划分方向时,视频编译码器可确定是否水平和垂直划分。
在一些示例中,可将块划分成NPPB个矩形区域,其共享与编译码块相同的左上样点,且每一矩形区域连续地含有其之前的矩形区域。从被定义为第一平面预测块的最小块开始,属于下一个矩形区域但不属于前一个矩形区域的样点被称为构成后续平面预测块。图13是图示了这种平面预测块结构的示例的概念图。
在一些示例中,视频编译码器还可通过类似于平面预测模式的方法来预测平面预测块。
在一些示例中,视频编译码器可定义预测块的编译码顺序。例如,可以通过考虑以下(a.至d.)来定义编译码顺序:
a.为每个预测块分配代表性样点;例如,预测块的左上样点。在一些情况下(非矩形块),可以不定义左上样点,并且可以将代表性样点指定为预测块的最顶行样点中的最左边样点。必须理解,也可以用代表性样点的其他定义来指定编译码顺序。
b.定义代表性样点的扫描顺序(例如,光栅扫描、Z字形扫描)。
c.具有在扫描顺序上较早的代表性样点的预测块比具有在扫描顺序上较晚的代表性样点的预测块被较早地编译码。
d.也可以为预测块组指定编译码顺序的类似定义。
在一些示例中,视频编译码器可指定包含一个或多个平面预测块的平面预测块组(平面PBG),类似于上文论述的PBG的思路。
可通过跨编译码块内的预测块边界应用滤波来平滑平面预测块之间的边界。这种滤波的一个示例是低通滤波。第二个示例是在PDPC模式下执行的处理。第三个示例是去方块滤波过程。这些过程可以作为预测之后的第二过程步骤或作为后处理步骤来应用。
应理解,平面预测块的上述示例仅是用于说明该概念的一些示例。可将编译码块中的样点划分成定义为平面预测块的空域区域,且可将本申请案中公开了的一种或多种方法应用于这些空域区域。
此外,如本文中所使用的术语块(编译码块、预测块等)可应用于亮度块或色度块(或两者),或大体上应用于对视频的任何分量的块进行编译码。
根据第三提出的技术,视频编译码器可以确定参考样点的可用性。对于每个PBG,可以如下指定可用参考样点:
在一些示例中,可用参考样点集对于编译码块中的所有预测块是相同的。这种系统可以有多种实现方式。作为一个示例,参考样点推导过程不变,并对预测过程做出改变。针对编译码块一次推导出可用的参考样点集。在一些示例中,可对预测过程作出改变以确保参考样点可不与预测块紧邻,或如由相对于预测块的MRLIdx所指定。
在一些示例中,改变参考样点推导,并且不改变预测过程。在这样的示例中,预测块的可用参考样点是从编译码块的可用参考样点集中推导的。该推导可导致在对应于所使用的参考样点行的位置处(即,基于MRLIdx的值)的预测块的参考样点的推导的值。
在一些示例中,将来自解码顺序中的先前PBG的预测样点标记为不可用。
在一些示例中,除了来自相邻编译码块的参考样点之外,同一编译码块的先前编译码的PBG的经处理的值可用于PBG的帧内预测。作为一个示例,经处理的值指的是PBG的重构样点。作为另一个示例,经处理的值指的是在环路滤波/后滤波操作之前的PBG的重构样点。作为另一个示例,经处理的值是指PBG的预测的样点。
根据所提出的第四技术,视频编译码器可以执行变换编译码。可通过本文中所描述的一种或多种方法来执行对块中的样点的预测。然而,本节中的技术也可应用于对未使用如上所述的广义预测来预测的编译码块。
在一些示例中,视频编译码器可将变换应用于PBG中的残差样点。可以定义可应用形状的集合,使得视频编译码器可以将变换应用于可应用形状的所有样点。例如,适用的形状可以包含正方形和/或矩形形状。在一些示例中,可通过将整个编译码块作为一个块来执行该块的变换编译码。在这些示例中,可将仅一个变换编译码应用于编译码块中的样点,而不管其中定义的预测块的数量。在一些示例中,当PBG的形状是其上可应用变换的可应用形状时,视频编译码器可将变换编译码应用于PBG。例如,如果PBG中的样点形成矩形区域,则可以将变换应用于PBG的样点。在一些示例中,视频编译码器可将变换编译码应用于PBG中的样点的一个或多个子集,使得每个这样的子集中的样点形成可应用形状。作为一个示例,PBG的子集可以被约束为相互排斥。作为另一个示例,可以将PBG的子集共同地约束为包含PBG的所有样点。
在一些示例中,应用变换还可以包含对块的变换跳过决定,由此块的样点值不变,应用恒等变换,或者应用缩放的恒等变换。作为一个示例,视频编译码器可利用变换跳过对PBG中的一些预测块进行编译码。此外,视频编译码器可以用其他类型的变换对一些预测块进行编译码。可以推断(例如,基于块特性、帧内模式、相邻块)或在比特流中用信令通知应用变换核或变换跳过的决定。
在一些示例中,可针对变换编译码定义与所指定的预测块不同的子块分割方案。可以使用与针对预测块所定义的变换子块类似的变换子块来定义变换块组(TBG)。上述一种或多种技术可应用于TBG。例如,当帧内子分割导致大小为2×N的子块(预测块的大小可以为2×N)时,变换块可以被定义为1×N,并且每个变换块被独立地变换编译码。在另一个示例中,预测块的大小可以是2×N,预测块组的大小可以是4×N,且变换块的大小可以是4×N。在另一个示例中,对于8×N编译码块,预测块的大小可为2×N、预测块组的大小可为4×N,且变换块的大小可为2×N。
根据所提出的第五技术,视频编译码器可以不允许某些帧内模式。针对块的帧内预测定义了几种帧内模式(例如,角度和非角度)。对于PBG,可以仅将帧内模式的子集指定为允许的模式。换言之,对于PBG可以不允许某些帧内模式。可以通过考虑以下各项中的一个或多个来实现对不允许的帧内模式的确定:(1)划分方向,(2)编译码块宽度、高度,或宽度和高度的函数,(3)预测块宽度、高度,或宽度和高度的函数,或(4)相邻编译码块的上述块特性,以及用于对相邻编译码块进行编译码的帧内模式。
应理解,以上描述(包含示例)绝不限制所涉及的技术,且可与本文件中未描述的其他方法组合。一个或多个确定或指示还可取决于其他条件,包含瓦片组类型、分割类型、一个或多个相邻块的特性(宽度、高度、帧内模式、预测类型)等。
以下是上述技术的两个具体示例。
在第一个示例中,预测块组(PBG)被指定为具有四个样点的最小宽度。例如,大小为4×N的编译码块的垂直分割可导致宽度为1或2的子块,而8×N编译码块的垂直分割可导致宽度为2或4的子块。
图14是图示了如何将编译码块1402划分成四个预测块(PB1-PB4)的框图。在说明性示例中,编译码块1402可以是视频编译码器用ISP且用垂直划分进行编译码的8×N编译码块。在本示例中,预测块PB1、PB2、PB3和PB4的大小为2×N。预测块组PBG1和PBG2被定义为具有4个样点的最小宽度(nW)。例如,PBG1是大小为4×N的预测块组,并且PBG2也是大小为4×N的第二预测块组。根据相邻参考样点预测PBG1的样点。在一些示例中,PBG1中的样点的预测值可以不取决于PBG1中的其他样点值。根据相邻参考样点和根据PBG1的预测样点来预测PBG2的样点。
在一些示例中,可将变换块(例如,变换单元(TU))定义为具有与预测块相同的大小。例如,视频编译码器可以将TU的大小确定为等于包含在PBG中的任何一个预测块的大小。
在一些示例中,可以根据来自相邻编译码块的参考样点以及根据属于PBG1的区域的重构样点,或仅根据来自相邻编译码块的参考样点来预测PBG2的样点。
图15是图示了视频编译码器可使用ISP和垂直分割对编译码块1502进行编译码的示例的框图。在说明性示例中,编译码块1502可以是4×N编译码块。在这样的示例中,预测块(PB1-PB4)的大小可以是1×N。在一些示例中,PBG可以被定义为具有至少四个样点的宽度。在这样的示例中,视频编译码器可以将四个预测块(PB1-PB4)分组为一个预测块组(例如,PBG1)。同样地,PBG1可以是大小为4×N的PBG。
在一些情况下,广义预测(指定本文中所描述的预测块及预测块组)仅应用于满足一个或多个标准的块的子集,该标准可取决于块大小、块形状、子块宽度及高度、帧内模式等。例如,该条件可以仅应用于生成具有小于或等于2的宽度的子块的编译码块。在其他情况下,该条件可应用于具有小于或等于32个样点的样点总数的子块。
在另一个示例中,根据相邻编译码块的重构参考样点来预测编译码块的所有预测块的样点。在这些示例中,在编译码单元的预测块内不存在对预测的相关性。在一些示例中,变换单元大小可等于预测块的大小。
图16是图示了将M×N编译码块1602划分成四个预测块(例如,PB1-PB4)的示例的概念图。在说明性示例中,预测块(PB1-PB4)具有(M/4)×N的大小。参考样点1604被用作四个预测块的参考样点。在一个预测块的预测样点与另一个预测块的预测样点之间不存在相关性。例如,在PB1的预测样点与PB2、PB3或PB4的预测样点之间不存在相关性。
在一些情况下,可并行地预测四个预测的子块。在另一个示例中,四个子块(PB1-PB4)可以一起被认为是用于预测的一个块。例如,四个子块(PB1-PB4)可以一起被认为是用于预测的一个PBG。
在一些示例中,视频编译码器可使用具有四个样点的宽度的至少一个预测块组来预测一些编译码块的样点,且用受限帧内模式来预测一些其他编译码单元。在应用于对用ISP编译码的4×N编译码块和8×N编译码块进行编译码的规范中增加了以下限制。
对于用ISP垂直划分的4×N编译码块,其中N>4,可以仅允许垂直模式用于帧内预测。这确保了这些子分割(在4×N编译码块的情况下是1×N子分割,其中N>8,并且在4×8编译码块的情况下是2×N子分割)中的任一者的预测将独立于该编译码块中的其他子分割。以此方式,视频编译码器可并行地或通过将所有子分割视为用于预测的4×N块来执行子分割的预测。对于这样的编译码块,可以不用信令通知帧内模式。
图17是图示了其中视频编译码器仅被允许执行针对视频编译码器利用ISP和垂直划分进行编译码的4×N编译码块1702的垂直帧内(VER Intra)模式预测的示例的概念图。也就是说,图17示出了4×N编译码块1702的垂直划分子分割如何可仅使用垂直帧内模式进行预测的示例。在说明性示例中,编译码块1702可具有至少8-样点大小(N>8)的高度。在这些示例中,可将编译码块1702划分成四个1×N子分割(例如,子块、预测块)。在任何情况下,仍然在1×N子分割级执行逆变换操作。
对于用ISP垂直划分的8×N编译码块,其中N>4,对宽度为四个样点的预测块组(PBG)执行样点的预测。例如,当编译码块大小为8×N(N>4)时,视频编译码器可将两个PBG标识为各自具有4×N的大小。图18示出了如何将8×N子分割划分成每个大小为4×N的两个预测区域(PBG1或区域1以及PBG2或区域2)以及每个大小为2×N的四个变换的示例。在图18的示例中,视频编译码器可以用ISP和垂直划分对8×N(N>4)编译码块1802进行编译码。在这些示例中,视频编译码器可对4×N预测区域(或PBG)执行预测。此外,变换(SP)大小可以是2×N。在一些示例中,区域2的预测依赖于区域1的重构。因此,编译码块1802内的任何样点的预测仅取决于来自相邻编译码块和先前4×N预测区域的重构样点。
在图17中,在一个预测区域(预测区域1或2)内,大小为1xN且类似于图18中的四行残差,以及2xN的两个残差块可以并行地或一起在一个步骤中生成。例如,每个预测区域内的两个2×N子分割的垂直逆变换操作可以通过将该区域考虑为4×N块来执行,因为用于ISP中的所有子分割的垂直变换是相同的。还可通过单独处理或通过将两个子分割视为单个4×N块且将水平逆变换操作视为两个较小水平逆变换操作的组合来并行地对2×N子分割进行水平变换。
下表6总结了预测大小和变换大小的分割大小。在一些示例中,预测大小和变换大小可针对其他编译码块大小而不同。例如,预测和变换大小可以是如在VVC WD4中为ISP所指定的。
表6-预测大小和变换大小的示例性分割大小
编译码块大小 用于预测的分割大小 变换大小
4×8 4×8(仅垂直模式) 2×N
4×N(N>8) 4×N(仅垂直模式) 1×N
8×N(N>4) 4×N 2×N
VVC第五工作草案(下文称为“VVC WD5”,且可在phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v8.zip获得)中有关规范部分的变化下面用变化标记表示。删除的项目用删除线显示,且增加的项目用粗斜体显示。
在一些示例中,视频编码器可使用以下输入以便执行编译码过程:
1.样点位置(xTb0,yTb0),其指定相对于当前图像的左上样点的当前变换块的左上样点,
2.指定当前变换块的宽度的变量nTbW,
3.指定当前变换块的高度的变量nTbH,
4.指定帧内预测模式的变量predModeIntra,以及
5.指定当前块的颜色分量的变量cIdx。
该过程的输出是在环路内滤波之前修改的重构图像。
最大变换块大小maxTbSize是使用方程2推导的,如下所示:
maxTbSize=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/2 (2)
如下使用等式3推导出亮度样点位置:
(xTbY,yTbY)=(cIdx==0)?(xTb0,yTb0):(xTb0*2,yTb0*2) (3)
根据maxTbSize,适用以下内容:
如果IntraSubPartitionsSplitType等于NO_ISP_SPLIT且nTbW大于maxTbSize或nTbH大于maxTbSize,则应用以下有序步骤(1.至5.):
1.变量newTbW和newTbH推导如下:
newTbW=(nTbW>maxTbSize)?(nTbW/2):nTbW以及
newTbH=(nTbH>maxTbSize)?(nTbH/2):nTbH。
2.以位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的高度nTbH、帧内预测模式predModeIntra以及变量cIdx作为输入来调用如在该款中指定的用于帧内块的一般解码处理,并且输出是在环路内滤波之前的修改的重构图像。
3.如果nTbW大于maxTbSize,则以设置为等于(xTb0+newTbW,yTb0)的位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的高度nTbH、帧内预测模式predModeIntra以及变量cIdx作为输入来调用如在该款中指定的用于帧内块的一般解码过程,并且输出是在环路内滤波之前的修改的重构图像。
4.如果nTbH大于maxTbSize,则以设置为等于(xTb0,yTb0+newTbH)的位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的高度nTbH、帧内预测模式predModeIntra以及变量cIdx作为输入来调用如在该款中指定的用于帧内块的一般解码过程,并且输出是在环路内滤波之前的修改的重构图像。
5.如果nTbW大于maxTbSize且nTbH大于maxTbSize,则以设置为等于(xTb0+newTbW,yTb0+newTbH)的位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的高度nTbH、帧内预测模式predModeIntraMode和变量cIdx作为输入来调用如在该款中指定的用于帧内块的一般解码过程,且输出是在环路内滤波之前的修改的重构图像。
否则,应用以下有序步骤(1.和2.)。例如,当视频编译码器确定IntraSubPartitionsSplitType不等于ISP_NO_SPLIT时(例如,当IntraSubPartitionsSplitType等于ISP_VER_SPLIT或ISP_HOR_SPLIT时)或当nTbW和nTbH两者小于或等于maxTbSize时,视频编译码器可推导出以下变量。
1.在一些示例中,视频编译码器可以推导多个变量,包含nW、nH、xPartIncrement、yPartIncrement、nPbW和pbFactor。例如,视频编译码器可以使用等式(6)至(11)来推导这样的变量,如下所示:
nW=IntraSubPartitionsSplitType==ISP_VER_SPLIT?
nTbW/NumIntraSubPartitions:nTbW (6)
nH=IntraSubPartitionsSplitType==ISP_HOR_SPLIT?
nTbH/NumIntraSubPartitions:nTbH (7)
xPartIncrement=ISP_VER_SPLIT?1;0 (8)
yPartIncrement=ISP_HOR_SPLIT?1;0 (9)
nPbW=max(4,nW) (10)
pbFactor=nPbW/nW (11)
2.此外,将变量xPartIdx和yPartIdx设置为等于0。
在这样的示例中,视频编译码器可以应用下面的有序步骤(1.至4.)对于i=0..NumIntraSubPartitions–1,依次是:
1.变量xPartIdx、yPartIdx和xPartPbIdx更新如下:
xPartIdx=xPartIdx+xPartIncrement (12)
yPartIdx=yPartIdx+yPartIncrement (13)
xPartPbIdx=xPartIdx%pbFactor (14)
2.在一些示例中,当xPartPbIdx等于0时,视频编译码器可调用如第8.4.5.2款中所指定的帧内样点预测过程。在这样的示例中,视频编译码器可以将设置为等于(xTb0+nW*xPartIdx,yTb0+nH*yPartIdx)的位置(xTbCmp、yTbCmp)、帧内预测模式predModeIntra、设置为等于nPbW和nH的变换块宽度nTbW和高度nTbH、设置为等于nTbW的编译码块宽度nCbW以及设置为等于nTbH的编译码块高度nCbH,以及变量cIdx作为输入来调用帧内样点预测过程,且输出为(nPbW)x(nH)阵列predSamples(例如,预测样点阵列)。
3.调用如第8.7.2款中所指定的缩放和变换过程,其中将设置为等于(xTbY+nW*xPartIdx,yTbY+nH*yPartIdx)的亮度位置(xTbY,yTbY),变量cIdx,设置为等于nW和nH的变换宽度nTbW和变换高度nTbH作为输入,并且输出是(nPbW)x(nH)阵列resSamples(例如,残差样点阵列)。在一个示例中,输出可以是(nW)×(nH)阵列resSamples。
4.调用如在第8.7.5款中指定的针对颜色分量的图像重构处理,其中以设置为等于(xTb0+nW*xPartIdx,yTb0+nH*yPartIdx)的变换块位置(xTbComp,yTbComp),设置为等于nW和nH的变换块宽度nTbW、变换块高度nTbH,变量cIdx,(nW)×(nH)阵列predSamples[x][y](其中x=xPartPbIdx*nW..(xPartPbIdx+1)*nW–1,y=0..nH–1)和(nW)x(nH)阵列resSamples作为输入,并且输出是在环路内滤波之前的修改的重构图像。
在一些示例中,对于一些块大小,以下改变可以将帧内预测模式限制为垂直帧内模式。对VVC WD5的第7.3.7.5节中的信令通知进行了示例性更改。删除的项目用删除线显示,增加的项目用斜体显示。
表7-限制预测模式
Figure BDA0003224275210000361
Figure BDA0003224275210000371
Figure BDA0003224275210000381
Figure BDA0003224275210000391
Figure BDA0003224275210000401
对VVC WD5的第8.4.3节中的亮度帧内预测模式的推导过程做出示例性更改。删除的项目用删除线显示,增加的项目用斜体显示。
例如,视频编译码器可执行亮度帧内预测模式的推导过程。此过程的输入包含:(1)亮度位置(xCb,yCb),其指定相对于当前图像的左上亮度样点的当前亮度编译码块的左上样点,(2)变量cbWidth,其以亮度样点指定当前编译码块的宽度,和/或(3)变量cbHeight,其以亮度样点指定当前编译码块的高度。
在此过程中,基于上述输入,视频编译码器可推导亮度帧内预测模式IntraPredModeY[xCb][yCb]。
表8指定帧内预测模式IntraPredModeY[xCb][yCb]的值以及相关联的名称。应注意,帧内预测模式INTRA_LT_CCLM,INTRA_L_CCLM和INTRA_T_CCLM可仅适用于色度分量。
表8-帧内预测模式和相关联的名称的规范
帧内预测模式 相关联的名称
0 INTRA_PLANAR
1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
81..83 INTRA_LT_CCLM,INTRA_L_CCLM,INTRA_T_CCLM
IntraPredModeY[xCb][yCb]推导如下:如果BdpcmFlag[xCb][yCb]等于1或intra_luma_not_planar_flag[xCb][yCb]等于0,那么将IntraPredModeY[xCb][yCb]设置为等于INTRA_PLANAR。否则如果IntraSubPartitionsSplitType等于ISP_VER_SPLIT且cbWidth等于4,那么将IntraPredmodeY[xCb][yCb]设置为等于INTRA_ANGULAR50。否则(例如,intra_luma_not_planar_flag[xCb][yCb]等于1),将相邻位置(xNbA,yNbA)和(xNbB,yNbB)分别设置为等于(xCb-1,yCb+cbHeight-1)和(xCb+cbWidth-1,yCb-1)。
图19A和19B是图示了示例性QTBT结构130和对应编译码树单元(CTU)132的概念图。实线表示四叉树划分,虚线指示二叉树划分。在二叉树的每个划分(即,非叶)节点中,信令通知一个标志以指示使用了哪个划分类型(例如,水平、垂直等)。在说明性和非限制性示例中,值0可以指示水平划分,而值1可以指示垂直划分。在涉及四叉树划分的另一个示例中,可能不需要指示划分类型,因为四叉树节点一般将块水平和垂直地划分成4个子块(例如,预测块)。在这样的示例中,子块可以或可能具有相等的大小。因此,视频编码器200可编码且视频解码器300可解码QTBT结构130的区域树层级(即,第一层级)(即,实线)的语法元素(比如,划分信息)和QTBT结构130的预测树层级(即,第二层级)(即,虚线)的语法元素(比如,划分信息)。对于QTBT结构130的终端叶节点表示的CU,视频编码器200可以编码的视频数据(比如预测和变换数据),并且视频解码器300可以对以上进行解码。
一般说来,图19B的CTU 132可以与参数相关联,这些参数定义与第一和第二级的QTBT结构130的节点相对应的块的大小。这些参数可以包含CTU大小(表示样点中CTU 132的大小)、最小四叉树大小(MinQTSize,表示最小允许的四叉树叶节点大小)、最大二叉树大小(MaxBTSize,表示最大允许的二叉树根节点大小)、最大二叉树深度(MaxBTDepth,表示最大允许的二叉树深度)和最小二叉树大小(MinBTSize,表示最小允许的二叉树叶节点大小)。
与CTU相对应的QTBT结构的根节点在QTBT结构的第一级可以具有四个子代节点,每个子代节点可以根据四叉树分割来进行分割。也就是说,第一级的节点是叶节点(没有子代节点)或具有四个子代节点。QTBT结构130的示例表示这样的节点,其包含具有实线分支的子代节点和父节点。如果第一级的节点不大于最大允许的二叉树根节点大小(MaxBTSize),则能够通过各自的二叉树进一步对节点进行分割。能够迭代一个节点的二叉树划分,直到划分生成的节点达到最小允许的二叉树叶节点大小(MinBTSize)或最大允许的二叉树深度(MaxBTDepth)。QTBT结构130的示例将这样的节点表示为具有虚线分支。二叉树叶节点称为编译码单元(CU),其用于预测(例如,图像内或图像间预测)和变换,而无需任何进一步分割。如上所述,CU也可以称为“视频块”、“编译码块”或“块”。
在QTBT分割结构的一个示例中,CTU大小被设置为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)时,不允许进一步划分。当二叉树节点的宽度等于MinBTSize(本示例中为4)时,这意味着不允许进一步的垂直划分。类似地,具有等于MinBTSize的高度的二叉树节点表明不允许对该二叉树节点进行进一步的水平划分。如上所述,二叉树的叶节点称为CU并且根据预测和变换对其进行进一步处理而无需进一步分割。
图20是图示可以执行本公开的技术的示例视频编码器200的框图。提供图20是为了解释的目的并且不应认为是对本公开中广泛示例和描述的技术的约束。出于解释的目的,本公开在比如HEVC视频编译码标准和开发中的H.266视频编译码标准等视频编译码标准的上下文中描述视频编码器200。然而,本公开的技术不限于这些视频编译码标准并且一般可应用于视频编码和解码。
在图20的示例中,视频编码器200包含视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、解码图像缓冲器(DPB)218以及熵编码单元220。视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、DPB 218和熵编码单元220中的任何一个或全部可以在一个或多个处理器或处理电路中实现。另外,视频编码器200可包含附加或替代处理器或处理电路以执行这些和其他功能。
视频数据存储器230可以存储将由视频编码器200的组件进行编码的视频数据。视频编码器200可以从例如,视频源104(图1)接收存储在视频数据存储器230中的视频数据。DPB 218可以用作参考图像存储器,参考图像存储器存储参考视频数据,供视频编码器200用于预测后续视频数据时使用。视频数据存储器230和DPB 218可以由多种存储器设备中的任何一种形成,比如动态随机访问存储器(DRAM),包含同步DRAM(SDRAM)、磁阻RAM(MRAM)、阻变RAM(RRAM)或其他类型的存储器设备。视频数据存储器230和DPB 218可以由相同的存储器设备或单独的存储器设备提供。在各种示例中,视频数据存储器230可以与视频编码器200的其他组件一起置于片上,如图所示,或者相对于那些组件置于片外。
在本公开中,对视频数据存储器230的引用不应解释为限于视频编码器200内部的存储器(除非特别说明如此)或者视频编码器200外部的存储器(除非特别说明如此)。当然,对视频数据存储器230的引用应理解为存储视频编码器200接收的用于编码的视频数据(例如,当前块的待编码的视频数据)的参考存储器。图1的存储器106还可以对视频编码器200各个单元输出提供临时存储。
图示的图20的各个单元用来帮助理解由视频编码器200执行的操作。这些单元可以实现为固定功能电路、可编程电路或其组合。固定功能电路是指提供特定功能并预设了能够执行的操作的电路。可编程电路是指可以被编程来执行各种任务并且在能够执行的操作中提供灵活功能的电路。例如,可编程电路可以执行软件或固件,软件或固件使可编程电路以软件或固件的指令所定义的方式操作。固定功能电路可以执行软件指令(例如,用来接收参数或输出参数),但是固定功能电路执行的操作类型一般是不可变的。在一些示例中,单元中的一个或多个可以是不同的电路块(固定功能或可编程),并且在一些示例中,一个或多个单元可以是集成电路。
视频编码器200可以包含由可编程电路形成的算术逻辑单元(ALU)、基本功能单元(EFU)、数字电路、模拟电路和/或可编程内核。在其中使用由可编程电路执行的软件来执行视频编码器200的操作的示例中,存储器106(图1)可存储视频编码器200接收并执行的软件的目标代码,或视频编码器200内的另一存储器(未示出)可存储这种指令。
视频数据存储器230被配置为存储接收的视频数据。视频编码器200可以从视频数据存储器230中取得视频数据的图像,并将视频数据提供给残差生成单元204和模式选择单元202。视频数据存储器230中的视频数据可以是待编码的原始视频数据。
模式选择单元202包含运动估计单元222、运动补偿单元224和帧内预测单元226。模式选择单元202可以包含附加功能单元,用于根据其他预测模式来执行视频预测。作为示例,模式选择单元202可以包含调色板单元、帧内块复制单元(其可以是运动估计单元222和/或运动补偿单元224的一部分)、仿射单元、线性模型(LM)单元等。
一般说来,模式选择单元202协调多个编码遍次来测试编码参数的组合以及得出用于这种组合的率失真值。编码参数可以包含CTU到CU的分割、CU的预测模式、CU的残差数据的变换类型、CU的残差数据的量化参数等。模式选择单元202可以最终选择编码参数的组合,该组合具有比其他测试的组合更佳的率失真值。
视频编码器200可以将从视频数据存储器230中取得的图像分割为一系列CTU,并将一个或多个CTU封装在条带内。模式选择单元202可以根据树结构(比如上述HEVC的QTBT结构或四叉树结构)来对图像的CTU进行分割。如上所述,视频编码器200可以根据树结构通过对CTU进行分割来形成一个或多个CU。这样的CU一般也可以被称为“视频块”或“块”。
一般说来,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224和帧内预测单元226)以生成当前块(例如,当前CU或HEVC中PU和TU的重叠部分)的预测块。为了对当前块进行帧间预测,运动估计单元222可以执行运动搜索来标识在一个或多个参考图像(例如,存储在DPB 218中的一个或多个先前编译码的图像)中的一个或多个紧密匹配的参考块。特别地,运动估计单元222可以根据例如,绝对差之和(SAD)、差值平方和(SSD)、平均绝对差(MAD)、均方差(MSD)等来计算表示潜在参考块与当前块有多相似的值。运动估计单元222一般可以使用当前块与考虑中的参考块之间的逐样点差异来执行这些计算。运动估计单元222可以标识具有这些计算生成的最低值的参考块,指示与当前块最紧密匹配的参考块。
运动估计单元222可以形成一个或多个运动向量(MV),运动向量定义参考图像中参考块相对于当前图像中当前块的位置。然后,运动估计单元222可以将运动向量提供给运动补偿单元224。例如,对于单向帧间预测,运动估计单元222可以提供单个运动向量,而对于双向帧间预测,运动估计单元222可以提供两个运动向量。然后,运动补偿单元224可以使用运动向量来生成预测块。例如,运动补偿单元224可以使用运动向量来取得参考块的数据。作为另一个示例,如果运动向量具有分数样点精度,则运动补偿单元224可以根据一个或多个插值滤波器来对预测块进行插值。此外,对于双向帧间预测,运动补偿单元224可以取得由各自运动向量标识的两个参考块的数据并且(比如通过逐样点平均或加权平均)组合取得的数据。
作为另一个示例,对于帧内预测或帧内预测编译码,帧内预测单元226可以根据与当前块相邻的样点来生成预测块。例如,对于方向模式,帧内预测单元226一般可以数学地组合相邻样点值,并且在当前块上沿定义的方向填充这些计算值来产生预测块。作为另一个示例,对于DC模式,帧内预测单元226可以计算当前块的相邻样点的平均值,并且生成预测块以包含对于预测块的每个样点所得到的平均值。
模式选择单元202将预测块提供给残差生成单元204。残差生成单元204从视频数据存储器230接收当前块的原始未编码版本,并从模式选择单元202接收预测块。残差生成单元204计算当前块和预测块之间的逐样点差异。得到的逐样点差异定义当前块的残差块。在一些示例中,残差生成单元204还可以使用残差差分脉冲编码调制(RDPCM)来确定残差块中样点值之间的差以生成残差块。在某些示例中,可以使用执行二进制减法的一个或多个减法器电路来形成残差生成单元204。
在模式选择单元202将CU分割为PU的示例中,每个PU可以与亮度预测单元和对应的色度预测单元相关联。视频编码器200和视频解码器300可以支持具有各种大小的PU。如上所述,CU的大小可以指CU的亮度编译码块的大小,而PU的大小可以指PU的亮度预测单元的大小。假设特定CU的大小为2N×2N,则视频编码器200可以支持2N×2N或N×N的PU大小用于帧内预测,以及2N×2N、2N×N、N×2N、N×N或类似的对称PU大小用于帧间预测。视频编码器200和视频解码器300还可以支持2N×nU、2N×nD、nL×2N和nR×2N的PU大小的非对称分割。
在模式选择单元不将CU进一步分割为PU的示例中,每个CU可以与亮度编译码块和对应的色度编译码块相关联。如上所述,CU的大小可以指CU的亮度编译码块的大小。视频编码器200和视频解码器300可以支持2N×2N、2N×N或N×2N的CU大小。
对于其他视频编译码技术,比如作为一些示例的帧内块复制模式编译码、仿射模式编译码和线性模型(LM)模式编译码,模式选择单元202经由与编译码技术相关联的各自单元来生成正在被编码的当前块的预测块。在一些示例中,比如调色板模式编译码,模式选择单元202可以不生成预测块,而是生成语法元素,语法元素指示基于所选调色板重构块的方式。在这样的模式中,模式选择单元202可以将这些语法元素提供给熵编码单元220,以对其进行编码。
如上所述,残差生成单元204接收当前块和对应预测块的视频数据。然后,残差生成单元204生成用于当前块的残差块。为了生成残差块,残差生成单元204计算预测块和当前块之间的逐样点差异。
变换处理单元206将一个或多个变换应用于残差块以生成变换系数的块(在本文中称为“变换系数块”)。变换处理单元206可以将各种变换应用于残差块以形成变换系数块。例如,变换处理单元206可以将离散余弦变换(DCT)、方向变换、Karhunen-Loeve变换(KLT)或概念上类似的变换应用于残差块。在一些示例中,变换处理单元206可以对残差块执行多次变换,例如,初次变换和比如旋转变换的二次变换。在一些示例中,变换处理单元206不将变换应用于残差块。
量化单元208可以对变换系数块中的变换系数进行量化以产生量化的变换系数块。量化单元208可以根据与当前块相关联的量化参数(QP)值来对变换系数块的变换系数进行量化。视频编码器200(例如,经由模式选择单元202)可以通过调整与CU相关联的QP值来调整应用于与当前块相关联的变换系数块的量化程度。量化可能会引入信息损失,从而,量化的变换系数可能比变换处理单元206产生的原始变换系数具有更低的精度。
逆量化单元210和逆变换处理单元212可以分别对量化的变换系数块应用逆量化和逆变换,以从变换系数块重构残差块。重构单元214可以基于重构的残差块和由模式选择单元202生成的预测块来产生对应于当前块的重构块(尽管潜在地具有一些程度的失真)。例如,重构单元214可以将重构的残差块的样点增加到模式选择单元202生成的预测块的对应样点以产生重构块。
滤波器单元216可以对重构块执行一个或多个滤波器操作。例如,滤波器单元216可以执行去方块操作来减少沿着CU的边缘的块状伪影。在一些示例中,可以跳过滤波器单元216的操作。
视频编码器200将重构块存储在DPB 218中。例如,在不需要滤波器单元216的操作的示例中,重构单元214可以将重构块存储到DPB 218。在需要滤波器单元216的操作的示例中,滤波器单元216可以将滤波后的重构块存储到DPB 218。运动估计单元222和运动补偿单元224可以从DPB 218中取得参考图像,该参考图像是由重构(并且潜在地滤波的)块形成的,来对随后编码的图像的块进行帧间预测。此外,帧内预测单元226可以使用当前图像的DPB 218中的重构块来对当前图像中的其他块进行帧内预测。
一般说来,熵编码单元220可以对从视频编码器200的其他功能组件接收的语法元素进行熵编码。例如,熵编码单元220可以对来自量化单元208的量化的变换系数块进行熵编码。作为另一个示例,熵编码单元220可以对来自模式选择单元202的预测语法元素(例如,用于帧间预测的运动信息或用于帧内预测的帧内模式信息)进行熵编码。熵编码单元220可以对视频数据的另一个示例的语法元素执行一个或多个熵编码操作来生成熵编码数据。例如,熵编码单元220可以对数据执行上下文自适应可变长度编译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度编译码操作、基于语法的上下文自适应二进制算术编译码(SBAC)操作、概率区间分割熵(PIPE)编译码操作、指数-格伦布编译码操作或另一类型的熵编码操作。在一些示例中,熵编码单元220可以在语法元素未被熵编码的情况下以旁路模式操作。
视频编码器200可以输出比特流,其包含对条带或图像的块进行重构所需的熵编码的语法元素。具体地,熵编码单元220可以输出比特流。
上述操作是针对块来描述的。这样的描述应该理解为是用于亮度编译码块和/或色度编译码块的操作。如上所述,在一些示例中,亮度编译码块和色度编译码块是CU的亮度和色度分量。在一些示例中,亮度编译码块和色度编译码块是PU的亮度和色度分量。
在一些示例中,不必针对色度编译码块重复对于亮度编译码块执行的操作。作为一个示例,不需要重复用于标识亮度编译码块的运动向量(MV)和参考图像的操作来标识用于色度块的MV和参考图像。相反,可以缩放亮度编译码块的MV来确定色度块的MV,并且参考图像可以是相同的。作为另一个示例,对于亮度编译码块和色度编译码块,帧内预测处理可以是相同的。
视频编码器200可以被配置为执行本公开中所描述的预测块分组技术中的任一者。例如,帧内预测单元226可执行ISP编译码以将编译码单元(CU)分割成子块(例如,预测块)。此外,帧内预测单元226可将子块分组为预测块组。以此方式,视频编码器200可视为包含在电路中实现且被配置为使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分(例如,垂直划分)以形成预测块集的一个或多个处理器。预测块可以至少包含第一预测块和第二预测块。视频编码器200接着可将预测块集中的多个预测快分组为第一预测块组(PBG)。此外,视频编码器200可独立于第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
图21是图示了可执行本公开的技术的示例视频解码器300的框图。提供图21是出于解释的目的,而非限制本公开中广泛示例和描述的技术。为了说明的目的,本公开描述了根据JEM,VCC和HEVC的技术描述的视频解码器300。然而,本公开的技术可以由被配置为其他视频编译码标准的视频编译码设备来执行。
在图21的示例中,视频解码器300包含编码图像缓冲器(CPB)存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和解码图像缓冲器(DPB)314。CPB存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和DPB 314中的任何一个或全部可以在一个或多个处理器或处理电路中实现。另外,视频解码器300可包含附加或替代处理器或处理电路以执行这些和其他功能。
预测处理单元304包含运动补偿单元316和帧内预测单元318。预测处理单元304可以包含附加单元以按照其他预测模式来执行预测。作为示例,预测处理单元304可以包含调色板单元、帧内块复制单元(其可以形成运动补偿单元316的一部分)、仿射单元、线性模型(LM)单元等。在其他示例中,视频解码器300可以包含更多、更少或不同的功能组件。
CPB存储器320可以存储将由视频解码器300的组件进行解码的视频数据,比如编码的视频比特流。例如,可以从计算机可读介质110(图1)获得存储在CPB存储器320中的视频数据。CPB存储器320可以包含存储来自编码的视频比特流的编码的视频数据(例如,语法元素)的CPB。而且,CPB存储器320可以存储除了编译码图像的语法元素之外的视频数据,比如表示来自视频解码器300各个单元的输出的临时数据。一般说来,DPB 314存储解码图像,当对编码的视频比特流的后续数据或图像进行解码时,视频解码器300可以输出解码图像和/或将其用作参考视频数据。CPB存储器320和DPB 314可以由多种存储器设备中的任何一种形成,比如动态随机访问存储器(DRAM),包含同步DRAM(SDRAM)、磁阻RAM(MRAM)、阻变RAM(RRAM)或者其他类型的存储器设备。CPB存储器320和DPB 314可以由相同的存储器设备或独立的存储器设备提供。在各种示例中,CPB存储器320可以与视频解码器300的其他组件置于片上,或者相对于那些组件置于片外。
另外地或可替代地,在一些示例中,视频解码器300可以从存储器120(图1)取得编译码视频数据。即存储器120可以如上述讨论与CPB存储器320一起存储数据。同样,当视频解码器300的某些或全部功能在将由视频解码器300的处理电路执行的软件实现时,存储器120可以存储将由视频解码器300执行的指令。
图示图21所示的各种单元以帮助理解由视频解码器300执行的操作。这些单元可以实现为固定功能电路、可编程电路或其组合。类似于图20,固定功能电路是指提供特定功能并且在可以执行的操作上预设的电路。可编程电路是指可以被编程来执行各种任务并且在能够执行的操作中提供灵活功能的电路。例如,可编程电路可以执行软件或固件,软件或固件使可编程电路以软件或固件的指令所定义的方式操作。固定功能电路可以执行软件指令(例如,用来接收参数或输出参数),但是固定功能电路执行的操作类型一般是不可变的。在一些示例中,单元中的一个或多个可以是不同的电路块(固定功能或可编程),并且在一些示例中,一个或多个单元可以是集成电路。
视频解码器300可包含ALU、EFU、数字电路、模拟电路和/或由可编程电路形成的可编程核心。在视频解码器300的操作由在可编程电路上执行的软件执行的示例中,片上或片外存储器可以存储视频解码器300接收并执行的软件的指令(例如,目标代码)。
熵解码单元302可从CPB接收编码的视频数据,并且对视频数据进行熵解码以重现语法元素。预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310和滤波器单元312可以基于从比特流中提取的语法元素来生成解码的视频数据。
一般说来,视频解码器300在逐块的基础上重构图像。视频解码器300可单独地对每个块执行重构操作(其中当前正在进行重构(即解码)的块可称为“当前块”)。
熵解码单元302可以对定义量化的变换系数块的量化的变换系数的语法元素以及比如量化参数(QP)和/或(多个)变换模式指示的变换信息进行熵解码。逆量化单元306可以使用与量化的变换系数块相关联的QP来确定量化程度,并且同样地,确定逆量化程度以供逆量化单元306应用。逆量化单元306可以(例如,执行按位左移操作来)对量化的变换系数进行逆量化。逆量化单元306从而可以形成包含变换系数的变换系数块。
在逆量化单元306形成变换系数块之后,逆变换处理单元308可以将一个或多个逆变换应用于变换系数块来生成与当前块相关联的残差块。例如,逆变换处理单元308可以将逆DCT、逆整数变换、逆Karhunen-Loeve变换(KLT)、逆旋转变换、逆方向变换或另一逆变换应用于变换系数块。
进一步来说,预测处理单元304根据由熵解码单元302熵解码的预测信息语法元素来生成预测块。例如,如果预测信息语法元素指示当前块是帧间预测的,则运动补偿单元316可以生成预测块。在这种情况下,预测信息语法元素可以指示DPB 314中的参考图像,以从中取得参考块,以及指示标识参考图像中参考块相对于当前图像中的当前块的位置的运动向量。运动补偿单元316一般可以以与针对运动补偿单元224(图20)所描述的方式基本上相似的方式来执行帧间预测过程。
作为另一个示例,如果预测信息语法元素指示当前块是帧内预测的,则帧内预测单元318可以根据由预测信息语法元素指示的帧内预测模式来生成预测块。再次,帧内预测单元318一般可以以与针对帧内预测单元226(图20)所描述的方式基本上相似的方式来执行帧内预测过程。帧内预测单元318可以从DPB 314中取得当前块的相邻样点的数据。
重构单元310可以使用预测块和残差块来重构当前块。例如,重构单元310可以将残差块的样点增加到预测块的对应样点来重构当前块。
滤波器单元312可以对重构块执行一个或多个滤波器操作。例如,滤波器单元312可以执行去方块操作来减少沿着重构块的边缘的块状伪影。不一定在所有示例中都执行滤波器单元312的操作。
视频解码器300可以将重构块存储在DPB 314中。例如,在不执行滤波器单元312的操作的示例中,重构单元310可以将重构块存储到DPB 314。在执行滤波器单元312的操作的示例中,滤波器单元312可以将滤波后的重构块存储到DPB 314。如上所述,DPB 314可以向预测处理单元304提供参考信息,比如用于帧内预测的当前图像的样点以及用于随后的运动补偿的先前解码图像。此外,视频解码器300可以从DPB 314输出解码图像,用于随后呈现在比如图1的显示器设备118的显示器设备上。
视频解码器300可以被配置为执行本公开中所描述的预测块分组技术中的任一者。例如,帧内预测单元318可执行ISP编译码以将编译码单元(CU)分割成子块(例如,预测块)。此外,帧内预测单元318可将子块分组为预测块组。以此方式,视频解码器300可视为包含在电路中实现且被配置为使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分(例如,垂直划分)以形成预测块集的一个或多个处理器。预测块可以至少包含第一预测块和第二预测块。视频解码器300可将预测块集的多个预测快分组为第一预测块组(PBG)。此外,视频解码器300可独立于第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
图22是图示了用于对当前块进行编码的示例方法的流程图。当前块可以包括当前CU。尽管关于视频编码器200(图1和20)进行描述,但应理解,其他设备可以被配置为执行类似于图22的方法。
在本示例中,视频编码器200最初预测当前块(350)。例如,视频编码器200可以形成用于当前块的预测块。然后,视频编码器200可以计算用于当前块的残差块(352)。也就是说,视频编码器200可计算当前块的亮度残差数据和色度残差数据。为了计算残差块,视频编码器200可以计算原始的未经编译码块与用于当前块的预测块之间的差。然后,视频编码器200可以变换和量化残差块的系数(354)。接下来,视频编码器200可以扫描残差块的经量化的变换系数(356)。在扫描期间或在扫描之后,视频编码器200可以对变换系数进行熵编码(358)。例如,视频编码器200可以使用CAVLC或CABAC对变换系数进行编码。视频编码器200接着可输出块的经熵编码的数据(360)。视频编码器200可实现重构环路。例如,视频编码器200可实现重构环路以使用本公开中所描述的预测块分组技术来重构编译码的视频数据。
图23是图示了用于对视频数据的当前块进行解码的示例方法的流程图。当前块可以包括当前CU。尽管关于视频解码器300(图1和21)进行描述,但应理解,其他设备可以被配置为执行类似于图23的方法。
视频解码器300可以接收当前块的经熵编译码的数据,比如经熵编译码的预测信息和与当前块相对应的残差块的变换系数的经熵编译码的数据(370)。视频解码器300可以对经熵编译码的数据进行解码以确定用于当前块的预测信息并重现残差块的变换系数(372)。视频解码器300可以预测当前块(374),例如,使用由当前块的预测信息所指示的帧内或帧间预测模式,以计算用于当前块的预测块。然后,视频解码器300可以逆扫描所重现的变换系数(376),以创建经量化的变换系数的块。然后,视频解码器300可以对系数进行逆量化和逆变换以产生残差块(378)。视频解码器300可以通过组合预测块和残差块来最终解码当前块(380)。视频解码器300可使用本公开中所描述的预测块分组技术来重构当前块的样点。
图24是图示了用于对视频数据的当前块执行预测块分组的示例方法的流程图。当前块可以包括当前CU。尽管关于视频编码器200(图1和20)进行描述,但应理解,其他设备可以被配置为执行类似于图24的方法。
在一些示例中,视频编译码器(例如,视频编码器200和/或视频解码器300)可使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分(例如,垂直划分)。例如,视频编译码器可对第一CU执行垂直和/或水平划分以形成预测块集(2402)。在说明性示例中,视频编译码器可执行第一CU的垂直划分以形成预测块集。在任何情况下,预测块集可包含CU的所有预测块或仅CU的预测块的子集。即,视频编译码器可形成不必包含CU的所有预测块的预测块集。例如,视频编译码器可执行第一CU的划分以形成第一预测块集和一个或多个其他预测块集。该一个或多个其他预测块集可彼此互斥且与第一预测块集互斥。在一些示例中,预测块集可在某种程度上彼此重叠,使得CU的一个部分可分割成一个以上的预测块。虽然本公开的各种技术描述将CU分割成预测块集的视频编译码器,但本公开的技术不限于此,且视频编译码器可将CU分割成多个预测块集。
在一些示例中,预测块集中的预测块可以包含至少第一预测块和第二预测块(例如,至少两个垂直预测块)。在一些示例中,第一预测块包括小于或等于二的样点宽度。例如,第一预测块可以具有1或2的样点宽度。此外,第二预测块可以具有1或2的样点宽度。在一些示例中,第一预测块和第二预测块可以具有相同的宽度。例如,第一预测块和第二预测块可以都具有为2的样点宽度。然而,在一些示例中,第一预测块和第二预测块可以具有不同的宽度,比如第一预测块具有宽度2和第二预测块具有宽度1。在这样的示例中,第三预测块可以被包含在第一PBG中,使得第一PBG可以具有至少4个样点大小的宽度。
在一些示例中,视频编译码器可将来自预测块集的多个预测块分组为第一预测块组(PBG)(2404)。在一个示例中,视频编译码器可将来自第一预测块集的一个或多个预测块分组为第一PBG。例如,视频编译码器可以从第一预测块集中将第一预测块和第二预测块分组为第一PBG。在一些示例中,第一PBG可以仅包含来自第一预测块集的一个预测块。
在一些示例中,视频编译码器可将CU的第一预测块集分组以形成一个或多个PBG。在这些示例中,视频编译码器可相对于同一CU的一个或多个其他预测块集类似或不同地对PBG进行分组。例如,视频编译码器可以将来自第一预测块集的至少一个垂直预测块和来自同一预测块集的至少一个水平预测块分组为第一PBG。在这些示例中,视频编译码器可将来自第二预测块集的至少一个垂直预测块和来自第二预测块集的至少一个水平预测块分组为第二PBG。然而,在一些示例中,视频编译码器可改为仅将来自第二预测块集的垂直预测块及/或仅将来自第二预测块集的水平预测块分组为第二PBG,其中第一预测块集仅包含垂直子块、仅水平子块、垂直与水平块的混合等,且第二预测块集仅包含垂直子块、仅水平子块、垂直与水平块的混合等。在一些实施例中,视频编译码器仅将特定类型的预测块分组为PBC。在涉及使用多个划分类型(例如,单个CU的垂直和水平划分)分割的CU的非限制性示例中,视频编译码器可仅将作为整体划分方案的垂直划分部分的结果的那些预测块分组为PBG。同样,视频编译码器可放弃对视频编译码器以不同方式(例如,使用水平划分)分割的预测块进行分组。在另一个示例中,视频编译码器可形成包含垂直预测块和与垂直预测块相邻的一个或多个水平预测块的组。视频编译码器可另外形成包含任何剩余预测块(例如,非相邻预测块)的组,或可确定不形成用于CU的一个或多个预测块集中的某些预测块的组。此外,视频编译码器可仅对特定大小(例如,满足预定大小阈值的大小)的预测块进行分组。
在一些示例中,可以将PBG指定为具有nW个样点的最小维度。例如,PBG可以具有四个样点的最小宽度(例如,nW=4)。即,第一PBG可以具有至少为四的样点大小宽度。在这样的情况下,如果子块的维度大小小于nW,那么相邻的一个或多个预测块可视为维度大小为nW个样点的一个PBG。维度大小可以应用于高度、宽度或从高度和宽度推导的函数(例如,宽度*高度)。
视频编译码器可独立于第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点(2406)。当视频编译码器在不访问、读取或执行其他存储器访问过程以标识或重构同一PBG内的另一子块中的样点的情况下从一个子块重构一个样点时,视频编译码器可独立于PBG内的其他预测块而重构预测块的样点。作为推论,当视频编译码器执行顺序操作时,视频编译码器可根据来自另一组的样点的重构来重构来自一个组的样点。即,顺序操作涉及首先重构来自第一组的一个或多个样点,然后基于来自第一组的样点重构来自另一组的一个或多个样点。在一些情况下,独立重构可涉及并行过程,其中当视频编译码器重构来自同一第一PBG中的第二预测块的样点时,与重构来自同一第一PBG的第二预测块的样点并行地或基本上同时地(例如,没有必要的时域延迟),视频编译码器重构来自第一PBG的第一预测块的样点。
在第一PBG包含第一预测块和第二预测块的示例中,视频编译码器可以独立于第二预测块的样点来重构第一预测块的样点。在一些示例中,当将某些滤波操作应用于可能导致PBG内的样点的预测值之间的相关性的预测块时,只要常规帧内预测(没有后预测滤波操作)不导致相关性,则PBG内的样点的预测相关性的限制可能仍然被认为是有效的。例如,由于PDPC、边界滤波或其他类似操作,限制可能不适用于相关性。
在一些示例中,视频编译码器可形成第二PBG,使得单个CU包含至少两个PBG。例如,视频编译码器可以将一个或多个预测块分组为第一PBG。类似地,视频编译码器可将第二预测块集分组为第二PBG。每个PBG的预测块可以包含非重叠预测块集。即,一个PBG的预测块可以与另一个PBG的预测块相互排斥。在任何情况下,视频编译码器可独立于包含在第二PBG中的其他预测块的样点来重构包含在第二PBG中的预测块的样点。
此外,在一些示例中,视频编译码器可以基于包含在第一PBG中的预测块的样点来重构包含在第二PBG中的预测块的样点。即,一个PBG中的样点的重构可以依赖于另一个PBG中的样点的重构。在这些示例中,视频编译码器仍可维持单个PBG内的样点的预测不相关性。在一些示例中,对包含在第二PBG中的样点的预测可不基于包含在第一PBG中的预测块,而是可基于包含在另一CU(比如,相邻CU)中的预测块。
在一些示例中,视频编译码器可将CU分区为一个或多个变换块。在这些示例中,变换块的大小可等于CU的第一预测块或任一预测块的大小。在一些示例中,变换块的大小可小于第一PBG中所包含的最小预测块的大小。此外,变换块的大小可以小于包含在第一PBG中的预测块的合计总大小的大小。在另一个示例中,变换块可以具有等于PBG的大小的大小。在任何情况下,与第一PBG相关联的第一变换块可以具有等于包含在第一PBG中的第一预测块或第二预测块的大小的大小。
在一些示例中,视频编译码器可以生成预测样点阵列,该预测样点阵列的宽度等于至少第一预测块和第二预测块的合计宽度。例如,视频编译码器可输出大小为(nPbW)×(nH)的阵列。在一些示例中,当重构预测块的样点时,视频编译码器可以生成具有等于至少第一预测块和第二预测块的合计宽度的宽度的预测样点阵列。
在一些示例中,视频编译码器可基于编译码单元的宽度和第一预测块的宽度来确定预测块组的数目。视频编译码器可以根据预测块组的数目对CU进行编译码,使得CU包括该数目的预测块组。预测块组的数目在这里可以被称为pbFactor(例如,预测块组因子)。在这种实例中,视频编译码器可通过将CU的宽度除以预测块组的宽度来计算pbFactor。PBG的宽度可以被预定为具有至少4的样点大小的宽度。
在一些示例中,视频编译码器可通过将子块宽度(例如,预测块宽度)除以PBG的宽度(例如,PBG的最小宽度)来计算pbFactor。例如,当子块具有1或2的宽度时,视频编译码器可以通过将子块宽度除以PBG的宽度来计算pbFactor,比如当PBG具有四的样点宽度时通过除以四来计算pbFactor。在另一个示例中,当CU的宽度为8个样点大小且预测块组为4个样点大小时,视频编译码器可计算pbFactor等于2。即,CU的PBG的数量或数目可以等于2个PBG。
在一些示例中,当预测块的宽度是四或更大时,预测块宽度和PBG宽度可以具有相同的宽度。例如,视频编译码器可以将宽度为四的预测块分组为宽度为四的PBG。即,视频编译码器可将宽度为X的预测块分组为相同宽度的单个PBG,其中X大于或等于预定义的阈值数。在非限制性和说明性示例中,预定义阈值数量可以是四。在另一个说明性示例中,视频编译码器可以将宽度为四的第一预测块和宽度为八的第二预测块分组为宽度为八的单个PBG。在这种示例中,视频编译码器可仅将第二预测块的一部分包含到PBG组中,比如通过进一步分割第二预测块以实现特定PBG组大小。虽然本公开的各种技术在某些上下文中论述宽度大小,但本公开的技术不限于此,且将了解,其他约束和/或考虑可类似地应用于将预测块分组为PBG。例如,PBG可以具有特定的高度限制(例如,四个样点大小的高度),或者在另一个示例中,高度和宽度约束和/或考虑的组合可以类似地应用于将预测块分组为PBG(例如,PBG可以具有M×N的最小H×W大小,其中M和N可以不必相等。
如上所述,所描述的图24的示例性方法可以由在电路中实现的一个或多个处理器来执行。该一个或多个处理器可包含在视频编码器中或在一些示例中可包含在视频解码器中。
本公开的说明性示例包含:
示例1:对视频数据进行编译码的方法,该方法包括:使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,预测块至少包括第一预测块和第二预测块;将来自该预测块集的多个预测块分组为第一预测块组(PBG);以及独立于该第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
示例2:根据示例1的方法,其中,将预测块集中的多个预测块分组为第一PBG包括将预测块集的第一多个预测块分组为第一PBG,该方法还包括:将预测块集的第二多个预测块分组为第二PBG,该预测块集的第二多个预测块和预测块集的第一多个预测块包含非重叠预测块集;以及独立于第二PBG中所包含的其他预测块的样点来重构第二PBG中所包含的预测块的样点。
示例3:根据示例2的方法,其中,重构包含在第二PBG中的预测块的样点包括基于包含在第一PBG中的预测块的样点来重构包含在第二PBG中的预测块的样点。
示例4:根据示例1至3中任一项的方法,其中,第一PBG包括至少为四的样点大小宽度。
示例5:根据示例1至4中任一项的方法,其中,与第一PBG相关联的第一变换块的大小等于第一预测块的大小。
示例6:根据示例1至5中任一项的方法,其中,重构预测块的样点包括:生成宽度等于至少第一预测块和第二预测块的合计宽度的预测样点阵列。
示例7:根据示例1至6中任一项的方法,其中,第一预测块包括小于或等于二的样点宽度。
示例8:根据示例7的方法,其中,第一预测块和第二预测块具有相同的宽度。
示例9:根据示例1至8中任一项的方法,该方法进一步包括:基于编译码单元的宽度和第一预测块的宽度确定预测块组的数目;根据预测块组的数目对CU进行编译码,使得CU包括该数目的预测块组。
示例10:根据示例1至9中任一项的方法,其中,方法由一个或多个处理器执行。
示例11:根据示例1至10中任一项的方法,该方法进一步包括:在经编译码的视频比特流中对表示视频数据的CU的预测信息的一个或多个语法元素和表示视频数据的CU的残差数据的一个或多个语法元素进行编码。
示例12:根据示例1至11中任一项的方法,该方法进一步包括:从经编译码的视频比特流对表示视频数据的CU的预测信息的一个或多个语法元素和表示视频数据的CU的残差数据的一个或多个语法元素进行解码。
示例13:根据示例1至12中任一项的方法,其中,执行CU的划分包含使用垂直划分、水平划分或水平和垂直划分的组合中的一个或多个执行CU的划分。
示例14:用于对视频数据进行编译码的设备,设备包括用于执行示例1到13中任一者的方法的一个或多个部件。例如,示例14的设备可以包含被配置为存储视频数据的存储器;以及一个或多个处理器,一个或多个处理器在电路中实现并且被配置为:使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,预测块至少包括第一预测块和第二预测块;将来自预测块集的多个预测块分组为第一预测块组(PBG);以及独立于第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
示例15:根据示例14的设备,其中,为了将预测块集中的多个预测块分组为第一PBG,一个或多个处理器被配置为将预测块集的第一多个预测块分组为第一PBG,并且其中,一个或多个处理器还被配置为:将预测块集的第二多个预测块分组为第二PBG,预测块集的第二多个预测块和预测块集的第一多个预测块包含非重叠预测块集;以及独立于第二PBG中所包含的其他预测块的样点来重构第二PBG中所包含的预测块的样点。
示例16:根据示例15的设备,其中,为了重构包含在第二PBG中的预测块的样点,一个或多个处理器被配置为基于包含在第一PBG中的预测块的样点来重构包含在第二PBG中的预测块的样点。
示例17:根据示例14至16中任一项的设备,其中,第一PBG包括至少为四的样点大小宽度。
示例18:根据示例14至17中任一项的设备,其中,与第一PBG相关联的第一变换块的大小等于第一预测块的大小。
示例19:根据示例14至18中任一项的设备,其中,为了重构预测块的样点,一个或多个处理器被配置为:生成宽度等于至少第一预测块和第二预测块的合计宽度的预测样点阵列。
示例20:根据示例14至19中任一项的设备,其中,第一预测块包括小于或等于二的样点宽度。
示例21:根据示例20的设备,其中,第一预测块和第二预测块具有相同的宽度。
示例22:根据示例14至21中任一项的设备,其中,一个或多个处理器还被配置为:基于编译码单元的宽度和第一预测块的宽度确定预测块组的数目;根据预测块组的数目对CU进行编译码,使得CU包括该数目的预测块组。
示例23:根据示例14至22中任一项的设备,其中,一个或多个处理器被包含在视频编码器中。
示例24:根据示例14至23中任一项的设备,其中,一个或多个处理器被包含在视频解码器中。
示例25:根据示例14至24中任一项的设备,其中,为了执行CU的划分,一个或多个处理器被配置为使用垂直划分来划分CU。
在一些实现方式中,上述示例1-13和/或14-25可以使用存储指令的计算机可读存储介质来实现,所述指令在被执行时使得设备的一个或多个处理器执行所述各种操作中的一些或全部。例如,可以提供存储指令的计算机可读存储介质,所述指令在被执行时使得用于对视频数据进行解码和/或编码的设备的一个或多个处理器:使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,预测块至少包括第一预测块和第二预测块;将来自所述预测块集的多个预测块分组为第一预测块组(PBG);以及独立于所述第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点。
在一些实现方式中,可以使用包括用于执行各种操作中的一些或全部的一个或多个部件的装置来实现上述示例1-13和/或14-25。例如,用于对视频数据进行编码的装置包含:用于使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集的部件,预测块至少包括第一预测块和第二预测块;将来自该预测块集的多个预测块分组为第一预测块组(PBG)的部件;以及独立于该第一PBG中所包含的其他预测块的样点来重构第一PBG中所包含的预测块的样点的部件。
示例26:对视频数据进行编译码的方法,该方法包括:对视频数据的当前编译码块的广义预测的性能的指示进行编译码;基于该指示将当前编译码块划分成一个或多个预测块;基于一个或多个预测块来定义一个或多个预测块组(PBG);确定PBG的编译码顺序;以编译码顺序对PBG进行编译码。
示例27:根据示例26的方法,其中,对PBG进行编译码包括:基于当前PBG的可用参考样点和用于预测的帧内模式,获得当前PBG中的样点的预测值。
示例28:根据示例26或27中任一项的方法,其中:将当前编译码块划分成一个或多个预测块包括将当前编译码块划分成大小为4×N的预测块,仅允许垂直帧内预测模式用于预测块的预测,并且不在包含预测块的视频数据的编码的表示的比特流中用信令通知用于预测块的帧内预测模式的指示。
示例29:根据示例26至28中任一项的方法,其中,编译码包括解码。
示例30:根据示例26至28中任一项的方法,其中,编译码包括编码。
示例31:用于对视频数据进行编译码的设备,设备包括用于执行示例26到30中任一者的方法的一个或多个部件。例如,示例31的设备可以包含一个或多个处理器,一个或多个处理器被配置为:对视频数据的当前编译码块的广义预测的性能的指示进行编译码;基于该指示将当前编译码块划分成一个或多个预测块;基于一个或多个预测块来定义一个或多个预测块组(PBG);确定PBG的编译码顺序;以编译码顺序对PBG进行编译码。
示例32:根据示例31的设备,其中,一个或多个部件包括在电路中实现的一个或多个处理器。
示例33:根据示例31或32中任一项的设备,还包括用于存储视频数据的存储器。
示例34:根据示例31至33中任一项的设备,还包括被配置为显示解码的视频数据的显示器。
示例35:根据示例31至34中任一项的设备,其中,该设备包括相机、计算机、移动设备、广播接收器设备或机顶盒中的一个或多个。
示例36:根据示例31至35中任一项的设备,其中,该设备包括视频解码器。
示例37:根据示例31至36中任一项的设备,其中,该设备包括视频编码器。
在一些实现方式中,上述示例26-30和/或31-37可以使用存储指令的计算机可读存储介质来实现,所述指令在被执行时使得设备的一个或多个处理器执行所述各种操作中的一些或全部。例如,可以提供存储指令的计算机可读存储介质,所述指令在被执行时使得用于对视频数据进行解码和/或编码的设备的一个或多个处理器:对视频数据的当前编译码块的广义预测的性能的指示进行编译码;基于该指示将当前编译码块划分成一个或多个预测块;基于一个或多个预测块来定义一个或多个预测块组(PBG);确定PBG的编译码顺序;以编译码顺序对PBG进行编译码。
在一些实现方式中,可以使用包括用于执行各种操作中的一些或全部的一个或多个部件的装置来实现上述示例26-30和/或31-37。例如,用于对视频数据进行编码的装置包含:用于对视频数据的当前编译码块的广义预测的性能的指示进行编译码的部件;用于基于该指示将当前编译码块划分成一个或多个预测块的部件;用于基于一个或多个预测块来定义一个或多个预测块组(PBG)的部件;用于确定PBG的编译码顺序的部件;用于以编译码顺序对PBG进行编译码的部件。
应所述认识到,根据示例,本文中描述的任何技术的某些动作或事件可以以不同的序列执行,可以被一起增加、合并或省去(例如,不是所有描述的动作或事件是技术实践所必须的)。此外,在某些示例中,动作或事件可以,例如,通过多线程处理、中断处理或多个处理器并发地处理而不是顺序地执行。
在一个或多个示例中,可以以硬件、软件、固件或其任意组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包含计算机可读存储介质,其对应于比如数据存储介质之类的有形介质,或者通信介质,包含例如,根据通信协议来促进将计算机程序从一个地方转移到另一个地方的任何介质。以这种方式,计算机可读介质一般可以对应于(1)非暂时性的有形计算机可读存储介质,或者(2)比如信号或载波之类的通信介质。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以取得指令、代码和/或数据结构以实现本公开中描述的技术的任何可用介质。计算机程序产品可以包含计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储器设备、闪存或可以用于以指令或数据结构形式存储所需程序代码并且可以由计算机访问的任何其他介质。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(比如红外、无线电和微波)从网站、服务器或其他远程源发送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL或比如红外、无线电和微波之类的无线技术。然而,应当理解,计算机可读存储介质和数据存储介质不包含连接、载波、信号或其他暂时性介质,而是针对非暂时性有形存储介质。如本申请中使用的磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘一般以磁性方式重现数据,而光盘用激光光学地重现数据。上述的组合也应包含在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,比如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效集成的或分立逻辑电路。因此,如本文中所使用的术语“处理器”和“处理电路”可指前述结构中的任一者或适于实现本文中所描述的技术的任何其他结构。此外,在一些方面,本申请中描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或合并在组合编解码器中。同样,所述技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在包含无线手机、集成电路(IC)或一组IC(例如,芯片组)的多种设备或装置中实现。在本公开中描述各种组件、模块或单元以强调被配置为执行所公开技术的设备的功能方面,但不一定需要由不同硬件单元来实现。而是,如上所述,各种单元可以组合在编解码器硬件单元中,或者由互操作硬件单元的集合来提供,包含与合适的软件和/或固件结合的如上所述的一个或多个处理器。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。

Claims (27)

1.一种对视频数据进行编译码的方法,所述方法包括:
使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,所述预测块包含至少第一预测块和第二预测块;
将来自所述预测块集的多个预测块分组为第一预测块组(PBG);以及
独立于所述第一PBG中所包含的其他预测块的样点来重构所述第一PBG中所包含的预测块的样点。
2.根据权利要求1所述的方法,其中,将所述预测块集的多个预测块分组为第一PBG包括将所述预测块集的第一多个预测块分组为所述第一PBG,所述方法还包括:
将所述预测块集的第二多个预测块分组为第二PBG,所述预测块集的第二多个预测块和所述预测块集的第一多个预测块包含非重叠预测块集;以及
独立于包含在所述第二PBG中的其他预测块的样点来重构包含在所述第二PBG中的预测块的样点。
3.根据权利要求2所述的方法,其中,重构包含在所述第二PBG中的预测块的样点包括基于包含在所述第一PBG中的预测块的样点来重构包含在所述第二PBG中的预测块的样点。
4.根据权利要求1所述的方法,其中,所述第一PBG包括至少为四的样点大小宽度。
5.根据权利要求1所述的方法,其中,与所述第一PBG相关联的第一变换块的大小等于所述第一预测块的大小。
6.根据权利要求1所述的方法,其中,重构预测块的样点包括:
生成宽度等于至少所述第一预测块和所述第二预测块的合计宽度的预测样点阵列。
7.根据权利要求1所述的方法,其中,所述第一预测块包括小于或等于二的样点宽度。
8.根据权利要求7所述的方法,其中,所述第一预测块和所述第二预测块具有相同的宽度。
9.根据权利要求1所述的方法,还包括:
基于所述编译码单元的宽度和所述第一预测块的宽度确定预测块组的数目;
根据预测块组的所述数目对所述CU进行编译码,使得所述CU包括所述数目的预测块组。
10.根据权利要求1所述的方法,其中,所述方法是由一个或多个处理器执行的。
11.根据权利要求1所述的方法,还包括:
在经编译码的视频比特流中对表示视频数据的CU的预测信息的一个或多个语法元素和表示视频数据的所述CU的残差数据的一个或多个语法元素进行编码。
12.根据权利要求1所述的方法,还包括:
从经编译码的视频比特流对表示视频数据的所述CU的预测信息的一个或多个语法元素和表示视频数据的所述CU的残差数据的一个或多个语法元素进行解码。
13.根据权利要求1所述的方法,其中,执行所述CU的划分包含使用垂直划分、水平划分或水平和垂直划分的组合中的一个或多个执行所述CU的划分。
14.一种用于对视频数据进行编译码的设备,所述设备包括:
存储器,被配置为存储视频数据;以及
一个或多个处理器,在电路中实现并且被配置为:
使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,所述预测块包含至少第一预测块和第二预测块;
将来自所述预测块集的多个预测块分组为第一预测块组(PBG);以及
独立于所述第一PBG中所包含的其他预测块的样点来重构所述第一PBG中所包含的预测块的样点。
15.根据权利要求14所述的设备,其中,为了将所述预测块集的多个预测块分组为所述第一PBG,所述一个或多个处理器被配置为将所述预测块集的第一多个预测块分组为所述第一PBG,并且其中,所述一个或多个处理器还被配置为:
将所述预测块集的第二多个预测块分组为第二PBG,所述预测块集的第二多个预测块和所述预测块集的第一多个预测块包含非重叠预测块集;以及
独立于包含在所述第二PBG中的其他预测块的样点来重构包含在所述第二PBG中的预测块的样点。
16.根据权利要求15所述的设备,其中,为了重构包含在所述第二PBG中的预测块的样点,所述一个或多个处理器被配置为基于包含在所述第一PBG中的预测块的样点来重构包含在所述第二PBG中的预测块的样点。
17.根据权利要求14所述的设备,其中,所述第一PBG包括至少为四的样点大小宽度。
18.根据权利要求14所述的设备,其中,与所述第一PBG相关联的第一变换块的大小等于所述第一预测块的大小。
19.根据权利要求14所述的设备,其中,为了重构预测块的所述样点,所述一个或多个处理器被配置为:
生成宽度等于至少所述第一预测块和所述第二预测块的合计宽度的预测样点阵列。
20.根据权利要求14所述的设备,其中,所述第一预测块包括小于或等于二的样点宽度。
21.根据权利要求20所述的设备,其中,所述第一预测块和所述第二预测块具有相同的宽度。
22.根据权利要求14所述的设备,其中,所述一个或多个处理器还被配置为:
基于所述编译码单元的宽度和所述第一预测块的宽度确定预测块组的数目;以及
根据预测块组的所述数目对所述CU进行编译码,使得所述CU包括所述数目的预测块组。
23.根据权利要求14所述的设备,其中,所述一个或多个处理器被包含在视频编码器中。
24.根据权利要求14所述的设备,其中,所述一个或多个处理器被包含在视频解码器中。
25.根据权利要求14所述的设备,其中,为了执行对所述CU的划分,所述一个或多个处理器被配置为使用垂直划分来划分所述CU。
26.一种非暂时性计算机可读存储介质,其上存储有指令,所述指令在被执行时使得一个或多个处理器:
使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集,所述预测块包含至少第一预测块和第二预测块;
将来自所述预测块集的多个预测块分组为第一预测块组(PBG);以及
独立于所述第一PBG中所包含的其他预测块的样点来重构所述第一PBG中所包含的预测块的样点。
27.一种用于对视频数据进行编译码的装置,所述装置包含:
用于使用帧内子分割(ISP)来执行视频数据的编译码单元(CU)的划分以形成预测块集的部件,所述预测块包含至少第一预测块和第二预测块;
用于将来自所述预测块集的多个预测块分组为第一预测块组(PBG)的部件;以及
用于独立于所述第一PBG中所包含的其他预测块的样点来重构所述第一PBG中所包含的预测块的样点的部件。
CN202080016068.2A 2019-02-28 2020-02-26 视频编译码中通过广义帧内预测对子块进行编译码 Pending CN113475068A (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201962812078P 2019-02-28 2019-02-28
US62/812,078 2019-02-28
US201962817474P 2019-03-12 2019-03-12
US62/817,474 2019-03-12
US201962862936P 2019-06-18 2019-06-18
US62/862,936 2019-06-18
US16/800,467 US11825120B2 (en) 2019-02-28 2020-02-25 Subblock coding by generalized intra prediction in video coding
US16/800,467 2020-02-25
PCT/US2020/019919 WO2020176634A1 (en) 2019-02-28 2020-02-26 Subblock coding by generalized intra prediction in video coding

Publications (1)

Publication Number Publication Date
CN113475068A true CN113475068A (zh) 2021-10-01

Family

ID=72236397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080016068.2A Pending CN113475068A (zh) 2019-02-28 2020-02-26 视频编译码中通过广义帧内预测对子块进行编译码

Country Status (8)

Country Link
US (1) US11825120B2 (zh)
EP (1) EP3932059A1 (zh)
JP (1) JP2022522336A (zh)
KR (1) KR20210130728A (zh)
CN (1) CN113475068A (zh)
BR (1) BR112021015697A2 (zh)
SG (1) SG11202108267QA (zh)
WO (1) WO2020176634A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023083239A1 (zh) * 2021-11-11 2023-05-19 杭州海康威视数字技术股份有限公司 图像解码方法及装置、图像编码方法及装置
WO2023131221A3 (zh) * 2022-01-07 2023-08-31 杭州海康威视数字技术股份有限公司 图像编解码的方法、装置及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11445203B2 (en) * 2019-01-04 2022-09-13 Qualcomm Incorporated Sub-partition intra prediction in video coding
WO2020169105A1 (en) 2019-02-24 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Condition dependent coding of palette mode usage indication
JP7414843B2 (ja) 2019-04-24 2024-01-16 バイトダンス インコーポレイテッド 符号化映像の量子化残差差分パルス符号変調表現
WO2020223467A1 (en) 2019-05-01 2020-11-05 Bytedance Inc. Intra coded video using quantized residual differential pulse code modulation coding
EP3948663A4 (en) 2019-05-02 2022-06-08 ByteDance Inc. CODING MODE BASED ON A CODING TREE STRUCTURE TYPE
WO2020223612A1 (en) * 2019-05-02 2020-11-05 Bytedance Inc. Signaling in transform skip mode
CN114258674A (zh) * 2019-07-19 2022-03-29 Lg 电子株式会社 使用ibc的图像编码/解码方法和装置,以及发送比特流的方法
EP3987806A4 (en) * 2019-07-20 2022-08-31 Beijing Bytedance Network Technology Co., Ltd. CONDITIONAL CODING OF PALETTE MODE USE INDICATION
CN114145013B (zh) 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
EP3991411A4 (en) 2019-07-29 2022-08-24 Beijing Bytedance Network Technology Co., Ltd. CODING IN PALETTE MODE IN A PREDICTION PROCESS
WO2023049486A1 (en) * 2021-09-27 2023-03-30 Beijing Dajia Internet Information Technology Co., Ltd. Adaptive coding order for intra prediction in video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103404144A (zh) * 2011-03-04 2013-11-20 高通股份有限公司 视频译码中的经量化脉码调制
CN103931182A (zh) * 2011-10-27 2014-07-16 高通股份有限公司 帧内预测视频译码中的非正方形变换
CN105594211A (zh) * 2013-11-27 2016-05-18 联发科技(新加坡)私人有限公司 利用基于帧内图片区块复制预测的视频编码方法
CN106576178A (zh) * 2014-06-19 2017-04-19 Vid拓展公司 采用块向量导出的块内复制编码的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103404144A (zh) * 2011-03-04 2013-11-20 高通股份有限公司 视频译码中的经量化脉码调制
CN103931182A (zh) * 2011-10-27 2014-07-16 高通股份有限公司 帧内预测视频译码中的非正方形变换
CN105594211A (zh) * 2013-11-27 2016-05-18 联发科技(新加坡)私人有限公司 利用基于帧内图片区块复制预测的视频编码方法
CN106576178A (zh) * 2014-06-19 2017-04-19 Vid拓展公司 采用块向量导出的块内复制编码的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIAORAN CAO等: "Short Distance Intra Coding Scheme for High Efficiency Video Coding", IEEE TRANSACTIONS ON IMAGE PROCESSING, vol. 22, no. 2, 28 February 2013 (2013-02-28), pages 790 - 798, XP011492284, DOI: 10.1109/TIP.2012.2222904 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023083239A1 (zh) * 2021-11-11 2023-05-19 杭州海康威视数字技术股份有限公司 图像解码方法及装置、图像编码方法及装置
WO2023131221A3 (zh) * 2022-01-07 2023-08-31 杭州海康威视数字技术股份有限公司 图像编解码的方法、装置及存储介质
TWI832661B (zh) * 2022-01-07 2024-02-11 大陸商杭州海康威視數字技術股份有限公司 圖像編解碼的方法、裝置及存儲介質

Also Published As

Publication number Publication date
BR112021015697A2 (pt) 2021-10-26
EP3932059A1 (en) 2022-01-05
WO2020176634A1 (en) 2020-09-03
KR20210130728A (ko) 2021-11-01
US11825120B2 (en) 2023-11-21
JP2022522336A (ja) 2022-04-18
US20200280742A1 (en) 2020-09-03
SG11202108267QA (en) 2021-09-29

Similar Documents

Publication Publication Date Title
US11825120B2 (en) Subblock coding by generalized intra prediction in video coding
US11032572B2 (en) Low-frequency non-separable transform signaling based on zero-out patterns for video coding
US11445203B2 (en) Sub-partition intra prediction in video coding
CN113853784B (zh) 用于视频译码的多个自适应环路滤波器集合的方法和装置
CN112204967A (zh) 用于划分视频数据的帧间预测片段中的视频块的系统和方法
US20210136422A1 (en) Merge estimation region for multi-type-tree block structure
US11128866B2 (en) Scans and last coefficient position coding for zero-out transforms
CN113508594A (zh) 视频编解码中三角形合并模式索引的信令
US20200288130A1 (en) Simplification of sub-block transforms in video coding
EP4082199A1 (en) Reference subpicture scaling ratios for subpictures in video coding
CN113728650A (zh) 自适应环路滤波器集合索引信令
US11632540B2 (en) Reference picture scaling ratios for reference picture resampling in video coding
CN114424570B (zh) 用于视频编解码的变换单元设计
CN114080805A (zh) 用于视频译码的自适应环路滤波的非线性扩展
CN115486066A (zh) 在视频编解码中的独立子图片信令通知
EP4082203A1 (en) Wraparound offsets for reference picture resampling in video coding
US11778213B2 (en) Activation function design in neural network-based filtering process for video coding
US20200112728A1 (en) Wide-angle intra prediction for video coding
US20210314567A1 (en) Block partitioning for image and video coding
CN115462072A (zh) 视频译码中的高级去块滤波(dbf)、自适应环路滤波(alf)和采样自适应偏移(sao)控制以及自适应参数集(aps)数量约束
CN114009045A (zh) 视频译码中的dc帧内模式预测
WO2020068674A1 (en) Restrictions for the worst-case bandwidth reduction in video coding
US11997258B2 (en) Candidate lists of multiple reference lines for video coding
WO2024054507A1 (en) Intra prediction fusion with reduced complexity in 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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40060347

Country of ref document: HK