



































技术领域technical field
本申请涉及编解码技术领域,尤其是涉及一种编解码方法、装置及其设备。The present application relates to the technical field of encoding and decoding, and in particular, to an encoding and decoding method, apparatus, and device thereof.
背景技术Background technique
为了达到节约空间的目的,视频图像都是经过编码后才传输的,完整的视频编码方法可以包括预测、变换、量化、熵编码、滤波等过程。预测编码包括帧内编码和帧间编码,帧间编码是利用视频时间域的相关性,使用邻近已编码图像的像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。In order to save space, video images are transmitted after being encoded, and a complete video encoding method may include processes such as prediction, transformation, quantization, entropy encoding, and filtering. Predictive coding includes intra-frame coding and inter-frame coding. Inter-frame coding uses the correlation in the temporal domain of the video to predict the pixels of the current image using pixels adjacent to the coded image, so as to effectively remove the temporal redundancy of the video.
在帧间编码中,使用运动矢量(Motion Vector,MV)表示当前帧视频图像的当前图像块与参考帧视频图像的参考图像块之间的相对位移。例如,当前帧的视频图像A与参考帧的视频图像B存在很强的时域相关性,在需要传输视频图像A的图像块A1(当前图像块)时,则可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1(即参考图像块),并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。In inter-frame coding, a motion vector (Motion Vector, MV) is used to represent the relative displacement between the current image block of the current frame video image and the reference image block of the reference frame video image. For example, there is a strong temporal correlation between the video image A of the current frame and the video image B of the reference frame. When the image block A1 (current image block) of the video image A needs to be transmitted, the motion can be performed in the video image B. Search, find the image block B1 (ie the reference image block) that best matches the image block A1, and determine the relative displacement between the image block A1 and the image block B1, which is the motion vector of the image block A1.
现有技术中,不需要对当前编码单元进行块划分,而是直接通过指示运动信息索引或者差值信息索引,只能为当前编码单元确定出一个运动信息。In the prior art, it is not necessary to perform block division on the current coding unit, but only one piece of motion information can be determined for the current coding unit directly by indicating the motion information index or the difference information index.
由于当前编码单元内部的所有子块均共享一个运动信息,因此,对于一些运动目标较小,需要对编码单元进行块划分之后,才能获取最佳的运动信息。但是,如果当前编码单元划分成多个子块,又会产生额外的比特开销。Since all sub-blocks in the current coding unit share one motion information, for some small moving objects, the best motion information can be obtained only after the coding unit is divided into blocks. However, if the current coding unit is divided into multiple sub-blocks, additional bit overhead will be generated.
发明内容SUMMARY OF THE INVENTION
本申请提供一种编解码方法、装置及其设备,可以提高编码性能。The present application provides an encoding and decoding method, apparatus and device thereof, which can improve encoding performance.
本申请提供一种编解码方法,所述方法包括:The present application provides a method for encoding and decoding, the method comprising:
获取当前块的至少一个运动信息角度预测模式;obtaining at least one motion information angle prediction mode of the current block;
针对每个运动信息角度预测模式,基于所述运动信息角度预测模式的预配置角度,从当前块的周边块中选择所述预配置角度指向的多个周边匹配块;For each motion information angle prediction mode, based on the preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block;
若所述多个周边匹配块的运动信息不完全相同,则将所述运动信息角度预测模式添加到运动信息预测模式候选列表中;If the motion information of the plurality of surrounding matching blocks is not identical, adding the motion information angle prediction mode to the motion information prediction mode candidate list;
根据所述运动信息预测模式候选列表对当前块进行编码或解码。The current block is encoded or decoded according to the motion information prediction mode candidate list.
本申请提供一种编解码装置,所述装置包括:The present application provides an encoding and decoding device, the device comprising:
获取模块,用于获取当前块的至少一个运动信息角度预测模式;an acquisition module for acquiring at least one motion information angle prediction mode of the current block;
处理模块,用于针对每个运动信息角度预测模式,基于所述运动信息角度预测模式的预配置角度,从所述当前块的周边块中选择所述预配置角度指向的多个周边匹配块;若所述多个周边匹配块的运动信息不完全相同,则将所述运动信息角度预测模式添加到运动信息预测模式候选列表中;a processing module, configured to, for each motion information angle prediction mode, based on a preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block; If the motion information of the plurality of surrounding matching blocks is not identical, adding the motion information angle prediction mode to the motion information prediction mode candidate list;
编解码模块,用于根据所述运动信息预测模式候选列表对所述当前块进行编码或解码。An encoding and decoding module, configured to encode or decode the current block according to the motion information prediction mode candidate list.
本申请提供一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;The present application provides a decoding end device, including: a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor;
所述处理器用于执行机器可执行指令,以实现如下步骤:The processor is configured to execute machine-executable instructions to implement the following steps:
获取当前块的至少一个运动信息角度预测模式;obtaining at least one motion information angle prediction mode of the current block;
针对每个运动信息角度预测模式,基于所述运动信息角度预测模式的预配置角度,从当前块的周边块中选择所述预配置角度指向的多个周边匹配块;For each motion information angle prediction mode, based on the preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block;
若所述多个周边匹配块的运动信息不完全相同,则将所述运动信息角度预测模式添加到运动信息预测模式候选列表中;If the motion information of the plurality of surrounding matching blocks is not identical, adding the motion information angle prediction mode to the motion information prediction mode candidate list;
根据所述运动信息预测模式候选列表对当前块进行解码。The current block is decoded according to the motion information prediction mode candidate list.
本申请提供一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;The present application provides an encoding device, including: a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor;
所述处理器用于执行机器可执行指令,以实现如下步骤:The processor is configured to execute machine-executable instructions to implement the following steps:
获取当前块的至少一个运动信息角度预测模式;obtaining at least one motion information angle prediction mode of the current block;
针对每个运动信息角度预测模式,基于所述运动信息角度预测模式的预配置角度,从当前块的周边块中选择所述预配置角度指向的多个周边匹配块;For each motion information angle prediction mode, based on the preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block;
若所述多个周边匹配块的运动信息不完全相同,则将所述运动信息角度预测模式添加到运动信息预测模式候选列表中;If the motion information of the plurality of surrounding matching blocks is not identical, adding the motion information angle prediction mode to the motion information prediction mode candidate list;
根据所述运动信息预测模式候选列表对当前块进行编码。The current block is encoded according to the motion information prediction mode candidate list.
由以上技术方案可见,本申请实施例中,不需要对当前块进行划分,能够有效解决子块划分带来的比特开销,也就是说,在不对当前块进行子块划分的基础上,为当前块的每个子区域提供运动信息,且当前块的不同子区域可以对应相同或者不同的运动信息,从而带来编码性能的提高,解决了传输大量运动信息的问题,可以节约大量比特。通过将运动信息不完全相同的运动信息角度预测模式添加到运动信息预测模式候选列表中,从而减少运动信息预测模式候选列表中的运动信息角度预测模式的数量,可以进一步的提高编码性能。It can be seen from the above technical solutions that in this embodiment of the present application, the current block does not need to be divided, and the bit overhead caused by sub-block division can be effectively solved. Each sub-region of the block provides motion information, and different sub-regions of the current block can correspond to the same or different motion information, thereby improving coding performance, solving the problem of transmitting a large amount of motion information, and saving a lot of bits. By adding motion information angle prediction modes with different motion information to the motion information prediction mode candidate list, thereby reducing the number of motion information angle prediction modes in the motion information prediction mode candidate list, the coding performance can be further improved.
附图说明Description of drawings
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the accompanying drawings that are required in the description of the embodiments of the present application or the prior art. Obviously, the drawings in the following description These are just some embodiments described in this application, and for those of ordinary skill in the art, other drawings can also be obtained according to these drawings in the embodiments of this application.
图1是本申请一种实施方式中的视频编码框架的示意图;1 is a schematic diagram of a video coding framework in an embodiment of the present application;
图2A和图2B是本申请一种实施方式中的划分方式的示意图;2A and 2B are schematic diagrams of a division manner in an embodiment of the present application;
图3A-图3F是本申请一种实施方式中的应用场景示意图;3A-3F are schematic diagrams of application scenarios in an embodiment of the present application;
图4是本申请一种实施方式中的编解码方法的流程图;4 is a flowchart of an encoding and decoding method in an embodiment of the present application;
图5A和图5B是本申请实施方式中的运动信息角度预测模式的示意图;5A and 5B are schematic diagrams of motion information angle prediction modes in embodiments of the present application;
图6是本申请一种实施方式中的编解码方法的流程图;6 is a flowchart of an encoding and decoding method in an embodiment of the present application;
图7是本申请一种实施方式中的编解码方法的流程图;7 is a flowchart of an encoding and decoding method in an embodiment of the present application;
图8A和图8B是未编码块和帧内编码块的填充示意图;8A and 8B are schematic diagrams of padding of uncoded blocks and intra-coded blocks;
图9A-图9C是本申请一种实施方式中的当前块的周边块的示意图;9A-9C are schematic diagrams of surrounding blocks of the current block in an embodiment of the present application;
图10A-图10N是本申请一种实施方式中的周边匹配块的示意图;10A-10N are schematic diagrams of peripheral matching blocks in an embodiment of the present application;
图11是本申请一种实施方式中的编解码装置的结构图;11 is a structural diagram of an encoding and decoding apparatus in an embodiment of the present application;
图12是本申请一种实施方式中的解码端设备的硬件结构图;12 is a hardware structure diagram of a decoding end device in an embodiment of the present application;
图13是本申请一种实施方式中的编码端设备的硬件结构图。FIG. 13 is a hardware structure diagram of an encoding end device in an embodiment of the present application.
具体实施方式Detailed ways
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, rather than limiting the present application. As used in this application and the claims, the singular forms "a," "the," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本申请实施例可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, etc. may be used in the embodiments of the present application to describe various information, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, the first information may be referred to as the second information, and similarly, the second information may also be referred to as the first information without departing from the scope of the present application. Depending on the context, the use of the word "if" can be interpreted as "at" or "when" or "in response to determining".
本申请实施例中提出一种编解码方法,该编解码方法可以涉及如下概念:An encoding and decoding method is proposed in the embodiment of the present application, and the encoding and decoding method may involve the following concepts:
运动矢量(Motion Vector,MV):在帧间编码中,使用运动矢量表示当前帧视频图像的当前图像块与参考帧视频图像的参考图像块之间的相对位移,例如,当前帧的视频图像A与参考帧的视频图像B存在很强的时域相关性,在传输视频图像A的图像块A1(当前图像块)时,可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1(参考图像块),并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。每个划分的图像块都有相应的运动矢量传送到解码端,如果对每个图像块的运动矢量进行独立编码和传输,特别是划分成小尺寸的大量图像块,则消耗相当多的比特。为降低用于编码运动矢量的比特数,可以利用相邻图像块之间的空间相关性,根据相邻已编码图像块的运动矢量对当前待编码图像块的运动矢量进行预测,然后对预测差进行编码,这样可以有效降低表示运动矢量的比特数。Motion Vector (MV): In inter-frame coding, a motion vector is used to represent the relative displacement between the current image block of the current frame video image and the reference image block of the reference frame video image, for example, the video image A of the current frame There is a strong temporal correlation with the video image B of the reference frame. When the image block A1 (current image block) of the video image A is transmitted, a motion search can be performed in the video image B to find the best match with the image block A1. Image block B1 (reference image block), and determine the relative displacement between the image block A1 and the image block B1, and the relative displacement is also the motion vector of the image block A1. Each divided image block has a corresponding motion vector sent to the decoding end. If the motion vector of each image block is independently encoded and transmitted, especially if it is divided into a large number of image blocks of small size, a considerable number of bits will be consumed. In order to reduce the number of bits used to encode the motion vector, the spatial correlation between adjacent image blocks can be used to predict the motion vector of the current image block to be encoded according to the motion vectors of the adjacent encoded image blocks, and then predict the difference Encoding, which can effectively reduce the number of bits representing the motion vector.
示例性的,在对当前图像块的运动矢量编码过程中,可以先使用相邻已编码图像块的运动矢量预测当前宏块的运动矢量,然后对该运动矢量的预测值(MVP,Motion VectorPrediction)与运动矢量的真正估值之间的差值(MVD,MotionVector Difference)进行编码,从而有效降低运动矢量的编码比特数。Exemplarily, in the process of encoding the motion vector of the current image block, the motion vector of the adjacent coded image block may be used to predict the motion vector of the current macroblock, and then the predicted value of the motion vector (MVP, Motion Vector Prediction) The difference value (MVD, MotionVector Difference) between the actual estimation of the motion vector is coded, thereby effectively reducing the number of coding bits of the motion vector.
运动信息(Motion Information):由于运动矢量表示当前图像块与某个参考图像块的位置偏移,为了准确获取指向图像块的信息,除了运动矢量,还需要参考帧图像的索引信息来表示使用哪个参考帧图像。在视频编码技术中,对于当前帧图像,通常可以建立一个参考帧图像列表,参考帧图像索引信息则表示当前图像块采用了参考帧图像列表中的第几个参考帧图像。很多编码技术还支持多个参考图像列表,因此,还可以使用一个索引值来表示使用了哪一个参考图像列表,这个索引值可以称为参考方向。在视频编码技术中,可以将运动矢量、参考帧索引、参考方向等与运动相关的信息统称为运动信息。Motion Information: Since the motion vector represents the position offset between the current image block and a reference image block, in order to accurately obtain the information pointing to the image block, in addition to the motion vector, the index information of the reference frame image is also required to indicate which image block to use. Reference frame image. In the video coding technology, a reference frame image list can usually be established for the current frame image, and the reference frame image index information indicates which reference frame image in the reference frame image list is used by the current image block. Many coding technologies also support multiple reference picture lists, therefore, an index value can also be used to indicate which reference picture list is used, and this index value can be called a reference direction. In video coding technology, motion-related information such as motion vector, reference frame index, reference direction, etc., may be collectively referred to as motion information.
率失真原则(Rate-Distortion Optimized):评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比),比特流越小,则压缩率越大,PSNR越大,则重建图像质量越好,在模式选择时,判别公式实质上也就是对二者的综合评价。例如,模式对应的代价:J(mode)=D+λ*R,示例性的,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。Rate-Distortion Optimized: There are two major indicators for evaluating coding efficiency: code rate and PSNR (Peak Signal to Noise Ratio, peak signal-to-noise ratio). The smaller the bit stream, the greater the compression rate and the greater the PSNR. , the better the reconstructed image quality is. When selecting the mode, the discriminant formula is essentially a comprehensive evaluation of the two. For example, the cost corresponding to the mode: J(mode)=D+λ*R, exemplarily, D represents Distortion (distortion), which can usually be measured by the SSE indicator, which refers to the difference between the reconstructed image block and the source image λ is the Lagrange multiplier, and R is the actual number of bits required for image block coding in this mode, including the sum of bits required for coding mode information, motion information, and residuals.
帧内预测与帧间预测(intra prediction and inter prediction)技术:帧内预测是指,利用当前图像块的空域相邻图像块(即与当前图像块处于同一帧图像)的重建像素值进行预测编码。帧间预测是指,利用当前图像块的时域相邻图像块(与当前图像块处于不同帧图像)的重建像素值进行预测编码,帧间预测是利用视频时域的相关性,由于视频序列包含较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,达到有效去除视频时域冗余的目的。Intra prediction and inter prediction technology: Intra prediction refers to using the reconstructed pixel values of the spatial adjacent image blocks of the current image block (that is, in the same frame image as the current image block) to perform predictive coding. . Inter prediction refers to using the reconstructed pixel values of the temporal adjacent image blocks of the current image block (in a different frame image from the current image block) to perform predictive coding. Inter prediction uses the correlation of the video time domain. It contains strong temporal correlation, and uses adjacent coded image pixels to predict the pixels of the current image, so as to effectively remove the temporal redundancy of the video.
CTU(Coding Tree Unit,编码树单元),是指编码端支持的最大编码单元、以及解码端支持的最大解码单元。示例性的,一帧图像可以先分成若干个不相交的CTU,每个CTU再基于实际情况确定是否进一步划分成更小的块。CTU (Coding Tree Unit, coding tree unit) refers to the largest coding unit supported by the encoder and the largest decoding unit supported by the decoder. Exemplarily, a frame of image may be divided into several disjoint CTUs first, and each CTU determines whether to be further divided into smaller blocks based on the actual situation.
在介绍本申请实施例的技术方案之前,先简单介绍如下的基础知识:Before introducing the technical solutions of the embodiments of the present application, the following basic knowledge is briefly introduced:
参见图1所示,为视频编码框架的示意图,可以使用视频编码框架实现本申请实施例的编码端处理流程,视频解码框架的示意图与图1类似,在此不再赘述,可以使用视频解码框架实现本申请实施例的解码端处理流程。Referring to FIG. 1 , which is a schematic diagram of a video coding framework, the video coding framework can be used to implement the processing flow of the coding end in this embodiment of the present application, and the schematic diagram of the video decoding framework is similar to that in FIG. The decoding end processing flow of the embodiment of the present application is implemented.
示例性的,在视频编码框架和视频解码框架中,可以包括帧内预测、运动估计/运动补偿、参考图像缓冲器、环内滤波、重建、变换、量化、反变换、反量化、熵编码器等模块。在编码端,通过这些模块之间的配合,可以实现编码端处理流程,在解码端,通过这些模块之间的配合,可以实现解码端处理流程。Exemplarily, in the video encoding framework and the video decoding framework, intra prediction, motion estimation/motion compensation, reference picture buffer, in-loop filtering, reconstruction, transformation, quantization, inverse transformation, inverse quantization, entropy encoder may be included. and other modules. On the encoding side, through the cooperation between these modules, the processing flow of the encoding side can be realized, and on the decoding side, through the cooperation between these modules, the processing flow of the decoding side can be realized.
在图像块的划分技术中,一个CTU(Coding Tree Unit,编码树单元)可以使用四叉树递归划分成CU(Coding Unit,编码单元),CU可以进一步的划分成两个或者四个PU(Prediction Unit,预测单元)。在预测完成且得到残差信息后,CU还可以进一步的四叉划分成多个TU(Transform Units,传输单元)。In the image block division technology, a CTU (Coding Tree Unit, Coding Tree Unit) can be recursively divided into CU (Coding Unit, Coding Unit) using a quadtree, and the CU can be further divided into two or four PU (Prediction Unit) Unit, prediction unit). After the prediction is completed and residual information is obtained, the CU may be further divided into multiple TUs (Transform Units, transmission units).
在VVC(Versatile Video Coding,通用视频编码)中对图像块的划分有了较大变化,混合了二叉树/三叉树/四叉树的划分结构,即取消了CU、PU、TU的概念,支持CU更灵活的划分方式,CU可以是正方形或矩形划分,CTU首先进行四叉树划分,然后四叉树划分的叶子节点进行二叉树和三叉树的划分。In VVC (Versatile Video Coding, general video coding), the division of image blocks has changed a lot, and the division structure of binary tree/tritree/quadtree is mixed, that is, the concepts of CU, PU, and TU are cancelled, and CU is supported. For a more flexible division method, the CU can be divided into squares or rectangles. The CTU first performs quad-tree division, and then the leaf nodes of the quad-tree division are divided into binary trees and ternary trees.
参见图2A所示,CU可以有五种划分类型,分别为四叉树划分,水平二叉树划分,垂直二叉树划分,水平三叉树划分和垂直三叉树划分等。参见图2B所示,CTU内的CU的划分方式可以是上述五种划分类型的任意组合。Referring to FIG. 2A , the CU may have five division types, namely quadtree division, horizontal binary tree division, vertical binary tree division, horizontal ternary tree division, and vertical ternary tree division. Referring to FIG. 2B , the division manner of the CU in the CTU may be any combination of the above five division types.
Merge(合并)模式的简单介绍:在帧间预测模块,由于视频存在很强的时域相关性,即时域相邻的两帧图像存在很多相似图像块,当前帧的图像块往往在相邻参考图像中进行运动搜索,找到与当前图像块最匹配的块作为参考图像块。由于参考图像块与当前图像块的相似度高,两者的差值非常小,因此,编码差值的码率开销通常远小于直接编码当前图像块的像素值带来的码率开销。A brief introduction to the Merge mode: In the inter-frame prediction module, due to the strong temporal correlation in the video, there are many similar image blocks in two adjacent frames of images in the instant domain, and the image blocks of the current frame are often in the adjacent reference. A motion search is performed in the image to find the block that best matches the current image block as the reference image block. Because the similarity between the reference image block and the current image block is high, and the difference between the two is very small, the code rate overhead of encoding the difference value is usually much smaller than the code rate overhead caused by directly encoding the pixel value of the current image block.
为了表示与当前图像块最匹配的参考图像块的位置,需要编码很多运动信息传递到解码端,使得解码端可以知晓参考图像块的位置,而运动信息,尤其是运动矢量,需要消耗非常多的码率进行编码传递。为了节省这部分的码率开销,当前设计了一种比较节省运动信息的编码模式,也就是Merge模式。In order to represent the position of the reference image block that best matches the current image block, a lot of motion information needs to be encoded and transmitted to the decoding end, so that the decoding end can know the position of the reference image block, and the motion information, especially the motion vector, needs to consume a lot of code rate for encoding transmission. In order to save this part of the code rate overhead, a coding mode that saves motion information, that is, the Merge mode, is currently designed.
在Merge模式下,当前图像块的运动信息完全复用时域或空域某个相邻块的运动信息,即,从周围多个图像块的运动信息集合中,选择一个运动信息作为当前图像块的运动信息。因此,在Merge模式下,只需要编码一个索引值表示当前图像块使用运动信息集合中的哪个运动信息,从而节省编码开销。In Merge mode, the motion information of the current image block is completely multiplexed with the motion information of a neighboring block in the temporal or spatial domain, that is, from the motion information set of multiple surrounding image blocks, select one motion information as the current image block sports information. Therefore, in the Merge mode, only one index value needs to be encoded to indicate which motion information in the motion information set is used by the current image block, thereby saving encoding overhead.
AMVP(Advanced Motion Vector Prediction,高级运动矢量预测)模式的简单介绍:AMVP模式与Merge模式类似,均使用空域和时域的运动信息预测思想,通过建立候选运动信息列表,通过率失真代价选择最优的一个候选者作为当前图像块的运动信息。AMVP模式与Merge模式的区别体现在:Merge模式下,当前单元的MV直接由空域或者时域上相邻的预测单元预测得到,不存在运动矢量差(Motion Vector Difference,MVD),而AMVP可以看做是MV预测技术,编码器只需要对实际MV和预测MV的差值进行编码,因此是存在MVD的。二者候选者MV队列长度是不同的,构建MV列表的方式也有所区别。A brief introduction to AMVP (Advanced Motion Vector Prediction) mode: Similar to Merge mode, AMVP mode uses motion information prediction ideas in both spatial and temporal domains. By establishing a list of candidate motion information, the optimal rate-distortion cost is selected. A candidate for the motion information of the current image block. The difference between AMVP mode and Merge mode is as follows: In Merge mode, the MV of the current unit is directly predicted by the adjacent prediction units in the spatial or temporal domain, and there is no Motion Vector Difference (MVD), while AMVP can see It is MV prediction technology, the encoder only needs to encode the difference between the actual MV and the predicted MV, so there is MVD. The length of the candidate MV queue is different, and the way of constructing the MV list is also different.
在Merge模式下,为当前预测单元建立一个候选列表,候选列表中存在5个候选MV(及其对应的参考帧信息)。通过遍历这5个候选MV,并且进行率失真代价的计算,最终选取率失真代价最小的候选MV作为最佳MV。若编码端和解码端依照相同的方式构建候选列表,则编码端只需要传输最优MV在候选列表中的索引即可,这样,可以大幅度节省了运动信息的编码比特数。Merge模式建立的候选列表包含空域和时域两种情形,对于B Slice,还包含组合列表的方式,以下对空域候选列表、时域候选列表、组合列表进行说明。In Merge mode, a candidate list is established for the current prediction unit, and there are 5 candidate MVs (and their corresponding reference frame information) in the candidate list. By traversing the 5 candidate MVs and calculating the rate-distortion cost, the candidate MV with the smallest rate-distortion cost is finally selected as the best MV. If the encoding end and the decoding end construct the candidate list in the same way, the encoding end only needs to transmit the index of the optimal MV in the candidate list, which can greatly save the number of encoded bits of motion information. The candidate list established by the Merge mode includes both the spatial domain and the time domain. For the B slice, it also includes the method of combining the lists. The following describes the spatial domain candidate list, the time domain candidate list, and the combined list.
空域候选列表的建立。参见图3A所示,A1表示当前预测单元左侧最下方的预测单元,B1表示当前预测单元上方最右侧的预测单元,B0和A0分别表示当前预测单元右上方和左下方距离最近的预测单元,B2表示当前预测单元左上角距离最近的预测单元。在HEVC标准规定,空域候选列表最多提供4个候选MV,即最多使用上述5个候选块的4个候选块的运动信息,空域候选列表按照A1-B1-B0-A0-(B2)的顺序建立,其中B2为替补。当A1,B1,B0,A0中的一个或者多个不存在时,则需要B2的运动信息,否则,不使用B2的运动信息。Creation of an airspace candidate list. Referring to FIG. 3A , A1 represents the lowermost prediction unit on the left side of the current prediction unit, B1 represents the rightmost prediction unit above the current prediction unit, and B0 and A0 represent the nearest prediction units to the upper right and lower left of the current prediction unit, respectively. , B2 represents the prediction unit with the closest distance to the upper left corner of the current prediction unit. According to the HEVC standard, the spatial candidate list provides up to 4 candidate MVs, that is, the motion information of 4 candidate blocks of the above 5 candidate blocks is used at most, and the spatial candidate list is established in the order of A1-B1-B0-A0-(B2). , where B2 is a substitute. When one or more of A1, B1, B0, and A0 do not exist, the motion information of B2 is required, otherwise, the motion information of B2 is not used.
时域候选者列表的建立。参见图3B所示,利用当前预测单元在邻近已编码图像中对应位置的预测单元的运动信息,可以建立时域候选者列表。与空域候选者列表不同的是,时域候选列表不能直接使用候选块的运动信息,而需要根据参考图像的位置关系做相应的比例伸缩调整。在HEVC标准规定,时域候选者列表最多只提供一个候选MV,由图3B中的H位置的同位预测单元的MV经过伸缩得到,如果H位置不可得,则使用C3位置的同位PU进行替换。需要注意的是,若当前候选列表中候选MV的个数达不到5个,则需要使用默认运动信息(如运动信息(0,0)等)进行填补,以达到规定的数目。The establishment of the time-domain candidate list. Referring to FIG. 3B, a temporal candidate list can be established by using the motion information of the prediction unit at the corresponding position of the current prediction unit in the adjacent coded image. Different from the spatial domain candidate list, the temporal domain candidate list cannot directly use the motion information of the candidate blocks, but needs to make corresponding scaling adjustments according to the positional relationship of the reference image. According to the HEVC standard, the temporal candidate list provides at most one candidate MV, which is obtained by scaling the MV of the co-located prediction unit at the H position in FIG. 3B . If the H position is not available, the co-located PU at the C3 position is used for replacement. It should be noted that if the number of candidate MVs in the current candidate list is less than 5, default motion information (such as motion information (0, 0), etc.) needs to be used for padding to reach the specified number.
组合列表的建立。对于B Slice中的预测单元来说,由于存在两个MV,因此,其候选列表也需要提供两个预测MV。在HEVC标准规定,将MV候选者中的前4个候选MV进行两两组合,可以产生B Slice的组合列表。Creation of a combined list. For the prediction unit in the B slice, since there are two MVs, its candidate list also needs to provide two predicted MVs. According to the HEVC standard, the first 4 candidate MVs in the MV candidates are combined in pairs to generate a combination list of B slices.
AMVP模式的候选列表的建立,利用空域、时域上运动向量的相关性,为当前预测单元建立候选列表。编码端从候选列表中选出最优的MV,并对MV进行差分编码,解码端通过建立相同的候选列表,仅需要运动矢量残差(MVD)和预测MV在该候选列表中的索引值,就可以计算出当前预测单元的MV。The establishment of the candidate list of the AMVP mode uses the correlation of motion vectors in the spatial and temporal domains to establish a candidate list for the current prediction unit. The encoding end selects the optimal MV from the candidate list, and performs differential encoding on the MV. By establishing the same candidate list, the decoding end only needs the motion vector residual (MVD) and the index value of the predicted MV in the candidate list. The MV of the current prediction unit can be calculated.
空域候选列表的建立。参见图3C所示,当前预测单元的左侧和上方各产生一个候选MV,左侧的选择顺序为A0-A1-scaled A0-scaled A1,上方的选择顺序为B0-B1-B2(scaled B0-scaled B1-scaled B2)。对于上方的三个PU,其MV的比例伸缩只有在左侧两个PU都不可用或者都是帧内预测模式时才能进行。当左侧或上方检测到第一个“可用”的MV时,使用该MV作为当前预测单元的候选MV,不再进行剩余步骤。A0,A1,scaled A0,scaledA1中最多一个候选者,B0,B1,B2,scaled B0,scaled B1,scaled B2中最多一个候选者。Creation of an airspace candidate list. Referring to Fig. 3C, a candidate MV is generated on the left and above the current prediction unit. The selection order on the left is A0-A1-scaled A0-scaled A1, and the selection order on the upper scaled B1-scaled B2). For the top three PUs, scaling of their MVs can only be done when neither of the two PUs on the left is available or both are in intra-prediction mode. When the first "available" MV is detected on the left or above, this MV is used as a candidate MV for the current PU, and the remaining steps are not performed. At most one candidate from A0, A1, scaled A0, scaledA1, and at most one candidate from B0, B1, B2, scaled B0, scaled B1, scaled B2.
需要注意的是,只有当候选MV对应的参考图像与当前预测单元相同时,该候选MV才能被标记为“可用”;否则需要对候选MV进行相应的比例伸缩。It should be noted that only when the reference image corresponding to the candidate MV is the same as the current prediction unit, the candidate MV can be marked as "available"; otherwise, the candidate MV needs to be scaled accordingly.
时域候选列表的建立。AMVP的时域候选列表的建立与Merge的时域候选列表的构建方式相同。当空域候选者和时域候选者不足两个时,用(0,0)补全。The establishment of the time-domain candidate list. AMVP's temporal candidate list is built in the same way as Merge's temporal candidate list. When there are less than two space domain candidates and time domain candidates, use (0,0) to complete.
虽然Merge模式可以大大节省运动信息的编码开销,AMVP模式可以提高运动信息的预测精度,但是,这两种模式对于当前编码单元只有一个运动信息,即当前编码单元内部的所有子块共享一个运动信息。对于运动目标较小,需要对编码单元进行块划分后,才能获取最佳运动信息的应用场景,如果未对当前编码单元进行划分,则当前编码单元只有一个运动信息,预测精度并不是很高。例如,参见图3D所示,区域C、区域G和区域H是当前编码单元内的区域,并不是当前编码单元内划分的子图像块。假设当前编码单元使用图像块F的运动信息,则当前编码单元内的各个区域均使用图像块F的运动信息。Although Merge mode can greatly save the coding overhead of motion information, and AMVP mode can improve the prediction accuracy of motion information, these two modes have only one motion information for the current coding unit, that is, all sub-blocks in the current coding unit share one motion information . For application scenarios where the moving target is small and the coding unit needs to be divided into blocks, the best motion information can be obtained. If the current coding unit is not divided, the current coding unit has only one motion information, and the prediction accuracy is not very high. For example, as shown in FIG. 3D , the region C, the region G, and the region H are regions in the current coding unit, not sub-image blocks divided in the current coding unit. Assuming that the current coding unit uses the motion information of the image block F, each region in the current coding unit uses the motion information of the image block F.
显然,由于当前编码单元内的区域H与图像块F的距离很远,若区域H也使用图像块F的运动信息,则区域H的运动信息的预测精度并不是很高。Obviously, since the distance between the region H and the image block F in the current coding unit is very far, if the region H also uses the motion information of the image block F, the prediction accuracy of the motion information of the region H is not very high.
示例性的,若采用图2A或图2B的划分方式对当前编码单元进行划分,则得到多个子图像块。例如,参见图3E所示,子图像块C、子图像块G、子图像块H和子图像块I是当前编码单元内划分的子图像块,由于将当前编码单元划分为多个子图像块,因此,当前编码单元内部的每个子图像块可以单独使用运动信息。但是,由于采用图2A或图2B的划分方式对当前编码单元进行划分,因此,需要消耗额外的比特来传输划分方式,带来一定的比特开销。Exemplarily, if the current coding unit is divided by the division manner of FIG. 2A or FIG. 2B , multiple sub-image blocks are obtained. For example, referring to FIG. 3E , sub-image block C, sub-image block G, sub-image block H, and sub-image block I are sub-image blocks divided in the current coding unit. Since the current coding unit is divided into multiple sub-image blocks, so , each sub-image block within the current coding unit can use motion information independently. However, since the current coding unit is divided by the division method shown in FIG. 2A or FIG. 2B , extra bits need to be consumed to transmit the division method, which brings a certain bit overhead.
基于Merge模式和AMVP模式的工作原理,当前编码单元内部的部分子图像块的运动信息,无法利用当前编码单元周围的已编码运动信息,造成可利用的运动信息减少,运动信息的准确度并不高。例如,针对当前编码单元内部的子图像块I,只能利用子图像块C、子图像块G、子图像块H的运动信息,而无法利用图像块A、图像块B、图像块F、图像块D、图像块E的运动信息。Based on the working principles of Merge mode and AMVP mode, the motion information of some sub-image blocks within the current coding unit cannot use the coded motion information around the current coding unit, resulting in a reduction of the available motion information, and the accuracy of the motion information is not high. high. For example, for sub-image block I in the current coding unit, only the motion information of sub-image block C, sub-image block G, and sub-image block H can be used, but image block A, image block B, image block F, image block Motion information of block D and image block E.
针对上述发现,本申请实施例中提出一种编解码方法,在不对当前图像块进行划分的基础上,即不增加子块划分带来的开销的基础上,可以使当前图像块对应多个运动信息,从而提高当前图像块的运动信息的预测精度。由于未对当前图像块进行划分,因此,可以避免消耗额外的比特来传输划分方式,节约这部分比特开销。针对当前图像块的每个区域(注意,这里是当前图像块内的任意一个区域,该区域的尺寸小于当前图像块的尺寸,并不是对当前图像块进行划分得到的子图像块),可以利用当前图像块周围的已编码运动信息,来获取当前图像块的每个区域的运动信息,换句话说,当前图像块的不同区域可以对应相同或者不同的运动信息,当前图像块可能会有多个不同的运动信息,从而为编码单元内部的区域提供更多的运动信息,提高运动信息的准确度。In response to the above findings, an encoding and decoding method is proposed in the embodiment of the present application, which can make the current image block correspond to multiple motions without dividing the current image block, that is, without increasing the overhead caused by sub-block division. information, thereby improving the prediction accuracy of the motion information of the current image block. Since the current image block is not divided, it is possible to avoid consuming extra bits to transmit the division mode, and save the bit overhead. For each area of the current image block (note that this is any area in the current image block, the size of this area is smaller than the size of the current image block, not the sub-image block obtained by dividing the current image block), you can use The encoded motion information around the current image block is used to obtain the motion information of each area of the current image block. In other words, different areas of the current image block can correspond to the same or different motion information, and the current image block may have multiple Different motion information, so as to provide more motion information for the region inside the coding unit and improve the accuracy of the motion information.
参见图3D所示,C为当前图像块(即当前编码单元)内部的一个子区域,A、B、D、E和F为当前图像块周围的已编码块,当前子区域C的运动信息可以采用角度的预测方式来直接获取,当前编码单元内部的其它子区域(如G、H等)也采用同样的方法获得。这样,对于当前编码单元,不用对当前编码单元进行块划分,就能获得不同的运动信息,节省一部分块划分的比特开销。Referring to Fig. 3D, C is a sub-region inside the current image block (ie, the current coding unit), A, B, D, E and F are the coded blocks around the current image block, and the motion information of the current sub-region C can be The angle prediction method is used to obtain directly, and other sub-regions (such as G, H, etc.) within the current coding unit are also obtained by the same method. In this way, for the current coding unit, different motion information can be obtained without performing block division on the current coding unit, thereby saving a part of the bit overhead of block division.
本申请实施例中的当前图像块(后续简称为当前块),是编解码过程中的任意图像单元,以当前块为单位进行编解码处理,如上述实施例的CU等。参见图3F所示,当前块包括9个区域(后续称为当前块内的子区域),如子区域f1-子区域f9,这些是当前块内的子区域,不是对当前块进行划分后的子图像块。The current image block (hereinafter referred to as the current block for short) in this embodiment of the present application is any image unit in the encoding and decoding process, and encoding and decoding processing is performed in units of the current block, such as the CU in the above-mentioned embodiments. Referring to Fig. 3F, the current block includes 9 regions (hereinafter referred to as sub-regions in the current block), such as sub-region f1-sub-region f9, these are sub-regions in the current block, not after the current block is divided sub-image block.
针对子区域f1-子区域f9中的不同子区域,可以对应相同或者不同的运动信息,因此,在不对当前块进行划分的基础上,也可以使当前块对应多个运动信息,如子区域f1对应运动信息1,子区域f2对应运动信息2,以此类推。Different sub-areas in sub-area f1-sub-area f9 may correspond to the same or different motion information. Therefore, without dividing the current block, the current block may also correspond to multiple motion information, such as sub-area f1 Corresponding to
示例性的,在确定子区域f5的运动信息时,可以利用图像块A1、图像块A2、图像块A3、图像块E、图像块B1、图像块B2、图像块B3的运动信息,即利用当前块周围的已编码块的运动信息,从而为子区域f5提供更多的运动信息。当然,针对当前块的其它子区域的运动信息,也可以利用图像块A1、图像块A2、图像块A3、图像块E、图像块B1、图像块B2、图像块B3的运动信息。Exemplarily, when determining the motion information of the sub-region f5, the motion information of the image block A1, the image block A2, the image block A3, the image block E, the image block B1, the image block B2, and the image block B3 may be used, that is, the current Motion information of the coded blocks surrounding the block, thus providing more motion information for sub-region f5. Of course, for the motion information of other sub-regions of the current block, the motion information of image block A1, image block A2, image block A3, image block E, image block B1, image block B2, and image block B3 can also be used.
以下结合几个具体实施例,对本申请实施例中的编解码方法进行说明。The encoding and decoding methods in the embodiments of the present application will be described below with reference to several specific embodiments.
实施例1:参见图4所示,为本申请实施例中的编解码方法的流程示意图,该方法可以应用于解码端或者编码端,该方法可以包括以下步骤:Embodiment 1: Referring to FIG. 4, it is a schematic flowchart of an encoding and decoding method in this embodiment of the present application. The method can be applied to a decoding end or an encoding end, and the method can include the following steps:
步骤401,获取当前块的至少一个运动信息角度预测模式。Step 401: Obtain at least one motion information angle prediction mode of the current block.
示例性的,运动信息角度预测模式用于指示预配置角度,并根据所述预配置角度从当前块的周边块中为当前块的子区域选择周边匹配块,并根据周边匹配块的运动信息确定当前块的一个或者多个运动信息,也就是说,针对当前块的每个子区域,根据周边匹配块的运动信息确定所述子区域的运动信息。而且,周边匹配块是按照所述预配置角度从周边块中确定出的指定位置处的块。Exemplarily, the motion information angle prediction mode is used to indicate a preconfigured angle, and according to the preconfigured angle, a surrounding matching block is selected from the surrounding blocks of the current block for the sub-region of the current block, and determined according to the motion information of the surrounding matching block. One or more pieces of motion information of the current block, that is, for each sub-region of the current block, the motion information of the sub-region is determined according to the motion information of the surrounding matching blocks. Also, the peripheral matching block is a block at a specified position determined from the peripheral blocks according to the pre-configured angle.
示例性的,周边块包括与当前块相邻的块;或者,周边块包括与当前块相邻的块和非相邻的块。当然,周边块还可以包括其它块,对此不做限制。Exemplarily, the peripheral blocks include blocks adjacent to the current block; or, the peripheral blocks include blocks adjacent to the current block and non-adjacent blocks. Of course, the peripheral blocks may also include other blocks, which are not limited.
示例性的,运动信息角度预测模式可以包括但不限于以下之一或者任意组合:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式。当然,上述只是运动信息角度预测模式的几个示例,还可以有其它类型的运动信息角度预测模式,运动信息角度预测模式与预配置角度有关,例如,预配置角度还可以为10度、20度等。参见图5A所示,为水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式的示意图,不同运动信息角度预测模式对应不同的预配置角度。Exemplarily, the motion information angle prediction mode may include, but is not limited to, one or any combination of the following: horizontal prediction mode, vertical prediction mode, horizontal upward prediction mode, horizontal downward prediction mode, and vertical right prediction mode. Of course, the above are just a few examples of the motion information angle prediction modes, and other types of motion information angle prediction modes are also possible, and the motion information angle prediction modes are related to the pre-configured angle, for example, the pre-configured angle can also be 10 degrees, 20 degrees Wait. Referring to FIG. 5A , it is a schematic diagram of horizontal prediction mode, vertical prediction mode, horizontal upward prediction mode, horizontal downward prediction mode, and vertical right prediction mode. Different motion information angle prediction modes correspond to different pre-configured angles.
步骤402,针对每个运动信息角度预测模式,基于该运动信息角度预测模式的预配置角度,从当前块的周边块中选择该预配置角度指向的多个周边匹配块。
步骤403,若该预配置角度指向的多个周边匹配块的运动信息不完全相同,则将该运动信息角度预测模式添加到运动信息预测模式候选列表中。
示例性的,若该预配置角度指向的多个周边匹配块的运动信息完全相同,则禁止将该运动信息角度预测模式添加到运动信息预测模式候选列表中。Exemplarily, if the motion information of multiple neighboring matching blocks pointed to by the pre-configured angle are identical, it is prohibited to add the motion information angle prediction mode to the motion information prediction mode candidate list.
例如,基于水平预测模式的预配置角度,从当前块的周边块选择预配置角度指向的周边匹配块,如周边匹配块A1、周边匹配块A2和周边匹配块A3。若周边匹配块A1、周边匹配块A2和周边匹配块A3不完全相同,将水平预测模式添加到运动信息预测模式候选列表。若周边匹配块A1、周边匹配块A2和周边匹配块A3完全相同,禁止将水平预测模式添加到运动信息预测模式候选列表。For example, based on the preconfigured angle of the horizontal prediction mode, surrounding blocks pointed by the preconfigured angle are selected from the surrounding blocks of the current block, such as the surrounding matching block A1, the surrounding matching block A2 and the surrounding matching block A3. If the surrounding matching block A1, the surrounding matching block A2, and the surrounding matching block A3 are not identical, the horizontal prediction mode is added to the motion information prediction mode candidate list. If the surrounding matching block A1, the surrounding matching block A2, and the surrounding matching block A3 are identical, the addition of the horizontal prediction mode to the motion information prediction mode candidate list is prohibited.
示例性的,在从当前块的周边块中选择该预配置角度指向的多个周边匹配块之后,可以从所述多个周边匹配块中选择至少一个第一周边匹配块。针对每个第一周边匹配块,从所述多个周边匹配块中选择第一周边匹配块对应的第二周边匹配块。若第一周边匹配块的运动信息与第二周边匹配块的运动信息不同,则确定第一周边匹配块的比较结果为运动信息不同;若第一周边匹配块的运动信息与第二周边匹配块的运动信息相同,则确定第一周边匹配块的比较结果为运动信息相同。然后,若任一第一周边匹配块的比较结果为运动信息不同,则确定多个周边匹配块的运动信息不完全相同;若所有第一周边匹配块的比较结果均为运动信息相同,则确定多个周边匹配块的运动信息完全相同。Exemplarily, after selecting a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block, at least one first surrounding matching block may be selected from the plurality of surrounding matching blocks. For each first peripheral matching block, a second peripheral matching block corresponding to the first peripheral matching block is selected from the plurality of peripheral matching blocks. If the motion information of the first surrounding matching block is different from the motion information of the second surrounding matching block, the comparison result of the first surrounding matching block is determined as different motion information; if the motion information of the first surrounding matching block is different from that of the second surrounding matching block The motion information is the same, then it is determined that the comparison result of the first surrounding matching blocks is the same motion information. Then, if the comparison result of any one of the first surrounding matching blocks is that the motion information is different, it is determined that the motion information of the multiple surrounding matching blocks is not identical; if the comparison results of all the first surrounding matching blocks are the same motion information, then it is determined that The motion information of multiple surrounding matching blocks is exactly the same.
示例性的,从所述多个周边匹配块中选择至少一个第一周边匹配块,可以包括但不限于:将所述多个周边匹配块中的任意一个或多个作为第一周边匹配块;或者,将多个周边匹配块中指定的一个或多个作为第一周边匹配块。Exemplarily, selecting at least one first peripheral matching block from the plurality of peripheral matching blocks may include, but is not limited to: using any one or more of the plurality of peripheral matching blocks as the first peripheral matching block; Alternatively, one or more of the plurality of surrounding matching blocks are designated as the first surrounding matching block.
示例性的,从所述多个周边匹配块中选择第一周边匹配块对应的第二周边匹配块,可以包括但不限于:根据遍历步长和第一周边匹配块的位置,从所述多个周边匹配块中选择第一周边匹配块对应的第二周边匹配块;其中,该遍历步长可以是该第一周边匹配块与该第二周边匹配块之间的块间隔。Exemplarily, selecting the second surrounding matching block corresponding to the first surrounding matching block from the plurality of surrounding matching blocks may include, but is not limited to: selecting from the multiple surrounding matching blocks according to the traversal step size and the position of the first surrounding matching block. Among the surrounding matching blocks, a second surrounding matching block corresponding to the first surrounding matching block is selected; wherein, the traversal step may be a block interval between the first surrounding matching block and the second surrounding matching block.
例如,针对按照顺序依次排列的周边匹配块A1、周边匹配块A2和周边匹配块A3,假设将周边匹配块A1作为第一周边匹配块,且遍历步长是2,则周边匹配块A1对应的第二周边匹配块是周边匹配块A3。基于此,若周边匹配块A1的运动信息与周边匹配块A3的运动信息不同,则可以确定周边匹配块A1的比较结果为运动信息不同;若周边匹配块A1的运动信息与周边匹配块A3的运动信息相同,则确定周边匹配块A1的比较结果为运动信息相同。For example, for the surrounding matching block A1, the surrounding matching block A2 and the surrounding matching block A3 arranged in order, assuming that the surrounding matching block A1 is used as the first surrounding matching block, and the traversal step is 2, then the surrounding matching block A1 corresponds to The second peripheral matching block is the peripheral matching block A3. Based on this, if the motion information of the surrounding matching block A1 is different from that of the surrounding matching block A3, it can be determined that the comparison result of the surrounding matching block A1 is that the motion information is different; if the motion information of the surrounding matching block A1 and the surrounding matching block A3 If the motion information is the same, it is determined that the comparison result of the surrounding matching blocks A1 is that the motion information is the same.
又例如,针对按照顺序依次排列的周边匹配块A1、周边匹配块A2和周边匹配块A3,假设将周边匹配块A1和周边匹配块A2作为第一周边匹配块,且遍历步长是1,则周边匹配块A1对应的第二周边匹配块是周边匹配块A2,周边匹配块A2对应的第二周边匹配块是周边匹配块A3。基于此,若周边匹配块A1的运动信息与周边匹配块A2的运动信息不同,则可以确定周边匹配块A1的比较结果为运动信息不同;若周边匹配块A1的运动信息与周边匹配块A2的运动信息相同,则确定周边匹配块A1的比较结果为运动信息相同。若周边匹配块A2的运动信息与周边匹配块A3的运动信息不同,则可以确定周边匹配块A2的比较结果为运动信息不同;若周边匹配块A2的运动信息与周边匹配块A3的运动信息相同,则确定周边匹配块A2的比较结果为运动信息相同。For another example, for the peripheral matching block A1, the peripheral matching block A2 and the peripheral matching block A3 arranged in sequence, suppose that the peripheral matching block A1 and the peripheral matching block A2 are used as the first peripheral matching block, and the traversal step is 1, then The second peripheral matching block corresponding to the peripheral matching block A1 is the peripheral matching block A2, and the second peripheral matching block corresponding to the peripheral matching block A2 is the peripheral matching block A3. Based on this, if the motion information of the surrounding matching block A1 is different from the motion information of the surrounding matching block A2, it can be determined that the comparison result of the surrounding matching block A1 is that the motion information is different; if the motion information of the surrounding matching block A1 and the surrounding matching block A2 If the motion information is the same, it is determined that the comparison result of the surrounding matching blocks A1 is that the motion information is the same. If the motion information of the surrounding matching block A2 is different from that of the surrounding matching block A3, it can be determined that the comparison result of the surrounding matching block A2 is that the motion information is different; if the motion information of the surrounding matching block A2 is the same as that of the surrounding matching block A3 , then it is determined that the comparison result of the surrounding matching blocks A2 is that the motion information is the same.
示例性的,从所述多个周边匹配块中选择第一周边匹配块对应的第二周边匹配块之前,还可以基于当前块的尺寸,确定所述遍历步长。通过所述遍历步长控制运动信息的比较次数。Exemplarily, before selecting the second peripheral matching block corresponding to the first peripheral matching block from the plurality of peripheral matching blocks, the traversal step size may also be determined based on the size of the current block. The number of comparisons of motion information is controlled by the traversal step size.
例如,假设周边匹配块的尺寸为4*4,当前块的尺寸为16*16,针对水平预测模式,当前块对应4个周边匹配块。为了控制运动信息的比较次数为1,遍历步长可以为2或者3,若遍历步长为2,则第一周边匹配块为第1个周边匹配块,第二周边匹配块为第3个周边匹配块;或者,第一周边匹配块为第2个周边匹配块,第二周边匹配块为第4个周边匹配块。若遍历步长为3,则第一周边匹配块为第1个周边匹配块,第二周边匹配块为第4个周边匹配块。又例如,为了控制运动信息的比较次数为2,遍历步长可以为1,第一周边匹配块为第1个周边匹配块和第3个周边匹配块,第1个周边匹配块对应的第二周边匹配块为第2个周边匹配块,第3个周边匹配块对应的第二周边匹配块为第4个周边匹配块。For example, it is assumed that the size of the surrounding matching blocks is 4*4, the size of the current block is 16*16, and for the horizontal prediction mode, the current block corresponds to 4 surrounding matching blocks. In order to control the number of comparisons of motion information to be 1, the traversal step can be 2 or 3. If the traversal step is 2, the first surrounding matching block is the first surrounding matching block, and the second surrounding matching block is the third surrounding. matching block; or, the first peripheral matching block is the second peripheral matching block, and the second peripheral matching block is the fourth peripheral matching block. If the traversal step size is 3, the first peripheral matching block is the first peripheral matching block, and the second peripheral matching block is the fourth peripheral matching block. For another example, in order to control the number of comparisons of motion information to be 2, the traversal step size can be 1, the first surrounding matching block is the first surrounding matching block and the third surrounding matching block, and the second surrounding matching block corresponding to the first surrounding matching block. The peripheral matching block is the second peripheral matching block, and the second peripheral matching block corresponding to the third peripheral matching block is the fourth peripheral matching block.
当然,上述只是针对水平预测模式的示例,还可以采用其它方式确定遍历步长,对此不做限制。而且,针对水平预测模式之外的其它运动信息角度预测模式,确定遍历步长的方式参见水平预测模式,在此不再重复赘述。Of course, the above is only an example for the horizontal prediction mode, and other ways may be used to determine the traversal step size, which is not limited. Moreover, for other motion information angle prediction modes other than the horizontal prediction mode, reference is made to the horizontal prediction mode for the manner of determining the traversal step size, which will not be repeated here.
步骤404,根据该运动信息预测模式候选列表对当前块进行编码或解码。Step 404: Encode or decode the current block according to the motion information prediction mode candidate list.
例如,针对编码端来说,根据该运动信息预测模式候选列表对当前块进行编码。针对解码端来说,根据该运动信息预测模式候选列表对当前块进行解码。For example, for the encoder, the current block is encoded according to the motion information prediction mode candidate list. For the decoding end, the current block is decoded according to the motion information prediction mode candidate list.
由以上技术方案可见,本申请实施例中,不需要对当前块进行划分,可以基于运动信息角度预测模式来确定当前块的子区域的划分信息,能够有效解决子块划分带来的比特开销,也就是说,在不对当前块进行子块划分的基础上,为当前块的每个子区域提供运动信息,且当前块的不同子区域可以对应相同或者不同的运动信息,从而带来编码性能的提高,解决了传输大量运动信息的问题,可以节约大量编码比特的开销。通过将运动信息不完全相同的运动信息角度预测模式添加到运动信息预测模式候选列表中,从而去除只具有单一运动信息的运动信息角度预测模式,减少运动信息预测模式候选列表中的运动信息角度预测模式的数量,降低编码多个运动信息的比特数,进一步提高编码性能。It can be seen from the above technical solutions that in this embodiment of the present application, it is not necessary to divide the current block, and the division information of the sub-region of the current block can be determined based on the motion information angle prediction mode, which can effectively solve the bit overhead caused by the sub-block division. That is to say, on the basis of not dividing the current block into sub-blocks, motion information is provided for each sub-region of the current block, and different sub-regions of the current block can correspond to the same or different motion information, thereby improving the coding performance. , solves the problem of transmitting a large amount of motion information, and can save a lot of coding bit overhead. By adding the motion information angle prediction modes with different motion information to the motion information prediction mode candidate list, the motion information angle prediction mode with only a single motion information is removed, and the motion information angle prediction mode in the motion information prediction mode candidate list is reduced. The number of modes reduces the number of bits for encoding multiple motion information, and further improves the encoding performance.
参见图5B所示,为水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式的示意图。从图5B可以看出,有些运动信息角度预测模式,会使得当前块内部的每个子区域的运动信息相同,例如,水平预测模式、垂直预测模式、水平向上预测模式,这样的运动信息角度预测模式需要剔除。有些运动信息角度预测模式,会使得当前块内部的每个子区域的运动信息不同,例如,水平向下预测模式、垂直向右预测模式,这样的运动信息角度预测模式需要保留,即可以添加到运动信息预测模式候选列表中。Referring to FIG. 5B , it is a schematic diagram of a horizontal prediction mode, a vertical prediction mode, a horizontal upward prediction mode, a horizontal downward prediction mode, and a vertical right prediction mode. As can be seen from FIG. 5B , some motion information angle prediction modes will make the motion information of each sub-region within the current block the same, for example, horizontal prediction mode, vertical prediction mode, horizontal upward prediction mode, such a motion information angle prediction mode need to be removed. Some motion information angle prediction modes will make the motion information of each sub-region within the current block different, for example, horizontal downward prediction mode, vertical right prediction mode, such motion information angle prediction mode needs to be retained, that is, it can be added to the motion information. Information prediction mode candidate list.
显然,若将水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式均添加到运动信息预测模式候选列表中,在编码水平向下预测模式的索引时,由于前面存在水平预测模式、垂直预测模式、水平向上预测模式(每个运动信息角度预测模式的顺序不固定,这里只是示例),则可能需要编码0001来表示。但是,本申请实施例中,只将水平向下预测模式和垂直向右预测模式添加到运动信息预测模式候选列表中,而禁止将水平预测模式、垂直预测模式、水平向上预测模式添加到运动信息预测模式候选列表中,即水平向下预测模式前面不存在水平预测模式、垂直预测模式和水平向上预测模式,因此,在编码水平向下预测模式的索引时,可能只需要编码0来表示。综上所述,减少编码运动信息角度预测模式索引信息带来的比特开销,在节省比特开销的同时降低硬件复杂度,避免单个运动信息的运动信息角度预测模式所带来的低性能增益问题,降低编码多个运动信息角度预测模式的比特数。Obviously, if the horizontal prediction mode, vertical prediction mode, horizontal upward prediction mode, horizontal downward prediction mode, and vertical right prediction mode are all added to the motion information prediction mode candidate list, when coding the index of the horizontal downward prediction mode, Since there are horizontal prediction modes, vertical prediction modes, and horizontal upward prediction modes (the order of each motion information angle prediction mode is not fixed, this is just an example), it may be necessary to code 0001 to represent. However, in this embodiment of the present application, only the horizontal downward prediction mode and the vertical right prediction mode are added to the motion information prediction mode candidate list, and it is forbidden to add the horizontal prediction mode, the vertical prediction mode, and the horizontal upward prediction mode to the motion information In the prediction mode candidate list, that is, there is no horizontal prediction mode, vertical prediction mode and horizontal upward prediction mode before the horizontal downward prediction mode. Therefore, when coding the index of the horizontal downward prediction mode, it may only be necessary to code 0 to represent it. To sum up, the bit overhead caused by coding the motion information angle prediction mode index information is reduced, the hardware complexity is reduced while the bit overhead is saved, and the low performance gain problem caused by the motion information angle prediction mode of a single motion information is avoided, Reduce the number of bits to encode multiple motion information angle prediction modes.
实施例2:基于运动信息角度预测模式的预配置角度,从当前块的周边块中选择该预配置角度指向的多个周边匹配块之后,若所述多个周边匹配块中存在未编码块和/或帧内编码块,则对未编码块和/或帧内编码块的运动信息进行填充。例如,将未编码块和/或帧内编码块的邻近块的可用运动信息,填充为未编码块和/或帧内编码块的运动信息;或者,将未编码块和/或帧内编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为未编码块和/或帧内编码块的运动信息;或者,将默认运动信息填充为未编码块和/或帧内编码块的运动信息。Embodiment 2: Based on the pre-configured angle of the motion information angle prediction mode, after selecting multiple surrounding matching blocks pointed to by the pre-configured angle from the surrounding blocks of the current block, if there are uncoded blocks and and/or intra-frame coded block, the motion information of the uncoded block and/or the intra-frame coded block is filled. For example, the available motion information of the uncoded block and/or the neighboring blocks of the intra-coded block is filled with the motion information of the uncoded block and/or the intra-coded block; or, the uncoded block and/or the intra-coded block is filled with motion information. The available motion information of the reference block at the corresponding position in the temporal reference frame is filled with the motion information of the uncoded block and/or the intra-coded block; or, the default motion information is filled with the uncoded block and/or the intra-coded block sports information.
示例性的,若所述多个周边匹配块中存在未编码块,则可以将未编码块的邻近块的可用运动信息,填充为所述未编码块的运动信息;或者,可以将未编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为所述未编码块的运动信息;或者,可以将默认运动信息填充为未编码块的运动信息。Exemplarily, if an uncoded block exists in the plurality of surrounding matching blocks, the available motion information of the adjacent blocks of the uncoded block may be filled with the motion information of the uncoded block; or, the uncoded block may be filled. The available motion information of the reference block at the corresponding position in the temporal reference frame is filled with the motion information of the uncoded block; alternatively, the default motion information can be filled with the motion information of the uncoded block.
示例性的,若所述多个周边匹配块中存在帧内编码块,则可以将帧内编码块的邻近块的可用运动信息,填充为帧内编码块的运动信息;或者,可以将帧内编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为帧内编码块的运动信息;或者,可以将默认运动信息填充为帧内编码块的运动信息。Exemplarily, if there is an intra-frame coded block in the plurality of surrounding matching blocks, the available motion information of adjacent blocks of the intra-frame coded block may be filled with the motion information of the intra-frame coded block; The available motion information of the reference block at the corresponding position of the coding block in the temporal reference frame is filled with the motion information of the intra-frame coding block; alternatively, the default motion information can be filled with the motion information of the intra-frame coding block.
示例性的,若所述多个周边匹配块中存在未编码块和帧内编码块,则将未编码块的邻近块的可用运动信息,填充为所述未编码块的运动信息;将帧内编码块的邻近块的可用运动信息,填充为所述帧内编码块的运动信息、或将帧内编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为所述帧内编码块的运动信息、或将默认运动信息填充为帧内编码块的运动信息。或者,将未编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为所述未编码块的运动信息;将帧内编码块的邻近块的可用运动信息,填充为所述帧内编码块的运动信息、或将帧内编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为所述帧内编码块的运动信息、或将默认运动信息填充为帧内编码块的运动信息。或者,将默认运动信息填充为未编码块的运动信息;将帧内编码块的邻近块的可用运动信息,填充为所述帧内编码块的运动信息、或将帧内编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为所述帧内编码块的运动信息、或将默认运动信息填充为帧内编码块的运动信息。Exemplarily, if there are uncoded blocks and intra-frame coded blocks in the plurality of surrounding matching blocks, fill the available motion information of adjacent blocks of the uncoded blocks as motion information of the uncoded blocks; The available motion information of adjacent blocks of the coding block is filled with the motion information of the intra-frame coding block, or the available motion information of the reference block at the corresponding position of the intra-frame coding block in the temporal reference frame is filled with the intra-frame coding block. The motion information of the coded block, or the default motion information is filled with the motion information of the intra-coded block. Alternatively, fill the available motion information of the reference block at the corresponding position of the uncoded block in the temporal reference frame as the motion information of the uncoded block; fill the available motion information of the neighboring blocks of the intra-coded block with the The motion information of the intra-frame coding block, or the available motion information of the reference block at the corresponding position of the intra-frame coding block in the temporal reference frame, is filled with the motion information of the intra-frame coding block, or the default motion information is filled as the frame Motion information for intra-coded blocks. Alternatively, the default motion information is filled with the motion information of the uncoded block; the available motion information of the adjacent blocks of the intra-coded block is filled with the motion information of the intra-coded block, or the intra-coded block is referenced in the time domain The available motion information of the reference block at the corresponding position in the frame is filled with the motion information of the intra-frame coding block, or the default motion information is filled with the motion information of the intra-frame coding block.
实施例3:根据运动信息预测模式候选列表对当前块进行编码或解码时,从运动信息预测模式候选列表中选择当前块的目标运动信息预测模式;若目标运动信息预测模式为目标运动信息角度预测模式,则根据目标运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值。Embodiment 3: when encoding or decoding the current block according to the motion information prediction mode candidate list, select the target motion information prediction mode of the current block from the motion information prediction mode candidate list; if the target motion information prediction mode is the target motion information angle prediction mode, the motion information of the current block is determined according to the target motion information angle prediction mode; the prediction value of the current block is determined according to the motion information of the current block.
示例性的,根据目标运动信息角度预测模式,确定当前块的运动信息,包括:基于目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择该预配置角度指向的多个周边匹配块;将当前块划分为至少一个子区域;针对每个子区域,可以从所述多个周边匹配块中选择与该子区域对应的周边匹配块,并根据选择的周边匹配块的运动信息确定该子区域的运动信息。Exemplarily, determining the motion information of the current block according to the target motion information angle prediction mode includes: based on a preconfigured angle corresponding to the target motion information angle prediction mode, selecting from surrounding blocks of the current block a plurality of objects pointed to by the preconfigured angle. A peripheral matching block; the current block is divided into at least one sub-area; for each sub-area, a peripheral matching block corresponding to the sub-area can be selected from the plurality of peripheral matching blocks, and according to the motion information of the selected peripheral matching block Determine the motion information for this subregion.
示例性的,根据目标运动信息角度预测模式,确定当前块的运动信息,包括:根据目标运动信息角度预测模式和当前块的尺寸,确定当前块的用于获取运动信息的选择条件、当前块的子区域划分信息,该选择条件为第一选择条件或第二选择条件,第一选择条件为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息,第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;基于目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择预配置角度指向的多个周边匹配块;根据该选择条件、子区域划分信息和多个周边匹配块的运动信息,确定当前块的运动信息。Exemplarily, determining the motion information of the current block according to the target motion information angle prediction mode includes: determining, according to the target motion information angle prediction mode and the size of the current block, a selection condition for acquiring motion information of the current block, a Sub-region division information, the selection condition is the first selection condition or the second selection condition, the first selection condition is that the motion information selected from the motion information of the surrounding matching blocks is not allowed to be bidirectional motion information, and the second selection condition is from the surrounding The motion information selected in the motion information of the matching block is allowed to be bidirectional motion information; based on the pre-configured angle corresponding to the target motion information angle prediction mode, multiple surrounding matching blocks pointed to by the pre-configured angle are selected from the surrounding blocks of the current block; The selection condition, sub-region division information, and motion information of multiple surrounding matching blocks are used to determine the motion information of the current block.
示例性的,根据目标运动信息角度预测模式,确定当前块的运动信息,包括:根据目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择该预配置角度指向的周边匹配块;根据周边匹配块的运动信息,确定当前块的运动信息;若当前块的宽和高都大于或等于8,则当前块是按照8*8划分子块的,并且从周边匹配块的运动信息中选择的运动信息允许是双向运动信息。Exemplarily, determining the motion information of the current block according to the target motion information angle prediction mode includes: according to a preconfigured angle corresponding to the target motion information angle prediction mode, selecting a peripheral match pointed to by the preconfigured angle from surrounding blocks of the current block. block; determine the motion information of the current block according to the motion information of the surrounding matching blocks; if the width and height of the current block are both greater than or equal to 8, the current block is divided into sub-blocks according to 8*8, and the motion of the surrounding matching blocks The motion information selected in the information is allowed to be bidirectional motion information.
实施例4:参见上述实施例,涉及对周边匹配块的运动信息进行填充(实施例2),利用周边匹配块的运动信息确定需要添加到运动信息预测模式候选列表中的运动信息角度预测模式(实施例1),利用运动信息角度预测模式进行运动补偿(实施例3)。在此基础上,可以将实施例1和实施例2组合,对周边匹配块的运动信息进行填充,利用周边匹配块的运动信息确定需要添加到运动信息预测模式候选列表中的运动信息角度预测模式。或者,将实施例2和实施例3组合,利用周边匹配块的运动信息确定需要添加到运动信息预测模式候选列表中的运动信息角度预测模式,并利用运动信息角度预测模式进行运动补偿。或者,将实施例1、实施例2和实施例3组合,对周边匹配块的运动信息进行填充,利用周边匹配块的运动信息确定需要添加到运动信息预测模式候选列表中的运动信息角度预测模式,并利用运动信息角度预测模式进行运动补偿。Embodiment 4: Referring to the above embodiment, it involves filling the motion information of the surrounding matching blocks (Embodiment 2), and using the motion information of the surrounding matching blocks to determine the motion information angle prediction mode that needs to be added to the motion information prediction mode candidate list ( Embodiment 1), using the motion information angle prediction mode to perform motion compensation (Embodiment 3). On this basis,
实施例4中,以将实施例1、实施例2和实施例3组合为例,阐述编解码方法的实现流程。针对将实施例1和实施例2组合、将实施例2和实施例3组合的编解码方法的实现流程,与实施例4的实现流程类似,在此不再赘述。在将实施例1、实施例2和实施例3组合后,参见图6所示,为编解码方法的流程示意图,该方法可以应用于编码端,该方法可以包括:In
步骤601,编码端对当前块的周围块的运动信息进行填充。
例如,若当前块的周围块中存在未编码块,则将未编码块的邻近块的可用运动信息,填充为未编码块的运动信息;或,将未编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为未编码块的运动信息;或,将默认运动信息填充为未编码块的运动信息。若当前块的周围块中存在帧内编码块,则将帧内编码块的邻近块的可用运动信息,填充为帧内编码块的运动信息;或,将帧内编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为帧内编码块的运动信息;或,将默认运动信息填充为帧内编码块的运动信息。For example, if there are uncoded blocks in the surrounding blocks of the current block, fill the available motion information of the adjacent blocks of the uncoded block with the motion information of the uncoded block; or, fill the corresponding position of the uncoded block in the temporal reference frame The available motion information of the reference block is filled with the motion information of the uncoded block; or, the default motion information is filled with the motion information of the uncoded block. If there is an intra-frame coded block in the surrounding blocks of the current block, fill the available motion information of the adjacent blocks of the intra-frame coded block with the motion information of the intra-frame coded block; or, put the intra-frame coded block in the temporal reference frame The available motion information of the reference block at the corresponding position is filled with the motion information of the intra-frame coding block; or, the default motion information is filled with the motion information of the intra-frame coding block.
步骤602,编码端创建与当前块对应的运动信息预测模式候选列表,该运动信息预测模式候选列表可以包括运动信息角度预测模式。当然,该运动信息预测模式候选列表也可以包括其它类型的运动信息预测模式,对此不做限制。Step 602: The encoder creates a motion information prediction mode candidate list corresponding to the current block, where the motion information prediction mode candidate list may include a motion information angle prediction mode. Of course, the motion information prediction mode candidate list may also include other types of motion information prediction modes, which are not limited.
示例性的,运动信息角度预测模式用于指示预配置角度,并根据所述预配置角度从当前块的周边块中为当前块的子区域选择周边匹配块,并根据周边匹配块的运动信息确定当前块的一个或者多个运动信息,也就是说,针对当前块的每个子区域,根据周边匹配块的运动信息确定所述子区域的运动信息。而且,周边匹配块是按照所述预配置角度从周边块中确定出的指定位置处的块。Exemplarily, the motion information angle prediction mode is used to indicate a preconfigured angle, and according to the preconfigured angle, a surrounding matching block is selected from the surrounding blocks of the current block for the sub-region of the current block, and determined according to the motion information of the surrounding matching block. One or more pieces of motion information of the current block, that is, for each sub-region of the current block, the motion information of the sub-region is determined according to the motion information of the surrounding matching blocks. Also, the peripheral matching block is a block at a specified position determined from the peripheral blocks according to the pre-configured angle.
示例性的,周边块包括与当前块相邻的块;或者,周边块包括与当前块相邻的块和非相邻的块。当然,周边块还可以包括其它块,对此不做限制。Exemplarily, the surrounding blocks include blocks adjacent to the current block; or, the surrounding blocks include blocks adjacent to the current block and non-adjacent blocks. Of course, the peripheral blocks may also include other blocks, which are not limited.
示例性的,运动信息角度预测模式包括但不限于:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式。当然,上述只是几个示例,还可以有其它类型的运动信息角度预测模式。Exemplarily, the motion information angle prediction modes include but are not limited to: horizontal prediction mode, vertical prediction mode, horizontal upward prediction mode, horizontal downward prediction mode, and vertical right prediction mode. Of course, the above are just a few examples, and other types of motion information angle prediction modes are also possible.
示例性的,需要创建当前块对应的运动信息预测模式候选列表,编码端和解码端均创建当前块对应的运动信息预测模式候选列表。编码端的运动信息预测模式候选列表与解码端的运动信息预测模式候选列表根据协议约定为相同。编码端和解码端可以采用相同策略,创建相同的运动信息预测模式候选列表。Exemplarily, a motion information prediction mode candidate list corresponding to the current block needs to be created, and both the encoding end and the decoding end create a motion information prediction mode candidate list corresponding to the current block. The motion information prediction mode candidate list at the encoding end and the motion information prediction mode candidate list at the decoding end are the same according to the protocol. The encoding end and the decoding end can adopt the same strategy to create the same motion information prediction mode candidate list.
示例性的,可以为当前块创建一个运动信息预测模式候选列表,即当前块内的所有子区域,可以对应相同的运动信息预测模式候选列表;或者,可以为当前块创建多个运动信息预测模式候选列表。针对不同的当前块,可以对应相同或者不同的运动信息预测模式候选列表。为了方便描述,以为每个当前块创建一个运动信息预测模式候选列表为例,例如,当前块A对应运动信息预测模式候选列表1、当前块B对应运动信息预测模式候选列表1,以此类推。Exemplarily, a motion information prediction mode candidate list may be created for the current block, that is, all sub-regions in the current block may correspond to the same motion information prediction mode candidate list; or, multiple motion information prediction modes may be created for the current block. Candidate list. Different current blocks may correspond to the same or different motion information prediction mode candidate lists. For the convenience of description, create a motion information prediction mode candidate list for each current block as an example, for example, current block A corresponds to motion information prediction
在一个例子中,本申请实施例中的运动信息角度预测模式,可以是预测运动信息的角度预测模式,即用于帧间编码过程,而不是应用于帧内编码过程,而且,运动信息角度预测模式选择的是匹配块,而不是匹配的像素点。In one example, the motion information angle prediction mode in this embodiment of the present application may be an angle prediction mode for predicting motion information, that is, it is used in the inter-frame coding process, rather than in the intra-frame coding process, and the motion information angle prediction mode The mode selects matching blocks, not matching pixels.
示例性的,针对步骤602的处理过程,该过程可以包括以下步骤:Exemplarily, for the processing procedure of
步骤a1、获取当前块的至少一个运动信息角度预测模式。Step a1: Obtain at least one motion information angle prediction mode of the current block.
例如,可以依次获取如下运动信息角度预测模式:水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式。当然,上述方式只是几个示例,对此不做限制,预配置角度可以是0-360度之间的任意角度,可以将子区域的中心点向右的水平方向定位为0度,这样,从0度逆时针旋转的任意角度均可以为预配置角度,或者,可以将子区域的中心点向其他方向定位为0度。在实际应用中,预配置角度可以是分数角度,如22.5度等。For example, the following motion information angle prediction modes may be acquired in sequence: horizontal prediction mode, vertical prediction mode, horizontal upward prediction mode, horizontal downward prediction mode, and vertical right prediction mode. Of course, the above methods are just a few examples, which are not limited. The pre-configured angle can be any angle between 0 and 360 degrees. Any angle rotated counterclockwise by 0 degrees may be a preconfigured angle, or the center point of the sub-region may be positioned to be 0 degrees in other directions. In practical applications, the pre-configured angle may be a fractional angle, such as 22.5 degrees.
步骤a2、针对每个运动信息角度预测模式,基于该运动信息角度预测模式的预配置角度,从当前块的周边块中选择该预配置角度指向的多个周边匹配块。Step a2: For each motion information angle prediction mode, based on the preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from the surrounding blocks of the current block.
步骤a3,若多个周边匹配块的运动信息不完全相同,将运动信息角度预测模式添加到运动信息预测模式候选列表中。若多个周边匹配块的运动信息完全相同,禁止将运动信息角度预测模式添加到运动信息预测模式候选列表中。Step a3, if the motion information of multiple surrounding matching blocks are not identical, add the motion information angle prediction mode to the motion information prediction mode candidate list. If the motion information of multiple neighboring matching blocks is exactly the same, it is prohibited to add the motion information angle prediction mode to the motion information prediction mode candidate list.
例如,针对水平预测模式,按照水平预测模式的预配置角度从当前块的所有周边块中选择该预配置角度指向的多个周边匹配块。然后,从所述多个周边匹配块中选择至少一个第一周边匹配块(如所有周边匹配块的全部或部分)。For example, for the horizontal prediction mode, according to the pre-configured angle of the horizontal prediction mode, from all surrounding blocks of the current block, a plurality of surrounding matching blocks pointed to by the pre-configured angle are selected. Then, at least one first perimeter matching block (eg, all or part of all perimeter matching blocks) is selected from the plurality of perimeter matching blocks.
针对每个第一周边匹配块,从所述多个周边匹配块中选择第一周边匹配块对应的第二周边匹配块。若第一周边匹配块的运动信息与第一周边匹配块对应的第二周边匹配块的运动信息不同,则确定第一周边匹配块的比较结果为运动信息不同。若第一周边匹配块的运动信息与第一周边匹配块对应的第二周边匹配块的运动信息相同,则确定第一周边匹配块的比较结果为运动信息相同。For each first peripheral matching block, a second peripheral matching block corresponding to the first peripheral matching block is selected from the plurality of peripheral matching blocks. If the motion information of the first peripheral matching block is different from the motion information of the second peripheral matching block corresponding to the first peripheral matching block, it is determined that the comparison result of the first peripheral matching block is that the motion information is different. If the motion information of the first peripheral matching block is the same as the motion information of the second peripheral matching block corresponding to the first peripheral matching block, it is determined that the comparison result of the first peripheral matching block is the same motion information.
在得到每个第一周边匹配块的比较结果之后,若任一第一周边匹配块的比较结果为运动信息不同,则可以确定多个周边匹配块的运动信息不完全相同,并将水平预测模式添加到运动信息预测模式候选列表中。若所有第一周边匹配块的比较结果均为运动信息相同,则可以确定多个周边匹配块的运动信息完全相同,并禁止将水平预测模式添加到运动信息预测模式候选列表中。After obtaining the comparison result of each first surrounding matching block, if the comparison result of any first surrounding matching block is that the motion information is different, it can be determined that the motion information of the multiple surrounding matching blocks is not identical, and the horizontal prediction mode Added to the motion information prediction mode candidate list. If the comparison results of all the first surrounding matching blocks are the same motion information, it can be determined that the motion information of the multiple surrounding matching blocks is the same, and it is forbidden to add the horizontal prediction mode to the motion information prediction mode candidate list.
针对垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式等,其处理过程参见水平预测模式的处理过程,在此不再重复赘述。For the vertical prediction mode, the horizontal upward prediction mode, the horizontal downward prediction mode, the vertical right prediction mode, etc., for the processing process, please refer to the processing process of the horizontal prediction mode, which will not be repeated here.
至此,针对每个运动信息角度预测模式,可以将该运动信息角度预测模式添加到运动信息预测模式候选列表,或者,未将该运动信息角度预测模式添加到运动信息预测模式候选列表。参见图5B所示,假设将水平向下预测模式和垂直向右预测模式添加到运动信息预测模式候选列表,而未将水平预测模式、垂直预测模式、水平向上预测模式添加到运动信息预测模式候选列表。So far, for each motion information angle prediction mode, the motion information angle prediction mode may be added to the motion information prediction mode candidate list, or the motion information angle prediction mode may not be added to the motion information prediction mode candidate list. Referring to FIG. 5B , it is assumed that the horizontal down prediction mode and the vertical right prediction mode are added to the motion information prediction mode candidate list, and the horizontal prediction mode, the vertical prediction mode, and the horizontal up prediction mode are not added to the motion information prediction mode candidates. list.
经过上述处理,可以创建运动信息预测模式候选列表,且运动信息预测模式候选列表包括水平向下预测模式和垂直向右预测模式。当然,运动信息预测模式候选列表还可以包括其它类型的运动信息预测模式,对此不做限制。After the above processing, a motion information prediction mode candidate list can be created, and the motion information prediction mode candidate list includes a horizontal down prediction mode and a vertical right prediction mode. Of course, the motion information prediction mode candidate list may also include other types of motion information prediction modes, which are not limited.
步骤603,编码端从运动信息预测模式候选列表中选择当前块的目标运动信息预测模式,该目标运动信息预测模式可以为目标运动信息角度预测模式,或者,其它类型的运动信息预测模式(即传统方式的运动信息预测模式)。
例如,假设运动信息预测模式候选列表中包括:水平向下预测模式、垂直向右预测模式、其它类型的运动信息预测模式R(采用传统方式得到)。For example, it is assumed that the motion information prediction mode candidate list includes: horizontal downward prediction mode, vertical right prediction mode, and other types of motion information prediction modes R (obtained in a conventional manner).
针对水平向下预测模式,按照水平向下预测模式的预配置角度,从当前块的所有周边块中选择该预配置角度指向的多个周边匹配块。根据多个周边匹配块分别对应的多个运动信息,确定水平向下预测模式对应的率失真代价A。For the horizontal downward prediction mode, according to the preconfigured angle of the horizontal downward prediction mode, a plurality of surrounding matching blocks pointed to by the preconfigured angle are selected from all surrounding blocks of the current block. The rate-distortion cost A corresponding to the horizontal downward prediction mode is determined according to a plurality of pieces of motion information corresponding to the plurality of surrounding matching blocks respectively.
根据多个周边匹配块分别对应的多个运动信息,可以采用率失真原则确定水平向下预测模式对应的率失真代价A。该率失真代价A可以通过如下公式确定:J(mode)=D+λ*R,示例性的,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和,对此确定方式不做限制。The rate-distortion cost A corresponding to the horizontal downward prediction mode can be determined according to the multiple pieces of motion information corresponding to the multiple peripheral matching blocks respectively, using the rate-distortion principle. The rate-distortion cost A can be determined by the following formula: J(mode)=D+λ*R, exemplarily, D represents Distortion (distortion), which can usually be measured using the SSE index, which refers to the difference between the reconstructed image block and the source. The mean square sum of the difference values of the image; λ is the Lagrange multiplier, R is the actual number of bits required for image block coding in this mode, including the sum of bits required for coding mode information, motion information, residuals, etc., This determination method is not limited.
同理,可以确定垂直向右预测模式对应的率失真代价,具体确定方式可以参见水平向下预测模式的确定方式,例如,垂直向右预测模式对应率失真代价B。可以采用率失真原则确定运动信息预测模式R对应的率失真代价,对此确定方式不做限制,例如,运动信息预测模式R对应率失真代价C。Similarly, the rate-distortion cost corresponding to the vertical right prediction mode can be determined, and the specific determination method can refer to the determination method of the horizontal down prediction mode, for example, the rate-distortion cost B corresponding to the vertical right prediction mode. The rate-distortion cost corresponding to the motion information prediction mode R may be determined using the rate-distortion principle, and the determination method is not limited. For example, the motion information prediction mode R corresponds to the rate-distortion cost C.
从率失真代价A、率失真代价B和率失真代价C中确定最小的率失真代价,将最小的率失真代价对应的运动信息预测模式确定为目标运动信息预测模式。例如,当率失真代价A最小时,目标运动信息预测模式为水平向下预测模式。The smallest rate-distortion cost is determined from rate-distortion cost A, rate-distortion cost B, and rate-distortion cost C, and the motion information prediction mode corresponding to the smallest rate-distortion cost is determined as the target motion information prediction mode. For example, when the rate-distortion cost A is the smallest, the target motion information prediction mode is the horizontal down prediction mode.
步骤604,若目标运动信息预测模式为目标运动信息角度预测模式,则编码端根据该目标运动信息角度预测模式对当前块进行编码。
示例性的,编码端可以根据目标运动信息角度预测模式确定当前块内的每个子区域的运动信息,利用每个子区域的运动信息对该子区域进行运动补偿。Exemplarily, the encoder may determine the motion information of each sub-region in the current block according to the target motion information angle prediction mode, and use the motion information of each sub-region to perform motion compensation on the sub-region.
示例性的,根据该目标运动信息角度预测模式对当前块进行编码,可以包括:根据该目标运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值,这个过程也就是运动补偿过程。Exemplarily, encoding the current block according to the target motion information angle prediction mode may include: determining the motion information of the current block according to the target motion information angle prediction mode; determining the prediction value of the current block according to the motion information of the current block , this process is also the motion compensation process.
根据目标运动信息角度预测模式确定当前块的运动信息,可以包括:Determine the motion information of the current block according to the target motion information angle prediction mode, which may include:
方式一、针对当前块的运动信息的确定过程,可以包括以下步骤:Mode 1: The process of determining the motion information of the current block may include the following steps:
步骤b1、根据目标运动信息角度预测模式和当前块的尺寸,确定当前块的用于获取运动信息的选择条件。示例性的,所述选择条件可以为第一选择条件或者第二选择条件,第一选择条件可以为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息(即允许单向运动信息,或双向运动信息中的前向运动信息,或双向运动信息中的后向运动信息),第二选择条件可以为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息(即允许单向运动信息、双向运动信息中的前向运动信息、双向运动信息中的后向运动信息)。Step b1: Determine the selection condition of the current block for acquiring the motion information according to the target motion information angle prediction mode and the size of the current block. Exemplarily, the selection condition may be a first selection condition or a second selection condition, and the first selection condition may be that the motion information selected from the motion information of the surrounding matching blocks is not allowed to be bidirectional motion information (that is, unidirectional motion is allowed. information, or the forward motion information in the bidirectional motion information, or the backward motion information in the bidirectional motion information), the second selection condition may be that the motion information selected from the motion information of the surrounding matching blocks is allowed to be bidirectional motion information (ie Unidirectional motion information, forward motion information in bidirectional motion information, backward motion information in bidirectional motion information are allowed).
例如,若当前块的尺寸满足:宽大于或等于预设尺寸参数(可以根据经验配置,如8等),高大于或等于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第二选择条件。若当前块的尺寸满足:宽小于预设尺寸参数,高大于预设尺寸参数,当目标运动信息角度预测模式为垂直预测模式时,则确定所述选择条件为第二选择条件;当目标运动信息角度预测模式为垂直预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件。For example, if the size of the current block satisfies: the width is greater than or equal to the preset size parameter (which can be configured according to experience, such as 8, etc.), and the height is greater than or equal to the preset size parameter, for any motion information angle prediction mode, determine the The selection condition is the second selection condition. If the size of the current block satisfies: the width is smaller than the preset size parameter, and the height is larger than the preset size parameter, when the target motion information angle prediction mode is the vertical prediction mode, the selection condition is determined to be the second selection condition; When the angle prediction mode is another prediction mode other than the vertical prediction mode, the selection condition is determined to be the first selection condition.
又例如,若当前块的尺寸满足:高小于预设尺寸参数,宽大于预设尺寸参数,当目标运动信息角度预测模式为水平预测模式时,则确定所述选择条件为第二选择条件;当目标运动信息角度预测模式为水平预测模式之外的其他预测模式时,则确定所述选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽等于预设尺寸参数,或者高等于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定所述选择条件为第一选择条件。For another example, if the size of the current block satisfies: the height is smaller than the preset size parameter, and the width is larger than the preset size parameter, when the target motion information angle prediction mode is the horizontal prediction mode, then it is determined that the selection condition is the second selection condition; when When the target motion information angle prediction mode is another prediction mode other than the horizontal prediction mode, the selection condition is determined to be the first selection condition. If the size of the current block satisfies: the height is smaller than the preset size parameter, and the width is smaller than the preset size parameter, for any motion information angle prediction mode, the selection condition is determined to be the first selection condition. If the size of the current block satisfies: the height is smaller than the preset size parameter, and the width is equal to the preset size parameter, or the height is equal to the preset size parameter, and the width is smaller than the preset size parameter, for any motion information angle prediction mode, the selection is determined. The condition is the first selection condition.
参见后续实施例中的表1所示,以预设尺寸参数是8为例进行说明,在表1中的“单向”,表示选择条件为第一选择条件,即不允许是双向运动信息,在表1中的“双向”,表示选择条件为第二选择条件,即允许是双向运动信息。Referring to Table 1 in the subsequent embodiments, the preset size parameter is 8 as an example for description. "One-way" in Table 1 means that the selection condition is the first selection condition, that is, bidirectional motion information is not allowed. "Bidirectional" in Table 1 indicates that the selection condition is the second selection condition, that is, the permission is bidirectional motion information.
步骤b2、根据目标运动信息角度预测模式和当前块的尺寸,确定当前块的子区域划分信息,即子区域划分信息表示将当前块划分为子区域的方式。Step b2: Determine the sub-region division information of the current block according to the target motion information angle prediction mode and the size of the current block, that is, the sub-region division information indicates the way of dividing the current block into sub-regions.
示例性的,当目标运动信息角度预测模式为水平向上预测模式、水平向下预测模式或垂直向右预测模式时,若当前块的宽大于或等于预设尺寸参数,当前块的高大于或等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,或,当前块的高小于预设尺寸参数,则子区域的大小为4*4。Exemplarily, when the target motion information angle prediction mode is the horizontal upward prediction mode, the horizontal downward prediction mode or the vertical right prediction mode, if the width of the current block is greater than or equal to the preset size parameter, the height of the current block is greater than or equal to If the preset size parameter is used, the size of the sub-region is 8*8; if the width of the current block is smaller than the preset size parameter, or the height of the current block is smaller than the preset size parameter, the size of the sub-region is 4*4.
当目标运动信息角度预测模式为水平预测模式时,若当前块的宽大于预设尺寸参数,则子区域的大小为当前块的宽*4,或者,子区域的大小为4*4;若当前块的宽等于预设尺寸参数,且当前块的高大于或等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,则子区域的大小为4*4。When the target motion information angle prediction mode is the horizontal prediction mode, if the width of the current block is larger than the preset size parameter, the size of the sub-region is the width of the current block*4, or the size of the sub-region is 4*4; If the width of the block is equal to the preset size parameter, and the height of the current block is greater than or equal to the preset size parameter, the size of the sub-region is 8*8; if the width of the current block is smaller than the preset size parameter, the size of the sub-region is 4 *4.
当目标运动信息角度预测模式为垂直预测模式时,若当前块的高大于预设尺寸参数,则子区域的大小为4*当前块的高,或者,子区域的大小为4*4;若当前块的高等于预设尺寸参数,且当前块的宽大于或等于预设尺寸参数,则子区域的大小为8*8;若当前块的高小于预设尺寸参数,则子区域的大小为4*4。When the target motion information angle prediction mode is the vertical prediction mode, if the height of the current block is greater than the preset size parameter, the size of the sub-region is 4*the height of the current block, or the size of the sub-region is 4*4; If the height of the block is equal to the preset size parameter, and the width of the current block is greater than or equal to the preset size parameter, the size of the sub-region is 8*8; if the height of the current block is less than the preset size parameter, the size of the sub-region is 4 *4.
参见后续实施例中的表1所示,以预设尺寸参数是8为例进行说明。Referring to Table 1 in the subsequent embodiments, the preset size parameter is 8 as an example for description.
在一个例子中,当前块的尺寸、运动信息角度预测模式、子区域的大小、子区域的方向(单向表示第一选择条件,即不允许是双向运动信息,双向表示第二选择条件,即允许是双向运动信息),可以参见如下所示的表1所示。In one example, the size of the current block, the motion information angle prediction mode, the size of the sub-region, and the direction of the sub-region (unidirectional means the first selection condition, that is, bidirectional motion information is not allowed, and bidirectional means the second selection condition, that is, Allowed is bidirectional motion information), which can be seen in Table 1 shown below.
表1Table 1
在一个例子中,当目标运动信息角度预测模式为水平预测模式时,若当前块的宽大于8,则子区域的大小也可以为4*4。当目标运动信息角度预测模式为垂直预测模式时,若当前块的高大于8,则子区域的大小也可以为4*4。In an example, when the target motion information angle prediction mode is the horizontal prediction mode, if the width of the current block is greater than 8, the size of the sub-region may also be 4*4. When the target motion information angle prediction mode is the vertical prediction mode, if the height of the current block is greater than 8, the size of the sub-region may also be 4*4.
步骤b3、基于目标运动信息角度预测模式对应的预配置角度,编码端从当前块的周边块中选择该预配置角度指向的多个周边匹配块。Step b3: Based on the pre-configured angle corresponding to the target motion information angle prediction mode, the encoder selects a plurality of surrounding matching blocks pointed to by the pre-configured angle from the surrounding blocks of the current block.
例如,针对水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式中的任意一种运动信息角度预测模式,均可以获知该运动信息角度预测模式对应的预配置角度。在获知预配置角度后,就可以从当前块的周边块中选择该预配置角度指向的周边匹配块,对此不做限制。For example, for any motion information angle prediction mode among the horizontal prediction mode, the vertical prediction mode, the horizontal upward prediction mode, the horizontal downward prediction mode, and the vertical right prediction mode, the prediction mode corresponding to the motion information angle prediction mode can be known. Configure the angle. After the pre-configured angle is known, the surrounding matching block pointed to by the pre-configured angle can be selected from the surrounding blocks of the current block, which is not limited.
步骤b4、根据该选择条件、该子区域划分信息和多个周边匹配块的运动信息,确定当前块的运动信息。例如,根据该子区域划分信息将当前块划分为至少一个子区域;针对当前块的每个子区域,可以根据该目标运动信息角度预测模式从当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和选择条件,确定该子区域的运动信息。然后,将所述至少一个子区域的运动信息确定为所述当前块的运动信息。Step b4: Determine the motion information of the current block according to the selection condition, the sub-region division information and the motion information of a plurality of surrounding matching blocks. For example, the current block is divided into at least one sub-region according to the sub-region division information; for each sub-region of the current block, the angular prediction mode of the target motion information can be selected from the surrounding matching blocks of the current block corresponding to the sub-region. The surrounding matching block is used to determine the motion information of the sub-region according to the motion information and selection conditions of the surrounding matching block corresponding to the sub-region. Then, the motion information of the at least one sub-region is determined as the motion information of the current block.
例如,参见上述实施例,假设根据子区域划分信息将当前块划分为子区域1和子区域2。针对子区域1,根据目标运动信息角度预测模式从当前块的周边匹配块中选择与子区域1对应的周边匹配块1。假设周边匹配块1存储的是双向运动信息(即前向运动信息和后向运动信息),若子区域1的选择条件为第一选择条件,将周边匹配块1对应的前向运动信息或者后向运动信息作为子区域1的运动信息。若子区域1的选择条件为第二选择条件,将周边匹配块1对应的双向运动信息(即前向运动信息和后向运动信息),作为子区域1的运动信息。For example, referring to the above-mentioned embodiment, it is assumed that the current block is divided into
针对子区域2,根据目标运动信息角度预测模式从当前块的周边匹配块中选择与子区域2对应的周边匹配块2。假设周边匹配块2存储的是单向运动信息,则将周边匹配块2对应的单向运动信息作为子区域2的运动信息。然后,将子区域1的运动信息和子区域2的运动信息都确定为当前块的运动信息。可以将子区域1的运动信息,以及子区域2的运动信息按照4*4子块大小进行存储。For the
方式二、针对当前块的运动信息的确定过程,可以包括以下步骤:Mode 2: The process of determining the motion information of the current block may include the following steps:
步骤c1、根据目标运动信息角度预测模式对应的预配置角度,编码端从当前块的周边块中选择该预配置角度指向的周边匹配块。Step c1: According to the pre-configured angle corresponding to the target motion information angle prediction mode, the encoding end selects a surrounding matching block pointed to by the pre-configured angle from the surrounding blocks of the current block.
例如,针对水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式中的任意一种运动信息角度预测模式,均可以获知该运动信息角度预测模式对应的预配置角度。在获知预配置角度后,就可以从当前块的周边块中选择该预配置角度指向的周边匹配块,对此不做限制。For example, for any motion information angle prediction mode among the horizontal prediction mode, the vertical prediction mode, the horizontal upward prediction mode, the horizontal downward prediction mode, and the vertical right prediction mode, the prediction mode corresponding to the motion information angle prediction mode can be known. Configure the angle. After the pre-configured angle is known, the surrounding matching block pointed to by the pre-configured angle can be selected from the surrounding blocks of the current block, which is not limited.
步骤c2、根据周边匹配块的运动信息,确定当前块的运动信息。Step c2: Determine the motion information of the current block according to the motion information of the surrounding matched blocks.
示例性的,若当前块的宽和高都大于或等于8,则当前块是按照8*8划分子块的,并且从周边匹配块的运动信息中选择的运动信息允许是双向运动信息。Exemplarily, if both the width and height of the current block are greater than or equal to 8, the current block is divided into sub-blocks according to 8*8, and the motion information selected from the motion information of the surrounding matched blocks is allowed to be bidirectional motion information.
例如,若当前块的宽和高都大于或等于8,按照8*8的方式将当前块划分为至少一个子区域。针对当前块的每个子区域,根据该子区域对应的周边匹配块的运动信息确定该子区域的运动信息,周边匹配块的运动信息允许是双向运动信息(即允许单向运动信息、双向运动信息中的前向运动信息、双向运动信息中的后向运动信息)。将至少一个子区域的运动信息确定为当前块的运动信息。For example, if the width and height of the current block are both greater than or equal to 8, the current block is divided into at least one sub-region in the manner of 8*8. For each sub-area of the current block, the motion information of the sub-area is determined according to the motion information of the surrounding matching blocks corresponding to the sub-area, and the motion information of the surrounding matching blocks is allowed to be bidirectional motion information (that is, unidirectional motion information, bidirectional motion information are allowed Forward motion information in , backward motion information in bidirectional motion information). The motion information of at least one sub-region is determined as the motion information of the current block.
方式三、针对当前块的运动信息的确定过程,可以包括以下步骤:Mode 3: The process of determining the motion information of the current block may include the following steps:
步骤d1、根据当前块的尺寸确定当前块的用于获取运动信息的选择条件;所述选择条件为第二选择条件,第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息(允许单向运动信息、双向运动信息中的前向运动信息、双向运动信息中的后向运动信息)。例如,若当前块的尺寸满足:宽大于或等于预设尺寸参数(根据经验配置,如8),高大于或等于预设尺寸参数,则确定该选择条件为第二选择条件,与目标运动信息角度预测模式无关。Step d1, determine the selection condition for obtaining motion information of the current block according to the size of the current block; the selection condition is the second selection condition, and the second selection condition is that the motion information selected from the motion information of the surrounding matching blocks is allowed to be: Bidirectional motion information (unidirectional motion information, forward motion information in bidirectional motion information, backward motion information in bidirectional motion information are allowed). For example, if the size of the current block satisfies: the width is greater than or equal to the preset size parameter (configured according to experience, such as 8), and the height is greater than or equal to the preset size parameter, then the selection condition is determined to be the second selection condition, and the target motion information Angular prediction mode is irrelevant.
步骤d2、根据当前块的尺寸确定当前块的子区域划分信息。例如,若当前块的尺寸满足:宽大于或等于预设尺寸参数(根据经验配置,如8),高大于或等于预设尺寸参数,则子区域的大小为8*8,与目标运动信息角度预测模式无关。Step d2: Determine the sub-region division information of the current block according to the size of the current block. For example, if the size of the current block satisfies: the width is greater than or equal to the preset size parameter (configured according to experience, such as 8), and the height is greater than or equal to the preset size parameter, then the size of the sub-region is 8*8, and the angle of the target motion information The prediction mode is irrelevant.
步骤d3、根据目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择预配置角度指向的周边匹配块。例如,在获知预配置角度后,就可以从当前块的周边块中选择该预配置角度指向的周边匹配块,对此不做限制。Step d3: According to the pre-configured angle corresponding to the target motion information angle prediction mode, select a surrounding matching block pointed to by the pre-configured angle from the surrounding blocks of the current block. For example, after the pre-configured angle is known, the peripheral matching block pointed to by the pre-configured angle may be selected from the peripheral blocks of the current block, which is not limited.
步骤d4、根据该选择条件、该子区域划分信息和周边匹配块的运动信息,确定当前块的运动信息。例如,编码端可以根据该子区域划分信息将当前块划分为至少一个子区域;针对当前块的每个子区域,根据目标运动信息角度预测模式从当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和该选择条件,确定该子区域的运动信息。然后,可以将至少一个子区域的运动信息确定为当前块的运动信息。Step d4: Determine the motion information of the current block according to the selection condition, the sub-region division information and the motion information of the surrounding matching blocks. For example, the encoder can divide the current block into at least one sub-area according to the sub-area division information; for each sub-area of the current block, select from the surrounding matching blocks of the current block according to the target motion information angle prediction mode corresponding to the sub-area and the motion information of the sub-region is determined according to the motion information of the surrounding matching block corresponding to the sub-region and the selection condition. Then, the motion information of the at least one sub-region may be determined as the motion information of the current block.
方式四、针对当前块的运动信息的确定过程,可以包括以下步骤:Mode 4: The process of determining the motion information of the current block may include the following steps:
步骤e1、基于目标运动信息角度预测模式对应的预配置角度,编码端从当前块的周边块中选择该预配置角度指向的多个周边匹配块。Step e1: Based on the pre-configured angle corresponding to the target motion information angle prediction mode, the encoder selects a plurality of surrounding matching blocks pointed to by the pre-configured angle from the surrounding blocks of the current block.
例如,针对水平预测模式、垂直预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式中的任意一种运动信息角度预测模式,均可以获知该运动信息角度预测模式对应的预配置角度。在获知预配置角度后,就可以从当前块的周边块中选择该预配置角度指向的周边匹配块,对此不做限制。For example, for any motion information angle prediction mode among the horizontal prediction mode, the vertical prediction mode, the horizontal upward prediction mode, the horizontal downward prediction mode, and the vertical right prediction mode, the prediction mode corresponding to the motion information angle prediction mode can be known. Configure the angle. After the pre-configured angle is known, the surrounding matching block pointed to by the pre-configured angle can be selected from the surrounding blocks of the current block, which is not limited.
步骤e2、编码端将当前块划分为至少一个子区域,对此划分方式不做限制。Step e2: The encoding end divides the current block into at least one sub-region, and the division method is not limited.
步骤e3、针对每个子区域,编码端从多个周边匹配块中选择与该子区域对应的周边匹配块,根据选择的周边匹配块的运动信息确定该子区域的运动信息。Step e3: For each sub-region, the encoder selects a surrounding matching block corresponding to the sub-region from a plurality of surrounding matching blocks, and determines the motion information of the sub-region according to the motion information of the selected surrounding matching block.
例如,针对当前块的每个子区域,从多个周边匹配块中选择与该子区域对应的周边匹配块,并将该周边匹配块的运动信息确定为该子区域的运动信息。For example, for each sub-region of the current block, a surrounding matching block corresponding to the sub-region is selected from a plurality of surrounding matching blocks, and the motion information of the surrounding matching block is determined as the motion information of the sub-region.
步骤e4、将所述至少一个子区域的运动信息确定为当前块的运动信息。Step e4: Determine the motion information of the at least one sub-region as the motion information of the current block.
实施例5:基于与上述方法同样的申请构思,参见图7所示,为本申请实施例的编解码方法的流程示意图,该方法可以应用于解码端,该方法可以包括:Embodiment 5: Based on the same application concept as the above method, referring to FIG. 7 , which is a schematic flowchart of the encoding and decoding method according to the embodiment of the application, the method can be applied to the decoding end, and the method can include:
步骤701,解码端对当前块的周围块的运动信息进行填充。
步骤702,解码端创建与当前块对应的运动信息预测模式候选列表,该运动信息预测模式候选列表可以包括运动信息角度预测模式。当然,该运动信息预测模式候选列表也可以包括其它类型的运动信息预测模式,对此不做限制。Step 702: The decoding end creates a motion information prediction mode candidate list corresponding to the current block, where the motion information prediction mode candidate list may include a motion information angle prediction mode. Of course, the motion information prediction mode candidate list may also include other types of motion information prediction modes, which are not limited.
示例性的,解码端的运动信息预测模式候选列表与编码端的运动信息预测模式候选列表相同,即二者的运动信息预测模式的顺序完全相同。Exemplarily, the motion information prediction mode candidate list at the decoding end is the same as the motion information prediction mode candidate list at the encoding end, that is, the motion information prediction modes of the two are in exactly the same order.
示例性的,步骤701-步骤702参见步骤601-步骤602,在此不再赘述。Exemplarily, for
步骤703,解码端从运动信息预测模式候选列表中选择当前块的目标运动信息预测模式,该目标运动信息预测模式可以为目标运动信息角度预测模式,或者,其它类型的运动信息预测模式(即传统方式的运动信息预测模式)。
示例性的,针对步骤703的处理过程,该过程可以包括以下步骤:Exemplarily, for the processing procedure of
步骤f1、解码端从编码比特流中获取指示信息,该指示信息用于指示目标运动信息预测模式在运动信息预测模式候选列表的索引信息。Step f1, the decoding end obtains indication information from the encoded bit stream, where the indication information is used to indicate the index information of the target motion information prediction mode in the motion information prediction mode candidate list.
示例性的,编码端向解码端发送编码比特流时,该编码比特流携带指示信息,该指示信息用于指示目标运动信息预测模式在运动信息预测模式候选列表的索引信息。例如,运动信息预测模式候选列表依次包括:水平向下预测模式、垂直向右预测模式、运动信息预测模式R,且指示信息用于指示索引信息1,索引信息1表示运动信息预测模式候选列表中的第一个运动信息预测模式。Exemplarily, when the encoding end sends an encoded bit stream to the decoding end, the encoded bit stream carries indication information, where the indication information is used to indicate index information of the target motion information prediction mode in the motion information prediction mode candidate list. For example, the motion information prediction mode candidate list sequentially includes: horizontal downward prediction mode, vertical right prediction mode, and motion information prediction mode R, and the indication information is used to indicate
步骤f2、解码端从运动信息预测模式候选列表中选择与该索引信息对应的运动信息预测模式,并将选择的运动信息预测模式确定为当前块的目标运动信息预测模式。例如,当指示信息用于指示索引信息1时,则解码端可以将运动信息预测模式候选列表中的第1个运动信息预测模式,确定为当前块的目标运动信息预测模式,也就是说,目标运动信息预测模式为水平向下预测模式。Step f2, the decoding end selects the motion information prediction mode corresponding to the index information from the motion information prediction mode candidate list, and determines the selected motion information prediction mode as the target motion information prediction mode of the current block. For example, when the indication information is used to indicate
步骤704,若目标运动信息预测模式为目标运动信息角度预测模式,则解码端根据该目标运动信息角度预测模式对当前块进行解码。
示例性的,解码端可以根据目标运动信息角度预测模式确定当前块内的每个子区域的运动信息,利用每个子区域的运动信息对该子区域进行运动补偿。Exemplarily, the decoding end may determine the motion information of each sub-region in the current block according to the target motion information angle prediction mode, and use the motion information of each sub-region to perform motion compensation on the sub-region.
示例性的,根据该目标运动信息角度预测模式对当前块进行解码,可以包括:根据该目标运动信息角度预测模式,确定当前块的运动信息;根据当前块的运动信息,确定当前块的预测值,这个过程也就是运动补偿过程。Exemplarily, decoding the current block according to the target motion information angle prediction mode may include: determining the motion information of the current block according to the target motion information angle prediction mode; determining the prediction value of the current block according to the motion information of the current block , this process is also the motion compensation process.
示例性的,步骤704的实现过程可以参见步骤604,在此不再赘述。Exemplarily, for the implementation process of
实施例6:针对步骤601和步骤701,需要对当前块的周围块的运动信息进行填充,若当前块的宽和高都为16,周围块的运动信息按照4*4的最小单位进行保存。参见图8A所示,假设A14、A15、A16和A17为未编码块,则对这些未编码块进行填充,其填充方法可以为以下任意一种:采用邻近块的可用运动信息进行填充;采用默认运动信息(如零运动矢量)进行填充;采用时域参考帧对应位置块的可用运动信息进行填充。当然,上述方式只是示例,对此不做限制。若当前块的尺寸为其它大小,也可以采用上述方式填充,在此不再赘述。Embodiment 6: For
实施例7:针对步骤601和步骤701,需要对当前块的周围块的运动信息进行填充,若当前块的宽和高都为16,周围块的运动信息按照4*4的最小单位进行保存。参见图8B所示,假设A7为帧内编码块,则需要对这些帧内编码块进行填充,其填充方法可以为以下任意一种:采用邻近块的可用运动信息进行填充;采用默认运动信息(如零运动矢量)进行填充;采用时域参考帧对应位置块的可用运动信息进行填充。当然,上述方式只是示例,对此不做限制。若当前块的尺寸为其它大小,也可以采用上述方式填充,在此不再赘述。Embodiment 7: For
实施例8:针对步骤602和步骤702,需要创建与当前块对应的运动信息预测模式候选列表,该运动信息预测模式候选列表包括运动信息角度预测模式。Embodiment 8: For
参见图9A所示,当前块的周边块可以包括但不限于:周边块A1、周边块A2、...、周边块Am、周边块Am+1、...、周边块Am+n、周边块Am+n+1、周边块Am+n+2、...、周边块A2m+n+1、周边块A2m+n+2、...、周边块A2m+2n+1,或者其它周边块。综上所述,当前块的周边块可以包括但不限于:与当前块相邻的块,与当前块非相邻的块,甚至包括其它相邻帧中的块,对此不做限制。Referring to FIG. 9A , the surrounding blocks of the current block may include, but are not limited to: surrounding blocks A1, surrounding blocks A2, . . . , surrounding blocks Am, surrounding blocks Am+1, . . . , surrounding blocks Am+n, surrounding blocks block Am+n+1, peripheral block Am+n+2, ..., peripheral block A2m+n+1, peripheral block A2m+n+2, ..., peripheral block A2m+2n+1, or other peripheral piece. To sum up, the surrounding blocks of the current block may include, but are not limited to, blocks adjacent to the current block, blocks not adjacent to the current block, and even blocks in other adjacent frames, which are not limited.
当前块的宽度值为W,当前块的高度值为H,周边块的运动信息按照4*4的最小单位进行保存。m和n的大小分别为W/4和H/4,令i为[1,m]中的任意整数,令j=i+step,1<=step<=Max(m,n),step为遍历步长,为整数,Max(m,n)为m和n中的最大值,k为[2m+n+2,2m+2n+1]中任意整数,进行如下比较过程:The width value of the current block is W, the height value of the current block is H, and the motion information of the surrounding blocks is stored in the smallest unit of 4*4. The sizes of m and n are W/4 and H/4 respectively, let i be any integer in [1,m], let j=i+step, 1<=step<=Max(m,n), step is The traversal step is an integer, Max(m,n) is the maximum value between m and n, and k is any integer in [2m+n+2,2m+2n+1], and the following comparison process is performed:
步骤g1、判断j是否大于k,如果大于,退出比较过程,否则执行步骤g2。Step g1, judge whether j is greater than k, if so, exit the comparison process, otherwise, execute step g2.
步骤g2、将周边块Ai的运动信息与周边块Aj的运动信息进行比较。Step g2, compare the motion information of the surrounding block Ai with the motion information of the surrounding block Aj.
示例性的,如果周边块Ai的运动信息与周边块Aj的运动信息相同,则可以将周边块Ai的Diff[i]记为0;如果周边块Ai的运动信息与周边块Aj的运动信息不同,则可以将周边块Ai的Diff[i]记为1。步骤g2之后,执行步骤g3。Exemplarily, if the motion information of the surrounding block Ai is the same as the motion information of the surrounding block Aj, the Diff[i] of the surrounding block Ai can be denoted as 0; if the motion information of the surrounding block Ai is different from that of the surrounding block Aj , then the Diff[i] of the surrounding block Ai can be recorded as 1. After step g2, step g3 is performed.
步骤g3、令i=j,j=j+step,step的值为[1,Max(m,n)]中的任意一个整数,step的值每次可以相同,step的值每次也可以不同,然后返回步骤g1。Step g3, let i=j, j=j+step, the value of step is any integer in [1,Max(m,n)], the value of step can be the same every time, and the value of step can be different every time , then return to step g1.
经过上述处理,在退出比较过程后,可以根据比较结果(即Diff的值)来决策是否将运动信息角度预测模式添加到运动信息预测模式候选列表。After the above process, after exiting the comparison process, it can be decided whether to add the motion information angle prediction mode to the motion information prediction mode candidate list according to the comparison result (ie, the value of Diff).
对于水平预测模式,对i属于区间[m+1,m+n]中的任意j个Diff[i]值进行判断,1<=j<=n,若任意j个Diff值全为0,记mode[0]=0,其含义是运动信息全都相同,否则记mode[0]=1,其含义是运动信息不全相同。对于垂直预测模式,对i属于区间[m+n+2,2m+n+1]中任意j个Diff[i]值进行判断,1<=j<=m,若任意j个Diff值全为0,记mode[1]=0,否则记mode[1]=1。对于水平向上预测模式,对i属于区间[m+1,2m+n+1]中任意j个Diff[i]值进行判断,1<=j<=m+n+1,如果任意j个Diff值全为0,则记mode[2]=0,否则记mode[2]=1。对于水平向下预测模式,则对i属于区间[1,m+n]中任意j个Diff[i]值进行判断,1<=j<=m+n,如果任意j个Diff值全为0,则记mode[3]=0,否则记mode[3]=1。对于垂直向右预测模式,对i属于区间[m+n+2,2m+2n+1]中任意j个Diff[i]值进行判断,1<=j<=m+n,如果任意j个Diff值全为0,记mode[4]=0,否则记mode[4]=1。For the horizontal prediction mode, it is judged that i belongs to any j Diff[i] values in the interval [m+1, m+n], 1<=j<=n, if any j Diff values are all 0, record mode[0]=0, which means that the motion information is all the same, otherwise, mode[0]=1, which means that the motion information is not all the same. For the vertical prediction mode, it is judged that i belongs to any j Diff[i] values in the interval [m+n+2, 2m+n+1], 1<=j<=m, if any j Diff values are all 0, denote mode[1]=0, otherwise denote mode[1]=1. For the horizontal upward prediction mode, it is judged that i belongs to any j Diff[i] values in the interval [m+1, 2m+n+1], 1<=j<=m+n+1, if any j Diff[i] values If the value is all 0, then record mode[2]=0, otherwise, record mode[2]=1. For the horizontal downward prediction mode, judge whether i belongs to any j Diff[i] values in the interval [1,m+n], 1<=j<=m+n, if any j Diff values are all 0 , then denote mode[3]=0, otherwise denote mode[3]=1. For the vertical right prediction mode, it is judged that i belongs to any j Diff[i] values in the interval [m+n+2, 2m+2n+1], 1<=j<=m+n, if any j All Diff values are 0, denote mode[4]=0, otherwise, denote mode[4]=1.
经过上述处理,可以得到每个运动信息角度预测模式的mode值,然后,将mode值为1的运动信息角度预测模式添加到运动信息预测模式候选列表,禁止将mode值为0的运动信息角度预测模式添加到运动信息预测模式候选列表。After the above processing, the mode value of each motion information angle prediction mode can be obtained, and then the motion information angle prediction mode with the mode value of 1 is added to the motion information prediction mode candidate list, and the motion information angle prediction with the mode value of 0 is prohibited. mode is added to the motion information prediction mode candidate list.
实施例9:针对步骤602和步骤702,当前块的宽度值为W,当前块的高度值为H,W大于或者等于8,H大于或者等于8,m和n的大小分别为W/4和H/4,令i=W/8,令j=i+step,且step=W/8,基于此,进行如下比较过程:Embodiment 9: For
步骤h1、判断j是否大于2m+2n+1,若是退出比较过程,否则执行步骤h2。Step h1, determine whether j is greater than 2m+2n+1, if it exits the comparison process, otherwise execute step h2.
步骤h2、将周边块Ai的运动信息与周边块Aj的运动信息进行比较。Step h2, compare the motion information of the surrounding block Ai with the motion information of the surrounding block Aj.
示例性的,如果周边块Ai的运动信息与周边块Aj的运动信息相同,则可以将周边块Ai的Diff[i]记为0;如果周边块Ai的运动信息与周边块Aj的运动信息不同,则可以将周边块Ai的Diff[i]记为1。步骤h2之后,执行步骤h3。Exemplarily, if the motion information of the surrounding block Ai is the same as the motion information of the surrounding block Aj, the Diff[i] of the surrounding block Ai can be denoted as 0; if the motion information of the surrounding block Ai is different from that of the surrounding block Aj , then the Diff[i] of the surrounding block Ai can be recorded as 1. After step h2, step h3 is performed.
步骤h3、判断m<=j<m+n是否成立,如果成立,则step=H/8;否则,还可以判断m+n<=j<m+n+2是否成立。如果成立,则step=1;否则,进一步判断m+n+2<=j<2m+n+1是否成立。如果成立,则step=W/8;否则判断2m+n+1<=j<2m+2n+1是否成立。如果成立,则step=H/8;否则,step保持不变。Step h3, judge whether m<=j<m+n holds, if so, step=H/8; otherwise, it can also judge whether m+n<=j<m+n+2 holds. If it is established, step=1; otherwise, it is further judged whether m+n+2<=j<2m+n+1 is established. If it is established, step=W/8; otherwise, it is judged whether 2m+n+1<=j<2m+2n+1 is established. If established, step=H/8; otherwise, step remains unchanged.
步骤h4、令i=j,j=j+step,然后,返回步骤h1进行处理。Step h4, set i=j, j=j+step, and then return to step h1 for processing.
经过上述处理,在退出比较过程后,可以根据比较结果(即Diff的值)来决策是否将运动信息角度预测模式添加到运动信息预测模式候选列表。After the above process, after exiting the comparison process, it can be decided whether to add the motion information angle prediction mode to the motion information prediction mode candidate list according to the comparison result (ie, the value of Diff).
对于水平预测模式,对Diff[m+n-H/8]的值进行判断,若Diff值为0,则记mode[0]=0,其含义是运动信息全都相同;否则记mode[0]=1,其含义是运动信息不全相同。对于垂直预测模式,对Diff[m+n+2]的值进行判断,如果Diff值为0,则记mode[1]=0,否则记mode[1]=1。对于水平向上预测模式,对Diff[i]的值进行判断,i的取值为m+n、m+n+1。如果所有Diff值全为0,则记mode[2]=0;否则记mode[2]=1。对于水平向下预测模式,对Diff[i]的值进行判断,i的取值为W/8、m。如果所有Diff值全为0,则记mode[3]=0;否则记mode[3]=1。对于垂直向右预测模式,对Diff[i]的值进行判断,i的取值为m+n+2+W/8和2m+n+2。如果所有Diff值全为0,则记mode[4]=0;否则记mode[4]=1。For the horizontal prediction mode, judge the value of Diff[m+n-H/8], if the Diff value is 0, then record mode[0]=0, which means that the motion information is all the same; otherwise, record mode[0]=1 , which means that the motion information is not all the same. For the vertical prediction mode, the value of Diff[m+n+2] is judged, and if the Diff value is 0, denote mode[1]=0, otherwise, denote mode[1]=1. For the horizontal upward prediction mode, the value of Diff[i] is judged, and the value of i is m+n, m+n+1. If all Diff values are all 0, denote mode[2]=0; otherwise, denote mode[2]=1. For the horizontal downward prediction mode, the value of Diff[i] is judged, and the value of i is W/8, m. If all Diff values are all 0, denote mode[3]=0; otherwise, denote mode[3]=1. For the vertical right prediction mode, the value of Diff[i] is judged, and the values of i are m+n+2+W/8 and 2m+n+2. If all Diff values are all 0, denote mode[4]=0; otherwise, denote mode[4]=1.
经过上述处理,可以得到每个运动信息角度预测模式的mode值,然后,将mode值为1的运动信息角度预测模式添加到运动信息预测模式候选列表,禁止将mode值为0的运动信息角度预测模式添加到运动信息预测模式候选列表。After the above processing, the mode value of each motion information angle prediction mode can be obtained, and then the motion information angle prediction mode with the mode value of 1 is added to the motion information prediction mode candidate list, and the motion information angle prediction with the mode value of 0 is prohibited. mode is added to the motion information prediction mode candidate list.
实施例10:针对步骤602和步骤702,当前块的宽度值为W,当前块的高度值为H,W为16,H为16,周边块的运动信息按照4*4的最小单位进行保存。Embodiment 10: For
参见图9B所示,对于水平预测模式,则比较A6的运动信息与A8的运动信息是否相同,如果不相同,则将水平预测模式添加到运动信息预测模式候选列表,如果相同,则禁止将水平预测模式添加到运动信息预测模式候选列表。Referring to Figure 9B, for the horizontal prediction mode, compare whether the motion information ofA6 is the same as the motion information ofA8 , if not, add the horizontal prediction mode to the motion information prediction mode candidate list, if they are the same, prohibit Add the horizontal prediction mode to the motion information prediction mode candidate list.
对于垂直预测模式,则比较A10的运动信息与A12的运动信息是否相同,如果不相同,则可以将垂直预测模式添加到运动信息预测模式候选列表,如果相同,则可以禁止将垂直预测模式添加到运动信息预测模式候选列表。For the vertical prediction mode, compare whether the motion information of A10 is the same as the motion information of A12. If they are not the same, the vertical prediction mode can be added to the motion information prediction mode candidate list. If they are the same, the vertical prediction mode can be prohibited. Added to the motion information prediction mode candidate list.
对于水平向上预测模式,则可以比较A8的运动信息与A9的运动信息是否相同,并且比较A9的运动信息与A10的运动信息是否相同。如果A8的运动信息与A9的运动信息相同,且A9的运动信息与A10的运动信息相同,则可以禁止将水平向上预测模式添加到运动信息预测模式候选列表。或者,如果A8的运动信息与A9的运动信息不同,和/或,A9的运动信息与A10的运动信息不同,则可以将水平向上预测模式添加到运动信息预测模式候选列表。For the horizontal upward prediction mode, it is possible to compare whether the motion information ofA8 is the same as that ofA9 , and compare whether the motion information ofA9 is the same as that ofA10 . If the motion information ofA8 is the same as that ofA9 , and the motion information ofA9 is the same as that ofA10 , adding the horizontal up prediction mode to the motion information prediction mode candidate list may be prohibited. Alternatively, if the motion information ofA8 is different from the motion information ofA9 , and/or the motion information ofA9 is different from that ofA10 , the horizontal up prediction mode may be added to the motion information prediction mode candidate list.
对于水平向下预测模式,则可以比较A2的运动信息与A4的运动信息是否相同,并且比较A4的运动信息与A6的运动信息是否相同。如果A2的运动信息与A4的运动信息相同,且A4的运动信息与A6的运动信息相同,则可以禁止将水平向下预测模式添加到运动信息预测模式候选列表。或者,如果A2的运动信息与A4的运动信息不同,和/或,A4的运动信息与A6的运动信息不同,则可以将水平向上预测模式添加到运动信息预测模式候选列表。For the horizontal downward prediction mode, it is possible to comparewhether the motion information ofA2 is the same as that ofA4 , and compare whether the motion information of A4 is the same as that of A6. If the motion information ofA2 is the same as that ofA4 , and the motion information ofA4 is the same as that of A6, then adding the horizontal down prediction mode to the motion information prediction mode candidate list may be prohibited. Alternatively,if the motion information ofA2 is different from that ofA4 , and/or the motion information of A4 is different from that ofA6 , the horizontal up prediction mode may be added to the motion information prediction mode candidate list.
对于垂直向右预测模式,则可以比较A12的运动信息与A14的运动信息是否相同,并且比较A14的运动信息与A16的运动信息是否相同。如果A12的运动信息与A14的运动信息相同,且A14的运动信息与A16的运动信息相同,则可以禁止将垂直向右预测模式添加到运动信息预测模式候选列表。或者,如果A12的运动信息与A14的运动信息不同,和/或,A14的运动信息与A16的运动信息不同,则可以将垂直向右预测模式添加到运动信息预测模式候选列表。For the vertical right prediction mode, it is possible to compare whether the motion information of A12 is the same as that of A14 , and compare whether the motion information of A14 is the same as that of A16 . If the motion information of A12 is the same as that of A14 , and the motion information of A14 is the same as that of A16 , adding the vertical right prediction mode to the motion information prediction mode candidate list may be prohibited. Alternatively, if the motion information of A12 is different from that of A14 , and/or the motion information of A14 is different from that of A16 , the vertical right prediction mode may be added to the motion information prediction mode candidate list.
实施例11:针对步骤602和步骤702,当前块的宽度值为W,当前块的高度值为H,W为16,H为32,周边块的运动信息按照4*4的最小单位进行保存。Embodiment 11: For
参见图9C所示,对于水平预测模式,则比较A8的运动信息与A12的运动信息是否相同,如果不相同,则将水平预测模式添加到运动信息预测模式候选列表,如果相同,则禁止将水平预测模式添加到运动信息预测模式候选列表。Referring to Fig. 9C, for the horizontal prediction mode, compare whether the motion informationofA8 is the same as that of A12, if not, add the horizontal prediction mode to the motion information prediction mode candidate list, if they are the same, prohibit Add the horizontal prediction mode to the motion information prediction mode candidate list.
对于垂直预测模式,则比较A14的运动信息与A16的运动信息是否相同,如果不相同,则可以将垂直预测模式添加到运动信息预测模式候选列表,如果相同,则可以禁止将垂直预测模式添加到运动信息预测模式候选列表。For the vertical prediction mode, compare whether the motion information of A14 is the same as the motion information of A16. If they are not the same, the vertical prediction mode can be added to the motion information prediction mode candidate list. If they are the same, the vertical prediction mode can be prohibited. Added to the motion information prediction mode candidate list.
对于水平向上预测模式,则可以比较A12的运动信息与A13的运动信息是否相同,并且比较A13的运动信息与A14的运动信息是否相同。如果A12的运动信息与A13的运动信息相同,且A13的运动信息与A14的运动信息相同,则可以禁止将水平向上预测模式添加到运动信息预测模式候选列表。或者,如果A12的运动信息与A13的运动信息不同,和/或,A13的运动信息与A14的运动信息不同,则可以将水平向上预测模式添加到运动信息预测模式候选列表。For the horizontal upward prediction mode, it is possible to compare whether the motion information of A12 is the same as that of A13 , and compare whether the motion information of A13 is the same as that of A14 . If the motion information of A12 is the same as that of A13 , and the motion information of A13 is the same as that of A14 , adding the horizontal up prediction mode to the motion information prediction mode candidate list may be prohibited. Alternatively, if the motion information of A12 is different from that of A13 , and/or the motion information of A13 is different from that of A14 , the horizontal up prediction mode may be added to the motion information prediction mode candidate list.
对于水平向下预测模式,则可以比较A2的运动信息与A4的运动信息是否相同,并且比较A4的运动信息与A8的运动信息是否相同。如果A2的运动信息与A4的运动信息相同,且A4的运动信息与A8的运动信息相同,则可以禁止将水平向下预测模式添加到运动信息预测模式候选列表。或者,如果A2的运动信息与A4的运动信息不同,和/或,A4的运动信息与A8的运动信息不同,则可以将水平向上预测模式添加到运动信息预测模式候选列表。For the horizontal downward prediction mode, it is possible to compare whether the motion information ofA2 is the same as that ofA4 , and compare whether the motion information of A4 is the same as that ofA8. If the motion information ofA2 is the same as that ofA4 , and the motion information of A4 is the same as that ofA8 , adding the horizontal down prediction mode to the motion information prediction mode candidate list may be prohibited. Alternatively, if the motion information ofA2 is different from that ofA4 , and/or the motion information ofA4 is different from that ofA8 , the horizontal up prediction mode may be added to the motion information prediction mode candidate list.
对于垂直向右预测模式,则可以比较A16的运动信息与A18的运动信息是否相同,并且比较A18的运动信息与A22的运动信息是否相同。如果A16的运动信息与A18的运动信息相同,且A18的运动信息与A22的运动信息相同,则可以禁止将垂直向右预测模式添加到运动信息预测模式候选列表。或者,如果A16的运动信息与A18的运动信息不同,和/或,A18的运动信息与A22的运动信息不同,则可以将垂直向右预测模式添加到运动信息预测模式候选列表。For the vertical right prediction mode, it is possible to compare whether the motion information of A16 is the same as that of A18 , and compare whether the motion information of A18 is the same as that of A22 . If the motion information of A16 is the same as that of A18 , and the motion information of A18 is the same as that of A22 , adding the vertical right prediction mode to the motion information prediction mode candidate list may be prohibited. Alternatively, if the motion information of A16 is different from that of A18 , and/or the motion information of A18 is different from that of A22 , the vertical right prediction mode may be added to the motion information prediction mode candidate list.
实施例12:针对步骤604和步骤704,需要进行运动补偿过程,即根据目标运动信息角度预测模式对当前块进行编码或者解码。在此运动补偿过程中,可以根据目标运动信息角度预测模式和当前块的尺寸,确定当前块的用于获取运动信息的选择条件;其中,所述选择条件为第一选择条件或者第二选择条件,第一选择条件为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息,第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息。根据目标运动信息角度预测模式和当前块的尺寸,确定当前块的子区域划分信息。根据目标运动信息角度预测模式对应的预配置角度,从当前块的周边块中选择该预配置角度指向的周边匹配块。根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定当前块的运动信息。Embodiment 12: For
示例性的,不允许是双向运动信息,可以包括:如果周边匹配块的运动信息是单向运动信息,则允许选择周边匹配块的单向运动信息作为当前块或者子区域的运动信息;如果周边匹配块的运动信息是双向运动信息,则允许选择周边匹配块的双向运动信息中的前向运动信息或者后向运动信息作为当前块或者子区域的运动信息。允许是双向运动信息,可以包括:如果周边匹配块的运动信息是单向运动信息,则允许选择周边匹配块的单向运动信息作为当前块或者子区域的运动信息;如果周边匹配块的运动信息是双向运动信息,则允许选择周边匹配块的双向运动信息作为当前块或者子区域的运动信息。Exemplarily, bidirectional motion information is not allowed, which may include: if the motion information of the surrounding matching block is unidirectional motion information, then allowing the unidirectional motion information of the surrounding matching block to be selected as the motion information of the current block or sub-region; If the motion information of the matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information of the surrounding matching blocks is allowed to be selected as the motion information of the current block or sub-region. Bidirectional motion information is allowed, which may include: if the motion information of the surrounding matching block is unidirectional motion information, then allowing the unidirectional motion information of the surrounding matching block to be selected as the motion information of the current block or sub-region; if the motion information of the surrounding matching block is If it is bidirectional motion information, it is allowed to select the bidirectional motion information of the surrounding matching blocks as the motion information of the current block or sub-region.
示例性的,根据运动信息角度预测模式和当前块的尺寸,确定当前块的用于获取运动信息的选择条件,可以包括但不限于:若当前块的尺寸满足:宽大于等于预设尺寸参数,高大于等于预设尺寸参数,针对任一运动信息角度预测模式,则确定选择条件为第二选择条件。若当前块的尺寸满足:宽小于预设尺寸参数,高大于预设尺寸参数,当运动信息角度预测模式为垂直预测模式时,确定选择条件为第二选择条件;当运动信息角度预测模式为垂直预测模式之外的其他预测模式时,确定选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽大于预设尺寸参数,当运动信息角度预测模式为水平预测模式时,确定选择条件为第二选择条件;当运动信息角度预测模式为水平预测模式之外的其他预测模式时,确定选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,则确定选择条件为第一选择条件。若当前块的尺寸满足:高小于预设尺寸参数,宽等于预设尺寸参数,或者高等于预设尺寸参数,宽小于预设尺寸参数,针对任一运动信息角度预测模式,确定选择条件为第一选择条件。Exemplarily, according to the motion information angle prediction mode and the size of the current block, determine the selection conditions of the current block for acquiring motion information, which may include but are not limited to: if the size of the current block satisfies: the width is greater than or equal to a preset size parameter, If the height is greater than or equal to the preset size parameter, for any motion information angle prediction mode, the selection condition is determined to be the second selection condition. If the size of the current block satisfies: the width is smaller than the preset size parameter, and the height is larger than the preset size parameter, when the motion information angle prediction mode is the vertical prediction mode, the selection condition is determined to be the second selection condition; when the motion information angle prediction mode is vertical In the case of other prediction modes other than the prediction mode, the selection condition is determined as the first selection condition. If the size of the current block satisfies: the height is smaller than the preset size parameter, and the width is larger than the preset size parameter, when the motion information angle prediction mode is the horizontal prediction mode, the selection condition is determined to be the second selection condition; when the motion information angle prediction mode is horizontal In the case of other prediction modes other than the prediction mode, the selection condition is determined as the first selection condition. If the size of the current block satisfies: the height is smaller than the preset size parameter, and the width is smaller than the preset size parameter, for any motion information angle prediction mode, the selection condition is determined to be the first selection condition. If the size of the current block satisfies: the height is smaller than the preset size parameter, the width is equal to the preset size parameter, or the height is equal to the preset size parameter, and the width is smaller than the preset size parameter, for any motion information angle prediction mode, determine the selection condition as the first a selection condition.
根据运动信息角度预测模式和当前块的尺寸,确定当前块的子区域划分信息,可以包括:当运动信息角度预测模式为水平向上预测模式、水平向下预测模式或者垂直向右预测模式时,若当前块的宽大于等于预设尺寸参数,且当前块的高大于等于预设尺寸参数,则子区域的大小为8*8;若当前块的宽小于预设尺寸参数,或者,当前块的高小于预设尺寸参数,则子区域的大小为4*4。Determine the sub-region division information of the current block according to the motion information angle prediction mode and the size of the current block, which may include: when the motion information angle prediction mode is the horizontal up prediction mode, the horizontal down prediction mode or the vertical right prediction mode, if If the width of the current block is greater than or equal to the preset size parameter, and the height of the current block is greater than or equal to the preset size parameter, the size of the sub-region is 8*8; if the width of the current block is less than the preset size parameter, or the height of the current block If it is smaller than the preset size parameter, the size of the sub-region is 4*4.
当运动信息角度预测模式为水平预测模式时,若当前块的宽小于预设尺寸参数,子区域的大小为4*4,当前块的高可以大于预设尺寸参数,可以等于预设尺寸参数,也可以小于预设尺寸参数;若当前块的宽大于预设尺寸参数,子区域的大小为当前块的宽*4,或子区域的大小为4*4,当前块的高可以大于预设尺寸参数,可以等于预设尺寸参数,也可以小于预设尺寸参数;若当前块的宽等于预设尺寸参数,当前块的高大于等于预设尺寸参数,子区域的大小为8*8。When the motion information angle prediction mode is the horizontal prediction mode, if the width of the current block is smaller than the preset size parameter, the size of the sub-region is 4*4, the height of the current block can be greater than the preset size parameter, and can be equal to the preset size parameter, It can also be smaller than the preset size parameter; if the width of the current block is larger than the preset size parameter, the size of the sub-region is the width of the current block*4, or the size of the sub-region is 4*4, and the height of the current block can be larger than the preset size. The parameter can be equal to or smaller than the preset size parameter; if the width of the current block is equal to the preset size parameter, the height of the current block is greater than or equal to the preset size parameter, and the size of the sub-region is 8*8.
当运动信息角度预测模式为垂直预测模式时,若当前块的高小于预设尺寸参数,子区域的大小为4*4,当前块的宽大于预设尺寸参数,或等于预设尺寸参数,或小于预设尺寸参数;若当前块的高大于预设尺寸参数,子区域的大小为当前块的4*高,或者,子区域的大小为4*4,当前块的宽可以大于预设尺寸参数,可以等于预设尺寸参数,也可以小于预设尺寸参数;若当前块的高等于预设尺寸参数,且当前块的宽大于等于预设尺寸参数,则子区域的大小为8*8。When the motion information angle prediction mode is vertical prediction mode, if the height of the current block is smaller than the preset size parameter, the size of the sub-region is 4*4, the width of the current block is larger than the preset size parameter, or equal to the preset size parameter, or less than the preset size parameter; if the height of the current block is greater than the preset size parameter, the size of the sub-region is 4*height of the current block, or, the size of the sub-region is 4*4, the width of the current block can be larger than the preset size parameter , which may be equal to or smaller than the preset size parameter; if the height of the current block is equal to the preset size parameter, and the width of the current block is greater than or equal to the preset size parameter, the size of the sub-region is 8*8.
在一个例子中,预设尺寸参数可以是8,或者,可以是其它数值。当预设尺寸参数是8时,确定当前块的子区域划分和选取条件可以参照表1所示。In one example, the preset size parameter may be 8, or may be other values. When the preset size parameter is 8, the sub-region division and selection conditions of the current block can be determined with reference to Table 1.
在一个例子中,根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息,可以包括但不限于:In an example, the motion information of the current block is determined according to the selection condition, the sub-region division information, and the motion information of the surrounding matching blocks, which may include, but is not limited to:
根据所述子区域划分信息将所述当前块划分为至少一个子区域;dividing the current block into at least one sub-area according to the sub-area division information;
针对所述当前块的每个子区域,根据所述运动信息角度预测模式从所述当前块的周边匹配块中选择与该子区域对应的周边匹配块,并根据该子区域对应的周边匹配块的运动信息和所述选择条件,确定该子区域的运动信息;For each sub-region of the current block, select a surrounding matching block corresponding to the sub-region from the surrounding matching blocks of the current block according to the motion information angle prediction mode, and select a surrounding matching block corresponding to the sub-region according to the motion information and the selection condition, determine the motion information of the sub-region;
将所述至少一个子区域的运动信息确定为所述当前块的运动信息。The motion information of the at least one sub-region is determined as the motion information of the current block.
在一个例子中,根据运动信息角度预测模式,确定当前块的运动信息,包括:根据当前块的尺寸,确定当前块的用于获取运动信息的选择条件;所述选择条件为第二选择条件,所述第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;根据所述当前块的尺寸,确定所述当前块的子区域划分信息;所述当前块的子区域划分信息包括:所述当前块的子区域的大小为8*8。根据所述运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择预配置角度指向的周边匹配块;根据所述选择条件、所述子区域划分信息和所述周边匹配块的运动信息,确定所述当前块的运动信息。In one example, determining the motion information of the current block according to the motion information angle prediction mode includes: determining, according to the size of the current block, a selection condition for acquiring the motion information of the current block; the selection condition is a second selection condition, The second selection condition is that the motion information selected from the motion information of the surrounding matching blocks is allowed to be bidirectional motion information; the sub-region division information of the current block is determined according to the size of the current block; The area division information includes: the size of the sub-area of the current block is 8*8. According to the pre-configured angle corresponding to the angle prediction mode of the motion information, select a surrounding matching block pointed to by the pre-configured angle from the surrounding blocks of the current block; according to the selection condition, the sub-region division information and the surrounding matching The motion information of the block determines the motion information of the current block.
以下结合几个具体实施例,对上述实施例中的运动补偿过程进行说明。The motion compensation process in the above embodiments will be described below with reference to several specific embodiments.
实施例13:参见图10A所示,当前块的宽度W(4)乘以当前块的高度H(8)小于等于32,针对当前块内的每个4*4的子区域,按照一定角度进行单向运动补偿(Uni),不允许双向运动信息。若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则不是将双向运动信息确定为子区域的运动信息,而是将双向运动信息中的前向运动信息或者后向运动信息确定为子区域的运动信息。Embodiment 13: Referring to FIG. 10A , the width W(4) of the current block multiplied by the height H(8) of the current block is less than or equal to 32, and for each 4*4 sub-region in the current block, the calculation is performed according to a certain angle. Unidirectional motion compensation (Uni) does not allow bidirectional motion information. If the motion information of the surrounding matching block is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is not determined as the motion information of the sub-region, but the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region .
参见表1所示,实施例13是针对表1中宽*高小于等于32的示例,针对任意的角度预测模式,子块划分尺寸为4*4,选择条件为单向。Referring to Table 1,
根据图10A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平模式时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A2的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。According to FIG. 10A , the size of the current block is 4*8, and when the target motion information prediction mode of the current block is the horizontal mode, two sub-regions with the same size are divided, and one of the 4*4 sub-regions corresponds to the surrounding matching block A1, according to The motion information of A1 is determined as the motion information of the 4*4 sub-area. If the motion information of the surrounding matching block A1 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-area. If the motion information of the surrounding matching block A1 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region. Another 4*4 sub-area corresponds to the surrounding matching block A2. According to the motion information of A2, the motion information of the 4*4 sub-area is determined. If the motion information of the surrounding matching block A2 is unidirectional motion information, the unidirectional motion information will be The motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching block A2 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region.
根据图10A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为垂直模式时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。According to FIG. 10A , the size of the current block is 4*8, and when the target motion information prediction mode of the current block is the vertical mode, two sub-regions with the same size are divided, and one of the 4*4 sub-regions corresponds to the surrounding matching block B1, according to The motion information of B1 is determined as the motion information of the 4*4 sub-area. If the motion information of the surrounding matching block B1 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-area. If the motion information of the peripheral matching block B1 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region. Another 4*4 sub-region corresponds to the surrounding matching block B1. According to the motion information of B1, the motion information of the 4*4 sub-region is determined. If the motion information of the surrounding matching block B1 is unidirectional motion information, the unidirectional The motion information is determined as the motion information of the sub-region. If the motion information of the peripheral matching block B1 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region.
根据图10A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平向上时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块E,根据E的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块E的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块E的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A1的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。According to FIG. 10A , the size of the current block is 4*8, and when the target motion information prediction mode of the current block is horizontal up, two sub-regions with the same size are divided, and one of the 4*4 sub-regions corresponds to the surrounding matching block E, according to The motion information of E is determined as the motion information of the 4*4 sub-region. If the motion information of the surrounding matching block E is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching block E is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region. Another 4*4 sub-region corresponds to the surrounding matching block A1. According to the motion information of A1, the motion information of the 4*4 sub-region is determined. If the motion information of the surrounding matching block A1 is unidirectional motion information, the unidirectional The motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching block A1 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region.
根据图10A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平向下时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A2的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块A3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块A3的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。According to FIG. 10A , the size of the current block is 4*8, and when the target motion information prediction mode of the current block is horizontal downward, two sub-regions with the same size are divided, and one of the 4*4 sub-regions corresponds to the surrounding matching block A2, According to the motion information of A2, the motion information of the 4*4 sub-area is determined. If the motion information of the surrounding matching block A2 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-area. If the motion information of the surrounding matching block A2 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region. Another 4*4 sub-region corresponds to the surrounding matching block A3. According to the motion information of A3, the motion information of the 4*4 sub-region is determined. If the motion information of the surrounding matching block A3 is unidirectional motion information, the unidirectional The motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching block A3 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region.
根据图10A,当前块的尺寸为4*8,当前块的目标运动信息预测模式为水平向下时,划分两个尺寸一致的子区域,其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B2的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。另一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息,如果周边匹配块B3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若周边匹配块B3的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为该子区域的运动信息。According to FIG. 10A , the size of the current block is 4*8, and when the target motion information prediction mode of the current block is horizontal downward, two sub-regions with the same size are divided, and one of the 4*4 sub-regions corresponds to the surrounding matching block B2, According to the motion information of B2, the motion information of the 4*4 sub-region is determined. If the motion information of the surrounding matching block B2 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the peripheral matching block B2 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region. Another 4*4 sub-region corresponds to the surrounding matching block B3. According to the motion information of B3, the motion information of the 4*4 sub-region is determined. If the motion information of the surrounding matching block B3 is unidirectional motion information, the unidirectional The motion information is determined as the motion information of the sub-region. If the motion information of the peripheral matching block B3 is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region.
实施例14:参见图10B所示,当前块的宽度W小于8,当前块的高度H大于8,则可以采用如下方式对当前块内的每个子区域进行运动补偿:Embodiment 14: Referring to FIG. 10B , if the width W of the current block is less than 8, and the height H of the current block is greater than 8, motion compensation can be performed on each sub-region in the current block in the following manner:
如果角度预测模式为垂直预测模式,将每个4*H的子区域按照垂直角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。If the angle prediction mode is the vertical prediction mode, motion compensation is performed on each 4*H sub-region according to the vertical angle. Bidirectional motion information is allowed when performing motion compensation. For example, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
如果角度预测模式为其它角度预测模式(如水平预测模式、水平向上预测模式、水平向下预测模式、垂直向右预测模式等),则针对当前块内的每个4*4的子区域,可以按照一定角度进行单向运动补偿,且不允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为子区域的运动信息。If the angle prediction mode is other angle prediction modes (such as horizontal prediction mode, horizontal upward prediction mode, horizontal downward prediction mode, vertical right prediction mode, etc.), for each 4*4 sub-region in the current block, you can Unidirectional motion compensation is performed according to a certain angle, and bidirectional motion information is not allowed. For example, if the motion information of the surrounding matching block is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region.
参见表1所示,实施例14是针对表1中宽小于8,高大于8的示例,也即是说,针对垂直预测模式,子块划分尺寸为4*高,选择条件为允许双向。针对其它角度预测模式,子块划分尺寸为4*4,且选择条件为单向。Referring to Table 1, Embodiment 14 is for the example in which the width is less than 8 and the height is greater than 8 in Table 1, that is, for the vertical prediction mode, the sub-block division size is 4*height, and the selection condition is to allow bidirectionality. For other angle prediction modes, the sub-block division size is 4*4, and the selection condition is unidirectional.
根据图10B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A4,根据A4的运动信息,确定该4*4的子区域的运动信息。对于A1至A4中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。According to FIG. 10B , the size of the current block is 4*16, and when the target motion information prediction mode of the current block is the horizontal mode, four sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the surrounding matching blocks A1, according to the motion information of A1, determine the motion information of the 4*4 sub-region. One of the 4*4 sub-regions corresponds to the surrounding matching block A2, and the motion information of the 4*4 sub-region is determined according to the motion information of A2. One of the 4*4 sub-regions corresponds to the surrounding matching block A3, and the motion information of the 4*4 sub-region is determined according to the motion information of A3. One of the 4*4 sub-regions corresponds to the surrounding matching block A4, and the motion information of the 4*4 sub-region is determined according to the motion information of A4. For any one of A1 to A4, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为垂直模式时,可以划分4个尺寸为4*4的子区域,每一个4*4的子区域都对应周边匹配块B1,根据B1的运动信息,确定每一个4*4的子区域的运动信息。若周边匹配块B1的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块B1的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。四个子区域的运动信息都相同,所以在该实施例中也可以不对当前块进行子区域划分,该当前块本身作为一个子区域对应一个周边匹配块B1,根据B1的运动信息,确定当前块的运动信息。According to FIG. 10B , the size of the current block is 4*16, and when the target motion information prediction mode of the current block is the vertical mode, 4 sub-regions with a size of 4*4 can be divided, and each 4*4 sub-region corresponds to the surrounding area The matching block B1 determines the motion information of each 4*4 sub-region according to the motion information of B1. If the motion information of the peripheral matching block B1 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block B1 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region. The motion information of the four sub-regions is the same, so in this embodiment, the current block may not be divided into sub-regions. The current block itself is used as a sub-region corresponding to a surrounding matching block B1. sports information.
根据图10B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平向上模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块E,根据E的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。对于E至A3中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。According to FIG. 10B , the size of the current block is 4*16, and when the target motion information prediction mode of the current block is the horizontal up mode, four sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the peripheral matching In block E, the motion information of the 4*4 sub-region is determined according to the motion information of E. One of the 4*4 sub-regions corresponds to the surrounding matching block A1, and the motion information of the 4*4 sub-region is determined according to the motion information of A1. One of the 4*4 sub-regions corresponds to the surrounding matching block A2, and the motion information of the 4*4 sub-region is determined according to the motion information of A2. One of the 4*4 sub-regions corresponds to the surrounding matching block A3, and the motion information of the 4*4 sub-region is determined according to the motion information of A3. For any one of E to A3, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为4*4的子区域,一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A5,根据A4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A5,根据A5的运动信息,确定该4*4的子区域的运动信息。对于A2至A5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。According to FIG. 10B , the size of the current block is 4*16, and when the target motion information prediction mode of the current block is the horizontal downward mode, four sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the peripheral matching In block A2, the motion information of the 4*4 sub-region is determined according to the motion information of A2. One of the 4*4 sub-regions corresponds to the surrounding matching block A3, and the motion information of the 4*4 sub-region is determined according to the motion information of A3. One of the 4*4 sub-regions corresponds to the surrounding matching block A5, and the motion information of the 4*4 sub-region is determined according to the motion information of A4. One of the 4*4 sub-regions corresponds to the surrounding matching block A5, and the motion information of the 4*4 sub-region is determined according to the motion information of A5. For any one of A2 to A5, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10B,当前块的尺寸为4*16,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为4*4的子区域,一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B4,根据B4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B5,根据B5的运动信息,确定该4*4的子区域的运动信息。对于B2至B5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。According to FIG. 10B , the size of the current block is 4*16, and when the target motion information prediction mode of the current block is the horizontal downward mode, four sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the peripheral matching In block B2, the motion information of the 4*4 sub-region is determined according to the motion information of B2. One of the 4*4 sub-regions corresponds to the peripheral matching block B3, and the motion information of the 4*4 sub-region is determined according to the motion information of B3. One of the 4*4 sub-regions corresponds to the peripheral matching block B4, and the motion information of the 4*4 sub-region is determined according to the motion information of B4. One of the 4*4 sub-regions corresponds to the peripheral matching block B5, and the motion information of the 4*4 sub-region is determined according to the motion information of B5. For any one of B2 to B5, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
实施例15:参见图10C所示,当前块的宽度W大于8,当前块的高度H小于8,则可以采用如下方式对当前块内的每个子区域进行运动补偿:Embodiment 15: Referring to FIG. 10C , if the width W of the current block is greater than 8, and the height H of the current block is less than 8, the following methods may be used to perform motion compensation on each sub-region in the current block:
如果角度预测模式为水平预测模式,将每个W*4的子区域按照水平角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。If the angle prediction mode is the horizontal prediction mode, motion compensation is performed on each sub-region of W*4 according to the horizontal angle. Bidirectional motion information is allowed when performing motion compensation. For example, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
如果角度预测模式为其它角度预测模式,针对当前块内的每个4*4的子区域,则可以按照一定角度进行单向运动补偿,且不允许双向运动信息。If the angle prediction mode is another angle prediction mode, for each 4*4 sub-region in the current block, unidirectional motion compensation can be performed according to a certain angle, and bidirectional motion information is not allowed.
例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为子区域的运动信息。For example, if the motion information of the surrounding matching block is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the sub-region.
参见表1所示,实施例15是针对表1中宽大于8,高小于8的示例,也就是说,针对水平预测模式,则子块划分尺寸为宽*4,且选择条件为允许双向。针对其它角度预测模式,则子块划分尺寸为4*4,且选择条件为单向。Referring to Table 1,
根据图10C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为水平模式时,可以划分4个尺寸为4*4的子区域,每一个4*4的子区域都对应周边匹配块A1,根据A1的运动信息,确定每一个4*4的子区域的运动信息。若周边匹配块A1的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块A1的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。四个子区域的运动信息都相同,所以在该实施例中也可以不对当前块进行子区域划分,该当前块本身作为一个子区域对应一个周边匹配块A1,根据A1的运动信息,确定当前块的运动信息。According to FIG. 10C , the size of the current block is 16*4, and when the target motion information prediction mode of the current block is the horizontal mode, four sub-regions with a size of 4*4 can be divided, and each 4*4 sub-region corresponds to the surrounding area The matching block A1 determines the motion information of each 4*4 sub-region according to the motion information of A1. If the motion information of the surrounding matching block A1 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block A1 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region. The motion information of the four sub-regions is the same, so in this embodiment, the current block may not be divided into sub-regions. The current block itself is used as a sub-region to correspond to a surrounding matching block A1. sports information.
根据图10C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为垂直模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B4,根据B4的运动信息,确定该4*4的子区域的运动信息。对于B1至B4中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。According to FIG. 10C , the size of the current block is 16*4, and when the target motion information prediction mode of the current block is the vertical mode, four sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the surrounding matching blocks B1, according to the motion information of B1, determine the motion information of the 4*4 sub-region. One of the 4*4 sub-regions corresponds to the peripheral matching block B2, and the motion information of the 4*4 sub-region is determined according to the motion information of B2. One of the 4*4 sub-regions corresponds to the peripheral matching block B3, and the motion information of the 4*4 sub-region is determined according to the motion information of B3. One of the 4*4 sub-regions corresponds to the peripheral matching block B4, and the motion information of the 4*4 sub-region is determined according to the motion information of B4. For any one of B1 to B4, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为水平向上模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块E,根据E的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。对于E至B3中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息中的前向运动信息或者后向运动信息确定为对应子区域的运动信息。According to FIG. 10C , the size of the current block is 16*4, and when the target motion information prediction mode of the current block is the horizontal up mode, 4 sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the peripheral matching In block E, the motion information of the 4*4 sub-region is determined according to the motion information of E. One of the 4*4 sub-regions corresponds to the surrounding matching block B1, and the motion information of the 4*4 sub-region is determined according to the motion information of B1. One of the 4*4 sub-regions corresponds to the peripheral matching block B2, and the motion information of the 4*4 sub-region is determined according to the motion information of B2. One of the 4*4 sub-regions corresponds to the peripheral matching block B3, and the motion information of the 4*4 sub-region is determined according to the motion information of B3. For any one of E to B3, if the motion information of the surrounding matching block is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A4,根据A4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块A5,根据A5的运动信息,确定该4*4的子区域的运动信息。对于A2至A5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息中的前向运动信息或后向运动信息确定为对应子区域的运动信息。According to FIG. 10C , the size of the current block is 16*4, and when the target motion information prediction mode of the current block is the horizontal downward mode, four sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the surrounding area The matching block A2 determines the motion information of the 4*4 sub-region according to the motion information of A2. One of the 4*4 sub-regions corresponds to the surrounding matching block A3, and the motion information of the 4*4 sub-region is determined according to the motion information of A3. One of the 4*4 sub-regions corresponds to the surrounding matching block A4, and the motion information of the 4*4 sub-region is determined according to the motion information of A4. One of the 4*4 sub-regions corresponds to the surrounding matching block A5, and the motion information of the 4*4 sub-region is determined according to the motion information of A5. For any one of A2 to A5, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10C,当前块的尺寸为16*4,当前块的目标运动信息预测模式为垂直向右模式时,划分4个尺寸为4*4的子区域,其中一个4*4的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B4,根据B4的运动信息,确定该4*4的子区域的运动信息。其中一个4*4的子区域对应周边匹配块B5,根据B5的运动信息,确定该4*4的子区域的运动信息。对于B2至B5中的任意一个,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息中的前向运动信息或后向运动信息确定为对应子区域的运动信息。According to FIG. 10C , the size of the current block is 16*4, and when the target motion information prediction mode of the current block is the vertical right mode, four sub-regions with a size of 4*4 are divided, and one 4*4 sub-region corresponds to the surrounding area The matching block B2 determines the motion information of the 4*4 sub-region according to the motion information of B2. One of the 4*4 sub-regions corresponds to the peripheral matching block B3, and the motion information of the 4*4 sub-region is determined according to the motion information of B3. One of the 4*4 sub-regions corresponds to the peripheral matching block B4, and the motion information of the 4*4 sub-region is determined according to the motion information of B4. One of the 4*4 sub-regions corresponds to the peripheral matching block B5, and the motion information of the 4*4 sub-region is determined according to the motion information of B5. For any one of B2 to B5, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the forward motion information or the backward motion information in the bidirectional motion information is determined as the motion information of the corresponding sub-region.
实施例16:当前块的宽度W等于8,当前块的高度H等于8,则对当前块内的每个8*8的子区域(即子区域就是当前块本身),按照一定角度进行运动补偿,在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。Embodiment 16: The width W of the current block is equal to 8, and the height H of the current block is equal to 8. Then, for each 8*8 sub-region in the current block (that is, the sub-region is the current block itself), motion compensation is performed according to a certain angle. , allowing bidirectional motion information when performing motion compensation. For example, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
若子区域对应多个周边匹配块,针对子区域的运动信息,可以按照对应的角度,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。If the sub-region corresponds to multiple surrounding matching blocks, for the motion information of the sub-region, the motion information of any surrounding matching block may be selected from the motion information of the multiple surrounding matching blocks according to the corresponding angle.
例如,参见图10D所示,针对水平预测模式,可以选择周边匹配块A1的运动信息,也可以选择周边匹配块A2的运动信息。参见图10E所示,针对垂直预测模式,可以选择周边匹配块B1的运动信息,也可以选择周边匹配块B2的运动信息。参见图10F所示,针对水平向上预测模式,可以选择周边匹配块E的运动信息,选择周边匹配块B1的运动信息,可以选择周边匹配块A1的运动信息。参见图10G所示,针对水平向下预测模式,可以选择周边匹配块A2的运动信息,选择周边匹配块A3的运动信息,可以选择周边匹配块A4的运动信息。参见图10H所示,针对垂直向右预测模式,可以选择周边匹配块B2的运动信息,选择周边匹配块B3的运动信息,可以选择周边匹配块B4的运动信息。For example, as shown in FIG. 10D , for the horizontal prediction mode, the motion information of the surrounding matching block A1 may be selected, and the motion information of the surrounding matching block A2 may also be selected. Referring to FIG. 10E , for the vertical prediction mode, the motion information of the surrounding matching block B1 may be selected, and the motion information of the surrounding matching block B2 may also be selected. 10F , for the horizontal upward prediction mode, the motion information of the surrounding matching block E can be selected, the motion information of the surrounding matching block B1 can be selected, and the motion information of the surrounding matching block A1 can be selected. 10G , for the horizontal downward prediction mode, the motion information of the surrounding matching block A2 may be selected, the motion information of the surrounding matching block A3 may be selected, and the motion information of the surrounding matching block A4 may be selected. 10H , for the vertical right prediction mode, the motion information of the surrounding matching block B2 may be selected, the motion information of the surrounding matching block B3 may be selected, and the motion information of the surrounding matching block B4 may be selected.
参见表1所示,实施例16是针对表1中宽等于8,高等于8的示例,也即是说,针对任意的角度预测模式,子块划分尺寸为8*8,选择条件为允许双向。Referring to Table 1, Embodiment 16 is for the example in which the width is equal to 8 and the height is equal to 8 in Table 1, that is to say, for any angle prediction mode, the sub-block division size is 8*8, and the selection condition is to allow bidirectional .
根据图10D,当前块的尺寸为8*8,当前块的目标运动信息预测模式为水平模式时,划分一个尺寸为8*8的子区域,这个子区域对应周边匹配块A1,根据A1的运动信息,确定该子区域的运动信息,若A1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若A1的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,这个子区域对应周边匹配块A2,根据A2的运动信息,确定该子区域的运动信息,若A2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若A2的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。According to FIG. 10D , the size of the current block is 8*8, and when the target motion information prediction mode of the current block is the horizontal mode, a sub-region with a size of 8*8 is divided, and this sub-region corresponds to the surrounding matching block A1, according to the motion of A1 information, determine the motion information of the sub-region, if the motion information of A1 is unidirectional motion information, then determine the unidirectional motion information as the motion information of the sub-region. If the motion information of A1 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-area. Or, this sub-area corresponds to the surrounding matching block A2, and the motion information of the sub-area is determined according to the motion information of A2. If the motion information of A2 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-area . If the motion information of A2 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-area.
根据图10E,当前块的尺寸为8*8,当前块的目标运动信息预测模式为垂直模式时,划分一个尺寸为8*8的子区域,这个子区域对应周边匹配块B1,根据B1的运动信息,确定该子区域的运动信息,若B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B1的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,这个子区域对应周边匹配块B2,根据B2的运动信息,确定该子区域的运动信息,若B2的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B2的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。According to FIG. 10E , the size of the current block is 8*8, and when the target motion information prediction mode of the current block is the vertical mode, a sub-region with a size of 8*8 is divided, and this sub-region corresponds to the surrounding matching block B1, according to the motion of B1 information, determine the motion information of the sub-region, if the motion information of B1 is unidirectional motion information, then determine the unidirectional motion information as the motion information of the sub-region. If the motion information of B1 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. Or, this sub-area corresponds to the surrounding matching block B2, and the motion information of the sub-area is determined according to the motion information of B2. If the motion information of B2 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-area . If the motion information of B2 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
根据图10F,当前块的尺寸为8*8,当前块的目标运动信息预测模式为水平向上模式时,划分尺寸为8*8的子区域,子区域对应周边匹配块E,根据E的运动信息,确定该子区域的运动信息,若E的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若E的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块B1,根据B1的运动信息,确定该子区域的运动信息,若B1的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B1的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块A1,根据A1的运动信息,确定该子区域的运动信息,若A1的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若A1的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。According to FIG. 10F , the size of the current block is 8*8, and when the target motion information prediction mode of the current block is the horizontal upward mode, a sub-region with a size of 8*8 is divided, and the sub-region corresponds to the surrounding matching block E, according to the motion information of E , determine the motion information of the sub-region, if the motion information of E is unidirectional motion information, determine the unidirectional motion information as the motion information of the sub-region. If the motion information of E is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. Alternatively, the sub-region corresponds to the surrounding matching block B1, and the motion information of the sub-region is determined according to the motion information of B1. If the motion information of B1 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of B1 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. Alternatively, the sub-region corresponds to the surrounding matching block A1, and the motion information of the sub-region is determined according to the motion information of A1. If the motion information of A1 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of A1 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-area.
根据图10G,当前块的尺寸为8*8,当前块的目标运动信息预测模式为水平向下模式时,划分尺寸为8*8的子区域,子区域对应周边匹配块A2,根据A2的运动信息,确定该子区域的运动信息,若A2的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若A2的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块A3,根据A3的运动信息,确定该子区域的运动信息,若A3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若A3的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块A4,根据A4的运动信息,确定该子区域的运动信息,若A4的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若A4的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。According to FIG. 10G , the size of the current block is 8*8, and when the target motion information prediction mode of the current block is the horizontal downward mode, a sub-region with a size of 8*8 is divided, and the sub-region corresponds to the surrounding matching block A2, according to the motion of A2 information, determine the motion information of the sub-region, if the motion information of A2 is unidirectional motion information, determine the unidirectional motion information as the motion information of the sub-region. If the motion information of A2 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-area. Alternatively, the sub-region corresponds to the surrounding matching block A3, and the motion information of the sub-region is determined according to the motion information of A3. If the motion information of A3 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of A3 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-area. Alternatively, the sub-region corresponds to the surrounding matching block A4, and the motion information of the sub-region is determined according to the motion information of A4. If the motion information of A4 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of A4 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-area.
根据图10H,当前块的尺寸为8*8,当前块的目标运动信息预测模式为垂直向右模式时,划分尺寸为8*8的子区域,子区域对应周边匹配块B2,根据B2的运动信息,确定该子区域的运动信息,若B2的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若B2的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块B3,根据B3的运动信息,确定该子区域的运动信息,若B3的运动信息为单向运动信息,则将单向运动信息确定为该子区域的运动信息。若B3的运动信息为双向运动信息,则将双向运动信息确定为该子区域的运动信息。或者,子区域对应周边匹配块B4,根据B4的运动信息,确定该子区域的运动信息,若B4的运动信息为单向运动信息,将单向运动信息确定为该子区域的运动信息。若B4的运动信息为双向运动信息,将双向运动信息确定为该子区域的运动信息。According to FIG. 10H , the size of the current block is 8*8, and when the target motion information prediction mode of the current block is the vertical right mode, a sub-region with a size of 8*8 is divided, and the sub-region corresponds to the surrounding matching block B2, according to the motion of B2 information, determine the motion information of the sub-region, if the motion information of B2 is unidirectional motion information, determine the unidirectional motion information as the motion information of the sub-region. If the motion information of B2 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. Alternatively, the sub-region corresponds to the surrounding matching block B3, and the motion information of the sub-region is determined according to the motion information of B3. If the motion information of B3 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of B3 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. Alternatively, the sub-region corresponds to the peripheral matching block B4, and the motion information of the sub-region is determined according to the motion information of B4. If the motion information of B4 is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of B4 is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
实施例17:当前块的宽度W可以大于等于16,当前块的高度H可以等于8,基于此,可以采用如下方式对当前块内的每个子区域进行运动补偿:Embodiment 17: The width W of the current block may be greater than or equal to 16, and the height H of the current block may be equal to 8. Based on this, motion compensation may be performed on each sub-region in the current block in the following manner:
如果角度预测模式为水平预测模式,将每个W*4的子区域按照水平角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。If the angle prediction mode is the horizontal prediction mode, motion compensation is performed on each sub-region of W*4 according to the horizontal angle. Bidirectional motion information is allowed when performing motion compensation. For example, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
如果角度预测模式为其它角度预测模式,针对当前块内的每个8*8的子区域,按照一定角度进行双向运动补偿。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为子区域的运动信息。针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。If the angle prediction mode is another angle prediction mode, for each 8*8 sub-region in the current block, bidirectional motion compensation is performed according to a certain angle. For example, if the motion information of the surrounding matching block is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. For each 8*8 sub-region, if the sub-region corresponds to multiple surrounding matching blocks, for the motion information of the sub-region, the motion information of any surrounding matching block is selected from the motion information of the multiple surrounding matching blocks.
例如,参见图10I所示,针对水平预测模式,针对第一个W*4的子区域,可以选择周边匹配块A1的运动信息,针对第二个W*4的子区域,可以选择周边匹配块A2的运动信息。参见图10J所示,针对垂直预测模式,针对第一个8*8的子区域,可以选择周边匹配块B1的运动信息,可以选择周边匹配块B2的运动信息。针对第二个8*8的子区域,可以选择周边匹配块B3的运动信息,可以选择周边匹配块B4的运动信息。其它角度预测模式类似,在此不再赘述。For example, as shown in FIG. 10I, for the horizontal prediction mode, for the first sub-region of W*4, the motion information of the surrounding matching block A1 can be selected, and for the second sub-region of W*4, the surrounding matching block can be selected A2's motion information. Referring to FIG. 10J , for the vertical prediction mode, for the first 8*8 sub-region, the motion information of the surrounding matching block B1 may be selected, and the motion information of the surrounding matching block B2 may be selected. For the second 8*8 sub-region, the motion information of the surrounding matching block B3 can be selected, and the motion information of the surrounding matching block B4 can be selected. Other angle prediction modes are similar, and are not repeated here.
参见表1所示,实施例17是针对表1中宽大于等于16,高等于8的示例,针对水平预测模式,子块划分尺寸为宽*4,选择条件为允许双向。针对其它角度预测模式,则子块划分尺寸为8*8,且选择条件为允许双向。Referring to Table 1, Embodiment 17 is for the example in Table 1 where the width is greater than or equal to 16 and the height is equal to 8. For the horizontal prediction mode, the sub-block division size is width*4, and the selection condition is to allow bidirectionality. For other angle prediction modes, the sub-block division size is 8*8, and the selection condition is to allow bidirectionality.
根据图10I,当前块的尺寸为16*8,当前块的目标运动信息预测模式为水平模式时,划分2个尺寸为16*4的子区域,其中一个16*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该16*4的子区域的运动信息。另一个16*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该16*4的子区域的运动信息。对于这两个16*4的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。According to FIG. 10I , the size of the current block is 16*8, and when the target motion information prediction mode of the current block is the horizontal mode, two sub-regions with a size of 16*4 are divided, and one 16*4 sub-region corresponds to the surrounding matching block A1, according to the motion information of A1, determine the motion information of the 16*4 sub-region. Another 16*4 sub-region corresponds to the surrounding matching block A2, and the motion information of the 16*4 sub-region is determined according to the motion information of A2. For these two 16*4 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-regions. If the motion information of the surrounding matching block is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10J,当前块的尺寸为16*8,目标运动信息预测模式为垂直模式时,划分2个尺寸为8*8的子区域,其中一个8*8的子区域对应周边匹配块B1或者B2,根据B1或者B2的运动信息,确定该8*8的子区域的运动信息。另一个8*8的子区域对应周边匹配块B3或者B4,根据B3或者B4的运动信息,确定该8*8的子区域的运动信息。对于这两个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to FIG. 10J , the size of the current block is 16*8, and when the target motion information prediction mode is the vertical mode, two sub-regions with a size of 8*8 are divided, and one of the 8*8 sub-regions corresponds to the surrounding matching block B1 or B2 , and determine the motion information of the 8*8 sub-region according to the motion information of B1 or B2. Another 8*8 sub-region corresponds to the peripheral matching block B3 or B4, and the motion information of the 8*8 sub-region is determined according to the motion information of B3 or B4. For these two 8*8 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-regions. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
实施例18:当前块的宽度W可以等于8,当前块的高度H可以大于等于16,基于此,可以采用如下方式对当前块内的每个子区域进行运动补偿:Embodiment 18: The width W of the current block may be equal to 8, and the height H of the current block may be greater than or equal to 16. Based on this, motion compensation may be performed on each sub-region in the current block in the following manner:
如果角度预测模式为垂直预测模式,将每个4*H的子区域按照垂直角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。If the angle prediction mode is the vertical prediction mode, motion compensation is performed on each 4*H sub-region according to the vertical angle. Bidirectional motion information is allowed when performing motion compensation. For example, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
如果角度预测模式为其它角度预测模式,针对当前块内的每个8*8的子区域,按照一定角度进行双向运动补偿。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为子区域的运动信息。针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。If the angle prediction mode is another angle prediction mode, for each 8*8 sub-region in the current block, bidirectional motion compensation is performed according to a certain angle. For example, if the motion information of the surrounding matching block is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. For each 8*8 sub-region, if the sub-region corresponds to multiple surrounding matching blocks, for the motion information of the sub-region, the motion information of any surrounding matching block is selected from the motion information of the multiple surrounding matching blocks.
例如,参见图10K所示,针对垂直预测模式,针对第一个4*H的子区域,可以选择周边匹配块B1的运动信息,针对第二个4*H的子区域,可以选择周边匹配块B2的运动信息。参见图10L所示,针对水平预测模式,针对第一个8*8的子区域,可以选择周边匹配块A1的运动信息,可以选择周边匹配块A2的运动信息。针对第二个8*8的子区域,可以选择周边匹配块A1的运动信息,可以选择周边匹配块A2的运动信息。其它角度预测模式类似,在此不再赘述。For example, as shown in FIG. 10K , for the vertical prediction mode, for the first 4*H sub-region, the motion information of the surrounding matching block B1 can be selected, and for the second 4*H sub-region, the surrounding matching block can be selected Motion information for B2. Referring to FIG. 10L, for the horizontal prediction mode, for the first 8*8 sub-region, the motion information of the surrounding matching block A1 can be selected, and the motion information of the surrounding matching block A2 can be selected. For the second 8*8 sub-region, the motion information of the surrounding matching block A1 can be selected, and the motion information of the surrounding matching block A2 can be selected. Other angle prediction modes are similar, and are not repeated here.
参见表1所示,实施例18是针对表1中高大于等于16,宽等于8的示例,针对垂直预测模式,子块划分尺寸为4*高,且选择条件为允许双向。针对其它角度预测模式,子块划分尺寸为8*8,且选择条件为允许双向。Referring to Table 1,
根据图10K,当前块的尺寸为8*16,当前块的目标运动信息预测模式为垂直模式时,划分2个尺寸为4*16的子区域,其中一个4*16的子区域对应周边匹配块B1,根据B1的运动信息,确定该4*16的子区域的运动信息。另一个4*16的子区域对应周边匹配块B2,根据B2的运动信息,确定该4*16的子区域的运动信息。对于这两个4*16的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。According to FIG. 10K , the size of the current block is 8*16, and when the target motion information prediction mode of the current block is vertical mode, two sub-regions with a size of 4*16 are divided, and one of the 4*16 sub-regions corresponds to the surrounding matching blocks B1, according to the motion information of B1, determine the motion information of the 4*16 sub-region. Another 4*16 sub-region corresponds to the peripheral matching block B2, and the motion information of the 4*16 sub-region is determined according to the motion information of B2. For these two 4*16 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-regions. If the motion information of the surrounding matching block is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10L,当前块的尺寸为16*8,目标运动信息预测模式为水平模式时,划分2个尺寸为8*8的子区域,一个8*8的子区域对应周边匹配块A1或者A2,根据对应周边匹配块的运动信息,确定该8*8的子区域的运动信息。另一个8*8的子区域对应周边匹配块A1或A2,根据对应周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于两个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to FIG. 10L, the size of the current block is 16*8, and when the target motion information prediction mode is the horizontal mode, two sub-regions with a size of 8*8 are divided, and an 8*8 sub-region corresponds to the surrounding matching block A1 or A2, According to the motion information of the corresponding surrounding matching blocks, the motion information of the 8*8 sub-region is determined. Another 8*8 sub-region corresponds to the surrounding matching block A1 or A2, and the motion information of the 8*8 sub-region is determined according to the motion information of the corresponding surrounding matching block. For two 8*8 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-regions. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
实施例19:当前块的宽度W可以大于等于16,当前块的高度H可以大于等于16,基于此,可以采用如下方式对当前块内的每个子区域进行运动补偿:Embodiment 19: The width W of the current block may be greater than or equal to 16, and the height H of the current block may be greater than or equal to 16. Based on this, motion compensation may be performed on each sub-region in the current block in the following manner:
如果角度预测模式为垂直预测模式,将每个4*H的子区域按照垂直角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。If the angle prediction mode is the vertical prediction mode, motion compensation is performed on each 4*H sub-region according to the vertical angle. Bidirectional motion information is allowed when performing motion compensation. For example, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
如果角度预测模式为水平预测模式,将每个W*4的子区域按照水平角度进行运动补偿。在进行运动补偿时允许双向运动信息。例如,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为子区域的运动信息。If the angle prediction mode is the horizontal prediction mode, motion compensation is performed on each sub-region of W*4 according to the horizontal angle. Bidirectional motion information is allowed when performing motion compensation. For example, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region.
如果角度预测模式为其它角度预测模式,针对当前块内的每个8*8的子区域,按照一定角度进行双向运动补偿。例如,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为子区域的运动信息。针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。If the angle prediction mode is another angle prediction mode, for each 8*8 sub-region in the current block, bidirectional motion compensation is performed according to a certain angle. For example, if the motion information of the surrounding matching block is unidirectional motion information, the unidirectional motion information is determined as the motion information of the sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the sub-region. For each 8*8 sub-region, if the sub-region corresponds to multiple surrounding matching blocks, for the motion information of the sub-region, the motion information of any surrounding matching block is selected from the motion information of the multiple surrounding matching blocks.
参见图10M所示,针对垂直预测模式,针对第一个4*H的子区域,可以选择周边匹配块B1的运动信息,针对第二个4*H的子区域,可以选择周边匹配块B2的运动信息,针对第三个4*H的子区域,可以选择周边匹配块B3的运动信息,针对第四个4*H的子区域,可以选择周边匹配块B4的运动信息。针对水平预测模式,针对第一个W*4的子区域,选择周边匹配块A1的运动信息,针对第二个W*4的子区域,选择周边匹配块A2的运动信息,针对第三个W*4的子区域,选择周边匹配块A3的运动信息,针对第四个W*4的子区域,选择周边匹配块A4的运动信息。其它角度预测模式类似,在此不再赘述。Referring to FIG. 10M, for the vertical prediction mode, for the first 4*H sub-region, the motion information of the surrounding matching block B1 can be selected, and for the second 4*H sub-region, the surrounding matching block B2 can be selected. For the motion information, for the third 4*H sub-region, the motion information of the surrounding matching block B3 can be selected, and for the fourth 4*H sub-region, the motion information of the surrounding matching block B4 can be selected. For the horizontal prediction mode, for the first sub-region of W*4, select the motion information of the surrounding matching block A1, for the second sub-region of W*4, select the motion information of the surrounding matching block A2, for the third W*4 sub-region, select the motion information of the surrounding matching block A2 For the sub-region of *4, select the motion information of the surrounding matching block A3, and for the fourth sub-region of W*4, select the motion information of the surrounding matching block A4. Other angle prediction modes are similar, and are not repeated here.
参见表1所示,实施例19是针对表1中高大于等于16,宽大于等于16的示例,针对垂直预测模式,则子块划分尺寸为4*高,且选择条件为允许双向。针对水平预测模式,则子块划分尺寸为宽*4,且选择条件为允许双向。针对其它角度预测模式,则子块划分尺寸为8*8,且选择条件为允许双向。Referring to Table 1, Embodiment 19 is for the example in Table 1 where the height is greater than or equal to 16 and the width is greater than or equal to 16. For the vertical prediction mode, the sub-block division size is 4*height, and the selection condition is to allow bidirectionality. For the horizontal prediction mode, the sub-block division size is width*4, and the selection condition is to allow bidirectionality. For other angle prediction modes, the sub-block division size is 8*8, and the selection condition is to allow bidirectionality.
根据图10M,当前块的尺寸为16*16,目标运动信息预测模式为垂直模式时,划分4个尺寸为4*16的子区域,一个4*16的子区域对应周边匹配块B1,根据B1的运动信息,确定4*16的子区域的运动信息。一个4*16的子区域对应周边匹配块B2,根据B2的运动信息,确定4*16的子区域的运动信息。一个4*16的子区域对应周边匹配块B3,根据B3的运动信息,确定该4*16的子区域的运动信息。一个4*16的子区域对应周边匹配块B4,根据B4的运动信息,确定4*16的子区域的运动信息。对于四个4*16的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to Figure 10M, the size of the current block is 16*16, and when the target motion information prediction mode is vertical mode, four sub-regions with a size of 4*16 are divided, and a 4*16 sub-region corresponds to the surrounding matching block B1, according to B1 The motion information of the 4*16 sub-region is determined. A 4*16 sub-region corresponds to the surrounding matching block B2, and the motion information of the 4*16 sub-region is determined according to the motion information of B2. A 4*16 sub-region corresponds to the peripheral matching block B3, and the motion information of the 4*16 sub-region is determined according to the motion information of B3. A 4*16 sub-region corresponds to the peripheral matching block B4, and the motion information of the 4*16 sub-region is determined according to the motion information of B4. For four 4*16 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10M,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为16*4的子区域,其中一个16*4的子区域对应周边匹配块A1,根据A1的运动信息,确定该16*4的子区域的运动信息。其中一个16*4的子区域对应周边匹配块A2,根据A2的运动信息,确定该16*4的子区域的运动信息。其中一个16*4的子区域对应周边匹配块A3,根据A3的运动信息,确定该16*4的子区域的运动信息。其中一个16*4的子区域对应周边匹配块A4,根据A4的运动信息,确定该16*4的子区域的运动信息。对于这四个16*4的子区域,若周边匹配块的运动信息为单向运动信息,则将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,则将双向运动信息确定为对应子区域的运动信息。According to FIG. 10M , the size of the current block is 16*16, and when the target motion information prediction mode of the current block is the horizontal mode, four sub-regions with a size of 16*4 are divided, and one 16*4 sub-region corresponds to the surrounding matching block A1, according to the motion information of A1, determine the motion information of the 16*4 sub-region. One of the 16*4 sub-regions corresponds to the surrounding matching block A2, and the motion information of the 16*4 sub-region is determined according to the motion information of A2. One of the 16*4 sub-regions corresponds to the surrounding matching block A3, and the motion information of the 16*4 sub-region is determined according to the motion information of A3. One of the 16*4 sub-regions corresponds to the surrounding matching block A4, and the motion information of the 16*4 sub-region is determined according to the motion information of A4. For these four 16*4 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching block is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
实施例20:当前块的宽度W可以大于等于8,当前块的高度H可以大于等于8,则对当前块内的每个8*8的子区域进行运动补偿。参见图10N所示,针对每个8*8的子区域,若子区域对应多个周边匹配块,针对子区域的运动信息,从多个周边匹配块的运动信息中选用任意一个周边匹配块的运动信息。Embodiment 20: The width W of the current block may be greater than or equal to 8, and the height H of the current block may be greater than or equal to 8, and motion compensation is performed on each 8*8 sub-region in the current block. Referring to Figure 10N, for each 8*8 sub-region, if the sub-region corresponds to multiple surrounding matching blocks, for the motion information of the sub-region, select the motion of any surrounding matching block from the motion information of the multiple surrounding matching blocks. information.
实施例20中,子块划分尺寸与运动信息角度预测模式无关,无论是哪种运动信息角度预测模式,只要宽大于等于8,高大于等于8,子区域划分尺寸可以为8*8。选择条件与运动信息角度预测模式无关,无论是哪种运动信息角度预测模式,只要宽大于等于8,高大于等于8,选择条件为允许双向。In Embodiment 20, the sub-block division size has nothing to do with the motion information angle prediction mode. No matter which motion information angle prediction mode is used, as long as the width is greater than or equal to 8 and the height is greater than or equal to 8, the sub-region division size can be 8*8. The selection condition has nothing to do with the motion information angle prediction mode. No matter which motion information angle prediction mode is used, as long as the width is greater than or equal to 8 and the height is greater than or equal to 8, the selection condition is to allow bidirectionality.
根据图10N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为8*8的子区域,其中一个8*8的子区域对应周边匹配块A1或A2,根据A1或A2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块A1或A2,根据A1或A2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块A3或A4,根据A3或A4的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块A3或A4,根据A3或A4的运动信息,确定该8*8的子区域的运动信息。对于这四个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to FIG. 10N , the size of the current block is 16*16, and when the target motion information prediction mode of the current block is the horizontal mode, four sub-regions with a size of 8*8 are divided, and one 8*8 sub-region corresponds to the surrounding matching blocks A1 or A2 determines the motion information of the 8*8 sub-area according to the motion information of A1 or A2. One of the 8*8 sub-regions corresponds to the surrounding matching block A1 or A2, and the motion information of the 8*8 sub-region is determined according to the motion information of A1 or A2. One of the 8*8 sub-regions corresponds to the surrounding matching block A3 or A4, and the motion information of the 8*8 sub-region is determined according to the motion information of A3 or A4. One of the 8*8 sub-regions corresponds to the surrounding matching block A3 or A4, and the motion information of the 8*8 sub-region is determined according to the motion information of A3 or A4. For these four 8*8 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-regions. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平模式时,划分4个尺寸为8*8的子区域,其中一个8*8的子区域对应周边匹配块B1或B2,根据B1或B2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块B1或B2,根据B1或B2的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块B3或B4,根据B3或B4的运动信息,确定该8*8的子区域的运动信息。其中一个8*8的子区域对应周边匹配块B3或B4,根据B3或B4的运动信息,确定该8*8的子区域的运动信息。对于这四个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to FIG. 10N , the size of the current block is 16*16, and when the target motion information prediction mode of the current block is the horizontal mode, four sub-regions with a size of 8*8 are divided, and one 8*8 sub-region corresponds to the surrounding matching blocks B1 or B2, according to the motion information of B1 or B2, determine the motion information of the 8*8 sub-region. One of the 8*8 sub-regions corresponds to the peripheral matching block B1 or B2, and the motion information of the 8*8 sub-region is determined according to the motion information of B1 or B2. One of the 8*8 sub-regions corresponds to the peripheral matching block B3 or B4, and the motion information of the 8*8 sub-region is determined according to the motion information of B3 or B4. One of the 8*8 sub-regions corresponds to the peripheral matching block B3 or B4, and the motion information of the 8*8 sub-region is determined according to the motion information of B3 or B4. For these four 8*8 sub-regions, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-regions. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平向上模式时,可以划分4个尺寸为8*8的子区域。然后,针对每个8*8的子区域,可以确定该8*8的子区域对应的周边匹配块(E、B2或A2),对此确定方式不做限制,并根据周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于每个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to FIG. 10N , the size of the current block is 16*16, and when the target motion information prediction mode of the current block is the horizontal upward mode, four sub-regions with a size of 8*8 can be divided. Then, for each 8*8 sub-area, the surrounding matching block (E, B2 or A2) corresponding to the 8*8 sub-area can be determined. There is no restriction on the determination method, and the motion information of the surrounding matching block can be determined according to the motion information of the surrounding matching block. , to determine the motion information of the 8*8 sub-region. For each 8*8 sub-region, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为水平向下模式时,划分4个尺寸为8*8的子区域。然后,针对每个8*8的子区域,可以确定该8*8的子区域对应的周边匹配块(A3、A5或A7),对此不做限制,并根据周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于每个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to FIG. 10N , the size of the current block is 16*16, and when the target motion information prediction mode of the current block is the horizontal down mode, four sub-regions with a size of 8*8 are divided. Then, for each 8*8 sub-region, the surrounding matching block (A3, A5 or A7) corresponding to the 8*8 sub-region can be determined, which is not limited, and is determined according to the motion information of the surrounding matching block. The motion information of the 8*8 sub-region. For each 8*8 sub-region, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
根据图10N,当前块的尺寸为16*16,当前块的目标运动信息预测模式为垂直向右模式时,划分4个尺寸为8*8的子区域。然后,针对每个8*8的子区域,可以确定该8*8的子区域对应的周边匹配块(B3、B5或B7),对此不做限制,并根据周边匹配块的运动信息,确定该8*8的子区域的运动信息。对于每个8*8的子区域,若周边匹配块的运动信息为单向运动信息,将单向运动信息确定为对应子区域的运动信息。若周边匹配块的运动信息为双向运动信息,将双向运动信息确定为对应子区域的运动信息。According to FIG. 10N , the size of the current block is 16*16, and when the target motion information prediction mode of the current block is the vertical right mode, four sub-regions with a size of 8*8 are divided. Then, for each 8*8 sub-region, the surrounding matching block (B3, B5 or B7) corresponding to the 8*8 sub-region can be determined, which is not limited, and is determined according to the motion information of the surrounding matching block. The motion information of the 8*8 sub-region. For each 8*8 sub-region, if the motion information of the surrounding matching blocks is unidirectional motion information, the unidirectional motion information is determined as the motion information of the corresponding sub-region. If the motion information of the surrounding matching blocks is bidirectional motion information, the bidirectional motion information is determined as the motion information of the corresponding sub-region.
实施例21:当前块的宽度W大于等于8并且高度H大于等于8时,则对当前块内每个8*8的子区域进行运动补偿,针对每个子区域来说,按照对应的角度选用周围匹配块的几个运动信息中的任意一个,参见图10N所示。Embodiment 21: When the width W of the current block is greater than or equal to 8 and the height H is greater than or equal to 8, motion compensation is performed on each 8*8 sub-region in the current block. For each sub-region, the surrounding area is selected according to the corresponding angle. Match any one of several motion information of the block, as shown in FIG. 10N.
实施例22:基于与上述方法同样的申请构思,本申请实施例提出一种编解码装置,应用于解码端或编码端,如图11所示,为所述装置的结构图,包括:Embodiment 22: Based on the same application concept as the above method, the embodiment of the present application proposes an encoding and decoding device, which is applied to a decoding end or an encoding end. As shown in FIG. 11 , it is a structural diagram of the device, including:
获取模块111,用于获取当前块的至少一个运动信息角度预测模式;an acquisition module 111, configured to acquire at least one motion information angle prediction mode of the current block;
处理模块112,用于针对每个运动信息角度预测模式,基于所述运动信息角度预测模式的预配置角度,从所述当前块的周边块中选择所述预配置角度指向的多个周边匹配块;若所述多个周边匹配块的运动信息不完全相同,则将所述运动信息角度预测模式添加到运动信息预测模式候选列表中;The processing module 112 is configured to, for each motion information angle prediction mode, based on the preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block ; If the motion information of the plurality of surrounding matching blocks is not identical, then adding the motion information angle prediction mode to the motion information prediction mode candidate list;
编解码模块113,用于根据所述运动信息预测模式候选列表对所述当前块进行编码或者解码。The encoding and decoding module 113 is configured to encode or decode the current block according to the motion information prediction mode candidate list.
所述处理模块112,还用于若所述多个周边匹配块的运动信息完全相同,则禁止将所述运动信息角度预测模式添加到所述运动信息预测模式候选列表中。The processing module 112 is further configured to prohibit adding the motion information angle prediction mode to the motion information prediction mode candidate list if the motion information of the plurality of surrounding matching blocks are identical.
所述处理模块112,还用于从所述多个周边匹配块中选择至少一个第一周边匹配块;针对每个第一周边匹配块,从所述多个周边匹配块中选择所述第一周边匹配块对应的第二周边匹配块;若所述第一周边匹配块的运动信息与所述第二周边匹配块的运动信息不同,则确定所述第一周边匹配块的比较结果为运动信息不同;若所述第一周边匹配块的运动信息与所述第二周边匹配块的运动信息相同,则确定所述第一周边匹配块的比较结果为运动信息相同;The processing module 112 is further configured to select at least one first peripheral matching block from the plurality of peripheral matching blocks; for each first peripheral matching block, select the first peripheral matching block from the plurality of peripheral matching blocks The second peripheral matching block corresponding to the peripheral matching block; if the motion information of the first peripheral matching block is different from the motion information of the second peripheral matching block, the comparison result of the first peripheral matching block is determined as motion information different; if the motion information of the first peripheral matching block is the same as the motion information of the second peripheral matching block, then it is determined that the comparison result of the first peripheral matching block is that the motion information is the same;
若任一第一周边匹配块的比较结果为运动信息不同,则确定所述多个周边匹配块的运动信息不完全相同;若所有第一周边匹配块的比较结果均为运动信息相同,则确定所述多个周边匹配块的运动信息完全相同。If the comparison result of any one of the first peripheral matching blocks is that the motion information is different, it is determined that the motion information of the multiple peripheral matching blocks is not identical; if the comparison results of all the first peripheral matching blocks are the same motion information, then it is determined that The motion information of the plurality of surrounding matching blocks is exactly the same.
所述处理模块112从所述多个周边匹配块中选择至少一个第一周边匹配块时具体用于:将所述多个周边匹配块中的任意一个或多个作为所述第一周边匹配块;或将所述多个周边匹配块中指定的一个或多个作为所述第一周边匹配块;When the processing module 112 selects at least one first peripheral matching block from the plurality of peripheral matching blocks, it is specifically configured to: use any one or more of the plurality of peripheral matching blocks as the first peripheral matching block ; or use one or more specified in the plurality of peripheral matching blocks as the first peripheral matching block;
所述处理模块112从所述多个周边匹配块中选择所述第一周边匹配块对应的第二周边匹配块时具体用于:根据遍历步长和所述第一周边匹配块的位置,从所述多个周边匹配块中选择所述第一周边匹配块对应的第二周边匹配块;其中,所述遍历步长是所述第一周边匹配块与所述第二周边匹配块之间的块间隔。When the processing module 112 selects the second peripheral matching block corresponding to the first peripheral matching block from the plurality of peripheral matching blocks, it is specifically configured to: according to the traversal step size and the position of the first peripheral matching block, from The second peripheral matching block corresponding to the first peripheral matching block is selected from the plurality of peripheral matching blocks; wherein, the traversal step is the difference between the first peripheral matching block and the second peripheral matching block. block interval.
所述处理模块112,还用于基于所述当前块的尺寸,确定所述遍历步长。The processing module 112 is further configured to determine the traversal step size based on the size of the current block.
在一个例子中,所述编解码装置还包括(在图中未示出):In an example, the encoding and decoding apparatus further includes (not shown in the figure):
填充模块,用于若所述多个周边匹配块中存在未编码块和/或帧内编码块,则对所述未编码块和/或所述帧内编码块的运动信息进行填充。A padding module, configured to pad the motion information of the uncoded block and/or the intra-frame coded block if there is an uncoded block and/or an intra-frame coded block in the plurality of surrounding matching blocks.
所述填充模块对所述未编码块和/或所述帧内编码块的运动信息进行填充时具体用于:将所述未编码块和/或所述帧内编码块的邻近块的可用运动信息,填充为所述未编码块和/或所述帧内编码块的运动信息;或者,When the padding module pads the motion information of the uncoded block and/or the intra-coded block, it is specifically configured to: use available motions of adjacent blocks of the uncoded block and/or the intra-coded block information, filled with motion information of the uncoded block and/or the intra-coded block; or,
将所述未编码块和/或所述帧内编码块在时域参考帧中对应位置的参考块的可用运动信息,填充为所述未编码块和/或所述帧内编码块的运动信息;或者,Filling the available motion information of the uncoded block and/or the reference block at the corresponding position in the temporal reference frame with the motion information of the uncoded block and/or the intra-coded block as the motion information of the uncoded block and/or the intra-coded block ;or,
将默认运动信息填充为所述未编码块和/或所述帧内编码块的运动信息。The default motion information is filled with the motion information of the uncoded block and/or the intra-coded block.
在一个例子中,所述编解码模块113根据所述运动信息预测模式候选列表对所述当前块进行编码或者解码时具体用于:In one example, when the encoding and decoding module 113 encodes or decodes the current block according to the motion information prediction mode candidate list, it is specifically used for:
从所述运动信息预测模式候选列表中选择所述当前块的目标运动信息预测模式;若所述目标运动信息预测模式为目标运动信息角度预测模式,则:Select the target motion information prediction mode of the current block from the motion information prediction mode candidate list; if the target motion information prediction mode is the target motion information angle prediction mode, then:
根据所述目标运动信息角度预测模式,确定所述当前块的运动信息;determining the motion information of the current block according to the target motion information angle prediction mode;
根据所述当前块的运动信息,确定所述当前块的预测值。The prediction value of the current block is determined according to the motion information of the current block.
所述编解码模块113根据所述目标运动信息角度预测模式,确定所述当前块的运动信息时具体用于:基于所述目标运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择所述预配置角度指向的多个周边匹配块;When determining the motion information of the current block according to the target motion information angle prediction mode, the encoding and decoding module 113 is specifically configured to: based on the preconfigured angle corresponding to the target motion information angle prediction mode, from the current block's angle prediction mode. Selecting a plurality of peripheral matching blocks pointed to by the preconfigured angle from the peripheral blocks;
将所述当前块划分为至少一个子区域;针对每个子区域,从所述多个周边匹配块中选择与所述子区域对应的周边匹配块;dividing the current block into at least one sub-region; for each sub-region, selecting a surrounding matching block corresponding to the sub-region from the plurality of surrounding matching blocks;
根据选择的周边匹配块的运动信息确定所述子区域的运动信息。The motion information of the sub-region is determined according to the motion information of the selected surrounding matching blocks.
所述编解码模块113根据所述目标运动信息角度预测模式,确定所述当前块的运动信息时具体用于:根据所述目标运动信息角度预测模式和所述当前块的尺寸,确定所述当前块的用于获取运动信息的选择条件、所述当前块的子区域划分信息;所述选择条件为第一选择条件或者第二选择条件,第一选择条件为从周边匹配块的运动信息中选择的运动信息不允许是双向运动信息,第二选择条件为从周边匹配块的运动信息中选择的运动信息允许是双向运动信息;When determining the motion information of the current block according to the target motion information angle prediction mode, the encoding and decoding module 113 is specifically configured to: determine the current block according to the target motion information angle prediction mode and the size of the current block. The selection condition of the block used to obtain the motion information, the sub-region division information of the current block; the selection condition is the first selection condition or the second selection condition, and the first selection condition is to select from the motion information of the surrounding matching blocks The motion information is not allowed to be bidirectional motion information, and the second selection condition is that the motion information selected from the motion information of the surrounding matching blocks is allowed to be bidirectional motion information;
基于所述目标运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择所述预配置角度指向的多个周边匹配块;Based on the pre-configured angle corresponding to the target motion information angle prediction mode, selecting a plurality of surrounding matching blocks pointed to by the pre-configured angle from surrounding blocks of the current block;
根据所述选择条件、所述子区域划分信息和所述多个周边匹配块的运动信息,确定所述当前块的运动信息。The motion information of the current block is determined according to the selection condition, the sub-region division information, and the motion information of the plurality of surrounding matching blocks.
所述编解码模块113根据所述目标运动信息角度预测模式,确定所述当前块的运动信息时具体用于:根据所述目标运动信息角度预测模式对应的预配置角度,从所述当前块的周边块中选择所述预配置角度指向的周边匹配块;When determining the motion information of the current block according to the target motion information angle prediction mode, the encoding and decoding module 113 is specifically configured to: according to the preconfigured angle corresponding to the target motion information angle prediction mode, from the current block Selecting a peripheral matching block pointed to by the preconfigured angle from the peripheral blocks;
根据所述周边匹配块的运动信息,确定所述当前块的运动信息;其中,若所述当前块的宽和高都大于或等于8,则所述当前块是按照8*8划分子块的,并且从周边匹配块的运动信息中选择的运动信息允许是双向运动信息。Determine the motion information of the current block according to the motion information of the surrounding matching blocks; wherein, if the width and height of the current block are both greater than or equal to 8, the current block is divided into sub-blocks according to 8*8 , and the motion information selected from the motion information of the surrounding matching blocks is allowed to be bidirectional motion information.
本申请实施例提供的解码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图12所示。包括:处理器121和机器可读存储介质122,所述机器可读存储介质122存储有能够被所述处理器121执行的机器可执行指令;所述处理器121用于执行机器可执行指令,以实现本申请上述示例公开的方法。From the perspective of hardware, a schematic diagram of the hardware architecture of the decoding end device provided by the embodiment of the present application may be specifically shown in FIG. 12 . It includes: a
例如,所述处理器121用于执行机器可执行指令,以实现如下步骤:For example, the
获取当前块的至少一个运动信息角度预测模式;obtaining at least one motion information angle prediction mode of the current block;
针对每个运动信息角度预测模式,基于所述运动信息角度预测模式的预配置角度,从当前块的周边块中选择所述预配置角度指向的多个周边匹配块;For each motion information angle prediction mode, based on the preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block;
若所述多个周边匹配块的运动信息不完全相同,则将所述运动信息角度预测模式添加到运动信息预测模式候选列表中;If the motion information of the plurality of surrounding matching blocks is not identical, adding the motion information angle prediction mode to the motion information prediction mode candidate list;
根据所述运动信息预测模式候选列表对当前块进行解码。The current block is decoded according to the motion information prediction mode candidate list.
本申请实施例提供的编码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图13所示。包括:处理器131和机器可读存储介质132,所述机器可读存储介质132存储有能够被所述处理器131执行的机器可执行指令;所述处理器131用于执行机器可执行指令,以实现本申请上述示例公开的方法。From a hardware perspective, a schematic diagram of a hardware architecture of the encoding end device provided by the embodiment of the present application can be referred to as shown in FIG. 13 . It includes: a
例如,所述处理器131用于执行机器可执行指令,以实现如下步骤:For example, the
获取当前块的至少一个运动信息角度预测模式;obtaining at least one motion information angle prediction mode of the current block;
针对每个运动信息角度预测模式,基于所述运动信息角度预测模式的预配置角度,从当前块的周边块中选择所述预配置角度指向的多个周边匹配块;For each motion information angle prediction mode, based on the preconfigured angle of the motion information angle prediction mode, select a plurality of surrounding matching blocks pointed to by the preconfigured angle from surrounding blocks of the current block;
若所述多个周边匹配块的运动信息不完全相同,则将所述运动信息角度预测模式添加到运动信息预测模式候选列表中;If the motion information of the plurality of surrounding matching blocks is not identical, adding the motion information angle prediction mode to the motion information prediction mode candidate list;
根据所述运动信息预测模式候选列表对当前块进行编码。The current block is encoded according to the motion information prediction mode candidate list.
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的编解码方法。Based on the same application concept as the above method, an embodiment of the present application further provides a machine-readable storage medium, where several computer instructions are stored on the machine-readable storage medium, and when the computer instructions are executed by a processor, the present invention can be implemented. Apply for the encoding and decoding methods disclosed in the above examples.
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。Illustratively, the above-mentioned machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that may contain or store information, such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as compact disc, dvd, etc.), or similar storage media, or a combination thereof.
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。The systems, devices, modules or units described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, e-mail device, game control desktop, tablet, wearable device, or a combination of any of these devices.
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。For the convenience of description, when describing the above device, the functions are divided into various units and described respectively. Of course, when implementing the present application, the functions of each unit may be implemented in one or more software and/or hardware.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。As will be appreciated by those skilled in the art, the embodiments of the present application may be provided as a method, a system, or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It will be understood that each process and/or block in the flowchart illustrations and/or block diagrams, and combinations of processes and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。Furthermore, these computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising the instruction means, The instruction means implements the functions specified in a flow or flows of the flowcharts and/or a block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。The above descriptions are merely examples of the present application, and are not intended to limit the present application. Various modifications and variations of this application are possible for those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included within the scope of the claims of this application.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211098101.8ACN115460424B (en) | 2019-06-05 | 2019-06-05 | Encoding and decoding method, device and equipment thereof |
| CN201910487541.4ACN112055220B (en) | 2019-06-05 | 2019-06-05 | A coding and decoding method, device and equipment thereof |
| PCT/CN2020/092406WO2020244425A1 (en) | 2019-06-05 | 2020-05-26 | Encoding and decoding method and apparatus, and devices thereof |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910487541.4ACN112055220B (en) | 2019-06-05 | 2019-06-05 | A coding and decoding method, device and equipment thereof |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211098101.8ADivisionCN115460424B (en) | 2019-06-05 | 2019-06-05 | Encoding and decoding method, device and equipment thereof |
| Publication Number | Publication Date |
|---|---|
| CN112055220A CN112055220A (en) | 2020-12-08 |
| CN112055220Btrue CN112055220B (en) | 2022-07-29 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910487541.4AActiveCN112055220B (en) | 2019-06-05 | 2019-06-05 | A coding and decoding method, device and equipment thereof |
| CN202211098101.8AActiveCN115460424B (en) | 2019-06-05 | 2019-06-05 | Encoding and decoding method, device and equipment thereof |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211098101.8AActiveCN115460424B (en) | 2019-06-05 | 2019-06-05 | Encoding and decoding method, device and equipment thereof |
| Country | Link |
|---|---|
| CN (2) | CN112055220B (en) |
| WO (1) | WO2020244425A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU1941797A (en)* | 1997-03-17 | 1998-10-12 | Mitsubishi Denki Kabushiki Kaisha | Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system |
| US8675736B2 (en)* | 2009-05-14 | 2014-03-18 | Qualcomm Incorporated | Motion vector processing |
| CN102223528B (en)* | 2010-04-15 | 2014-04-30 | 华为技术有限公司 | Method for obtaining reference motion vector |
| CN102164278B (en)* | 2011-02-15 | 2013-05-15 | 杭州海康威视数字技术股份有限公司 | Video coding method and device for removing flicker of I frame |
| KR20140019448A (en)* | 2011-05-31 | 2014-02-14 | 가부시키가이샤 제이브이씨 켄우드 | Moving image encoding device, moving image encoding method and moving image encoding program, as well as moving image decoding device, moving image decoding method and moving image decoding program |
| JP5678814B2 (en)* | 2011-06-20 | 2015-03-04 | 株式会社Jvcケンウッド | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program |
| KR101347272B1 (en)* | 2011-11-04 | 2014-01-10 | 연세대학교 산학협력단 | Method and apparatus for inter prediction |
| JP2013121167A (en)* | 2011-12-09 | 2013-06-17 | Jvc Kenwood Corp | Image encoder, image encoding method, and image encoding program |
| CN103338373B (en)* | 2013-06-15 | 2016-05-04 | 浙江大学 | A kind of adjacent boundary length deriving method and device |
| MX375837B (en)* | 2014-10-31 | 2025-03-06 | Samsung Electronics Co Ltd | VIDEO ENCODING DEVICE AND VIDEO DECODING DEVICE USING HIGH PRECISION HOPPING CODING AND METHOD THEREOF. |
| CN104811726B (en)* | 2015-04-24 | 2018-12-18 | 宏祐图像科技(上海)有限公司 | Candidate Motion Vector Selection Method for Motion Estimation in Frame Rate Conversion |
| WO2017048008A1 (en)* | 2015-09-17 | 2017-03-23 | 엘지전자 주식회사 | Inter-prediction method and apparatus in video coding system |
| KR20170058837A (en)* | 2015-11-19 | 2017-05-29 | 한국전자통신연구원 | Method and apparatus for encoding/decoding of intra prediction mode signaling |
| US10390021B2 (en)* | 2016-03-18 | 2019-08-20 | Mediatek Inc. | Method and apparatus of video coding |
| US10448011B2 (en)* | 2016-03-18 | 2019-10-15 | Mediatek Inc. | Method and apparatus of intra prediction in image and video processing |
| US20170347094A1 (en)* | 2016-05-31 | 2017-11-30 | Google Inc. | Block size adaptive directional intra prediction |
| CN106454378B (en)* | 2016-09-07 | 2019-01-29 | 中山大学 | Converting video coding method and system in a kind of frame per second based on amoeboid movement model |
| CN116962675A (en)* | 2017-01-16 | 2023-10-27 | 世宗大学校产学协力团 | Image decoding/encoding methods and bit stream transmission methods |
| CN109089119B (en)* | 2017-06-13 | 2021-08-13 | 浙江大学 | A method and device for motion vector prediction |
| CN109587479B (en)* | 2017-09-29 | 2023-11-10 | 华为技术有限公司 | Inter-frame prediction method and device for video image and coder-decoder |
| CN112565785B (en)* | 2018-12-28 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | Coding and decoding method and equipment thereof |
| Publication number | Publication date |
|---|---|
| CN112055220A (en) | 2020-12-08 |
| WO2020244425A1 (en) | 2020-12-10 |
| CN115460424A (en) | 2022-12-09 |
| CN115460424B (en) | 2024-09-20 |
| Publication | Publication Date | Title |
|---|---|---|
| US11936896B2 (en) | Video encoding and decoding | |
| CN111385569B (en) | Coding and decoding method and equipment thereof | |
| US10812821B2 (en) | Video encoding and decoding | |
| CN113873249B (en) | Encoding and decoding method, device and equipment | |
| CN111263144B (en) | A kind of motion information determination method and device thereof | |
| WO2020259388A1 (en) | Method and apparatus for coding and decoding, and devices | |
| CN112449181B (en) | Encoding and decoding method, device and equipment | |
| CN112565747B (en) | Decoding and encoding method, device and equipment thereof | |
| CN112055220B (en) | A coding and decoding method, device and equipment thereof | |
| CN112422971B (en) | A coding and decoding method, device and equipment thereof | |
| CN113891089A (en) | Method, device and equipment for constructing motion information candidate list | |
| CN111669592B (en) | A codec method, device and equipment thereof | |
| CN113422951B (en) | A decoding and encoding method, device and equipment thereof | |
| CN112468817B (en) | Encoding and decoding method, device and equipment |
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |