RU2793275C2 - Video coding and decoding - Google Patents

Video coding and decoding Download PDF

Info

Publication number
RU2793275C2
RU2793275C2 RU2022119590A RU2022119590A RU2793275C2 RU 2793275 C2 RU2793275 C2 RU 2793275C2 RU 2022119590 A RU2022119590 A RU 2022119590A RU 2022119590 A RU2022119590 A RU 2022119590A RU 2793275 C2 RU2793275 C2 RU 2793275C2
Authority
RU
Russia
Prior art keywords
block
motion information
subblock
sub
target motion
Prior art date
Application number
RU2022119590A
Other languages
Russian (ru)
Other versions
RU2022119590A (en
Inventor
Фандун ЧЭНЬ
Original Assignee
Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. filed Critical Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд.
Publication of RU2022119590A publication Critical patent/RU2022119590A/en
Application granted granted Critical
Publication of RU2793275C2 publication Critical patent/RU2793275C2/en

Links

Images

Abstract

FIELD: coding and decoding; triangular separation.
SUBSTANCE: coding and decoding video using a geometric separation mode, triangular separation. Coding and decoding video using a geometric separation mode; triangular separation video encoding and decoding method is provided, which comprises: dividing a current block into a first triangular sub-block and a second triangular sub-block when the current block satisfies specific conditions for enabling the triangular geometric separation mode, and determining that the triangular geometric separation mode is enabled; obtaining first target motion information of the first triangular sub-block and second target motion information of the second triangular sub-block, the first target motion information being different from the second target motion information; and performing encoding processing or decoding processing on the current block based on the first target motion information and the second target motion information.
EFFECT: increasing the coding efficiency.
11 cl, 15 dwg

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

[001] Настоящее раскрытие относится к кодированию и декодированию видео, и более конкретно, к кодированию с использованием режима геометрического разделения с треугольным разделением.[001] The present disclosure relates to video coding and decoding, and more specifically, to coding using triangular division geometric separation mode.

Уровень техникиState of the art

[002] Как правило, способ кодирования видео может включать в себя такие процессы, как прогнозирование, преобразование, квантование, фильтрация и энтропийное кодирование. Кодирование с прогнозированием может включать в себя кодирование с внутренним прогнозированием и кодирование с внешним прогнозированием. Кодирование с внешним прогнозированием относится к кодированию с прогнозированием с использованием восстановленных значений пикселей временного соседнего блока текущего блока (временной соседний блок и текущий блок не расположены в одном и том же изображении). Кодирование с внутренним прогнозированием относится к кодированию с прогнозированием с использованием восстановленных значений пикселей пространственного соседнего блока текущего блока (пространственный соседний блок и текущий блок расположены в одном изображении).[002] Typically, a video encoding method may include processes such as prediction, transformation, quantization, filtering, and entropy coding. Predictive coding may include intra prediction coding and inter prediction coding. Inter-prediction coding refers to predictive coding using reconstructed pixel values of the temporal neighbor block of the current block (the temporal neighbor block and the current block are not located in the same picture). Intra-prediction coding refers to predictive coding using reconstructed pixel values of the spatial neighbor block of the current block (the spatial neighbor block and the current block are located in the same picture).

[003] При кодировании с внешним прогнозированием вектор движения (MV) может использоваться для представления относительного смещения между текущим блоком текущего слайса и опорным блоком опорного изображения. Например, текущий слайс A и опорное изображение B имеют высокую корреляцию во временной области. Когда необходимо передать текущий блок A1 текущего слайса A, может выполняться поиск опорного блока B1, который лучше всего соответствует текущему блоку A1, в опорном изображении B, и определяться относительное смещение между текущим блоком A1 и опорным блоком B1 и использоваться как вектор движения текущего блока A1.[003] In inter-prediction coding, a motion vector (MV) may be used to represent the relative offset between the current block of the current slice and the reference block of the reference picture. For example, current slice A and reference picture B have a high correlation in the time domain. When it is necessary to transmit the current block A1 of the current slice A, the reference block B1 that best matches the current block A1 can be searched in the reference picture B, and the relative offset between the current block A1 and the reference block B1 can be determined and used as the motion vector of the current block A1 .

[004] В блоке может быть два разных объекта, соответствующих краю физического объекта, например, одновременно передний план (т. е. физический объект) и фон. В этом случае, если для прогнозирования используется только прямоугольный блок, эффект прогнозирования определенной части объекта в прямоугольном блоке может быть нежелательным, что приводит к большому остатку кодирования.[004] There can be two different objects in the block corresponding to the edge of the physical object, for example, both the foreground (ie, the physical object) and the background. In this case, if only a rectangular block is used for prediction, the effect of predicting a certain part of an object in the rectangular block may be undesirable, resulting in a large coding residual.

РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯDISCLOSURE OF THE INVENTION

[005] В настоящем раскрытии предложен способ кодирования и декодирования видео, который может осуществляться видеокодером или видеодекодером, и содержит: разделение текущего блока на первый треугольный субблок и второй треугольный субблок, когда текущий блок удовлетворяет конкретным условиям для разрешения режима геометрического разделения с треугольным разделением и определено, что разрешен режим геометрического разделения с треугольным разделением; получение первой целевой информации о движении первого треугольного субблока и второй целевой информации о движении второго треугольного субблока, причем первая целевая информация о движении отличается от второй целевой информации о движении; и осуществление обработки кодирования или обработки декодирования на текущем блоке на основе первой целевой информации о движении и второй целевой информации о движении.[005] The present disclosure provides a video encoding and decoding method that can be performed by a video encoder or a video decoder, and comprises: dividing a current block into a first triangular subblock and a second triangular subblock when the current block satisfies specific conditions for enabling the triangular separation geometric separation mode, and it is determined that the geometric separation mode with triangular separation is enabled; obtaining first target motion information of the first triangular sub-block and second target motion information of the second triangular sub-block, the first target motion information being different from the second target motion information; and performing encoding processing or decoding processing on the current block based on the first target motion information and the second target motion information.

[006] В настоящем раскрытии предложен видеодекодер, содержащий процессор и машиночитаемый носитель информации, при этом машиночитаемый носитель информации хранит машиноисполняемые инструкции, которые могут быть вызваны процессором; причем, когда процессор выполняет инструкции, процессор обеспечивает выполнение способа кодирования и декодирования видео.[006] The present disclosure provides a video decoder comprising a processor and a computer-readable storage medium, the computer-readable storage medium storing computer-executable instructions that can be called by the processor; wherein when the processor executes the instructions, the processor causes the video encoding and decoding method to be executed.

[007] В настоящем раскрытии предложен видеокодер, содержащий процессор и машиночитаемый носитель информации, при этом машиночитаемый носитель информации хранит машиноисполняемые инструкции, которые могут быть вызваны процессором; причем, когда процессор выполняет инструкции, процессор обеспечивает выполнение способа кодирования и декодирования видео.[007] The present disclosure provides a video encoder comprising a processor and a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions that can be called by the processor; wherein when the processor executes the instructions, the processor causes the video encoding and decoding method to be executed.

[008] В настоящем раскрытии предложен машиночитаемый носитель информации, на котором хранятся компьютерные инструкции. Когда компьютерные инструкции выполняются процессором, процессор обеспечивает выполнение способа кодирования и декодирования видео.[008] The present disclosure provides a computer-readable storage medium that stores computer instructions. When the computer instructions are executed by the processor, the processor provides a video encoding and decoding method.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[009] Фиг.1 – схематическое изображение структуры системы кодирования видео согласно примеру настоящего раскрытия.[009] FIG. 1 is a schematic diagram of the structure of a video coding system according to an example of the present disclosure.

[0010] Фиг.2 – блок-схема способа декодирования видео согласно примеру настоящего раскрытия.[0010] FIG. 2 is a flowchart of a video decoding method according to an example of the present disclosure.

[0011] Фиг.3 – блок-схема способа кодирования видео согласно примеру настоящего раскрытия.[0011] FIG. 3 is a flowchart of a video encoding method according to an example of the present disclosure.

[0012] Фиг.4A-4B – схематические изображения разделения текущего блока согласно примеру настоящего раскрытия.[0012] FIGS. 4A-4B are schematic representations of a division of a current block according to an example of the present disclosure.

[0013] Фиг.5A-5C – схематические изображения блоков-кандидатов согласно примеру настоящего раскрытия.[0013] FIGS. 5A-5C are schematic diagrams of candidate blocks according to an example of the present disclosure.

[0014] Фиг.6A-6C – схематические изображения разделения субблоков согласно примеру настоящего раскрытия.[0014] FIGS. 6A-6C are schematic representations of subblock separation according to an example of the present disclosure.

[0015] Фиг.7A-7B – схематические изображения хранения информации о движении согласно примеру настоящего раскрытия.[0015] FIGS. 7A-7B are schematic representations of motion information storage according to an example of the present disclosure.

[0016] Фиг.8 – схематическая блок-схема видеодекодера согласно примеру настоящего раскрытия.[0016] FIG. 8 is a schematic block diagram of a video decoder according to an example of the present disclosure.

[0017] Фиг.9 – схематическая блок-схема видеокодера согласно примеру настоящего раскрытия.[0017] FIG. 9 is a schematic block diagram of a video encoder according to an example of the present disclosure.

Осуществление изобретенияImplementation of the invention

[0018] Термины используются в примерах настоящего раскрытия только с целью описания конкретных примеров, а не для ограничения настоящего раскрытия. Формы единственного числа, используемые в настоящем раскрытии и в формуле изобретения, также включают в себя формы множественного числа, если контекст явно не указывает иное. Также следует понимать, что используемый здесь термин «и/или» относится к любой одной или всем возможным комбинациям одного или нескольких соответствующих перечисленных элементов.[0018] The terms are used in the examples of this disclosure only for the purpose of describing specific examples, and not to limit the present disclosure. The singular forms used in the present disclosure and in the claims also include plural forms unless the context clearly indicates otherwise. It is also to be understood that the term "and/or" as used herein refers to any one or all possible combinations of one or more of the respective listed elements.

[0019] Следует понимать, что хотя термины первый, второй, третий и т. д. могут использоваться в примерах настоящего раскрытия для описания различной информации, эта информация не должна ограничиваться этими терминами. Эти термины используются только для того, чтобы отличать один и тот же тип информации друг от друга. Например, не выходя за рамки настоящего раскрытия, под первой информацией также может подразумеваться вторая информация, и аналогично под второй информацией также может подразумеваться первая информация. Кроме того, слово «если» можно интерпретировать как «при», «когда» или «в ответ на».[0019] It should be understood that although the terms first, second, third, etc. may be used in the examples of this disclosure to describe various information, this 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, without departing from the scope of this disclosure, the first information may also refer to the second information, and similarly, the second information may also refer to the first information. In addition, the word "if" can be interpreted as "at", "when", or "in response to".

[0020] Примеры настоящего раскрытия могут включать в себя следующие концепции.[0020] Examples of the present disclosure may include the following concepts.

[0021] Внутреннее прогнозирование: кодирование с прогнозированием с использованием восстановленных значений пикселей пространственного соседнего блока (в том же изображении, что и текущий блок) текущего блока. Было предложено множество режимов внутреннего прогнозирования, и каждый режим внутреннего прогнозирования, за исключением режима DC, соответствует одному направлению текстуры. Прогнозируемые пиксели текущего блока могут быть сгенерированы из граничных восстановленных значений пикселей соседнего блока в его направлении прогнозирования. Например, если текстура изображения расположена в горизонтальном направлении, то режим горизонтального прогнозирования может лучше прогнозировать информацию об изображении.[0021] Intra prediction: predictive coding using the reconstructed pixel values of the spatial neighboring block (in the same image as the current block) of the current block. A plurality of intra prediction modes have been proposed, and each intra prediction mode, except for the DC mode, corresponds to one texture direction. The predicted pixels of the current block may be generated from edge reconstructed pixel values of a neighboring block in its prediction direction. For example, if the image texture is located in the horizontal direction, then the horizontal prediction mode can better predict the image information.

[0022] Внешнее прогнозирование: кодирование с прогнозированием с использованием восстановленных значений пикселей временного соседнего блока (в изображении, отличном от текущего блока) текущего блока. Часть внешнего прогнозирования основных стандартов кодирования видео использует технологию компенсации движения на основе блоков, в которой наиболее подходящий блок находится в опорном изображении для текущего блока. Этот процесс называется оценкой движения (ME).[0022] Intra prediction: predictive coding using the reconstructed pixel values of a temporary neighbor block (in an image other than the current block) of the current block. The extrinsic prediction part of the major video coding standards uses block-based motion compensation technology in which the best fit block is in the reference picture for the current block. This process is called motion estimation (ME).

[0023] Вектор движения (MV). При кодировании с внешним прогнозированием вектор движения используется для представления относительного смещения между текущим кодированным блоком и наиболее подходящим блоком в опорном изображении. Каждый блок, полученный путем разделения, имеет соответствующий вектор движения, передаваемый в декодер. Если вектор движения каждого блока кодируется и передается независимо, особенно когда из разделения получают блоки меньшего размера, необходимо использовать больше битов. Чтобы уменьшить количество битов, используемых для кодирования вектора движения, при кодировании видео может использоваться пространственная корреляция между соседними блоками изображения для прогнозирования вектора движения текущего блока, предназначенного для кодирования, на основе вектора движения соседнего кодированного блока, после чего кодируется разница прогнозирования. Таким образом, можно эффективно уменьшить количество битов, представляющих вектор движения. В процессе кодирования вектора движения текущего блока изображения вектор движения соседнего кодированного блока обычно используется для прогнозирования вектора движения текущего макроблока, а затем кодируется разность векторов движения (MVD) между значением прогнозирования вектора движения (MVP) и реальным значением оценки вектора движения, тем самым эффективно уменьшая количество кодируемых битов для MV.[0023] Motion vector (MV). In inter-prediction coding, a motion vector is used to represent the relative offset between the current coded block and the best fit block in the reference picture. Each block obtained by splitting has a corresponding motion vector transmitted to the decoder. If the motion vector of each block is encoded and transmitted independently, especially when smaller blocks are obtained from the division, more bits must be used. In order to reduce the number of bits used for motion vector coding, video encoding may use spatial correlation between adjacent image blocks to predict the motion vector of the current block to be coded based on the motion vector of the neighboring encoded block, after which the prediction difference is encoded. Thus, the number of bits representing the motion vector can be effectively reduced. In the process of encoding the motion vector of the current image block, the motion vector of the neighboring encoded block is generally used to predict the motion vector of the current macroblock, and then the motion vector difference (MVD) between the motion vector prediction value (MVP) and the actual motion vector estimate value is encoded, thereby effectively reducing the number of encoded bits for the MV.

[0024] Информация о движении. Поскольку вектор движения представляет смещение текущего блока изображения относительно блока в опорном изображении, для точного получения информации отображаемого блока изображения в дополнение к вектору движения также необходим опорный индекс, чтобы указать, какое опорное изображение используется для текущего блока изображения. В технологии кодирования видео для текущего слайса обычно может быть установлен список опорных изображений, и опорный индекс указывает, какое опорное изображение, перечисленное в списке опорных изображений, используется текущим блоком изображения. Кроме того, многие технологии кодирования также поддерживают несколько списков опорных изображений, поэтому необходим индекс, чтобы указать, какой список опорных изображений используется, и этот индекс можно называть опорным направлением. В технологии кодирования видео информация о кодировании, относящаяся к движению, такая как вектор движения, опорный индекс и опорное направление, может вместе называться информацией о движении.[0024] Traffic information. Since the motion vector represents the offset of the current image block relative to the block in the reference image, in order to accurately obtain the displayed image block information, a reference index is also needed in addition to the motion vector to indicate which reference image is used for the current image block. In video coding technology, a reference picture list can generally be set for the current slice, and the reference index indicates which reference picture listed in the reference picture list is used by the current picture block. In addition, many coding technologies also support multiple reference picture lists, so an index is needed to indicate which reference picture list is used, and this index may be referred to as a reference direction. In video coding technology, coding information related to motion such as motion vector, reference index, and reference direction may be collectively referred to as motion information.

[0025] Оптимизированное искажение скорости (RDO). Обычно есть два показателя для оценки эффективности кодирования видео: битрейт и пиковое отношение сигнал/шум (PSNR). Чем меньше битовый поток, тем выше степень сжатия; чем выше PSNR, тем лучше качество восстановленного изображения. Выбор режима обычно основан на всесторонней оценке двух показателей. Например, стоимость, соответствующая режиму, может быть рассчитана по следующей формуле: J(режим)=D+λ*R, где D представляет собой искажение, обычно измеряемое суммой квадратов разностей (SSE) между восстановленным блоком изображения и исходным блоком изображения; λ представляет множитель Лагранжа; R представляет собой фактическое количество битов, необходимых для кодирования блока изображения в этом режиме, включая общее количество битов, необходимых для информации о режиме кодирования, информации о движении, остатков и т. д. Решение о выборе режима кодирования на основе политики RDO обычно может гарантировать хорошую производительность кодирования.[0025] Optimized Rate Distortion (RDO). There are usually two metrics for evaluating the effectiveness of video encoding: bitrate and peak signal to noise ratio (PSNR). The smaller the bitstream, the higher the compression ratio; the higher the PSNR, the better the quality of the reconstructed image. Mode selection is usually based on a comprehensive assessment of two indicators. For example, the cost corresponding to the mode can be calculated by the following formula: J(mode)=D+λ*R, where D is the distortion, usually measured by the sum of squared differences (SSE) between the reconstructed image block and the original image block; λ represents the Lagrange multiplier; R is the actual number of bits required to encode a picture block in this mode, including the total number of bits required for encoding mode information, motion information, residuals, etc. The RDO policy-based encoding mode selection decision can generally guarantee good encoding performance.

[0026] На фиг.1 схематично показана структура системы кодирования видео, которая может быть использована для осуществления обработки в кодере согласно примеру настоящего раскрытия. Структура системы кодирования видео может включать в себя модуль внутреннего прогнозирования, модуль оценки движения/компенсации движения, буфер опорных изображений, модуль внутриконтурной фильтрации, модуль восстановления, модуль преобразования, модуль квантования, модуль обратного преобразования, модуль обратного квантования, энтропийный кодер и т. д. Точно так же структура системы декодирования видео, соответствующая структуре системы кодирования видео, может быть использована для осуществления обработки в декодере согласно примеру настоящего раскрытия сущности.[0026] Figure 1 schematically shows the structure of a video coding system that can be used to perform processing in an encoder according to an example of the present disclosure. The structure of the video coding system may include an intra prediction module, a motion estimation/motion compensation module, a reference picture buffer, an in-loop filtering module, a reconstruction module, a transform module, a quantizer module, an inverse transform module, an inverse quantizer module, an entropy encoder, etc. Similarly, a structure of a video decoding system corresponding to a structure of a video coding system can be used to perform processing in a decoder according to an example of the present disclosure.

[0027] Некоторые примеры настоящего раскрытия будут подробно описаны ниже со ссылкой на прилагаемые чертежи.[0027] Some examples of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0028] Вариант осуществления 1[0028] Embodiment 1

[0029] На фиг.2 показана блок-схема способа декодирования видео согласно примеру настоящего раскрытия. Этот метод может быть применен к декодеру и может включать в себя этапы с 201 по 203.[0029] FIG. 2 is a flowchart of a video decoding method according to an example of the present disclosure. This technique may be applied to a decoder and may include steps 201 to 203.

[0030] На этапе 201, если текущий блок удовлетворяет конкретным условиям для разрешения режима геометрического разделения с треугольным разделением и определено, что разрешен режим геометрического разделения с треугольным разделением, видеодекодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок, то есть текущий блок может быть разделен на два треугольных субблока.[0030] In step 201, if the current block satisfies the specific conditions for enabling the triangular division geometric separation mode and it is determined that the triangular division geometric division mode is enabled, the video decoder is configured to divide the current block into a first triangular subblock and a second triangular subblock, i.e. the current block can be divided into two triangular subblocks.

[0031] На этапе 202 видеодекодер конфигурирован для получения первой целевой информации о движении первого треугольного субблока и второй целевой информации о движении второго треугольного субблока. Первая целевая информация о движении может отличаться от второй целевой информации о движении.[0031] In step 202, the video decoder is configured to obtain first target motion information of the first triangular subblock and second target motion information of the second triangular subblock. The first target motion information may be different from the second target motion information.

[0032] На этапе 203 видеодекодер конфигурирован для осуществления процесса декодирования текущего блока на основе первой целевой информации о движении и второй целевой информации о движении.[0032] In step 203, the video decoder is configured to perform a decoding process of the current block based on the first target motion information and the second target motion information.

[0033] В одном примере после приема кодированного битового потока видеодекодер может осуществлять процесс декодирования кодированных данных, соответствующих текущему блоку в принятом кодированном битовом потоке, на основе первой целевой информации о движении и второй целевой информации о движении.[0033] In one example, upon receiving an encoded bitstream, a video decoder may perform a process of decoding encoded data corresponding to a current block in the received encoded bitstream based on the first target motion information and the second target motion information.

[0034] В примере настоящего раскрытия, если текущий блок удовлетворяет конкретным условиям для разрешения режима геометрического разделения с треугольным разделением, и определено, что разрешен режим геометрического разделения с треугольным разделением, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок. Следовательно, текущий блок может быть спрогнозирован на основе первой целевой информации о движении первого треугольного субблока и второй целевой информации о движении второго треугольного субблока. Следовательно, точность прогнозирования, производительность прогнозирования и производительность кодирования могут быть улучшены, а остатки кодирования могут быть уменьшены.[0034] In the example of the present disclosure, if the current block satisfies the specific conditions for enabling the triangular-separated geometric separation mode, and it is determined that the triangular-separated geometric separation mode is enabled, the current block is divided into a first triangular subblock and a second triangular subblock. Therefore, the current block can be predicted based on the first target motion information of the first triangular sub-block and the second target motion information of the second triangular sub-block. Therefore, prediction accuracy, prediction performance, and encoding performance can be improved, and encoding residuals can be reduced.

[0035] Вариант осуществления 2[0035] Embodiment 2

[0036] На фиг.3 показана блок-схема способа кодирования видео согласно одному примеру настоящего раскрытия. Способ может быть применен к кодеру и может включать в себя этапы с 301 по 303.[0036] FIG. 3 is a flowchart of a video encoding method according to one example of the present disclosure. The method may be applied to an encoder and may include steps 301 through 303.

[0037] На этапе 301, когда текущий блок удовлетворяет конкретным условиям для разрешения режима геометрического разделения с треугольным разделением и определено, что разрешен режим геометрического разделения с треугольным разделением, видеокодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок, то есть текущий блок может быть разделен на два треугольных субблока.[0037] In step 301, when the current block satisfies the specific conditions for enabling the triangular division geometric separation mode and it is determined that the triangular division geometric division mode is enabled, the video encoder is configured to divide the current block into a first triangular subblock and a second triangular subblock, i.e. the current block can be divided into two triangular subblocks.

[0038] На этапе 302 видеокодер конфигурирован для получения первой целевой информации о движении первого треугольного субблока и второй целевой информации о движении второго треугольного субблока. Первая целевая информация о движении может отличаться от второй целевой информации о движении.[0038] In step 302, the video encoder is configured to obtain first target motion information of the first triangular subblock and second target motion information of the second triangular subblock. The first target motion information may be different from the second target motion information.

[0039] На этапе 303 видеокодер конфигурирован для кодирования текущего блока на основе первой целевой информации о движении и второй целевой информации о движении.[0039] In step 303, the video encoder is configured to encode the current block based on the first target motion information and the second target motion information.

[0040] В одном примере видеокодер может кодировать битовый поток, соответствующий текущему блоку, на основе первой целевой информации о движении и второй целевой информации о движении, чтобы получить кодированный битовый поток.[0040] In one example, a video encoder may encode a bitstream corresponding to the current block based on the first target motion information and the second target motion information to obtain an encoded bitstream.

[0041] В примере настоящего раскрытия, если текущий блок удовлетворяет конкретным условиям для разрешения режима геометрического разделения с треугольным разделением, и определено, что разрешен режим геометрического разделения с треугольным разделением, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок. Следовательно, текущий блок может быть спрогнозирован на основе первой целевой информации о движении первого треугольного субблока и второй целевой информации о движении второго треугольного субблока. Следовательно, точность прогнозирования, производительность прогнозирования и производительность кодирования могут быть улучшены, а остатки кодирования могут быть уменьшены.[0041] In the example of the present disclosure, if the current block satisfies the specific conditions for enabling the triangular-separated geometric separation mode, and it is determined that the triangular-separated geometric separation mode is enabled, the current block is divided into a first triangular subblock and a second triangular subblock. Therefore, the current block can be predicted based on the first target motion information of the first triangular sub-block and the second target motion information of the second triangular sub-block. Therefore, prediction accuracy, prediction performance, and encoding performance can be improved, and encoding residuals can be reduced.

[0042] Вариант осуществления 3[0042] Embodiment 3

[0043] На этапе 201 и этапе 301 видеодекодер/видеокодер конфигурирован для определения, удовлетворяет ли текущий блок конкретным условиям для разрешения режима геометрического разделения с треугольным разделением; если это так, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; а если нет, текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок. Определение того, удовлетворяет ли текущий блок определенным условиям, может включать в себя следующие этапы: определение, удовлетворяют ли конкретным условиям тип слайса текущего слайса, в котором расположен текущий блок, режим информации о движении текущего блока и информация о размере текущего блока.[0043] In step 201 and step 301, the video decoder/video encoder is configured to determine whether the current block satisfies specific conditions for enabling triangular-separated geometric separation mode; if so, the current block is divided into a first triangular subblock and a second triangular subblock; and if not, the current block is not divided into a first triangular subblock and a second triangular subblock. Determining whether the current block satisfies certain conditions may include the following steps: determining whether the slice type of the current slice in which the current block is located, the motion information mode of the current block, and the size information of the current block satisfy the specific conditions.

[0044] Например, если тип слайса текущего слайса является B-слайсом или не-I-слайсом, можно определить, что тип слайса удовлетворяет конкретным условиям. В качестве альтернативы, если тип слайса текущего слайса допускает копирование внутри блока, можно определить, что тип слайса удовлетворяет конкретным условиям.[0044] For example, if the slice type of the current slice is a B-slice or a non-I-slice, it can be determined that the slice type satisfies certain conditions. Alternatively, if the slice type of the current slice is copyable within a block, it can be determined that the slice type satisfies certain conditions.

[0045] В одном примере, если режим информации о движении текущего блока является общим режимом слияния, можно определить, что режим информации о движении удовлетворяет конкретным условиям. Однако когда режим информации о движении текущего блока является режимом другого типа (например, режимом расширенного прогнозирования вектора движения (AMVP) или т. п.), также можно определить, что режим информации о движении удовлетворяет конкретным условиям.[0045] In one example, if the motion information mode of the current block is the general merge mode, it can be determined that the motion information mode satisfies specific conditions. However, when the motion information mode of the current block is another type of mode (eg, advanced motion vector prediction (AMVP) mode or the like), it can also be determined that the motion information mode satisfies specific conditions.

[0046] В одном примере, если ширина текущего блока больше или равна первому значению, а высота текущего блока больше или равна второму значению, можно определить, что информация о размере текущего блока удовлетворяет конкретным условиям. В качестве альтернативы, если ширина текущего блока больше или равна третьему значению, или высота текущего блока больше или равна четвертому значению, можно определить, что информация о размере текущего блока удовлетворяет конкретным условиям. В качестве альтернативы, если ширина текущего блока больше или равна пятому значению и меньше или равна шестому значению, а высота текущего блока больше или равна седьмому значению и меньше или равна восьмому значению, можно определить, что информация о размере текущего блока удовлетворяет конкретным условиям. В качестве альтернативы, если ширина текущего блока больше или равна девятому значению и меньше или равна десятому значению, или высота текущего блока больше или равна одиннадцатому значению и меньше или равна двенадцатому значению, можно определить, что информация о размере текущего блока удовлетворяет конкретным условиям. В качестве альтернативы, если ширина текущего блока больше или равна тринадцатому значению и меньше или равна четырнадцатому значению, высота текущего блока больше или равна пятнадцатому значению и меньше или равна шестнадцатому значению, а область текущего блока больше или равна семнадцатому значению и меньше или равна восемнадцатому значению, может быть определено, что информация о размере текущего блока удовлетворяет конкретным условиям.[0046] In one example, if the width of the current box is greater than or equal to the first value and the height of the current box is greater than or equal to the second value, it can be determined that the size information of the current box satisfies certain conditions. Alternatively, if the width of the current box is greater than or equal to the third value, or the height of the current box is greater than or equal to the fourth value, it can be determined that the size information of the current box satisfies certain conditions. Alternatively, if the width of the current box is greater than or equal to the fifth value and less than or equal to the sixth value, and the height of the current box is greater than or equal to the seventh value and less than or equal to the eighth value, it can be determined that the size information of the current box satisfies certain conditions. Alternatively, if the width of the current box is greater than or equal to the ninth value and less than or equal to the tenth value, or the height of the current box is greater than or equal to the eleventh value and less than or equal to the twelfth value, it can be determined that the size information of the current box satisfies specific conditions. Alternatively, if the width of the current box is greater than or equal to the thirteenth value and less than or equal to the fourteenth value, the height of the current box is greater than or equal to the fifteenth value and less than or equal to the sixteenth value, and the area of the current box is greater than or equal to the seventeenth value and less than or equal to the eighteenth value , it can be determined that the current block size information satisfies specific conditions.

[0047] Вышеуказанные значения могут быть установлены исходя из опыта, например 8, 16, 32, 64, 128 и т. д. В одном примере первое значение может быть 8, второе значение может быть 8, третье значение может быть 8, четвертое значение может быть 8, пятое значение может быть 8, шестое значение может быть 128, седьмое значение может быть 8, восьмое значение может быть 128, девятое значение может быть 8, десятое значение может быть 32, одиннадцатое значение может быть 8, двенадцатое значение может быть 32, тринадцатое значение может быть 8, четырнадцатое значение может быть 64, пятнадцатое значение может быть 8, шестнадцатое значение может быть 64, семнадцатое значение может быть 16 и восемнадцатое значение может быть 1024.[0047] The above values may be set based on experience, such as 8, 16, 32, 64, 128, etc. In one example, the first value may be 8, the second value may be 8, the third value may be 8, the fourth value may be 8, the fifth value may be 8, the sixth value may be 128, the seventh value may be 8, the eighth value may be 128, the ninth value may be 8, the tenth value may be 32, the eleventh value may be 8, the twelfth value may be 32, the thirteenth value may be 8, the fourteenth value may be 64, the fifteenth value may be 8, the sixteenth value may be 64, the seventeenth value may be 16, and the eighteenth value may be 1024.

[0048] Что касается этапа 201 и этапа 301, ниже приводятся несколько примеров.[0048] With regard to step 201 and step 301, a few examples are given below.

[0049] Пример 1. Если текущий блок удовлетворяет всем следующим условиям, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; в противном случае текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок:[0049] Example 1 If the current block satisfies all of the following conditions, the current block is divided into a first triangular subblock and a second triangular subblock; otherwise, the current block is not split into a first triangular subblock and a second triangular subblock:

[0050] текущий слайс является B-слайсом, то есть текущий слайс допускает два списка опорных изображений;[0050] the current slice is a B-slice, that is, the current slice allows two reference picture lists;

[0051] режим информации о движении текущего блока является общим режимом слияния; и[0051] the motion information mode of the current block is a general merge mode; And

[0052] площадь (ширина*высота) текущего блока больше или равна N*N, а N равно, например, 8.[0052] The area (width*height) of the current block is greater than or equal to N*N, and N is, for example, 8.

[0053] Пример 2. Если текущий блок удовлетворяет всем следующим условиям, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; в противном случае текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок:[0053] Example 2 If the current block satisfies all of the following conditions, the current block is divided into a first triangular subblock and a second triangular subblock; otherwise, the current block is not split into a first triangular subblock and a second triangular subblock:

[0054] текущий слайс является не-I-слайсом, то есть текущий слайс допускает по меньшей мере один список опорных изображений;[0054] the current slice is a non-I-slice, i.e. the current slice allows at least one reference picture list;

[0055] режим информации о движении текущего блока является общим режимом слияния; и[0055] the motion information mode of the current block is a general merge mode; And

[0056] площадь (ширина*высота) текущего блока больше или равна N*N, а N равно, например, 8.[0056] The area (width*height) of the current block is greater than or equal to N*N, and N is, for example, 8.

[0057] Пример 3. Если текущий блок удовлетворяет всем следующим условиям, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; в противном случае текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок:[0057] Example 3 If the current block satisfies all of the following conditions, the current block is divided into a first triangular subblock and a second triangular subblock; otherwise, the current block is not split into a first triangular subblock and a second triangular subblock:

[0058] текущий слайс является B-слайсом, то есть текущий слайс допускает два списка опорных изображений;[0058] the current slice is a B-slice, that is, the current slice allows two reference picture lists;

[0059] режим информации о движении текущего блока является общим режимом слияния; и[0059] the motion information mode of the current block is a general merge mode; And

[0060] ширина или высота текущего блока больше или равна N, а N равно, например, 8.[0060] the width or height of the current block is greater than or equal to N, and N is equal to, for example, 8.

[0061] Пример 4. Если текущий блок удовлетворяет всем следующим условиям, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; в противном случае текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок:[0061] Example 4 If the current block satisfies all of the following conditions, the current block is divided into a first triangular subblock and a second triangular subblock; otherwise, the current block is not split into a first triangular subblock and a second triangular subblock:

[0062] текущий слайс является не-I-слайсом, то есть текущий слайс допускает по меньшей мере один список опорных изображений;[0062] the current slice is a non-I-slice, i.e. the current slice allows at least one reference picture list;

[0063] режим информации о движении текущего блока является общим режимом слияния; и[0063] the motion information mode of the current block is a general merge mode; And

[0064] ширина или высота текущего блока больше или равна N, а N равно, например, 8.[0064] the width or height of the current block is greater than or equal to N, and N is equal to, for example, 8.

[0065] Пример 5. Если текущий блок удовлетворяет всем следующим условиям, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; в противном случае текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок:[0065] Example 5. If the current block satisfies all of the following conditions, the current block is divided into a first triangular subblock and a second triangular subblock; otherwise, the current block is not split into a first triangular subblock and a second triangular subblock:

[0066] текущий слайс является не-I-слайсом, то есть текущий слайс допускает по меньшей мере один список опорных изображений;[0066] the current slice is a non-I-slice, i.e. the current slice allows at least one reference picture list;

[0067] режим информации о движении текущего блока является общим режимом слияния; [0067] the motion information mode of the current block is a general merge mode;

[0068] ширина или высота текущего блока больше или равна N, а N равно, например, 8; и[0068] the width or height of the current block is greater than or equal to N, and N is, for example, 8; And

[0069] ширина или высота текущего блока меньше или равна M, а M равно, например, 128.[0069] the width or height of the current block is less than or equal to M, and M is equal to, for example, 128.

[0070] Пример 6. Если текущий блок удовлетворяет всем следующим условиям, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; в противном случае текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок:[0070] Example 6 If the current block satisfies all of the following conditions, the current block is divided into a first triangular subblock and a second triangular subblock; otherwise, the current block is not split into a first triangular subblock and a second triangular subblock:

[0071] текущий слайс является не-I-слайсом, то есть текущий слайс допускает по меньшей мере один список опорных изображений;[0071] the current slice is a non-I-slice, i.e. the current slice allows at least one reference picture list;

[0072] режим информации о движении текущего блока является общим режимом слияния;[0072] the motion information mode of the current block is a general merge mode;

[0073] ширина или высота текущего блока больше или равна N, а N равно, например, 8; и[0073] the width or height of the current block is greater than or equal to N, and N is equal to, for example, 8; And

[0074] площадь (т. е. ширина*высота) текущего блока меньше или равна M*M, а M равно, например, 32.[0074] The area (i.e., width*height) of the current block is less than or equal to M*M, and M is, for example, 32.

[0075] Пример 7. Если текущий блок удовлетворяет всем следующим условиям, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок; в противном случае текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок:[0075] Example 7. If the current block satisfies all of the following conditions, the current block is divided into a first triangular subblock and a second triangular subblock; otherwise, the current block is not split into a first triangular subblock and a second triangular subblock:

[0076] текущий слайс является не-I-слайсом, то есть текущий слайс допускает по меньшей мере один список опорных изображений;[0076] the current slice is a non-I-slice, that is, the current slice allows at least one reference picture list;

[0077] режим информации о движении текущего блока является общим режимом слияния;[0077] the motion information mode of the current block is a general merge mode;

[0078] ширина текущего блока находится в диапазоне [Wmin, Wmax], Wmin равно, например, 8, а Wmax равно, например, 64;[0078] the width of the current block is in the range [Wmin, Wmax], Wmin is, for example, 8, and Wmax is, for example, 64;

[0079] высота текущего блока находится в диапазоне [Hmin, Hmax], Hmin равно, например, 8, Hmax равно, например, 64; и[0079] the height of the current block is in the range [Hmin, Hmax], Hmin is, for example, 8, Hmax is, for example, 64; And

[0080] площадь (т. е. ширина*высота) текущего блока находится в диапазоне [Smin, Smax]. Smin равно, например, 16, а Smax равно, например, 1024.[0080] The area (i.e., width*height) of the current block is in the range [Smin, Smax]. Smin is, for example, 16 and Smax is, for example, 1024.

[0081] Пример 8. Для любого из примеров с 1 по 7 ограничение на тип слайса может быть изменено на: текущий слайс позволяет копировать внутри блока (то есть позволяет искать блоки, похожие на текущий блок, в восстановленных блоках текущего слайса, которые были декодированы). Например, для примера 1 перечисленные условия могут быть такими:[0081] Example 8 For any of Examples 1 to 7, the slice type constraint can be changed to: the current slice allows copy within a block (i.e., allows searching for blocks similar to the current block in reconstructed blocks of the current slice that have been decoded ). For example, for Example 1, the listed conditions might be:

[0082] текущий слайс позволяет копировать внутри блока;[0082] the current slice allows copying within a block;

[0083] режим информации о движении текущего блока является общим режимом слияния; и[0083] the motion information mode of the current block is a general merge mode; And

[0084] площадь (ширина*высота) текущего блока больше или равна N*N, а N равно, например, 8.[0084] The area (width*height) of the current block is greater than or equal to N*N, and N is, for example, 8.

[0085] Пример 9. Для любого из примеров с 1 по 8 ограничение на режим информации о движении может быть изменено на: режим информации о движении текущего блока является общим режимом слияния, а не любым из режима разделения субблоков, режима множества гипотез и общего режима слияния кодирования разницы информации о движении. То есть, когда любой из режима разделения субблоков, режима множества гипотез, общего режима слияния кодирования разницы информации о движении разрешен для текущего блока, определяется, что текущий блок не удовлетворяет конкретным условиям, и, таким образом, текущий блок не разделяется на первый треугольный субблок и второй треугольный субблок.[0085] Example 9 For any of Examples 1 to 8, the constraint on the motion information mode can be changed to: the current block's motion information mode is a common merge mode, and not any of the sub-block separation mode, the multiple hypothesis mode, and the common mode merge coding difference traffic information. That is, when any of the sub-block separation mode, multiple hypothesis mode, general motion information difference coding merge mode is enabled for the current block, it is determined that the current block does not satisfy the specific conditions, and thus the current block is not divided into the first triangular sub-block. and a second triangular subblock.

[0086] Вариант осуществления 4[0086] Embodiment 4

[0087] На этапе 201 и этапе 301, если текущий блок удовлетворяет конкретным условиям для разрешения режима геометрического разделения с треугольным разделением и определено, что разрешен режим геометрического разделения с треугольным разделением, видеодекодер/видеокодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок. В одном примере текущий блок может быть разделен на первый треугольный субблок и второй треугольный субблок с помощью первого диагонального метода (то есть, используя диагональ, которая образует острый угол (например, угол 45 градусов) с горизонтальным и правым направлением), как показано на фиг.4А. В качестве альтернативы текущий блок может быть разделен на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода (то есть, используя диагональ с тупым углом (например, углом 135 градусов) от горизонтального и правого направления), как показано на фиг.4B.[0087] In step 201 and step 301, if the current block satisfies the specific conditions for enabling the triangular-separated geometric separation mode and it is determined that the triangular-separated geometric separation mode is enabled, the video decoder/video encoder is configured to divide the current block into a first triangular sub-block and a second triangular subblock. In one example, the current block may be divided into a first triangular subblock and a second triangular subblock using the first diagonal method (i.e., using a diagonal that forms an acute angle (e.g., a 45 degree angle) with a horizontal and right direction), as shown in FIG. .4A. Alternatively, the current block can be divided into a first triangular subblock and a second triangular subblock using the second diagonal method (i.e., using a diagonal with an obtuse angle (eg, 135 degrees angle) from the horizontal and right direction), as shown in Fig. 4B .

[0088] Например, в декодере/кодере текущий блок может быть разделен на первый треугольный субблок и второй треугольный субблок посредством следующих подходов.[0088] For example, in a decoder/encoder, the current block may be divided into a first triangular subblock and a second triangular subblock through the following approaches.

[0089] Подход 1. Видеокодер соглашается разделить текущий блок с помощью первого диагонального метода по умолчанию посредством протокольного соглашения, а видеодекодер соглашается разделить текущий блок с помощью первого диагонального метода по умолчанию посредством протокольного соглашения. На этой основе видеокодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок с помощью первого диагонального метода, а видеодекодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок с помощью первого диагонального метода.[0089] Approach 1: The video encoder agrees to split the current block with the first diagonal default method through a protocol agreement, and the video decoder agrees to split the current block with the first diagonal default method through a protocol agreement. On this basis, the video encoder is configured to divide the current block into the first triangular sub-block and the second triangular sub-block using the first diagonal method, and the video decoder is configured to divide the current block into the first triangular sub-block and the second triangular sub-block using the first diagonal method.

[0090] Подход 2. Видеокодер соглашается разделить текущий блок с помощью второго диагонального метода по умолчанию посредством протокольного соглашения, а видеодекодер соглашается разделить текущий блок с помощью второго диагонального метода по умолчанию посредством протокольного соглашения. На этой основе видеокодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода, а видеодекодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода.[0090] Approach 2: The video encoder agrees to split the current block using the second diagonal default method via protocol agreement, and the video decoder agrees to split the current block using the second diagonal default method via protocol agreement. On this basis, the video encoder is configured to divide the current block into the first triangular sub-block and the second triangular sub-block using the second diagonal method, and the video decoder is configured to divide the current block into the first triangular sub-block and the second triangular sub-block using the second diagonal method.

[0091] Подход 3. Видеокодер конфигурирован для определения стоимости 1 искажения скорости, соответствующей разделению с помощью первого диагонального метода, и стоимости 2 искажения скорости, соответствующей разделению с помощью второго диагонального метода. Если стоимость 1 искажения скорости меньше стоимости 2 искажения скорости, видеокодер конфигурирован для разделения текущего блока на первый треугольный субблок и второй треугольный субблок с помощью первого диагонального метода. Кодированный битовый поток, отправленный видеокодером в декодер, несет первую информацию индикации, и первая информация индикации указывает, что текущий блок разделен с помощью первого диагонального метода. Видеодекодер конфигурирован для получения кодированного битового потока из кодера, и если кодированный битовый поток несет первую информацию индикации, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок с помощью первого диагонального метода. С другой стороны, если стоимость 1 искажения скорости больше, чем стоимость 2 искажения скорости, видеокодер разделяет текущий блок на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода. Кодированный битовый поток, отправленный видеокодером в декодер, несет вторую информацию индикации, и вторая информация индикации указывает, что текущий блок разделен с помощью второго диагонального метода. Видеодекодер конфигурирован для получения кодированного битового потока из кодера, и если кодированный битовый поток несет вторую информацию индикации, текущий блок разделяется на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода.[0091] Approach 3: The video encoder is configured to determine the rate distortion cost 1 corresponding to division by the first diagonal method and the rate distortion cost 2 corresponding to division by the second diagonal method. If the rate distortion cost 1 is less than the rate distortion cost 2, the video encoder is configured to divide the current block into a first triangular sub-block and a second triangular sub-block using the first diagonal method. The encoded bitstream sent by the video encoder to the decoder carries the first indication information, and the first indication information indicates that the current block is divided by the first diagonal method. The video decoder is configured to receive the encoded bitstream from the encoder, and if the encoded bitstream carries the first indication information, the current block is divided into a first triangular subblock and a second triangular subblock using the first diagonal method. On the other hand, if the rate distortion cost 1 is greater than the rate distortion cost 2, the video encoder divides the current block into a first triangular sub-block and a second triangular sub-block using the second diagonal method. The encoded bitstream sent by the video encoder to the decoder carries the second indication information, and the second indication information indicates that the current block is divided by the second diagonal method. The video decoder is configured to receive the encoded bitstream from the encoder, and if the encoded bitstream carries the second indication information, the current block is divided into a first triangular subblock and a second triangular subblock by a second diagonal method.

[0092] Вариант осуществления 5[0092] Embodiment 5

[0093] На этапе 202 и этапе 302 видеодекодер/видеокодер может получить первую целевую информацию о движении первого треугольного субблока и вторую целевую информацию о движении второго треугольного субблока посредством следующих подходов.[0093] In step 202 and step 302, the video decoder/video encoder may obtain first target motion information of the first triangular subblock and second target motion information of the second triangular subblock through the following approaches.

[0094] Подход 1. Создается список информации о движении первого кандидата, причем список информации о движении первого кандидата может включать в себя множество информации о движении кандидата; выбирается одна информация о движении кандидата из списка информации о движении первого кандидата в качестве первой целевой информации о движении первого треугольного субблока. Первая целевая информация о движении исключается из списка информации о движении первого кандидата, а другая информация о движении кандидата выбирается из оставшейся информации о движении кандидата в списке информации о движении первого кандидата в качестве второй целевой информации о движении второго треугольного субблока. Таким образом, можно гарантировать, что первая целевая информация о движении отличается от второй целевой информации о движении.[0094] Approach 1. A first candidate motion information list is created, wherein the first candidate motion information list may include a plurality of candidate motion information; one candidate motion information is selected from the first candidate motion information list as the first target motion information of the first triangular sub-block. The first target motion information is excluded from the first candidate motion information list, and the other candidate motion information is selected from the remaining candidate motion information in the first candidate motion information list as the second target motion information of the second triangular subblock. Thus, it can be ensured that the first target motion information is different from the second target motion information.

[0095] В одном примере, чтобы создать список информации о движении первого кандидата, могут быть получены блоки-кандидаты, соответствующие текущему блоку, и информация о движении блоков-кандидатов может быть добавлена в список информации о движении первого кандидата. Если блок-кандидат является блоком однонаправленного прогнозирования, информация о движении блока-кандидата включает в себя информацию об однонаправленном движении блока-кандидата; если блок-кандидат является блоком двунаправленного прогнозирования, информация о движении блока-кандидата включает в себя первую информацию о движении блока-кандидата (то есть L0 информацию о движении блока-кандидата) и вторую информацию о движении блока-кандидата (то есть L1 информацию о движении блока-кандидата), но не включает в себя взвешенную информацию о движении из первой информации о движении блока-кандидата и второй информации о движении блока-кандидата.[0095] In one example, in order to create a first candidate motion information list, candidate blocks corresponding to the current block may be obtained, and candidate block motion information may be added to the first candidate motion information list. If the candidate block is a unidirectional prediction block, the motion information of the candidate block includes unidirectional motion information of the candidate block; if the candidate block is a bidirectional prediction block, the candidate block motion information includes first candidate block motion information (i.e., L0 candidate block motion information) and second candidate block motion information (i.e., L1 candidate block motion information) but does not include weighted motion information from the first candidate block motion information and the second candidate block motion information.

[0096] Например, как показано на фиг.5A, блоки в показанных 7 позициях могут использоваться как блоки-кандидаты, соответствующие текущему блоку, где блок 1, блок 2, блок 3, блок 4 и блок 5 являются блоками-кандидатами в текущем слайсе (то есть пространственными блоками-кандидатами), а блоки 6 и 7 являются блоками-кандидатами в опорном изображении (то есть блоками-кандидатами во временной области). Информация о движении блоков-кандидатов в этих 7 положениях может быть собрана для создания списка информации о движении первого кандидата. Если длина списка информации о движении первого кандидата не достигает предварительно установленной максимальной длины MaxL (например, 7), информация о движении нескольких доступных пространственных несоседних субблоков может быть добавлена в конец списка информации о движении первого кандидата (то есть пространственный несоседний субблок также рассматривается как блок-кандидат, соответствующий текущему блоку), а пространственный несоседний субблок относится к субблоку, который не имеет граничной линии или граничной точки с текущим блоком.[0096] For example, as shown in FIG. 5A, the blocks at the 7 positions shown can be used as candidate blocks corresponding to the current block, where block 1, block 2, block 3, block 4, and block 5 are candidate blocks in the current slice (ie, spatial block candidates), and blocks 6 and 7 are candidate blocks in the reference picture (ie, candidate blocks in the time domain). Movement information of candidate blocks in these 7 positions can be collected to create a list of movement information of the first candidate. If the length of the motion information list of the first candidate does not reach a predetermined maximum length MaxL (for example, 7), the motion information of several available spatial non-adjacent sub-blocks may be added to the end of the first candidate motion information list (i.e., the spatial non-adjacent sub-block is also considered as a block). -candidate corresponding to the current box), and a spatial non-adjacent subbox refers to a subbox that does not share a boundary line or boundary point with the current box.

[0097] В одном примере, после того, как информация о движении блоков-кандидатов собрана, информация о движении сортируется в следующем порядке: информация об однонаправленном движении, L0 информация о движении для двунаправленного прогнозирования и L1 информация о движении для двунаправленного прогнозирования, или в следующем порядке: L0 информация о движении для двунаправленного прогнозирования, L1 информация о движении для двунаправленного прогнозирования и информация об однонаправленном движении, и собранная информация о движении добавляется в список информации о движении первого кандидата одна за другой в соответствии с результатом сортировки.[0097] In one example, after the candidate block motion information is collected, the motion information is sorted in the following order: unidirectional motion information, L0 motion information for bidirectional prediction, and L1 motion information for bidirectional prediction, or in in the following order: L0 motion information for bidirectional prediction, L1 motion information for bidirectional prediction and unidirectional traffic information, and the collected motion information are added to the first candidate motion information list one by one according to the sort result.

[0098] В одном примере, каждый раз, когда информация о движении добавляется в список информации о движении первого кандидата, может быть определено, достигло ли количество информации о движении кандидата в списке информации о движении первого кандидата верхнего предела M. Если количество достигло верхнего предела M, добавление информации о движении отклоняется, и процесс добавления информации о движении завершается. Если количество не достигло верхнего предела M, можно продолжить добавление информации о движении, например, следующая информация о движении добавляется в список информации о движении первого кандидата после завершения добавления текущей информации о движении. Значение верхнего предела M может быть настроено на основании опыта, например, равным 5.[0098] In one example, each time motion information is added to the first candidate's motion information list, it can be determined whether the amount of the candidate's motion information in the first candidate's motion information list has reached the upper limit M. If the number has reached the upper limit M, adding motion information is rejected, and the process of adding motion information is completed. If the number has not reached the upper limit M, you can continue to add traffic information, for example, the following traffic information is added to the list of traffic information of the first candidate after the completion of adding the current traffic information. The value of the upper limit M can be adjusted based on experience, for example, equal to 5.

[0099] В одном примере каждый раз, когда информация о движении добавляется к списку информации о движении первого кандидата, может быть определено, согласуется ли информация о движении с некоторой информацией о движении, которая уже существует в списке информации о движении первого кандидата. Если такая дублированная информация о движении присутствует в списке информации о движении первого кандидата, добавление информации о движении в список информации о движении первого кандидата отклоняется. Если такой дублированной информации о движении нет, информация о движении добавляется в список информации о движении первого кандидата. Таким образом, информация о движении в списке информации о движении первого кандидата может дублироваться. В качестве альтернативы также возможно не определять, дублируется ли информация о движении, которая должна быть добавлена, с некоторой существующей информацией о движении в списке информации о движении первого кандидата, а непосредственно добавлять информацию о движении в список информации о движении первого кандидата.[0099] In one example, each time motion information is added to the first candidate's motion information list, it can be determined whether the motion information matches some motion information that already exists in the first candidate's motion information list. If such duplicated motion information is present in the first candidate's motion information list, adding the motion information to the first candidate's motion information list is rejected. If there is no such duplicate traffic information, the traffic information is added to the traffic information list of the first candidate. Thus, the motion information in the motion information list of the first candidate may be duplicated. Alternatively, it is also possible not to determine whether the traffic information to be added is duplicated with some existing traffic information in the first candidate's traffic information list, but directly add the traffic information to the first candidate's traffic information list.

[00100] В примере, когда вся собранная информация о движении добавляется в список информации о движении первого кандидата, а количество информации о движении кандидата в списке информации о движении первого кандидата меньше верхнего предела M, тогда в список информации о движении первого кандидата может быть добавлена нулевая информация о движении.[00100] In an example, when all the collected motion information is added to the motion information list of the first candidate, and the amount of motion information of the candidate in the first candidate motion information list is less than the upper limit M, then the motion information list of the first candidate can be added zero movement information.

[00101] В примере, когда создается список информации о движении первого кандидата, каждый раз, когда должна собираться информация о движении блока-кандидата текущего блока, нет необходимости сравнивать информацию о движении блока-кандидата с информацией о движении, которая была собрана для текущего блока, чтобы увидеть, совпадают ли они, но можно непосредственно собирать информацию о движении блока-кандидата.[00101] In the example where the first candidate motion information list is created, each time the motion information of the candidate block of the current block is to be collected, there is no need to compare the motion information of the candidate block with the motion information that has been collected for the current block to see if they match, but you can directly collect candidate block movement information.

[00102] Далее будет описано несколько примеров создания списка информации о движении первого кандидата в подходе 1.[00102] The following will describe several examples of generating a first candidate motion information list in Approach 1.

[00103] Пример 1. Из блоков-кандидатов, соответствующих текущему блоку, после получения информации о движении (такой как векторы движения) на основе последовательности позиций, показанной на фиг.5A, полученная информация о движении сортируется в следующем порядке: вектор однонаправленного движения, L0 вектор движения двунаправленного прогнозирования и L1 вектор движения двунаправленного прогнозирования (без среднего значения L0 вектора движения и L1 вектора движения двунаправленного прогнозирования), и полученная информация о движении добавляется в список информации о движении первого кандидата одна за другой в соответствии с результатом сортировки. Во время процесса заполнения, если количество информации о движении кандидата в списке информации о движении первого кандидата достигает M (например, 5), заполнение останавливается. Во время процесса заполнения необходимо повторно проверять дубликаты, чтобы гарантировать, что список информации о движении первого кандидата не имеет одинаковой информации о движении. Когда количество информации о движении кандидата меньше M после завершения процесса заполнения, добавляются нулевые векторы движения.[00103] Example 1. Of candidate blocks corresponding to the current block, after receiving motion information (such as motion vectors) based on the position sequence shown in FIG. 5A, the received motion information is sorted in the following order: unidirectional motion vector, L0 is a bidirectional motion vector and L1 is a bidirectional motion vector (without the average value of the L0 motion vector and L1 of the bidirectional motion vector), and the obtained motion information is added to the first candidate motion information list one by one according to the sort result. During the filling process, if the amount of candidate motion information in the first candidate motion information list reaches M (for example, 5), the filling is stopped. During the seeding process, duplicates must be rechecked to ensure that the first candidate's motion information list does not have the same motion information. When the amount of candidate motion information is less than M after completion of the padding process, zero motion vectors are added.

[00104] Пример 2. Из блоков-кандидатов, соответствующих текущему блоку, после получения информации о движении (такой как векторы движения) на основе последовательности позиций, показанной на фиг.5A, полученная информация о движении сортируется в следующем порядке: вектор однонаправленного движения, L0 вектор движения двунаправленного прогнозирования и L1 вектор движения двунаправленного прогнозирования (без среднего значения L0 вектора движения и L1 вектора движения двунаправленного прогнозирования), и полученная информация о движении добавляется в список информации о движении первого кандидата одна за другой в соответствии с результатом сортировки. Во время процесса заполнения, если количество информации о движении кандидата в списке информации о движении первого кандидата достигает M (например, 5), заполнение информацией о движении останавливается. Во время процесса заполнения нет необходимости проверять дубликаты в списке информации о движении первого кандидата. Когда количество информации о движении кандидата меньше M после завершения процесса заполнения, добавляются нулевые векторы движения.[00104] Example 2. Of the candidate blocks corresponding to the current block, after receiving motion information (such as motion vectors) based on the position sequence shown in FIG. 5A, the received motion information is sorted in the following order: unidirectional motion vector, L0 is a bidirectional motion vector and L1 is a bidirectional motion vector (without the average value of the L0 motion vector and L1 of the bidirectional motion vector), and the obtained motion information is added to the first candidate motion information list one by one according to the sort result. During the filling process, if the amount of the candidate's motion information in the first candidate's motion information list reaches M (for example, 5), the filling of the motion information is stopped. During the filling process, there is no need to check for duplicates in the first candidate's motion information list. When the amount of candidate motion information is less than M after completion of the padding process, zero motion vectors are added.

[00105] Пример 3. Из блоков-кандидатов, соответствующих текущему блоку, после получения информации о движении (такой как векторы движения) на основе последовательности позиций, показанной на фиг.5A, полученная информация о движении сортируется в следующем порядке: L0 вектор движения двунаправленного прогнозирования, L1 вектор движения двунаправленного прогнозирования и вектор однонаправленного движения (без среднего значения L0 вектора движения и L1 вектора движения двунаправленного прогнозирования), и полученная информация о движении добавляется в список информации о движении первого кандидата одна за другой в соответствии с результатом сортировки. Во время процесса заполнения, если количество информации о движении кандидата в списке информации о движении первого кандидата достигает M (например, 5), заполнение останавливается. Во время процесса заполнения необходимо повторно проверять дубликаты, чтобы гарантировать, что список информации о движении первого кандидата не имеет одинаковой информации о движении. Когда количество информации о движении кандидата меньше M после завершения процесса заполнения, добавляются нулевые векторы движения.[00105] Example 3. Of the candidate blocks corresponding to the current block, after receiving motion information (such as motion vectors) based on the position sequence shown in FIG. 5A, the received motion information is sorted in the following order: prediction, L1 a bidirectional motion vector and a unidirectional motion vector (without the average L0 of the motion vector and L1 of the bidirectional motion vector), and the obtained motion information is added to the first candidate motion information list one by one according to the sort result. During the filling process, if the amount of candidate motion information in the first candidate motion information list reaches M (for example, 5), the filling is stopped. During the seeding process, duplicates must be rechecked to ensure that the first candidate's motion information list does not have the same motion information. When the amount of candidate motion information is less than M after completion of the padding process, zero motion vectors are added.

[00106] Пример 4. Из блоков-кандидатов, соответствующих текущему блоку, информация о движении (например, векторы движения) получается на основе последовательности позиций, показанной на фиг.5А. Если блоки-кандидаты являются блоками однонаправленного прогнозирования, то есть для блоков-кандидатов используется информация об однонаправленном движении, информация об однонаправленном движении добавляется в список информации о движении первого кандидата на основе последовательности. Если блоки-кандидаты являются блоками двунаправленного прогнозирования, то есть для блоков-кандидатов используется информация о двунаправленном движении, к списку информации о движении первого кандидата на основе последовательности добавляется либо L0 информация о движении, либо L1 информация о движении. Во время процесса заполнения, если количество информации о движении кандидата в списке информации о движении первого кандидата достигает M (например, 5), заполнение останавливается. Во время процесса заполнения необходимо повторно проверять дубликаты, чтобы гарантировать, что список информации о движении первого кандидата не имеет одинаковой информации о движении. Когда количество информации о движении кандидата меньше M после завершения процесса заполнения, добавляются нулевые векторы движения.[00106] Example 4 From candidate blocks corresponding to the current block, motion information (eg, motion vectors) is obtained based on the sequence of positions shown in FIG. 5A. If the candidate blocks are unidirectional prediction blocks, that is, unidirectional motion information is used for the candidate blocks, the unidirectional motion information is added to the motion information list of the first candidate based on the sequence. If the candidate blocks are bidirectional prediction blocks, that is, bidirectional motion information is used for the candidate blocks, either L0 motion information or L1 motion information is added to the list of motion information of the first candidate based on the sequence. During the filling process, if the amount of candidate motion information in the first candidate motion information list reaches M (for example, 5), the filling is stopped. During the seeding process, duplicates must be rechecked to ensure that the first candidate's motion information list does not have the same motion information. When the amount of candidate motion information is less than M after completion of the padding process, zero motion vectors are added.

[00107] Пример 5. Если длина списка информации о движении первого кандидата, созданного после прохождения всех блоков-кандидатов, показанных на фиг.5A, не достигает предварительно установленной максимальной длины MaxL (например, 7), информация о движении нескольких доступных пространственных несоседних субблоков добавляется в конец списка информации о движении первого кандидата. Пространственные несоседние субблоки относятся к субблокам, у которых нет граничных линий или граничных точек с текущим блоком.[00107] Example 5. If the length of the motion information list of the first candidate created after traversing all the candidate blocks shown in FIG. is added to the end of the list of information about the movement of the first candidate. Spatial non-adjacent subboxes refer to subboxes that do not have boundary lines or boundary points with the current box.

[00108] Пример 6. Из блоков-кандидатов, соответствующих текущему блоку, после получения информации о движении (такой как векторы движения) на основе последовательности позиций, показанной на фиг.5A, полученная информация о движении сортируется в следующем порядке: вектор однонаправленного движения, L0 вектор движения двунаправленного прогнозирования и L1 вектор движения двунаправленного прогнозирования (без среднего значения L0 вектора движения и L1 вектора движения двунаправленного прогнозирования), и полученная информация о движении добавляется в список информации о движении первого кандидата одна за другой в соответствии с результатом сортировки. Во время процесса заполнения, если количество информации о движении кандидата в списке информации о движении первого кандидата достигает M (например, 5), заполнение информации о движении останавливается. Во время процесса заполнения для вектора однонаправленного движения и L0 вектора движения двунаправленного прогнозирования необходимо проверять дубликаты существующей информации о движении в списке информации о движении первого кандидата, чтобы убедиться, что список информации о движении первого кандидата не имеет одинаковой информации о движении; и для L1 вектора движения двунаправленного прогнозирования нет необходимости проверять дубликаты, поскольку стоимость для огромного количества информации о движении в списке информации о движении первого кандидата довольно высока (поскольку необходимо сравнивать всю информацию о движении в списке информации о движении первого кандидата).[00108] Example 6. Of candidate blocks corresponding to the current block, after receiving motion information (such as motion vectors) based on the position sequence shown in FIG. 5A, the received motion information is sorted in the following order: unidirectional motion vector, L0 is a bidirectional motion vector and L1 is a bidirectional motion vector (without the average value of the L0 motion vector and L1 of the bidirectional motion vector), and the obtained motion information is added to the first candidate motion information list one by one according to the sort result. During the filling process, if the amount of the candidate's motion information in the first candidate's motion information list reaches M (for example, 5), the filling of the motion information is stopped. During the filling process for the unidirectional motion vector and L0 of the bidirectional prediction motion vector, it is necessary to check for duplicates of the existing motion information in the first candidate's motion information list to ensure that the first candidate's motion information list does not have the same motion information; and for L1 of the bidirectional prediction motion vector, there is no need to check for duplicates because the cost for a huge amount of motion information in the first candidate motion information list is quite high (because it is necessary to compare all the motion information in the first candidate motion information list).

[00109] Пример 7. При добавлении информации о движении в список информации о движении первого кандидата задействованы два процесса. Один процесс – это процесс сбора информации о движении, то есть собирается информация о движении блоков-кандидатов, а другой процесс – это процесс добавления информации о движении, то есть информация о движении добавляется в список информации о движении первого кандидата. Пример процесса сбора информации о движении будет описан ниже.[00109] Example 7 When adding motion information to the first candidate's motion information list, two processes are involved. One process is a motion information gathering process, that is, the motion information of candidate blocks is collected, and the other process is a motion information addition process, that is, motion information is added to the motion information list of the first candidate. An example of a traffic information collection process will be described below.

[00110] В процессе сбора информации о движении блоков-кандидатов может быть определено, совпадает ли в точности информация о движении текущего блока-кандидата с ранее собранной информацией о движении. Если информация о движении текущего блока-кандидата в точности совпадает с ранее собранной информацией о движении, процесс сбора информации о движении текущего блока-кандидата может быть пропущен. В этом примере информацию о движении текущего блока-кандидата можно сравнивать только с информацией о движении блока-кандидата, близкого к текущему блоку-кандидату.[00110] In the process of collecting candidate block motion information, it can be determined whether the motion information of the current candidate block exactly matches the previously collected motion information. If the motion information of the current candidate block exactly matches the previously collected motion information, the process of collecting the motion information of the current candidate block may be skipped. In this example, the motion information of the current candidate block can only be compared with the motion information of a candidate block close to the current candidate block.

[00111] Например, как показано на фиг.5A, сначала собирается информация о движении блока-кандидата 1. Поскольку блок-кандидат 1 является первым блоком-кандидатом, сравнение не требуется, и информация о движении блока-кандидата 1 собирается непосредственно.[00111] For example, as shown in FIG. 5A, candidate block 1 motion information is collected first. Since candidate block 1 is the first candidate block, no comparison is required, and candidate block 1 motion information is collected directly.

[00112] Затем, когда собирается информация о движении блока-кандидата 2, можно определить, доступен ли блок-кандидат 1. Если он доступен, можно определить, совпадает ли в точности информация о движении блока-кандидата 2 с информацией о движении блока-кандидата 1. Если они в точности совпадают, сбор информации о движении блока-кандидата 2 не выполняется, а если они не совпадают, выполняется сбор информации о движении блока-кандидата 2.[00112] Then, when the motion information of candidate block 2 is collected, it can be determined whether candidate block 1 is available. If it is available, it can be determined whether the candidate block motion information 2 exactly matches the candidate block motion information 1. If they match exactly, no candidate block 2 motion information is collected, and if they do not match, candidate block 2 motion information is collected.

[00113] Затем при сборе информации о движении блока-кандидата 3 можно определить, доступен ли блок-кандидат 2, который близок к блоку-кандидату 3. Если блок-кандидат 2 доступен, можно определить, совпадают ли в точности информация о движении блока-кандидата 3 и информация о движении блока-кандидата 2. Если они в точности совпадают, сбор информации о движении блока-кандидата 3 не выполняется, а если они не совпадают, выполняется сбор информации о движении блока-кандидата 3. Следует отметить, что информация о движении блока-кандидата 3 больше не сравнивается с информацией о движении блока-кандидата 1, который находится далеко от блока-кандидата 3.[00113] Then, when candidate block 3 motion information is collected, it can be determined whether candidate block 2 is available, which is close to candidate block 3. If candidate block 2 is available, it can be determined whether the block motion information exactly matches Candidate 3 motion information and Candidate 2 block motion information. If they exactly match, Candidate 3 motion information is not collected, and if they do not match, Candidate 3 motion information is collected. The movement of candidate block 3 is no longer compared with the movement information of candidate block 1, which is far from candidate block 3.

[00114] Затем при сборе информации о движении блока-кандидата 4 можно определить, доступен ли блок-кандидат 1, который близок к блоку-кандидату 4. Если блок-кандидат 1 доступен, можно определить, совпадают ли в точности информация о движении блока-кандидата 4 и информация о движении блока-кандидата 1. Если они в точности совпадают, сбор информации о движении блока-кандидата 4 не выполняется, а если они не совпадают, выполняется сбор информации о движении блока-кандидата 4. Следует отметить, что информация о движении блока-кандидата 4 больше не сравнивается с информацией о движении блоков-кандидатов 2 и 3, которые находятся далеко от блока-кандидата 4.[00114] Then, when candidate block 4 motion information is collected, it can be determined whether candidate block 1 is available, which is close to candidate block 4. If candidate block 1 is available, it can be determined whether the block motion information exactly matches candidate 4 and candidate block 1 motion information. If they exactly match, candidate block 4 motion information is not collected, and if they do not match, candidate block 4 motion information is collected. The movement of candidate block 4 is no longer compared with the movement information of candidate blocks 2 and 3, which are far away from candidate block 4.

[00115] Затем при сборе информации о движении блока-кандидата 5 можно определить, доступен ли блок-кандидат 1, который близок к блоку-кандидату 5. Если блок-кандидат 1 доступен, можно определить, совпадают ли в точности информация о движении блока-кандидата 5 и информация о движении блока-кандидата 1. Если они в точности совпадают, информация о движении блока-кандидата 5 не собирается. Если они не совпадают, можно определить, доступен ли блок-кандидат 2, который близок к блоку-кандидату 5. Если он доступен, можно определить, совпадают ли в точности информация о движении блока-кандидата 5 и информация о движении блока-кандидата 2. Если они в точности совпадают, сбор информации о движении блока-кандидата 5 не выполняется, а если они не совпадают, выполняется сбор информации о движении блока-кандидата 5. Следует отметить, что информация о движении блока-кандидата 5 больше не сравнивается с информацией о движении блоков-кандидатов 3 и 4, которые находятся далеко от блока-кандидата 5.[00115] Then, when candidate block 5 motion information is collected, it can be determined whether candidate block 1 is available, which is close to candidate block 5. If candidate block 1 is available, it can be determined whether the block motion information exactly matches candidate 5 and movement information of candidate block 1. If they are exactly the same, movement information of candidate block 5 is not collected. If they do not match, it can be determined whether candidate block 2, which is close to candidate block 5, is available. If it is available, it can be determined whether candidate block motion information 5 and candidate block motion information 2 exactly match. If they match exactly, the movement information of the candidate block 5 is not collected, and if they do not match, the movement information of the candidate block 5 is collected. Note that the movement information of the candidate block 5 is no longer compared with the information about movement of candidate blocks 3 and 4, which are far from candidate block 5.

[00116] Пример 8. В процессе сбора информации о движении блоков-кандидатов нет необходимости определять, совпадает ли в точности информация о движении текущего блока-кандидата с ранее собранной информацией о движении, но информация о движении текущего блока-кандидата собирается непосредственно. Даже если информация о движении текущего блока-кандидата в точности совпадает с ранее собранной информацией о движении, впоследствии можно выполнять операции проверки дубликатов, чтобы избежать использования одинаковой информации о движении в списке информации о движении первого кандидата.[00116] Example 8 In the candidate block motion information collection process, it is not necessary to determine whether the motion information of the current candidate block exactly matches the previously collected motion information, but motion information of the current candidate block is collected directly. Even if the motion information of the current candidate block is exactly the same as the previously collected motion information, duplicate checking operations can subsequently be performed to avoid using the same motion information in the motion information list of the first candidate.

[00117] Далее будет описан процесс выбора одной информации о движении кандидата из списка информации о движении первого кандидата в качестве первой целевой информации о движении первого треугольного субблока в подходе 1.[00117] Next, the process of selecting one candidate motion information from the first candidate motion information list as the first target motion information of the first triangular subblock in Approach 1 will be described.

[00118] Подход а1. Видеокодер может установить первую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, видеокодер может установить верхнюю информацию о движении кандидата в списке информации о движении первого кандидата в качестве первой целевой информации о движении первого треугольного субблока по умолчанию. Видеодекодер может установить первую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, видеодекодер может установить верхнюю информацию о движении кандидата в списке информации о движении первого кандидата в качестве первой целевой информации о движении первого треугольного субблока по умолчанию.[00118] Approach a1. The video encoder may set the first default motion information target through a protocol agreement. For example, the video encoder may set the top motion information of the candidate in the first candidate motion information list as the first target motion information of the first default triangular sub-block. The video decoder may set the first default motion information target through a protocol agreement. For example, the video decoder may set the top motion information of the candidate in the first candidate motion information list as the first target motion information of the first default triangular sub-block.

[00119] Подход а2. Видеокодер может определять стоимость искажения скорости, соответствующую каждой информации о движении кандидата в списке информации о движении первого кандидата, и использовать информацию о движении кандидата, соответствующую наименьшей стоимости искажения скорости, в качестве целевой информации о движении первого треугольного субблока. Кодированный битовый поток, отправленный видеокодером в декодер, может нести третью информацию индикации, и третья информация индикации определяет индексное значение первой целевой информации о движении в списке информации о движении первого кандидата. Видеодекодер конфигурирован для получения кодированного битового потока от кодера. Если кодированный битовый поток несет третью информацию индикации, индексное значение используется для получения информации о движении кандидата, соответствующей индексной информации, из списка информации о движении первого кандидата, и информация о движении кандидата определяется как первая целевая информация о движении.[00119] Approach a2. The video encoder may determine the rate distortion cost corresponding to each candidate motion information in the first candidate motion information list, and use the candidate motion information corresponding to the lowest rate distortion cost as the target motion information of the first triangular sub-block. The encoded bitstream sent by the video encoder to the decoder may carry the third indication information, and the third indication information specifies an index value of the first target motion information in the first candidate motion information list. The video decoder is configured to receive an encoded bitstream from the encoder. If the encoded bitstream carries the third indication information, the index value is used to obtain the candidate motion information corresponding to the index information from the first candidate motion information list, and the candidate motion information is determined as the first target motion information.

[00120] Далее будет описан процесс выбора другой информации о движении кандидата из списка информации о движении первого кандидата в качестве второй целевой информации о движении второго треугольного субблока в подходе 1.[00120] Next, the process of selecting other candidate motion information from the list of motion information of the first candidate as the second target motion information of the second triangular subblock in Approach 1 will be described.

[00121] Подход b1. Видеокодер может установить вторую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, видеокодер может установить вторую сверху информацию о движении кандидата в списке информации о движении первого кандидата в качестве второй целевой информации о движении второго треугольного субблока по умолчанию. Видеодекодер может установить вторую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, видеодекодер может установить вторую сверху информацию о движении кандидата в списке информации о движении первого кандидата в качестве второй целевой информации о движении второго треугольного субблока по умолчанию.[00121] Approach b1. The video encoder may set the second target motion information by default through a protocol agreement. For example, the video encoder may set the second from the top motion information of the candidate in the motion information list of the first candidate as the second target motion information of the second default triangular sub-block. The video decoder may set the second target motion information by default through a protocol agreement. For example, the video decoder may set the second from the top motion information of the candidate in the motion information list of the first candidate as the second target motion information of the second default triangular subblock.

[00122] Подход b2. Видеокодер может исключить первую целевую информацию о движении из списка информации о движении первого кандидата (то есть не выбирать первую целевую информацию о движении в списке информации о движении первого кандидата), и на этой основе видеокодер может определять стоимость искажения скорости, соответствующую каждой информации о движении кандидата, остающейся в списке информации о движении первого кандидата (то есть информации о движении кандидата, остающейся после исключения первой целевой информации о движении), и использовать информацию о движении кандидата, соответствующую минимальной стоимости искажения скорости, в качестве второй целевой информации о движении второго треугольного субблока. Кодированный битовый поток, отправленный видеокодером в декодер, может нести четвертую информацию индикации, которая определяет индексное значение второй целевой информации о движении в списке информации о движении первого кандидата. Видеодекодер конфигурирован для получения кодированного битового потока от кодера. Если кодированный битовый поток несет четвертую информацию индикации, индексное значение используется для выбора информации о движении кандидата, соответствующей индексной информации, из списка информации о движении первого кандидата, и затем информация о движении кандидата определяется как вторая целевая информация о движении.[00122] Approach b2. The video encoder may exclude the first target motion information from the first candidate motion information list (i.e., not select the first target motion information in the first candidate motion information list), and based on this, the video encoder may determine the rate distortion cost corresponding to each motion information. candidate remaining in the list of motion information of the first candidate (that is, motion information of the candidate remaining after deleting the first target motion information), and use the candidate motion information corresponding to the minimum speed distortion cost as the second target motion information of the second triangular subblock. The encoded bitstream sent by the video encoder to the decoder may carry fourth indication information that specifies an index value of the second target motion information in the first candidate motion information list. The video decoder is configured to receive an encoded bitstream from the encoder. If the encoded bitstream carries the fourth indication information, the index value is used to select the candidate motion information corresponding to the index information from the first candidate motion information list, and then the candidate motion information is determined as the second target motion information.

[00123] Вариант осуществления 6[00123] Embodiment 6

[00124] На этапе 202 и этапе 302 видеодекодер/видеокодер может получить первую целевую информацию о движении первого треугольного субблока и вторую целевую информацию о движении второго треугольного субблока посредством следующих подходов.[00124] In step 202 and step 302, the video decoder/video encoder may obtain the first target motion information of the first triangular sub-block and the second target motion information of the second triangular sub-block through the following approaches.

[00125] Подход 2. Создают список информации о движении второго кандидата, соответствующий первому треугольному субблоку, и список информации о движении третьего кандидата, соответствующий второму треугольному субблоку. Список информации о движении второго кандидата включает в себя множество информации о движении кандидата. Список информации о движении третьего кандидата включает в себя множество информации о движении кандидата. Одна информация о движении кандидата выбирается из списка информации о движении второго кандидата в качестве первой целевой информации о движении первого треугольного субблока в качестве первой целевой информации о движении первого треугольного субблока, и одна информация о движении кандидата выбирается из списка информации о движении третьего кандидата в качестве второй целевой информации о движении второго треугольного субблока. Первая целевая информация о движении отличается от второй целевой информации о движении.[00125] Approach 2: Create a second candidate motion information list corresponding to the first triangular sub-block and a third candidate motion information list corresponding to the second triangular sub-block. The motion information list of the second candidate includes a plurality of candidate motion information. The motion information list of the third candidate includes a plurality of candidate motion information. One candidate motion information is selected from the motion information list of the second candidate as the first target motion information of the first triangular sub-unit as the first target motion information of the first triangular sub-unit, and one candidate motion information is selected from the motion information list of the third candidate as second target information about the movement of the second triangular sub-block. The first target motion information is different from the second target motion information.

[00126] В одном примере, чтобы создать список информации о движении второго кандидата, соответствующий первому треугольному субблоку, могут быть получены первые блоки-кандидаты, соответствующие первому треугольному субблоку, и информация о движении каждого первого блока-кандидата может быть добавлена к списку информации о движении второго кандидата. Если первый блок-кандидат является блоком однонаправленного прогнозирования, информация о движении первого блока-кандидата включает в себя информацию об однонаправленном движении первого блока-кандидата; если первый блок-кандидат является блоком двунаправленного прогнозирования, информация о движении первого блока-кандидата включает в себя первую информацию о движении первого блока-кандидата (то есть L0 информацию о движении первого блока-кандидата) и/или вторую информацию о движении первого блока-кандидата (то есть L1 информацию о движении первого блока-кандидата), но не включает в себя взвешенную информацию о движении из первой информации о движении первого блока-кандидата и второй информации о движении первого блока-кандидата.[00126] In one example, to create a second candidate motion information list corresponding to the first triangular sub-block, first candidate blocks corresponding to the first triangular sub-block may be obtained, and motion information of each first candidate block may be added to the movement of the second candidate. If the first candidate block is a unidirectional prediction block, the motion information of the first candidate block includes unidirectional motion information of the first candidate block; if the first candidate block is a bidirectional prediction block, the motion information of the first candidate block includes first motion information of the first candidate block (i.e., L0 motion information of the first candidate block) and/or second motion information of the first block- candidate (ie, L1 motion information of the first candidate block), but does not include weighted motion information from the first motion information of the first candidate block and the second motion information of the first candidate block.

[00127] В одном примере, чтобы создать список информации о движении третьего кандидата, соответствующий второму треугольному субблоку, могут быть получены вторые блоки-кандидаты, соответствующие второму треугольному субблоку, и информация о движении каждого второго блока-кандидата может быть добавлена к списку информации о движении третьего кандидата. Если второй блок-кандидат является блоком однонаправленного прогнозирования, информация о движении второго блока-кандидата включает в себя информацию об однонаправленном движении второго блока-кандидата; если второй блок-кандидат является блоком двунаправленного прогнозирования, информация о движении второго блока-кандидата включает в себя первую информацию о движении второго блока-кандидата (то есть L0 информацию о движении второго блока-кандидата) и/или вторую информацию о движении второго блока-кандидата (то есть L1 информацию о движении второго блока-кандидата), но не включает в себя взвешенную информацию о движении из первой информации о движении второго блока-кандидата и вторую информацию о движении второго блока-кандидата.[00127] In one example, to create a third candidate motion information list corresponding to the second triangular sub-block, second candidate blocks corresponding to the second triangular sub-block can be obtained, and the motion information of each second candidate block can be added to the movement of the third candidate. If the second candidate block is a unidirectional prediction block, the motion information of the second candidate block includes information about the unidirectional motion of the second candidate block; if the second candidate block is a bidirectional prediction block, the motion information of the second candidate block includes first motion information of the second candidate block (i.e., L0 motion information of the second candidate block) and/or second motion information of the second block- candidate (ie, L1 motion information of the second candidate block), but does not include the weighted motion information from the first motion information of the second candidate block and the second motion information of the second candidate block.

[00128] Если текущий блок разделен на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода, первый треугольный субблок является треугольным субблоком в верхней правой части, а второй треугольный субблок является треугольным субблоком в нижней левой части. На этой основе первые блоки-кандидаты, соответствующие первому треугольному субблоку, могут включать в себя, но не ограничиваются ими: соседние блоки на верхней стороне текущего блока и блоки-кандидаты во временной области в изображениях, отличных от текущего слайса. Вторые блоки-кандидаты, соответствующие второму треугольному субблоку, могут включать в себя, но не ограничиваются ими: соседние блоки на левой стороне текущего блока и блоки-кандидаты во временной области в других изображениях, отличных от текущего слайса.[00128] If the current block is divided into a first triangular subblock and a second triangular subblock using the second diagonal method, the first triangular subblock is a triangular subblock in the upper right side, and the second triangular subblock is a triangular subblock in the lower left side. On this basis, the first block candidates corresponding to the first triangular sub-block may include, but are not limited to: neighboring blocks on the top side of the current block and candidate blocks in the time domain in pictures other than the current slice. The second block candidates corresponding to the second triangular subblock may include, but are not limited to, neighboring blocks on the left side of the current block and candidate blocks in the time domain in other pictures than the current slice.

[00129] Например, блоки в 5 позициях, показанные на фиг.5B, могут использоваться в качестве первых блоков-кандидатов, соответствующих первому треугольному субблоку, где блок 2, блок 3 и блок 5 являются блоками-кандидатами в текущем слайсе, а блок 6 и блок 7 являются блоками-кандидатами в других изображениях (то есть блоками-кандидатами во временной области). Блоки в 5 положениях, показанные на фиг.5C, могут использоваться в качестве вторых блоков-кандидатов, соответствующих второму треугольному субблоку, где блок 1, блок 4 и блок 5 являются блоками-кандидатами в текущем слайсе, а блок 6 и блок 7 являются блоками-кандидатами в других изображениях (то есть блоками-кандидатами во временной области).[00129] For example, blocks at 5 positions shown in FIG. 5B can be used as first candidate blocks corresponding to the first triangular subblock, where block 2, block 3, and block 5 are candidate blocks in the current slice, and block 6 and block 7 are candidate blocks in other pictures (ie, candidate blocks in the time domain). Blocks at 5 positions shown in FIG. 5C can be used as second block candidates corresponding to the second triangular subblock, where block 1, block 4, and block 5 are candidate blocks in the current slice, and block 6 and block 7 are blocks -candidates in other pictures (ie candidate blocks in the time domain).

[00130] В одном примере может быть собрана информация о движении блоков-кандидатов. Если блок-кандидат является блоком однонаправленного прогнозирования, информация о движении блока-кандидата включает в себя информацию об однонаправленном движении блока-кандидата; если блок-кандидат является блоком двунаправленного прогнозирования, информация о движении блока-кандидата включает в себя L0 информацию о движении блока-кандидата и/или L1 информацию о движении блока-кандидата, но не включает в себя взвешенную информацию о движении из L0 информации о движении блока-кандидата и L1 информации о движении блока-кандидата.[00130] In one example, candidate block movement information may be collected. If the candidate block is a unidirectional prediction block, the motion information of the candidate block includes unidirectional motion information of the candidate block; if the candidate block is a bidirectional prediction block, the motion information of the candidate block includes L0 motion information of the candidate block and/or L1 motion information of the candidate block, but does not include the weighted motion information of the L0 motion information candidate block and L1 movement information of the candidate block.

[00131] В одном примере после сбора информации о движении блоков-кандидатов (как показано на фиг.5B или фиг.5C) собранная информация о движении сортируется в следующем порядке: информация об однонаправленном движении, L0 информация о движении двунаправленного прогнозирования и L1 информация о движении двунаправленного прогнозирования, и собранная информация о движении добавляется в список информации о движении второго кандидата или список информации о движении третьего кандидата одна за другой в соответствии с результатом сортировки. В качестве альтернативы, собранная информация о движении сортируется в следующем порядке: L0 информация о движении двунаправленного прогнозирования, L1 информация о движении двунаправленного прогнозирования и информация об однонаправленном движении, и собранная информация о движении добавляется в список информации о движении второго кандидата или в список информации о движении третьего кандидата одна за другой в соответствии с результатом сортировки.[00131] In one example, after collecting candidate block motion information (as shown in FIG. 5B or FIG. 5C), the collected motion information is sorted in the following order: unidirectional motion information, L0 bidirectional prediction motion information, and L1 bidirectional prediction motion, and the collected motion information is added to the motion information list of the second candidate or the motion information list of the third candidate one by one according to the sort result. Alternatively, the collected traffic information is sorted in the following order: L0 bi-directional prediction traffic information, L1 bi-directional prediction traffic information and unidirectional traffic information, and the collected traffic information is added to the second candidate traffic information list or to the the movement of the third candidate one after the other in accordance with the result of sorting.

[00132] В одном примере, каждый раз, когда информация о движении добавляется в список информации о движении второго кандидата или в список информации о движении третьего кандидата, может быть определено, достигло ли количество информации о движении кандидата в списке информации о движении второго кандидата или в списке информации о движении третьего кандидата верхнего предела M. Если количество достигло верхнего предела M, добавление информации о движении отклоняется, и процесс добавления информации о движении завершается; а если количество не достигло верхнего предела M, можно продолжить добавление информации о движении. После того, как текущая информация о движении добавлена, следующая информация о движении добавляется к списку информации о движении второго кандидата или к списку информации о движении третьего кандидата. Значение верхнего предела M может составлять, например, 4.[00132] In one example, each time motion information is added to the motion information list of the second candidate or to the motion information list of the third candidate, it can be determined whether the amount of motion information of the candidate in the motion information list of the second candidate or in the motion information list of the third candidate of the upper limit M. If the number has reached the upper limit M, the addition of the motion information is rejected, and the process of adding the motion information is terminated; and if the number has not reached the upper limit M, you can continue adding traffic information. After the current motion information is added, the next motion information is added to the second candidate's motion information list or to the third candidate's motion information list. The value of the upper limit M may be 4, for example.

[00133] В одном примере, каждый раз, когда информация о движении добавляется в список информации о движении второго кандидата или в список информации о движении третьего кандидата, может быть определено, согласуется ли информация о движении с некоторой информацией о движении, которая уже существует в списке информации о движении второго кандидата или в списке информации о движении третьего кандидата. Если такая дублированная информация о движении есть в списке информации о движении второго кандидата или в списке информации о движении третьего кандидата, добавление информации о движении в список информации о движении второго кандидата или в список информации о движении третьего кандидата отклоняется. Если такая информация о движении отсутствует, информация о движении добавляется в список информации о движении второго кандидата или в список информации о движении третьего кандидата. Таким образом, можно избежать дублирования информации о движении в списке информации о движении второго кандидата или в списке информации о движении третьего кандидата. В качестве альтернативы также возможно не определять, дублируется ли информация о движении, которая должна быть добавлена, с некоторой существующей информацией о движении, а непосредственно добавлять информацию о движении в список информации о движении второго кандидата или в список информации о движении третьего кандидата.[00133] In one example, each time motion information is added to the motion information list of the second candidate or to the motion information list of the third candidate, it can be determined whether the motion information is consistent with some motion information that already exists in the second candidate's motion information list or the third candidate's motion information list. If such duplicated motion information exists in the motion information list of the second candidate or the motion information list of the third candidate, adding the motion information to the motion information list of the second candidate or the motion information list of the third candidate is rejected. If there is no such motion information, the motion information is added to the motion information list of the second candidate or to the motion information list of the third candidate. Thus, duplicate motion information in the motion information list of the second candidate or in the motion information list of the third candidate can be avoided. Alternatively, it is also possible not to determine whether the traffic information to be added is duplicated with some existing traffic information, but to directly add the traffic information to the second candidate's motion information list or the third candidate's motion information list.

[00134] В одном примере, если после того, как вся собранная информация о движении добавлена в список информации о движении второго кандидата или в список информации о движении третьего кандидата, количество информации о движении кандидата в списке информации о движении второго кандидата или в списке информации о движении третьего кандидата будет меньше, чем верхний предел M, то в список информации о движении второго кандидата или в список информации о движении третьего кандидата может быть добавлена нулевая информация о движении.[00134] In one example, if after all the collected motion information is added to the motion information list of the second candidate or the motion information list of the third candidate, the amount of motion information of the candidate in the motion information list of the second candidate or the information list motion information of the third candidate is less than the upper limit M, then zero motion information can be added to the motion information list of the second candidate or to the motion information list of the third candidate.

[00135] В одном примере, когда создается список информации о движении второго кандидата или список информации о движении третьего кандидата, каждый раз, когда должна собираться информация о движении блока-кандидата текущего блока, нет необходимости сравнивать информацию о движении блока-кандидата с информацией о движении, которая была собрана для текущего блока, чтобы увидеть, совпадают ли они, но можно непосредственно собирать информацию о движении блока-кандидата.[00135] In one example, when the motion information list of the second candidate or the motion information list of the third candidate is created, each time the motion information of the candidate block of the current block is to be collected, there is no need to compare the motion information of the candidate block with the information about movement that was collected for the current block to see if they match, but you can directly collect the movement information of the candidate block.

[00136] Следует отметить, что примеры с 1 по 8 в вышеупомянутом варианте осуществления 5 также могут применяться к варианту осуществления 6, за исключением того, что список информации о движении первого кандидата заменяется списком информации о движении второго кандидата или списком информации о движении третьего кандидата. Блок-кандидат – это блок-кандидат, показанный на фиг.5B или фиг.5C, вместо блока-кандидата, показанного на фиг.5А. Остальные этапы аналогичны, и подробное описание здесь не приводится.[00136] It should be noted that Examples 1 to 8 in the above Embodiment 5 can also be applied to Embodiment 6 except that the first candidate's motion information list is replaced by the second candidate's motion information list or the third candidate's motion information list . The candidate block is the candidate block shown in FIG. 5B or FIG. 5C instead of the candidate block shown in FIG. 5A. The rest of the steps are similar and will not be described in detail here.

[00137] Далее будет описан процесс выбора одной информации о движении кандидата из списка информации о движении второго кандидата в качестве первой целевой информации о движении первого треугольного субблока в подходе 2.[00137] Next, the process of selecting one candidate motion information from the second candidate motion information list as the first target motion information of the first triangular subblock in Approach 2 will be described.

[00138] Подход c1. Видеокодер может установить первую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, видеокодер может установить верхнюю информацию о движении кандидата в списке информации о движении второго кандидата в качестве первой целевой информации о движении первого треугольного субблока по умолчанию. Видеодекодер может установить первую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, видеодекодер может установить верхнюю информацию о движении кандидата в списке информации о движении второго кандидата в качестве первой целевой информации о движении первого треугольного субблока по умолчанию.[00138] Approach c1. The video encoder may set the first target motion information by default through a protocol agreement. For example, the video encoder may set the top motion information of the candidate in the second candidate motion information list as the first target motion information of the first default triangular sub-block. The video decoder may set the first default motion information target through a protocol agreement. For example, the video decoder may set the top motion information of the candidate in the second candidate motion information list as the first target motion information of the first default triangular sub-block.

[00139] Подход c2. Видеокодер может определять стоимость искажения скорости, соответствующую каждой информации о движении кандидата в списке информации о движении второго кандидата, и использовать информацию о движении кандидата, соответствующую наименьшей стоимости искажения скорости, в качестве целевой информации о движении первого треугольного субблока. Кодированный битовый поток, отправленный видеокодером в декодер, может нести пятую информацию индикации, и пятая информация индикации определяет индексное значение первой целевой информации о движении в списке информации о движении второго кандидата. Видеодекодер конфигурирован для получения кодированного битового потока от кодера. Если кодированный битовый поток несет пятую информацию индикации, индексное значение, указанное пятой информацией индикации, используется для извлечения соответствующей информации о движении кандидата из списка информации о движении второго кандидата, и информация о движении кандидата используется в качестве первой целевой информации о движении.[00139] Approach c2. The video encoder may determine the rate distortion cost corresponding to each candidate motion information in the second candidate motion information list, and use the candidate motion information corresponding to the lowest rate distortion cost as the target motion information of the first triangular sub-block. The encoded bitstream sent by the video encoder to the decoder may carry fifth indication information, and the fifth indication information specifies an index value of the first target motion information in the second candidate's motion information list. The video decoder is configured to receive an encoded bitstream from the encoder. If the encoded bitstream carries the fifth indication information, the index value indicated by the fifth indication information is used to extract the corresponding candidate motion information from the second candidate motion information list, and the candidate motion information is used as the first target motion information.

[00140] Далее будет описан процесс выбора одной информации о движении кандидата из списка информации о движении третьего кандидата в качестве второй целевой информации о движении второго треугольного субблока в подходе 2.[00140] Next, the process of selecting one candidate motion information from the third candidate motion information list as the second target motion information of the second triangular subblock in Approach 2 will be described.

[00141] Подход d1. Видеокодер может установить вторую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, видеокодер может установить верхнюю информацию о движении кандидата в списке информации о движении третьего кандидата в качестве второй целевой информации о движении второго треугольного субблока по умолчанию. Видеодекодер может установить вторую целевую информацию о движении по умолчанию посредством протокольного соглашения. Например, декодер может установить верхнюю информацию о движении кандидата в списке информации о движении третьего кандидата в качестве второй целевой информации о движении второго треугольного субблока по умолчанию.[00141] Approach d1. The video encoder may set the second target motion information by default through a protocol agreement. For example, the video encoder may set the top motion information of the candidate in the third candidate motion information list as the second target motion information of the second default triangular sub-block. The video decoder may set the second target motion information by default through a protocol agreement. For example, the decoder may set the top motion information of the candidate in the motion information list of the third candidate as the second target motion information of the second default triangular sub-block.

[00142] Подход d2. Видеокодер может определять стоимость искажения скорости, соответствующую каждой информации о движении кандидата в списке информации о движении третьего кандидата, и использовать информацию о движении кандидата, соответствующую минимальной стоимости искажения скорости, в качестве второй целевой информации о движении второго треугольного субблока. Кодированный битовый поток, отправленный видеокодером в декодер, может нести шестую информацию индикации, которая определяет индексное значение второй целевой информации о движении в списке информации о движении третьего кандидата. Видеодекодер конфигурирован для получения кодированного битового потока от кодера. Если кодированный битовый поток несет шестую информацию индикации, индексное значение, указанное шестой информацией индикации, используется для извлечения соответствующей информации о движении кандидата из списка информации о движении третьего кандидата, и затем информация о движении кандидата используется в качестве второй целевой информации о движении.[00142] Approach d2. The video encoder may determine the rate distortion cost corresponding to each candidate motion information in the third candidate motion information list, and use the candidate motion information corresponding to the minimum rate distortion cost as the second target motion information of the second triangular subblock. The encoded bitstream sent by the video encoder to the decoder may carry six indication information that specifies an index value of the second target motion information in the third candidate motion information list. The video decoder is configured to receive an encoded bitstream from the encoder. If the encoded bitstream carries the sixth indication information, the index value indicated by the sixth indication information is used to extract the corresponding candidate motion information from the third candidate motion information list, and then the candidate motion information is used as the second target motion information.

[00143] Вариант осуществления 7[00143] Embodiment 7

[00144] Если текущий блок разделен на первый треугольный субблок и второй треугольный субблок с помощью первого диагонального метода на этапе 201/этапе 301, то на этапе 202/этапе 302 можно создать список информации о движении первого кандидата, и первая целевая информация о движении и вторая целевая информация о движении определяются на основе списка информации о движении первого кандидата, то есть может быть использован вариант осуществления 5. Если текущий блок разделен на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода на этапе 201/этапе 301, то затем на этапе 202/этапе 302 может быть создан список информации о движении второго кандидата, соответствующий первому треугольному субблоку, и список информации о движении третьего кандидата, соответствующий второму треугольному субблоку, причем первая целевая информация о движении определяется на основе списка информации о движении второго кандидата, а вторая целевая информация о движении определяется на основе списка информации о движении третьего кандидата, то есть может быть использован вариант осуществления 6.[00144] If the current block is divided into a first triangular subblock and a second triangular subblock using the first diagonal method in step 201/step 301, then in step 202/step 302, the first candidate motion information list can be created, and the first target motion information and the second target motion information is determined based on the motion information list of the first candidate, that is, Embodiment 5 can be used. at step 202/step 302, a second candidate motion information list corresponding to the first triangular sub-block and a third candidate motion information list corresponding to the second triangular sub-block can be created, the first target motion information being determined based on the second candidate motion information list, and the second target motion information is determined based on the motion information list of the third candidate, that is, Embodiment 6 can be used.

[00145] В одном примере, независимо от того, разделен ли текущий блок с помощью первого диагонального метода или текущий блок разделен с помощью второго диагонального метода, может быть использован вариант осуществления 5. В другом примере, если текущий блок разделен с помощью первого диагонального метода, то есть текущий блок разделен в направлении 45 градусов, может быть использован вариант осуществления 5, а верхний предел M равен, например, 4. Если текущий блок разделен с помощью второго диагонального метода, то есть текущий блок разделен в направлении 135 градусов, может быть использован вариант осуществления 6.[00145] In one example, whether the current block is divided using the first diagonal method or the current block is divided using the second diagonal method, Embodiment 5 can be used. In another example, if the current block is divided using the first diagonal method , that is, the current block is divided in the direction of 45 degrees, embodiment 5 can be used, and the upper limit M is 4, for example. Option 6 is used.

[00146] Со ссылкой на вариант осуществления 6, первый треугольный субблок является треугольным субблоком в верхней правой части. Как показано на фиг.5B, первыми блоками-кандидатами первого треугольного субблока являются последовательно блок 2, блок 3, блок 5, блок 6 и блок 7, то есть исключены блок 1 и блок 4, которые находятся дальше от первого треугольного субблока. Как показано на фиг.5C, вторыми блоками-кандидатами второго треугольного субблока являются последовательно блок 1, блок 4, блок 5, блок 6 и блок 7, то есть исключены блок 2 и блок 3, которые находятся дальше от второго треугольного субблока. Кроме того, значение верхнего предела M может быть равно, например, 4.[00146] With reference to Embodiment 6, the first triangular sub-block is the triangular sub-block at the top right. As shown in FIG. 5B, the first candidate blocks of the first triangular sub-block are block 2, block 3, block 5, block 6, and block 7 in succession, i.e., block 1 and block 4, which are further away from the first triangular sub-block, are excluded. As shown in FIG. 5C, the second candidate blocks of the second triangular subblock are block 1, block 4, block 5, block 6, and block 7 in succession, i.e., block 2 and block 3, which are farther from the second triangular subblock, are excluded. In addition, the value of the upper limit M may be equal to, for example, 4.

