[go: up one dir, main page]

HK40105225A - Image encoding/decoding method, medium and method of transmitting bitstream - Google Patents

Image encoding/decoding method, medium and method of transmitting bitstream Download PDF

Info

Publication number
HK40105225A
HK40105225A HK42024093593.2A HK42024093593A HK40105225A HK 40105225 A HK40105225 A HK 40105225A HK 42024093593 A HK42024093593 A HK 42024093593A HK 40105225 A HK40105225 A HK 40105225A
Authority
HK
Hong Kong
Prior art keywords
block
prediction
partitioning
blocks
mode
Prior art date
Application number
HK42024093593.2A
Other languages
Chinese (zh)
Inventor
金起佰
Original Assignee
有限公司B1影像技术研究所
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 有限公司B1影像技术研究所 filed Critical 有限公司B1影像技术研究所
Publication of HK40105225A publication Critical patent/HK40105225A/en

Links

Description

图像编码/解码方法、介质和传送比特流的方法Image encoding/decoding methods, media, and methods for transmitting bit streams

本申请是申请日为2019年4月1日、申请号为201980023756.9、发明名称为“用于编码/解码图像的方法和装置”的发明专利申请的分案申请。This application is a divisional application of the invention patent application filed on April 1, 2019, with application number 201980023756.9 and title "Method and Apparatus for Encoding/Decoding Images".

技术领域Technical Field

本公开内容涉及对图像进行编码和解码的技术,并且更具体地,涉及用于在帧内预测中执行编码/解码的方法和装置。This disclosure relates to techniques for encoding and decoding images, and more specifically, to methods and apparatus for performing encoding/decoding in intra-frame prediction.

背景技术Background Technology

随着因特网和便携式终端的广泛使用以及信息和通信技术的发展,多媒体数据被越来越多地使用。因此,为了通过各种系统中的图像预测提供各种服务或执行各种任务,迫切需要提高图像处理系统的性能和效率。但是,研究和开发成果尚未跟得上这种趋势。With the widespread use of the Internet and portable terminals, and the development of information and communication technologies, multimedia data is being used more and more. Therefore, in order to provide various services or perform various tasks through image prediction in various systems, there is an urgent need to improve the performance and efficiency of image processing systems. However, research and development achievements have not kept pace with this trend.

因此,用于对图像进行编码/解码的现有方法和装置需要在图像处理、特别是在图像编码或图像解码中的性能改进。Therefore, existing methods and apparatuses for encoding/decoding images require performance improvements in image processing, particularly in image encoding or image decoding.

发明内容Summary of the Invention

技术问题Technical issues

本公开内容的目的是提供一种用于执行帧内预测的方法和装置。本公开内容的另一目的是提供一种用于执行以子块为单位(subblock-wise)的帧内预测的方法和装置。本公开内容的另一目的是提供一种用于执行划分为子块并确定子块的编码顺序的方法和装置。The purpose of this disclosure is to provide a method and apparatus for performing intra-frame prediction. Another purpose of this disclosure is to provide a method and apparatus for performing sub-block-wise intra-frame prediction. A further purpose of this disclosure is to provide a method and apparatus for dividing the frame into sub-blocks and determining the coding order of the sub-blocks.

技术解决方案Technical solutions

在根据本公开内容的用于图像编码/解码的方法和装置中,配置对于当前块的划分类型的候选组,并且基于候选组和候选索引来确定当前块到子块的划分类型,以当前块为单位导出帧内预测模式,并且基于当前块的帧内预测模式和划分类型来对当前块进行帧内预测。In the method and apparatus for image encoding/decoding according to the present disclosure, candidate groups for partitioning types of the current block are configured, and partitioning types from the current block to sub-blocks are determined based on the candidate groups and candidate indices. Intra-prediction modes are derived on a per-block basis, and intra-prediction is performed on the current block based on the intra-prediction modes and partitioning types of the current block.

有益效果Beneficial effects

根据本公开内容,可以通过以子块为单位的帧内预测来提高编码/解码性能。此外,根据本公开内容,可以通过有效地配置以子块为单位的划分类型的候选组来提高预测准确性。此外,根据本公开内容,可以通过调整以子块为单位的编码顺序来提高帧内预测编码/解码效率。According to this disclosure, encoding/decoding performance can be improved through intra-frame prediction on a sub-block basis. Furthermore, according to this disclosure, prediction accuracy can be improved by effectively configuring candidate groups for sub-block partitioning types. Additionally, according to this disclosure, intra-frame prediction encoding/decoding efficiency can be improved by adjusting the encoding order on a sub-block basis.

附图说明Attached Figure Description

图1是示出根据本公开内容的实施方式的图像编码和解码系统的概念图。Figure 1 is a conceptual diagram illustrating an image encoding and decoding system according to an embodiment of the present disclosure.

图2是示出根据本公开内容的实施方式的图像编码装置的框图。Figure 2 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present disclosure.

图3是示出根据本公开内容的实施方式的图像解码装置的框图。Figure 3 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present disclosure.

图4是示出可以在本公开内容的块分割器中获得的各种划分类型的示例图。Figure 4 is an example diagram illustrating the various partitioning types that can be obtained in the block splitter of this disclosure.

图5是示出根据本公开内容的实施方式的帧内预测模式的示例图。Figure 5 is an example diagram illustrating an intra-prediction mode according to an embodiment of the present disclosure.

图6是示出根据本公开内容的实施方式的用于帧内预测的参考像素的配置的示例图。Figure 6 is an example diagram illustrating the configuration of reference pixels for intra-frame prediction according to an embodiment of the present disclosure.

图7是示出根据本公开内容的实施方式的用于帧内预测的目标块和与该目标块相邻的块的概念图。Figure 7 is a conceptual diagram illustrating a target block for intra-frame prediction and a block adjacent to the target block according to an embodiment of the present disclosure.

图8是示出可以从编码块获得的各种子块划分类型的图。Figure 8 is a diagram showing the various sub-block partitioning types that can be obtained from the coded block.

图9是示出根据本公开内容的实施方式的用于帧内预测模式的参考像素区域的示例图。Figure 9 is an example diagram illustrating a reference pixel region for an intra-frame prediction mode according to an embodiment of the present disclosure.

图10是示出根据本公开内容的实施方式的在右上对角线预测模式中可用的编码顺序的示例图。Figure 10 is an example diagram illustrating the encoding order available in the upper right diagonal prediction mode according to an embodiment of the present disclosure.

图11是示出根据本公开内容的实施方式的在水平模式下可用的编码顺序的示例图。Figure 11 is an example diagram illustrating the encoding order available in horizontal mode according to an embodiment of the present disclosure.

图12是示出根据本公开内容的实施方式的在右下对角线预测模式中可用的编码顺序的示例图。Figure 12 is an example diagram illustrating the coding order available in the lower right diagonal prediction mode according to an embodiment of the present disclosure.

图13是示出根据本公开内容的实施方式的在垂直模式下可用的编码顺序的示例图。Figure 13 is an example diagram illustrating the encoding order available in vertical mode according to an embodiment of the present disclosure.

图14是示出根据本公开内容的实施方式的在左下对角线预测模式中可用的编码顺序的示例图。Figure 14 is an example diagram illustrating the encoding order available in the lower left diagonal prediction mode according to an embodiment of the present disclosure.

图15是示出根据本公开内容的实施方式的基于帧内预测模式和划分类型的编码顺序的示例图。Figure 15 is an example diagram illustrating the coding order based on intra-frame prediction mode and partitioning type according to an embodiment of the present disclosure.

具体实施方式Detailed Implementation

在根据本公开内容的用于图像编码/解码的方法和装置中,可以配置对于当前块可用的划分类型的候选组,可以基于候选组和候选索引来确定当前块到子块的划分类型,可以以当前块为单位导出帧内预测模式,并且可以基于当前块的帧内预测模式和子块划分类型来对当前块进行帧内预测。In the method and apparatus for image encoding/decoding according to the present disclosure, candidate groups of partition types available for the current block can be configured, partition types from the current block to sub-blocks can be determined based on candidate groups and candidate indices, intra-prediction modes can be derived on a per-block basis, and intra-prediction can be performed on the current block based on the intra-prediction mode of the current block and the sub-block partition type.

本发明的模式The mode of the present invention

本公开内容可以进行各种修改并且具有各种实施方式。将参照附图描述本公开内容的特定实施方式。但是,该实施方式并不旨在限制本公开内容的技术范围,并且应当理解,本公开内容涵盖了在本公开内容的范围和构思内的各种修改、等同形式和替选形式。This disclosure can be modified in various ways and has various implementations. Specific implementations of this disclosure will be described with reference to the accompanying drawings. However, these implementations are not intended to limit the technical scope of this disclosure, and it should be understood that this disclosure covers various modifications, equivalents, and alternatives within the scope and concept of this disclosure.

在本公开内容中使用的术语第一、第二、A和B可以用于描述各种部件,而不是限制部件。这些表述仅用于将一个部件与另一部件区分开。例如,在不脱离本公开内容的范围的情况下,第一部件可以被称为第二部件,并且,第二部件可以被称为第一部件。该术语和/或涵盖多个相关项的组合或多个相关项中的任何一个。The terms first, second, A, and B used in this disclosure may be used to describe various components, rather than to limit them. These expressions are used only to distinguish one component from another. For example, without departing from the scope of this disclosure, a first component may be referred to as a second component, and a second component may be referred to as a first component. The term and/or covers a combination of or any one of several related terms.

当提到一个部件“连接至”另一部件或“与另一部件耦接/耦接至”另一部件时,应当理解为一个部件直接或通过任何其他部件连接至另一部件。另一方面,当提到一个部件“直接连接至”或“直接耦接至”另一部件时,应当理解为在部件之间不存在其他部件。When a component is said to be “connected to” or “coupled to” another component, it should be understood that a component is connected to the other component directly or through any other component. On the other hand, when a component is said to be “directly connected to” or “directly coupled to” another component, it should be understood that there are no other components between the components.

提供在本公开内容中使用的术语仅用于描述特定实施方式,而不旨在限制本公开内容。除非上下文另有明确规定,否则单数形式包括复数指代。在本公开内容中,术语“包括”或“具有”表示特征、数字、步骤、操作、部件、零件或其组合的存在,但不排除存在或添加一个或更多个其他特征、数字、步骤、操作、部件、零件或其组合。The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. Unless the context clearly specifies otherwise, the singular form includes the plural reference. In this disclosure, the terms “comprising” or “having” indicate the presence of a feature, number, step, operation, component, part, or combination thereof, but do not exclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

除非另有定义,否则本公开内容中使用的包括技术或科学术语的术语可以具有与本领域技术人员通常理解的含义相同的含义。字典中通常定义的术语可以被解释为与相关技术的上下文含义具有相同或类似的含义。除非另有定义,否则这些术语不应被解释为理想或过度形式的含义。Unless otherwise defined, terms including technical or scientific terms used in this disclosure may have the same meaning as commonly understood by those skilled in the art. Terms that are commonly defined in dictionaries may be interpreted as having the same or similar meaning as in the context of the relevant art. Unless otherwise defined, these terms should not be interpreted as having an ideal or overly formal meaning.

通常,图像可以根据其颜色格式包括一个或更多个颜色空间。该图像可以包括具有相同尺寸的一个或更多个图片或者具有不同尺寸的一个或更多个图片。例如,YCbCr颜色配置可以支持例如4:4:4、4:2:2、4:2:0和单色(仅由Y组成)的颜色格式。例如,YCbCr 4:2:0可以由一个亮度分量(在该示例中的Y)和两个色度分量(在该示例中的Cb和Cr)组成。在这种情况下,色度分量和亮度分量的配置比可以具有1:2的宽度-高度。例如,在4:4:4的情况下,其在宽度和高度方面可以具有相同的配置比率。如以上示例中那样,当图片包括一个或更多个颜色空间时,可以将图片分割成颜色空间。Typically, an image can include one or more color spaces depending on its color format. The image can include one or more images of the same size or one or more images of different sizes. For example, the YCbCr color configuration can support color formats such as 4:4:4, 4:2:2, 4:2:0, and monochrome (consisting only of Y). For example, YCbCr 4:2:0 can consist of one luminance component (Y in this example) and two chrominance components (Cb and Cr in this example). In this case, the configuration ratio of the chrominance and luminance components can be 1:2 width-to-height. For example, in the case of 4:4:4, it can have the same configuration ratio in terms of width and height. As in the examples above, when an image includes one or more color spaces, the image can be divided into color spaces.

可以根据图像的图像类型(例如,图片、切片、图块等)将图像分类为I、P和B。I图片可以是在没有参考图片的情况下被编码/解码的图像。P图片可以是使用参考图片进行编码/解码但仅允许前向预测的图像。B图片可以是使用参考图片进行编码/解码且允许双向预测的的图像。但是,根据编码/解码配置,可以组合一些类型(P和B)或者可以支持具有不同组成的图像类型。Images can be classified into I, P, and B based on their image type (e.g., picture, slice, tile, etc.). I images can be images encoded/decoded without a reference image. P images can be images encoded/decoded using a reference image but only allowing forward prediction. B images can be images encoded/decoded using a reference image and allowing bidirectional prediction. However, depending on the encoding/decoding configuration, some types (P and B) can be combined, or image types with different compositions can be supported.

在本公开内容中生成的各种编码/解码信息可以被显式地或隐式地处理。显式处理可以被理解为以下处理:通过编码器生成指示与序列、切片、图块、块或子块中的编码信息相关的多个候选的候选组中的一个候选的选择信息,并且将该选择信息包括在比特流中,并且通过解码器在与编码器中相同的单元级别解析相关信息来将相关信息重构为解码信息。隐式处理可以被理解为在编码器和解码器两者处以相同的过程、规则等处理编码/解码信息。The various encoded/decoded information generated in this disclosure can be processed explicitly or implicitly. Explicit processing can be understood as the following: generating selection information from a group of candidates indicating one of several candidates related to the encoded information in a sequence, slice, tile, block, or sub-block via an encoder, including this selection information in the bitstream, and reconstructing the relevant information into decoded information by parsing the relevant information at the same unit level as in the encoder via a decoder. Implicit processing can be understood as processing the encoded/decoded information with the same procedures, rules, etc., at both the encoder and decoder.

图1是示出根据本公开内容的实施方式的图像编码和解码系统的概念图。Figure 1 is a conceptual diagram illustrating an image encoding and decoding system according to an embodiment of the present disclosure.

参照图1,图像编码装置105和图像解码装置100中的每一个可以是用户终端,例如,个人计算机(PC)、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、便携式游戏机(PSP)、无线通信终端、智能手机或电视(TV)、或服务器终端(例如应用程序服务器或服务服务器)。图像编码装置105和图像解码装置100中的每一个可以是各种装置中的任何一种,每个装置包括:与各种装置或有线/无线通信网络通信的诸如通信调制解调器的通信装置;存储用于帧间预测或帧内预测的各种程序和数据以对图像进行编码或解码的存储器120或125;或通过执行程序来执行计算和控制操作的处理器110或115。Referring to FIG1, each of the image encoding device 105 and the image decoding device 100 may be a user terminal, such as a personal computer (PC), laptop computer, personal digital assistant (PDA), portable multimedia player (PMP), portable game console (PSP), wireless communication terminal, smartphone, or television (TV), or a server terminal (e.g., an application server or service server). Each of the image encoding device 105 and the image decoding device 100 may be any of a variety of devices, each device including: a communication device such as a communication modem that communicates with various devices or wired/wireless communication networks; a memory 120 or 125 that stores various programs and data for inter-frame prediction or intra-frame prediction to encode or decode images; or a processor 110 or 115 that performs calculation and control operations by executing programs.

此外,图像编码装置105可以通过诸如因特网、短距离无线通信网、无线局域网(WLAN),无线宽带(Wi-Bro)网或移动通信网等有线/无线通信网或者经由诸如电缆或通用串行总线(USB)的各种通信接口实时地或非实时地将编码为比特流的图像发送至图像解码装置100,并且图像解码装置100可以通过解码比特流将接收到的比特流重建为图像,并且再现该图像。此外,图像编码装置105可以通过计算机可读记录介质将编码为比特流的图像发送至图像解码装置100。Furthermore, the image encoding device 105 can transmit images encoded as bitstreams to the image decoding device 100 in real time or non-real time via wired/wireless communication networks such as the Internet, short-range wireless communication networks, wireless local area networks (WLANs), wireless broadband (Wi-Bro) networks, or mobile communication networks, or via various communication interfaces such as cables or universal serial buses (USB). The image decoding device 100 can reconstruct the image from the received bitstream by decoding the bitstream and reproduce the image. Additionally, the image encoding device 105 can transmit images encoded as bitstreams to the image decoding device 100 via a computer-readable recording medium.

虽然上述图像编码装置和图像解码装置可以是单独的装置,但是根据实现方式,它们可以被并入单个图像编码/解码装置中。在这种情况下,图像编码装置的一些部件可以与图像解码装置的它们的对应部件基本相同。因此,这些部件可以被配置成包括相同的结构或执行至少相同的功能。Although the aforementioned image encoding and image decoding devices can be separate devices, depending on the implementation, they can be incorporated into a single image encoding/decoding device. In this case, some components of the image encoding device can be substantially the same as their corresponding components of the image decoding device. Therefore, these components can be configured to include the same structure or perform at least the same function.

因此,在以下对技术部件及其操作原理的详细描述中,将取消对相应技术部件的多余描述。此外,由于图像解码装置是将在图像编码装置中执行的图像编码方法应用于解码的计算装置,因此以下描述将集中于图像编码装置。Therefore, in the following detailed description of the technical components and their operating principles, redundant descriptions of the corresponding technical components will be omitted. Furthermore, since the image decoding apparatus is a computing device that applies the image encoding method executed in the image encoding apparatus to decoding, the following description will focus on the image encoding apparatus.

计算装置可以包括:存储器,其存储执行图像编码方法和/或图像解码方法的程序或软件模块;以及处理器,其连接至存储器并执行程序。图像编码装置可以被称为编码器,并且图像解码装置可被称为解码器。The computing device may include: a memory storing programs or software modules that perform image encoding and/or image decoding methods; and a processor connected to the memory and executing the programs. The image encoding device may be referred to as an encoder, and the image decoding device may be referred to as a decoder.

图2是示出根据本公开内容的实施方式的图像编码装置的框图。Figure 2 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present disclosure.

参照图2,图像编码装置20可以包括预测单元200、减法单元205、变换单元210、量化单元215、逆量化单元220、逆变换单元225、加法单元230、滤波器单元235、编码图片缓冲器240和熵编码单元245。Referring to FIG2, the image encoding device 20 may include a prediction unit 200, a subtraction unit 205, a transformation unit 210, a quantization unit 215, an inverse quantization unit 220, an inverse transformation unit 225, an addition unit 230, a filter unit 235, an encoded image buffer 240, and an entropy encoding unit 245.

预测单元200可以使用作为软件模块的预测模块来实现,并且通过针对要被编码的块使用帧内预测或帧间预测来生成预测块。预测单元200可以通过预测在图像中要被编码的当前块来生成预测块。换言之,预测单元200可以通过根据帧间预测或帧内预测来预测当前块中像素的像素值来生成具有每个像素的预测像素值的预测块。此外,预测单元200可以将生成预测块所需的信息(例如关于如帧内预测模式或帧间预测模式的预测模式的信息)提供给编码单元,使得编码单元可以对关于预测模式的信息进行编码。可以根据编码/解码配置来配置经受预测的处理单元、预测方法和关于处理单元的具体细节。例如,可以基于预测单元来确定预测方法和预测模式,并且可以基于变换单元执行预测。The prediction unit 200 can be implemented using a prediction module as a software module, and generates prediction blocks by using intra-frame prediction or inter-frame prediction for the blocks to be encoded. The prediction unit 200 can generate prediction blocks by predicting the current block to be encoded in the image. In other words, the prediction unit 200 can generate prediction blocks with predicted pixel values for each pixel by predicting the pixel values of pixels in the current block based on inter-frame prediction or intra-frame prediction. Furthermore, the prediction unit 200 can provide the encoding unit with information required to generate prediction blocks (e.g., information about prediction modes such as intra-frame prediction modes or inter-frame prediction modes), so that the encoding unit can encode the information about the prediction modes. The processing unit undergoing prediction, the prediction method, and specific details about the processing unit can be configured according to the encoding/decoding configuration. For example, the prediction method and prediction mode can be determined based on the prediction unit, and prediction can be performed based on the transform unit.

帧间预测单元可以根据运动预测方法将平移运动模型和非平移运动模型彼此进行区分。对于平移运动模型,仅考虑平行平移来执行预测,而对于非平移运动模型,除了平行平移之外,还可以考虑诸如旋转、透视和放大/缩小的运动来执行预测。在单向预测的假设下,平移运动模型可能需要一个运动矢量,而非平移运动模型可能需要一个或更多个运动矢量。在非平移运动模型的情况下,每个运动矢量可以是应用于当前块中的预设位置(例如当前块的左上顶点和右上顶点)的信息,并且可以基于相应的运动矢量在像素级或子块级获得当前块中的待预测区域的位置。帧间预测单元可以根据运动模型共同地应用一部分后续处理,并且单独地应用另一部分后续处理。Inter-frame prediction units can distinguish between translational motion models and non-translational motion models based on the motion prediction method. For translational motion models, prediction is performed only by considering parallel translation, while for non-translational motion models, prediction can be performed by considering motions such as rotation, perspective, and zoom in/out in addition to parallel translation. Under the assumption of unidirectional prediction, translational motion models may require one motion vector, while non-translational motion models may require one or more motion vectors. In the case of non-translational motion models, each motion vector can be information applied to a preset position in the current block (e.g., the top-left and top-right vertices of the current block), and the position of the region to be predicted in the current block can be obtained at the pixel level or sub-block level based on the corresponding motion vector. Inter-frame prediction units can apply some post-processing commonly to each motion model and apply other post-processing individually.

帧间预测单元可以包括参考图片构造单元、运动估计单元、运动补偿器、运动信息决定单元和运动信息编码器。参考图片构造单元可以包括参考图片列表L0或L1中的在当前图片之前或之后的经编码的图片。可以从包括在参考图片列表中的参考图片获得预测块,并且根据编码配置,当前图像还可以被配置为参考图片并且被包括在至少一个参考图片列表中。The inter-frame prediction unit may include a reference image construction unit, a motion estimation unit, a motion compensator, a motion information determination unit, and a motion information encoder. The reference image construction unit may include encoded images from a reference image list L0 or L1 that precede or follow the current image. Predictive blocks can be obtained from reference images included in the reference image list, and depending on the encoding configuration, the current image may also be configured as a reference image and included in at least one reference image list.

帧间预测单元的参考图片构造单元可以包括参考图片内插器。参考图片内插器可以根据内插精度对分数像素执行内插。例如,可以将8抽头的基于离散余弦变换(DCT)的内插滤波器应用于亮度分量,并且可以将4抽头的基于DCT的内插滤波器应用于色度分量。The reference image construction unit of the inter-frame prediction unit may include a reference image interpolator. The reference image interpolator can perform interpolation on fractional pixels according to the interpolation precision. For example, an 8-tap DCT-based interpolation filter can be applied to the luma component, and a 4-tap DCT-based interpolation filter can be applied to the chroma component.

帧间预测单元的运动估计单元可以使用参考图片来检测与当前块具有高相关性的块。为此,可以使用各种方法,例如基于全搜索的块匹配算法(FBMA)、三步搜索(TSS)等。运动补偿器可以在运动估计过程中获得预测块。The motion estimation unit of the inter-frame prediction unit can use a reference image to detect blocks that are highly correlated with the current block. Various methods can be used for this, such as full search-based block matching (FBMA) and three-step search (TSS). The motion compensator can obtain the predicted block during the motion estimation process.

帧间预测单元的运动信息确定单元可以执行为当前块选择最佳运动信息的处理。可以以诸如跳过模式、合并模式和竞争模式的运动信息编码模式对运动信息进行编码。可以通过根据运动模型组合所支持的模式来配置运动信息编码模式。这样的示例可以包括(平移)跳过模式、(非平移)跳过模式、(平移)合并模式、(非平移)合并模式、(平移)竞争模式和(非平移)竞争模式。根据编码配置,模式的一部分可以被包括在候选组中。The motion information determination unit of the inter-frame prediction unit can perform the process of selecting the best motion information for the current block. Motion information can be encoded using motion information encoding modes such as skip mode, merge mode, and contention mode. The motion information encoding mode can be configured according to the modes supported by the motion model combination. Examples of such modes include (translation) skip mode, (non-translation) skip mode, (translation) merge mode, (non-translation) merge mode, (translation) contention mode, and (non-translation) contention mode. Depending on the encoding configuration, a subset of the modes can be included in the candidate group.

在运动信息编码模式中,可以从至少一个候选块获得关于当前块的运动信息的预测值(运动矢量、参考图片、预测方向等)。当支持两个或更多个候选块时,可以生成最佳候选选择信息。在跳过模式(无残差信号)和合并模式(存在残差信号)中,可以在没有任何处理的情况下将预测值用作关于当前块的运动信息,而在竞争模式中,可以生成关于当前块的运动信息与预测值之间的差信息。In motion information encoding mode, predicted values (motion vectors, reference images, predicted directions, etc.) of motion information about the current block can be obtained from at least one candidate block. When two or more candidate blocks are supported, optimal candidate selection information can be generated. In skip mode (no residual signal) and merge mode (with residual signal), the predicted values can be used as motion information about the current block without any processing, while in contention mode, difference information between the motion information of the current block and the predicted values can be generated.

可以根据运动信息编码模式以各种方式自适应地配置关于当前块的运动信息的预测值的候选组。关于与当前块在空间上相邻的块(例如,左块、上块、左上块、右上块和左下块等)的运动信息可以被包括在候选组中,关于与当前块在时间上相邻的块的运动信息可以被包括在候选组中,并且关于空间候选和时间候选的混合运动信息可以被包括在候选组中。Candidate groups of predicted motion information for the current block can be adaptively configured in various ways based on the motion information encoding pattern. Motion information about spatially adjacent blocks (e.g., left block, top block, top-left block, top-right block, and bottom-left block, etc.) can be included in the candidate groups, motion information about temporally adjacent blocks can be included in the candidate groups, and mixed motion information about spatial and temporal candidates can be included in the candidate groups.

在时间上相邻的块可以包括其他图片中的与当前块对应(匹配)的块,并且可以参考该块的左块、右块、上块、下块、左上块、右上块、左下块和右下块。混合运动信息可以指作为关于在空间上相邻的块的运动信息和关于在时间上相邻的块的运动信息的平均值、中值等获得的信息。Temporally adjacent blocks can include blocks in other images that correspond to (match) the current block, and can refer to the left, right, top, bottom, top-left, top-right, bottom-left, and bottom-right blocks of this block. Hybrid motion information can refer to information obtained as the average, median, etc., of motion information about spatially adjacent blocks and motion information about temporally adjacent blocks.

可以对运动信息进行优先级排序以配置运动信息预测值候选组。可以根据优先级来设置要包括在预测值候选组中的运动信息的顺序。当根据优先级在候选组中填充与候选组中的候选(根据运动信息编码模式确定)的数量一样多的运动信息时,可以完全配置候选组。可以以关于在空间上相邻的块的运动信息、关于在时间上相邻的块的运动信息、以及关于在空间上相邻的块和在时间上相邻的块的混合运动信息的顺序,对运动信息进行优先级排序。然而,也可以修改优先级。Motion information can be prioritized to configure candidate groups for motion information predictions. The order in which motion information is included in the candidate groups can be set according to priority. A candidate group can be fully configured when the number of motion information entries in the candidate group is equal to the number of candidates in the candidate group (determined by the motion information encoding mode), based on priority. Motion information can be prioritized in the order of motion information about spatially adjacent blocks, motion information about temporally adjacent blocks, and a mixture of spatially and temporally adjacent blocks. However, the priority can also be modified.

例如,关于在空间上相邻的的运动信息可以以左块、上块、右上块、左下块和左上块的顺序被包括在候选组中,并且关于在时间上相邻的块的运动信息可以以右下块、中块、右块和下块的顺序被包括在候选组中。For example, motion information about spatially adjacent blocks can be included in the candidate group in the order of left block, top block, top right block, bottom left block, and top left block, and motion information about temporally adjacent blocks can be included in the candidate group in the order of bottom right block, middle block, right block, and bottom block.

减法单元205可以通过从当前块减去预测块来生成残差块。换言之,减法单元205可以计算要编码的当前块中的每个像素的像素值与由预测单元生成的预测块中的对应像素的预测像素值之间的差,以生成块的形式的残差信号即残差块。此外,减法单元205可以以除了通过后面描述的块分割器获得的块之外的单元生成残差块。Subtraction unit 205 can generate residual blocks by subtracting the prediction block from the current block. In other words, subtraction unit 205 can calculate the difference between the pixel value of each pixel in the current block to be encoded and the predicted pixel value of the corresponding pixel in the prediction block generated by the prediction unit, to generate a residual signal in the form of a block, i.e., a residual block. Furthermore, subtraction unit 205 can generate residual blocks using units other than those obtained by the block segmenter described later.

变换单元210可以将空间信号变换为频率信号。通过变换处理获得的信号被称为变换系数。例如,具有从减法单元接收的残差信号的残差块可以被变换为具有变换系数的变换块,并且根据编码配置来确定输入信号,该输入信号不限于残差信号。Transformation unit 210 can transform a spatial signal into a frequency signal. The signal obtained through the transformation process is called the transform coefficient. For example, a residual block having a residual signal received from a subtraction unit can be transformed into a transform block with transform coefficients, and the input signal is determined according to the encoding configuration, which is not limited to the residual signal.

变换单元可以通过(但不限于)诸如哈达玛变换、基于离散正弦变换(DST)的变换或基于DCT的变换的变换方案来变换残差块。这些变换方案可以以各种方式改变和修改。Transformation units can transform residual blocks using transformation schemes such as Hadamard transform, Discrete Sine Transform (DST) based transform, or DCT based transform. These transformation schemes can be changed and modified in various ways.

可以支持所述变换方案中的至少一个,并且可以支持每个变换方案的至少一个子变换方案。可以通过修改变换方案中的基本矢量的一部分来获得子变换方案。It can support at least one of the transformation schemes, and can support at least one sub-transformation scheme for each transformation scheme. A sub-transformation scheme can be obtained by modifying a portion of the fundamental vectors in the transformation scheme.

例如,在DCT的情况下,可以支持子变换方案DCT-1至DCT-8中的一个或更多个,并且在DST的情况下,可以支持子变换方案DST-1至DST-8中的一个或更多个。变换方案候选组可以被配置有子变换方案的一部分。例如,DCT-2、DCT-8和DST-7可以被分组为用于变换的候选组。For example, in the case of DCT, one or more sub-transformation schemes DCT-1 to DCT-8 can be supported, and in the case of DST, one or more sub-transformation schemes DST-1 to DST-8 can be supported. A transformation scheme candidate group can be configured with a portion of the sub-transformation schemes. For example, DCT-2, DCT-8, and DST-7 can be grouped into a candidate group for transform.

可以在水平方向/垂直方向上执行变换。例如,通过DCT-2可以在水平方向上执行一维变换,通过DST-7可以在垂直方向上执行一维变换。利用二维变换,可以将像素值从空间域变换到频域。Transformations can be performed in both the horizontal and vertical directions. For example, DCT-2 can perform a one-dimensional transformation in the horizontal direction, and DST-7 can perform a one-dimensional transformation in the vertical direction. Using two-dimensional transformations, pixel values can be transformed from the spatial domain to the frequency domain.

可以采用一个固定变换方案,或者可以根据编码/解码配置自适应地选择变换方案。在后一种情况下,可以显式地或隐式地选择变换方案。当显式地选择变换方案时,可以例如在块级别生成关于在水平方向和垂直方向中的每一个上应用的变换方案或变换方案集的信息。当隐式地选择变换方案时,可以根据图像类型(I/P/B)、颜色分量、块尺寸、块形状、帧内预测模式等来限定编码配置,并且可以根据编码配置来选择预定的变换方案。A fixed transform scheme can be used, or the transform scheme can be adaptively selected based on the encoding/decoding configuration. In the latter case, the transform scheme can be selected explicitly or implicitly. When the transform scheme is explicitly selected, information about the transform scheme or set of transform schemes applied in each of the horizontal and vertical directions can be generated, for example, at the block level. When the transform scheme is implicitly selected, the encoding configuration can be limited based on image type (I/P/B), color components, block size, block shape, intra-frame prediction mode, etc., and a predetermined transform scheme can be selected based on the encoding configuration.

此外,可以根据编码配置跳过一些变换。也就是说,可以显式地或隐式地省略水平单元和垂直单元中的一个或更多个。Furthermore, some transformations can be skipped depending on the encoding configuration. That is, one or more horizontal and vertical units can be explicitly or implicitly omitted.

此外,变换单元可以将生成变换块所需的信息发送至编码单元,使得编码单元对信息进行编码,将经编码信息包括在比特流中,并且将比特流发送至解码器。因此,解码器的解码单元可以对来自比特流的信息进行解析,以用于逆变换。Furthermore, the transform unit can send the information needed to generate the transform block to the encoding unit, which encodes the information, includes the encoded information in the bitstream, and sends the bitstream to the decoder. Therefore, the decoder's decoding unit can parse the information from the bitstream for inverse transform.

量化单元215可以对输入信号进行量化。从量化获得的信号被称为量化系数。例如,量化单元215可以通过对具有从变换单元接收的残差变换系数的残差块进行量化来获得具有量化系数的量化块,并且可以根据编码配置确定输入信号,该编码配置不限于残差变换系数。The quantization unit 215 can quantize the input signal. The signal obtained from the quantization is called the quantization coefficient. For example, the quantization unit 215 can obtain a quantized block with quantization coefficients by quantizing a residual block having residual transform coefficients received from the transform unit, and can determine the input signal according to an encoding configuration, which is not limited to the residual transform coefficients.

量化单元可以通过但不限于诸如死区均匀边界值量化、量化加权矩阵等的量化方案对变换的残差块进行量化。可以以各种方式改变和修改以上量化方案。The quantization unit can quantize the residual block of the transformation using quantization schemes such as, but not limited to, dead-zone uniform boundary value quantization and quantization weighted matrix. These quantization schemes can be changed and modified in various ways.

可以根据编码配置跳过量化。例如,可以根据编码配置(例如,量化参数为0,即无损压缩环境)来跳过量化(和逆量化)。在另一示例中,当考虑到图像的特性而没有执行基于量化的压缩性能时,可以省略量化过程。在量化块(M×N)的整个或部分区域(M/2×N/2、M×N/2或M/2×N)中可以跳过量化,并且可以显式或隐式地设置量化跳过选择信息。Quantization can be skipped based on the encoding configuration. For example, quantization (and inverse quantization) can be skipped based on the encoding configuration (e.g., a quantization parameter of 0, i.e., a lossless compression environment). In another example, the quantization process can be omitted when the characteristics of the image are taken into account and quantization-based compression performance is not performed. Quantization can be skipped in the entirety or a portion of a quantization block (M×N) (M/2×N/2, M×N/2, or M/2×N), and quantization skip selection information can be set explicitly or implicitly.

量化单元可以将生成量化块所需的信息发送至编码单元,使得编码单元对该信息进行编码,将经编码信息包括在比特流上,并且将比特流发送至解码器。因此,解码器的解码单元可以对来自比特流的信息进行解析,以用于逆量化。The quantization unit can send the information needed to generate the quantization block to the encoding unit, which then encodes the information, includes the encoded information in the bitstream, and sends the bitstream to the decoder. Therefore, the decoder's decoding unit can parse the information from the bitstream for inverse quantization.

尽管在假设通过变换单元和量化单元对残差块进行变换和量化的情况下描述了以上示例,但是可以通过对残差信号进行变换来生成具有变换系数的残差块,并且可以不对其进行量化。残差块可以仅经受量化而不经受变换。此外,残差块可以既经受变换又经受量化。这些操作可以根据编码配置来确定。Although the above example was described assuming that the residual block is transformed and quantized by a transform unit and a quantization unit, a residual block with transform coefficients can be generated by transforming the residual signal without quantization. The residual block can undergo quantization only without transformation. Alternatively, the residual block can undergo both transformation and quantization. These operations can be determined based on the coding configuration.

逆量化单元220对由量化单元215量化的残差块进行逆量化。也就是说,逆量化单元220通过对量化频率系数序列进行逆量化来产生具有频率系数的残差块。The inverse quantization unit 220 performs inverse quantization on the residual block quantized by the quantization unit 215. That is, the inverse quantization unit 220 generates a residual block with frequency coefficients by performing inverse quantization on the quantized frequency coefficient sequence.

逆变换单元225对由逆量化单元220逆量化的残差块进行逆变换。也就是说,逆变换单元225对逆量化的残差块的频率系数进行逆变换,以生成具有像素值的残差块,即重构的残差块。逆变换单元225可以通过相反地执行由变换单元210使用的变换方案来执行逆变换。The inverse transform unit 225 performs an inverse transform on the residual block dequantized by the inverse quantization unit 220. That is, the inverse transform unit 225 performs an inverse transform on the frequency coefficients of the dequantized residual block to generate a residual block with pixel values, i.e., a reconstructed residual block. The inverse transform unit 225 can perform the inverse transform by reversing the transform scheme used by the transform unit 210.

加法单元230通过将由预测单元200预测的预测块与由逆变换单元225恢复的残差块相加来重构当前块。重构的当前块作为参考图片(或参考块)被存储在编码图片缓冲器240中,以在随后对当前块的下一块、另一个块或另一图片进行编码时用作参考图片。Addition unit 230 reconstructs the current block by adding the predicted block predicted by prediction unit 200 to the residual block recovered by inverse transform unit 225. The reconstructed current block is stored as a reference picture (or reference block) in encoded picture buffer 240 for use as a reference picture when encoding the next block, another block, or another picture of the current block.

滤波器单元235可以包括一个或更多个后处理滤波器,例如解块滤波器、样本自适应偏移(SAO)和自适应环路滤波器(ALF)。解块滤波器可以去除在重构图片中的块之间的边界处发生的块失真。ALF可以基于通过对在通过解块滤波器对块进行滤波之后的重构图像与原始图像进行比较而获得的值来执行滤波。SAO可以对在原始图像与应用解块滤波器的残差块之间的像素级别的偏移差进行重构。这些后处理滤波器可以应用于重构的图片或块。Filter unit 235 may include one or more post-processing filters, such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF). The deblocking filter removes block distortion occurring at boundaries between blocks in the reconstructed image. The ALF performs filtering based on values obtained by comparing the reconstructed image after filtering the blocks with the deblocking filter with the original image. The SAO reconstructs the pixel-level offset difference between the original image and the residual blocks to which the deblocking filter was applied. These post-processing filters can be applied to the reconstructed image or blocks.

编码图片缓冲器240可以存储由滤波器单元235重构的块或图片。存储在编码图片缓冲器240中的重构块或图片可以被提供给执行帧内预测或帧间预测的预测单元200。The encoded image buffer 240 can store blocks or images reconstructed by the filter unit 235. The reconstructed blocks or images stored in the encoded image buffer 240 can be provided to the prediction unit 200 that performs intra-frame prediction or inter-frame prediction.

熵编码单元245以各种扫描方法扫描所生成的量化频率系数序列,以生成量化系数序列,通过熵编码对量化系数序列进行编码,并且输出熵编码的系数序列。扫描图案可以被配置为各种图案(例如,Z字形、对角线和光栅)中的一种。此外,可以生成包括从每个分量接收的编码信息的编码数据,并且在比特流中输出该编码数据。Entropy coding unit 245 scans the generated quantization frequency coefficient sequence using various scanning methods to generate a quantization coefficient sequence, encodes the quantization coefficient sequence using entropy coding, and outputs the entropy-coded coefficient sequence. The scanning pattern can be configured as one of various patterns (e.g., zigzag, diagonal, and raster). Furthermore, encoded data including the encoded information received from each component can be generated and output in a bitstream.

图3是示出根据本公开内容的实施方式的图像解码装置的框图。Figure 3 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present disclosure.

参照图3,图像解码装置30可以被配置成包括熵解码器305、预测单元310、逆量化单元315、逆变换单元320、加法单元/减法单元325、滤波器330和解码图片缓冲器335。Referring to FIG3, the image decoding device 30 can be configured to include an entropy decoder 305, a prediction unit 310, an inverse quantization unit 315, an inverse transform unit 320, an addition/subtraction unit 325, a filter 330, and a decoded image buffer 335.

此外,预测单元310可以被配置成包括帧内预测模块和帧间预测模块。Furthermore, the prediction unit 310 can be configured to include an intra-frame prediction module and an inter-frame prediction module.

当从图像编码装置20接收到图像比特流时,可以将图像比特流发送至熵解码器305。When an image bitstream is received from the image encoding device 20, it can be sent to the entropy decoder 305.

熵解码器305可以将比特流解码为包括量化系数的解码数据和要被发送至每个部件的解码信息。The entropy decoder 305 can decode the bitstream into decoded data including quantization coefficients and decoded information to be sent to each component.

预测单元310可以基于从熵解码器305接收的数据生成预测块。基于存储在解码图片缓冲器335中的参考图像,可以使用默认配置方案来产生参考图片列表。Prediction unit 310 can generate prediction blocks based on data received from entropy decoder 305. A list of reference images can be generated using a default configuration scheme based on reference images stored in decoded image buffer 335.

帧间预测单元可以包括参考图片构造单元、运动补偿器和运动信息解码器。部件中的一些可以执行与编码器中相同的过程,并且其他部件可以相反地执行编码器的过程。The inter-frame prediction unit may include a reference image construction unit, a motion compensator, and a motion information decoder. Some of these components may perform the same processes as in the encoder, while others may perform the encoder's processes in reverse.

逆量化单元315可以对在比特流中提供并由熵解码器305解码的经量化的变换系数进行逆量化。The inverse quantization unit 315 can inverse quantize the quantized transform coefficients provided in the bitstream and decoded by the entropy decoder 305.

逆变换单元320可以通过对变换系数应用逆DCT、逆整数变换或类似的逆变换技术来生成残差块。The inverse transform unit 320 can generate residual blocks by applying inverse DCT, inverse integer transform, or similar inverse transform techniques to the transform coefficients.

逆量化单元315和逆变换单元320可以反向地执行上述图像编码装置20的变换单元210和量化单元215的处理,并且可以以各种方式实现。例如,逆量化单元315和逆变换单元320可以使用与变换单元210和量化单元215共享的相同处理和逆变换,并且可以使用从图像编码装置20接收的关于变换和量化处理的信息(例如,变换尺寸、变换形状、量化类型等)来反向地执行变换和量化。The inverse quantization unit 315 and the inverse transform unit 320 can perform the processing of the transform unit 210 and the quantization unit 215 of the image encoding apparatus 20 in reverse, and can be implemented in various ways. For example, the inverse quantization unit 315 and the inverse transform unit 320 can use the same processing and inverse transform shared with the transform unit 210 and the quantization unit 215, and can perform the transform and quantization in reverse using information received from the image encoding apparatus 20 about the transform and quantization processing (e.g., transform size, transform shape, quantization type, etc.).

可以将已经被逆量化和逆变换的残差块添加到由预测单元310得出的预测块,从而产生重构的图像块。加法可以由加法单元/减法单元325执行。The residual block, which has already been inversely quantized and inversely transformed, can be added to the prediction block derived by prediction unit 310 to produce a reconstructed image block. The addition can be performed by addition/subtraction unit 325.

关于滤波器330,当需要时,可以应用解块滤波器以从重构的图像块中去除块现象。为了改善解码处理之前和之后的视频质量,可以另外使用其他环路滤波器。Regarding filter 330, a deblocking filter can be applied when needed to remove blocking artifacts from the reconstructed image blocks. Additional loop filters can be used to improve video quality before and after decoding.

经重构和滤波的图像块可以被存储在解码图片缓冲器335中。The reconstructed and filtered image blocks can be stored in the decoded image buffer 335.

尽管在附图中未示出,但是图像编码/解码装置还可以包括图片分割器和块分割器。Although not shown in the accompanying drawings, the image encoding/decoding apparatus may also include an image segmenter and a block segmenter.

图片分割器可以将图片分割(或划分)成至少一个处理单元,例如,颜色空间(例如,YCbCr、RGB或XYZ)、图块、切片或基本编码单元(最大编码单元或编码树单元(CTU)),并且块分割器可以将基本编码单元分割成至少一个处理单元(例如,编码单元、预测单元、变换单元、量化单元、熵编码单元和环路内滤波单元)。An image segmenter can segment (or divide) an image into at least one processing unit, such as a color space (e.g., YCbCr, RGB, or XYZ), a tile, a slice, or a basic coding unit (maximum coding unit or coding tree unit (CTU)). A block segmenter can further segment a basic coding unit into at least one processing unit (e.g., a coding unit, a prediction unit, a transform unit, a quantization unit, an entropy coding unit, and an in-loop filtering unit).

可以通过在水平方向和垂直方向上以规则的间隔对图片进行分割来获得基本编码单元。以这种方式,图片可以被分割成但不限于图块、切片等。尽管诸如图块或切片的划分单元可以包括基本编码块的整数倍,但是位于图像边缘的划分单元可能是例外的。在这种情况下,可以调整基本编码块的尺寸。Basic coding units can be obtained by segmenting an image at regular intervals in both the horizontal and vertical directions. In this way, an image can be segmented into, but not limited to, tiles, slices, etc. While partitioning units such as tiles or slices can include integer multiples of the basic coding block, partitioning units located at the image edges may be an exception. In such cases, the size of the basic coding block can be adjusted.

例如,可以将图片划分成基本编码单元,并且然后分割成以上单元,或者可以将图片划分成以上单元,然后分割成基本编码单元。在本公开内容中假设划分和分割成单元的顺序为前者,这不应被解释为限制本公开内容。根据编码/解码配置,后一种情况也是可能的。在后一种情况下,可以根据划分单元(例如,图块)来自适应地改变基本编码单元的尺寸。也就是说,这意味着在每个划分单元中可以支持具有不同尺寸的基本编码块。For example, an image can be divided into basic coding units and then further subdivided into these units, or the image can be divided into these units and then further subdivided into basic coding units. This disclosure assumes the former order of division and subdivision into units, which should not be construed as limiting the scope of this disclosure. The latter is also possible depending on the encoding/decoding configuration. In the latter case, the size of the basic coding units can be adaptively changed based on the division units (e.g., tiles). That is, this means that basic coding blocks of different sizes can be supported within each division unit.

在本公开内容中,将通过将图片划分成基本编码单元配置为默认设置的理解来给出以下描述。默认设置可能意味着图片没有被划分成图块或切片,或者图片是一个图块或一个切片。然而,如上所述,即使当图片首先被划分成划分单元(图块、切片等)并且然后基于划分单元被分割成基本编码单元时(即,当每个划分单元的数量不是基本编码单元的整数倍时),应当理解,以下描述的各种实施方式可以以相同的方式或进行一些修改来应用。In this disclosure, the following description will be given by way of the understanding that the image is divided into basic coding units by default. The default setting may mean that the image is not divided into tiles or slices, or that the image is a single tile or slice. However, as stated above, even when the image is first divided into partitioning units (tiles, slices, etc.) and then divided into basic coding units based on those partitioning units (i.e., when the number of each partitioning unit is not an integer multiple of the number of basic coding units), it should be understood that the various implementations described below can be applied in the same manner or with some modifications.

在划分单元中,切片可以是根据扫描图案的至少一个连续块的组,并且图块可以是在空间上相邻的块的矩形组。其他划分单元可以根据其限定来支持和构造。切片和图块可以是出于并行化目的而受支持的划分单元。为此,可以限制划分单元之间的参考(即,不允许进行参考)。In a partitioning unit, a slice can be a group of at least one consecutive blocks according to a scan pattern, and a tile can be a rectangular group of spatially adjacent blocks. Other partitioning units can be supported and constructed according to their constraints. Slices and tiles can be partitioning units supported for parallelization purposes. For this purpose, references between partitioning units can be restricted (i.e., references are not allowed).

切片可以使用关于连续块起始位置的信息为每个单元生成划分信息,并且在图块的情况下,图块可以生成关于水平和垂直划分线的信息或生成图块的位置信息(例如,左上位置、右上位置、左下位置和右下位置)。Slicing can generate division information for each cell using information about the starting position of consecutive blocks, and in the case of tiles, tiles can generate information about horizontal and vertical dividing lines or generate position information of the tiles (e.g., top left, top right, bottom left, and bottom right positions).

可以根据编码/解码配置将切片和图块中的每一个分割成多个单元。Each slice and tile can be divided into multiple units based on the encoding/decoding configuration.

例如,单元A可以包括影响编码/解码过程的配置信息(即,图块头部或切片头部),并且单元B可以不包括配置信息。替选地,单元A可以是在编码/解码期间不允许参考另一单元的单元,并且单元B可以是允许参考另一单元的单元。此外,单元A可以包括与单元B处于层级关系的另一个单元B,或者可以与单元B具有对等关系。For example, unit A may include configuration information that affects the encoding/decoding process (i.e., tile header or slice header), while unit B may not include configuration information. Alternatively, unit A may be a unit that is not allowed to reference another unit during encoding/decoding, while unit B may be a unit that is allowed to reference another unit. Furthermore, unit A may include another unit B that is hierarchical to unit B, or may be peer to unit B.

单元A和单元B可以分别是切片和图块(或图块和切片)。替选地,单元A和单元B中的每一个可以是切片或图块。例如,单元A可以是切片/图块类型1,并且单元B可以是切片/图块类型2。Unit A and Unit B can be a slice and a tile (or a tile and a slice), respectively. Alternatively, each of Unit A and Unit B can be a slice or a tile. For example, Unit A can be slice/tile type 1, and Unit B can be slice/tile type 2.

类型1和类型2中的每一个都可以是一个切片或图块。替选地,类型1可以是多个切片或图块(切片组或图块组)(包括类型2),并且类型2可以是一个切片或图块。Each of Type 1 and Type 2 can be a slice or a tile. Alternatively, Type 1 can be multiple slices or tiles (a group of slices or a group of tiles) (including Type 2), and Type 2 can be a single slice or tile.

如以上所述,在假设图片由一个切片或图块组成的情况下描述本公开内容。然而,如果生成两个或更多个划分单元,则以上描述可以应用于以下描述的实施方式中并在以下描述的实施方式中被理解。此外,单元A和单元B是具有划分单元可以具有的特征的示例,并且组合各个示例中的单元A和单元B的示例也是可能的。As described above, this disclosure assumes that the image consists of a slice or tile. However, if two or more partitioning units are generated, the above description can be applied to and understood in the embodiments described below. Furthermore, unit A and unit B are examples of features that partitioning units can have, and examples of combining units A and unit B from various examples are also possible.

块分割器可以从图片分割器获得关于基本编码单元的信息,并且基本编码单元可以参考用于图像编码/解码处理中的预测、变换、量化等的基本(或起始)单元。在这种情况下,基本编码单元可以根据颜色格式(在该示例中为YCbCr)由一个亮度基本编码块(最大编码块或CTB)和两个基本色度编码块组成,并且可以根据颜色格式来确定每个块的尺寸。根据划分过程可以获得编码块(CB)。CB可以被理解为由于某些限制而不再进一步细分的单元,并且可以被设置为用于划分为子单元的起始单元。在本公开内容中,块概念性地包含诸如三角形、圆形等的各种形状,而不限于正方形。为了便于描述,假设块是矩形的。The block segmenter can obtain information about basic coding units from the image segmenter, and the basic coding units can refer to the basic (or starting) units used for prediction, transformation, quantization, etc., in image encoding/decoding processing. In this case, the basic coding unit can consist of one luma basic coding block (maximum coding block or CTB) and two basic chroma coding blocks, depending on the color format (YCbCr in this example), and the size of each block can be determined according to the color format. Coding blocks (CBs) can be obtained according to the segmentation process. A CB can be understood as a unit that is no longer further subdivided due to certain constraints, and can be set as the starting unit for dividing into subunits. In this disclosure, blocks conceptually include various shapes such as triangles, circles, etc., and are not limited to squares. For ease of description, it is assumed that the blocks are rectangular.

虽然在一个颜色分量的上下文中给出以下描述,但是其也以与根据颜色格式的比率成比例地可适用于具有一些修改的其他颜色分量(例如,在YCbCr 4:2:0的情况下,亮度分量与色度分量的宽-高长度比为2:1)。此外,尽管取决于其他颜色分量(例如,取决于Cb/Cr中的Y的块划分结果)的块划分是可能的,但是应当理解,每个颜色分量的块独立划分也是可能的。此外,尽管可以使用一种公共块划分配置(考虑到与长度比成比例),但是还需要考虑和理解根据颜色分量使用单独的块划分配置。While the following description is given in the context of a single color component, it is also applicable in proportion to the ratios according to the color format, with some modifications (e.g., in the case of YCbCr 4:2:0, the width-to-height length ratio of the luminance component to the chrominance component is 2:1). Furthermore, although block partitioning depending on other color components (e.g., depending on the block partitioning result of Y in Cb/Cr) is possible, it should be understood that independent block partitioning for each color component is also possible. Moreover, although a common block partitioning configuration can be used (considering its proportionality to the length ratio), it is also necessary to consider and understand the use of separate block partitioning configurations based on the color components.

在块分割器中,块可以被表示为M×N,并且每个块的最大值和最小值可以在该范围内获得。例如,如果块的最大值和最小值分别是256×256和4×4,则可以获得尺寸为2m×2n(在该示例中,m和n是2至8的整数)的块、尺寸为2m×2n(在该示例中,m和n是2至128的整数)的块或者尺寸为m×m(在该示例中,m和n是4至256的整数)的块。在本文中,m和n可以相等或不同,并且可以生成支持块的一个或更多个范围诸如最大值和最小值。In the block splitter, a block can be represented as M×N, and the maximum and minimum values of each block can be obtained within this range. For example, if the maximum and minimum values of a block are 256×256 and 4×4 respectively, then blocks of size 2m × 2n (where m and n are integers from 2 to 8 in this example), blocks of size 2m × 2n (where m and n are integers from 2 to 128 in this example), or blocks of size m×m (where m and n are integers from 4 to 256 in this example) can be obtained. In this paper, m and n can be equal or different, and one or more ranges such as maximum and minimum values can be generated to support the blocks.

例如,可以生成关于块的最大尺寸和最小尺寸的信息,并且在一些划分配置中可以生成关于块的最大尺寸和最小尺寸的信息。在前一种情况下,信息可以是关于可以在图像中产生的最大尺寸和最小尺寸的范围信息,而在后一种情况下,信息可以是关于可以根据一些划分配置产生的最大尺寸和最小尺寸的信息。划分配置可以由图像类型(I/P/B)、颜色分量(YCbCr等)、块类型(编码/预测/变换/量化)、划分类型(索引或类型)和划分方案(作为树方法的四叉树(QT)、二叉树(BT)和三叉树(TT),以及作为类型方法的SI2、SI3和SI4)来限定。For example, information about the maximum and minimum size of a block can be generated, and in some partitioning configurations, information about the maximum and minimum size of a block can be generated. In the former case, the information can be about the range of maximum and minimum sizes that can be generated in the image, while in the latter case, the information can be about the maximum and minimum sizes that can be generated based on some partitioning configuration. The partitioning configuration can be defined by image type (I/P/B), color components (YCbCr, etc.), block type (encoding/prediction/transformation/quantization), partition type (index or type), and partitioning scheme (quadtree (QT), binary tree (BT), and ternary tree (TT) as tree methods, and SI2, SI3, and SI4 as type methods).

此外,可以存在对可用于块的宽高比(块形状)的约束,并且在这点上,可以设置边界值。仅小于或等于/小于边界值k的块可以被支持,其中k可以根据宽高比A/B(A是宽度与高度之间的较长或相等的值,而B是另一个值)来限定。k可以是等于或大于1的实数,例如,1.5、2、3、4等。如在以上示例中,可以支持对图像中的一个块的形状的约束,或者可以根据划分配置支持一个或更多个约束。Furthermore, constraints can exist on the aspect ratio (block shape) that can be used for blocks, and boundary values can be set at this point. Only blocks less than or equal to/less than the boundary value k can be supported, where k can be limited by the aspect ratio A/B (A is the longer or equal value between the width and height, and B is another value). k can be a real number equal to or greater than 1, such as 1.5, 2, 3, 4, etc. As in the example above, constraints on the shape of a block in an image can be supported, or one or more constraints can be supported depending on the partitioning configuration.

总之,可以基于上述范围和约束以及稍后描述的划分配置来确定块划分是否被支持。例如,当从块(父块)分割的候选(子块)满足支持块条件时,可以支持划分,否则,可以不支持划分。In summary, whether a block partition is supported can be determined based on the aforementioned scope and constraints, as well as the partitioning configuration described later. For example, partitioning can be supported when a candidate (child block) to be partitioned from a block (parent block) meets the conditions for supporting a block; otherwise, partitioning may not be supported.

块分割器可以关于图像编码装置和图像解码装置的每个部件来配置,并且在该处理中可以确定块的尺寸和形状。可以根据部件来配置不同的块。所述块可以包括用于预测单元的预测块、用于变换单元的变换块和用于量化单元的量化块。然而,本公开内容不限于此,并且可以针对其他部件另外定义块单元。虽然在本公开内容中在每个部件中输入和输出中的每个的形状被描述为正方形,但是一些部件的输入和输出可以具有任何其他形状(例如,三角形)。The block segmenter can be configured with respect to each component of the image encoding and decoding apparatus, and the size and shape of the blocks can be determined during the process. Different blocks can be configured according to the components. The blocks may include prediction blocks for prediction units, transform blocks for transform units, and quantization blocks for quantization units. However, this disclosure is not limited thereto, and block units may be defined separately for other components. Although the shape of each of the inputs and outputs in each component is described as a square in this disclosure, the inputs and outputs of some components may have any other shape (e.g., triangles).

可以从较高的单元确定块分割器中的初始(或起始)块的尺寸和形状。初始块可以被分割成更小的块。一旦根据块划分确定了最佳尺寸和形状,则可以将该块确定为较低单元的初始块。较高单元可以是编码块,并且较低单元可以是预测块或变换块,本公开内容不限于此。相反,各种修改例是可能的。一旦如以上示例中那样确定了较低单元的初始块,就可以执行划分过程以检测像较高单元那样的最佳尺寸和形状的块。The size and shape of the initial (or starting) block in the block segmenter can be determined from the higher units. The initial block can be segmented into smaller blocks. Once the optimal size and shape are determined based on the block partitioning, that block can be identified as the initial block for the lower units. The higher units can be coding blocks, and the lower units can be prediction blocks or transform blocks, and this disclosure is not limited thereto. Instead, various modifications are possible. Once the initial blocks of the lower units are determined as in the examples above, a partitioning process can be performed to detect blocks of optimal size and shape, similar to the higher units.

总之,块分割器可以将基本编码块(或最大编码块)分割成至少一个编码块,并且编码块可以被分割成至少一个预测块/变换块/量化块。此外,预测块可以被分割成至少一个变换块/量化块,并且变换块可以被分割成至少一个量化块。一些块可以与其他块具有依赖关系(即,由较高单元和较低单元限定),或者可以与其他块具有独立关系。例如,预测块可以是变换块上方的较高单元,或者可以是独立于变换块的单元。可以根据块的类型建立各种关系。In summary, the block splitter can divide a basic coded block (or the largest coded block) into at least one coded block, and a coded block can be divided into at least one prediction block/transform block/quantization block. Furthermore, a prediction block can be divided into at least one transform block/quantization block, and a transform block can be divided into at least one quantization block. Some blocks can be dependent on other blocks (i.e., defined by higher and lower units) or independent of other blocks. For example, a prediction block can be a higher unit above a transform block, or it can be a unit independent of the transform block. Various relationships can be established based on the type of block.

根据编码/解码配置,可以确定是否将较高单元和较低单元进行组合。单元之间的组合意味着较高单元的块经受较低单元(例如,在预测单元、变换单元、逆变换单元等中)的编码/解码处理,而不被分割成较低单元。也就是说,这可能意味着在多个单元之间共享划分过程,并且在单元中的一个(例如,较高单元)中生成划分信息。Based on the encoding/decoding configuration, it can be determined whether higher and lower units are combined. Combining units means that blocks of higher units undergo encoding/decoding processing by lower units (e.g., in prediction units, transform units, inverse transform units, etc.) without being split into lower units. In other words, this may mean sharing the partitioning process among multiple units and generating partitioning information in one unit (e.g., a higher unit).

例如,(当编码块与预测块或变换块结合时),编码块可以经受预测、变换和逆变换。For example, (when a coded block is combined with a prediction block or a transform block), the coded block can undergo prediction, transform, and inverse transform.

例如,(当编码块与预测块组合时),编码块可以经受预测,并且在尺寸上等于或小于编码块的变换块可以经受变换和逆变换。For example, (when a coded block is combined with a prediction block), the coded block can undergo prediction, and a transform block that is equal to or smaller in size than the coded block can undergo both transformation and inverse transformation.

例如,(当编码块与变换块结合时),在尺寸上等于或小于编码块的预测块可以经受预测,并且编码块可以经受变换和逆变换。For example, (when a coded block is combined with a transform block), a prediction block that is equal to or smaller in size than the coded block can be predicted, and the coded block can be transformed and inverse transformed.

例如,(当预测块与变换块结合时),在尺寸上等于或小于编码块的预测块可以经受预测、变换和逆变换。For example, (when a prediction block is combined with a transform block), a prediction block that is equal to or smaller in size than a coding block can undergo prediction, transform, and inverse transform.

例如,(当不存在块组合时),在尺寸上等于或小于编码块的预测块可以经受预测,并且在尺寸上等于或小于编码块的变换块可以经受变换和逆变换。For example, (when there is no block combination), a prediction block that is equal to or smaller than the coded block in size can be predicted, and a transform block that is equal to or smaller than the coded block in size can be transformed and inverse transformed.

尽管在以上示例中已经描述了编码块、预测块和变换块的各种情况,但是本公开内容不限于此。Although various cases of coded blocks, prediction blocks, and transform blocks have been described in the examples above, this disclosure is not limited thereto.

对于单元之间的组合,在图像中可以支持固定配置,或者考虑各种编码/解码因素可以支持自适应配置。编码/解码因素包括图像类型、颜色分量、编码模式(帧内/帧间)、划分配置、块尺寸/形状/位置、宽高比、预测相关信息(例如,帧内预测模式、帧间预测模式等)、变换相关信息(例如,变换方案选择信息等)、量化相关信息(例如,量化区域选择信息和量化变换系数编码信息)等。For the combination of units, a fixed configuration can be supported in the image, or an adaptive configuration can be supported considering various encoding/decoding factors. Encoding/decoding factors include image type, color components, encoding mode (intra-frame/inter-frame), partitioning configuration, block size/shape/position, aspect ratio, prediction-related information (e.g., intra-frame prediction mode, inter-frame prediction mode, etc.), transform-related information (e.g., transform scheme selection information, etc.), and quantization-related information (e.g., quantization region selection information and quantization transform coefficient encoding information), etc.

当如上所述已经检测到最佳尺寸和形状的块时,可以生成该块的模式信息(例如,划分信息)。模式信息可以连同从块所属的部件生成的信息(例如,预测相关信息和变换相关信息)一起被包括在比特流中并且被发送至解码器,并且可以由解码器以相同单元级别解析以用于视频解码过程中。Once a block of optimal size and shape has been detected as described above, pattern information (e.g., partitioning information) for that block can be generated. This pattern information, along with information generated from the components to which the block belongs (e.g., prediction-related information and transformation-related information), can be included in the bitstream and sent to the decoder, where it can be parsed at the same unit level for use in the video decoding process.

现在,将描述划分方案。尽管为了便于描述,假设初始块被成形为正方形,但是本公开内容不限于此,并且该描述可以以相同或类似的方式应用于其中初始块为矩形的情况。The partitioning scheme will now be described. Although for ease of description, it is assumed that the initial block is shaped as a square, this disclosure is not limited thereto, and the description can be applied in the same or similar manner to cases where the initial block is a rectangle.

块分割器可以支持各种类型的划分。例如,可以支持基于树的划分或基于索引的划分,并且还可以支持其他方法。在基于树的划分中,可以基于各种类型的信息(例如,指示是否执行划分的信息、树的类型、划分方向等)来确定划分类型,而在基于索引的划分中,可以使用特定索引信息来确定划分类型。The block splitter can support various types of partitioning. For example, it can support tree-based partitioning or index-based partitioning, and it can also support other methods. In tree-based partitioning, the partitioning type can be determined based on various types of information (e.g., information indicating whether to perform a partition, the type of tree, the partitioning direction, etc.), while in index-based partitioning, specific index information can be used to determine the partitioning type.

图4是示出可以在本公开内容的块分割器中获得的各种划分类型的示例图。在该示例中,假设图4中所示出的划分类型是通过一个划分操作(或过程)获得的,其不应被理解为限制本公开内容。划分类型也可以在多个划分操作中获得。此外,图4中未示出的其他划分类型也是可用的。Figure 4 is an example diagram illustrating various partition types that can be obtained in the block divider of this disclosure. In this example, it is assumed that the partition types shown in Figure 4 are obtained through a single partition operation (or process), which should not be construed as limiting the scope of this disclosure. Partition types can also be obtained through multiple partition operations. Furthermore, other partition types not shown in Figure 4 are also available.

(基于树的划分)(Tree-based partitioning)

在本公开内容的基于树的划分中,可以支持QT、BT和TT。如果支持一种树方法,则这可以被称为单树划分,而如果支持两种或更多种树方法,则这可以被称为多树划分。In the tree-based partitioning of this disclosure, QT, BT, and TT can be supported. If one tree method is supported, this can be called single-tree partitioning, while if two or more tree methods are supported, this can be called multi-tree partitioning.

在QT中,块在水平方向和垂直方向中的每一个上被分割成两个分区(n),而在BT中,块在水平方向或垂直方向上被分割成两个分区(b至g)。在TT中,块在水平方向或垂直方向上被分割成三个分区(h至m)。In QT, a block is divided into two partitions (n) in each of the horizontal and vertical directions, while in BT, a block is divided into two partitions (b to g) in either the horizontal or vertical direction. In TT, a block is divided into three partitions (h to m) in either the horizontal or vertical direction.

在QT中,可以通过将划分方向限制到水平方向和垂直方向中的一个而将块分割成四个分区(o和p)。此外,在BT中,可以支持仅将块分割成相等尺寸的分区(b和c)、仅将块分割成不同尺寸的分区(d至g)、或者这两种划分类型。此外,在TT中,可以支持将块分割成仅集中在特定方向(左->右或上->下方向上的1:1:2或2:1:1)上的分区(h、j、k和m)、将块分割成集中在中心(1:2:1)的分区(i和l)、或者这两种划分类型。此外,可以支持在水平方向和垂直方向中的每一个上将块分割成四个分区(即,总共16个分区)(q)。In Qt, a block can be divided into four partitions (o and p) by restricting the partitioning direction to either the horizontal or vertical direction. Furthermore, in BT, it supports partitioning the block into only equal-sized partitions (b and c), partitioning the block into only partitions of different sizes (d to g), or both of these partitioning types. Additionally, in TT, it supports partitioning the block into partitions focused only on a specific direction (1:1:2 or 2:1:1 in the left-to-right or top-to-bottom direction) (h, j, k, and m), partitioning the block into partitions focused on the center (1:2:1) (i and l), or both of these partitioning types. Furthermore, it supports partitioning the block into four partitions in each of the horizontal and vertical directions (i.e., a total of 16 partitions) (q).

在树方法中,可以支持将块仅在水平方向上分割成z个分区(b、d、e、h、i、j、o)、将块仅在垂直方向上分割成z个分区(c、f、g、k、l、m、p)、或者支持两种划分类型。在本文中,z可以是等于或大于2的整数,例如,2、3或4。The tree method supports partitioning blocks into z partitions (b, d, e, h, i, j, o) only horizontally, z partitions (c, f, g, k, l, m, p) only vertically, or both. In this paper, z can be an integer equal to or greater than 2, such as 2, 3, or 4.

在本公开内容中,假设划分类型n被支持为QT,划分类型b和c被支持为BT,并且划分类型i和l被支持为TT。In this disclosure, it is assumed that partition type n is supported as QT, partition types b and c are supported as BT, and partition types i and l are supported as TT.

根据编码/解码配置,可以支持树划分方案中的一个或更多个。例如,可以支持QT、QT/BT或QT/BT/TT。Depending on the encoding/decoding configuration, one or more tree partitioning schemes can be supported. For example, QT, QT/BT, or QT/BT/TT can be supported.

在以上示例中,基本树划分方案是QT,并且根据是否支持其他树,BT和TT被包括作为附加划分方案。然而,可以进行各种修改。指示是否支持其他树的信息(bt_enabled_flag、tt_enabled_flag和bt_tt_enabled_flag,其中0指示不支持且1指示支持)可以根据编码/解码设置而隐式地确定或以例如序列、图片、切片或图块等单位显式地确定。In the examples above, the basic tree partitioning scheme is QT, and BT and TT are included as additional partitioning schemes depending on whether other trees are supported. However, various modifications can be made. Information indicating whether other trees are supported (bt_enabled_flag, tt_enabled_flag, and bt_tt_enabled_flag, where 0 indicates no support and 1 indicates support) can be implicitly determined based on encoding/decoding settings or explicitly determined in units such as sequences, images, slices, or tiles.

划分信息可以包括指示是否执行划分的信息(tree_part_flag或qt_part_flag、bt_part_flag、tt_part_flag和bt_tt_part_flag,其可以具有值0或1,其中0指示不划分,并且1指示划分)。此外,根据划分方案(BT和TT),可以添加关于划分方向的信息(dir_part_flag,或bt_dir_part_flag、tt_dir_part_flag和bt_tt_dir_part_flag,其具有值0或1,其中0指示<宽度/水平的>并且1指示<高度/垂直的>)。这可以是在执行划分时生成的信息。The partitioning information can include indications of whether to perform a partition (tree_part_flag or qt_part_flag, bt_part_flag, tt_part_flag, and bt_tt_part_flag, which can have values of 0 or 1, where 0 indicates no partitioning and 1 indicates partitioning). Additionally, depending on the partitioning scheme (BT and TT), information about the partitioning direction can be added (dir_part_flag, or bt_dir_part_flag, tt_dir_part_flag, and bt_tt_dir_part_flag, which have values of 0 or 1, where 0 indicates <width/horizontal> and 1 indicates <height/vertical>). This information can be generated during the partitioning process.

当支持多树划分时,可以配置各种划分信息。为了便于描述,以下描述给出如何在一个深度级别配置划分信息的示例(也就是说,但是可以通过设置一个或更多个支持的划分深度进行递归划分)。When multi-tree partitioning is supported, various partitioning information can be configured. For ease of description, the following description provides an example of how to configure partitioning information at a depth level (that is, but recursive partitioning can be performed by setting one or more supported partitioning depths).

在示例1中,检查指示是否执行划分的信息。如果没有执行划分,则划分结束。In Example 1, the information indicating whether to perform a partition is checked. If no partition is performed, the partitioning ends.

如果执行划分,则检查关于划分类型的选择信息(例如,tree_idx。对于QT为0,对于BT为1,以及对于TT为2)。根据所选择的划分类型来附加地检查划分方向信息,并且过程进行到下一步骤(如果由于诸如当划分深度还没有达到最大值时产生的原因而进行附加的划分是可能的,则过程从起始再次开始,并且如果附加的划分是不可能的,则划分过程结束)。If a partition is performed, the selection information regarding the partition type is checked (e.g., tree_idx, 0 for QT, 1 for BT, and 2 for TT). The partition direction information is additionally checked based on the selected partition type, and the process proceeds to the next step (if additional partitioning is possible due to reasons such as the partition depth not yet reaching its maximum value, the process restarts from the beginning; if additional partitioning is not possible, the partitioning process ends).

在示例2中,检查指示是否以特定树方案(QT)执行划分的信息,并且过程进行到下一步骤。如果不是以树方案(QT)执行划分,则检查指示是否以另一树方案(BT)执行划分的信息。在这种情况下,如果不是以该树方案执行划分,则检查指示是否以第三树方案(TT)执行划分的信息。如果不是以第三树方案(TT)执行划分,则划分过程结束。In Example 2, the process checks whether the partitioning is performed using a specific tree scheme (QT), and proceeds to the next step. If the partitioning is not performed using a tree scheme (QT), the process checks whether the partitioning is performed using another tree scheme (BT). In this case, if the partitioning is not performed using that tree scheme, the process checks whether the partitioning is performed using a third tree scheme (TT). If the partitioning is not performed using a third tree scheme (TT), the partitioning process ends.

如果以树方案(QT)执行划分,则过程进行到下一步骤。此外,以第二树方案(BT)执行划分,检查划分方向信息,并且过程进行到下一步骤。如果以第三树方案(TT)执行划分,则检查划分方向信息,并且过程进行到下一步骤。If partitioning is performed using a tree-based approach (QT), the process proceeds to the next step. Alternatively, if partitioning is performed using a second tree-based approach (BT), the partitioning direction information is checked, and the process proceeds to the next step. If partitioning is performed using a third tree-based approach (TT), the partitioning direction information is checked, and the process proceeds to the next step.

在示例3中,检查指示是否以树方案(QT)执行划分的信息。如果不以树方案(QT)执行划分,则检查指示是否以其他树方案(BT和TT)执行划分的信息。如果不执行划分,则划分过程结束。In Example 3, the system checks whether the partitioning should be performed using a tree scheme (QT). If not, it checks whether the partitioning should be performed using another tree scheme (BT and TT). If no partitioning is performed, the partitioning process ends.

如果以树方案(QT)执行划分,则过程进行到下一步骤。此外,以其他树方案(BT和TT)执行划分,检查划分方向信息,并且过程进行到下一步骤。If partitioning is performed using a tree scheme (QT), the process proceeds to the next step. Alternatively, if partitioning is performed using other tree schemes (BT and TT), the partitioning direction information is checked, and the process proceeds to the next step.

虽然在以上示例中,对树划分方案进行优先级(示例2和示例3)或者不对树划分方案进行优先级(示例1),但是各种修改例也是可用的。此外,在以上示例中,当前步骤中的划分与前一步骤的划分结果无关。但是,还可以将当前步骤中的划分配置成依赖于前一步骤的划分结果。While the examples above either prioritize the tree partitioning schemes (Examples 2 and 3) or do not prioritize them (Example 1), various modifications are also possible. Furthermore, in the examples above, the partitioning in the current step is independent of the partitioning result of the previous step. However, it is also possible to configure the partitioning in the current step to depend on the partitioning result of the previous step.

在示例1至示例3中,如果在先前步骤中执行了一些树划分方案(QT),因此该过程前进至当前步骤,则在当前步骤中也可以支持相同的树划分方案(QT)。In Examples 1 through 3, if some tree partitioning scheme (QT) was executed in a previous step, and the process proceeds to the current step, the same tree partitioning scheme (QT) can also be supported in the current step.

另一方面,如果在先前步骤中未执行某个树划分方案(QT)并且因此执行了另一树划分方案(BT或TT),并且然后该过程进行到当前步骤,则可以将其配置成在当前步骤和后续步骤中支持除某个树划分方案(QT)之外的其他树划分方案(BT和TT)。On the other hand, if a certain tree partitioning scheme (QT) was not executed in a previous step and therefore another tree partitioning scheme (BT or TT) was executed, and then the process proceeds to the current step, it can be configured to support other tree partitioning schemes (BT and TT) besides a certain tree partitioning scheme (QT) in the current step and subsequent steps.

在以上情况下,支持块划分的树配置可以是自适应的,并且因此上述划分信息也可以被不同地配置。(假设后面将描述的示例为示例3)。也就是说,如果在先前步骤中没有以某个树方案(QT)执行划分,则在当前步骤中可以不考虑树方案(QT)来执行划分过程。另外,可以去除与某个树方案相关的划分信息(例如,指示是否执行划分的信息、关于划分方向的信息等。在该示例<QT>中,指示是否执行划分的信息)。In the above cases, the tree configuration supporting block partitioning can be adaptive, and therefore the partitioning information described above can also be configured differently. (Assuming the example described below is Example 3). That is, if partitioning was not performed using a certain tree scheme (QT) in a previous step, the partitioning process can be performed without considering the tree scheme (QT) in the current step. Furthermore, partitioning information associated with a particular tree scheme (e.g., information indicating whether partitioning should be performed, information about the partitioning direction, etc. In this example <QT>, information indicating whether partitioning should be performed) can be removed.

以上示例涉及针对允许块划分的情况的自适应划分信息配置(例如,块尺寸在最大值与最小值之间的范围内,每个树方案的划分深度未达到最大深度(允许深度)等)。即使当块划分受到限制时(例如,块尺寸不存在于最大值与最小值之间的范围中,每个树方案的划分深度已经达到最大深度等),也可以自适应地配置划分信息。The above examples illustrate adaptive partitioning information configuration for cases where block partitioning is allowed (e.g., block size is within the range of maximum and minimum values, the partitioning depth of each tree scheme has not reached the maximum depth (allowed depth), etc.). Even when block partitioning is restricted (e.g., block size does not exist within the range of maximum and minimum values, the partitioning depth of each tree scheme has reached the maximum depth, etc.), partitioning information can still be configured adaptively.

如已经提到的,在本公开内容中,可以以递归方式执行基于树的划分。例如,如果具有划分深度k的编码块的划分标志被设置为0,则在具有划分深度k的编码块中执行编码块编码。如果具有划分深度k的编码块的划分标志被设置为1,则根据划分方案在具有划分深度k+1的N个子编码块中执行编码块编码(其中N是等于或大于2的整数,例如2、3和4)。As already mentioned, in this disclosure, tree-based partitioning can be performed recursively. For example, if the partition flag of a coded block with partition depth k is set to 0, then block encoding is performed in the coded block with partition depth k. If the partition flag of a coded block with partition depth k is set to 1, then block encoding is performed in N sub-coded blocks with partition depth k+1 according to the partitioning scheme (where N is an integer equal to or greater than 2, such as 2, 3, and 4).

在以上过程中,子编码块可以被设置为编码块(k+1)并且被划分为子编码块(k+2)。该分层划分方案可以根据诸如划分范围和允许的划分深度的划分配置来确定。In the above process, a sub-coded block can be set as a coded block (k+1) and divided into sub-coded blocks (k+2). This hierarchical partitioning scheme can be determined based on partitioning configurations such as the partitioning range and the allowed partitioning depth.

在这种情况下,可以从一个或更多个扫描方法中选择表示划分信息的比特流结构。例如,可以基于划分深度的顺序或者基于是否执行划分来配置划分信息的比特流。In this case, the bitstream structure representing the partitioning information can be selected from one or more scanning methods. For example, the bitstream of partitioning information can be configured based on the order of partitioning depth or based on whether partitioning is performed.

例如,在基于划分深度顺序的情况下,基于初始块在当前深度级获得划分信息,并且然后在下一深度级获得划分信息。在基于是否执行划分的情况下,首先在从初始块分割的块中获得附加划分信息,并且可以考虑其他附加扫描方法。For example, in the case of partition depth order, partition information is obtained at the current depth level based on the initial block, and then at the next depth level. In the case of whether partitioning is performed, additional partition information is first obtained from the blocks split from the initial block, and other additional scanning methods can be considered.

(基于索引的划分)(Index-based partitioning)

在本公开内容的基于索引的划分中,可以支持恒定分割索引(CSI)方案和可变分割索引(VSI)方案。In the index-based partitioning of this disclosure, both Constant Partition Index (CSI) and Variable Partition Index (VSI) schemes can be supported.

在CSI方案中,可以通过在预定方向上的划分来获得k个子块,并且k可以是等于或大于2的整数,例如2、3或4。具体地,可以基于k来确定子块的尺寸和形状,而与块的尺寸和形状无关。预定方向可以是水平方向、垂直方向和对角线方向(左上->右下方向或左下->右上方向)中的一个或者两个或更多个的组合。In the CSI scheme, k sub-blocks can be obtained by dividing the blocks in a predetermined direction, where k can be an integer equal to or greater than 2, such as 2, 3, or 4. Specifically, the size and shape of the sub-blocks can be determined based on k, regardless of the size and shape of the blocks. The predetermined direction can be one or a combination of two or more of the following: horizontal, vertical, and diagonal (top left to bottom right or bottom left to top right).

在本公开内容的基于索引的CSI划分方案中,可以通过在水平方向或垂直方向上进行划分来获得z个候选。在这种情况下,z可以是等于或大于2的整数,例如2、3或4,并且子块在宽度和高度中的一者上可以是相等的,并且在宽度和高度中的另一者上可以是相等的或不同的。子块的宽度或高度长度比为A1:A2:...:AZ,并且A1至AZ中的每一个可以是等于或大于1的整数,例如1、2或3。In the index-based CSI partitioning scheme of this disclosure, z candidates can be obtained by partitioning in the horizontal or vertical direction. In this case, z can be an integer equal to or greater than 2, such as 2, 3, or 4, and the sub-blocks can be equal in width and height, and equal or different in the other of width and height. The width or height ratio of the sub-blocks is A1 : A2 : ... : AZ , and each of A1 to AZ can be an integer equal to or greater than 1, such as 1, 2, or 3.

此外,可以通过分别沿着水平方向和垂直方向划分为x个分区和y个分区来获得候选。x和y中的每一个可以是等于或大于1的整数,例如1、2、3或4。然而,其中x和y两者都是1的候选可能是受限的(因为a已经存在)。尽管图4示出了其中子块具有相同的宽度比或高度比的情况,但是也可以包括具有不同的宽度比或高度比的候选。Furthermore, candidates can be obtained by dividing the blocks into x and y partitions along the horizontal and vertical directions, respectively. Each of x and y can be an integer equal to or greater than 1, such as 1, 2, 3, or 4. However, candidates where both x and y are 1 may be restricted (because a already exists). Although Figure 4 shows a case where the sub-blocks have the same width or height ratio, candidates with different width or height ratios can also be included.

此外,候选可以在对角线方向——左上->右下和左下->右上——中的一者上被分割成w个分区。在本文中,w可以是等于或大于2的整数,例如2或3。Furthermore, candidates can be divided into w partitions along one of the diagonal directions—top left to bottom right and bottom left to top right. In this paper, w can be an integer equal to or greater than 2, such as 2 or 3.

参照图4,根据每个子块的长度比,可以将划分类型分类为对称划分类型(b)和非对称划分类型(d和e)。此外,划分类型可以被分类为集中在特定方向上的划分类型(k和m)和中心划分类型(k)。划分类型可以由包括子块形状以及子块长度比率的各种编码/解码因素来定义,并且所支持的划分类型可以根据编码/解码配置隐式地或显式地确定。因此,可以基于在基于索引的划分方案中支持的划分类型来确定候选组。Referring to Figure 4, based on the length ratio of each sub-block, the partitioning type can be classified into symmetric partitioning type (b) and asymmetric partitioning type (d and e). Furthermore, the partitioning type can be classified into partitioning types concentrated in a specific direction (k and m) and center partitioning type (k). The partitioning type can be defined by various encoding/decoding factors, including sub-block shape and sub-block length ratio, and the supported partitioning types can be implicitly or explicitly determined based on the encoding/decoding configuration. Therefore, candidate groups can be determined based on the partitioning types supported in the index-based partitioning scheme.

在VSI方案中,在每个子块的宽度w或高度h固定的情况下,可以通过在预定方向上的划分来获得一个或更多个子块。在本文中,w和h中的每一个可以是等于或大于1的整数,例如,1、2、4或8,具体地,可以基于块的尺寸和形状以及w或h值来确定子块的数量。In the VSI scheme, with a fixed width w or height h for each sub-block, one or more sub-blocks can be obtained by dividing in a predetermined direction. In this document, each of w and h can be an integer equal to or greater than 1, such as 1, 2, 4, or 8. Specifically, the number of sub-blocks can be determined based on the size and shape of the block and the value of w or h.

在本公开内容的基于索引的VSI划分方案中,可以将候选划分成子块,每一子块在宽度和长度中的一者上是固定的。替选地,候选可以被划分成子块,每个子块在宽度和长度两者上都是固定的。由于子块的宽度或高度是固定的,所以可以允许在水平方向或垂直方向上的等分。然而,本公开内容不限于此。In the index-based VSI partitioning scheme of this disclosure, candidates can be divided into sub-blocks, each of which has a fixed width and length. Alternatively, candidates can be divided into sub-blocks, each of which has a fixed width and length. Since the width or height of the sub-blocks is fixed, equal division in the horizontal or vertical direction is allowed. However, this disclosure is not limited thereto.

在其中划分前块的尺寸为M×N的情况下,如果每个子块的宽度w固定、每个子块的高度h固定、或者每个子块的宽度w和高度h两者都固定,则获得的子块的数量可以是(M*N)/w、(M*N)/h、或(M*N)/w/h。If the size of the first block is M×N, and the width w of each sub-block is fixed, the height h of each sub-block is fixed, or both the width w and the height h of each sub-block are fixed, then the number of sub-blocks obtained can be (M*N)/w, (M*N)/h, or (M*N)/w/h.

根据编码/解码配置,可以仅支持CSI方案和VSI方案中的一者或两者,并且可以隐式地或显式地确定关于所支持的方案的信息。Depending on the encoding/decoding configuration, only one or both of the CSI and VSI schemes can be supported, and information about the supported schemes can be determined implicitly or explicitly.

将在所支持的CSI方案的上下文中描述本公开内容。This disclosure will be described in the context of the supported CSI schemes.

候选组可以被配置成根据编码/解码设置包括基于索引的划分方案中的两个或更多个候选。Candidate groups can be configured to include two or more candidates from an index-based partitioning scheme, depending on the encoding/decoding settings.

例如,可以形成诸如{a,b,c}、{a,b,c,n}或{a至g和n}的候选组。候选组可以是包括基于一般统计特征预测为出现多次的块类型的示例,例如在水平方向或垂直方向上或者在水平方向和垂直方向中的每一个上被分割成两个分区的块。For example, candidate groups such as {a, b, c}, {a, b, c, n}, or {a to g and n} can be formed. Candidate groups can include examples of block types predicted to occur multiple times based on general statistical characteristics, such as blocks that are divided into two partitions in the horizontal or vertical direction, or in each of the horizontal and vertical directions.

替选地,可以配置诸如{a,b}、{a,o}或{a,b,o}的候选组,或者诸如{a,c}、{a,p}或{a,c,p}的候选组。候选组可以是包括如下候选的示例:每个候选分别在水平方向和垂直方向上被划分为两个分区和四个分区。这可以是以下示例:将预测为主要在特定方向上划分的块类型配置为候选组。Alternatively, candidate groups can be configured such as {a, b}, {a, o}, or {a, b, o}, or candidate groups such as {a, c}, {a, p}, or {a, c, p}. A candidate group can be an example that includes candidates divided into two partitions horizontally and four partitions vertically. This could be an example of configuring a candidate group with block types predicted to be primarily partitioned in a specific direction.

替选地,可以配置诸如{a,o,p}或{a,n,q}的候选组。这可以是以下示例:将候选组配置成包括被预测为要被划分成比划分之前的块小的许多分区的块类型。Alternatively, candidate groups such as {a, o, p} or {a, n, q} can be configured. This could be an example of configuring candidate groups to include block types that are predicted to be divided into many partitions smaller than the blocks before the partition.

替选地,可以配置诸如{a,r,s}的候选组,并且其可以是以下示例:确定可以通过其他方法(树方法)从分割之前的块获得的矩形形状的最佳划分结果,并且将非矩形形状配置为候选组。Alternatively, candidate groups such as {a, r, s} can be configured, and can be, for example, determining the best partitioning result of rectangular shapes that can be obtained from the blocks before partitioning by other methods (tree methods), and configuring non-rectangular shapes as candidate groups.

如从以上示例中注意到的,各种候选组配置可以是可用的,并且考虑到各种编码/解码因素,可以支持一个或更多个候选组配置。As noted in the examples above, various candidate group configurations can be available, and one or more candidate group configurations can be supported, taking into account various encoding/decoding factors.

一旦候选组被完全配置,各种划分信息配置就可以是可用的。Once the candidate groups are fully configured, various partitioning information configurations can be made available.

例如,关于包括未被划分的候选a和被划分的候选b至s的候选组,可以生成索引选择信息。For example, index selection information can be generated for candidate groups including undivided candidate a and divided candidates b to s.

替选地,可以生成指示是否执行划分的信息(指示划分类型是否为a的信息)。如果执行划分(如果划分类型不是a),则可以生成关于包括被划分的候选b至s的候选组的索引选择信息。Alternatively, information indicating whether to perform a partition (information indicating whether the partition type is 'a') can be generated. If a partition is performed (if the partition type is not 'a'), index selection information about the candidate groups including the partitioned candidates b to s can be generated.

可以以不同于上述的许多其他方式来配置划分信息。除了指示是否执行划分的信息之外,可以以诸如固定长度二值化、可变长度二值化等各种方式将二进制位分配给候选组中的每个候选的索引。如果候选的数量是2,则可以将1比特分配给索引选择信息,并且如果候选的数量是3,则可以将一个或更多个比特分配给索引选择信息。The partitioning information can be configured in many other ways than those described above. In addition to information indicating whether to perform a partition, binary bits can be assigned to the index of each candidate in the candidate group in various ways, such as fixed-length binarization, variable-length binarization, etc. If the number of candidates is 2, 1 bit can be assigned to the index selection information, and if the number of candidates is 3, one or more bits can be assigned to the index selection information.

与基于树的划分方案相比,被预测要出现多次的划分类型可以被包括在基于索引的划分方案中的候选组中。Compared to tree-based partitioning schemes, partition types that are predicted to occur multiple times can be included in the candidate groups of index-based partitioning schemes.

由于用于表示索引信息的比特的数量可以根据所支持的候选组的数量而增加,因此该方案可以适合于单层划分(例如,划分深度被限制为0),而不是基于树的分层划分(递归划分)。也就是说,可以支持单个划分操作,并且可以不进一步分割通过基于索引的划分获得的子块。Since the number of bits used to represent index information can increase based on the number of supported candidate groups, this scheme is suitable for single-level partitioning (e.g., partition depth is limited to 0) rather than tree-based hierarchical partitioning (recursive partitioning). That is, a single partitioning operation can be supported without further subdividing the sub-blocks obtained through index-based partitioning.

这可能意味着进一步划分成相同类型的较小块是不可能的(例如,通过基于索引的划分获得的编码块不能进一步分割成编码块),并且还意味着可能进一步划分成不同类型的块也是不可能的(例如,不可能将编码块划分成预测块以及编码块)。显然,本公开内容不限于以上示例,并且其他修改例也是可用的。This may mean that further subdividing into smaller blocks of the same type is impossible (e.g., a coded block obtained through index-based partitioning cannot be further subdivided into coded blocks), and it also means that further subdividing into blocks of different types is also impossible (e.g., it is impossible to partition a coded block into prediction blocks and coded blocks). Clearly, this disclosure is not limited to the above examples, and other modifications are also possible.

现在,将给出主要基于编码/解码因素中的块类型来确定块划分配置的描述。Now, a description will be given of determining the block partitioning configuration primarily based on the block type in the encoding/decoding factors.

首先,可以在划分过程中获得编码块。可以采用基于树的划分方案用于划分过程,并且可以根据树型产生诸如图4的a(无分割)、n(QT)、b、c(BT)、i或l(TT)的划分类型。根据编码/解码配置,树类型的各种组合(例如,QT/QT+BT/QT+BT+TT)可能是可用的。First, encoded blocks can be obtained during the partitioning process. A tree-based partitioning scheme can be used for the partitioning process, and partitioning types such as a (no partitioning), n (QT), b, c (BT), i, or l (TT) as shown in Figure 4 can be generated based on the tree structure. Depending on the encoding/decoding configuration, various combinations of tree types (e.g., QT/QT+BT/QT+BT+TT) may be available.

以下示例是将在以上过程中获得的编码块最终分割成预测块和变换块的处理。假设基于每个分区的尺寸执行预测、变换和逆变换。The following example illustrates the process of ultimately splitting the coded block obtained in the above steps into prediction blocks and transform blocks. It assumes that prediction, transform, and inverse transform are performed based on the size of each partition.

在示例1中,可以通过将预测块的尺寸设置为等于编码块的尺寸来执行预测,并且可以通过将变换块的尺寸设置为等于编码块(或预测块)的尺寸来执行变换和逆变换。In Example 1, prediction can be performed by setting the size of the prediction block to be equal to the size of the coding block, and transformation and inverse transformation can be performed by setting the size of the transform block to be equal to the size of the coding block (or prediction block).

在示例2中,可以通过将预测块的尺寸设置为等于编码块的尺寸来执行预测。变换块可以通过划分编码块(或预测块)来获得,并且可以基于所获得的变换块的尺寸来执行变换和逆变换。In Example 2, prediction can be performed by setting the size of the prediction block to be equal to the size of the coding block. Transform blocks can be obtained by dividing the coding block (or prediction block), and transform and inverse transform can be performed based on the size of the obtained transform blocks.

在此,可以采用基于树的划分方案用于划分过程,并且可以根据树的类型得到诸如图4的a(无分割)、n(QT)、b、c(BT)、i或l(TT)的划分类型。根据编码/解码配置,树类型的各种组合(例如,QT/QT+BT/QT+BT+TT)可能是可用的。Here, a tree-based partitioning scheme can be used for the partitioning process, and partitioning types such as a (no partitioning), n (QT), b, c (BT), i, or l (TT) as shown in Figure 4 can be obtained depending on the tree type. Various combinations of tree types (e.g., QT/QT+BT/QT+BT+TT) may be available depending on the encoding/decoding configuration.

在此,划分过程可以是基于索引的划分方案。可以根据索引类型获得划分类型,例如,图4的a(无分割)、b、c或d。根据编码/解码配置,可以配置诸如{a,b,c}和{a,b,c,d}的各种候选组。Here, the partitioning process can be an index-based partitioning scheme. The partition type can be obtained based on the index type, for example, a (no partition), b, c, or d in Figure 4. Various candidate groups such as {a, b, c} and {a, b, c, d} can be configured according to the encoding/decoding configuration.

在示例3中,可以通过划分编码块来获得预测块,并且该预测块基于所获得的预测块的尺寸经受预测。对于变换块,其尺寸被设置为编码块的尺寸,并且可以对变换块执行变换和逆变换。在该示例中,预测块与变换块可以呈独立关系。In Example 3, a prediction block can be obtained by dividing the coding block, and this prediction block undergoes prediction based on the size of the obtained prediction block. For the transform block, its size is set to the size of the coding block, and both transform and inverse transform can be performed on the transform block. In this example, the prediction block and the transform block can be independent.

基于索引的划分方案可以用于划分过程,并且可以根据索引类型获得划分类型(例如,图4的a(无分割)、b至g、n、r或s)。可以根据编码/解码配置来配置各种候选组,例如,{a,b,c,n}、{a至g,n}和{a,r,s}。Index-based partitioning schemes can be used in the partitioning process, and the partition type can be obtained based on the index type (e.g., a (no partition), b through g, n, r, or s in Figure 4). Various candidate groups can be configured based on the encoding/decoding configuration, such as {a, b, c, n}, {a through g, n}, and {a, r, s}.

在示例4中,可以通过对编码块进行划分来获得预测块,并且该预测块基于所获得的预测块的尺寸经受预测。对于变换块,将其尺寸被设置成预测块的尺寸,并且可以对变换块执行变换和逆变换。在该示例中,变换块可以具有等于所获得的预测块的尺寸的尺寸,或者所获得的预测块可以具有等于变换块的尺寸的尺寸(将变换块的尺寸设置为预测块的尺寸)。In Example 4, a prediction block can be obtained by dividing the coded block, and this prediction block undergoes prediction based on the size of the obtained prediction block. For the transform block, its size is set to the size of the prediction block, and a transform and inverse transform can be performed on the transform block. In this example, the transform block can have a size equal to the size of the obtained prediction block, or the obtained prediction block can have a size equal to the size of the transform block (setting the size of the transform block to the size of the prediction block).

基于树的划分方案可以用于划分过程,并且可以根据树类型来生成划分类型(例如,图4的a(无分割)、b、c(BT)、i、l(TT)或n(QT))。根据编码/解码配置,树类型的各种组合(例如,QT/BT/QT+BT)可能是可用的。Tree-based partitioning schemes can be used in the partitioning process, and partition types can be generated based on the tree type (e.g., a (no partition), b, c (BT), i, l (TT), or n (QT) in Figure 4). Various combinations of tree types (e.g., QT/BT/QT+BT) may be available depending on the encoding/decoding configuration.

在此,基于索引的划分方案可以用于划分过程,并且可以根据索引类型得到划分类型(例如图4的a(无分割)、b、c、n、o或p)。可以根据编码/解密配置来配置各种候选组,例如{a,b}、{a,c}、{a,n}、{a,o}、{a,p}、{a,b,c}、{a,o,p}、{a,b,c,n}和{a,b,c,n,p}。此外,可以在单独的VSI方案或者组合CSI方案和VSI方案作为基于索引的划分方案中配置候选组。Here, an index-based partitioning scheme can be used in the partitioning process, and the partitioning type can be obtained based on the index type (e.g., a (no partition), b, c, n, o, or p in Figure 4). Various candidate groups can be configured based on the encoding/decryption configuration, such as {a, b}, {a, c}, {a, n}, {a, o}, {a, p}, {a, b, c}, {a, o, p}, {a, b, c, n}, and {a, b, c, n, p}. Furthermore, candidate groups can be configured in a standalone VSI scheme or in a combination of CSI and VSI schemes as an index-based partitioning scheme.

在示例5中,可以通过对编码块进行划分来获得预测块,并且该预测块基于所获得的预测块的尺寸经受预测。也可以通过对编码块进行划分来获得变换块并且该变换块基于所获得的变换块的尺寸经受变换和逆变换。在该示例中,预测块和变换块中的每一个可以由对编码块进行划分而得到。In Example 5, a prediction block can be obtained by partitioning the coded block, and this prediction block undergoes prediction based on the size of the obtained prediction block. Alternatively, a transform block can be obtained by partitioning the coded block, and this transform block undergoes transform and inverse transform based on the size of the obtained transform block. In this example, each of the prediction block and the transform block can be obtained by partitioning the coded block.

在此,可以将基于树的划分方案和基于索引的划分方案用于划分过程,并且可以以与示例4相同的方式或类似的方式来配置候选组。Here, tree-based partitioning schemes and index-based partitioning schemes can be used in the partitioning process, and candidate groups can be configured in the same or similar way as in Example 4.

在这种情况下,以上示例是根据是否共享对每个块类型进行划分的过程而可能发生的情况,这不应被理解为限制本公开内容。各种修改例也可以是可用的。此外,可以考虑各种编码/解码因素以及块类型来确定块划分配置。In this context, the above examples represent possible scenarios depending on whether the process for partitioning each block type is shared, and should not be construed as limiting the scope of this disclosure. Various modifications are also possible. Furthermore, various encoding/decoding factors and block types can be considered to determine the block partitioning configuration.

编码/解码因素可以包括图像类型(I/P/B)、颜色分量(YCbCr)、块尺寸/形状/位置、块宽高比、块类型(编码块、预测块、变换块或量化块)、划分状态、编码模式(帧内/帧间)、与预测有关的信息(帧内预测模式或帧间预测模式)、与变换有关的信息(变换方案选择信息)、与量化有关的信息(量化区域选择信息和量化变换系数编码信息)。Encoding/decoding factors may include image type (I/P/B), color components (YCbCr), block size/shape/position, block aspect ratio, block type (coded block, prediction block, transform block, or quantization block), partitioning state, coding mode (intra-frame/inter-frame), prediction-related information (intra-frame prediction mode or inter-frame prediction mode), transform-related information (transform scheme selection information), and quantization-related information (quantization region selection information and quantization transform coefficient coding information).

在根据本公开内容的实施方式的图像编码方法中,帧内预测可以被如下配置。预测单元的帧内预测可以包括参考像素配置步骤、预测块生成步骤、预测模式确定步骤和预测模式编码步骤。此外,图像编码装置可以被配置成包括参考像素配置单元、预测块生成器和预测模式编码器,以执行参考像素配置步骤、预测块生成步骤、预测模式确定步骤和预测模式编码步骤。可以省略上述步骤的一部分,或者可以添加其他步骤。可以以与以上描述的顺序不同的顺序执行这些步骤。In the image coding method according to embodiments of the present disclosure, intra-frame prediction can be configured as follows. The intra-frame prediction of the prediction unit may include a reference pixel configuration step, a prediction block generation step, a prediction mode determination step, and a prediction mode encoding step. Furthermore, the image coding apparatus may be configured to include a reference pixel configuration unit, a prediction block generator, and a prediction mode encoder to perform the reference pixel configuration step, the prediction block generation step, the prediction mode determination step, and the prediction mode encoding step. Some of the above steps may be omitted, or other steps may be added. These steps may be performed in an order different from the order described above.

图5是示出根据本公开内容的实施方式的帧内预测模式的示例图。Figure 5 is an example diagram illustrating an intra-prediction mode according to an embodiment of the present disclosure.

参照图5,将67种预测模式分组为用于帧内预测的预测模式候选组。尽管在67种预测模式中,65种预测模式是定向模式并且2种预测模式是非定向模式(DC和平面模式)的情况下给出以下描述,但是本公开内容不限于此,并且各种配置是可用的。定向模式可以通过斜率信息(例如,dy/dx)或角度信息(度)来彼此区分。预测模式的全部或部分可以被包括在亮度分量或色度分量的预测模式候选组中,并且其他附加模式可以被包括在预测模式候选组中。Referring to Figure 5, the 67 prediction modes are grouped into prediction mode candidate groups for intra-frame prediction. Although the following description is given with 65 prediction modes being directional modes and 2 being non-directional modes (DC and planar modes) out of the 67 prediction modes, this disclosure is not limited thereto, and various configurations are available. Directional modes can be distinguished from each other by slope information (e.g., dy/dx) or angle information (degrees). All or part of a prediction mode can be included in the prediction mode candidate group for the luma component or chroma component, and other additional modes can be included in the prediction mode candidate group.

在本公开内容中,可以以直线来引导定向模式,并且可以另外配置弯曲的定向模式作为预测模式。此外,非定向模式可以包括DC模式和平面模式,在DC模式中,通过对与当前块相邻的块(例如,上块、左块、左上块、右上块和右下块)的像素进行平均(或加权平均)来获得预测块,在平面模式中,通过对相邻块的像素进行线性插值来获得预测块。In this disclosure, a straight line can be used to guide the orientation mode, and a curved orientation mode can be additionally configured as the prediction mode. Furthermore, the non-orientation mode can include a DC mode and a planar mode. In the DC mode, the prediction block is obtained by averaging (or weighted averaging) the pixels of blocks adjacent to the current block (e.g., the top block, left block, top-left block, top-right block, and bottom-right block). In the planar mode, the prediction block is obtained by linearly interpolating the pixels of adjacent blocks.

在DC模式中,可以从诸如左、上、左+上、左+左下、上+右上、左+上+左下+左上+右上等的块的各种组合中的任何获得用于生成预测块的参考像素。可以根据由图像类型、颜色分量、块尺寸/类型/位置等限定的编码/解码配置来确定从其获得参考像素的块的位置。In DC mode, reference pixels for generating prediction blocks can be obtained from any combination of blocks such as left, top, left + top, left + bottom left, top + top right, left + top + bottom left + top left + top right, etc. The location of the block from which the reference pixels are obtained can be determined based on the encoding/decoding configuration, which is defined by image type, color components, block size/type/position, etc.

在平面模式中,可以从具有参考像素的区域(例如,左区域、上区域、左上区域、右上区域和左下区域)和不具有参考像素的区域(例如,右区域、下区域和右下区域)获得用于生成预测块的像素。可以通过使用具有参考像素的区域的一个或更多个像素(例如,通过复制或加权平均)来隐式地获得不具有参考像素的区域(即,未编码),或者可以显式地生成关于不是由参考像素构成的区域中的至少一个像素的信息。因此,如上所述,可以使用具有参考像素的区域和不具有参考像素的区域来生成预测块。In planar mode, pixels for generating prediction blocks can be obtained from regions with reference pixels (e.g., left region, top region, top-left region, top-right region, and bottom-left region) and regions without reference pixels (e.g., right region, bottom region, and bottom-right region). Regions without reference pixels (i.e., uncoded) can be implicitly obtained by using one or more pixels from regions with reference pixels (e.g., by duplication or weighted averaging), or information about at least one pixel in regions not composed of reference pixels can be explicitly generated. Therefore, as described above, prediction blocks can be generated using regions with and without reference pixels.

可以另外包括除上述之外的其他非定向模式。在本公开内容中,主要描述了线性定向模式和非定向模式,DC和平面。然而,可以对模式进行修改。Other non-directional modes besides those described above may also be included. This disclosure primarily describes linear directional and non-directional modes, DC, and plane modes. However, modifications to the modes are possible.

图5所示的预测模式可以被固定地支持,而不管块尺寸如何。此外,根据块尺寸支持的预测模式可以与图5的预测模式不同。The prediction patterns shown in Figure 5 can be supported consistently regardless of the block size. Furthermore, the prediction patterns supported based on the block size can differ from those in Figure 5.

例如,预测模式候选组的数量可以是自适应的(例如,尽管每两个相邻预测模式之间的角度相等,但是可以不同地设置该角度,例如,9、17、33、65或129个定向模式)。替选地,预测模式候选组的数量可以是固定的,但具有不同配置(例如,定向模式角度和非定向模式类型)。For example, the number of candidate groups for prediction patterns can be adaptive (e.g., although the angle between every two adjacent prediction patterns is equal, the angle can be set differently, such as 9, 17, 33, 65, or 129 directional patterns). Alternatively, the number of candidate groups for prediction patterns can be fixed but with different configurations (e.g., directional pattern angles and non-directional pattern types).

此外,可以固定地支持图5的预测模式,而不管块类型如何。此外,根据块类型支持的预测模式可以与图5的预测模式不同。Furthermore, the prediction patterns shown in Figure 5 can be consistently supported regardless of the block type. Additionally, the prediction patterns supported may differ from those shown in Figure 5, depending on the block type.

例如,预测模式候选的数量可以是自适应的(例如,可以根据块的宽-高比在水平方向或垂直方向上导出更多或更少预测模式)。替选地,预测模式候选的数量可以是固定的,但具有不同配置(例如,可以根据块的宽-度比沿着水平方向或垂直方向更精细地导出预测模式)。For example, the number of prediction mode candidates can be adaptive (e.g., more or fewer prediction modes can be derived in the horizontal or vertical direction based on the width-to-height ratio of the block). Alternatively, the number of prediction mode candidates can be fixed but with different configurations (e.g., prediction modes can be derived more finely along the horizontal or vertical direction based on the width-to-height ratio of the block).

替选地,可以针对块的较长边支持较大数量的预测模式,而可以针对块的较短边支持较少数量的预测模式。关于块的较长边上的预测模式间隔,可以支持位于模式66右侧的模式(例如,与模式50成+45度或更大角度的模式,例如,模式67至模式80)或位于模式2左侧的模式(例如,与模式18成-45度或更小角度的模式,例如,模式-1至模式-14)。这可以根据块的宽-高比来确定,并且相反的情况也是可能的。Alternatively, a larger number of prediction modes can be supported for the longer side of the block, while a smaller number of prediction modes can be supported for the shorter side. Regarding the prediction mode spacing on the longer side of the block, modes located to the right of mode 66 (e.g., modes at +45 degrees or greater angle to mode 50, such as modes 67 to 80) or modes located to the left of mode 2 (e.g., modes at -45 degrees or less angle to mode 18, such as modes -1 to -14) can be supported. This can be determined based on the block's aspect ratio, and vice versa.

尽管在本公开内容中主要描述了诸如图5的那些模式的固定支持的预测模式(无论任何编码/解码因素如何),但是还可以配置根据编码配置自适应支持的预测模式。Although this disclosure primarily describes fixed-support prediction modes for patterns such as those in Figure 5 (regardless of any encoding/decoding factors), it is also possible to configure adaptive-support prediction modes based on the encoding configuration.

可以基于水平模式和垂直模式(模式18和模式50)和一些对角线模式(对角线右上模式2、对角线右下模式34、对角线左下模式66等)对预测模式进行分类。该分类可以基于一些方向性(或诸如45度、90度等的角度)。Predicted patterns can be classified based on horizontal and vertical patterns (patterns 18 and 50) and some diagonal patterns (diagonal upper right pattern 2, diagonal lower right pattern 34, diagonal lower left pattern 66, etc.). This classification can be based on some directionality (or angles such as 45 degrees, 90 degrees, etc.).

位于定向模式两端的模式(模式2和模式66)可以用作用于预测模式的分类的参考模式,当如图5所示配置帧内预测模式时,这是可能的。也就是说,当自适应地配置预测模式时,可以改变参考模式。例如,模式2可以用具有小于或大于2(例如,-2、-1、3、4等)的指数的模式代替,或者模式66可以用具有小于或大于66(例如,64、66、67、68等)的指数的模式代替。The modes located at both ends of the directional mode (mode 2 and mode 66) can be used as reference modes for classification of the prediction mode, which is possible when the intra-prediction mode is configured as shown in Figure 5. That is, the reference mode can be changed when the prediction mode is configured adaptively. For example, mode 2 can be replaced by a mode with an exponent less than or greater than 2 (e.g., -2, -1, 3, 4, etc.), or mode 66 can be replaced by a mode with an exponent less than or greater than 66 (e.g., 64, 66, 67, 68, etc.).

此外,与颜色分量相关的附加预测模式(颜色复制模式和颜色模式)可以被包括在预测模式候选组中。颜色复制模式可以指与从位于另一颜色空间中的区域获得用于生成预测块的数据的方法有关的预测模式,并且颜色模式可以指与从位于另一颜色空间中的区域获得预测模式的方法有关的预测模式。In addition, additional prediction modes related to color components (color replication mode and color mode) can be included in the prediction mode candidate group. Color replication mode can refer to a prediction mode related to the method of obtaining data for generating prediction blocks from a region located in another color space, and color mode can refer to a prediction mode related to the method of obtaining prediction modes from a region located in another color space.

图6是示出根据本公开内容的实施方式的用于帧内预测的参考像素配置的示例图。预测块的尺寸和形状M×N可以通过块分割器获得。Figure 6 is an example diagram illustrating a reference pixel configuration for intra-frame prediction according to an embodiment of the present disclosure. The size and shape M×N of the prediction block can be obtained through a block segmenter.

尽管通常可以基于预测块执行帧内预测,但是根据块分割器的配置,也可以基于编码块或变换块执行帧内预测。在检查块信息之后,参考像素配置单元可以配置用于预测当前块的参考像素。可以在临时存储器(例如,阵列、主要阵列、次要阵列等)中管理参考像素。可以在块的每个帧内预测处理中生成并去除参考像素,并且可以根据参考像素配置来确定临时存储器的尺寸。Although intra-frame prediction can typically be performed based on prediction blocks, it can also be performed based on coded blocks or transform blocks, depending on the block segmenter configuration. After examining the block information, the reference pixel configuration unit can configure reference pixels for predicting the current block. Reference pixels can be managed in temporary memory (e.g., an array, a primary array, a secondary array, etc.). Reference pixels can be generated and removed in each intra-frame prediction process of the block, and the size of the temporary memory can be determined based on the reference pixel configuration.

在该示例中,假设对于当前块的预测使用当前块的左块、上块、左上块、右上块和左下块。然而,本公开内容不限于此,并且对于当前块的预测可以使用不同配置的块候选组。例如,可以基于光栅或Z扫描来确定对于参考像素的相邻块的候选组,并且可以根据扫描顺序从候选组去除一些候选,或可以进一步包括另一块候选组(例如,右块、下块及右下块)。In this example, it is assumed that the prediction for the current block uses the left block, top block, top-left block, top-right block, and bottom-left block of the current block. However, this disclosure is not limited to this, and the prediction for the current block can use block candidate groups with different configurations. For example, candidate groups of adjacent blocks for a reference pixel can be determined based on raster or Z-scan, and some candidates can be removed from the candidate groups according to the scan order, or another block candidate group (e.g., right block, bottom block, and bottom-right block) can be further included.

此外,如果支持诸如颜色复制模式的预测模式,则对于当前块的预测可以使用不同颜色空间的一些区域。因此,该区域也可以考虑用于参考像素。Furthermore, if prediction modes such as color replication are supported, some regions of different color spaces can be used for the prediction of the current block. Therefore, this region can also be considered for reference pixels.

图7是示出根据本公开内容的实施方式的与用于帧内预测的目标块相邻的块的概念图。具体地,图7的左图示出了在当前颜色空间中与当前块相邻的块,以及图7的右图示出了在另一颜色空间中的相应块。为了便于描述,将在假设与当前颜色空间中的当前块相邻的块是基本参考像素配置的情况下给出以下描述。Figure 7 is a conceptual diagram illustrating blocks adjacent to a target block used for intra-frame prediction according to an embodiment of the present disclosure. Specifically, the left image of Figure 7 shows blocks adjacent to the current block in the current color space, and the right image of Figure 7 shows corresponding blocks in another color space. For ease of description, the following description will be given assuming that the blocks adjacent to the current block in the current color space are a basic reference pixel configuration.

如图6所示,在左块、上块、左上块、右上块和左下块(图6中的Ref_L、Ref_T、Ref_TL、Ref_TR和Ref_BL)中的相邻像素可以被配置为用于当前块的预测的参考像素。虽然参考像素通常是相邻块中最靠近当前块的像素,如图6中的参考符号a(称为参考像素线)所指示,但其他像素(图6中的像素b和其他外部线中的像素)也可以用作参考像素。As shown in Figure 6, neighboring pixels in the left block, top block, top-left block, top-right block, and bottom-left block (Ref_L, Ref_T, Ref_TL, Ref_TR, and Ref_BL in Figure 6) can be configured as reference pixels for prediction of the current block. Although the reference pixel is usually the pixel closest to the current block among the neighboring blocks, as indicated by reference symbol a (called the reference pixel line) in Figure 6, other pixels (pixel b in Figure 6 and the pixels in the other outer lines) can also be used as reference pixels.

与当前块相邻的像素可以被分类到至少一个参考像素线中。最接近当前块的像素可以由ref_0(例如,与当前块的边界像素间隔距离1的像素,p(-1,-1)至p(2m-1,-1)和p(-1,0)至p(-1,2n-1))表示,第二最接近像素可以由ref_1(例如,与当前块的边界像素间隔距离2的像素,p(-2,-2)至p(2m,-2)和p(-2,-1)至p(-2,2n))表示,并且第三最接近像素由ref_2(例如,与当前块的边界像素间隔距离3的像素,p(-3,-3)至p(2m+1,-3)和p(-3,-2)至P(-3,2n+1))表示。也就是说,可以根据当前块的边界像素与相邻像素之间的距离来定义参考像素线。Pixels adjacent to the current block can be classified into at least one reference pixel line. The pixel closest to the current block can be represented by ref_0 (e.g., pixels at a distance of 1 from the boundary pixel of the current block, p(-1, -1) to p(2m-1, -1) and p(-1, 0) to p(-1, 2n-1)), the second closest pixel can be represented by ref_1 (e.g., pixels at a distance of 2 from the boundary pixel of the current block, p(-2, -2) to p(2m, -2) and p(-2, -1) to p(-2, 2n)), and the third closest pixel is represented by ref_2 (e.g., pixels at a distance of 3 from the boundary pixel of the current block, p(-3, -3) to p(2m+1, -3) and p(-3, -2) to p(-3, 2n+1)). That is, reference pixel lines can be defined based on the distance between the boundary pixels of the current block and their adjacent pixels.

可以支持N个或更多个参考像素线,并且N可以是等于或大于1的整数,例如1至5。通常,参考像素线以距离的升序顺序包括在参考像素线候选组中。然而,本公开内容不限于此。例如,当N为3时,候选组可以顺序地包括参考像素线,例如,<ref_0、ref_1、ref_2>。还可以非顺序地配置候选组,例如,<ref_0、ref_1、ref_3>或<ref_0、ref_2、ref_3>,或者配置没有最接近的参考像素线的候选组。It can support N or more reference pixel lines, and N can be an integer equal to or greater than 1, such as 1 to 5. Typically, reference pixel lines are included in the candidate group of reference pixel lines in ascending order of distance. However, this disclosure is not limited to this. For example, when N is 3, the candidate group can include reference pixel lines sequentially, such as <ref_0, ref_1, ref_2>. Candidate groups can also be configured non-sequentially, such as <ref_0, ref_1, ref_3> or <ref_0, ref_2, ref_3>, or a candidate group without a closest reference pixel line can be configured.

可以使用候选组中的参考像素线的全部或部分(一个或更多个)来执行预测。Prediction can be performed using all or part (one or more) of the reference pixel lines in the candidate group.

例如,可以根据编码/解码配置来选择多个参考像素线中的一个,并且可以使用参考像素线来执行帧内预测。替选地,可以选择多个参考像素线中的两个或更多个,并且可以使用所选择的参考像素线来执行帧内预测(例如,通过对参考像素线的数据进行加权平均)。For example, one of a plurality of reference pixel lines can be selected based on the encoding/decoding configuration, and the reference pixel line can be used to perform intra-frame prediction. Alternatively, two or more of the plurality of reference pixel lines can be selected, and the selected reference pixel lines can be used to perform intra-frame prediction (e.g., by weighted averaging of the data from the reference pixel lines).

可以隐式地或显式地选择参考像素线。例如,隐式选择意味着根据由一个或更多个因素(例如,图像类型、颜色分量和块尺寸/形状/位置)组合限定的编码/解码配置来选择参考像素线。显式选择意味着可以在块级别生成参考像素线选择信息。Reference pixel lines can be selected implicitly or explicitly. For example, implicit selection means selecting reference pixel lines based on an encoding/decoding configuration defined by a combination of one or more factors, such as image type, color components, and block size/shape/position. Explicit selection means that reference pixel line selection information can be generated at the block level.

尽管在使用最接近的参考像素线执行帧内预测的上下文中描述了本公开内容,但是应当理解,当使用多个参考像素线时,可以以相同的方式或以类似的方式实现稍后描述的各种实施方式。Although this disclosure is described in the context of performing intra-frame prediction using the nearest reference pixel line, it should be understood that when multiple reference pixel lines are used, various implementations described later can be implemented in the same or similar manner.

例如,可以支持其中考虑单独使用最接近的参考像素线来隐式地确定信息的配置用于如稍后描述的以子块为单位的帧内预测。也就是说,可以使用预设参考像素线基于子块执行帧内预测,并且可以隐式地选择参考像素线。参考像素线可以是,但不限于,最接近的参考像素线。For example, configurations that implicitly determine information by considering the use of the nearest reference pixel line individually can be supported for intra-block prediction as described later. That is, intra-block prediction can be performed using preset reference pixel lines, and the reference pixel lines can be implicitly selected. The reference pixel line can be, but is not limited to, the nearest reference pixel line.

替选地,可以自适应地选择参考像素线用于以子块为单位的帧内预测,并且可以选择包括最接近的参考像素线的各种参考像素线以执行以子块为单位的帧内预测。也就是说,可以使用考虑各种编码/解码因素而确定的参考像素线,基于子块执行帧内预测,并且可以隐式地或显式地选择参考像素线。Alternatively, reference pixel lines can be adaptively selected for intra-block-based prediction, and various reference pixel lines, including the closest reference pixel line, can be selected to perform intra-block-based prediction. In other words, intra-block-based prediction can be performed using reference pixel lines determined considering various encoding/decoding factors, and the reference pixel lines can be selected implicitly or explicitly.

根据本公开内容,用于帧内预测的参考像素配置单元可以包括参考像素生成器、参考像素内插器和参考像素滤波器单元。参考像素配置单元可以包括以上部件的全部或部分。According to this disclosure, a reference pixel configuration unit for intra-frame prediction may include a reference pixel generator, a reference pixel interpolator, and a reference pixel filter unit. The reference pixel configuration unit may include all or some of the above components.

参考像素配置单元可以通过检查其参考像素可用性来区分可用像素和不可用像素。当参考像素满足以下条件中的至少一个时,确定参考像素为不可用。The reference pixel configuration unit can distinguish between available and unavailable pixels by checking the availability of its reference pixels. A reference pixel is determined to be unavailable when it meets at least one of the following conditions.

例如,如果满足以下条件中的至少一个,则可以确定参考像素为不可用:参考像素位于图片边界之外;参考像素不属于与当前块相同的划分单元(例如,不允许相互参考的单元,例如,切片或图块。然而,尽管是切片或图块,允许相互参考的单元是例外);以及参考像素还没有被完全编码/解码。也就是说,如果以上条件都不满足,则可以确定参考像素为可用。For example, a reference pixel can be determined to be unavailable if at least one of the following conditions is met: the reference pixel is located outside the image boundary; the reference pixel does not belong to the same partitioning unit as the current block (e.g., units that do not allow mutual reference, such as slices or tiles. However, units that allow mutual reference are an exception, although slices or tiles are exceptions); and the reference pixel has not yet been fully encoded/decoded. That is, if none of the above conditions are met, the reference pixel can be determined to be available.

参考像素的使用可能受到编码/解码配置的限制。例如,即使根据以上条件确定参考像素为可用,参考像素的使用也可能根据是否执行约束帧内预测(例如,由constrained_intra_pred_flag指示)而受到限制。当出于由于诸如通信环境的外部因素导致的鲁棒编码/解码发生错误的目的而禁止使用通过参考另一图像重建的块时,可以执行受约束的帧内预测。The use of reference pixels may be limited by the encoding/decoding configuration. For example, even if a reference pixel is determined to be available based on the above conditions, its use may be limited depending on whether constrained intra-prediction is performed (e.g., indicated by constrained_intra_pred_flag). Constrained intra-prediction can be performed when blocks reconstructed by referencing another image are prohibited for the purpose of preventing robust encoding/decoding errors due to external factors such as the communication environment.

当受约束的帧内预测被禁用时(例如,对于I图片类型或者P或B图片类型,constrained_intra_pred_flag=0),所有参考像素候选块都可以是可用的。When constrained intra-pred prediction is disabled (e.g., constrained_intra_pred_flag = 0 for I-type or P- or B-type images), all reference pixel candidate blocks can be available.

相反,当受约束的帧内预测被激活时(例如,对于P或B图片类型,constrained_intra_pred_flag=1),可以确定根据编码模式(帧内或帧间)是否使用参考像素候选块。然而,可以根据各种其他编码/解码因素来设置该条件。Conversely, when constrained intra-pred prediction is activated (e.g., constrained_intra_pred_flag = 1 for P or B image types), it can be determined whether to use a reference pixel candidate block based on the coding mode (intra-frame or inter-frame). However, this condition can be set based on various other coding/decoding factors.

由于参考像素在一个或更多个块中,因此参考像素可以根据其参考像素可用性被分类为三种类型:完全可用、部分可用和全部不可用。在除了完全可用之外的其他情况下,可以填充或生成在不可用候选块的位置处的参考像素。Since the reference pixel is in one or more blocks, it can be classified into three types based on its availability: fully available, partially available, and completely unavailable. In cases other than fully available, reference pixels can be filled or generated at the locations of unavailable candidate blocks.

当参考像素候选块可用时,在相应位置的像素可以被包括在对于当前块的参考像素存储器中。像素的像素数据可以按原样复制,或者可以在诸如参考像素滤波和参考像素内插的处理之后包括在参考像素存储器中。相反,当参考像素候选块不可用时,通过参考像素生成处理获得的像素可以被包括在当前块的参考像素存储器中。When a reference pixel candidate block is available, the pixel at the corresponding position can be included in the reference pixel memory for the current block. The pixel data of a pixel can be copied as is, or it can be included in the reference pixel memory after processes such as reference pixel filtering and reference pixel interpolation. Conversely, when a reference pixel candidate block is unavailable, the pixel obtained through the reference pixel generation process can be included in the reference pixel memory for the current block.

下面将描述在各种方法中在不可用块的位置处生成参考像素的示例。The following describes examples of generating reference pixels at the location of unavailable blocks using various methods.

例如,可以使用任意像素值来生成参考像素。任意像素值可以是像素值范围(例如,基于位深度的像素值范围或基于相应图像的像素分布的像素值范围)内的像素值中的一个(例如,像素值范围的最小值、最大值或中值)。具体地,当整个参考像素候选块为不可用时,该示例可以是适用的。For example, a reference pixel can be generated using any pixel value. This arbitrary pixel value can be one of a range of pixel values (e.g., the minimum, maximum, or median of the range) within a range of pixel values (e.g., a range of pixel values based on bit depth or a range of pixel values based on the pixel distribution of the corresponding image). Specifically, this example may be applicable when the entire block of candidate reference pixels is unavailable.

替选地,可以从已经完成图像编码/解码的区域中生成参考像素。具体地,可以从与不可用块相邻的至少一个可用块生成参考像素。可以使用外推、内插或复制中的至少一个来生成参考像素。Alternatively, reference pixels can be generated from regions where image encoding/decoding has been completed. Specifically, reference pixels can be generated from at least one available block adjacent to an unavailable block. At least one of extrapolation, interpolation, or duplication can be used to generate reference pixels.

在参考像素内插器完成配置参考像素之后,参考像素内插器可以通过参考像素之间的线性内插来生成分数参考像素。替选地,可以在稍后描述的参考像素滤波处理之后执行参考像素内插处理。After the reference pixel interpolator completes the configuration of the reference pixels, it can generate fractional reference pixels through linear interpolation between the reference pixels. Alternatively, the reference pixel interpolation process can be performed after the reference pixel filtering process described later.

在水平模式、垂直模式和一些对角线模式(例如,与垂直/水平线成45度的模式,例如与图5中的模式2、34和66相对应的右上对角线、右下对角线和左下对角线模式)、非定向模式、颜色复制模式等中不执行内插。在其他模式(其他对角线模式)中,可以执行内插处理。Interpolation is not performed in horizontal mode, vertical mode, and some diagonal modes (e.g., modes at 45 degrees to the vertical/horizontal lines, such as the upper right diagonal, lower right diagonal, and lower left diagonal modes corresponding to modes 2, 34, and 66 in Figure 5), non-directional mode, color copy mode, etc. Interpolation can be performed in other modes (other diagonal modes).

根据预测模式(例如,预测模式的方向性、dy/dx等)以及参考像素和预测像素的位置,可以确定要被内插的像素的位置(即,要被内插的分数单位,范围从1/2至1/64)。在这种情况下,可以应用一个滤波器(例如,在用于确定滤波器系数或滤波器抽头的长度的等式中假设相同的滤波器,但是假设仅根据分数精度例如1/32、7/32或19/32来调整系数的滤波器),或者可以根据分数单位来选择并应用多个滤波器(例如,假设使用不同等式来确定滤波器系数或滤波器抽头的长度的滤波器)中的一个。Based on the prediction pattern (e.g., the directionality of the prediction pattern, dy/dx, etc.) and the positions of the reference and predicted pixels, the position of the pixel to be interpolated (i.e., the fractional unit to be interpolated, ranging from 1/2 to 1/64) can be determined. In this case, a filter can be applied (e.g., assuming the same filter in the equation used to determine the filter coefficients or filter tap length, but assuming a filter whose coefficients are adjusted only according to fractional precision such as 1/32, 7/32, or 19/32), or one of multiple filters can be selected and applied based on the fractional unit (e.g., assuming filters using different equations to determine the filter coefficients or filter tap length).

在前一种情况下,整数像素可以用作分数像素内插的输入,而在后一种情况下,输入像素在每个步骤中是不同的(例如,整数像素用于1/2单位,整数像素和1/2单位像素用于1/4单位)。然而,本公开内容不限于此,并且将在前一种情况的上下文中进行描述。In the former case, integer pixels can be used as input for fractional pixel interpolation, while in the latter case, the input pixels are different in each step (e.g., integer pixels for 1/2 units, and integer pixels and 1/2 unit pixels for 1/4 units). However, this disclosure is not limited thereto and will be described in the context of the former case.

可以对参考像素内插执行固定滤波或自适应滤波。固定滤波或自适应滤波可以根据编码/解码配置(例如,图像类型、颜色分量、块位置/尺寸/形状、块的宽-高比和预测模式中的一个或更多个)来确定。Fixed or adaptive filtering can be performed on the reference pixels during interpolation. The choice between fixed or adaptive filtering can be determined based on the encoding/decoding configuration (e.g., image type, color components, block position/size/shape, block aspect ratio, and prediction mode, one or more).

在固定滤波中,可以使用一个滤波器执行参考像素内插,而在自适应滤波中,可以使用多个滤波器中的一个来使用参考像素内插。In fixed filtering, a single filter can be used to perform reference pixel interpolation, while in adaptive filtering, one of multiple filters can be used to perform reference pixel interpolation.

在自适应滤波中,可以根据编码/解码配置隐式地或显式地确定多个滤波器中的一个。滤波器可以包括4抽头DCT-IF滤波器、4抽头三次滤波器、4抽头高斯滤波器、6抽头维纳滤波器和8抽头卡尔曼滤波器。可以根据颜色分量不同地定义所支持的滤波器候选组(例如,滤波器的类型部分相同或不同,并且滤波器抽头的长度为短或长)。In adaptive filtering, one of several filters can be implicitly or explicitly determined based on the encoding/decoding configuration. Filters can include 4-tap DCT-IF filters, 4-tap cubic filters, 4-tap Gaussian filters, 6-tap Wiener filters, and 8-tap Kalman filters. Supported filter candidate groups can be defined differently based on the color components (e.g., filters of the same or different types, and filter tap lengths that are short or long).

由于参考像素滤波器单元减少了编码/解码处理中的剩余劣化,因此出于提高预测精度的目的可以对参考像素执行滤波。所使用的滤波器可以是但不限于低通滤波器。可以确定是否根据编码/解码配置(可从前面的描述中导出)来应用滤波。此外,当应用滤波时,可以使用固定滤波或自适应滤波。Since the reference pixel filter unit reduces residual degradation in the encoding/decoding process, filtering can be performed on the reference pixel to improve prediction accuracy. The filter used can be, but is not limited to, a low-pass filter. It can be determined whether filtering is applied based on the encoding/decoding configuration (derived from the preceding description). Furthermore, when applying filtering, fixed filtering or adaptive filtering can be used.

固定滤波意味着不进行参考像素滤波或者使用一个滤波器来应用参考像素滤波。自适应滤波意味着根据编码/解码配置来确定是否应用滤波,并且当支持两种或更多种滤波器类型时,可以选择滤波器类型中的一个。Fixed filtering means either no reference pixel filtering or using a single filter to apply reference pixel filtering. Adaptive filtering means determining whether to apply filtering based on the encoding/decoding configuration, and when two or more filter types are supported, one of the filter types can be selected.

对于滤波器类型,可以支持通过滤波器系数、滤波器抽头长度等彼此区分的多个滤波器,例如,[1,2,1]/4的3抽头滤波器和[2,3,6,3,2]/16的5抽头滤波器。For filter types, multiple filters that can be distinguished from each other by filter coefficients, filter tap lengths, etc., can be supported, such as a 3-tap filter of [1, 2, 1]/4 and a 5-tap filter of [2, 3, 6, 3, 2]/16.

关于参考像素配置步骤描述的参考像素内插器和参考像素滤波器单元可以是提高预测精度所需的部件。这两个处理可以独立地或组合地(即,在一个滤波中)执行。The reference pixel interpolator and reference pixel filter unit described in the reference pixel configuration steps can be components needed to improve prediction accuracy. These two processes can be performed independently or in combination (i.e., within a single filter).

预测块生成器可以以至少一种预测模式生成预测块,并且可以基于预测模式来使用参考像素。可以在诸如外插的方法(定向模式)或诸如内插、平均(DC)或复制的方法(非定向模式)中使用参考像素。The prediction block generator can generate prediction blocks in at least one prediction mode and can use reference pixels based on the prediction mode. Reference pixels can be used in methods such as extrapolation (directional mode) or methods such as interpolation, averaging (DC), or replication (non-directional mode).

预测模式决定单元执行从多个预测模式候补组中选择最佳模式的处理。通常,可以使用其中考虑了块失真(例如,当前块和重建块的失真、绝对差的和(SAD)以及平方差的和(SSD))和根据该模式生成的比特的数量的率失真方案,根据编码成本来确定最佳模式。基于在以上处理中确定的预测模式而生成的预测块可以被发送至减法单元和加法单元。The prediction mode determination unit performs the process of selecting the best mode from a group of multiple prediction mode candidates. Typically, a rate-distortion scheme that takes into account block distortion (e.g., distortion of the current block and the reconstructed block, sum of absolute differences (SAD), and sum of squared differences (SSD)) and the number of bits generated according to the mode can be used to determine the best mode based on the coding cost. The predicted block generated based on the prediction mode determined in the above process can be sent to the subtraction unit and the addition unit.

可以搜索预测模式候选组的所有预测模式以便确定最佳预测模式,或者可以在不同决策过程中选择最佳预测模式以减少计算量/复杂度。例如,在第一步骤中,从所有帧内预测模式候选中选择在图像质量劣化方面具有良好性能的一些模式,并且在第二步骤中,可以考虑所生成的比特的数量以及在第一步骤中选择的模式的图像质量劣化来选择最佳预测模式。除了这种方法之外,可以应用以降低的计算量/复杂度确定最佳预测模式的各种其他方法。All prediction modes in the candidate prediction mode group can be searched to determine the optimal prediction mode, or the optimal prediction mode can be selected in different decision processes to reduce computational cost/complexity. For example, in the first step, some modes with good performance in terms of image quality degradation can be selected from all intra-frame prediction mode candidates, and in the second step, the number of generated bits and the image quality degradation of the mode selected in the first step can be considered to select the optimal prediction mode. Besides this approach, various other methods can be applied to determine the optimal prediction mode with reduced computational cost/complexity.

此外,尽管预测模式决定单元通常可以仅包括在编码器中,但是例如当包括模板匹配作为预测方法或者从与当前块相邻的区域导出帧内预测模式时,根据编码/解码配置,预测模式决定单元也可以包括在解码器中。在后一种情况下,可以理解,使用了在解码器中隐式地获得预测模式的方法。Furthermore, although the prediction mode determination unit can typically be included only in the encoder, it can also be included in the decoder, depending on the encoding/decoding configuration, for example, when template matching is included as the prediction method or when the intra-prediction mode is derived from a region adjacent to the current block. In the latter case, it can be understood that a method of implicitly obtaining the prediction mode in the decoder is used.

预测模式编码器可以对由预测模式决定单元选择的预测模式进行编码。可以对关于预测模式候选组中的预测模式的索引的信息进行编码,或者可以对预测模式进行预测并且可以对关于预测模式的信息进行编码。前一种方法可以应用于亮度分量但不限于亮度分量,而后一种方法可以应用于色度分量但不限于色度分量。The predictive mode encoder can encode the predictive mode selected by the predictive mode determination unit. It can encode information about the index of the predictive mode in the predictive mode candidate group, or it can predict the predictive mode and encode information about the predictive mode. The former method can be applied to, but is not limited to, the luma component, while the latter method can be applied to, but is not limited to, the chromaticity component.

当对预测模式进行预测且然后编码时,预测模式的预测值(或预测信息)可以被称作最可能模式(MPM)。MPM可以包括一个或更多个预测模式。MPM的数量k可以根据预测模式候选组的数量来确定(k为等于或大于1的整数,例如,1、2、3或6)。当存在多个预测模式作为MPM时,可以将其称为MPM候选组。When a prediction pattern is predicted and then encoded, the predicted value (or prediction information) of the prediction pattern can be called the most probable pattern (MPM). An MPM can include one or more prediction patterns. The number of MPMs, k, can be determined based on the number of prediction pattern candidate groups (k is an integer equal to or greater than 1, such as 1, 2, 3, or 6). When multiple prediction patterns exist as MPMs, they can be called MPM candidate groups.

可以在固定配置下支持MPM候选组,或者在根据各种编码/解码因素的自适应配置下支持MPM候选组。在自适应配置的示例中,可以根据在多个参考像素层之中使用哪个参考像素层以及是在块级还是在子块级执行帧内预测来确定候选组配置。为了便于描述,假设在一个配置下配置MPM候选组,并且应当理解,不仅MPM候选组而且其他帧内预测候选组都可以被自适应地配置。MPM candidate groups can be supported in a fixed configuration or in an adaptive configuration based on various encoding/decoding factors. In the example of the adaptive configuration, the candidate group configuration can be determined based on which reference pixel layer is used among multiple reference pixel layers and whether intra-prediction is performed at the block level or sub-block level. For ease of description, it is assumed that MPM candidate groups are configured in one configuration, and it should be understood that not only MPM candidate groups but also other intra-prediction candidate groups can be adaptively configured.

MPM是被支持以有效地对预测模式进行编码的概念,并且候选组可以被配置有实际上被用作当前块的预测模式的概率高的预测模式。MPM is a concept that supports the efficient encoding of prediction patterns, and candidate groups can be configured with prediction patterns that have a high probability of being used as the prediction pattern for the current block.

例如,MPM候选组可以包括预设预测模式(或统计上频繁的预测模式、DC模式、平面模式、垂直模式、水平模式或一些对角线模式)和相邻块(左块、上块、左上块、右上块、左下块等)的预测模式。相邻块的预测模式可以从图7中的L0至L3(左块)、T0至T3(上块)、TL(左上块)、R0至R3(右上块)以及B0至B3(左下块)获得。For example, MPM candidate groups may include preset prediction patterns (or statistically frequent prediction patterns, DC patterns, planar patterns, vertical patterns, horizontal patterns, or some diagonal patterns) and prediction patterns of adjacent blocks (left block, top block, top-left block, top-right block, bottom-left block, etc.). The prediction patterns of adjacent blocks can be obtained from L0 to L3 (left block), T0 to T3 (top block), TL (top-left block), R0 to R3 (top-right block), and B0 to B3 (bottom-left block) in Figure 7.

如果MPM候选组可以由相邻块(例如,左块)中的两个或更多个子块位置(例如,L0和L2)形成,那么可以根据预定义优先级(例如,L0—L1—L2)在候选组中配置对应块的预测模式。替选地,当无法从两个或更多个子块位置配置MPM候选组时,可以在候选组中配置预定义位置(例如,L0)处的子块的预测模式。具体地,在相邻块中位置L3、T3、TL、R0和B0处的预测模式可以被选择作为相邻块的预测模式,并且被包括在MPM候选组中。以上描述是针对其中在候选组中配置了相邻块的预测模式的情况,其不应被理解为限制本公开内容。在以下的示例中,假设在候选组中配置了预定位置处的预测模式。If an MPM candidate group can be formed from two or more sub-block positions (e.g., L0 and L2) in adjacent blocks (e.g., the left block), then the prediction modes of the corresponding blocks can be configured in the candidate group according to a predefined priority (e.g., L0-L1-L2). Alternatively, when an MPM candidate group cannot be configured from two or more sub-block positions, the prediction mode of the sub-block at a predefined position (e.g., L0) can be configured in the candidate group. Specifically, the prediction modes at positions L3, T3, TL, R0, and B0 in adjacent blocks can be selected as the prediction modes of adjacent blocks and included in the MPM candidate group. The above description pertains to the case where the prediction modes of adjacent blocks are configured in the candidate group and should not be construed as limiting the scope of this disclosure. In the following examples, it is assumed that the prediction modes at predetermined positions are configured in the candidate group.

当一个或更多个预测模式被包括在MPM候选组中时,从先前包括的一个或更多个预测模式导出的模式可以被另外配置在MPM候选组中。具体地,当第k模式(定向模式)包括在MPM候选组中时,从该模式导出的模式(与第k模式间隔+a或-b的距离的模式,其中a和b中的每一个是等于或大于1的整数,例如,1、2或3)可以被另外包括在MPM候选组中。When one or more prediction patterns are included in the MPM candidate group, patterns derived from the previously included prediction patterns can be additionally included in the MPM candidate group. Specifically, when the k-th pattern (directional pattern) is included in the MPM candidate group, patterns derived from that pattern (patterns at a distance of +a or -b from the k-th pattern, where each of a and b is an integer equal to or greater than 1, such as 1, 2, or 3) can be additionally included in the MPM candidate group.

可以对模式进行优先级以用于配置MPM候选组。MPM候选组可以被配置成包括以相邻块的预测模式、预设预测模式和导出预测模式的顺序的预测模式。配置MPM候选组的处理可以通过根据优先级填充最大数量的MPM候选来完成。在以上处理中,如果预测模式与先前包括的预测模式相同,则预测模式可以不包括在MPM候选组中,并且可以取下一优先级候选并经受冗余检查。Patterns can be prioritized for configuring MPM candidate groups. MPM candidate groups can be configured to include prediction patterns in the order of adjacent block prediction patterns, preset prediction patterns, and derived prediction patterns. Configuring MPM candidate groups can be accomplished by filling the maximum number of MPM candidates according to priority. In the above process, if a prediction pattern is the same as a previously included prediction pattern, that prediction pattern may not be included in the MPM candidate group, and a next-priority candidate can be selected and subjected to redundancy checks.

在MPM候选组包括6个预测模式的假设下给出下面的描述。The following description is given under the assumption that the MPM candidate group includes 6 prediction modes.

例如,MPM候选组可以以L-T-TL-TR-BL-平面-DC-垂直-水平-对角线的顺序形成。相邻块的预测模式可以以优先级包括在MPM候选组中,然后在这种情况下可以另外配置预设预测模式。For example, MPM candidate groups can be formed in the order of L-T-TL-TR-BL-planar-DC-vertical-horizontal-diagonal. Prediction patterns of adjacent blocks can be included in the MPM candidate groups according to priority, and then preset prediction patterns can be configured separately in this case.

替选地,MPM候选组可以以L-T-平面-DC-<L+1>-<L-1>-<T+1>-<T-1>-垂直-水平-对角线的顺序形成。在这种情况下,可以以优先级包括一些相邻块的预测模式和一些预设预测模式,并且可以另外包括基于将生成与相邻块的预测模式类似的方向上的预测模式的假设而导出的模式和一些预设预测模式。Alternatively, MPM candidate groups can be formed in the order of L-T-plane-DC-<L+1>-<L-1>-<T+1>-<T-1>-vertical-horizontal-diagonal. In this case, the prediction patterns of some neighboring blocks and some preset prediction patterns can be included in priority, and additionally, patterns derived based on the assumption that prediction patterns in directions similar to those of neighboring blocks will be generated, as well as some preset prediction patterns, can be included.

以上示例仅仅是MPM候选组配置的一部分。本公开内容不限于此,并且各种修改例可以是可用的。The examples above are only a part of the MPM candidate group configuration. This disclosure is not limited to this, and various modifications may be available.

MPM候选组可以基于候选组内的索引通过诸如一元二值化或截断莱斯二值化的二值化来表示。也就是说,可以将短位分配给具有小索引的候选,并且可以将长位分配给具有大索引的候选,以表示模式位。MPM candidate groups can be represented based on indices within the candidate group using binarization such as unary binarization or truncated Ricean binarization. That is, short bits can be assigned to candidates with small indices, and long bits can be assigned to candidates with large indices to represent the pattern bits.

未包括在MPM候选组中的模式可以被分类为非MPM候选组。可以根据编码/解码配置来定义两个或更多个非MPM候选组。Patterns not included in the MPM candidate group can be classified as non-MPM candidate groups. Two or more non-MPM candidate groups can be defined based on the encoding/decoding configuration.

以下描述是在以下假设下给出的:预测模式候选组中包括67种模式包括定向模式和非定向模式,支持6个MPM候选,并且因此非MPM候选组包括61个预测模式。The following description is given under the following assumptions: the prediction mode candidate group includes 67 modes, including directed and non-directed modes, supporting 6 MPM candidates, and therefore the non-MPM candidate group includes 61 prediction modes.

如果配置了一个非MPM候选组,则这意味着存在未包括在MPM候选组中的其余预测模式,并且因此不需要附加的候选组配置处理。因此,可以基于非MPM候选组内的索引来使用诸如固定长度二值化和截断一元二值化的二值化。If a non-MPM candidate group is configured, it means that there are other predicted patterns that are not included in the MPM candidate group, and therefore no additional candidate group configuration processing is required. Therefore, binarization such as fixed-length binarization and truncated univariate binarization can be used based on the index within the non-MPM candidate group.

假设配置了两个或更多个非MPM候选组,则非MPM候选组被分类为非MPM_A(候选组A)和非MPM_B(候选组B)。假设候选组A(p个候选,其中p等于或大于MPM候选的数量)包括具有比候选组B(q个候选,其中q等于或大于候选组A中的候选的数量)更高的成为当前块的预测模式的概率的预测模式。在本文中,可以添加配置候选组A的处理。Assuming two or more non-MPM candidate groups are configured, these non-MPM candidate groups are classified as non-MPM_A (candidate group A) and non-MPM_B (candidate group B). Assume that candidate group A (p candidates, where p equals or greater than the number of MPM candidates) includes prediction patterns with a higher probability of becoming the prediction pattern for the current block than candidate group B (q candidates, where q equals or greater than the number of candidates in candidate group A). In this paper, processing for configuring candidate group A can be added.

例如,在定向模式中的一些等距预测模式(例如,模式2、4和6)可以被包括在候选组A中,或者预设预测模式(例如,从包括在MPM候选组中的预测模式导出的模式)可以被包括在候选组A中。MPM候选组配置和候选组A配置之后的其余预测模式可以形成候选组B,并且不需要附加的候选组配置处理。可以基于候选组A和候选组B中的索引来使用诸如固定长度二值化和截断一元二值化的二值化。For example, some isometric prediction patterns in the directional pattern (e.g., patterns 2, 4, and 6) can be included in candidate group A, or preset prediction patterns (e.g., patterns derived from prediction patterns included in the MPM candidate group) can be included in candidate group A. The remaining prediction patterns after the MPM candidate group configuration and candidate group A configuration can form candidate group B without additional candidate group configuration processing. Binarization such as fixed-length binarization and truncated univariate binarization can be used based on the indices in candidate group A and candidate group B.

以上示例是其中形成两个或更多个非MPM候选组的情况的一部分。本公开内容不限于此,并且各种修改例可以是可用的。The above example is one example of a scenario where two or more non-MPM candidate groups are formed. This disclosure is not limited to this, and various modifications may be available.

下面将描述对预测模式进行预测和编码的处理。The following describes the process of predicting and encoding the prediction pattern.

可以检查指示当前块的预测模式是否与MPM(或MPM候选组中的模式)一致的信息(mpm_flag)。You can check information (mpm_flag) indicating whether the prediction mode of the current block is consistent with the MPM (or the mode in the MPM candidate group).

在当前块的预测模式与MPM匹配时,可以根据MPM配置(一个或更多个配置)来附加地检查MPM索引信息(mpm_idx)。然后,完成当前块的编码处理。When the prediction mode of the current block matches the MPM, the MPM index information (mpm_idx) can be additionally checked according to the MPM configuration (one or more configurations). Then, the encoding process of the current block is completed.

在当前块的预测模式与任何MPM都不匹配时,如果存在一个配置的非MPM候选组,则可以检查非MPM索引信息(remaining_idx)。然后,完成当前块的编码处理。If the prediction pattern of the current block does not match any MPM, the non-MPM index information (remaining_idx) can be checked if a configured non-MPM candidate group exists. Then, the encoding process of the current block is completed.

如果配置了多个非MPM候选组(在该示例中为两个),则可以检查指示当前块的预测模式是否与候选组A中的任意预测模式一致的信息(non_mpm_flag)。If multiple non-MPM candidate groups are configured (two in this example), you can check information indicating whether the prediction mode of the current block is consistent with any prediction mode in candidate group A (non_mpm_flag).

如果当前块的预测模式与候选组A中的任意候选匹配,则可以检查关于候选组A的索引信息(non_mpm_A_idx),而如果当前块的预测模式与候选组A中的任何候选都不匹配,则可以检查候选B索引信息(remaining_idx)。然后,完成当前块的编码处理。If the prediction pattern of the current block matches any candidate in candidate group A, the index information about candidate group A (non_mpm_A_idx) can be checked; if the prediction pattern of the current block does not match any candidate in candidate group A, the index information of candidate B (remaining_idx) can be checked. Then, the encoding process of the current block is completed.

当预测模式候选组配置固定时,由当前块支持的预测模式、由相邻块支持的预测模式和预设预测模式可以使用相同的预测编号索引。When the candidate group configuration for prediction modes is fixed, the prediction modes supported by the current block, the prediction modes supported by adjacent blocks, and the preset prediction modes can use the same prediction number index.

当预测模式候选组配置是自适应的时,由当前块支持的预测模式、由相邻块支持的预测模式和预设预测模式可以使用相同的预测编号索引或不同的预测编号索引。参照图5,给出了以下描述。When the prediction pattern candidate group configuration is adaptive, the prediction pattern supported by the current block, the prediction pattern supported by adjacent blocks, and the preset prediction pattern can use the same prediction number index or different prediction number indices. Referring to Figure 5, the following description is given.

在预测模式编码处理中,可以执行对预测模式候选组进行统一(或调整)以配置MPM候选组等的处理。例如,当前块的预测模式可以是具有模式-5至模式61的预测模式候选组中的一个预测模式,并且相邻块的预测模式可以是具有模式2至模式66的候选组中的一个预测模式。在这种情况下,由于可能不支持将相邻块的预测模式的一部分(模式66)用作当前块的预测模式,因此可以执行在预测模式编码处理中对预测模式进行统一的处理。也就是说,当支持固定帧内预测模式候选组配置时,可能不需要该处理,并且当支持自适应帧内预测模式候选组配置时,可能需要该处理,本文将不对其进行详细描述。In prediction mode coding processing, processes such as unifying (or adjusting) prediction mode candidate groups to configure MPM candidate groups can be performed. For example, the prediction mode of the current block can be one of the prediction mode candidate groups with modes -5 to 61, and the prediction modes of adjacent blocks can be one of the prediction modes with modes 2 to 66. In this case, since it may not be supported to use a portion of the prediction modes of adjacent blocks (mode 66) as the prediction mode of the current block, the process of unifying the prediction modes can be performed in the prediction mode coding process. That is, this process may not be needed when a fixed intra-frame prediction mode candidate group configuration is supported, but it may be needed when an adaptive intra-frame prediction mode candidate group configuration is supported, which will not be described in detail here.

与基于MPM的方法不同,可以通过将索引分配给预测模式候选组的预测模式来执行编码。Unlike MPM-based methods, encoding can be performed by assigning an index to a prediction pattern candidate group.

例如,根据预测模式的预定义优先级对预测模式进行索引。当选择预测模式作为当前块的预测模式时,对所选择的预测模式的索引进行编码。这意指配置固定预测模式候选组并且将固定索引分配给预测模式的情况。For example, prediction patterns are indexed according to a predefined priority. When a prediction pattern is selected as the prediction pattern for the current block, the index of the selected prediction pattern is encoded. This refers to configuring a fixed group of prediction pattern candidates and assigning fixed indexes to prediction patterns.

替选地,当适应性地配置预测模式候选组时,固定索引分配方法可能是不适合的。因此,可以根据自适应优先级对预测模式进行索引。当选择预测模式作为当前块的预测模式时,可以对所选择的预测模式进行编码。该方法因为由于预测模式候选组的自适应配置而改变分配给预测模式的索引从而使得能够实现预测模式的有效编码。也就是说,自适应优先级可以旨在将具有被选择为当前块的预测模式的高概率的候选分配给其中生成短模式位的索引。Alternatively, a fixed index allocation method may be unsuitable when adaptively configuring prediction mode candidate groups. Therefore, prediction modes can be indexed according to adaptive priority. When a prediction mode is selected as the prediction mode for the current block, the selected prediction mode can be encoded. This method enables efficient encoding of prediction modes because it changes the index assigned to the prediction mode due to the adaptive configuration of the prediction mode candidate group. In other words, adaptive priority can aim to assign candidates with a high probability of being selected as the prediction mode for the current block to the index in which short mode bits are generated.

以下描述基于以下假设:在预测模式候选组中(色度成分的情况),支持包括预设预测模式(定向模式和非定向模式)、颜色复制模式和颜色模式的8个预测模式。The following description is based on the following assumption: In the prediction mode candidate group (in the case of chromaticity component), eight prediction modes are supported, including preset prediction modes (directional and non-directional modes), color replication mode, and color mode.

例如,假设支持平面模式、DC模式、水平模式、垂直模式和对角线模式(在该示例中为左下对角线)中的预设四种模式、一种颜色模式C和三种颜色复制模式CP1、CP2和CP3。预测模式可以基本上以预设预测模式、颜色复制模式和颜色模式的顺序被索引。For example, suppose we support four preset modes: planar mode, DC mode, horizontal mode, vertical mode, and diagonal mode (bottom left diagonal in this example), one color mode C, and three color replication modes CP1, CP2, and CP3. Prediction modes can be indexed in the order of preset prediction mode, color replication mode, and color mode.

在这种情况下,作为定向模式和非定向模式的预设预测模式以及颜色复制模式是通过预测方法区分的预测模式,并且因此可以容易地识别。然而,颜色模式可以是定向模式或非定向模式,其可能与预设预测模式交叠。例如,当颜色模式是垂直模式时,颜色模式可以与作为预设预测模式中之一的垂直模式交叠。In this case, the preset prediction modes, which are directional and non-directional modes, and the color replication mode are prediction modes distinguished by the prediction method and are therefore easily identifiable. However, the color mode can be either a directional or non-directional mode, which may overlap with the preset prediction modes. For example, when the color mode is a vertical mode, the color mode may overlap with the vertical mode, which is one of the preset prediction modes.

在根据编码/解码配置自适应地调整预测模式候选的数量的情况下,当存在冗余的情况时,可以调整候选的数量(8->7)。替选地,在预测模式候选的数量保持固定的情况下,当存在冗余预测模式时,可以通过添加和考虑另一候选来分配索引。此外,即使当包括诸如颜色模式的可变模式时,也可以支持自适应预测模式候选组。因此,自适应索引分配情况可以被视为配置自适应预测模式候选组的示例。When the number of prediction mode candidates is adaptively adjusted according to the encoding/decoding configuration, the number of candidates can be adjusted (8 -> 7) when redundancy exists. Alternatively, when the number of prediction mode candidates remains fixed, the index can be allocated by adding and considering another candidate when redundant prediction modes exist. Furthermore, adaptive prediction mode candidate groups can be supported even when variable modes such as color modes are included. Therefore, the adaptive index allocation case can be regarded as an example of configuring adaptive prediction mode candidate groups.

现在,将给出根据颜色模式的自适应索引分配的描述。假设基本上以平面(0)-垂直(1)-水平(2)-DC(3)-CP1(4)-CP2(5)-CP3(6)-C(7)的顺序分配索引。此外,如果颜色模式与任何预设预测模式都不匹配,则假设按上述顺序执行索引分配。Now, a description of adaptive index allocation based on color mode will be given. It is assumed that the indexes are allocated in the order of plane (0)-vertical (1)-horizontal (2)-DC (3)-CP1 (4)-CP2 (5)-CP3 (6)-C (7). Furthermore, if the color mode does not match any preset prediction mode, it is assumed that the index allocation is performed in the above order.

例如,如果颜色模式与预设预测模式(平面模式、垂直模式、水平模式和DC模式)中之一匹配,则填充与颜色模式的索引7匹配的预测模式。在匹配预测模式的索引(0至3中的一个)处填充预设预测模式(左下对角线)。具体地,当颜色模式是水平模式时,可以以平面(0)-垂直(1)-左下对角线(2)-DC(3)-CP1(4)-CP2(5)-CP3(6)-水平(7)的顺序来分配索引。For example, if the color mode matches one of the preset prediction modes (planar mode, vertical mode, horizontal mode, and DC mode), the prediction mode that matches index 7 of the color mode is filled. The preset prediction mode (bottom left diagonal) is filled at the index (one of 0 to 3) that matches the prediction mode. Specifically, when the color mode is horizontal, the indices can be assigned in the order of planar (0) - vertical (1) - bottom left diagonal (2) - DC (3) - CP1 (4) - CP2 (5) - CP3 (6) - horizontal (7).

替选地,当颜色模式与预设预测模式中之一匹配时,在索引0处填充匹配预测模式,并且在颜色模式的索引7处填充预设预测模式(左下对角线)。在这种情况下,如果填充的预测模式不是现有索引0(即,其不是平面模式),则可以调整现有索引配置。具体地,当颜色模式是DC模式时,可以以DC(0)-平面(1)-垂直(2)-水平(3)-CP1(4)-CP2(5)-CP3(6)-左下对角线(7)的顺序分配索引。Alternatively, when the color mode matches one of the preset prediction modes, the matching prediction mode is filled at index 0, and the preset prediction mode (lower left diagonal) is filled at index 7 of the color mode. In this case, if the filled prediction mode is not the existing index 0 (i.e., it is not a planar mode), the existing index configuration can be adjusted. Specifically, when the color mode is a DC mode, the indices can be assigned in the order of DC(0)-planar(1)-vertical(2)-horizontal(3)-CP1(4)-CP2(5)-CP3(6)-lower left diagonal(7).

以上示例仅仅是自适应索引分配的一部分。本公开内容不限于此,并且各种修改例可以是可用的。此外,可以基于候选组中的索引使用诸如固定长度二值化、一元二值化、截断一元二值化和截断莱斯二值化的二值化。The examples above are only a part of adaptive index allocation. This disclosure is not limited to this, and various modifications may be available. Furthermore, binarization such as fixed-length binarization, univariate binarization, truncated univariate binarization, and truncated Ricean binarization can be used based on the indexes in the candidate group.

将描述通过将索引分配给属于预测模式候选组的预测模式来执行编码的另一示例。Another example of performing encoding by assigning an index to a prediction pattern that belongs to a prediction pattern candidate group will be described.

例如,将预测模式和预测方法分类为多个预测模式候选组,并且将索引分配给属于相应候选组的预测模式,并且然后进行编码。在这种情况下,候选组选择信息的编码可以在索引编码之前。例如,作为在相同颜色空间中执行预测的预测模式的定向模式、非定向模式和颜色模式可以属于一个候选组(称为候选组S),并且作为在不同颜色空间中执行预测的预测模式的颜色复制模式可以属于另一候选组(称为候选组D)。For example, prediction modes and prediction methods are classified into multiple candidate groups, and indices are assigned to prediction modes belonging to the corresponding candidate groups, followed by encoding. In this case, the encoding of candidate group selection information can precede index encoding. For example, directional modes, non-directional modes, and color modes, which perform predictions in the same color space, can belong to one candidate group (called candidate group S), and color copy modes, which perform predictions in different color spaces, can belong to another candidate group (called candidate group D).

以下描述基于以下假设:在预测模式候选组中(色度分量的情况),支持包括预设预测模式、颜色复制模式、颜色模式的9个预测模式。The following description is based on the following assumption: In the prediction mode candidate group (in the case of chromaticity component), nine prediction modes are supported, including the preset prediction mode, color replication mode, and color mode.

例如,假设在平面模式、DC模式、水平模式、垂直模式和对角线模式中支持四个预设预测模式,支持一个颜色模式C以及四个颜色复制模式CP1、CP2、CP3和CP4。候选组S可以包括作为预设预测模式和颜色模式的5个候选,并且候选组D可以包括作为颜色复制模式的4个候选。For example, suppose four preset prediction modes are supported in planar mode, DC mode, horizontal mode, vertical mode, and diagonal mode, one color mode C, and four color replication modes CP1, CP2, CP3, and CP4. Candidate group S may include five candidates as preset prediction modes and color modes, and candidate group D may include four candidates as color replication modes.

候选组S为自适应配置预测模式候选组的示例。已经在上面描述了自适应索引分配的示例,因此在本文中将不详细描述。由于候选组D是固定预测模式候选组的示例,因此可以使用固定索引分配方法。例如,索引可以以CP1(0)-CP2(1)-CP3(2)-CP4(3)的顺序分配。Candidate group S is an example of an adaptive configuration prediction pattern candidate group. An example of adaptive index allocation has already been described above, so it will not be described in detail here. Since candidate group D is an example of a fixed prediction pattern candidate group, a fixed index allocation method can be used. For example, the indexes can be allocated in the order CP1(0)-CP2(1)-CP3(2)-CP4(3).

可以基于候选组内的索引使用诸如固定长度二值化、一元二值化、截断一元二值化和截断莱斯二值化的二值化。本公开内容不限于上述示例,并且各种修改例也可以是可用的。Binarization techniques such as fixed-length binarization, univariate binarization, truncated univariate binarization, and truncated Ricean binarization can be used based on indices within candidate groups. This disclosure is not limited to the examples above, and various modifications may also be available.

可以在块级配置用于预测模式编码的候选组,例如MPM候选组。替选地,可以省略配置候选组的处理,并且可以使用预定候选组或以各种方法获得的候选组。这可以是出于降低复杂度的目的而支持的配置。Candidate groups for predictive pattern encoding, such as MPM candidate groups, can be configured at the block level. Alternatively, the process of configuring candidate groups can be omitted, and predefined candidate groups or candidate groups obtained by various methods can be used. This can be a configuration supported for the purpose of reducing complexity.

在示例1中,可以使用一个预定义候选组,或者可以根据编码/解码配置使用多个预定义候选组中的一个。例如,在MPM候选组的情况下,可以使用例如平面-DC-垂直-水平-左下对角线(图5中的66)-右下对角线(图5中的34}的预定的候选组。替选地,可以应用MPM候选组配置中的当相邻块都不可用时配置的候选组。In Example 1, a predefined candidate group can be used, or one of multiple predefined candidate groups can be used depending on the encoding/decoding configuration. For example, in the case of MPM candidate groups, a predetermined candidate group such as {planar-DC-vertical-horizontal-lower left diagonal (66 in Figure 5)-lower right diagonal (34 in Figure 5)} can be used. Alternatively, a candidate group configured in the MPM candidate group configuration when adjacent blocks are unavailable can be applied.

在示例2中,可以使用对于已经被完全编码的块的候选组。可以基于编码顺序(预定扫描方案,例如,z扫描、垂直扫描、水平扫描等),或者从与当前块相邻的块(例如,左块、上块、左上块、右上块和左下块)选择编码块。然而,相邻块可以限于在可以与当前块相互参考的划分单元(例如,即使这些块属于不同的切片或图块例如属于同一个图块组的不同图块,也具有可以对其进行参考的属性的划分单元)的位置处的块。如果相邻块属于不允许参考的划分单元(例如,当每个块属于不同的切片或图块并且具有可能无法相互参考的属性时,例如,当每个块属于不同的块组时),则该位置处的块可能会被排除在候选之外。In Example 2, a candidate group for blocks that have already been fully encoded can be used. Encoding blocks can be selected based on the encoding order (a predetermined scanning scheme, e.g., z-scan, vertical scan, horizontal scan, etc.) or from blocks adjacent to the current block (e.g., left block, top block, top-left block, top-right block, and bottom-left block). However, adjacent blocks can be limited to blocks located in partition units that can be referenced to the current block (e.g., partition units with attributes that can be referenced even if these blocks belong to different slices or tiles, such as different tiles belonging to the same tile group). If adjacent blocks belong to partition units that do not allow reference (e.g., when each block belongs to a different slice or tile and has attributes that may prevent mutual reference, e.g., when each block belongs to a different block group), the block at that location may be excluded from the candidates.

在这种情况下,可以根据当前块的状态来确定相邻块。例如,在当前块为正方形时,可以从根据预定第一优先级定位的块中借用(或共享)可用块的候选组。替选地,在当前块为矩形时,可以从根据预定第二优先级定位的块中借用可用块的候选组。可以根据块的宽高比支持第二优先级或第三优先级。为了选择要借用的候选块,可以以各种配置来设置优先级,例如左-上-右上-左下-左上,或者上-左-左上-右上-左下。在这种情况下,第一优先级至第三优先级中的所有优先级可以具有相同的配置或不同的配置,或者优先级中的一部分可以具有相同的配置。In this scenario, adjacent blocks can be determined based on the state of the current block. For example, when the current block is a square, a candidate group of available blocks can be borrowed (or shared) from blocks positioned according to a predetermined first priority. Alternatively, when the current block is a rectangle, a candidate group of available blocks can be borrowed from blocks positioned according to a predetermined second priority. A second or third priority can be supported based on the block's aspect ratio. To select candidate blocks to borrow, priorities can be set in various configurations, such as left-top-top-right-bottom-left-top, or top-left-top-left-top-right-bottom-left. In this case, all priorities from the first to the third priority can have the same or different configurations, or a subset of priorities can have the same configuration.

仅在当前块的候选组处于或大于/大于预定边界值,或者仅在处于或小于/小于预定边界值时,可以从相邻块借用当前块的候选组。边界值可以被定义为允许候选组的借用的最小块尺寸或最大块尺寸。边界值可以被表示为块的宽度(W)、块的高度(H)、W×H、W*H等,其中W和H中的每一个可以是等于或大于4、8、16或32的整数。Candidate groups of the current block can be borrowed from adjacent blocks only if the candidate group of the current block is at or greater than/greater than a predetermined boundary value, or only if it is at or less than/less than a predetermined boundary value. The boundary value can be defined as the minimum or maximum block size that allows candidate group borrowing. The boundary value can be represented as the block width (W), block height (H), W×H, W*H, etc., where each of W and H can be an integer equal to or greater than 4, 8, 16, or 32.

在示例3中,公共候选组可以由作为预定块组的较高块形成。公共候选组可以用于属于较高块的较低块。较低块的数量可以是等于或大于1的整数,例如,1、2、3或4。In Example 3, a common candidate group can be formed from higher blocks that are part of a predetermined block group. The common candidate group can be used for lower blocks that belong to higher blocks. The number of lower blocks can be an integer equal to or greater than 1, such as 1, 2, 3, or 4.

在这种情况下,较高块可以是较低块的先辈块(包括父块),或者可以是任意块组。先辈块可以指在用于获得较低块的划分期间的先前步骤中的预分割块(划分深度差为1或更大)。例如,图4的候选b中的4N×2N的子块0和1的父块可以是图4中的候选a的4N×4N。In this case, the higher block can be a predecessor block (including the parent block) of the lower block, or it can be any group of blocks. A predecessor block can refer to a pre-segmented block (with a segmentation depth difference of 1 or greater) in a previous step during the partitioning process used to obtain the lower block. For example, the parent block of the 4N×2N child blocks 0 and 1 in candidate b of Figure 4 can be the 4N×4N child block in candidate a of Figure 4.

仅在较高块的候选组处于或大于/大于预定第一边界值,或者仅在处于或小于/小于预定第二边界值时,可以从较低块借用(或共享)较高块的候选组。Candidate groups of higher blocks may be borrowed (or shared) only when the candidate group of a higher block is at or greater than/greater than a predetermined first boundary value, or only when it is at or less than/less than a predetermined second boundary value.

边界值可以被定义为允许候选组借用的块的最小尺寸或最大尺寸。可以支持边界值中的仅一个或两个,并且边界值可以被表示为块的宽度W、高度H、W×H、W*H等,其中W和H中的每一个是8、16、32、64或更高的整数。Boundary values can be defined as the minimum or maximum size of the block that a candidate group is allowed to borrow. Only one or two boundary values can be supported, and boundary values can be represented as the width W, height H, W×H, W*H, etc. of the block, where each of W and H is an integer of 8, 16, 32, 64 or higher.

另一方面,仅在较低块的候选组处于或大于/大于预定第三边界值,可以从较高块借用较低块的候选组。替选地,仅在较低块的候选组处于或小于/小于预定第四边界值,可以从较高块借用较低块的候选组。On the other hand, a candidate group of a lower block can be borrowed from a higher block only if the candidate group of the lower block is at or greater than/greater than a predetermined third boundary value. Alternatively, a candidate group of a lower block can be borrowed from a higher block only if the candidate group of the lower block is at or less than/less than a predetermined fourth boundary value.

在这种情况下,边界值可以被定义为允许候选组借用的块的最小尺寸或最大尺寸。可以支持边界值中的仅一个或两个,并且边界值可以被表示为块的宽度W、高度H、W×H、W*H等,其中W和H中的每一个是4、8、16、32或更高的整数。In this case, the boundary value can be defined as the minimum or maximum size of the block that the candidate group is allowed to borrow. Only one or two boundary values can be supported, and the boundary value can be represented as the width W, height H, W×H, W*H, etc. of the block, where each of W and H is an integer of 4, 8, 16, 32 or higher.

在这种情况下,第一边界值(或第二边界值)可以等于或大于第三边界值(或第四边界值)。In this case, the first boundary value (or the second boundary value) can be equal to or greater than the third boundary value (or the fourth boundary value).

可以基于上述实施方式中的任何一个来选择性地使用候选借用(或共享),并且可以基于第一实施方式至第三实施方式中的至少两个的组合来选择性地使用候选组借用。此外,可以基于实施方式的任何详细配置来选择性地使用候选组借用,并且可以根据一个或更多个详细配置的组合来选择性地使用候选组借用。Candidate borrowing (or sharing) can be selectively used based on any of the above embodiments, and candidate group borrowing can be selectively used based on a combination of at least two of the first to third embodiments. Furthermore, candidate group borrowing can be selectively used based on any detailed configuration of the embodiments, and can be selectively used based on a combination of one or more detailed configurations.

此外,可以显式地处理指示是否借用候选组的信息、关于在候选组借用时涉及的块属性(尺寸/类型/位置/宽高比)的信息、以及关于划分状态(划分方案、划分类型、划分深度等)的信息。另外,诸如图像类型和颜色分量的编码因素可以在候选组借用配置中充当输入变量。可以基于该信息和编码/解码配置来执行候选组借用。Furthermore, information indicating whether to borrow candidate groups, information about block attributes (size/type/location/aspect ratio) involved in candidate group borrowing, and information about the partitioning status (partitioning scheme, partitioning type, partitioning depth, etc.) can be explicitly processed. Additionally, encoding factors such as image type and color components can serve as input variables in the candidate group borrowing configuration. Candidate group borrowing can be performed based on this information and the encoding/decoding configuration.

由预测模式编码器生成的预测相关信息可以被发送至编码单元并被包括在比特流中。The prediction-related information generated by the prediction mode encoder can be sent to the encoding unit and included in the bitstream.

在根据本公开内容的实施方式的视频解码方法中,帧内预测可以被配置为如下。预测单元的帧内预测可以包括预测模式解码步骤、参考像素配置步骤和预测块生成步骤。另外,图像解码装置可以被配置成包括执行预测模式解码步骤、参考像素配置步骤和预测块生成步骤的预测模式解码器、参考像素配置单元和预测块生成器。可以省略上述步骤的一部分,或者可以添加其他步骤。可以以与上述顺序不同的顺序执行这些步骤。In the video decoding method according to embodiments of this disclosure, intra-frame prediction can be configured as follows. The intra-frame prediction of the prediction unit may include a prediction mode decoding step, a reference pixel configuration step, and a prediction block generation step. Additionally, the image decoding apparatus may be configured to include a prediction mode decoder, a reference pixel configuration unit, and a prediction block generator that perform the prediction mode decoding step, the reference pixel configuration step, and the prediction block generation step. Some of the above steps may be omitted, or other steps may be added. These steps may be performed in a different order than described above.

由于图像解码装置的参考像素配置单元和预测块生成器起到与图像编码装置的它们的对应物相同的作用,因此在本文中不提供参考像素配置单元和预测块生成器的详细描述。预测模式解码器可以反向地执行在预测模式编码器中使用的方法。Since the reference pixel configuration unit and prediction block generator of the image decoding apparatus function identically to their counterparts in the image encoding apparatus, detailed descriptions of the reference pixel configuration unit and prediction block generator are not provided herein. The prediction mode decoder can reverse-engineer the methods used in the prediction mode encoder.

(以子块为单位的帧内预测)(Intra-frame prediction on a sub-block basis)

图8示出了可以从编码块获得的各种子块划分类型。编码块可以被称为父块,并且子块可以是孩子块。子块可以是预测单元或变换单元。在该示例中,假设在子块之间共享一片预测信息。换言之,可以在每一个子块中生成并使用一个预测模式。Figure 8 illustrates the various sub-block partitioning types that can be obtained from a coding block. A coding block can be called a parent block, and sub-blocks can be child blocks. Sub-blocks can be prediction units or transform units. In this example, it is assumed that a piece of prediction information is shared among sub-blocks. In other words, a prediction pattern can be generated and used in each sub-block.

参照图8,可以根据图8的子块a至子块p的各种组合来确定子块的编码顺序。例如,可以使用z扫描(左->右,上->下)、垂直扫描(上->下)、水平扫描(左->右)、逆向垂直扫描(下->上)和逆向水平扫描(右->左)中之一。Referring to Figure 8, the encoding order of the sub-blocks can be determined based on various combinations of sub-blocks a to p in Figure 8. For example, one of the following can be used: z-scan (left->right, top->bottom), vertical scan (top->bottom), horizontal scan (left->right), reverse vertical scan (bottom->top), and reverse horizontal scan (right->left).

编码顺序可以在图像编码器与图像解码器之间预先约定。替选地,可以考虑父块的划分方向来确定子块的编码顺序。例如,当在水平方向上分割父块时,可以将子块的编码顺序确定为垂直扫描。当在垂直方向上分割父块时,子块的编码顺序可以被确定为水平扫描。The encoding order can be pre-agreed between the image encoder and image decoder. Alternatively, the encoding order of child blocks can be determined by considering the division direction of the parent block. For example, when the parent block is divided horizontally, the encoding order of the child blocks can be determined as vertical scanning. When the parent block is divided vertically, the encoding order of the child blocks can be determined as horizontal scanning.

当基于子块执行编码时,可以在更近的位置处获得用于预测的参考数据。由于生成仅一种预测模式并且在子块之间共享该预测模式,所以以子块为单位进行编码可以是高效的。When encoding is performed on a sub-block basis, reference data for prediction can be obtained at a closer location. Since only one prediction pattern is generated and this prediction pattern is shared among sub-blocks, encoding on a sub-block basis can be efficient.

例如,参照图8(b),当在父块级别执行编码时,可以使用与父块相邻的像素来预测右下子块。另一方面,当在子块级别执行编码时,可以使用比父块更近的像素来预测右下子块,因为存在以预定编码顺序(在该示例中为Z扫描)重构的左上子块、右上子块和左下子块。For example, referring to Figure 8(b), when encoding is performed at the parent block level, pixels adjacent to the parent block can be used to predict the lower right sub-block. On the other hand, when encoding is performed at the sub-block level, pixels closer to the parent block can be used to predict the lower right sub-block because there are upper left, upper right, and lower left sub-blocks reconstructed in a predetermined encoding order (Z-scan in this example).

对于通过基于图像特征的最佳划分的帧内预测,可以基于具有高出现概率的一个或更多个划分类型来配置候选组。For intra-frame prediction based on optimal segmentation of image features, candidate groups can be configured based on one or more segmentation types with high occurrence probabilities.

在该示例中,假设使用基于索引的划分方案来生成划分信息。可以如下用各种划分类型形成候选组。In this example, we assume that an index-based partitioning scheme is used to generate partitioning information. Candidate groups can be formed using various partition types as follows.

具体地,候选组可以被配置成包括N个划分类型。N可以是等于或大于2的整数,候选组可以包括图8中所示的7个划分类型中的至少两个的组合。Specifically, the candidate group can be configured to include N partition types. N can be an integer equal to or greater than 2, and the candidate group can include a combination of at least two of the seven partition types shown in Figure 8.

可以通过选择性地使用候选组中的多个划分类型中的任何一个将父块分割成预定子块。可以基于由图像编码装置发信号通知的索引来进行选择。索引可以指指定父块的划分类型的信息。替选地,可以考虑图像解码装置中的父块的属性来进行选择。属性可以包括位置、尺寸、形状、宽度、宽高比、宽度和高度中的一者、划分深度、图像类型(I/P/B)、颜色分量(例如,亮度或色度)、帧内预测模式值、帧内预测模式是否为非定向模式、帧内预测模式的角度、参考像素的位置等。块可以是编码块或者与编码块对应的预测块和/或变换块。块的位置可以意指块是否位于父块的预定图像(或片段图像)的边界处。图像(或片段图像)可以是父块所属的图片、切片组、图块组、切片、图块、CTU行或CTU中的至少一个。A parent block can be segmented into predetermined sub-blocks by selectively using any of a plurality of segmentation types from a candidate group. Selection can be based on an index signaled by the image coding device. The index may refer to information specifying the segmentation type of the parent block. Alternatively, selection can be made by considering attributes of the parent block in the image decoding device. Attributes may include position, size, shape, width, aspect ratio, one of width and height, segmentation depth, image type (I/P/B), color components (e.g., luminance or chrominance), intra-prediction mode value, whether the intra-prediction mode is non-directional, the angle of the intra-prediction mode, the position of a reference pixel, etc. A block may be a coded block or a prediction block and/or transform block corresponding to a coded block. The position of a block may refer to whether the block is located at the boundary of a predetermined image (or fragment image) of the parent block. The image (or fragment image) may be at least one of the picture, slice group, tile group, slice, tile, CTU row, or CTU to which the parent block belongs.

在示例1中,可以配置诸如图8的{a至d}或{a至g}的候选组。可以考虑各种划分类型来获得候选组。在候选组{a至d}的情况下,可以为每个索引分配各种二进制位(假定索引按字母顺序分配。以下示例也采用相同的假设)。In Example 1, candidate groups such as {a to d} or {a to g} as shown in Figure 8 can be configured. Various partitioning types can be considered to obtain candidate groups. In the case of candidate group {a to d}, various binary bits can be assigned to each index (assuming the indices are assigned alphabetically. The following examples also adopt the same assumption).

[表1][Table 1]

在以上表1中,二进制类型1可以是考虑所有可能的划分类型的二值化的示例,并且二进制类型2是首先分配指示是否执行划分的位(第一位)并且当执行划分时(第一位被设置为1),从可用的划分类型中仅排除未分割的候选的二值化的示例。In Table 1 above, binary type 1 can be an example of binarization that considers all possible partition types, and binary type 2 is an example of binarization that first assigns a bit (the first bit) indicating whether partitioning is performed and then excludes only unsplit candidate partitions from the available partition types when partitioning is performed (the first bit is set to 1).

在示例2中,可以形成诸如图8的{a,c,d}或{a,f,g}的候选组,其可以考虑在特定方向(水平方向或垂直方向)上的划分而获得。在候选组{a,f,g}的情况下,可以将各种二进制位分配给每个索引。In Example 2, candidate groups such as {a, c, d} or {a, f, g} as shown in Figure 8 can be formed, which can be obtained by considering partitions in a specific direction (horizontal or vertical). In the case of candidate group {a, f, g}, various binary bits can be assigned to each index.

[表2][Table 2]

索引index 二进制类型1Binary type 1 二进制类型2Binary type 2 二进制类型3Binary type 3 00 00 1010 1010 11 1010 00 1111 22 1111 1111 00

上表2是基于块的属性分配的二值化的示例,具体地,是考虑块形状执行的二值化的示例。在二进制类型1中,当父块是正方形时,当父块未被分割时分配1位,并且当父块在水平方向或垂直方向上被分割时分配2位。Table 2 above is an example of binarization based on block attribute allocation, specifically, an example of binarization performed considering block shape. In binary type 1, 1 bit is allocated when the parent block is a square and when the parent block is not divided, and 2 bits are allocated when the parent block is divided in the horizontal or vertical direction.

在二进制类型2中,当父块被成形为水平拉长的矩形时,当父块在水平方向上被分割时,分配1位,并且将2位分配给其余情况。二进制类型3可以是当父块被成形为垂直拉长的矩形时分配1位的示例。在二进制类型3中,当父块在垂直方向上被分割时,可以分配1位,并且在其余情况下,可以分配2位。这可以是当确定划分可能在父块的形状中进一步发生时分配较短位的示例。然而,本公开内容不限于此,并且包括相反情况的修改例也可以是可用的。In binary type 2, when the parent block is shaped into a horizontally elongated rectangle, 1 bit is allocated when the parent block is divided horizontally, and 2 bits are allocated for the rest. Binary type 3 could be an example of allocating 1 bit when the parent block is shaped into a vertically elongated rectangle. In binary type 3, 1 bit can be allocated when the parent block is divided vertically, and 2 bits can be allocated for the rest. This could be an example of allocating shorter bits when it is determined that further division may occur in the shape of the parent block. However, this disclosure is not limited to this, and modifications including the opposite case may also be available.

在示例3中,可以配置诸如图8的{a,c,d,f,g}的候选组,其可以是其中考虑在特定方向上的划分的候选组配置的另一示例。In Example 3, candidate groups such as {a, c, d, f, g} in Figure 8 can be configured, which can be another example of a candidate group configuration that considers partitioning in a particular direction.

[表3][Table 3]

在表3中,首先分配指示是否执行划分的标志(第一位),并且然后,在二进制类型1中,接下来分配标识划分的数量的标志,如果标识划分的数量的标志(第二位)被设置为0,则划分的数量可以是2,并且如果标识划分的数量的标志(第二位)被设置为1,则划分的数量可以是4。此外,后续标志可以指示划分方向。如果后续标志为0,则这可以指示水平划分,并且如果后续标志为1,则这可以指示垂直划分。以上描述仅仅是示例,并且本公开内容不限于此。因此,包括相反配置的各种修改例可以是可用的。In Table 3, a flag indicating whether to perform a partition (the first bit) is first assigned. Then, in binary type 1, a flag indicating the number of partitions is assigned. If the flag indicating the number of partitions (the second bit) is set to 0, the number of partitions can be 2; and if the flag indicating the number of partitions (the second bit) is set to 1, the number of partitions can be 4. Furthermore, subsequent flags can indicate the partition direction. If a subsequent flag is 0, this indicates a horizontal partition; and if a subsequent flag is 1, this indicates a vertical partition. The above description is merely an example, and this disclosure is not limited thereto. Therefore, various modifications, including the opposite configuration, can be available.

在一般情况下,可以支持划分信息,但是可以根据编码/解码环境将划分信息修改为不同的配置。也就是说,可以支持对划分信息的例外配置,或者可以用另一划分类型来替换由划分信息表示的划分类型。Under normal circumstances, partitioning information can be supported, but the partitioning information can be modified to different configurations depending on the encoding/decoding environment. In other words, exceptions to the partitioning information can be supported, or the partitioning type represented by the partitioning information can be replaced with another partitioning type.

例如,根据块的属性,可能存在不支持的划分类型。由于在先前的示例中已经提到了块的特性,因此在本文中不提供它们的详细描述。该块可以是父块或子块中的至少一个。For example, depending on the block's attributes, there may be unsupported partition types. Since the characteristics of blocks have already been mentioned in previous examples, their detailed descriptions are not provided in this document. The block can be at least one of a parent block or a child block.

例如,假设所支持的划分类型是图8中的{a,f,g},并且父块的尺寸是4M×4N。如果由于图像中的块的最小值条件以及在预定图像(或片段图像)的边界处存在父块而不支持一些划分类型,则可以执行各种处理。对于以下的示例,假设图像中的块的宽度的最小值为2M,并且块的面积的最小值为4*M*N。For example, suppose the supported partitioning type is {a, f, g} in Figure 8, and the size of the parent block is 4M × 4N. If some partitioning types are not supported due to minimum block size conditions in the image and the presence of parent blocks at the boundaries of a predetermined image (or segment image), various processing methods can be performed. For the following example, suppose the minimum width of the block in the image is 2M, and the minimum area of the block is 4*M*N.

首先,可以通过排除不可获得的划分类型来重新配置候选组。在现有候选组中可用的候选可以是4M×4N、4M×N和M×4N,并且在没有不可获得候选(4M×N)的情况下重新配置的候选组可以包括划分类型4M×4N和4M×N。在这种情况下,可以再次对重新配置的候选者组的候选者执行二值化。在该示例中,可以通过一个标志(1位)来选择4M×4N或4M×N。First, candidate groups can be reconfigured by excluding unavailable partition types. Available candidates in the existing candidate groups can be 4M×4N, 4M×N, and M×4N, and the reconfigured candidate groups, without unavailable candidates (4M×N), can include partition types 4M×4N and 4M×N. In this case, binarization can be performed again on the candidates in the reconfigured candidate groups. In this example, 4M×4N or 4M×N can be selected using a flag (1 bit).

在另一示例中,可以通过用另一划分类型替换不可获得的划分类型来重新配置候选组。不可获得的划分类型可以是垂直方向划分类型(4个分区)。然而,可以通过替换保持垂直方向划分类型的另一划分形状(例如,2M×4N)来重新配置候选组。这可以基于现有划分信息来维持标志配置。In another example, candidate groups can be reconfigured by replacing unavailable partition types with different partition types. Unavailable partition types could be vertical partition types (4 partitions). However, candidate groups can be reconfigured by replacing them with another partition shape that maintains the vertical partition type (e.g., 2M×4N). This allows the flag configuration to be maintained based on existing partition information.

如在以上示例中,可以通过调整候选的数量或替换现有候选来重新配置候选组。该示例包括一些情况的描述,并且各种修改例可以是可用的。As shown in the example above, the candidate group can be reconfigured by adjusting the number of candidates or replacing existing candidates. This example includes descriptions of several scenarios, and various modifications may be available.

(子块编码顺序)(Sub-block encoding order)

可以如图8所示为各种子块设置编码顺序。可以根据编码/解码配置隐式地确定编码顺序。划分类型、图像类型、颜色分量、父块的尺寸/形状/位置、块的宽高比、与预测模式有关的信息(例如,帧内预测模式、使用的参考像素的位置等)、划分状态等可以被包括在编码/解码因素中。The encoding order for various sub-blocks can be set as shown in Figure 8. The encoding order can be implicitly determined based on the encoding/decoding configuration. Partition type, image type, color components, size/shape/position of the parent block, block aspect ratio, information related to the prediction mode (e.g., intra-frame prediction mode, position of the reference pixel used, etc.), partition state, etc., can be included in the encoding/decoding factors.

替选地,可以显式地处理子块的编码顺序。具体地,候选组可以被配置成包括根据划分类型而具有高出现概率的候选,并且可以生成针对候选中的一个的选择信息。因此,可以自适应地配置根据划分类型支持的编码顺序候选。Alternatively, the encoding order of sub-blocks can be explicitly handled. Specifically, candidate groups can be configured to include candidates with high occurrence probabilities based on the partition type, and selection information can be generated for one of the candidates. Therefore, the encoding order of candidates can be adaptively configured according to the partition type.

如在以上示例中,可以以一个固定编码顺序来编码子块。然而,也可以应用自适应编码顺序。As in the example above, sub-blocks can be encoded in a fixed encoding order. However, an adaptive encoding order can also be applied.

参照图8,通过以各种方式对a至p进行排序,可以获得许多编码顺序。由于所获得的子块的位置和数量可以根据划分类型而变化,因此设置专用于每个划分类型的编码顺序可能是重要的。此外,对于图8(a)中所示的其中不执行子块的划分的划分类型,不需要编码顺序。因此,当显式地处理关于编码顺序的信息时,可以首先检查划分信息,然后基于所选择的划分类型信息生成关于子块的编码顺序的信息。Referring to Figure 8, many encoding orders can be obtained by sorting a to p in various ways. Since the positions and number of sub-blocks obtained can vary depending on the partition type, it may be important to set an encoding order specific to each partition type. Furthermore, for the partition type shown in Figure 8(a), where sub-block partitioning is not performed, no encoding order is needed. Therefore, when explicitly processing information about the encoding order, the partition information can be examined first, and then information about the encoding order of the sub-blocks can be generated based on the selected partition type information.

参照图8(c),可以支持分别将0和1应用于a和b的垂直扫描和将1和0应用于a和b的逆扫描作为候选,并且可以生成用于选择扫描中的一个的1位标志。Referring to Figure 8(c), it is possible to support vertical scans with 0 and 1 applied to a and b respectively and reverse scans with 1 and 0 applied to a and b as candidates, and a 1-bit flag can be generated for selecting one of the scans.

替选地,参照图8(b),可以支持将0至3应用于a至d的z扫描、向左旋转90度的、将1、3、0和2应用于a至d的z扫描、将3、2、1和0应用于a至d的逆z扫描、向右旋转90度的、将2、0、3和1应用于a至d的z扫描,并且可以生成一位或更多位的标志以选择所述扫描中的一个。Alternatively, referring to Figure 8(b), it can support z-scans with 0 to 3 applied to a to d, z-scans rotated 90 degrees to the left, z-scans with 1, 3, 0 and 2 applied to a to d, z-scans with 3, 2, 1 and 0 applied to a to d, z-scans rotated 90 degrees to the right, z-scans with 2, 0, 3 and 1 applied to a to d, and can generate one or more flags to select one of the scans.

下面将描述隐式地确定子块的编码顺序的情况。为了便于描述,描述了获得图8的划分类型(c){或(f)}和(d){或(g)}的情况下的编码顺序(参照图5的预测模式)。The following describes the case where the encoding order of sub-blocks is implicitly determined. For ease of description, the encoding order is described when the partition types (c){or (f)} and (d){or (g)} of Figure 8 are obtained (refer to the prediction mode in Figure 5).

例如,当帧内预测模式被给定为垂直模式、水平模式、右下对角线模式(模式19至49)、左下对角线模式(模式51或更高)和右上对角线模式(模式17或更低)时,可以设置垂直扫描和水平扫描。For example, when the intra-frame prediction mode is given as vertical mode, horizontal mode, bottom right diagonal mode (modes 19 to 49), bottom left diagonal mode (mode 51 or higher), and top right diagonal mode (mode 17 or lower), vertical scan and horizontal scan can be set.

替选地,当帧内预测模式是左下对角线模式(模式51或更大)时,可以设置垂直扫描和逆水平扫描。Alternatively, when the intra-frame prediction mode is the bottom-left diagonal mode (mode 51 or higher), vertical scan and reverse horizontal scan can be set.

替选地,当帧内预测模式是右上对角线模式(模式17或更低)时,可以设置逆垂直扫描和水平扫描。Alternatively, when the intra-frame prediction mode is the top-right diagonal mode (mode 17 or lower), you can set reverse vertical scan and horizontal scan.

在以上示例中,编码顺序可以基于预定扫描顺序。在这种情况下,预定扫描顺序可以是Z扫描、垂直扫描和水平扫描中之一。替选地,可以根据帧内预测期间参考的像素的位置和距离来确定扫描顺序。为此,可以另外考虑逆扫描。In the examples above, the encoding order can be based on a predetermined scan order. In this case, the predetermined scan order can be one of Z-scan, vertical scan, and horizontal scan. Alternatively, the scan order can be determined based on the position and distance of pixels referenced during intra-frame prediction. For this purpose, inverse scanning can also be considered.

图9是示出根据本公开内容的实施方式的用于帧内预测模式的参考像素区域的示例图。参照图9,可以注意到,根据预测模式的方向,对参考区域加阴影。Figure 9 is an example diagram illustrating a reference pixel region for an intra-frame prediction mode according to an embodiment of the present disclosure. Referring to Figure 9, it can be noted that the reference region is shaded according to the direction of the prediction mode.

图9(a)示出了将与父块相邻的区域划分成左区域、上区域、左上区域、右上区域和左下区域的示例。图9(b)示出了在右上对角线模式中参考的左区域和左下区域,图9(c)示出了在水平模式中参考的左区域,以及图9(d)示出了在右下对角线模式中参考的左区域、上区域和左上区域。图9(e)示出了在垂直模式中参考的上区域,以及图9(f)示出了在左下对角线模式中参考的上区域和右上区域。Figure 9(a) shows an example of dividing the region adjacent to the parent block into a left region, a top region, a top-left region, a top-right region, and a bottom-left region. Figure 9(b) shows the left and bottom-left regions referenced in the top-right diagonal mode, Figure 9(c) shows the left region referenced in the horizontal mode, and Figure 9(d) shows the left, top, and top-left regions referenced in the bottom-right diagonal mode. Figure 9(e) shows the top region referenced in the vertical mode, and Figure 9(f) shows the top and top-right regions referenced in the bottom-left diagonal mode.

当使用相邻参考像素(或子块的重构像素)执行预测时,预定义子块的编码顺序可以有利地避免对单独地用信号发送相关信息的需要。各种划分类型是可用的,并且因此可以根据基于划分类型的参考区域(或预测模式)来提供以下示例。When performing prediction using adjacent reference pixels (or reconstructed pixels of sub-blocks), a predefined encoding order for sub-blocks can advantageously avoid the need to send relevant information separately with signals. Various partition types are available, and therefore the following examples can be provided based on the reference region (or prediction mode) based on the partition type.

图10示出了根据本公开内容的实施方式的在右上对角线模式中可用的编码顺序的示例。可以在图10(a)至图10(g)中提供其中将较高优先级分配给左下相邻子块的示例。Figure 10 illustrates an example of the encoding order available in the upper-right diagonal pattern according to an embodiment of the present disclosure. Examples in Figures 10(a) through 10(g) in which higher priority is assigned to the lower-left adjacent sub-block can be provided.

图11示出了根据本公开内容的实施方式的在水平模式中可用的编码顺序的示例。在图11(a)至图11(g)中可以提供其中将较高优先级分配给左相邻子块的示例。Figure 11 illustrates an example of the encoding order available in horizontal mode according to an embodiment of the present disclosure. Examples in Figures 11(a) through 11(g) can be provided in which a higher priority is assigned to the left adjacent sub-block.

图12示出了根据本公开内容的实施方式的在右下对角线模式中可用的编码顺序的示例。可以在图12(a)至图12(g)中提供其中将较高优先级分配给左上相邻子块的示例。Figure 12 illustrates an example of the encoding order available in the bottom-right diagonal pattern according to an embodiment of this disclosure. Examples in Figures 12(a) through 12(g) in which higher priority is assigned to the top-left adjacent sub-block can be provided.

图13示出了根据本公开内容的实施方式的在垂直模式中可用的编码顺序的示例。在图13(a)至图13(g)中可以提供其中将较高优先级分配给上相邻子块的示例。Figure 13 illustrates an example of the encoding order available in vertical mode according to an embodiment of the present disclosure. Examples in Figures 13(a) through 13(g) can be provided in which higher priority is assigned to the upper adjacent sub-block.

图14示出了根据本公开内容的实施方式的在左下对角线模式中可用的编码顺序的示例。在图14(a)至图14(g)中可以提供其中将较高优先级分配给右上相邻子块的示例。Figure 14 illustrates an example of the encoding order available in the lower left diagonal pattern according to an embodiment of the present disclosure. Examples in Figures 14(a) through 14(g) can be provided where a higher priority is assigned to the upper right adjacent sub-block.

在以上示例中,根据完全编码/解码的相邻区域定义编码顺序,并且其他修改例也是可用的。另外,根据其他编码/解码因素定义编码顺序的各种配置是可能是可以的。In the example above, the encoding order is defined based on adjacent regions of the fully encoded/decoded code, and other modified examples are also available. Furthermore, various configurations that define the encoding order based on other encoding/decoding factors are possible.

图15是示出根据本公开内容的实施方式的考虑帧内预测模式和划分类型的编码顺序的示例图。具体地,可以根据帧内预测模式针对每个划分类型隐式地确定子块的编码顺序。另外,描述了在存在不可获得划分类型的情况下,通过用另一划分类型替换不可获得划分类型来重新配置候选组的示例。为了便于描述,假设父块的尺寸为4M×4N。Figure 15 is an example diagram illustrating the coding order considering intra-prediction mode and partition type according to an embodiment of the present disclosure. Specifically, the coding order of sub-blocks can be implicitly determined for each partition type based on the intra-prediction mode. Additionally, an example is described where, in the case of an unavailable partition type, the candidate group is reconfigured by replacing the unavailable partition type with another partition type. For ease of description, it is assumed that the parent block size is 4M×4N.

参照图15(a),对于以子块为单位的帧内预测,可以将父块分割成4M×N形式。在该示例中,可以使用逆向垂直扫描顺序。如果4M×N个划分类型为不可用,则父块可以根据预定优先级被分割成2M×2N个分区。由于图15(a)中示出了这种情况下的编码顺序,因此在本文中不提供其详细描述。如果2M×2N划分类型为不可用,则父块可以被分割成下一优先级的4M×2N个分区。这样,可以支持基于预定优先级的划分类型,并且可以相应地将父块划分成子块。如果所有预定义的划分类型都不可用,则可以注意到不可能将父块分割成子块,并且因此父块被编码。Referring to Figure 15(a), for intra-frame prediction in sub-block units, the parent block can be partitioned into a 4M×N form. In this example, a reverse vertical scan order can be used. If the 4M×N partition types are unavailable, the parent block can be partitioned into 2M×2N partitions according to a predetermined priority. Since the encoding order in this case is shown in Figure 15(a), it is not described in detail herein. If the 2M×2N partition type is unavailable, the parent block can be partitioned into 4M×2N partitions of the next priority. This supports partition types based on predetermined priorities, and the parent block can be partitioned into sub-blocks accordingly. If all predefined partition types are unavailable, it can be noted that it is impossible to partition the parent block into sub-blocks, and therefore the parent block is encoded.

参照图15(b),对于以子块为单位的帧内预测,可以将父块分割成M×4N形式。如在图15(a)中,假设基于每个划分类型预定编码顺序。该示例可以被理解为以2M×2N和2M×4N的顺序替换的情况。Referring to Figure 15(b), for intra-frame prediction in sub-block units, the parent block can be divided into an M×4N form. As shown in Figure 15(a), assume a predetermined coding order based on each partition type. This example can be understood as the case of replacing the order with 2M×2N and 2M×4N.

参照图15(c),对于以子块为单位的帧内预测,可以将父块分割成2M×2N个分区。该示例可以被理解为以4M×2N和2M×4N的顺序替换的情况。Referring to Figure 15(c), for intra-frame prediction in units of sub-blocks, the parent block can be divided into 2M×2N partitions. This example can be understood as the case of replacement in the order of 4M×2N and 2M×4N.

参照图15(d),对于以子块为单位的帧内预测,可以将父块分割成4M×N个分区。该示例可以理解为以2M×2N和4M×2N的顺序替换的情况。Referring to Figure 15(d), for intra-frame prediction in units of sub-blocks, the parent block can be divided into 4M×N partitions. This example can be understood as the case of replacement in the order of 2M×2N and 4M×2N.

参照图15(e),对于以子块为单位的帧内预测,可以将父块分割成M×4N个分区。该示例可以被理解为以2M×2N和2M×4N的顺序替换的情况。Referring to Figure 15(e), for intra-frame prediction in units of sub-blocks, the parent block can be divided into M×4N partitions. This example can be understood as the case of replacement in the order of 2M×2N and 2M×4N.

在以上示例中,当存在可用的划分类型时,支持以预定顺序划分成另一划分类型。各种修改例是可用的。In the examples above, when a partitioning type is available, it is supported to partition into another partitioning type in a predetermined order. Various modified examples are available.

例如,在支持{4M×4N,M×4N,4M×N}的划分类型的情况下,当M×4N或4M×N划分类型为不可用时,可以用2M×4N或4M×2N替换该划分类型。For example, when the partitioning type {4M×4N, M×4N, 4M×N} is supported, if the M×4N or 4M×N partitioning type is unavailable, it can be replaced with 2M×4N or 4M×2N.

如在以上示例中,可以根据各种编码/解码因素来确定子块划分配置。由于可以从子块划分的前述描述中得出编码/解码因素,因此在本文中不提供其详细描述。As in the example above, the sub-block partitioning configuration can be determined based on various encoding/decoding factors. Since the encoding/decoding factors can be derived from the foregoing description of sub-block partitioning, they are not described in detail in this paper.

此外,当确定子块划分时,可以按原样执行预测和变换。如上所述,可以在父块级别确定帧内预测模式,并且可以相应地执行预测。Furthermore, when determining sub-block partitioning, prediction and transformation can be performed as is. As mentioned above, intra-prediction modes can be determined at the parent block level, and predictions can be performed accordingly.

此外,可以基于父块配置变换和逆变换,并且可以根据基于父块的配置在子块级别执行变换和逆变换。替选地,可以基于子块来确定相关配置,并且可以根据该配置在子块级别执行变换和逆变换。可以基于以上配置中的一个来执行变换和逆变换。Furthermore, transformations and inverse transformations can be configured based on the parent block, and these transformations and inverse transformations can be performed at the child block level based on the parent block configuration. Alternatively, the relevant configuration can be determined based on the child block, and transformations and inverse transformations can be performed at the child block level based on that configuration. Transformations and inverse transformations can be performed based on one of the above configurations.

本公开内容的方法可以被实现为可以由各种计算机装置执行并且被存储在计算机可读介质中的程序指令。该计算机可读介质可以单独地或组合地包括程序指令、数据文件和数据结构。记录在计算机可读介质上的程序指令可以针对本公开内容而专门设计,或者对于计算机软件领域的技术人员是已知的,并且因此是可用的。The methods of this disclosure can be implemented as program instructions executable by various computer devices and stored in a computer-readable medium. The computer-readable medium may include program instructions, data files, and data structures, individually or in combination. The program instructions recorded on the computer-readable medium may be specifically designed for this disclosure or may be known to those skilled in the art of computer software and therefore usable.

该计算机可读介质可以包括特别适于存储和执行程序指令的硬件设备,例如只读存储器(ROM)、随机存取存储器(RAM)、闪存等。程序指令可以包括由编译器产生的机器语言代码或可以在计算机中由解释器执行的高级语言代码。上述硬件设备可以被配置成作为一个或更多个软件模块进行操作,以便执行根据本公开内容的操作,并且反之亦然。The computer-readable medium may include hardware devices particularly suitable for storing and executing program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, etc. The program instructions may include machine language code generated by a compiler or high-level language code that can be executed by an interpreter in a computer. The aforementioned hardware devices may be configured to operate as one or more software modules to perform operations according to this disclosure, and vice versa.

此外,可以以其配置或功能的全部或部分组合或分离来实现上述方法或装置。Furthermore, the above-described method or apparatus can be implemented by combining or separating all or part of its configuration or functions.

尽管以上已经参考本公开内容的优选实施方式描述了本公开内容,但是本领域技术人员将理解,可以在不脱离本公开内容的范围和精神的情况下对本公开内容进行各种修改和变型。Although the present disclosure has been described above with reference to preferred embodiments thereof, those skilled in the art will understand that various modifications and variations may be made to the present disclosure without departing from the scope and spirit of the present disclosure.

[工业应用][Industrial Applications]

本公开内容可以用于图像编码/解码。This disclosure can be used for image encoding/decoding.

Claims (5)

1.一种由图像解码装置执行的图像解码方法,所述方法包括:1. An image decoding method performed by an image decoding device, the method comprising: 通过执行帧内预测来生成译码块的预测块;Predicted blocks for decoding are generated by performing intra-frame prediction; 生成所述译码块的残差块;以及The residual block for generating the decoded block; and 基于所述预测块和所述残差块来重构所述译码块,The decoded block is reconstructed based on the predicted block and the residual block. 其中所述译码块通过将所述预测块和所述残差块相加来重构,The decoded block is reconstructed by adding the prediction block and the residual block. 其中执行帧内预测包括内插参考样本,Intra-frame prediction includes interpolating reference samples. 其中根据用于内插参考样本的所述译码块的帧内预测模式,选择性地执行固定滤波或自适应滤波之中的一个,以及Depending on the intra-frame prediction mode of the decoded block used for interpolating reference samples, one of fixed filtering or adaptive filtering is selectively performed, and 其中所述固定滤波使用在所述图像解码装置中预定义的一个内插滤波器,所述自适应滤波选择性地使用在所述图像解码装置中预定义的多个内插滤波器之中的一个。The fixed filtering uses a predefined interpolation filter in the image decoding device, while the adaptive filtering selectively uses one of a plurality of predefined interpolation filters in the image decoding device. 2.根据权利要求1所述的方法,2. The method according to claim 1, 其中所述多个内插滤波器包括4抽头三次滤波器或4抽头高斯滤波器中的至少一个。The plurality of interpolation filters include at least one of a 4-tap cubic filter or a 4-tap Gaussian filter. 3.一种由图像编码装置执行的图像编码方法,所述方法包括:3. An image encoding method performed by an image encoding device, the method comprising: 通过执行帧内预测来生成译码块的预测块;Predicted blocks for decoding are generated by performing intra-frame prediction; 基于所述预测块生成所述译码块的残差块;以及The residual block of the decoded block is generated based on the predicted block; and 通过编码所述残差块来编码所述译码块,The decoded block is encoded by encoding the residual block. 其中所述残差块通过从所述译码块减去所述预测块来生成,The residual block is generated by subtracting the prediction block from the decoded block. 其中执行帧内预测包括内插参考样本,Intra-frame prediction includes interpolating reference samples. 其中根据用于内插参考样本的所述译码块的帧内预测模式,选择性地执行固定滤波或自适应滤波之中的一个,以及Depending on the intra-frame prediction mode of the decoded block used for interpolating reference samples, one of fixed filtering or adaptive filtering is selectively performed, and 其中所述固定滤波使用在所述图像编码装置中预定义的一个内插滤波器,所述自适应滤波选择性地使用在所述图像编码装置中预定义的多个内插滤波器之中的一个。The fixed filtering uses an interpolation filter predefined in the image encoding apparatus, while the adaptive filtering selectively uses one of a plurality of interpolation filters predefined in the image encoding apparatus. 4.一种存储由图像编码装置执行的图像编码方法生成的比特流的计算机可读记录介质,所述图像编码方法包括:4. A computer-readable recording medium storing a bitstream generated by an image encoding method performed by an image encoding apparatus, the image encoding method comprising: 通过执行帧内预测来生成译码块的预测块;Predicted blocks for decoding are generated by performing intra-frame prediction; 基于所述预测块生成所述译码块的残差块;以及The residual block of the decoded block is generated based on the predicted block; and 通过编码所述残差块来将所述译码块编码到所述比特流中,The decoded block is encoded into the bit stream by encoding the residual block. 其中所述残差块通过从所述译码块减去所述预测块来生成,The residual block is generated by subtracting the prediction block from the decoded block. 其中执行帧内预测包括内插参考样本,Intra-frame prediction includes interpolating reference samples. 其中根据用于内插参考样本的所述译码块的帧内预测模式,选择性地执行固定滤波或自适应滤波之中的一个,以及Depending on the intra-frame prediction mode of the decoded block used for interpolating reference samples, one of fixed filtering or adaptive filtering is selectively performed, and 其中所述固定滤波使用在所述图像编码装置中预定义的一个内插滤波器,所述自适应滤波选择性地使用在所述图像编码装置中预定义的多个内插滤波器之中的一个。The fixed filtering uses an interpolation filter predefined in the image encoding apparatus, while the adaptive filtering selectively uses one of a plurality of interpolation filters predefined in the image encoding apparatus. 5.一种传送由图像编码装置执行的图像编码方法生成的比特流的方法,所述图像编码方法包括:5. A method for transmitting a bitstream generated by an image encoding method performed by an image encoding apparatus, the image encoding method comprising: 通过执行帧内预测来生成译码块的预测块;Predicted blocks for decoding are generated by performing intra-frame prediction; 基于所述预测块生成所述译码块的残差块;以及The residual block of the decoded block is generated based on the predicted block; and 通过编码所述残差块来将所述译码块编码到所述比特流中,The decoded block is encoded into the bit stream by encoding the residual block. 其中所述残差块通过从所述译码块减去所述预测块来生成,The residual block is generated by subtracting the prediction block from the decoded block. 其中执行帧内预测包括内插参考样本,Intra-frame prediction includes interpolating reference samples. 其中根据用于内插参考样本的所述译码块的帧内预测模式,选择性地执行固定滤波或自适应滤波之中的一个,以及Depending on the intra-frame prediction mode of the decoded block used for interpolating reference samples, one of fixed filtering or adaptive filtering is selectively performed, and 其中所述固定滤波使用在所述图像编码装置中预定义的一个内插滤波器,所述自适应滤波选择性地使用在所述图像编码装置中预定义的多个内插滤波器之中的一个。The fixed filtering uses an interpolation filter predefined in the image encoding apparatus, while the adaptive filtering selectively uses one of a plurality of interpolation filters predefined in the image encoding apparatus.
HK42024093593.2A 2018-04-01 2021-04-22 Image encoding/decoding method, medium and method of transmitting bitstream HK40105225A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2018-0037812 2018-04-01

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
HK62021029746.6A Addition HK40041177B (en) 2018-04-01 2019-04-01 Method and apparatus for encoding/decoding image

Related Child Applications (1)

Application Number Title Priority Date Filing Date
HK62021029746.6A Division HK40041177B (en) 2018-04-01 2019-04-01 Method and apparatus for encoding/decoding image

Publications (1)

Publication Number Publication Date
HK40105225A true HK40105225A (en) 2024-08-09

Family

ID=

Similar Documents

Publication Publication Date Title
US12075026B2 (en) Method and apparatus for encoding/decoding image
HK40105225A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40106017A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40110816A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40105224A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40110813A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40110818A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40109862A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40109140A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40110819A (en) Image encoding/decoding method, medium and method of transmitting bitstream
HK40110817A (en) Image encoding/decoding method, medium and method of transmitting bitstream
RU2842714C1 (en) Method for encoding/decoding image, computer-readable medium having instructions stored thereon, and method for transmitting bit stream
RU2839690C1 (en) Method of encoding/decoding image, computer-readable medium having instructions stored thereon, and method of transmitting stream of bits
RU2839274C2 (en) Method of encoding/decoding image, computer-readable medium having instructions stored thereon, and method of transmitting stream of bits
RU2839023C1 (en) Method of encoding/decoding image, computer-readable medium having instructions stored thereon, and method of transmitting stream of bits
RU2838197C1 (en) Method of encoding/decoding image, computer-readable medium with instructions stored thereon and method of transmitting stream of bits
HK40041177B (en) Method and apparatus for encoding/decoding image
HK40114618A (en) Image encoding/decoding method and device
HK40041177A (en) Method and apparatus for encoding/decoding image
HK40114594A (en) Image encoding/decoding method and device
HK40114260A (en) Image encoding/decoding method and device