[00147] В одном примере один бит флага может быть закодирован, чтобы указать, выполняется ли разделение в направлении 45 градусов или 135 градусов. Если разделение выполнено в направлении 45 градусов, индекс комбинаций M*(M-1) может быть закодирован согласно усеченному унарному коду; если разделение выполнено в направлении 135 градусов, индекс комбинаций M*M может быть закодирован согласно усеченному унарному коду. В одном примере, если разделение выполнено в направлении 45 градусов и используется вариант осуществления 5 (то есть первая целевая информация о движении и вторая целевая информация о движении выбираются из списка информации о движении первого кандидата), поскольку имеется M (например, M равно 4) информации о движении кандидата в списке информации о движении первого кандидата, первая целевая информация о движении имеет M (например, M равно 4) возможных вариантов выбора, и после исключения первой целевой информации о движении из списка информации о движении первого кандидата, вторая целевая информация о движении имеет (M-1) возможных вариантов выбора, и, следовательно, индекс информации о движении является индексом M*(M-1) комбинаций. Если разделение выполнено в направлении 135 градусов и используется вариант осуществления 6 (то есть первая целевая информация о движении выбирается из списка информации о движении второго кандидата, а вторая целевая информация о движении выбирается из списка информации о движении третьего кандидата), поскольку имеется M (например, M равно 4) информации о движении кандидата в списке информации о движении второго кандидата, первая целевая информация о движении имеет M возможных вариантов выбора, и поскольку имеется M (например, M равно 4) информации о движении кандидата в списке информации о движении третьего кандидата, вторая целевая информация о движении имеет M возможных вариантов выбора, и, следовательно, индекс информации о движении является индексом M*M комбинаций.[00147] In one example, one flag bit may be encoded to indicate whether the split is performed in a 45 degree or 135 degree direction. If the division is made in the 45 degree direction, the combination index M*(M-1) may be encoded according to the truncated unary code; if the division is made in the direction of 135 degrees, the combination index M*M can be encoded according to the truncated unary code. In one example, if the separation is in the 45 degree direction and Embodiment 5 is used (i.e., the first target motion information and the second target motion information are selected from the first candidate's motion information list) because there is M (e.g., M is 4) candidate motion information in the first candidate's motion information list, the first target motion information has M (for example, M is 4) possible choices, and after deleting the first target motion information from the first candidate's motion information list, the second target motion information motion has (M-1) possible choices, and therefore the motion information index is an index of M*(M-1) combinations. If the separation is made in the direction of 135 degrees and Embodiment 6 is used (that is, the first target motion information is selected from the motion information list of the second candidate, and the second target motion information is selected from the motion information list of the third candidate), since there is M (for example , M is equal to 4) candidate motion information in the motion information list of the second candidate, the first target motion information has M possible choices, and since there are M (e.g., M is 4) candidate motion information in the motion information list of the third candidate , the second target motion information has M possible choices, and therefore the motion information index is an index of M*M combinations.

[00148] Вариант осуществления 8[00148] Embodiment 8

[00149] После получения первой целевой информации о движении первого треугольного субблока и второй целевой информации о движении второго треугольного субблока на основе первой целевой информации о движении и второй целевой информации о движении, на первом треугольном субблоке и втором треугольном субблоке может выполняться компенсация движения с помощью следующих подходов.[00149] After obtaining the first target motion information of the first triangular sub-block and the second target motion information of the second triangular sub-block based on the first target motion information and the second target motion information, motion compensation can be performed on the first triangular sub-block and the second triangular sub-block with following approaches.

[00150] Подход 1. Текущий блок разделяется на множество субблоков, причем ширина каждого субблока может быть больше или равна 2, а высота каждого субблока больше или равна 2. Для каждого субблока, если субблок расположен в первом треугольном субблоке, компенсация движения выполняется на субблоке на основе первой целевой информации о движении первого треугольного субблока, чтобы получить значение прогнозирования субблока; если субблок расположен во втором треугольном субблоке, компенсация движения выполняется на субблоке на основе второй целевой информации о движении второго треугольного субблока, чтобы получить значение прогнозирования субблока; если субблок не расположен полностью ни в первом треугольном субблоке, ни во втором треугольном субблоке (то есть субблок расположен по диагонали, отделяющей первый треугольный субблок от второго треугольного субблока), взвешенная компенсация выполняется на субблоке на основе первой целевой информации о движении первого треугольного субблока и второй целевой информации о движении второго треугольного субблока, чтобы получить значение прогнозирования субблока. Взвешенная компенсация может включать в себя следующие этапы: получение первого значения прогнозирования субблока на основе первой целевой информации о движении; получение второго значения прогнозирования субблока на основе второй целевой информации о движении; и выполнение взвешенной компенсации для субблока на основе первого значения прогнозирования, первого весового коэффициента, соответствующего первому значению прогнозирования, второго значения прогнозирования и второго весового коэффициента, соответствующего второму значению прогнозирования.[00150] Approach 1. The current block is divided into a plurality of subblocks, where the width of each subblock can be greater than or equal to 2, and the height of each subblock is greater than or equal to 2. For each subblock, if the subblock is located in the first triangular subblock, motion compensation is performed on the subblock based on the first target motion information of the first triangular sub-block, to obtain a sub-block prediction value; if the sub-block is located in the second triangular sub-block, motion compensation is performed on the sub-block based on the second target motion information of the second triangular sub-block to obtain a prediction value of the sub-block; if the sub-block is located entirely in neither the first triangular sub-block nor the second triangular sub-block (i.e., the sub-block is located diagonally separating the first triangular sub-block from the second triangular sub-block), weighted compensation is performed on the sub-block based on the first target motion information of the first triangular sub-block, and second target motion information of the second triangular sub-block to obtain the sub-block prediction value. The weighted compensation may include the following steps: obtaining a first sub-block prediction value based on the first target motion information; obtaining a second sub-block prediction value based on the second target motion information; and performing weighted compensation for the subblock based on the first prediction value, the first weight corresponding to the first prediction value, the second prediction value, and the second weight corresponding to the second prediction value.

[00151] Например, как показано на фиг.6A, текущий блок может быть разделен на субблок 1, субблок 2, субблок 3 и субблок 4. В практических приложениях текущий блок может быть разделен на большее количество субблоков, например, ширина каждого субблока больше или равна 2, а высота каждого субблока больше или равна 2. Далее будет дано описание со ссылкой на разделение субблока, показанное на фиг.6А, в качестве примера.[00151] For example, as shown in FIG. 6A, the current block may be divided into sub-block 1, sub-block 2, sub-block 3, and sub-block 4. In practical applications, the current block may be divided into more sub-blocks, for example, the width of each sub-block is larger or is 2, and the height of each sub-block is greater than or equal to 2. Next, description will be given with reference to the division of the sub-block shown in Fig. 6A as an example.

[00152] Для субблока 2, поскольку субблок 2 расположен в первом треугольном субблоке, первая целевая информация о движении используется для выполнения компенсации движения в субблоке 2 для получения значения прогнозирования. Для субблока 3, поскольку субблок 3 расположен во втором треугольном субблоке, вторая целевая информация о движении используется для выполнения компенсации движения в субблоке 3 для получения значения прогнозирования. Для субблока 1, поскольку субблок 1 не расположен полностью ни в первом треугольном субблоке, ни во втором треугольном субблоке, первое значение P1 прогнозирования субблока 1 определяется на основе первой целевой информации о движении, а второе значение P2 прогнозирования субблока 1 определяется на основе второй целевой информации о движении. Предполагая, что первый весовой коэффициент, соответствующий P1, равен a (например, 0,5), а второй весовой коэффициент, соответствующий P2, равен b (например, 0,5), тогда взвешенная компенсация выполняется на субблоке 1 на основе P1, a, P2 и b. Значение прогнозирования субблока 1 после взвешенной компенсации равно, например, P1*a+P2*b. Компенсация движения для субблока 4 аналогична компенсации движения для субблока 1 и здесь не повторяется.[00152] For sub-block 2, since sub-block 2 is located in the first triangular sub-block, the first target motion information is used to perform motion compensation in sub-block 2 to obtain a prediction value. For sub-block 3, since sub-block 3 is located in the second triangular sub-block, the second target motion information is used to perform motion compensation in sub-block 3 to obtain a prediction value. For sub-block 1, since sub-block 1 is not completely located in either the first triangular sub-block or the second triangular sub-block, the first prediction value P1 of sub-block 1 is determined based on the first target motion information, and the second prediction value P2 of sub-block 1 is determined based on the second target information about movement. Assuming that the first weight coefficient corresponding to P1 is a (for example, 0.5) and the second weight coefficient corresponding to P2 is b (for example, 0.5), then weighted compensation is performed on subblock 1 based on P1, a , P2 and b. The prediction value of sub-block 1 after weighted compensation is, for example, P1*a+P2*b. Motion compensation for sub-unit 4 is the same as motion compensation for sub-unit 1 and is not repeated here.

[00153] Подход 2. Текущий блок разделяется на первую область субблока, вторую область субблока и третью область субблока, где первая область субблока расположена в первом треугольном субблоке, вторая область субблока расположена во втором треугольном субблоке, и расстояние между центром каждого субблока в третьей области субблока и диагональю, отделяющей первый треугольный субблок от второго треугольного субблока, меньше заданного порога. Компенсация движения выполняется на каждом субблоке в первой области субблока на основе первой целевой информации о движении первого треугольного субблока, компенсация движения выполняется на каждом субблоке во второй области субблока на основе второй целевой информации о движении второго треугольного субблока; и взвешенная компенсация выполняется на каждом субблоке в третьей области субблока на основе первой целевой информации о движении и второй целевой информации о движении. Взвешенная компенсация может включать в себя следующие этапы: для каждого субблока в третьей области субблока, определение первого значения прогнозирования субблока на основе первой целевой информации о движении и определение второго значения прогнозирования субблока на основе второй целевой информации о движении; на основе первого значения прогнозирования, первого весового коэффициента, соответствующего первому значению прогнозирования, второго значения прогнозирования и второго весового коэффициента, соответствующего второму значению прогнозирования, выполнение взвешенной компенсации на субблоке, при этом, если субблок расположен или в основном расположен в первом треугольном субблоке, первый весовой коэффициент больше второго весового коэффициента; если субблок расположен или в основном расположен во втором треугольном субблоке, первый весовой коэффициент меньше второго весового коэффициента; если субблок расположен по диагонали, отделяющей первый треугольный субблок от второго треугольного субблока, первый весовой коэффициент равен второму весовому коэффициенту.[00153] Approach 2. The current block is divided into a first subblock region, a second subblock region, and a third subblock region, where the first subblock region is located in the first triangular subblock, the second subblock region is located in the second triangular subblock, and the distance between the center of each subblock in the third region subblock and the diagonal separating the first triangular subblock from the second triangular subblock is less than a predetermined threshold. Motion compensation is performed on each sub-block in the first sub-block area based on the first target motion information of the first triangular sub-block, motion compensation is performed on each sub-block in the second sub-block region based on the second target motion information of the second triangular sub-block; and weighted compensation is performed on each subblock in the third area of the subblock based on the first target motion information and the second target motion information. The weighted compensation may include the following steps: for each subblock in the third area of the subblock, determining a first subblock prediction value based on the first target motion information, and determining a second subblock prediction value based on the second target motion information; based on the first prediction value, the first weight coefficient corresponding to the first prediction value, the second prediction value, and the second weight coefficient corresponding to the second prediction value, performing weighted compensation on the subblock, wherein, if the subblock is located or mainly located in the first triangular subblock, the first the weight factor is greater than the second weight factor; if the sub-block is located or mainly located in the second triangular sub-block, the first weight factor is less than the second weight factor; if the sub-block is located diagonally separating the first triangular sub-block from the second triangular sub-block, the first weight coefficient is equal to the second weight coefficient.

[00154] Каждый субблок в третьей области субблока может быть субблоком 1*1, то есть одиночным блоком пикселей, или субблоком N*M, где N может быть больше или равно 1, и M также может быть больше или равно 1.[00154] Each subblock in the third subblock region may be a 1*1 subblock, i.e. a single block of pixels, or an N*M subblock, where N may be greater than or equal to 1 and M may also be greater than or equal to 1.

[00155] Например, как показано на фиг.6B, текущий блок может быть разделен на первую область субблока, вторую область субблока и третью область субблока. Первая область субблока расположена в первом треугольном субблоке и, таким образом, первая целевая информация о движении первого треугольного субблока может использоваться для выполнения компенсации движения на каждом субблоке в первой области субблока, чтобы получить значение прогнозирования. Вторая область субблока расположена во втором треугольном субблоке и, таким образом, вторая целевая информация о движении второго треугольного субблока может использоваться для выполнения компенсации движения на каждом субблоке во второй области субблока, чтобы получить значение прогнозирования. Третья область субблока может включать в себя субблоки с меткой 1, субблоки с меткой 2, субблоки с меткой 4, субблоки с меткой 6 и субблоки с меткой 7.[00155] For example, as shown in FIG. 6B, the current block may be divided into a first subblock area, a second subblock area, and a third subblock area. The first subblock area is located in the first triangular subblock, and thus the first target motion information of the first triangular subblock can be used to perform motion compensation on each subblock in the first subblock area to obtain a prediction value. The second subblock area is located in the second triangular subblock, and thus the second target motion information of the second triangular subblock can be used to perform motion compensation on each subblock in the second subblock area to obtain a prediction value. The third sub-block area may include sub-blocks with label 1, sub-blocks with label 2, sub-blocks with label 4, sub-blocks with label 6, and sub-blocks with label 7.

[00156] Для каждого субблока с меткой 7, который далее будет называться субблоком 7, первое значение P1 прогнозирования субблока 7 может быть определено на основе первой целевой информации о движении, а второе значение P2 прогнозирования субблока 7 может быть определено на основе второй целевой информации о движении. Предполагая, что первый весовой коэффициент, соответствующий P1, равен «a», а второй весовой коэффициент, соответствующий P2, равен «b», значение прогнозирования субблока 7 после взвешенной компенсации может быть равно: P1*a+P2*b. Кроме того, поскольку субблок 7 расположен в первом треугольном субблоке, первый весовой коэффициент «а» больше, чем второй весовой коэффициент «b». Предполагая, что «a» равно 7/8, а «b» равно 1/8, значение прогнозирования субблока 7 после взвешенной компенсации равно P1*7/8+P2*1/8.[00156] For each sub-block labeled 7, hereinafter referred to as sub-block 7, the first prediction value P1 of sub-block 7 may be determined based on the first target motion information, and the second prediction value P2 of sub-block 7 may be determined based on the second target information on movement. Assuming that the first weight coefficient corresponding to P1 is "a" and the second weight coefficient corresponding to P2 is "b", the prediction value of sub-block 7 after weighted compensation may be: P1*a+P2*b. In addition, since the sub-block 7 is located in the first triangular sub-block, the first weight "a" is larger than the second weight "b". Assuming that "a" is 7/8 and "b" is 1/8, the prediction value of sub-block 7 after weighted compensation is P1*7/8+P2*1/8.

[00157] Для каждого субблока с меткой 6, называемого ниже субблоком 6, процесс взвешенной компенсации аналогичен процессу субблока 7. Поскольку субблок 6 расположен в первом треугольном субблоке, первый весовой коэффициент «а» больше, чем второй весовой коэффициент «b». Кроме того, поскольку субблок 6 находится ближе ко второй области субблока, чем субблок 7, первый весовой коэффициент «а» субблока 6 может быть меньше, чем первый весовой коэффициент «а» субблока 7. Например, первый весовой коэффициент «a» субблока 6 равен 6/8, второй весовой коэффициент «b» равен 2/8, а значение прогнозирования субблока 6 после взвешенной компенсации равно P1*6/8+P2*2/8.[00157] For each labeled subblock 6, hereinafter referred to as subblock 6, the weighted compensation process is similar to that of subblock 7. Since subblock 6 is located in the first triangular subblock, the first weight "a" is greater than the second weight "b". In addition, since sub-block 6 is closer to the second area of the sub-block than sub-block 7, the first weight "a" of sub-block 6 may be less than the first weight "a" of sub-block 7. For example, the first weight "a" of sub-block 6 is 6/8, the second weight coefficient "b" is 2/8, and the prediction value of sub-block 6 after weighted compensation is P1*6/8+P2*2/8.

[00158] Для каждого субблока с меткой 4, называемого ниже субблоком 4, процесс взвешенной компенсации аналогичен процессу субблока 7. Поскольку субблок 4 расположен по диагонали, отделяющей первый треугольный субблок от второго треугольного субблока, первый весовой коэффициент «а» равен второму весовому коэффициенту «b». Например, «a» равен 4/8, «b» равен 4/8, а значение прогнозирования субблока 4 после взвешенной компенсации равно P1*4/8+P2*4/8.[00158] For each labeled subblock 4, hereinafter referred to as subblock 4, the weighted compensation process is similar to that of subblock 7. Since subblock 4 is located diagonally separating the first triangular subblock from the second triangular subblock, the first weight factor "a" is equal to the second weight factor " b. For example, "a" is 4/8, "b" is 4/8, and the prediction value of sub-block 4 after weighted compensation is P1*4/8+P2*4/8.

[00159] Для каждого субблока с меткой 2, называемого ниже субблоком 2, процесс взвешенной компенсации аналогичен процессу субблока 7. Поскольку субблок 2 расположен во втором треугольном субблоке, первый весовой коэффициент «а» меньше, чем второй весовой коэффициент «b». Например, «a» равен 2/8, «b» равен 6/8, а значение прогнозирования субблока 2 после взвешенной компенсации равно P1*2/8+P2*6/8.[00159] For each labeled subblock 2, hereinafter referred to as subblock 2, the weighted compensation process is similar to that of subblock 7. Since subblock 2 is located in the second triangular subblock, the first weight "a" is less than the second weight "b". For example, "a" is 2/8, "b" is 6/8, and the prediction value of sub-block 2 after weighted compensation is P1*2/8+P2*6/8.

[00160] Для каждого субблока с меткой 1, называемого ниже субблоком 1, процесс взвешенной компенсации аналогичен процессу субблока 7. Поскольку субблок 1 расположен во втором треугольном субблоке, первый весовой коэффициент «а» меньше, чем второй весовой коэффициент «b». Кроме того, поскольку субблок 1 находится ближе ко второй области субблока, чем субблок 2, первый весовой коэффициент «а» субблока 1 может быть меньше, чем первый весовой коэффициент «а» субблока 2. Например, первый весовой коэффициент «a» субблока 1 равен 1/8, второй весовой коэффициент «b» равен 7/8, а значение прогнозирования субблока 1 после взвешенной компенсации равно P1*1/8+P2*7/8.[00160] For each subblock labeled 1, hereinafter referred to as subblock 1, the weighted compensation process is similar to that of subblock 7. Since subblock 1 is located in the second triangular subblock, the first weight "a" is less than the second weight "b". In addition, since sub-block 1 is closer to the second area of the sub-block than sub-block 2, the first weight "a" of sub-block 1 may be less than the first weight "a" of sub-block 2. For example, the first weight "a" of sub-block 1 is 1/8, the second weight coefficient "b" is 7/8, and the prediction value of sub-block 1 after weighted compensation is P1*1/8+P2*7/8.

[00161] В приведенном выше примере сумма первого весового коэффициента «а» и второго весового коэффициента «b» каждого субблока равна 1. Чем ближе субблок находится к первой области субблока, тем больше первый весовой коэффициент «а» и меньше второй весовой коэффициент «b». Чем ближе субблок находится ко второй области субблока, тем меньше первый весовой коэффициент «а» и тем больше второй весовой коэффициент «b».[00161] In the above example, the sum of the first weight coefficient "a" and the second weight coefficient "b" of each sub-block is 1. The closer the sub-block is to the first area of the sub-block, the greater the first weight coefficient "a" and the smaller the second weight coefficient "b ". The closer the subblock is to the second region of the subblock, the smaller the first weight "a" and the larger the second weight "b".

[00162] В одном примере для субблоков в третьей области субблока первый набор весовых коэффициентов может быть конфигурирован для компонентов яркости. Например, в направлении от первой области субблока ко второй области субблока первый весовой коэффициент «а» компонента яркости каждого субблока составляет соответственно 7/8, 6/8, 4/8, 2/8, 1/8 по порядку. Например, как показано на фиг.6B, первый весовой коэффициент «a» компонента яркости субблока 7 равен 7/8, первый весовой коэффициент «a» компонента яркости субблока 6 равен 6/8, первый весовой коэффициент «a» компонента яркости субблока 4 равен 4/8, первый весовой коэффициент «a» компонента яркости субблока 2 равен 2/8, и первый весовой коэффициент «a» компонента яркости субблока 1 равен 1/8.[00162] In one example, for subblocks in a third area of a subblock, a first set of weights may be configured for luma components. For example, in the direction from the first sub-block area to the second sub-block area, the first weight coefficient "a" of the luminance component of each sub-block is respectively 7/8, 6/8, 4/8, 2/8, 1/8 in order. For example, as shown in FIG. 6B, the first weight coefficient "a" of the luminance component of sub-block 7 is 7/8, the first weight coefficient "a" of the luminance component of sub-block 6 is 6/8, the first weight coefficient "a" of the luminance component of sub-block 4 is 4/8, the first weight coefficient "a" of the luminance component of sub-block 2 is 2/8, and the first weight coefficient "a" of the luminance component of sub-block 1 is 1/8.

[00163] В другом примере для субблоков в третьей области субблока второй набор весовых коэффициентов может быть конфигурирован для компонентов яркости. Например, в направлении от первой области субблока ко второй области субблока первый весовой коэффициент «а» компонента яркости каждого субблока составляет соответственно 7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8 по порядку. Например, как показано на фиг.6B, первый весовой коэффициент «a» компонента яркости субблока 7 равен 7/8, первый весовой коэффициент «a» компонента яркости субблока 6 равен 6/8, первый весовой коэффициент «a» компонента яркости субблока 5 (субблок 5 может быть расположен между субблоком 4 и субблоком 6, на фиг.6B субблок 5 не показан) равен 5/8, первый весовой коэффициент «a» компонента яркости субблока 4 равен 4/8, первый весовой коэффициент «a» компонента яркости субблока 3 (субблок 3 может быть расположен между субблоком 2 и субблоком 4, и субблок 3 не показан на фиг.6B) равен 3/8, первый весовой коэффициент «a» компонента яркости субблока 2 равен 2/8, и первый весовой коэффициент «a» компонента яркости субблока 1 равен 1/8. Для вышеупомянутых компонентов яркости первое значение P1 прогнозирования и второе значение P2 прогнозирования являются значениями прогнозирования компонента яркости, а значение прогнозирования P1*a+P2*b после взвешенной компенсации также является значением прогнозирования компонента яркости.[00163] In another example, for subblocks in a third area of a subblock, a second set of weights may be configured for the luminance components. For example, in the direction from the first subblock area to the second subblock area, the first weight coefficient "a" of the luminance component of each subblock is respectively 7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/ 8 in order. For example, as shown in FIG. 6B, the first weight coefficient "a" of the luminance component of sub-block 7 is 7/8, the first weight coefficient "a" of the luminance component of sub-block 6 is 6/8, the first weight coefficient "a" of the luminance component of sub-block 5 ( sub-block 5 may be located between sub-block 4 and sub-block 6, not shown in FIG. 3 (sub-block 3 may be located between sub-block 2 and sub-block 4, and sub-block 3 is not shown in FIG. 6B) is 3/8, the first weight coefficient "a" of the luminance component of sub-block 2 is 2/8, and the first weight coefficient "a The 'luma component of subblock 1 is 1/8. For the above luminance components, the first prediction value P1 and the second prediction value P2 are luminance component prediction values, and the prediction value P1*a+P2*b after weighted compensation is also a luminance component prediction value.

[00164] В одном примере для субблоков в третьей области субблока первый набор весовых коэффициентов может быть конфигурирован для компонентов насыщенности. Например, в направлении от первой области субблока ко второй области субблока первый весовой коэффициент «а» компонента насыщенности каждого субблока составляет соответственно 7/8, 4/8, 1/8 по порядку. Например, как показано на фиг.6C, первый весовой коэффициент «a» компонента насыщенности субблока 7 равен 7/8, первый весовой коэффициент «a» компонента насыщенности субблока 4 равен 4/8, и первый весовой коэффициент «a» компонента насыщенности субблока 1 равен 1/8.[00164] In one example, for subblocks in a third area of a subblock, a first set of weights may be configured for saturation components. For example, in the direction from the first subblock area to the second subblock area, the first saturation component weight "a" of each subblock is respectively 7/8, 4/8, 1/8 in order. For example, as shown in FIG. 6C, the first saturation component weight "a" of sub-block 7 is 7/8, the first saturation component weight "a" of sub-block 4 is 4/8, and the first saturation component weight "a" of sub-block 1 equals 1/8.

[00165] В другом примере для субблоков в третьей области субблока второй набор весовых коэффициентов может быть конфигурирован для компонентов насыщенности. Например, в направлении от первой области субблока ко второй области субблока первый весовой коэффициент «а» компонента насыщенности каждого субблока составляет соответственно 6/8, 4/8 и 2/8 по порядку. Например, как показано на фиг.6C, первый весовой коэффициент «a» компонента насыщенности субблока 7 равен 6/8, первый весовой коэффициент «a» компонента насыщенности субблока 4 равен 4/8, и первый весовой коэффициент «a» компонента насыщенности субблока 1 равен 2/8. Для компонентов насыщенности первое значение P1 прогнозирования и второе значение P2 прогнозирования являются значениями прогнозирования компонента насыщенности, а значение P1*a+P2*b прогнозирования после взвешенной компенсации также является значением прогнозирования компонента насыщенности.[00165] In another example, for subblocks in a third subblock region, a second set of weights may be configured for saturation components. For example, in the direction from the first subblock area to the second subblock area, the first saturation component weight "a" of each subblock is respectively 6/8, 4/8, and 2/8 in order. For example, as shown in FIG. 6C, the first weight coefficient "a" of the saturation component of sub-block 7 is 6/8, the first weight coefficient "a" of the saturation component of sub-block 4 is 4/8, and the first weight coefficient "a" of the saturation component of sub-block 1 equals 2/8. For saturation components, the first prediction value P1 and the second prediction value P2 are saturation component prediction values, and the prediction value P1*a+P2*b after weighted compensation is also a saturation component prediction value.

[00166] Некоторые примеры процесса компенсации движения будут описаны ниже.[00166] Some examples of the motion compensation process will be described below.

[00167] Пример 1. Для компенсации движения текущий блок может быть разделен на первую область субблока, вторую область субблока и третью область субблока. Компенсация движения выполняется для каждого субблока в первой области субблока на основе первой целевой информации о движении первого треугольного субблока. Компенсация движения выполняется на каждом субблоке во второй области субблока на основе второй целевой информации о движении второго треугольного субблока. Осуществление взвешенной компенсации выполняется на каждом субблоке в третьей области субблока на основе первой целевой информации о движении и второй целевой информации о движении.[00167] Example 1 For motion compensation, the current block may be divided into a first subblock area, a second subblock area, and a third subblock area. Motion compensation is performed for each sub-block in the first area of the sub-block based on the first target motion information of the first triangular sub-block. Motion compensation is performed on each subblock in the second area of the subblock based on the second target motion information of the second triangular subblock. The implementation of weighted compensation is performed on each subblock in the third area of the subblock based on the first target motion information and the second target motion information.

[00168] В одном примере текущий блок может быть разделен на несколько субблоков M*M (M равно, например, 4). Для каждого субблока M*M, если субблок не находится по диагонали, отделяющей первый треугольный субблок от второго треугольного субблока, информация об однонаправленном движении используется для выполнения компенсации движения на субблоке. В этом случае, если субблок расположен в первом треугольном субблоке, субблок упоминается как первая область субблока, и первая целевая информация о движении используется для компенсации движения; если субблок расположен во втором треугольном субблоке, субблок упоминается как вторая область субблока, и вторая целевая информация о движении используется для компенсации движения. Если субблок расположен по диагонали, отделяющей первый треугольный субблок от второго треугольного субблока, субблок упоминается как третья область субблока, для которой могут использоваться два вида информации об однонаправленном движении (т. е. первая целевая информация о движении и вторая целевая информация о движении) для выполнения взвешенной компенсации. Для конкретных методов расчета веса можно обратиться к приведенным выше примерам.[00168] In one example, the current block may be divided into multiple M*M subblocks (M is 4, for example). For each M*M subblock, if the subblock is not diagonally separating the first triangular subblock from the second triangular subblock, unidirectional motion information is used to perform motion compensation on the subblock. In this case, if the sub-block is located in the first triangular sub-block, the sub-block is referred to as the first area of the sub-block, and the first target motion information is used for motion compensation; if the sub-block is located in the second triangular sub-block, the sub-block is referred to as the second area of the sub-block, and the second target motion information is used for motion compensation. If the sub-block is located diagonally separating the first triangular sub-block from the second triangular sub-block, the sub-block is referred to as the third area of the sub-block, for which two kinds of unidirectional traffic information (i.e., the first target traffic information and the second target traffic information) can be used for performing weighted compensation. For specific weight calculation methods, refer to the examples above.

[00169] Пример 2. Для компенсации движения текущий блок может быть разделен на первую область субблока, вторую область субблока и третью область субблока. Компенсация движения выполняется на каждом субблоке в первой области субблока на основе первой целевой информации о движении первого треугольного субблока. Компенсация движения выполняется на каждом субблоке во второй области субблока на основе второй целевой информации о движении второго треугольного субблока. На основе первой целевой информации о движении и второй целевой информации о движении взвешенная компенсация выполняется на каждом субблоке в третьей области субблока, где используется только один набор весовых коэффициентов: весовые коэффициенты, используемые для компонентов яркости: {7/8, 6/ 8, 4/8, 2/8, 1/8}, весовой коэффициент, используемый для компонентов насыщенности: {7/8, 4/8, 1/8}. Для конкретных методов расчета веса можно обратиться к приведенному выше примеру.[00169] Example 2 For motion compensation, the current block may be divided into a first subblock area, a second subblock area, and a third subblock area. Motion compensation is performed on each subblock in the first area of the subblock based on the first target motion information of the first triangular subblock. Motion compensation is performed on each subblock in the second area of the subblock based on the second target motion information of the second triangular subblock. Based on the first target motion information and the second target motion information, weighted compensation is performed on each subblock in the third area of the subblock where only one set of weight coefficients is used: weight coefficients used for luma components: {7/8, 6/ 8, 4 /8, 2/8, 1/8}, weight used for saturation components: {7/8, 4/8, 1/8}. For specific weight calculation methods, refer to the above example.

[00170] Пример 3: Для компенсации движения текущий блок может быть разделен на первую область субблока, вторую область субблока и третью область субблока. Компенсация движения выполняется на каждом субблоке в первой области субблока на основе первой целевой информации о движении первого треугольного субблока. Компенсация движения выполняется на каждом субблоке во второй области субблока на основе второй целевой информации о движении второго треугольного субблока. На основе первой целевой информации о движении и второй целевой информации о движении взвешенная компенсация выполняется на каждом субблоке в третьей области субблока, где только один набор весовых коэффициентов может быть конфигурирован для взвешенной компенсации. Например, весовые коэффициенты для компонента яркости конфигурируются следующим образом: {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8}, и весовой коэффициент для компонента насыщенности конфигурируется следующим образом: {6/8, 4/8, 2/8}. Для конкретных методов взвешивания можно обратиться к приведенному выше примеру.[00170] Example 3: For motion compensation, the current block may be divided into a first subblock area, a second subblock area, and a third subblock area. Motion compensation is performed on each subblock in the first area of the subblock based on the first target motion information of the first triangular subblock. Motion compensation is performed on each subblock in the second area of the subblock based on the second target motion information of the second triangular subblock. Based on the first target motion information and the second target motion information, weighted compensation is performed on each subblock in the third area of the subblock, where only one set of weight coefficients can be configured for weighted compensation. For example, the weights for the luminance component are configured as follows: {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8}, and the weight for the saturation component is configured as follows : {6/8, 4/8, 2/8}. For specific weighing methods, refer to the above example.

[00171] Подход 3. Текущий блок разделяется на первую область субблока, вторую область субблока и третью область субблока, где первая область субблока расположена в первом треугольном субблоке, а вторая область субблока расположена во втором треугольном субблоке, причем расстояние между центром каждого субблока в третьей области субблока и диагональной линией, отделяющей первый треугольный субблок от второго треугольного субблока, меньше заданного порога. Компенсация движения выполняется на каждом субблоке в первой области субблока на основе первой целевой информации о движении. Компенсация движения выполняется на каждом субблоке во второй области субблока на основе второй целевой информации о движении. Компенсация движения выполняется на каждом субблоке в третьей области субблока на основе первой целевой информации о движении или второй целевой информации о движении.[00171] Approach 3. The current block is divided into a first subblock region, a second subblock region, and a third subblock region, where the first subblock region is located in the first triangular subblock, and the second subblock region is located in the second triangular subblock, and the distance between the center of each subblock in the third sub-block area and a diagonal line separating the first triangular sub-block from the second triangular sub-block is less than a predetermined threshold. Motion compensation is performed on each subblock in the first region of the subblock based on the first target motion information. Motion compensation is performed on each subblock in the second area of the subblock based on the second target motion information. Motion compensation is performed on each subblock in the third area of the subblock based on the first target motion information or the second target motion information.

[00172] Например, если информация о размере текущего блока удовлетворяет первому условию (например, ширина текущего блока больше или равна высоте текущего блока), компенсация движения выполняется на каждом субблоке в третьей области субблока на основе первой целевой информации о движении; если информация о размере текущего блока удовлетворяет второму условию (например, ширина текущего блока меньше, чем высота текущего блока), компенсация движения выполняется на каждом субблоке в третьей области субблока на основе второй целевой информация о движении. Однако приведенное выше является только примером, и для определения того, выполнять ли компенсацию движения на основе первой целевой информации о движении или второй целевой информации о движении, также могут использоваться и другие методы.[00172] For example, if the size information of the current block satisfies the first condition (for example, the width of the current block is greater than or equal to the height of the current block), motion compensation is performed on each subblock in the third region of the subblock based on the first target motion information; if the size information of the current block satisfies the second condition (eg, the width of the current block is smaller than the height of the current block), motion compensation is performed on each subblock in the third region of the subblock based on the second target motion information. However, the above is only an example, and other methods can also be used to determine whether to perform motion compensation based on the first target motion information or the second target motion information.

[00173] Каждый субблок в третьей области субблока может быть субблоком 1*1, то есть одиночным блоком пикселей, или может быть субблоком N*M, где N может быть больше или равно 1, и M также может быть больше или равно 1.[00173] Each subblock in the third subblock region may be a 1*1 subblock, i.e. a single block of pixels, or may be an N*M subblock, where N may be greater than or equal to 1 and M may also be greater than or equal to 1.

[00174] В этом примере для третьей области субблока вместо использования как первой целевой информации о движении, так и второй целевой информации о движении для компенсации движения на каждом субблоке в третьей области субблока используется первая целевая информация о движении или вторая целевая информация о движении. То есть нет субблоков, которые должны быть подвергнуты компенсации движения с использованием двунаправленного прогнозирования, поэтому взвешенная компенсация не требуется.[00174] In this example, for the third subblock area, instead of using both the first target motion information and the second target motion information to compensate for motion on each subblock, the first target motion information or the second target motion information is used in the third subblock area. That is, there are no sub-blocks to be subjected to motion compensation using bidirectional prediction, so weighted compensation is not required.

[00175] Что касается того, следует ли использовать первую целевую информацию о движении или вторую целевую информацию о движении для выполнения компенсации движения на каждом субблоке в третьей области субблока, это может быть определено любым из следующих способов: (1) с использованием первой целевой информации о движении по умолчанию для выполнения компенсации движения на каждом субблоке в третьей области субблока; (2) с использованием второй целевой информации о движении по умолчанию для выполнения компенсации движения в третьей области субблока; (3) определением на основе размера текущего блока. Например, если ширина текущего блока больше или равна высоте текущего блока, используется первая целевая информация о движении для выполнения компенсации движения на каждом субблоке в третьей области субблока; если ширина текущего блока меньше, чем высота текущего блока, используется вторая целевая информация о движении для выполнения компенсации движения на каждом субблоке в третьей области субблока.[00175] As to whether to use the first target motion information or the second target motion information to perform motion compensation on each subblock in the third subblock area, it can be determined in any of the following ways: (1) using the first target information about the default motion to perform motion compensation on each sub-block in the third area of the sub-block; (2) using the second target motion information by default to perform motion compensation in the third sub-unit area; (3) determination based on the size of the current block. For example, if the width of the current block is greater than or equal to the height of the current block, the first target motion information is used to perform motion compensation on each subblock in the third region of the subblock; if the width of the current block is smaller than the height of the current block, the second target motion information is used to perform motion compensation on each subblock in the third area of the subblock.

[00176] Вариант осуществления 9[00176] Embodiment 9

[00177] Видеокодер сначала определяет, удовлетворяет ли текущий блок конкретным условиям для разрешения режима геометрического разделения с треугольным разделением. Если нет, принимается решение не использовать режим геометрического разделения с треугольным разделением, а использовать другой режим. Если да, видеокодер может разрешать режим геометрического разделения с треугольным разделением по умолчанию, или видеокодер может определять, следует ли разрешать режим геометрического разделения с треугольным разделением. Если видеокодер разрешает режим геометрического разделения с треугольным разделением по умолчанию или решает разрешить режим геометрического разделения с треугольным разделением, видеокодер выполняет операцию разделения текущего блока на треугольные субблоки и другие последующие операции в вышеупомянутых связанных примерах; в противном случае эти операции не выполняются.[00177] The video encoder first determines whether the current block satisfies specific conditions for enabling the triangular division geometric separation mode. If not, a decision is made not to use the geometric separation mode with triangular separation, but to use another mode. If yes, the video encoder may enable the default geometric separation triangular separation mode, or the video encoder may determine whether to enable the geometric separation triangular separation mode. If the video encoder enables the default triangular-separated geometric separation mode or decides to enable the triangular-separated geometric separation mode, the video encoder performs the operation of dividing the current block into triangular sub-blocks and other subsequent operations in the above related examples; otherwise, these operations are not performed.

[00178] Чтобы определить, разрешить ли режим геометрического разделения с треугольным разделением, видеокодер может определять стоимость искажения скорости, соответствующую режиму геометрического разделения с треугольным разделением. Если стоимость искажения скорости, соответствующая режиму геометрического разделения с треугольным разделением, меньше стоимости искажения скорости, соответствующей каждому из других режимов, то может быть определено разрешить режим геометрического разделения с треугольным разделением; в противном случае может быть определено, что режим геометрического разделения с треугольным разделением не разрешен.[00178] To determine whether to enable the triangular division geometric separation mode, the video encoder may determine a rate distortion cost corresponding to the triangular division geometric division mode. If the rate distortion cost corresponding to the triangular separation geometric separation mode is less than the rate distortion cost corresponding to each of the other modes, it may be determined to enable the triangular separation geometric separation mode; otherwise, it may be determined that the geometric separation mode with triangular separation is not allowed.

[00179] Соответственно, кодированный битовый поток, отправленный видеокодером в декодер, может нести седьмую информацию индикации, где седьмая информация индикации указывает, что режим геометрического разделения с треугольным разделением разрешен.[00179] Accordingly, the encoded bitstream sent by the video encoder to the decoder may carry the seventh indication information, where the seventh indication information indicates that the triangular division geometric separation mode is enabled.

[00180] Видеодекодер сначала определяет, удовлетворяет ли текущий блок конкретным условиям для разрешения режима геометрического разделения с треугольным разделением. Если нет, принимается решение не использовать режим геометрического разделения с треугольным разделением, а использовать другой режим. Если да, видеодекодер может разрешать режим геометрического разделения с треугольным разделением по умолчанию, или видеодекодер конфигурирован для получения кодированного битового потока из кодера. Если кодированный битовый поток несет седьмую информацию индикации, может быть определено разрешить режим геометрического разделения с треугольным разделением; в противном случае может быть определено, что режим геометрического разделения с треугольным разделением не разрешен. Если видеодекодер разрешает режим геометрического разделения с треугольным разделением по умолчанию или решает разрешить режим геометрического разделения с треугольным разделением, видеодекодер выполняет операцию разделения текущего блока на треугольные субблоки и другие последующие операции в вышеупомянутых связанных примерах; в противном случае эти операции не выполняются.[00180] The video decoder first determines whether the current block satisfies specific conditions for enabling the triangular division geometric separation mode. If not, a decision is made not to use the geometric separation mode with triangular separation, but to use another mode. If so, the video decoder may enable the default triangular-separated geometric separation mode, or the video decoder is configured to receive an encoded bitstream from the encoder. If the encoded bitstream carries the seventh indication information, it may be determined to enable the geometric separation mode with triangular separation; otherwise, it may be determined that the geometric separation mode with triangular separation is not allowed. If the video decoder enables the default triangle-separated geometric separation mode or decides to enable the triangular-separated geometric separation mode, the video decoder performs the operation of dividing the current block into triangular sub-blocks and other subsequent operations in the above related examples; otherwise, these operations are not performed.

[00181] Вариант осуществления 10[00181] Embodiment 10

[00182] Видеокодер/видеодекодер также может хранить первую целевую информацию о движении и вторую целевую информацию о движении следующим образом. Если блок-кандидат, соответствующий первой целевой информации о движении, является блоком однонаправленного прогнозирования, первая целевая информация о движении сохраняется для первого треугольного субблока; если блок-кандидат, соответствующий первой целевой информации о движении, является блоком двунаправленного прогнозирования, первая целевая информация о движении и третья целевая информация о движении сохраняется для первого треугольного субблока, а третья целевая информация о движении является другой информацией о движении блока двунаправленного прогнозирования. Если блок-кандидат, соответствующий второй целевой информации о движении, является блоком однонаправленного прогнозирования, вторая целевая информация о движении сохраняется для второго треугольного субблока; если блок-кандидат, соответствующий второй целевой информации о движении, является блоком двунаправленного прогнозирования, вторая целевая информация о движении и четвертая целевая информация о движении сохраняется для второго треугольного субблока, а четвертая целевая информация о движении является другой информацией о движении двунаправленного блок прогнозирования.[00182] The video encoder/video decoder may also store the first target motion information and the second target motion information as follows. If the candidate block corresponding to the first target motion information is a unidirectional prediction block, the first target motion information is stored for the first triangular sub-block; if the candidate block corresponding to the first target motion information is a bidirectional prediction block, the first target motion information and the third target motion information are stored for the first triangular sub-block, and the third target motion information is other motion information of the bidirectional prediction block. If the candidate block corresponding to the second target motion information is a unidirectional prediction block, the second target motion information is stored for the second triangular sub-block; if the candidate block corresponding to the second target motion information is a bidirectional prediction block, the second target motion information and the fourth target motion information are stored for the second triangular sub-block, and the fourth target motion information is other motion information of the bidirectional prediction block.

[00183] Например, для первой области субблока, если первая целевая информация о движении первой области субблока является MV1, и MV1 исходит из блока R1 однонаправленного прогнозирования, то есть блок R1 однонаправленного прогнозирования является блоком-кандидатом текущего блока, а список информации о движении включает в себя информацию MV1 о движении блока R1 однонаправленного прогнозирования, и MV1 выбирается в качестве первой целевой информации о движении первой области субблока, тогда MV1 сохраняется для первой области субблока, как показано на фиг.7А. Для второй области субблока, если вторая целевая информация о движении второй области субблока является MV2, и MV2 исходит из блока R2 однонаправленного прогнозирования, то есть блок R2 однонаправленного прогнозирования является блоком-кандидатом текущего блока, и список информации о движении включает в себя информацию MV2 о движении блока R2 однонаправленного прогнозирования, и MV2 выбирается в качестве второй целевой информации о движении второй области субблока, тогда MV2 сохраняется для второй области субблока, как показано на фиг.7А.[00183] For example, for the first subblock area, if the first target motion information of the first subblock area is MV1, and MV1 comes from the unidirectional prediction block R1, that is, the unidirectional prediction block R1 is a candidate block of the current block, and the motion information list includes motion information MV1 of the unidirectional prediction block R1, and MV1 is selected as the first target motion information of the first subblock area, then MV1 is stored for the first subblock area, as shown in FIG. 7A. For the second sub-block area, if the second target motion information of the second sub-block area is MV2, and MV2 comes from the unidirectional prediction block R2, that is, the unidirectional prediction block R2 is a candidate block of the current block, and the motion information list includes information MV2 about motion of the unidirectional prediction block R2, and MV2 is selected as the second target motion information of the second subblock area, then MV2 is stored for the second subblock area, as shown in FIG. 7A.

[00184] В качестве другого примера для первой области субблока, если первая целевая информация о движении первой области субблока является MV1, и MV1 поступает из блока R3 двунаправленного прогнозирования, то есть блок R3 двунаправленного прогнозирования является блоком-кандидатом текущего блока, и список информации о движении включает в себя информацию MV1 и MV2 о движении блока R3 двунаправленного прогнозирования, и MV1 выбирается в качестве первой целевой информации о движении первой области субблока, тогда MV1 и MV2, а не только M1, сохраняются для первой области субблока, как показано на фиг.7B. Для второй области субблока, если вторая целевая информация о движении второй области субблока является MV3, и MV3 исходит из блока R4 двунаправленного прогнозирования, то есть блок R4 двунаправленного прогнозирования является блоком-кандидатом текущего блока, и список информации о движении включает в себя информацию MV3 и MV4 о движении блока R4 двунаправленного прогнозирования, и MV3 выбирается в качестве второй целевой информации о движении второй области субблока, тогда MV3 и MV4, а не только MV3, сохраняются для второй области субблока, как показано на фиг.7B.[00184] As another example, for the first sub-block area, if the first target motion information of the first sub-block area is MV1, and MV1 comes from the bidirectional prediction block R3, that is, the bidirectional prediction block R3 is a candidate block of the current block, and the list of information about motion information includes motion information MV1 and MV2 of the bi-directional prediction block R3, and MV1 is selected as the first target motion information of the first sub-block region, then MV1 and MV2, not only M1, are stored for the first sub-block region, as shown in FIG. 7B. For the second sub-block area, if the second target motion information of the second sub-block area is MV3, and MV3 comes from the bidirectional prediction block R4, that is, the bidirectional prediction block R4 is a candidate block of the current block, and the motion information list includes information MV3 and MV4 of the motion of the bidirectional prediction block R4, and MV3 is selected as the second target motion information of the second subblock area, then MV3 and MV4, not only MV3, are stored for the second subblock area, as shown in FIG. 7B.

[00185] В приведенных выше примерах, как показано на фиг.7A и 7B, информация о движении может храниться в модуле 4*4.[00185] In the above examples, as shown in FIGS. 7A and 7B, motion information may be stored in a 4*4 unit.

[00186] Вариант осуществления 11[00186] Embodiment 11

[00187] Этот пример настоящего раскрытия относится к видеодекодеру. На фиг.8 показана схематическая блок-схема видеодекодера. Как показано на фиг.8, видеодекодер может включать в себя процессор 81 и машиночитаемый носитель 82 информации. Машиночитаемый носитель 82 информации хранит машиноисполняемые инструкции, которые могут быть вызваны процессором 81. Когда процессор 81 вызывает машиноисполняемые инструкции, процессор 81 конфигурирован для осуществления способа декодирования видео согласно вышеупомянутым связанным примерам настоящего раскрытия.[00187] This example of the present disclosure relates to a video decoder. 8 is a schematic block diagram of a video decoder. As shown in FIG. 8, a video decoder may include a processor 81 and a computer readable medium 82. The computer-readable storage medium 82 stores computer-executable instructions that can be called by the processor 81. When the processor 81 calls the computer-executable instructions, the processor 81 is configured to perform the video decoding method according to the aforementioned related examples of the present disclosure.

[00188] Пример настоящего раскрытия также относится к видеокодеру. На фиг.9 показана схематическая блок-схема видеокодера. Как показано на фиг.9, видеокодер может включать в себя процессор 91 и машиночитаемый носитель 92 информации. Машиночитаемый носитель 92 информации хранит машиноисполняемые инструкции, которые могут быть вызваны процессором 91. Когда процессор 91 вызывает машиноисполняемые инструкции, процессор 91 конфигурирован для осуществления способа кодирования видео согласно вышеупомянутым связанным примерам настоящего раскрытия.[00188] An example of the present disclosure also applies to a video encoder. 9 is a schematic block diagram of a video encoder. As shown in FIG. 9, a video encoder may include a processor 91 and a computer-readable storage medium 92. The computer-readable storage medium 92 stores computer-executable instructions that can be called by the processor 91. When the processor 91 calls the computer-executable instructions, the processor 91 is configured to perform the video coding method according to the aforementioned related examples of the present disclosure.

[00189] Пример настоящего раскрытия также относится к машиночитаемому носителю информации, на котором хранятся компьютерные инструкции, и когда компьютерные инструкции выполняются процессором, процессор может осуществлять способ кодирования/декодирования видео из приведенных выше примеров.[00189] An example of the present disclosure also relates to a computer-readable storage medium that stores computer instructions, and when the computer instructions are executed by a processor, the processor can perform the video encoding/decoding method of the above examples.

[00190] Машиночитаемый носитель информации может быть электронным, магнитным, оптическим или другим физическим запоминающим устройством и может содержать или хранить информацию, такую как исполняемые инструкции, данные и так далее. Например, машиночитаемый носитель информации может включать в себя энергозависимую память (например, RAM (оперативное запоминающее устройство)), энергонезависимую память (например, флэш-память, накопитель (например, жесткий диск), твердотельный накопитель, оптический накопитель (например, CD-ROM (постоянное запоминающее устройство на компакт-диске), DVD (универсальный цифровой диск) и т. д.) или их комбинацию.[00190] A computer-readable storage medium may be an electronic, magnetic, optical, or other physical storage device and may contain or store information such as executable instructions, data, and so on. For example, a computer-readable storage medium may include volatile memory (eg, RAM (Random Access Memory)), non-volatile memory (eg, flash memory, storage (eg, hard drive), solid state drive, optical storage (eg, CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versatile Disc), etc.) or a combination of both.

[00191] Системы, устройства, модули или блоки, проиллюстрированные в приведенных выше примерах, могут быть реализованы с помощью компьютерных микросхем или объектов или реализованы продуктами с определенными функциями. Типичное устройство реализации представляет собой электронное устройство, включая, но не ограничиваясь этим: персональный компьютер, портативный компьютер, планшетный компьютер, сотовый телефон, камеру, смартфон, персональный цифровой помощник, медиаплеер, навигационное устройство, устройство приема и отправки электронной почты, игровую консоль, носимое устройство или любую их комбинацию.[00191] The systems, devices, modules, or blocks illustrated in the examples above may be implemented with computer chips or objects, or implemented in products with specific functions. A typical implementation device is an electronic device, including, but not limited to: a personal computer, a laptop computer, a tablet computer, a cellular phone, a camera, a smartphone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, a game console, wearable device or any combination thereof.

[00192] Для удобства описания при описании вышеупомянутого устройства функции разделены на различные модули. Однако при осуществлении настоящего раскрытия функции каждого модуля могут быть реализованы в одном или нескольких программных и/или аппаратных средствах.[00192] For convenience of description, when describing the above device, the functions are divided into various modules. However, in the practice of the present disclosure, the functions of each module may be implemented in one or more software and/or hardware.

[00193] Специалисту в данной области техники будет очевидно, что примеры настоящего раскрытия могут быть предоставлены как способы, системы или компьютерные программные продукты. Следовательно, настоящее раскрытие может принимать форму чисто аппаратной реализации, чисто программной реализации или реализации, объединяющей программное обеспечение и аппаратные средства.[00193] One skilled in the art will appreciate that examples of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of a purely hardware implementation, a purely software implementation, or an implementation combining software and hardware.

[00194] Настоящее раскрытие описано со ссылкой на структурные схемы и/или блок-схемы способов, устройств (систем) и компьютерных программных продуктов в соответствии с примерами настоящего раскрытия. Следует понимать, что каждый процесс и/или блок в структурной схеме и/или блок-схеме может быть реализован с помощью инструкций компьютерной программы. Эти инструкции компьютерной программы могут быть предоставлены процессору универсального компьютера, специализированного компьютера, встроенного процессора или другого программируемого устройства обработки данных, так что инструкции компьютерной программы выполняются процессором для создания устройства для осуществления функций, указанных в одном или нескольких процессах в структурной схеме и/или в одном или нескольких блоках блок-схемы.[00194] The present disclosure has been described with reference to block diagrams and/or block diagrams of methods, devices (systems), and computer program products in accordance with examples of the present disclosure. It should be understood that each process and/or block in the block diagram and/or block diagram may be implemented using computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, a specialized computer, an embedded processor, or other programmable data processing device, such that the computer program instructions are executed by the processor to create a device to perform the functions specified in one or more of the processes in the block diagram and/or in one or more blocks of the flowchart.

[00195] Приведенные выше описания являются лишь некоторыми примерами настоящего раскрытия и не используются для ограничения настоящего раскрытия. Для специалиста в данной области техники настоящее раскрытие может иметь различные модификации и изменения. Любая модификация, эквивалентная замена, улучшение и т. д., выполненные без выхода за пределы сущности и принципа настоящего раскрытия, должны быть включены в объем правовой охраны формулы изобретения настоящего раскрытия.[00195] The above descriptions are only some examples of the present disclosure and are not used to limit the present disclosure. For a person skilled in the art, the present disclosure may have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made without departing from the spirit and principle of the present disclosure shall be included within the scope of the claims of the present disclosure.

Claims (62)

1. Способ декодирования, содержащий:1. A decoding method, comprising: когда характеристическая информация текущего блока удовлетворяет конкретным условиям, выполнение следующих этапов:when the characteristic information of the current block satisfies the specific conditions, perform the following steps: получение первой целевой информации о движении и второй целевой информации о движении текущего блока, причем первая целевая информация о движении отличается от второй целевой информации о движении; иobtaining first target motion information and second target motion information of the current block, wherein the first target motion information is different from the second target motion information; And осуществление процесса декодирования на текущем блоке на основе первой целевой информации о движении и второй целевой информации о движении;performing a decoding process on the current block based on the first target motion information and the second target motion information; причем характеристическая информация, по меньшей мере, содержит тип текущего слайса, в котором расположен текущий блок, режим информации о движении текущего блока и информацию о размере текущего блока;moreover, the characteristic information at least contains the type of the current slice in which the current block is located, the mode of information about the movement of the current block and information about the size of the current block; причем осуществление процесса декодирования на текущем блоке на основе первой целевой информации о движении и второй целевой информации о движении содержит: осуществление компенсации движения на текущем блоке на основе первой целевой информации о движении и второй целевой информации о движении для получения значения прогнозирования текущего блока;wherein performing the decoding process on the current block based on the first target motion information and the second target motion information comprises: performing motion compensation on the current block based on the first target motion information and the second target motion information to obtain a prediction value of the current block; причем значение прогнозирования текущего блока, по меньшей мере, содержит значение прогнозирования первой области субблока, значение прогнозирования второй области субблока и значение прогнозирования третьей области субблока;wherein the prediction value of the current block at least comprises a prediction value of the first sub-block area, a prediction value of the second sub-block area, and a prediction value of the third sub-block area; причем значение прогнозирования первой области субблока получают путем выполнения компенсации движения на первой области субблока на основе первой целевой информации о движении, значение прогнозирования второй области субблока получают путем выполнения компенсации движения на второй области субблока на основе второй целевой информации о движении, а значение прогнозирования третьей области субблока получают путем выполнения взвешенной компенсации на третьей области субблока на основе первой целевой информации о движении и второй целевой информации о движении;wherein the prediction value of the first subblock area is obtained by performing motion compensation on the first subblock area based on the first target motion information, the prediction value of the second subblock area is obtained by performing motion compensation on the second subblock area based on the second target motion information, and the prediction value of the third area the subblock is obtained by performing weighted compensation on the third area of the subblock based on the first target motion information and the second target motion information; причем значение прогнозирования третьей области субблока содержит значения прогнозирования всех субблоков в третьей области субблока, и каждый субблок в третьей области субблока представляет собой блок пикселей 1*1,wherein the prediction value of the third sub-block area contains the prediction values of all sub-blocks in the third sub-block area, and each sub-block in the third sub-block area is a block of 1*1 pixels, получение значения прогнозирования третьей области субблока путем выполнения взвешенной компенсации на третьей области субблока на основе первой целевой информации о движении и второй целевой информации о движении содержит:obtaining a prediction value of the third area of the subblock by performing weighted compensation on the third area of the subblock based on the first target motion information and the second target motion information, comprising: для каждого субблока в третьей области субблока,for each subblock in the third subblock area, определение первого значения прогнозирования субблока на основе первой целевой информации о движении;determining a first sub-block prediction value based on the first target motion information; определение второго значения прогнозирования субблока на основе второй целевой информации о движении; иdetermining a second sub-block prediction value based on the second target motion information; And получение взвешенного значения прогнозирования субблока на основе первого значения прогнозирования, первого весового коэффициента, соответствующего первому значению прогнозирования, второго значения прогнозирования и второго весового коэффициента, соответствующего второму значению прогнозирования,obtaining a weighted sub-block prediction value based on the first prediction value, the first weight coefficient corresponding to the first prediction value, the second prediction value, and the second weight coefficient corresponding to the second prediction value, причем взвешенное значение прогнозирования субблока равно Р1*a+Р2*b, когда первое значение прогнозирования равно Р1, второе значение прогнозирования равно Р2, первый весовой коэффициент равен a, а второй весовой коэффициент равен b;wherein the sub-block prediction weighted value is P1*a+P2*b when the first prediction value is P1, the second prediction value is P2, the first weight is a, and the second weight is b; причем набор значений первого весового коэффициента для компонента яркости каждого субблока в третьей области субблока представляет собой {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8};wherein the set of first weight values for the luminance component of each subblock in the third subblock area is {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8}; причем условие удовлетворения характеристической информации текущего блока конкретным условиям по меньшей мере содержит:and the condition of satisfaction of the characteristic information of the current block to specific conditions at least contains: тип текущего слайса, в котором расположен текущий блок, равен В;the type of the current slice in which the current block is located is equal to B; ширина текущего блока больше или равна 8, высота текущего блока больше или равна 8.the width of the current box is greater than or equal to 8, the height of the current box is greater than or equal to 8. 2. Способ декодирования по п. 1, в котором, когда текущий блок разрешает общий режим слияния режима разделения субблоков или общий режим слияния режима множества гипотез с слиянием вне изображения и прогнозированием внутри изображения, характеристическая информация текущего блока не удовлетворяет конкретным условиям.2. The decoding method according to claim 1, wherein when the current block enables the common fusion mode of the sub-block separation mode or the common fusion mode of the multiple hypothesis mode with out-of-picture fusion and in-picture prediction, the characteristic information of the current block does not satisfy specific conditions. 3. Способ декодирования по п. 1, в котором первая целевая информация о движении и вторая целевая информация о движении являются, соответственно, информацией о движении первого треугольного субблока и второго треугольного субблока, полученных путем разделения текущего блока,3. The decoding method according to claim 1, wherein the first target motion information and the second target motion information are, respectively, the motion information of the first triangular sub-block and the second triangular sub-block obtained by dividing the current block, когда характеристическая информация текущего блока удовлетворяет конкретным условиям, выполняемые этапы дополнительно содержат:when the characteristic information of the current block satisfies the specific conditions, the steps to be performed further comprise: разделение текущего блока на первый треугольный субблок и второй треугольный субблок на основе метода разделения, указанного посредством информации индикации.dividing the current block into a first triangular subblock and a second triangular subblock based on a partitioning method indicated by the indication information. 4. Способ декодирования по п. 3, в котором разделение текущего блока на первый треугольный субблок и второй треугольный субблок на основе метода разделения, указанного посредством информации индикации, содержит:4. The decoding method according to claim 3, wherein dividing the current block into a first triangular subblock and a second triangular subblock based on a partitioning method indicated by the indication information comprises: разделение текущего блока на первый треугольный субблок и второй треугольный субблок с помощью первого диагонального метода, когда способ разделения, указанный посредством информации индикации, указывает, что разрешено разделение текущего блока с помощью первого диагонального метода; илиdividing the current block into a first triangular sub-block and a second triangular sub-block by the first diagonal method, when the division method indicated by the indication information indicates that division of the current block by the first diagonal method is allowed; or разделение текущего блока на первый треугольный субблок и второй треугольный субблок с помощью второго диагонального метода, когда метод разделения, указанный посредством информации индикации, указывает, что разрешено разделение текущего блока с помощью второго диагонального метода.dividing the current block into a first triangular sub-block and a second triangular sub-block with the second diagonal method, when the partitioning method indicated by the indication information indicates that the division of the current block with the second diagonal method is allowed. 5. Способ декодирования по п. 1, в котором каждый субблок в третьей области субблока содержит компонент яркости,5. The decoding method according to claim 1, wherein each subblock in the third region of the subblock contains a luminance component, причем для компонента яркости,and for the brightness component, первое значение прогнозирования - это значение прогнозирования компонента яркости, определенное на основе первой целевой информации о движении,the first prediction value is a luminance component prediction value determined based on the first target motion information, второе значение прогнозирования - это значение прогнозирования компонента яркости, определенное на основе второй целевой информации о движении, иthe second prediction value is a luminance component prediction value determined based on the second target motion information, and взвешенное значение прогнозирования субблока - это взвешенное значение прогнозирования компонента яркости.the sub-block prediction weighted value is the luminance component prediction weighted value. 6. Способ декодирования по п. 1, в котором каждый субблок в третьей области субблока содержит компонент насыщенности,6. The decoding method according to claim 1, wherein each subblock in the third region of the subblock contains a saturation component, причем для компонента насыщенности,and for the saturation component, первое значение прогнозирования - это значение прогнозирования компонента насыщенности, определенное на основе первой целевой информации о движении,the first prediction value is a saturation component prediction value determined based on the first target motion information, второе значение прогнозирования - это значение прогнозирования компонента насыщенности, определенное на основе второй целевой информации о движении, иthe second prediction value is a saturation component prediction value determined based on the second target motion information, and взвешенное значение прогнозирования субблока - это взвешенное значение прогнозирования компонента насыщенности, которое определяется на основе первого значения прогнозирования, второго значения прогнозирования, первого весового коэффициента и второго весового коэффициента.the sub-block prediction weighted value is a saturation component prediction weighted value, which is determined based on the first prediction value, the second prediction value, the first weight coefficient, and the second weight coefficient. 7. Способ декодирования по п. 3, в котором для каждого субблока в третьей области субблока,7. The decoding method according to claim 3, wherein for each subblock in the third region of the subblock, когда субблок расположен в первом треугольном субблоке, первый весовой коэффициент больше второго весового коэффициента;when the sub-block is located in the first triangular sub-block, the first weight coefficient is greater than the second weight coefficient; когда субблок расположен во втором треугольном субблоке, первый весовой коэффициент меньше второго весового коэффициента;when the sub-block is located in the second triangular sub-block, the first weight is less than the second weight; когда субблок расположен на линии раздела, первый весовой коэффициент равен второму весовому коэффициенту.when the subblock is located on the dividing line, the first weighting factor is equal to the second weighting factor. 8. Способ кодирования, содержащий:8. An encoding method, comprising: когда характеристическая информация текущего блока удовлетворяет конкретным условиям, выполнение следующих этапов:when the characteristic information of the current block satisfies the specific conditions, perform the following steps: получение первой целевой информации о движении и второй целевой информации о движении текущего блока, причем первая целевая информация о движении отличается от второй целевой информации о движении; иobtaining first target motion information and second target motion information of the current block, wherein the first target motion information is different from the second target motion information; And осуществление процесса кодирования на текущем блоке на основе первой целевой информации о движении и второй целевой информации о движении;performing an encoding process on the current block based on the first target motion information and the second target motion information; причем характеристическая информация, по меньшей мере, содержит тип текущего слайса, в котором расположен текущий блок, режим информации о движении текущего блока и информацию о размере текущего блока;moreover, the characteristic information at least contains the type of the current slice in which the current block is located, the mode of information about the movement of the current block and information about the size of the current block; причем осуществление процесса кодирования на текущем блоке на основе первой целевой информации о движении и второй целевой информации о движении содержит: осуществление компенсации движения на текущем блоке на основе первой целевой информации о движении и второй целевой информации о движении для получения значения прогнозирования текущего блока;wherein performing the encoding process on the current block based on the first target motion information and the second target motion information comprises: performing motion compensation on the current block based on the first target motion information and the second target motion information to obtain a prediction value of the current block; причем значение прогнозирования текущего блока, по меньшей мере, содержит значение прогнозирования первой области субблока, значение прогнозирования второй области субблока и значение прогнозирования третьей области субблока;wherein the prediction value of the current block at least comprises a prediction value of the first sub-block area, a prediction value of the second sub-block area, and a prediction value of the third sub-block area; причем значение прогнозирования первой области субблока получают путем выполнения компенсации движения на первой области субблока на основе первой целевой информации о движении, значение прогнозирования второй области субблока получают путем выполнения компенсации движения на второй области субблока на основе второй целевой информации о движении, а значение прогнозирования третьей области субблока получают путем выполнения взвешенной компенсации на третьей области субблока на основе первой целевой информации о движении и второй целевой информации о движении; иwherein the prediction value of the first subblock area is obtained by performing motion compensation on the first subblock area based on the first target motion information, the prediction value of the second subblock area is obtained by performing motion compensation on the second subblock area based on the second target motion information, and the prediction value of the third area the subblock is obtained by performing weighted compensation on the third area of the subblock based on the first target motion information and the second target motion information; And значение прогнозирования третьей области субблока содержит значения прогнозирования всех субблоков в третьей области субблока, и каждый субблок в третьей области субблока представляет собой блок пикселей 1*1,the prediction value of the third sub-block area contains the prediction values of all sub-blocks in the third sub-block area, and each sub-block in the third sub-block area is a block of 1*1 pixels, получение значения прогнозирования третьей области субблока путем выполнения взвешенной компенсации на третьей области субблока на основе первой целевой информации о движении и второй целевой информации о движении содержит:obtaining a prediction value of the third area of the subblock by performing weighted compensation on the third area of the subblock based on the first target motion information and the second target motion information, comprising: для каждого субблока в третьей области субблока,for each subblock in the third subblock area, определение первого значения прогнозирования субблока на основе первой целевой информации о движении;determining a first sub-block prediction value based on the first target motion information; определение второго значения прогнозирования субблока на основе второй целевой информации о движении; иdetermining a second sub-block prediction value based on the second target motion information; And получение взвешенного значения прогнозирования субблока на основе первого значения прогнозирования, первого весового коэффициента, соответствующего первому значению прогнозирования, второго значения прогнозирования и второго весового коэффициента, соответствующего второму значению прогнозирования,obtaining a weighted sub-block prediction value based on the first prediction value, the first weight coefficient corresponding to the first prediction value, the second prediction value, and the second weight coefficient corresponding to the second prediction value, причем взвешенное значение прогнозирования субблока равно Р1*a+Р2*b, когда первое значение прогнозирования равно Р1, второе значение прогнозирования равно Р2, первый весовой коэффициент равен a, а второй весовой коэффициент равен b;wherein the sub-block prediction weighted value is P1*a+P2*b when the first prediction value is P1, the second prediction value is P2, the first weight is a, and the second weight is b; причем набор значений первого весового коэффициента для компонента яркости каждого субблока в третьей области субблока представляет собой {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8};wherein the set of first weight values for the luminance component of each subblock in the third subblock area is {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8}; причем условие удовлетворения характеристической информации текущего блока конкретным условиям по меньшей мере содержит:and the condition of satisfaction of the characteristic information of the current block to specific conditions at least contains: тип текущего слайса, в котором расположен текущий блок, равен В;the type of the current slice in which the current block is located is equal to B; ширина текущего блока больше или равна 8, высота текущего блока больше или равна 8.the width of the current box is greater than or equal to 8, the height of the current box is greater than or equal to 8. 9. Способ кодирования по п. 8, в котором, когда текущий блок разрешает общий режим слияния режима разделения субблоков или общий режим слияния режима множества гипотез с слиянием вне изображения и прогнозированием внутри изображения, характеристическая информация текущего блока не удовлетворяет конкретным условиям.9. The coding method according to claim 8, wherein when the current block enables the common fusion mode of the sub-block separation mode or the common fusion mode of the multiple hypothesis mode with out-of-picture fusion and in-picture prediction, the characteristic information of the current block does not satisfy specific conditions. 10. Устройство декодирования, содержащее процессор и машиночитаемый носитель информации, причем машиночитаемый носитель информации хранит машиноисполняемые инструкции, которые вызываются процессором; причем, когда процессор вызывает инструкции, процессор конфигурирован для осуществления способа по любому из пп. 1-7.10. A decoding device, comprising a processor and a computer-readable storage medium, and the computer-readable storage medium stores machine-executable instructions that are called by the processor; moreover, when the processor calls instructions, the processor is configured to implement the method according to any one of paragraphs. 1-7. 11. Устройство кодирования, содержащее процессор и машиночитаемый носитель информации, причем машиночитаемый носитель информации хранит машиноисполняемые инструкции, которые вызываются процессором; причем, когда процессор вызывает инструкции, процессор конфигурирован для осуществления способа по п. 8 или 9.11. An encoding device, comprising a processor and a computer-readable storage medium, and the computer-readable storage medium stores machine-executable instructions that are called by the processor; wherein when the processor calls instructions, the processor is configured to perform the method of claim 8 or 9.
RU2022119590A 2018-12-28 2019-12-11 Video coding and decoding RU2793275C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811628695.2 2018-12-28
CN201811628695 2018-12-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2021118628A Division RU2776941C1 (en) 2018-12-28 2019-12-11 Video encoding and decoding

Publications (2)

Publication Number Publication Date
RU2022119590A RU2022119590A (en) 2022-08-16
RU2793275C2 true RU2793275C2 (en) 2023-03-30

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RU-LING LIAO et al., CE10.3.1.b: Triangular prediction unit mode, Joint Video Exploration Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG, 11 JVET-L0124-v2, 12th Meeting: Macao, 03-12 Oct. 2018. YONGJO AHN et al., CE10-related: Diagonal motion partitions on top of MTT block structure, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0270, 11th Meeting: Ljubljana, 10-18 July 2018. WO 2018106047 A1 - 2018.06.14. US 2016286230 A1 - 2016.09.29. US 2013266070 A1 - 2013.10.10. RU 2604330 C2 - 2016.12.10. *

Similar Documents

Publication Publication Date Title
US11889072B2 (en) Video encoding and decoding
RU2793275C2 (en) Video coding and decoding
RU2776941C1 (en) Video encoding and decoding