RU2771955C2 - Device, equipment, method for encoding and decoding video images - Google Patents

Device, equipment, method for encoding and decoding video images Download PDF

Info

Publication number
RU2771955C2
RU2771955C2 RU2020110025A RU2020110025A RU2771955C2 RU 2771955 C2 RU2771955 C2 RU 2771955C2 RU 2020110025 A RU2020110025 A RU 2020110025A RU 2020110025 A RU2020110025 A RU 2020110025A RU 2771955 C2 RU2771955 C2 RU 2771955C2
Authority
RU
Russia
Prior art keywords
affine
length
image
motion compensation
block
Prior art date
Application number
RU2020110025A
Other languages
Russian (ru)
Other versions
RU2020110025A (en
RU2020110025A3 (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
Priority claimed from CN201710687117.5A external-priority patent/CN109391814B/en
Application filed by Хуавей Текнолоджиз Ко., Лтд. filed Critical Хуавей Текнолоджиз Ко., Лтд.
Publication of RU2020110025A publication Critical patent/RU2020110025A/en
Publication of RU2020110025A3 publication Critical patent/RU2020110025A3/ru
Application granted granted Critical
Publication of RU2771955C2 publication Critical patent/RU2771955C2/en

Links

Images

Abstract

FIELD: encoding/decoding.
SUBSTANCE: invention relates to means for encoding and decoding video images. The difference of a motion vector of an image affine block is determined. The accuracy of the motion vector of the image affine block is determined. The size of an affine subblock of a motion compensation image in the image affine block is determined based on the difference of the motion vector, the accuracy of the motion vector, the distance between control points in the image affine block and the size of the image affine block. In this case, the size contains a length in the horizontal direction and a length in the vertical direction, wherein the length of the image affine block in the horizontal direction is an integer multiple of the length of the affine subblock of the motion compensation image in the horizontal direction, and the length of the image affine block in the vertical direction is an integer multiple of the length of the affine subblock of the motion compensation image in the vertical direction; and control points, which are pixels used to determine the difference of the motion vector.
EFFECT: increase in the efficiency of encoding video images.
38 cl, 21 dwg, 1 tbl

Description

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

Настоящее изобретение относится к области обработки видеоизображения и, в частности, к способу кодирования видеоизображения, способу декодирования видеоизображения, оборудованию для кодирования видеоизображения, оборудованию для декодирования видеоизображения, устройству кодирования и устройству декодирования.The present invention relates to the field of video processing, and more particularly to a video encoding method, a video decoding method, a video encoding equipment, a video decoding equipment, an encoding apparatus, and a decoding apparatus.

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

В связи с быстрым развитием интернет-технологий, посредством которых удовлетворяют все больше и больше материальных и духовных запросов людей, в настоящее время наблюдают растущий спрос интернет-видео приложений, особенно для видео приложений высокой четкости. Тем не менее, видео высокой четкости, имеет довольно большой объем данных. Для передачи видео высокой четкости по сети интернет с ограниченной пропускной способностью необходимо, прежде всего, решить техническую задачу сжатия и кодирования видео высокой четкости. В настоящее время усовершенствование стандартов видео кодирования осуществляют две международные организации: Экспертная группа по движущемуся изображения (Motion Picture Experts Group, «MPEG» для краткости) международной организации по стандартизации (International Organization for Standardization, «ISO» для краткости)/Международная электротехническая комиссия (International Electrotechnical, «IEC» для краткости) и Экспертная группа по кодированию видео (Video Coding Experts Group, «VCEG» для краткости) международного союза электросвязи-сектора стандартизации электросвязи (International Telecommunication Union-Telecommunication Standardization Sector, «ITU-T» для краткости). MPEG, созданная в 1986 году, специализируется на разработке соответствующих стандартов, которые, в основном, применяют для хранения, телевизионного вещания, потокового мультимедиа в интернете или беспроводной сети и тому подобное в области мультимедиа. ITU-T, в основном, разрабатывает стандарты кодирования видео для передачи видео в режиме реального времени, таких как видеотелефоны, видеоконференции или других приложений.Due to the rapid development of Internet technology, through which more and more people's material and spiritual needs are met, there is now a growing demand for Internet video applications, especially for high-definition video applications. However, high-definition video has a fairly large amount of data. To transmit high-definition video over the Internet with limited bandwidth, it is necessary, first of all, to solve the technical problem of compressing and encoding high-definition video. Currently, two international organizations are leading the way in improving video coding standards: the Motion Picture Experts Group (MPEG for short) of the International Organization for Standardization (ISO for short)/International Electrotechnical Commission ( International Electrotechnical, “IEC” for short) and the Video Coding Experts Group (“VCEG” for short) of the International Telecommunication Union-Telecommunication Standardization Sector, “ITU-T” for short ). MPEG, founded in 1986, specializes in the development of related standards, which are mainly applied to storage, television broadcast, Internet media streaming or wireless network, and the like in the field of multimedia. ITU-T mainly develops video coding standards for real-time video transmission such as video phones, video conferencing or other applications.

В последние десятилетия были успешно разработаны на международном уровне конкретные стандарты кодирования видео для различных приложений, в основном, включающие в себя: MPEG-1 стандарт для компакт-диска видео (Video Compact Disc «VCD» для краткости), MPEG-2 стандарт для цифрового видеодиска (Digital Video Disc, «DVD» для краткости) и цифрового телевизионного вещания (Digital Video Broadcasting, «DVB» для краткости), H.261 стандарт, H.263 стандарт и H.264 стандарт для видеоконференции, MPEG-4 стандарт, позволяющий кодировать объект в любой форме, и последний стандарт кодирования видео высокой эффективности (High Efficiency Video Coding, «HEVC» для краткости).In recent decades, specific video coding standards have been successfully developed internationally for various applications, mainly including: MPEG-1 standard for video compact disc (Video Compact Disc "VCD" for short), MPEG-2 standard for digital video disc (Digital Video Disc, "DVD" for short) and digital television broadcasting (Digital Video Broadcasting, "DVB" for short), H.261 standard, H.263 standard and H.264 videoconferencing standard, MPEG-4 standard, allowing to encode an object in any form, and the latest high efficiency video coding standard (High Efficiency Video Coding, "HEVC" for short).

В соответствии с обоими стандартом кодирования видео H.264 и последним стандартом кодирования видео HEVC, которые широко используются в настоящее время, выполняют различные типы операций кодирования такие, как блочное предсказание, преобразование и энтропийного кодирование с помощью блока изображения в качестве базового блока. Блок изображения представляет собой двумерный массив точки выборки, который может представлять собой квадратный массив или прямоугольный массив. Например, блок изображения размером 4x4 может рассматриваться как квадратный массив точки выборки, включающий в себя в общей сложности 4 × 4, то есть 16 точек выборки. Как показано на фиг.1, блок изображения может быть обозначен как В. Сигнал блока изображения является значением выборки точки выборки в блоке изображения, и может быть представлен в виде

Figure 00000001
, где
Figure 00000002
представляет координаты каждой точки выборки в блоке изображения. Аналогичным образом, изображение может быть также представлено в виде двумерного массива точки выборки и обозначается с помощью способа, аналогичного способу, используемому для блока изображения. Кроме того, точка выборки также может упоминаться как пиксель, и должна быть использована без различия в данном описании настоящего изобретения.According to both the H.264 video coding standard and the latest HEVC video coding standard, which are widely used at present, various types of coding operations such as block prediction, transformation, and entropy coding are performed using an image block as a basic block. The image block is a two-dimensional sample point array, which can be a square array or a rectangular array. For example, a 4x4 image block can be considered as a square sample point array including a total of 4×4, ie 16 sample points. As shown in Fig. 1, the image block may be denoted as B. The image block signal is the sample value of the sample point in the image block, and may be represented as
Figure 00000001
, where
Figure 00000002
represents the coordinates of each sample point in the image block. Similarly, an image may also be represented as a two-dimensional sample point array and denoted in a manner similar to that used for an image block. In addition, a sampling point may also be referred to as a pixel, and should be used without distinction in this description of the present invention.

Видеопоследовательность включает в себя изображения, расположенные кадр за кадром. Как правило, генерируют последовательные изображения в довольно коротком временном интервале, и изображения изменяются незначительно. Следовательно, существует небольшая разница между последовательными изображениями. Таким образом, может быть закодировано только различие между текущим изображением и опорным изображением на основании временной корреляции между последовательными изображениями. Опорное изображение, как правило, является восстановленным кодированным изображением, время генерирования которого близко к текущему изображению. Таким образом, объем информации, подлежащей кодированию, уменьшается, и достигают эффект сжатия сигнала. В технологии кодирования видео этот тип способа упоминаются, как технология кодирования межкадрового предсказания, и технология широко используются в современных стандартах кодирования видео. Фиг. 2 показывает архитектуру кодирования межкадрового предсказания. Изображение, подлежащее кодированию, которое обычно представляет собой покадровое изображение видео, поступает на вход и делится на блоки изображения, которые не перекрываются друг с другом. Кодер получает вектор движения блока изображения на основании оценки движения, и кодер получает посредством компенсации движения сигнал предсказания с компенсацией движения блока изображения с использованием вектора движения блока изображения. Затем сигнал предсказания с компенсацией движения вычитается из исходного сигнала блока изображения для получения остаточного сигнала предсказания. После прохождения преобразования, квантования и энтропийного кодирования, остаточный сигнал предсказания записывается в битовый поток. В процессе кодирования, если полученный сигнал предсказания с компенсацией движения блока изображения является более точным, то количество полученных остаточных сигналов предсказания меньше, количество бит, которые должны быть закодированы, меньше, и коэффициент сжатия блока изображения выше.The video sequence includes images arranged frame by frame. As a rule, successive images are generated in a fairly short time interval, and the images do not change much. Therefore, there is little difference between successive images. Thus, only the difference between the current picture and the reference picture can be encoded based on the temporal correlation between successive pictures. The reference picture is typically a reconstructed encoded picture whose generation time is close to the current picture. Thus, the amount of information to be encoded is reduced and a signal compression effect is achieved. In video coding technology, this type of method is referred to as inter-picture prediction coding technology, and the technology is widely used in modern video coding standards. Fig. 2 shows an inter prediction coding architecture. The image to be encoded, which is usually a frame-by-frame video image, is input and divided into image blocks that do not overlap with each other. The encoder obtains a motion vector of the image block based on the motion estimate, and the encoder obtains, by motion compensation, a motion compensation prediction signal of the image block using the motion vector of the image block. Then, the motion-compensated prediction signal is subtracted from the original image block signal to obtain a prediction residual signal. After undergoing transformation, quantization, and entropy encoding, the prediction residual signal is written to the bit stream. In the encoding process, if the received picture block motion compensation prediction signal is more accurate, the number of obtained prediction residual signals is smaller, the number of bits to be encoded is smaller, and the compression ratio of the picture block is higher.

Для получения оценки движения из опорного изображения с использованием текущего блока

Figure 00000003
изображения, блока
Figure 00000004
изображения, который имеет такой же размер, и который наилучшим образом соответствует текущему блоку изображения. Смещение местоположения блока
Figure 00000003
изображения относительно
Figure 00000004
в пространстве, называют вектором движения блока
Figure 00000003
изображения. Компенсация движения представляет собой процесс получения сигнала предсказания из опорного изображения на основании вектора движения блока
Figure 00000003
изображения. Полученный сигнал упоминается как сигнал предсказания с компенсацией движения.To obtain a motion estimate from a reference image using the current block
Figure 00000003
images, block
Figure 00000004
an image that is the same size and that best fits the current image block. Block location offset
Figure 00000003
images regarding
Figure 00000004
in space is called the motion vector of the block
Figure 00000003
Images. Motion compensation is the process of deriving a prediction signal from a reference image based on the motion vector of the block
Figure 00000003
Images. The received signal is referred to as a motion-compensated prediction signal.

Сторона декодера выполняет де-квантование и обратное преобразование на остаточном сигнале предсказания блока изображения, чтобы получить восстановленный остаточный сигнал, а затем получает сигнал предсказания с компенсацией движения из опорного изображения посредством предсказания с компенсацией движения на основе вектора движения блока изображения, и может получить восстановленный сигнал блока изображения путем суммирования сигнала предсказания с компенсацией движения и восстановленного остаточного сигнала блока изображения.The decoder side performs de-quantization and inverse transformation on the prediction residual signal of the picture block to obtain the reconstructed residual signal, and then obtains the motion compensation prediction signal from the reference picture by motion compensation prediction based on the motion vector of the picture block, and can obtain the recovered signal. of the image block by summing the motion compensation prediction signal and the reconstructed image block residual signal.

Фиг.3 показывает деление блока изображения и взаимосвязь между блоком изображения и вектором движения. Изображение

Figure 00000005
в момент
Figure 00000006
делят на блоки изображения, которые имеют различные размеры и которые не перекрываются друг с другом. Стрелка в каждом блоке изображения схематически представляет вектор движения, определяемый стороной кодера, и длина, и направление, соответственно, представляют интенсивность движения и направление движения текущего блока изображения. Вектор движения каждого блока изображения применяется ко всем точкам выборки в блоке изображения. Более конкретно, сигнал предсказания каждого блока изображения получают из указанного опорного изображения для всех точек выборки в блоке изображения на основе смещения местоположения, представленного вектором движения.3 shows the division of the image block and the relationship between the image block and the motion vector. Image
Figure 00000005
in the moment
Figure 00000006
divide into image blocks that have different sizes and that do not overlap with each other. An arrow in each image block schematically represents a motion vector defined by the encoder side, and the length and direction respectively represent the motion intensity and motion direction of the current image block. The motion vector of each image block is applied to all sample points in the image block. More specifically, the prediction signal of each image block is obtained from the specified reference image for all sample points in the image block based on the location offset represented by the motion vector.

Предсказание с компенсацией движения на основании блочной структуры больше подходит для реализации в программном обеспечении и аппаратном обеспечении и имеет низкую сложность, и может обеспечить сравнительно высокую эффективность сжатия при ограничении вычислительных ресурсов. Тем не менее, есть и некоторые недостатки. Так, например, в способе, один вектор движения используется для указания движения всех пикселей в блоке изображения. Когда все пиксели имеют одинаковое направление движения и тот же размер, к примеру, в поступательном движении, способ может быть использован для точного указания движения всех пикселей. Когда пиксели в блоке изображения имеют разные направления движения или размеры, например, в движениях, таких как масштабирование и поворот, способ не может быть использован для точного указания движения всех пикселей. Следовательно, не может быть получен точный сигнал предсказания и производительность сжатия ухудшается.Motion-compensated prediction based on the block structure is more suitable for implementation in software and hardware, and has low complexity, and can achieve relatively high compression efficiency while limiting computing resources. However, there are also some disadvantages. So, for example, in the method, one motion vector is used to indicate the motion of all pixels in an image block. When all pixels have the same direction of motion and the same size, such as in translational motion, the method can be used to accurately indicate the motion of all pixels. When pixels in an image block have different directions of movement or sizes, such as in movements such as zoom and rotate, the method cannot be used to accurately indicate the movement of all pixels. Therefore, an accurate prediction signal cannot be obtained, and compression performance is degraded.

Для устранения недостатков существующей технологии предсказания с компенсацией движения, предложена технология предсказания с компенсацией движения на основе поля вектора движения, изменяющееся линейно. Поле вектора движения является полем вектора движения блока изображения. Блок изображения разделяется на более мелкие субблоки. Субблок может быть таким же малоразмерным, как пиксель и таким же большим как исходный блок. Каждый субблок имеет вектор движения. Векторы движения всех субблоков в блоке изображения образуют поле вектора движения блока изображения. Поле вектора движения блока изображения может изменяться линейно или нелинейно. То, что поле вектора движения блока изображения изменяется линейно означает, что векторы движения соседних субблоков в блоке изображения изменяются равномерно. Если векторы движения соседних блоков в блоке изменении изображения изменяются неравномерно, то поле вектора движения блока изображения изменяется нелинейно. Эта спецификация ориентирована, главным образом, на технологию предсказания с компенсацией движения на основе поля вектора движения, которое изменяется по линейному закону. В документе с названием «Получение вектора движения деформируемого блока» (Image Processing (ICIP), 2012 19th IEEE International Conference, pp.1549-1552, September 30 2012 to October 3 2012) предложенный Na Zhang, Xiaopeng Fan, Debin Zhao и Wen Gao, где используют четыре вершины в блоке изображения в качестве контрольных точек, и выполняют способ билинейной интерполяции на векторах движения четырех точек управления для получения вектора движения каждого 4x4 блока в блоке изображения. Векторы движения четырех вершин в блоке изображения получают на основании векторов движения окружающих блоков изображения, и векторы движения всех 4x4 блоков образуют поле вектора движения блока изображения. Затем, получают сигнал предсказания с компенсацией движения блока изображения из опорного изображения на основе поля вектора движения. В технологии предсказания с компенсацией движения на основе поля вектора движения, размер блока, имеющий независимый вектор движения, уменьшается, непоступательные движения, такие как поворот и масштабирование, могут быть указаны более точно и может быть получен более точный сигнал предсказания с компенсацией движения. Вышеизложенное поле вектора движения получают путем выполнения билинейной интерполяции векторов движения контрольных точек, и поле вектора движения удовлетворяет билинейной модели. Билинейная интерполяция представляет собой математический способ интерполяции. Со ссылкой на фиг.4, далее приведено описание конкретного способа интерполяции:To eliminate the shortcomings of the existing motion-compensated prediction technology, a motion-compensated prediction technology based on a linearly varying motion vector field is proposed. The motion vector field is the motion vector field of the image block. The image block is divided into smaller sub-blocks. A subblock can be as small as a pixel and as large as the original block. Each subblock has a motion vector. The motion vectors of all sub-blocks in the image block form the motion vector field of the image block. The motion vector field of the image block may vary linearly or non-linearly. The fact that the motion vector field of the image block changes linearly means that the motion vectors of neighboring sub-blocks in the image block change uniformly. If the motion vectors of neighboring blocks in the image change block change unevenly, then the motion vector field of the image block changes non-linearly. This specification is mainly focused on motion compensation prediction technology based on a motion vector field that varies linearly. In a paper titled "Obtaining the motion vector of a deformable block" (Image Processing (ICIP), 2012 19 th IEEE International Conference, pp.1549-1552, September 30 2012 to October 3 2012) proposed by Na Zhang, Xiaopeng Fan, Debin Zhao and Wen Gao, which uses four vertices in the image block as control points, and performs a bilinear interpolation method on the motion vectors of the four control points to obtain the motion vector of each 4x4 block in the image block. The motion vectors of the four vertices in the image block are derived from the motion vectors of the surrounding image blocks, and the motion vectors of all 4x4 blocks form the motion vector field of the image block. Then, a motion-compensated prediction signal of the image block is obtained from the reference image based on the motion vector field. In the motion compensation prediction technology based on the motion vector field, the size of a block having an independent motion vector is reduced, non-translational motions such as rotation and zoom can be specified more accurately, and a more accurate motion compensation prediction signal can be obtained. The above motion vector field is obtained by performing bilinear interpolation of motion vectors of control points, and the motion vector field satisfies the bilinear model. Bilinear interpolation is a mathematical way of interpolation. With reference to Fig. 4, the following is a description of a specific interpolation method:

Предполагают, что должно быть рассчитано значение функции

Figure 00000007
в
Figure 00000008
и значения функции
Figure 00000007
в четырех точках
Figure 00000009
,
Figure 00000010
,
Figure 00000011
и
Figure 00000012
уже известны. Во-первых, выполняют линейную интерполяцию в направлении
Figure 00000013
, чтобы получить:It is assumed that the value of the function should be calculated
Figure 00000007
in
Figure 00000008
and function values
Figure 00000007
at four points
Figure 00000009
,
Figure 00000010
,
Figure 00000011
and
Figure 00000012
are already known. First, linear interpolation is performed in the direction
Figure 00000013
, To obtain:

Figure 00000014
(1)
Figure 00000014
(one)

Затем, выполняют линейную интерполяцию в направлении

Figure 00000015
, чтобы получить:Then, linear interpolation is performed in the direction
Figure 00000015
, To obtain:

Figure 00000016
(2)
Figure 00000016
(2)

Значение в точке

Figure 00000017
может быть получено путем подстановки результата, полученного из формулы (1) в формулу (2). Векторы движения всех точек в блоке изображения могут быть получены на основании векторов движения контрольных точек, используя способ интерполяции.Point value
Figure 00000017
can be obtained by substituting the result obtained from formula (1) into formula (2). The motion vectors of all points in an image block can be derived from the motion vectors of control points using an interpolation method.

В этом способе, вектор движения контрольной точки выбирают на основе вектора движения окружающего блока изображения, и выбранный вектор движения может быть неточным. Если вектор движения контрольной точки получают путем оценки движения и поиска, вектор движения контрольной точки должен быть записан в битовый поток. В этом случае, требуется более эффективный способ, например, используют модель аффинного преобразования для указания поля вектора движения блока изображения. Таким образом, предложена технология предсказания с компенсацией движения, основанная на аффинном преобразовании.In this method, the motion vector of the reference point is selected based on the motion vector of the surrounding image block, and the selected motion vector may not be accurate. If the cue motion vector is obtained by motion estimation and searching, the cue motion vector must be written to the bit stream. In this case, a more efficient method is required, such as using an affine transformation model to specify the motion vector field of the image block. Thus, a motion-compensated prediction technology based on affine transformation has been proposed.

Аффинное преобразование представляет собой отношение отображения между двумя пространствами, и общее аффинное преобразование включает в себя вращение, масштабирование и перемещение. Поле вектора движения, которое представляет блок изображения, и которое получают с использованием модели аффинного преобразования, изменяется линейно, и поле вектора движения удовлетворяет аффинному преобразованию. Модель общего 6-параметрового аффинного преобразования может представлять вышеприведенные три движения. В частности, как показано в формуле (3),

Figure 00000018
являются координатами пикселя
Figure 00000019
аффинного блока изображения в текущем изображении,
Figure 00000020
являются координатами пикселя
Figure 00000021
, который находится в опорном изображении, и соответствует пикселю
Figure 00000019
, и
Figure 00000022
являются параметрами аффинного преобразования. Если параметры аффинного преобразования известны, то может быть вычислена позиция
Figure 00000020
пикселя
Figure 00000018
в опорном изображении и, следовательно, может быть получен сигнал предсказания пикселя из опорного изображения.An affine transformation is a mapping relationship between two spaces, and a general affine transformation includes rotation, scaling, and translation. The motion vector field, which represents the image block, and which is obtained using the affine transformation model, changes linearly, and the motion vector field satisfies the affine transformation. The general 6-parameter affine transformation model can represent the above three movements. In particular, as shown in formula (3),
Figure 00000018
are pixel coordinates
Figure 00000019
affine image block in the current image,
Figure 00000020
are pixel coordinates
Figure 00000021
, which is in the reference image, and corresponds to a pixel
Figure 00000019
, and
Figure 00000022
are parameters of the affine transformation. If the parameters of the affine transformation are known, then the position can be calculated
Figure 00000020
pixel
Figure 00000018
in the reference image, and therefore a pixel prediction signal can be obtained from the reference image.

Figure 00000023
(3)
Figure 00000023
(3)

Аффинный параметр, как правило, рассчитан на основе векторов движения некоторых пикселей в блоке изображения. Вектор движения может быть выражен формулой (4):The affine parameter is usually calculated based on the motion vectors of some pixels in the image block. The motion vector can be expressed by formula (4):

Figure 00000024
(4)
Figure 00000024
(4)

Формулу (3) подставляют в формулу (4), чтобы получить:Formula (3) is substituted into formula (4) to get:

Figure 00000025
(5)
Figure 00000025
(5)

Конкретные значения параметров аффинного преобразования могут быть получены путем подстановки множества групп известных векторов движения, например, три группы известных векторов движения, в формулу (5). Таким образом, векторы движения всех точек в блоке изображения можно вычислить с помощью формулы (3) и формулы (4). На практике, как правило, вектор движения угловой точки (контрольная точка) в блоке изображения сначала получают путем оценки движения, затем вычисляют параметр аффинного преобразования на основе вектора движения угловой точки, и вычисляют векторы движения всех пиксели в блоке изображений. На фиг. 5 (а) и фиг. 5 (b) показан вектор движения угловой точки. Фиг. 5 (а) иллюстрирует блок Х изображения. Ширина блока изображения является w высота h. Координаты верхней левой угловой точки являются

Figure 00000026
, и вектор движения является
Figure 00000027
. Координаты верхней правой угловой точки являются
Figure 00000028
, и вектор движения является
Figure 00000029
. Координаты левой нижней угловой точки составляют
Figure 00000030
, и вектор движения равен
Figure 00000031
. Может быть получена следующая модель аффинного преобразования 6-параметров путем раздельных подстановок трех векторов
Figure 00000027
,
Figure 00000029
и
Figure 00000031
Figure 00000031
движения в формулу 5:Specific values of the affine transformation parameters can be obtained by substituting a plurality of groups of known motion vectors, for example, three groups of known motion vectors, into formula (5). Thus, the motion vectors of all points in the image block can be calculated using formula (3) and formula (4). In practice, generally, the motion vector of a corner point (reference point) in an image block is first obtained by motion estimation, then an affine transform parameter is calculated based on the corner point motion vector, and the motion vectors of all pixels in the image block are calculated. In FIG. 5(a) and FIG. 5(b) shows the motion vector of the corner point. Fig. 5(a) illustrates an image block X. The width of the image block is w height h. The coordinates of the top left corner point are
Figure 00000026
, and the motion vector is
Figure 00000027
. The coordinates of the top right corner point are
Figure 00000028
, and the motion vector is
Figure 00000029
. The coordinates of the lower left corner point are
Figure 00000030
, and the motion vector is
Figure 00000031
. The following model of affine transformation of 6-parameters can be obtained by separate substitutions of three vectors
Figure 00000027
,
Figure 00000029
and
Figure 00000031
Figure 00000031
movements in formula 5:

Figure 00000032
(6)
Figure 00000032
(6)

Векторы движения трех вершин в блоке изображения могут отличаться. Как показано на фиг.5 (b), отображение отношения блока изображения в опорном изображении обозначено пунктирными линиями. После вычисления векторов движения всех точек в блоке изображения, получают сигналы предсказания с компенсацией движения всех точек в блоке изображений посредством предсказания с компенсацией движения.The motion vectors of the three vertices in the image block may differ. As shown in Fig. 5(b), the image block ratio display in the reference image is indicated by dotted lines. After calculating the motion vectors of all points in the image block, motion-compensated prediction signals of all points in the image block are obtained by motion-compensated prediction.

В приведенном выше контенте используют 6-параметровая модель аффинного преобразования в качестве примера. Тем не менее, модель аффинного преобразования не ограничиваются 6-параметровой моделью, и может представлять собой 4-параметровую модель аффинного преобразования, показанную в формулах (7) и (8), 2-параметровая модель масштабирования показана в формуле (9) или т.п. Если выбрана 4-параметровая модель аффинного преобразования для блока изображения для предсказания с компенсацией движения, аффинная модель имеет четыре неизвестных параметра, и параметры модели могут быть получены с помощью двух групп векторов движения. Две группы векторов движения могут быть векторами движения двух угловых точек в блоке изображения, или могут быть векторами движения двух точек в блоке изображения.The content above uses the 6-parameter affine transformation model as an example. However, the affine transformation model is not limited to the 6-parameter model, and may be the 4-parameter affine transformation model shown in formulas (7) and (8), the 2-parameter scaling model shown in formula (9), or the like. P. If a 4-parameter affine transform model is selected for an image block for motion-compensated prediction, the affine model has four unknown parameters, and the model parameters can be obtained using two groups of motion vectors. The two groups of motion vectors may be the motion vectors of two corner points in the image block, or may be the motion vectors of two points in the image block.

Figure 00000033
(7)
Figure 00000033
(7)

Figure 00000034
(8)
Figure 00000034
(eight)

Figure 00000035
(9)
Figure 00000035
(nine)

Формула (3) подставлена в формулу (7), чтобы получить:Formula (3) is substituted into formula (7) to get:

Figure 00000036
(10)
Figure 00000036
(ten)

Координаты верхнего левого угла являются точки

Figure 00000026
, и вектор движения представляет собой
Figure 00000027
. Координаты верхнего правого угла являются точки
Figure 00000028
, и вектор движения представляет собой
Figure 00000029
. Координаты и векторы движения обоих угловых точек подставляют в формулу (10), и может быть получена формула модели движения, для которых верхняя левая угловая точка и верхняя правая угловая точка используют как контрольные точки:The coordinates of the upper left corner are points
Figure 00000026
, and the motion vector is
Figure 00000027
. The coordinates of the top right corner are points
Figure 00000028
, and the motion vector is
Figure 00000029
. The coordinates and motion vectors of both corner points are substituted into formula (10), and a motion model formula can be obtained for which the upper left corner point and the upper right corner point are used as control points:

Figure 00000037
(11)
Figure 00000037
(eleven)

Координаты верхней левой угловой точки являются

Figure 00000026
, и вектор движения представляет собой
Figure 00000027
. Координаты левой нижней угловой точки являются
Figure 00000030
, и вектор движения представляет собой
Figure 00000031
. Координаты и векторы движения обоих угловых точек подставляют в формулу (10), и получают формулу модели движения, для которой верхняя левая угловая точка и нижняя левая угловая точка используются как контрольные точки:The coordinates of the top left corner point are
Figure 00000026
, and the motion vector is
Figure 00000027
. The coordinates of the lower left corner point are
Figure 00000030
, and the motion vector is
Figure 00000031
. The coordinates and motion vectors of both corner points are substituted into formula (10), and a motion model formula is obtained, for which the top left corner point and bottom left corner point are used as control points:

Figure 00000038
(12)
Figure 00000038
(12)

По сравнению с последним стандартом кодирования видео HEVC, для последовательности изображений/видео кадров, включающей в себя поворот и масштабирование движения, технология предсказания с компенсацией движения на основании поля вектора движения, что изменяется линейно, может значительно повысить производительность кодирования. Поле вектора движения, которое изменяется линейно, включает в себя поле вектора движения, генерируемого с использованием модели аффинного преобразования, и поле вектора движения, генерируемое с использованием билинейной модели. Технология предсказания с компенсацией движения на основании аффинного преобразования используются в качестве примера. После получения параметра аффинного преобразования блока изображения, должен быть вычислен вектор движения каждой точки в блоке изображения, и выполняют предсказание с компенсацией движения на основании вектора движения каждой точки, чтобы получить сигнал предсказания с компенсацией движения каждой точки. Поскольку векторы движения всех пикселей в блоке изображения могут отличаться, различные операции должны быть выполнены на пикселях на основе векторов движения. Предсказание с компенсацией движения на основе пикселей имеет высокую сложность. Для уменьшения сложности кодирования/декодирования в соответствующей технологии блок изображения должен быть дополнительно разделен на субблоки изображения, вычисляют вектор движения каждого субблока изображения и затем получают сигнал предсказания с компенсацией движения каждого субблока изображения.Compared with the latest HEVC video coding standard, for a sequence of images/video frames including motion rotation and scaling, motion compensation prediction technology based on a motion vector field that varies linearly can greatly improve coding performance. A motion vector field that varies linearly includes a motion vector field generated using an affine transformation model and a motion vector field generated using a bilinear model. Motion compensation prediction technology based on affine transform is used as an example. After obtaining the affine transform parameter of the image block, the motion vector of each dot in the image block must be calculated, and motion-compensated prediction is performed based on the motion vector of each dot to obtain a motion-compensated prediction signal of each dot. Since the motion vectors of all pixels in an image block may differ, various operations must be performed on the pixels based on the motion vectors. Pixel-based motion compensation prediction has a high complexity. To reduce the complexity of encoding/decoding in the related technology, an image block must be further divided into sub-image blocks, a motion vector of each image sub-block is calculated, and then a motion-compensated prediction signal of each image sub-block is obtained.

Однако в соответствующей технологии размеры субблоков изображения являются фиксированными. Субблок изображения с чрезмерно малыми размерами приводит к сравнительно высокому уровню сложности кодирования/декодирования и субблок изображения с чрезмерно большим размером снижает производительность кодирования/декодирование. Следовательно, на практике применение такого эффективного способа кодирования в значительной степени ограничено.However, in the related technology, the sub-block sizes of an image are fixed. An excessively small size image sub-block results in a relatively high level of encoding/decoding complexity, and an excessively large image sub-block reduces encoding/decoding performance. Therefore, in practice, the application of such an efficient coding method is largely limited.

Раскрытие сущности изобретенияDisclosure of the essence of the invention

Настоящее изобретение относится к способу декодирования видеоизображения, способу кодирования видеоизображения, устройству декодирования, устройству кодирования, оборудованию для декодирования и оборудованию для кодирования. Может быть выбран субблок изображения с соответствующим размером, так что весь блок изображения разделяют на множество субблоков изображения с одинаковым размером для обработки, чтобы уменьшить сложность кодирования/декодирования, а также повысить производительность кодирования/декодирования.The present invention relates to a video decoding method, a video encoding method, a decoding apparatus, an encoding apparatus, a decoding equipment, and an encoding equipment. An image sub-block with an appropriate size can be selected so that the entire image block is divided into a plurality of image sub-blocks with the same size for processing in order to reduce encoding/decoding complexity and also improve encoding/decoding performance.

Согласно первому аспекту обеспечивается способ декодирования видеоизображения, включающий в себя: определение разности вектора движения аффинного блока изображения; определение точности вектора движения аффинного блока изображения; определение размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного блока субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; и выполнение обработки декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.According to a first aspect, a video image decoding method is provided, including: determining a motion vector difference of an affine image block; determining the accuracy of the motion vector of the affine image block; determining the size of an affine image sub-block of a motion compensation image in an affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, where the size includes a length in the horizontal direction and a length in the vertical direction, so that the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image block of the horizontal direction motion compensation image subblock, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation image in the vertical direction; and control points are pixels used to determine the motion vector difference; and performing decoding processing on the affine image block based on the size of the affine subblock of the motion compensation image.

В способе декодирования видеоизображения, представленном в соответствии с первым аспектом настоящего изобретения, размер аффинного субблока изображения компенсации движения адаптивно определяется на основе определяемых двух параметров, то есть разности вектора движения и точности вектора движения, так и в сочетании с расстоянием между контрольными точками в аффинном блоке изображения и размером аффинного блока изображения, так что аффинный блок изображения может быть разделен на множество аффинных субблоков изображения компенсации движения с одинаковым размером. Это может значительно уменьшить сложность на стороне декодера и повысить эффективность декодирования.In the video image decoding method presented in accordance with the first aspect of the present invention, the size of an affine sub-block of a motion compensation image is adaptively determined based on the determined two parameters, i.e., the motion vector difference and the motion vector accuracy, and in combination with the distance between control points in the affine block image and the size of the affine image block, so that the affine image block can be divided into a plurality of affine motion compensation image sub-blocks with the same size. This can greatly reduce the complexity on the decoder side and improve decoding efficiency.

Основываясь на первом аспекте настоящего изобретения предлагается способ определения и корректировки размера аффинного субблока изображения компенсации движения, что может быть конкретно: пропорциональной корректировкой первого горизонтального/вертикального расстояния на основании пропорции точности вектора движения в первом компоненте/втором компоненте разности вектора движения, чтобы получить длину аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении; и определением, является ли длина аффинного блока изображения в горизонтальном/вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении и, если длина аффинного блока изображения в горизонтальном/вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, корректировкой длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, так что длина аффинного блока изображения в горизонтальном/вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении. В этой конкретной реализации длину аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении получают путем корректировки первого расстояния по горизонтали/вертикали между контрольными точками, основываясь на пропорции взаимосвязи между точностью вектора движения и первым компонентом/вторым компонентом разности вектора движения, так что размер аффинного субблока изображения компенсация движения может соответствовать точности вектора движения аффинного блока изображения. Это обеспечивает качество декодирования и уменьшает сложность декодирования.Based on the first aspect of the present invention, there is provided a method for determining and adjusting the size of an affine sub-block of a motion compensation image, which may be specifically: proportionally adjusting the first horizontal/vertical distance based on the proportion of the motion vector accuracy in the first component/second component of the motion vector difference to obtain the length of the affine a horizontal/vertical motion compensation image sub-block; and determining whether the length of the affine image block in the horizontal/vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation in the horizontal/vertical direction and, if the length of the affine image block in the horizontal/vertical direction is not an integer multiple of the length of the affine subblock of the horizontal/vertical motion compensation image by adjusting the length of the horizontal/vertical motion compensation image affine sub-frame so that the horizontal/vertical direction affine image block length is an integer multiple of the adjusted length of the horizontal/vertical motion compensation affine sub-image direction. In this particular implementation, the length of the horizontal/vertical motion compensation affine sub-image subblock is obtained by adjusting the first horizontal/vertical distance between control points based on the proportion of the relationship between the motion vector accuracy and the first component/second component of the motion vector difference, so that the size of the affine sub-image block, the motion compensation may match the motion vector accuracy of the affine image block. This ensures the quality of the decoding and reduces the complexity of the decoding.

На основании первого аспекта настоящего изобретения, корректировка длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, так что длина аффинного блока изображения в горизонтальном/вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении может быть конкретно: корректировкой, то есть увеличением/уменьшением, длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении с помощью одной или более единиц длин, и затем циклическим выполнением вышеприведенного решения до тех пор, пока длина аффинного блока изображения в горизонтальном/вертикальном направлении не будет представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении. Единица длины, как правило, представляет собой один блок пикселей. Более конкретно, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, то есть увеличивают/уменьшают на 1. Кроме того, вышеприведенная корректировка может быть корректировкой, то есть увеличением/уменьшением длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении на фиксированный размер шага, и размер шага представляет собой значение корректировки, то есть основной единицей, используемой для корректировки длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении в каждом цикле. Размер шага может быть любым значением и, как правило, одним блоком пикселей, или может быть другим значением, таким как 2,5 блока пикселей. Возможно, значение размера шага/корректировки, используемой в вышеприведенной корректировке, может меняться в зависимости от соотношения первоначальной длины (то есть нескорректированной длины) аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении. Например, когда начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой нечетное число, выбирают нечетный размер шага. Например, нечетное количество единиц длин, например, одну единицу длины, используют в качестве размера шага для корректировки. Когда начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении является четным числом, выбирают четный размер шага. Например, четное количество единиц длин используют в качестве размера шага. В этом варианте осуществления может быть обеспечено, что длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении может быть быстро приближено к значению, с помощью которого, длина аффинного блока изображения в горизонтальном/вертикальном направлении делится, и дополнительно снижается сложность.Based on the first aspect of the present invention, adjusting the length of the horizontal/vertical direction motion compensation affine image subblock such that the length of the horizontal/vertical direction affine image block is an integer multiple of the corrected length of the horizontal/vertical motion compensation affine image subblock can be specifically: adjusting, i.e., increasing/decreasing, the length of the motion compensation affine sub-image block in the horizontal/vertical direction by one or more units of length, and then cycling the above decision until the length of the affine image block in the horizontal/vertical direction will not be an integer multiple of the adjusted length of the horizontal/vertical motion compensation affine sub-image subblock. The length unit is typically one block of pixels. More specifically, the length of the horizontal/vertical motion compensation image affine sub-frame is corrected, that is, increased/decreased by 1. In addition, the above correction may be a correction, that is, the length of the horizontal/vertical motion compensation image affine sub-frame is increased/decreased by a fixed step size, and the step size is a correction value, that is, a basic unit used to correct the length of the affine motion compensation image subblock in the horizontal/vertical direction in each cycle. The step size can be any value and is typically one pixel block, or it can be another value such as 2.5 pixel blocks. It is possible that the value of the step size/correction used in the above correction may change depending on the ratio of the original length (ie, uncorrected length) of the horizontal/vertical direction motion compensation affine image subblock. For example, when the initial length of the affine subblock of the horizontal direction motion compensation image is an odd number, an odd step size is selected. For example, an odd number of length units, such as one length unit, is used as the step size for correction. When the initial length of the affine subblock of the horizontal motion compensation image is an even number, an even step size is selected. For example, an even number of length units is used as the step size. In this embodiment, it can be ensured that the length of the horizontal/vertical motion compensation affine sub-image block can be rapidly approached to a value by which the length of the horizontal/vertical direction affine image block is divided and the complexity is further reduced.

Для повышения эффективности и сокращения времени работы, в способе декодирования, представленном в соответствии с первым аспектом настоящего изобретения, длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении может быть скорректирована до ближайшего значения, с помощью которого длина аффинного блока изображения в горизонтальном/вертикальном направлении делится. Если разница между длиной аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении и два соседних значения, с помощью которых длина аффинного блока изображения в горизонтальном/вертикальном направлении делится, равны, то корректировка может быть выбрана в соответствии требованиями стороны кодера и стороны декодера. Например, если требуется низкая задержка, то может быть выбрана корректировка, то есть увеличение. Если требуется высокое качество, то может быть выбрана корректировка, то есть уменьшение.In order to improve efficiency and reduce running time, in the decoding method presented in accordance with the first aspect of the present invention, the length of the affine sub-image block of the motion compensation in the horizontal/vertical direction can be corrected to the nearest value by which the length of the affine image block in the horizontal/vertical direction direction is divided. If the difference between the length of the horizontal/vertical direction motion compensation affine sub-image block and two adjacent values by which the horizontal/vertical direction affine image block length is divided are equal, then the correction can be selected according to the requirements of the encoder side and the decoder side. For example, if a low latency is required, then an adjustment, i.e. an increase, may be chosen. If high quality is required, an adjustment, i.e. reduction, can be chosen.

Когда определено, что длина аффинной блока изображения в горизонтальном/вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, чтобы еще больше упростить алгоритм, может быть отдельно установлена одна и та же таблица на стороне кодера и стороне декодера, и возможная максимальная длина аффинного блока изображения в горизонтальном/вертикальном направлении делится на множество интервалов, используя допустимый минимальный делитель в качестве начального значения, например, 2N. Интервал деления равен 2N+i, где

Figure 00000039
, Wmax - это возможно максимальная длина аффинного блока изображения в горизонтальном/вертикальном направлении. Определяют интервал, в течение которого длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении снижается, и значение нижнего предела или значение верхнего предела интервала, в течение которого длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении снижается, используются как окончательно определенная длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении. Для правила получения значения нижнего предела или значения верхнего предела, сделана ссылка к соглашению между стороной кодера и стороной декодера. Верхнее предельное значение или нижнее предельное значение приближенного интервала может быть явно указано, используя битовый поток или может быть выбрано при округлении. С помощью указанной выше таблицы, конечная длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении может быть определена с помощью таблицы поиска на основе исходной длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении. Таким образом, сложность системы снижается, и время вычисления уменьшается.When it is determined that the length of the affine image block in the horizontal/vertical direction is not an integer multiple of the length of the affine sub-image block of the horizontal/vertical motion compensation, in order to further simplify the algorithm, the same table on the encoder side can be separately set and side of the decoder, and the possible maximum length of the affine image block in the horizontal/vertical direction is divided into a plurality of intervals, using the allowable minimum divisor as the initial value, for example, 2 N . The division interval is 2 N+i , where
Figure 00000039
, W max is the possible maximum length of an affine image block in the horizontal/vertical direction. The interval during which the length of the horizontal/vertical motion compensation image affine sub-frame decreases, and the lower limit value or the upper limit value of the interval during which the length of the horizontal/vertical motion compensation image affine sub-frame decreases are used as the finally determined length. affine sub-image compensation motion in the horizontal/vertical direction. For the rule for obtaining a lower limit value or an upper limit value, reference is made to an agreement between the encoder side and the decoder side. The upper limit value or the lower limit value of the approximate interval may be explicitly specified using the bitstream or may be chosen by rounding. With the above table, the final length of the horizontal/vertical motion compensation image affine sub-frame can be determined with a lookup table based on the initial length of the horizontal/vertical motion compensation image affine sub-frame. Thus, the complexity of the system is reduced and the computation time is reduced.

В качестве варианта, для дополнительного снижения сложности вычислений в решении, в способе декодирования, представленном в соответствии с первым аспектом настоящего изобретения, не только если длина аффинного блока изображения в горизонтальном/вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, но также определяют, является ли длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении целым числом, кратным заданной длине S, что облегчает вычисление. Более конкретно, следует определить, удовлетворяет ли длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении следующим двум условиям:Alternatively, to further reduce the computational complexity in the solution, in the decoding method presented in accordance with the first aspect of the present invention, not only if the length of the affine image block in the horizontal/vertical direction is an integer multiple of the length of the affine sub-image block of the motion compensation image in horizontal/vertical direction, but also determines whether the length of the affine subblock of the horizontal/vertical motion compensation image is an integer multiple of the predetermined length S, which facilitates the calculation. More specifically, it should be determined whether the length of the affine subblock of the horizontal/vertical motion compensation image satisfies the following two conditions:

(1) длина аффинного блока изображения в горизонтальном/вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении; и(1) the length of the affine image block in the horizontal/vertical direction is an integer multiple of the length of the affine sub-image block of the horizontal/vertical motion compensation; and

(2) длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении представляет собой целое число, кратное заданной длине S.(2) the length of the affine subblock of the horizontal/vertical motion compensation image is an integer multiple of the predetermined length S.

Если длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении не удовлетворяет двум условиям, то длину аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении корректируют, так что длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении удовлетворяет условию (1) и условию (2). Более конкретно, длина аффинного блока изображения в горизонтальном/вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, и скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении представляет собой целое число, кратное заданной длине. Заданная длина S, как правило, равна 4, или может быть значением, таким как 8, 16 или 32, или S равно 2n, где n равно нулю или является положительным целым числом. Следует отметить, что значение S не должно быть больше, чем размер аффинного блока изображений. Это решение применимо к аффинному блоку изображения в любой форме. Когда аффинный блок изображения делят в соответствии с правилом дерева квадрантов (Quad Tree), или размер аффинного блока изображения является 2Nx2N, а именно, в форме квадрата, при условии, что любое из указанных выше условий (1) и (2) удовлетворено, другое условие может быть выполнено. Таким образом, только одно из определяющих условий должно быть активировано/применено. Последовательность для определения, выполнены условия (1) и (2) и последовательность для корректировки длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении на основании результата определения могут быть взаимозаменяемыми в случайном порядке.If the length of the horizontal/vertical direction motion compensation image affine subblock does not satisfy the two conditions, then the length of the horizontal/vertical direction motion compensation image affine subblock is adjusted so that the length of the horizontal/vertical direction motion compensation image affine subblock satisfies condition (1), and condition (2). More specifically, the horizontal/vertical direction affine image block length is an integer multiple of the corrected length of the horizontal/vertical motion compensation affine image subblock, and the adjusted length of the horizontal/vertical motion compensation affine image subblock is an integer multiple of given length. The predetermined length S is typically 4, or may be a value such as 8, 16, or 32, or S is 2 n , where n is zero or a positive integer. It should be noted that the value of S should not be larger than the size of the affine image block. This solution is applicable to an affine image block in any form. When the affine image block is divided according to the Quad Tree rule, or the size of the affine image block is 2Nx2N, namely in the form of a square, provided that any of the above conditions (1) and (2) is satisfied, the other condition can be met. Thus, only one of the defining conditions must be activated/applied. The sequence for determining whether the conditions (1) and (2) are met and the sequence for adjusting the length of the horizontal/vertical motion compensation affine subblock image based on the determination result may be randomly interchanged.

В способе декодирования, представленном в соответствии с первым аспектом настоящего изобретения, чтобы избежать случая, в котором размер аффинного субблока изображения компенсации движения является недействительным, то есть меньше, чем допустимый минимального размер, но больше, чем размер аффинного блока изображения, может быть выбрана и выполнена операция ограничения амплитуды длины, определяемой вышеуказанным образом, аффинного субблока изображения компенсация движения в горизонтальном/вертикальном направлении. Более конкретно, используют сравнение для обеспечения длины аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении, чтобы находиться в диапазоне от нижнего предела Тm/Тn до верхнего предела W/H. Тm/Тn является заданным значением и, как правило, равно 4 и W/H является длиной аффинного блока изображения в горизонтальном/вертикальном направлении.In the decoding method presented in accordance with the first aspect of the present invention, in order to avoid the case in which the size of the affine sub-image sub-block of the motion compensation image is invalid, that is, less than the allowable minimum size but larger than the size of the affine image block, can be selected and the operation of limiting the amplitude of the length, determined in the above way, of the affine sub-block of the image, motion compensation in the horizontal/vertical direction, is performed. More specifically, a comparison is used to ensure the length of the horizontal/vertical motion compensation image affine subblock to be in the range from the lower limit Tm/Tn to the upper limit W/H. Tm/Tn is a predetermined value and is typically 4, and W/H is the length of the affine image block in the horizontal/vertical direction.

Кроме того, способ декодирования, предоставленный в первом аспекте настоящего изобретения, применим к модели аффинного преобразования, основанной на трех контрольных точках, и модели аффинного преобразования, основанной на двух контрольных точках. В модели аффинного преобразования, основанной на трех контрольных точках, должны быть независимо получены и независимо скорректированы длины аффинного субблока изображения компенсации движения в вертикальном направлении и в горизонтальном направлении. Соответственно, в модели аффинного преобразования, основанной на двух контрольных точках, получают только длину, которая является длинной аффинного субблока изображения компенсация движения в одном из горизонтального направления и вертикального направления, и которая должна быть независимо друг от друга получена, и длина в другом направлении дополнительно получают; и длины в обоих направлениях должны корректироваться независимо. Когда размер аффинного блока изображения является 2Nx2N правильного квадрата, так как длины аффинного блока изображения в горизонтальном направлении и вертикальном направлении, являются такими же, то только одна из длин аффинного блока изображения в горизонтальном направлении и вертикальном направлении должна быть определена и скорректирована.In addition, the decoding method provided in the first aspect of the present invention is applicable to an affine transformation model based on three control points and an affine transformation model based on two control points. In an affine transformation model based on three control points, the lengths of the affine sub-image compensation image in the vertical direction and in the horizontal direction must be independently obtained and independently adjusted. Accordingly, in the affine transformation model based on two control points, only a length that is the length of the affine sub-image subblock of the motion compensation image in one of the horizontal direction and the vertical direction, and which is to be obtained independently from each other, is obtained, and the length in the other direction is additionally receive; and lengths in both directions must be adjusted independently. When the size of the affine image block is 2Nx2N right square, since the lengths of the affine image block in the horizontal direction and the vertical direction are the same, only one of the lengths of the affine image block in the horizontal direction and the vertical direction needs to be determined and adjusted.

Согласно второму аспекту, обеспечивается способ кодирования видеоизображения, который, в основном, содержит: определение разность вектора движения аффинного блока изображения; определение точности вектора движения аффинного блока изображения; определение размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения, размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; и выполнение обработки кодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.According to a second aspect, there is provided a method for encoding a video image, which mainly comprises: determining a motion vector difference of an affine image block; determining the accuracy of the motion vector of the affine image block; determining the size of an affine subblock of a motion compensation image in an affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, the size of the affine image block, where the size includes the length in the horizontal direction and the length in the vertical direction, so that the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image subblock of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation in the vertical direction; and control points are pixels used to determine the motion vector difference; and performing encoding processing on the affine image block based on the size of the affine subblock of the motion compensation image.

В способе кодирования видеоизображения, представленном во втором аспекте настоящего изобретения, размер аффинного субблока изображения компенсации движения адаптивно определяется на основании определяемых двух параметров, то есть разности вектора движения и точности вектора движения, так и в сочетании с расстоянием между контрольными точками в аффинном блоке изображения и размером аффинного изображения, так что аффинный блок изображения может быть разделен на множество аффинных субблоков изображения компенсации движения с одинаковым размером. Это может значительно уменьшить сложность на стороне кодера и улучшить эффективность кодирования. Способ кодирования видеоизображения в соответствии со вторым аспектом настоящего изобретения включает в себя одни и те же основные этапы, то есть определение размера аффинного субблока изображения компенсации движения и корректировку размера аффинного субблока изображения компенсации движения, как способ декодирования видеоизображения в соответствии с первым аспектом настоящего изобретения, но включает в себя иной последний этап. Поэтому решения в способе декодирования видеоизображения в соответствии с первым аспектом настоящего изобретения, также применимы к способу кодирования видеоизображения в соответствии со вторым аспектом настоящего изобретения. Для получения дополнительной информации смотрите предшествующее описание способа декодирования видеоизображения в первом аспекте.In the video encoding method presented in the second aspect of the present invention, the size of an affine sub-block of a motion compensation image is adaptively determined based on two parameters determined, i.e., the motion vector difference and the motion vector accuracy, and in combination with the distance between breakpoints in the affine image block and the size of the affine image, so that the affine image block can be divided into a plurality of affine motion compensation image sub-blocks of the same size. This can greatly reduce the complexity on the encoder side and improve the coding efficiency. The video encoding method according to the second aspect of the present invention includes the same main steps, that is, determining the size of the motion compensation image affine subblock and adjusting the size of the motion compensation image affine subblock, as the video image decoding method according to the first aspect of the present invention, but includes a different last step. Therefore, the solutions in the video decoding method according to the first aspect of the present invention are also applicable to the video encoding method according to the second aspect of the present invention. For more information, see the previous description of the video decoding method in the first aspect.

В соответствии с третьим аспектом, обеспечивается оборудование для декодирования видеоизображения, главным образом, включающее в себя: модуль определения разности вектора движения, выполненный с возможностью определять разность вектора движения аффинного блока изображения; модуль определения точности вектора движения, выполненный с возможностью определять точность вектора движения аффинного блока изображения; модуль определения размера субблока изображения, выполненный с возможностью определять размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; и модуль декодирования, выполненный с возможностью выполнять обработку декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.According to a third aspect, there is provided equipment for decoding a video image, mainly including: a motion vector difference determination unit, configured to determine a motion vector difference of an affine image block; a motion vector accuracy determination module, configured to determine the motion vector accuracy of the affine image block; an image sub-block size determination module configured to determine the size of an affine image sub-block of a motion compensation image in an affine image block based on a motion vector difference, motion vector accuracy, a distance between control points in the affine image block, and a size of the affine image block, where the size includes a length in the horizontal direction and a length in the vertical direction, such that the length of the affine image block in the horizontal direction is an integer multiple of the length of the motion compensation affine image sub-image in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine a vertical motion compensation image sub-block; and control points are pixels used to determine the motion vector difference; and a decoding unit configured to perform decoding processing on the affine image block based on the size of the affine sub-block of the motion compensation image.

Оборудование для декодирования видеоизображения, представленное в третьем аспекте настоящего изобретения, соответствует способу декодирования видеоизображения, представленному в соответствии с первым аспектом настоящего изобретения, имеет функцию выполнения всех этапов в способе декодирования видеоизображения, предусмотренные в первом аспекте настоящего изобретения, и могут быть получены те же технические эффекты, то есть в значительной степени уменьшить сложность на стороне декодера и повысить эффективность декодирования.The video decoding equipment provided in the third aspect of the present invention corresponds to the video decoding method presented in the first aspect of the present invention, has the function of performing all the steps in the video decoding method provided in the first aspect of the present invention, and the same technical effects, that is, greatly reduce the complexity on the decoder side and improve decoding efficiency.

В соответствии с четвертым аспектом, обеспечивается оборудование для кодирования видеоизображения, в основном, включающее в себя: модуль определения разности вектора движения, выполненный с возможностью определять разность вектора движения аффинного блока изображения; модуль определения точности вектора движения, выполненный с возможностью определять точность вектора движения аффинного блока изображения; модуль определения размера субблока изображения, выполненный с возможностью определять размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; и модуль кодирования, выполненный с возможностью выполнять обработку кодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.According to a fourth aspect, there is provided equipment for encoding a video image, mainly including: a motion vector difference determination unit, configured to determine a motion vector difference of an affine image block; a motion vector accuracy determination module, configured to determine the motion vector accuracy of the affine image block; an image sub-block size determination module configured to determine the size of an affine image sub-block of a motion compensation image in an affine image block based on a motion vector difference, motion vector accuracy, a distance between control points in the affine image block, and a size of the affine image block, where the size includes a length in the horizontal direction and a length in the vertical direction, such that the length of the affine image block in the horizontal direction is an integer multiple of the length of the motion compensation affine image sub-image in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine a vertical motion compensation image sub-block; and control points are pixels used to determine the motion vector difference; and an encoding unit configured to perform encoding processing on the affine image block based on the size of the affine sub-block of the motion compensation image.

Оборудование для кодирования видеоизображения, предоставленное в четвертом аспекте настоящего изобретения, соответствует способу кодирования видеоизображения, представленному во втором аспекте настоящего изобретения, и имеет функцию реализации всех этапов способа кодирования видеоизображения, представленных во втором аспекте настоящего изобретения, и могут быть получены те же технические эффекты, то есть в значительной степени уменьшить сложность на стороне кодера и повысить эффективность кодирования.The video encoding equipment provided in the fourth aspect of the present invention corresponds to the video encoding method presented in the second aspect of the present invention, and has the function of realizing all the steps of the video encoding method presented in the second aspect of the present invention, and the same technical effects can be obtained that is, greatly reduce the complexity on the encoder side and improve the coding efficiency.

В соответствии с пятым аспектом, обеспечивается устройство декодирования видеоизображения, включающее в себя процессор и постоянную память, где процессор вызывает программный код, сохраненный в памяти для реализации способа декодирования, представленного в соответствии с первым аспектом настоящего изобретения.According to a fifth aspect, there is provided a video decoding apparatus including a processor and a read-only memory, where the processor calls a program code stored in the memory to implement the decoding method presented in accordance with the first aspect of the present invention.

В соответствии с шестым аспектом, обеспечивается устройство кодирования видеоизображения, включающее в себя процессор и постоянную память, где процессор вызывает программный код, сохраненный в памяти для осуществления способа кодирования, представленного в соответствии со вторым аспектом.According to a sixth aspect, there is provided a video encoding apparatus including a processor and a read-only memory, where the processor calls a program code stored in the memory to implement the encoding method presented in accordance with the second aspect.

Исходя из вышеизложенных технических решений, в соответствии с способом кодирования видеоизображения, способом декодирования видеоизображения, оборудованием для кодирования, оборудованием для декодирования, устройством кодирования и устройством декодирования в вариантах осуществления настоящего изобретения, адаптивно определяют размер аффинного субблока изображения компенсации движения на основании определенных двух параметром, то есть разности вектора движения и точности вектора движения, так и в сочетании с расстоянием между контрольными точками в аффинном блоке изображения и размером аффинного изображения, так что аффинный блок изображения может быть разделен на множество аффинных субблоков изображения компенсации движения с тем же размером. Это уменьшает сложность кодирования/декодирования и повышает эффективность кодирования/декодирования.Based on the above technical solutions, in accordance with the video encoding method, the video decoding method, the encoding equipment, the decoding equipment, the encoding apparatus and the decoding apparatus in the embodiments of the present invention, an affine sub-block size of a motion compensation image is adaptively determined based on determined two parameters, that is, the difference of the motion vector and the motion vector accuracy, and in combination with the distance between the control points in the affine image block and the size of the affine image, so that the affine image block can be divided into a plurality of affine motion compensation image sub-blocks with the same size. This reduces the complexity of encoding/decoding and improves the efficiency of encoding/decoding.

Краткое описание чертежейBrief description of the drawings

Для более четкого описания технических решений в вариантах осуществления настоящего изобретения, приведено следующее краткое описание прилагаемых чертежей, необходимые для описания вариантов осуществления. Очевидно, что сопровождающие чертежи в следующих описаниях показывают лишь некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники в еще может получить другие чертежи из этих прилагаемых чертежей без творческих усилий.In order to more clearly describe the technical solutions in the embodiments of the present invention, the following brief description of the accompanying drawings is given, necessary for describing the embodiments. Obviously, the accompanying drawings in the following descriptions show only some embodiments of the present invention, and a person skilled in the art can still obtain other drawings from these attached drawings without creative effort.

Фиг.1 представляет собой схему блока изображения в процессе кодирования видеоизображения;1 is a block diagram of an image in a video encoding process;

Фиг.2 представляет собой схему основной процедуры кодирования видеоизображения;Fig. 2 is a diagram of a basic video encoding procedure;

Фиг.3 представляет собой схему разделения блока изображения и взаимоотношение между блоком изображения и вектором движения в процессе кодирования видеоизображения;Fig. 3 is a picture block division scheme and a relationship between an image block and a motion vector in a video encoding process;

Фиг.4 представляет собой схему получения поля вектора движения блока изображения с помощью билинейной интерполяции;Fig. 4 is a diagram of obtaining a motion vector field of an image block using bilinear interpolation;

Фиг.5 (а) и фиг.5 (b) представляют собой схему получения поля вектора движения блока изображения с помощью модели аффинного преобразования;Fig. 5(a) and Fig. 5(b) are diagrams for obtaining a motion vector field of an image block using an affine transformation model;

Фиг.6 представляет собой схему структуры видеодекодера, используемого для способа декодирования согласно варианту осуществления настоящего изобретения;Fig. 6 is a structure diagram of a video decoder used for a decoding method according to an embodiment of the present invention;

Фиг.7 представляет собой блок-схему алгоритма способа декодирования видеоизображения в соответствии с вариантом осуществления настоящего изобретения;7 is a flowchart of a video decoding method according to an embodiment of the present invention;

Фиг.8 представляет собой схему аффинного блока изображения и контрольных точек в соответствии с вариантом осуществления настоящего изобретения;Fig. 8 is a diagram of an affine image block and control points according to an embodiment of the present invention;

Фиг.9 представляет собой еще одну схему аффинного блока изображения и контрольных точек в соответствии с вариантом осуществления настоящего изобретения;Fig. 9 is another diagram of an affine image block and control points according to an embodiment of the present invention;

Фиг.10 представляет собой схематическое изображение трех неперекрывающихся пикселей в аффинном блоке изображения в соответствии с вариантом осуществления настоящего изобретения;Fig. 10 is a schematic representation of three non-overlapping pixels in an affine image block according to an embodiment of the present invention;

Фиг.11 представляет собой еще одну схему аффинного блока изображения в соответствии с вариантом осуществления настоящего изобретения;11 is another diagram of an affine image block according to an embodiment of the present invention;

Фиг.12 представляет собой еще одну блок-схему последовательности операций способа декодирования видеоизображения в соответствии с вариантом осуществления настоящего изобретения;12 is another flowchart of a video decoding method according to an embodiment of the present invention;

Фиг.13 представляет собой еще одну блок-схему последовательности операций способа декодирования видеоизображения в соответствии с вариантом осуществления настоящего изобретения;13 is another flowchart of a video decoding method according to an embodiment of the present invention;

Фиг.14 представляет собой блок-схему последовательности операций способа кодирования видеоизображения в соответствии с вариантом осуществления настоящего изобретения;14 is a flowchart of a video encoding method according to an embodiment of the present invention;

Фиг.15 представляет собой еще одну блок-схему последовательности операций способа кодирования видеоизображения в соответствии с вариантом осуществления настоящего изобретения;15 is another flowchart of a video encoding method according to an embodiment of the present invention;

Фиг.16 представляет собой еще одну блок-схему последовательности операций способа кодирования видеоизображения в соответствии с вариантом осуществления настоящего изобретения;16 is another flowchart of a video encoding method according to an embodiment of the present invention;

Фиг.17 представляет собой блок-схему приспособления для декодирования в соответствии с вариантом осуществления настоящего изобретения;Fig. 17 is a block diagram of a decoding apparatus according to an embodiment of the present invention;

Фиг.18 представляет собой блок-схему приспособления для кодирования согласно варианту осуществления настоящего изобретения;Fig. 18 is a block diagram of an encoding apparatus according to an embodiment of the present invention;

Фиг.19 представляет собой блок-схему устройства декодирования согласно варианту осуществления настоящего изобретения; иFig. 19 is a block diagram of a decoding apparatus according to an embodiment of the present invention; and

Фиг.20 представляет собой блок-схему устройства кодирования в соответствии с вариантом осуществления настоящего изобретения.20 is a block diagram of an encoder according to an embodiment of the present invention.

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

Задачей настоящего изобретения является снижение сложности кодирования/декодирования при сохранении производительности предсказания с компенсацией движения, на основании аффинного преобразования, так что способ может быть эффективно применен на практике. В данном описании блок изображения, который независимо имеет параметр аффинного преобразования, называется аффинный блоком изображения, то есть аффинный блок. Субблок изображения, который получают путем деления аффинного блока изображения и используется для предсказания с компенсацией движения, упоминается как аффинное суб-изображение компенсации движения (Affine Motion Compensation, «Affine-MC», для краткости) и обозначается как аффинный МС блок. Техническое решение, представленное в настоящем изобретении, основано на адаптивном делении аффинного блока на множество аффинных MC блоков с тем же размером, в соответствии с требованием кодирования/декодированием. Конкретный способ заключается в адаптивном делении, на основании точности вектора движения аффинного блока, вектора движения аффинного блока и расстояния между контрольными точками в аффинной блоке, аффинного блока на аффинные MC блоки, которые удовлетворяют требованиям.It is an object of the present invention to reduce the complexity of encoding/decoding while maintaining the performance of motion-compensated prediction based on affine transform, so that the method can be efficiently applied in practice. In this description, an image block that independently has an affine transformation parameter is called an affine image block, that is, an affine block. A sub-image that is obtained by dividing an affine image block and used for motion compensation prediction is referred to as an affine sub-image of motion compensation (Affine Motion Compensation, "Affine-MC" for short) and is referred to as an affine MS block. The technical solution presented in the present invention is based on the adaptive division of an affine block into a plurality of affine MC blocks with the same size, in accordance with the encoding/decoding requirement. The specific method is to adaptively divide, based on the accuracy of the motion vector of the affine block, the motion vector of the affine block, and the distance between control points in the affine block, the affine block into affine MC blocks that satisfy the requirements.

Далее, в качестве примера использована сторона декодера для описания решений по настоящему изобретению с помощью конкретных вариантов осуществления.Next, the decoder side is used as an example to describe the solutions of the present invention with specific embodiments.

На стороне декодера, декодер обычно используется для реализации способа декодирования, и декодирует и восстанавливает закодированный битовый поток видеоданных. Базовая логическая структура декодера показана на фиг. 6. Видеодекодер 60 включает в себя блок 650 энтропийного декодирования, блок 652 предсказания, блок 654 деквантования, блок 656 обратного преобразования, блок 658 восстановления, блок 659 фильтра и буфер 660 декодированного изображения. Блок 652 предсказания включает в себя блок 662 компенсации движения и блок 664 внутрикадрового предсказания. Блок 650 энтропийного декодирования включает в себя блок 666 обычного CABAC кодирования/декодирования и блок 668 обходного кодирования/декодирования. В другом варианте осуществления видеодекодер 60 может включать в себя больше или меньше, или иные функциональные компоненты.On the decoder side, a decoder is generally used to implement a decoding method, and decodes and reconstructs the encoded video bitstream. The basic logical structure of the decoder is shown in FIG. 6. The video decoder 60 includes an entropy decoding block 650, a prediction block 652, a dequantization block 654, an inverse transform block 656, a reconstruction block 658, a filter block 659, and a decoded image buffer 660. The prediction block 652 includes a motion compensation block 662 and an intra prediction block 664 . The entropy decoding block 650 includes a normal CABAC encoding/decoding block 666 and a bypass encoding/decoding block 668. In another embodiment, video decoder 60 may include more or less or different functional components.

Базовый рабочий процесс видеодекодера 60 выглядит следующим образом: после приема кодированного битового потока видеоданных (называемый, как битовый поток для краткости), блок 650 энтропийного декодирования выполняет синтаксический анализ битового потока для извлечения синтаксического элемента из битового потока. Как часть синтаксического анализа битового потока, блок 650 энтропийного декодирования может проанализировать синтаксический элемент, который находится в битовом потоке и на котором выполнено энтропийное кодирование. Блок 652 предсказания, блок 654 деквантования блок 656 обратного преобразования, блок 658 восстановления и блок 659 фильтра может декодировать видеоданные на основании синтаксического элемента, извлеченного из битового потока, то есть генерировать декодированные видеоданные. Синтаксический элемент может включать в себя обычное CABAC кодированное/декодированное двоичное кодовое слово и обходное кодированное/декодированное двоичное кодовое слово. Блок 650 энтропийного декодирования может использовать блок 666 обычного CABAC кодирования/декодирования для декодирования обычного CABAC кодированного/декодированного двоичного кодового слова, и может использовать блок 668 обходного кодирования/декодирования, чтобы декодировать обходное кодированное/декодированное двоичное кодовое слово.The basic workflow of video decoder 60 is as follows: upon receiving an encoded video bitstream (referred to as a bitstream for short), entropy decoder 650 parses the bitstream to extract a syntax element from the bitstream. As part of bitstream parsing, entropy decoder 650 may parse a syntax element that is in the bitstream and that has been entropy encoded. The prediction block 652, the dequantization block 654, the inverse transform block 656, the reconstruction block 658, and the filter block 659 can decode video data based on the syntax element extracted from the bitstream, that is, generate decoded video data. The syntax element may include a conventional CABAC encoded/decoded binary codeword and a bypass encoded/decoded binary codeword. Entropy decoder 650 may use conventional CABAC encoder/decoder 666 to decode the conventional CABAC encoded/decoded binary codeword, and may use bypass encoder/decoder 668 to decode the bypass encoded/decoded binary codeword.

Блок 652 предсказания включает в себя блок 662 компенсации движения и блок 664 внутрикадрового предсказания. Если используют кодирование с межкадровым предсказанием для блока изображения, подлежащего декодированию, то блок 662 компенсации движения может определить один или более опорных блоков на основании информации движения блока изображения, подлежащего декодированию, и генерируют предсказанный пиксельный блок блока изображения, подлежащего декодированию, на основании опорного блока. Когда используют кодирование с внутрикадровым предсказанием для блока изображения, подлежащего декодированию, блок 664 внутрикадрового предсказания осуществляет внутрикадровое предсказание для генерирования предсказанного пиксельного блока изображения. Блок 664 внутрикадрового предсказания может генерировать предсказанный пиксельный блок блока изображения, подлежащего декодированию, на основании пикселя пространственного соседнего блока изображения с использованием режима внутрикадрового предсказания.The prediction block 652 includes a motion compensation block 662 and an intra prediction block 664 . If inter-picture prediction encoding is used for the image block to be decoded, then the motion compensation unit 662 may determine one or more reference blocks based on motion information of the image block to be decoded, and generate a predicted pixel block of the image block to be decoded based on the reference block. . When intra prediction encoding is used for an image block to be decoded, intra prediction block 664 performs intra prediction to generate a predicted pixel image block. An intra prediction block 664 may generate a predicted pixel block of an image block to be decoded based on a pixel of a spatial neighboring image block using the intra prediction mode.

Блок 658 восстановления восстанавливает предсказанный пиксельный блок, полученный блоком 652 предсказания, и остаточные данные блока изображения, подлежащего декодированию, которые были обработаны с помощью блока 654 деквантования и блока 656 обратного преобразования, для получения восстановленного блока изображения блока изображения, подлежащего декодированию. Кадр изображения, который включает в себя множество блоков изображения, фильтруется с помощью блока 659 фильтра и затем сохраняется в буфере 660 декодированного изображения. Таким образом, декодирование кодированного битового потока видеоданных завершено. Декодированное изображение, сохраненное в буфере 660 декодированного изображения 660, может непосредственно выводится на устройство отображения для отображения или может быть использовано в качестве опорного изображения в последующем процессе декодирования битового потока.The recovery section 658 recovers the predicted pixel block obtained by the prediction section 652 and the residual data of the image block to be decoded, which were processed by the dequantization section 654 and the inverse transform section 656, to obtain the reconstructed image block of the image block to be decoded. An image frame that includes a plurality of image blocks is filtered by a filter block 659 and then stored in a decoded image buffer 660 . Thus, the decoding of the encoded video bitstream is completed. The decoded image stored in the buffer 660 of the decoded image 660 may be directly output to a display device for display, or may be used as a reference image in a subsequent bitstream decoding process.

Техническое решение по настоящему изобретению применяют к процессу, в котором блок 662 компенсации движения выполняет декодирование с предсказанием компенсации движения. Пример процесса декодирования показан на фиг.7. Следует отметить, что способ декодирования и способ кодирования в настоящем изобретении, являются, по существу, аналогичными, и способ декодирования является обратным процессом способа кодирования. Хотя способ декодирования используется в качестве примера в дальнейшем, если явно не указано иное, способ, в основном, является таким же, как способ кодирования. Таким образом, в процессе декодирования, описанном в последующем изложении, объяснение и описание, связанное с кодированием не представляет собой какой-либо конфликт или несогласованность с решением.The technical solution of the present invention is applied to a process in which the motion compensation block 662 performs motion compensation predictive decoding. An example of the decoding process is shown in Fig.7. It should be noted that the decoding method and the encoding method in the present invention are essentially the same, and the decoding method is the reverse process of the encoding method. Although the decoding method is used as an example in the following, unless explicitly stated otherwise, the method is basically the same as the encoding method. Thus, in the decoding process described in the following, the explanation and description associated with encoding does not represent any conflict or inconsistency with the solution.

На фиг.7 схематично показана блок-схема способа декодирования видеоизображения в соответствии с вариантом осуществления настоящего изобретения. В частности, как показано на фиг.7, способ 700 включает в себя следующие этапы:7 is a schematic flowchart of a video decoding method according to an embodiment of the present invention. Specifically, as shown in FIG. 7, method 700 includes the following steps:

S710. Определить разность вектора движения аффинного блока изображения.S710. Determine the difference of the motion vector of an affine image block.

S720. Определить точность вектора движения аффинного блока изображения.S720. Determine the accuracy of the motion vector of an affine image block.

S730. Определить размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения.S730. Determine the size of an affine image sub-block of a motion compensation image in an affine image block based on the motion vector difference, the motion vector precision, the distance between control points in the affine image block, and the size of the affine image block, where the size includes the length in the horizontal direction and the length in the vertical direction, so that the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image subblock of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation in the vertical direction; and control points are pixels used to determine the motion vector difference.

S740. Выполнить обработку декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.S740. Perform decoding processing on the affine image block based on the size of the affine subblock of the motion compensation image.

В частности, устройство декодирования/кодирования определяет разность вектора движения аффинного блока изображения на основании определенных контрольных точек, определяет точность вектора движения аффинного блока изображения, и определяет размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании определенной разности вектора движения и точности вектора движения, расстояния между контрольными точками и размера аффинного блока изображения, где размером аффинного субблока изображения компенсации движения является размер, используемый для деления аффинного блока изображения, и аффинный блок изображения делят на множество аффинных субблоков изображения компенсации движения с одинаковым размером на основании размера деления. Затем, устройство декодирования/кодирования декодирует аффинный блок изображения на основании аффинных субблоков изображения компенсации движения. Следует отметить, что аффинный блок изображения, как правило, имеет форму правильного прямоугольника или квадрата. Соответственно, аффинный субблок изображения компенсации движения также имеет форму правильного прямоугольника или квадрата. Таким образом, после определения длины аффинного субблока изображения компенсации движения в горизонтальном направлении и вертикальном направлении, может быть определен общий размер аффинного суб-изображения компенсации движения. Горизонтальное направление и вертикальное направление представляют собой систему координат, которая обычно используется в предшествующем уровне техники и используется, чтобы найти положение блока изображения/аффинного блока изображения в видеоизображении. Горизонтальное направление обычно представляет собой направление длинной стороны обычного прямоугольного видеоизображения, вертикальное направление, обычно представляет собой направление короткой стороны обычного прямоугольного видеоизображения, и горизонтальное направление и вертикальное направление перпендикулярны друг к другу. Без потери общности, горизонтальное направление может быть заменено на первом направлении, и вертикальное направление может быть заменено на втором направлении, перпендикулярном первому направлению. Однако, для простоты описания, горизонтальное направление и вертикальное направление используются для описания в данном описании. Кроме того, «декодирование аффинного блока изображения», описанное в способе декодирования в данном описании, представляет собой процесс синтаксического разбора кодированных данных битового потока и восстановления кодированного изображения с помощью аффинного блока изображения в качестве базового блока. Хотя используют «декодирование аффинного блока изображения», нельзя считать, что аффинный блок изображения был восстановлен.Specifically, the decoding/encoding apparatus determines the motion vector difference of the affine image block based on the determined reference points, determines the motion vector accuracy of the affine image block, and determines the size of the affine sub-image sub-block of the motion compensation in the affine image block based on the determined motion vector difference and the motion vector accuracy. , a distance between control points, and an affine image block size, where the size of the motion compensation affine image subblock is the size used to divide the affine image block, and the affine image block is divided into a plurality of affine motion compensation image subblocks with the same size based on the division size. Then, the decoder/encoder decodes the affine image block based on the affine sub-blocks of the motion compensation image. It should be noted that the affine image block, as a rule, has the shape of a regular rectangle or square. Accordingly, the motion compensation image affine subblock also has the shape of a regular rectangle or square. Thus, after determining the length of the motion compensation affine sub-image in the horizontal direction and the vertical direction, the total size of the motion compensation affine sub-image can be determined. The horizontal direction and the vertical direction are a coordinate system that is commonly used in the prior art and is used to find the position of an image block/affine image block in a video image. The horizontal direction is generally the long side direction of the conventional rectangular video image, the vertical direction is generally the short side direction of the conventional rectangular video image, and the horizontal direction and the vertical direction are perpendicular to each other. Without loss of generality, the horizontal direction may be replaced with a first direction, and the vertical direction may be replaced with a second direction perpendicular to the first direction. However, for ease of description, the horizontal direction and the vertical direction are used for description in this specification. In addition, "affine image block decoding" described in the decoding method herein is a process of parsing encoded bitstream data and reconstructing an encoded image using an affine image block as a base block. Although "affine image block decoding" is used, the affine image block cannot be considered to have been recovered.

При выполнении способа декодирования видеоизображения в этом варианте осуществления настоящего изобретения, блок 662 компенсации движения определяет размер аффинного субблока изображения компенсации движения на основании определенной разности вектора движения и точности вектора движения аффинного блока изображения, расстояния между контрольными точками и размера аффинного блока изображения, делит аффинный блок изображения на множество аффинных суб-изображений компенсации движения одного размера на основании размера аффинного субблока изображения компенсации движения и затем выполняет обработку декодирования. Таким образом, в процессе декодирования аффинного субблока изображения компенсации движения с соответствующим размером может быть адаптивно выбран на основе изменения указанных выше параметров, сложность декодирования уменьшается и производительность повышается.When executing the video image decoding method in this embodiment of the present invention, the motion compensation block 662 determines the size of the motion compensation image affine sub-block based on the determined difference of the motion vector and the motion vector precision of the affine image block, the distance between control points, and the size of the affine image block, divides the affine block image into a plurality of affine motion compensation sub-images of the same size based on the size of the affine sub-image of the motion compensation image, and then performs decoding processing. Thus, in the process of decoding an affine sub-block of a motion compensation image with an appropriate size can be adaptively selected based on the change of the above parameters, the decoding complexity is reduced and the performance is improved.

Следует понимать, что в данном варианте осуществления настоящего изобретения, аффинный блок изображения (Affine) является блоком изображения, чьи векторы движения всех блоков соответствуют одинаковым аффинным моделям, например, одна и та же аффинная модель и может быть представлена с использованием такого же параметра или же группы параметров. Блок представляет собой группой пикселей, например, может представлять собой пиксель или может быть структурой блока 1 × 3 или 2 × 4 или тому подобное. Это не ограничивается в настоящем изобретении. Кроме того, в этом варианте осуществления настоящего изобретения, любые неперекрывающиеся пиксели могут быть выбраны в качестве контрольных точек для определения разности вектора движения аффинного блока. Это не ограничивается в настоящем изобретении.It should be understood that in this embodiment of the present invention, an affine image block (Affine) is an image block whose motion vectors of all blocks correspond to the same affine models, for example, the same affine model and can be represented using the same parameter or the same parameter groups. A block is a group of pixels, for example, may be a pixel, or may be a 1×3 or 2×4 block structure or the like. This is not limited in the present invention. In addition, in this embodiment of the present invention, any non-overlapping pixels can be selected as reference points for determining the motion vector difference of the affine block. This is not limited in the present invention.

Предпочтительно, S710 включает в себя:Preferably, S710 includes:

определение первого компонента разности векторов движения на основании разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной горизонтальной линии; и/илиdetermining a first motion vector difference component based on a difference between the motion vectors of the first reference point and the second reference point, which are located on the same horizontal line; and/or

определение второго компонента разности вектора движения на основании разности между векторами движения третьей контрольной точкой и четвертой контрольной точкой, которые расположены на одной вертикальной линии.determining a second motion vector difference component based on a difference between the motion vectors of the third reference point and the fourth reference point, which are located on the same vertical line.

Существует первое горизонтальное расстояние между первой контрольной точкой и второй контрольной точкой, и есть первое вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой. Следует отметить, что «и/или» в решении в этапе S710 конкретно указывает следующие три различные технические решения:There is a first horizontal distance between the first control point and the second control point, and there is a first vertical distance between the third control point and the fourth control point. It should be noted that "and/or" in the decision in step S710 specifically indicates the following three different technical solutions:

Решение 1: способ определения разности вектора движения аффинного блока изображения на основании трех контрольных точек включает в себя: определение первого компонента разности вектора движения на основании разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной и той же горизонтальной линии, и определение второго компонента разности вектора движения на основании разности между векторами движения третьей контрольной точки и четвертой контрольной точки, которые расположены на одной и той же вертикальной линии.Solution 1: A method for determining a motion vector difference of an affine image block based on three control points includes: determining a first motion vector difference component based on a difference between the motion vectors of the first control point and the second control point, which are located on the same horizontal line, and determining a second motion vector difference component based on a difference between the motion vectors of the third reference point and the fourth reference point, which are located on the same vertical line.

Решение 2: способ определения разности вектора движения аффинного блока изображения на основании двух контрольных точек в горизонтальном направлении включает в себя: определение первого компонента разности вектора движения на основании разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной и той же горизонтальной линии.Solution 2: A method for determining a motion vector difference of an affine image block based on two control points in the horizontal direction includes: determining a first motion vector difference component based on a difference between the motion vectors of the first control point and the second control point, which are located on the same horizontal line.

Решение 3: способ определения разности вектора движения аффинного блока изображения на основании двух контрольных точек в вертикальном направлении включает в себя: определение второго компонента разности вектора движения на основании разности между векторами движения третьей контрольной точки и четвертой контрольной точки, которые расположены на одной и той же вертикальной линии.Solution 3: A method for determining a motion vector difference of an affine image block based on two control points in the vertical direction includes: determining a second motion vector difference component based on a difference between the motion vectors of the third control point and the fourth control point, which are located on the same vertical line.

Следует понимать, что в данном варианте осуществления настоящего изобретения, первый компонент разности вектора движения является горизонтальной составляющей разности векторов движения, и второй компонент разности вектора движения представляет собой вертикальный компонент разности векторов движения. В решении 1, первый компонент разности вектора движения и второй компонент разности вектора движения совместно отражают разность вектора движения аффинного блока изображения. Тем не менее, в решении 2 и решении 3 первый компонент разности вектора движения и второй компонент разности вектора движения независимо друг от друга отражают разность вектора движения аффинного блока изображения. Другими словами, в решении 1, разность вектора движения аффинного блока изображения включает в себя первый компонент разности вектора движения и второй компонент разности вектора движения; в решении 2 разность вектора движения аффинного блока изображения включает в себя первый компонент разности вектора движения; и в решении 3 разность вектора движения аффинного блока изображения включает в себя второй компонент разности вектора движения. Следует также понимать, что в данном варианте осуществления настоящего изобретения, первый, второй, третий и четвертый только используются для различения пикселей и не должны представлять собой какое-либо ограничение объема защиты настоящего изобретения. Например, первая контрольная точка также может упоминаться в качестве второй контрольной точки и вторая контрольная точка может упоминаться в качестве первой контрольной точки.It should be understood that in this embodiment of the present invention, the first motion vector difference component is the horizontal motion vector difference component, and the second motion vector difference component is the vertical motion vector difference component. In Solution 1, the first motion vector difference component and the second motion vector difference component together reflect the motion vector difference of the affine image block. However, in Solution 2 and Solution 3, the first motion vector difference component and the second motion vector difference component independently reflect the motion vector difference of the affine image block. In other words, in Solution 1, the motion vector difference of the affine image block includes a first motion vector difference component and a second motion vector difference component; in solution 2, the motion vector difference of the affine image block includes the first motion vector difference component; and in solution 3, the motion vector difference of the affine image block includes a second motion vector difference component. It should also be understood that in this embodiment of the present invention, the first, second, third and fourth are only used to distinguish between pixels and should not constitute any limitation on the protection scope of the present invention. For example, the first reference point may also be referred to as the second reference point, and the second reference point may be referred to as the first reference point.

Дополнительно, в этом варианте осуществления настоящего изобретения, первая контрольная точка и третья контрольная точка являются такими же пикселями. Более конкретно, выбраны три контрольные точки и одна из трех контрольных точек находятся на одной горизонтальной линии в качестве одной из двух других контрольных точек, и расположена на одной вертикальной линии в качестве последней контрольной точки.Further, in this embodiment of the present invention, the first reference point and the third reference point are the same pixels. More specifically, three control points are selected and one of the three control points is on the same horizontal line as one of the other two control points, and is located on the same vertical line as the last control point.

Возможно, в этом варианте осуществления настоящего изобретения, первой контрольной точкой, второй контрольной точкой, третьей контрольной точкой и четвертой контрольной точкой являются вершинами аффинного блока. Предполагают, что четыре вершины в аффинном блоке, соответственно, обозначены как верхняя левая вершина, нижняя левая вершина, верхняя правая вершина и нижняя правая вершина.Perhaps, in this embodiment of the present invention, the first control point, the second control point, the third control point and the fourth control point are the vertices of the affine block. The four vertices in an affine block are assumed to be respectively labeled top left, bottom left, top right, and bottom right.

В решении 1, любые три вершин в двух ортогональных направлениях могут быть выбраны для определения разности вектора движения аффинного блока. Например, верхняя левая вершина, нижняя левая вершина и верхняя правая вершина могут быть выбраны, или могут быть выбраны верхняя левая вершина, верхняя правая вершина и нижняя правая вершина.In solution 1, any three vertices in two orthogonal directions can be chosen to determine the difference in the motion vector of the affine block. For example, the top left vertex, bottom left vertex, and top right vertex may be selected, or the top left vertex, top right vertex, and bottom right vertex may be selected.

В решении 2, могут быть выбраны любые две вершины, расположенные на одной горизонтальной линии, чтобы определить разность вектора движения аффинного блока. Например, могут быть выбраны верхняя левая вершина и верхняя правая вершина или могут быть выбраны нижняя левая вершина и нижняя правая вершина.In solution 2, any two vertices located on the same horizontal line can be selected to determine the difference in the motion vector of the affine block. For example, the top left vertex and top right vertex may be selected, or the bottom left vertex and bottom right vertex may be selected.

В решении 3, могут быть выбраны любые две вершины, расположенные на одной и той же вертикальной линии, чтобы определить разность вектора движения аффинного блока. Например, могут быть выбраны верхняя левая вершина и нижняя левая вершина или могут быть выбраны верхняя правая вершина и нижняя правая вершина. Это не ограничивается в настоящем изобретении.In solution 3, any two vertices located on the same vertical line can be selected to determine the difference in the motion vector of the affine block. For example, the top left vertex and bottom left vertex may be selected, or the top right vertex and bottom right vertex may be selected. This is not limited in the present invention.

Возможно, в этом варианте осуществления настоящего изобретения, разница между компонентами, которые являются векторами движения первой контрольной точки и второй контрольной точки, и которые находятся в одном из двух направлений (горизонтальное направление и вертикальное направление, или называют направление х и направление у), может быть определены в качестве первого компонента разности вектора движения аффинного блока и разница между компонентами, которые являются векторами движения третьей контрольной точки и четвертой контрольной точки, и в любом из двух направлений может быть определена в качестве второй компоненты разности вектора движения аффинного блока. Способ определения разности вектора движения применяется к решениям 1, 2 и 3. В качестве альтернативы, в соответствии с фактическими потребностями сложности кодирования и производительности кодирования, значения между двумя разностями между компонентами векторов движения первой контрольной точки и второй контрольной точки в двух направлениях, может быть выбрана и определена в качестве первого компонента, и значение между двумя разностями между компонентами векторов движения третьей контрольной точки и четвертой контрольной точки в двух направлениях, может быть выбрана и определена в качестве второго компонента. Это не ограничивается в настоящем изобретении.Possibly, in this embodiment of the present invention, the difference between the components that are the motion vectors of the first reference point and the second reference point, and which are in one of two directions (horizontal direction and vertical direction, or referred to as the x-direction and y-direction), may be defined as the first component of the difference of the motion vector of the affine block and the difference between the components that are the motion vectors of the third control point and the fourth control point, and in either of the two directions can be determined as the second component of the difference of the motion vector of the affine block. The method for determining the motion vector difference is applied to solutions 1, 2, and 3. Alternatively, according to the actual needs of coding complexity and coding performance, the values between two differences between the motion vector components of the first reference point and the second reference point in two directions may be is selected and determined as the first component, and a value between two differences between the motion vector components of the third reference point and the fourth reference point in two directions may be selected and determined as the second component. This is not limited in the present invention.

Вектор движения каждой из первой контрольной точки до четвертой контрольной точки, как правило, включает в себя два компонента, то есть горизонтальную составляющая и вертикальную составляющую. Таким образом, в предшествующих этапах, определение первого компонента разности вектора движения на основании разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной горизонтальной линии, и определение второго компонента разности вектора движения на основании разности между векторами движения третьей контрольной точки и четвертой контрольной точки, которые расположены на одной вертикальной линии, может быть конкретно реализована следующим образом:The motion vector of each from the first waypoint to the fourth waypoint typically includes two components, ie, a horizontal component and a vertical component. Thus, in the preceding steps, determining the first motion vector difference component based on the difference between the motion vectors of the first reference point and the second reference point, which are located on the same horizontal line, and determining the second motion vector difference component based on the difference between the motion vectors of the third reference point and the fourth control point, which are located on the same vertical line, can be concretely implemented as follows:

определение первой горизонтальной составляющей разности и первая вертикальная составляющая разности между векторами движения первой контрольной точки и второй контрольной точки, и определение больше одной первой горизонтальной составляющей разности и первой вертикальной составляющей разницы в качестве первого компонента разности вектора движения; иdetermining a first horizontal difference component and a first vertical difference component between the motion vectors of the first reference point and the second reference point, and determining more than one first horizontal difference component and the first vertical difference component as the first motion vector difference component; and

соответственно, определение второй горизонтальной составляющей разности и второй вертикальной составляющей разницы между векторами движения третьей контрольной точки и четвертой контрольной точки, и определение больше одной второй горизонтальной составляющей разности и второй вертикальной составляющей разницы в качестве второго компонента разности вектора движения.respectively, determining the second horizontal difference component and the second vertical difference component between the motion vectors of the third reference point and the fourth reference point, and determining more than one second horizontal difference component and the second vertical difference component as the second motion vector difference component.

Более конкретно, если

Figure 00000040
и
Figure 00000041
используют для представления горизонтальной составляющей и вертикальной составляющей вектора движения пикселя на позиции
Figure 00000042
, разность вектора движения аффинного блока может быть определена в соответствии с формулами (13) и (14):More specifically, if
Figure 00000040
and
Figure 00000041
is used to represent the horizontal component and the vertical component of the motion vector of a pixel at a position
Figure 00000042
, the difference of the motion vector of the affine block can be determined in accordance with formulas (13) and (14):

Figure 00000043
(13)
Figure 00000043
(thirteen)

Figure 00000044
(14)
Figure 00000044
(fourteen)

Figure 00000045
представляет собой максимальное значение,
Figure 00000046
представляет собой горизонтальную составляющая разности вектора движения аффинного блока,
Figure 00000047
представляет собой вертикальную составляющая разности вектора движения аффинного блока, W представляет собой первое горизонтальное расстояние между первой контрольной точкой и второй контрольной точкой, и Н представляет собой первое вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой. Со ссылкой на фиг.8, формула (13) выражает, что вектор движения горизонтальной разности
Figure 00000046
является максимальной дельтой компонентов векторов движения двух контрольных точек в одном и том же горизонтальном направлении, другими словами, абсолютное значение разности вектора движения является самым большим. Например, вершины 0 и 1 или вершины 2 и 3 могут быть выбраны в качестве контрольных точек, чтобы вычислить
Figure 00000046
. Формула (14) выражает, что вектор движения вертикальной разности
Figure 00000047
является максимальной дельтой компонентов векторов движения двух контрольных точек в одном и том же вертикальном направлении, другими словами, абсолютное значение разности вектора движения является самым большим. Например, вершины 0 и 2 или вершины 1 и 3 могут быть выбраны в качестве контрольных точек, чтобы вычислить
Figure 00000047
. Это может быть понятно, что формулы (13) и (14) применимы к любому из решений 1, 2 и 3. Детали представлены следующим образом:
Figure 00000045
represents the maximum value,
Figure 00000046
represents the horizontal component of the difference of the motion vector of the affine block,
Figure 00000047
is the vertical difference component of the motion vector of the affine block, W is the first horizontal distance between the first control point and the second control point, and H is the first vertical distance between the third control point and the fourth control point. Referring to FIG. 8, formula (13) expresses that the motion vector of the horizontal difference
Figure 00000046
is the maximum delta of the motion vector components of the two control points in the same horizontal direction, in other words, the absolute value of the motion vector difference is the largest. For example, vertices 0 and 1 or vertices 2 and 3 can be chosen as control points to calculate
Figure 00000046
. Formula (14) expresses that the motion vector of the vertical difference
Figure 00000047
is the maximum delta of the motion vector components of the two control points in the same vertical direction, in other words, the absolute value of the motion vector difference is the largest. For example, vertices 0 and 2 or vertices 1 and 3 can be chosen as control points to calculate
Figure 00000047
. It can be understood that formulas (13) and (14) apply to any of solutions 1, 2 and 3. Details are presented as follows:

В решении 1, разность вектора движения аффинного блока изображения определяют на основании трех контрольных точек, и разность вектора движения включает в себя первый компонент и второй компонент. Таким образом, в решении 1, разность вектора движения аффинного блока изображения получают при использовании комбинации формулы (13) и формулы (14).In Solution 1, a motion vector difference of an affine image block is determined based on three control points, and the motion vector difference includes a first component and a second component. Thus, in solution 1, the motion vector difference of the affine image block is obtained by using a combination of formula (13) and formula (14).

В решении 2, разность вектора движения аффинного блока изображения определяются на основании двух контрольных точек в горизонтальном направлении, и разность вектора движения включает в себя только первый компонент. Таким образом, в решении 2 разность вектора движения аффинного блока изображения получают с использованием формулы (13). Фиг.8 используется в качестве примера. В большинстве случаев, вектор движения вершины в аффинном блоке известен. В этом случае, разность вектора движения может быть непосредственно вычислена на основании вектора движения вершины в аффинном блоке.In Solution 2, the motion vector difference of the affine image block is determined based on two control points in the horizontal direction, and the motion vector difference only includes the first component. Thus, in solution 2, the motion vector difference of the affine image block is obtained using formula (13). Fig. 8 is used as an example. In most cases, the motion vector of a vertex in an affine block is known. In this case, the motion vector difference can be directly computed based on the motion vector of the vertex in the affine block.

Если векторы

Figure 00000048
и
Figure 00000049
движения вершин в аффинной блоке на фиг. 8 известны, то:If the vectors
Figure 00000048
and
Figure 00000049
vertex movements in the affine block in Fig. 8 are known, then:

Figure 00000050
(15)
Figure 00000050
(fifteen)

Если векторы

Figure 00000051
и
Figure 00000052
движения вершин в аффинной блоке на фиг. 8 известны, то:If the vectors
Figure 00000051
and
Figure 00000052
vertex movements in the affine block in Fig. 8 are known, then:

Figure 00000053
(16)
Figure 00000053
(sixteen)

Может быть выбрана также комбинация других известных векторов движения. Это не ограничивается в настоящем изобретении.A combination of other known motion vectors may also be selected. This is not limited in the present invention.

Эти векторы движения контрольных точек, используемые в вышеприведенном решении, могут быть получены на основании модели аффинного преобразования. Например, когда используется 4-параметровая модель аффинного преобразования, и (0,0) на верхнем левом углу и (W, 0) на верхнем правом углу в аффинном блоке изображения используют в качестве контрольных точек, формула модели выглядит следующим образом:These control point motion vectors used in the above solution can be obtained based on an affine transformation model. For example, when a 4-parameter affine transformation model is used, and (0,0) at the top left and (W, 0) at the top right in an affine image block are used as control points, the model formula is as follows:

Figure 00000054
(17)
Figure 00000054
(17)

Figure 00000055
и
Figure 00000056
, соответственно, являются векторами движения контрольных точек на верхнем левом углу и правом верхнем углу. Если координаты
Figure 00000057
и
Figure 00000058
контрольных точек в нижнем левом углу и нижнем правом углу подставить в формулу, то может быть получено
Figure 00000059
и
Figure 00000060
.
Figure 00000055
and
Figure 00000056
, respectively, are the motion vectors of the top left and top right control points. If the coordinates
Figure 00000057
and
Figure 00000058
control points in the lower left corner and lower right corner are substituted into the formula, then can be obtained
Figure 00000059
and
Figure 00000060
.

В решении 3 разность вектора движения аффинного блока изображения определяют на основании двух контрольных точек в вертикальном направлении, и разность вектора движения включает в себя только второй компонент. Таким образом, в решении 3 разность вектора движения аффинного блока изображения получают с использованием формулы (14). Фиг.8 используется в качестве примера. В большинстве случаев, вектор движения вершины в аффинном блоке известен. В этом случае, разность вектора движения может быть непосредственно вычислена на основании вектора движения вершины в аффинном блоке.In Solution 3, the motion vector difference of the affine image block is determined based on two control points in the vertical direction, and the motion vector difference includes only the second component. Thus, in solution 3, the motion vector difference of the affine image block is obtained using formula (14). Fig. 8 is used as an example. In most cases, the motion vector of a vertex in an affine block is known. In this case, the motion vector difference can be directly computed based on the motion vector of the vertex in the affine block.

Если векторы

Figure 00000048
и
Figure 00000051
движения вершин в аффинной блоке на фиг. 8 известны, то:If the vectors
Figure 00000048
and
Figure 00000051
vertex movements in the affine block in Fig. 8 are known, then:

Figure 00000061
(18)
Figure 00000061
(eighteen)

Если векторы

Figure 00000049
и
Figure 00000052
движения вершин в аффинной блоке на фиг. 8 известны, то:If the vectors
Figure 00000049
and
Figure 00000052
vertex movements in the affine block in Fig. 8 are known, then:

Figure 00000062
(19)
Figure 00000062
(nineteen)

Также может быть выбрана комбинация других известных векторов движения. Это не ограничивается в настоящем изобретении.A combination of other known motion vectors may also be selected. This is not limited in the present invention.

Эти векторы движения контрольных точек, используемые в вышеприведенном решении, могут быть получены на основе модели аффинного преобразования. Например, когда используется 4-параметровая модель аффинного преобразования и (0,0) на верхнем левом углу и (0, Н) на нижнем левом углу используются в качестве контрольных точек, формула модели выглядит следующим образом:These control point motion vectors used in the above solution can be obtained based on the affine transformation model. For example, when a 4-parameter affine transformation model is used and (0,0) at the top left and (0, H) at the bottom left are used as control points, the model formula is:

Figure 00000038
(20)
Figure 00000038
(20)

Figure 00000055
и
Figure 00000059
, соответственно, являются векторами движения контрольных точек на верхнем левом углу и в нижнем левом углу. Если координаты
Figure 00000063
и
Figure 00000058
контрольных точек на верхний правом углу и нижнем правом углу подставляют в формулу, то может быть получено
Figure 00000056
и
Figure 00000060
.
Figure 00000055
and
Figure 00000059
, respectively, are the motion vectors of the top left and bottom left control points. If the coordinates
Figure 00000063
and
Figure 00000058
control points on the upper right corner and lower right corner are substituted into the formula, then can be obtained
Figure 00000056
and
Figure 00000060
.

Возможно, в этом варианте осуществления настоящего изобретения, разность вектора движения получают на основе аффинной модели, то есть разность вектора движения получают путем определения параметра аффинного преобразования пикселя в аффинном блоке изображения. Следует отметить, что пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования.Perhaps, in this embodiment of the present invention, the motion vector difference is obtained based on the affine model, that is, the motion vector difference is obtained by determining the affine transformation parameter of a pixel in the affine image block. It should be noted that pixels in an affine image block have the same affine transformation parameter.

Соответственно, вышеприведенный этап определения первой горизонтальной составляющей разницы и первой вертикальной составляющей разницы между векторами движения первой контрольной точки и второй контрольной точки конкретно является: определение первой горизонтальной составляющей разности и первой вертикальной составляющей разности на основании параметра аффинного преобразования и первого горизонтального расстояния; и предшествующий этап определения второй горизонтальной составляющей разницы и второй вертикальной составляющей разницы между векторами движения третьей контрольной точки и четвертой контрольной точки является: определение второй горизонтальной составляющей разности и второй вертикальной составляющей разности на основании параметра аффинного преобразования и первого вертикального расстояния.Accordingly, the above step of determining the first horizontal difference component and the first vertical difference component between the motion vectors of the first reference point and the second reference point is specifically: determining the first horizontal difference component and the first vertical difference component based on the affine transformation parameter and the first horizontal distance; and the preceding step of determining the second horizontal difference component and the second vertical difference component between the motion vectors of the third reference point and the fourth reference point is: determining the second horizontal difference component and the second vertical difference component based on the affine transform parameter and the first vertical distance.

Следует понимать, что порядковые номера упомянутых процессов не указывают на последовательность выполнения. Последовательность выполнения процессов должна быть определена на основе функций и внутренней логике процессов, и не должна представлять собой какое-либо ограничение в процессах реализации этого варианта осуществления настоящего изобретения.It should be understood that the sequence numbers of the mentioned processes do not indicate the sequence of execution. The sequence of execution of the processes should be determined based on the functions and internal logic of the processes, and should not represent any limitation in the processes of implementing this embodiment of the present invention.

Возможно, в этом варианте осуществления настоящего изобретения, модель аффинного преобразования может быть 6-параметровой моделью аффинного преобразования предшествующего уровня техники, или может быть 4-параметровой или 2-параметровой моделью аффинного преобразования предшествующего уровня техники. 6-параметровая модель аффинного преобразования, в основном, применяется к сценарию в решении 1 на основе трех контрольных точек, и 4-параметровая модель аффинного преобразования, в основном, применяется для сценариев в решении 2 и решении 3 на основе двух контрольных точек. Ниже описан способ получения разности вектора движения на основе параметров аффинного преобразования по отдельности, используя 6-параметровую модель аффинного преобразования и 4-параметровую модель аффинного преобразования, в качестве примера.Possibly, in this embodiment of the present invention, the affine transform model may be a prior art 6-parameter affine transform model, or may be a prior art 4-parameter or 2-parameter affine transform model. The 6-parameter affine transformation model is mainly applied to the scenario in Solution 1 based on three control points, and the 4-parameter affine transformation model is mainly applied to the scenarios in Solution 2 and Solution 3 based on two control points. The following describes a method for obtaining a motion vector difference based on the affine transform parameters separately, using the 6-parameter affine transform model and the 4-parameter affine transform model as an example.

В 6-параметровой модели аффинного преобразования предполагают, что

Figure 00000018
являются координатами пикселя
Figure 00000064
в текущем аффинном блоке изображения в текущем изображении,
Figure 00000020
являются координатами пикселя
Figure 00000021
, который находится в опорном изображении, и который соответствует пикселю
Figure 00000064
, и
Figure 00000022
являются параметрами аффинного преобразования. Если параметры аффинного преобразования известны, то может быть вычислена позиция
Figure 00000065
пикселя
Figure 00000018
в опорном изображении и, следовательно, может быть получен сигнал предсказания пикселя из опорного изображения.In the 6-parameter affine transformation model, it is assumed that
Figure 00000018
are pixel coordinates
Figure 00000064
in the current affine image block in the current image,
Figure 00000020
are pixel coordinates
Figure 00000021
, which is in the reference image, and which corresponds to the pixel
Figure 00000064
, and
Figure 00000022
are parameters of the affine transformation. If the parameters of the affine transformation are known, then the position can be calculated
Figure 00000065
pixel
Figure 00000018
in the reference image, and therefore a pixel prediction signal can be obtained from the reference image.

Figure 00000066
(21)
Figure 00000066
(21)

Figure 00000067
(22)
Figure 00000067
(22)

Параметры аффинного преобразования обычно могут быть вычислены на основании векторов движения некоторых пикселей в аффинном блоке изображения, и горизонтальная составляющая и вертикальная составляющая вектора движения могут быть выражены с помощью формул (23) и (24), соответственно:The affine transform parameters can usually be calculated based on the motion vectors of some pixels in the affine image block, and the horizontal component and the vertical component of the motion vector can be expressed using formulas (23) and (24), respectively:

Figure 00000068
(23)
Figure 00000068
(23)

Figure 00000069
(24)
Figure 00000069
(24)

Формулу (21) подставляют в формулу (23), и формулу (22) подставляют в формулу (24), чтобы получить горизонтальную составляющую и вертикальную составляющую вектора движения пикселя с координатами (х, у), где горизонтальная составляющая и вертикальная составляющая выражают формулами (25) и (26), соответственно:Formula (21) is substituted into formula (23), and formula (22) is substituted into formula (24) to obtain the horizontal component and the vertical component of the motion vector of the pixel with coordinates (x, y), where the horizontal component and the vertical component are expressed by the formulas ( 25) and (26), respectively:

Figure 00000070
(25)
Figure 00000070
(25)

Figure 00000071
(26)
Figure 00000071
(26)

Формулу (25) подставляют в формулу (13), и формулу (26) подставляют в формулу (14). Таким образом, формулы (13) и (14) преобразуются в формулы (27) и (28), соответственно:Formula (25) is substituted into formula (13), and formula (26) is substituted into formula (14). Thus, formulas (13) and (14) are transformed into formulas (27) and (28), respectively:

Figure 00000072
(27)
Figure 00000072
(27)

Figure 00000073
(28)
Figure 00000073
(28)

Первый компонент и второй компонент разности вектора движения аффинного блока могут быть определены на основании расстояния между контрольными точками и путем определения параметров

Figure 00000074
,
Figure 00000075
,
Figure 00000076
и
Figure 00000077
аффинного преобразованием.The first component and the second component of the difference of the motion vector of the affine block can be determined based on the distance between the control points and by specifying the parameters
Figure 00000074
,
Figure 00000075
,
Figure 00000076
and
Figure 00000077
affine transformation.

В 4-параметровой модели аффинного преобразования предполагают, что

Figure 00000018
являются координатами пикселя
Figure 00000064
в аффинном блоке изображения в текущем изображении,
Figure 00000065
являются координатами пикселя
Figure 00000021
, который находится в опорном изображении, и который соответствует пикселю
Figure 00000064
, и
Figure 00000078
являются параметрами аффинного преобразования. Если параметры аффинного преобразования известны, то может быть вычислена позиция
Figure 00000065
пикселя
Figure 00000018
в опорном изображении и, следовательно, может быть получен сигнал предсказания для пикселя из опорного изображения:In the 4-parameter affine transformation model, it is assumed that
Figure 00000018
are pixel coordinates
Figure 00000064
in an affine image block in the current image,
Figure 00000065
are pixel coordinates
Figure 00000021
, which is in the reference image, and which corresponds to the pixel
Figure 00000064
, and
Figure 00000078
are parameters of the affine transformation. If the parameters of the affine transformation are known, then the position can be calculated
Figure 00000065
pixel
Figure 00000018
in the reference image, and therefore a prediction signal for a pixel from the reference image can be obtained:

Figure 00000079
(29)
Figure 00000079
(29)

Figure 00000080
(30)
Figure 00000080
(thirty)

Формула (29) соответствует сценарию в решении 2, в котором разность вектора движения аффинного блока изображения определяется на основании двух контрольных точек в горизонтальном направлении. Формула (30) соответствует сценарию в решении 3, в котором разность вектора движения аффинного блока изображения определяется на основании двух контрольных точек в вертикальном направлении.Formula (29) corresponds to the scenario in solution 2, in which the motion vector difference of an affine image block is determined based on two control points in the horizontal direction. Formula (30) corresponds to the scenario in solution 3, in which the motion vector difference of an affine image block is determined based on two control points in the vertical direction.

Параметры аффинного преобразования, как правило, могут быть рассчитаны на основе векторов движения некоторых пикселей в блоке изображения. Для горизонтальной составляющей и вертикальной составляющей вектора движения сделана ссылка на формулы (23) и (24). Формулы (29) и (30) подставляют в формулы (23) и (24), соответственно, чтобы получить горизонтальную составляющую и вертикальную составляющую вектора движения пикселя с координатами (х, у), где горизонтальная составляющая и вертикальная составляющая выражаются формулами (31) и (32) соответственно:The affine transform parameters can usually be calculated based on the motion vectors of some pixels in the image block. For the horizontal component and the vertical component of the motion vector, reference is made to formulas (23) and (24). Formulas (29) and (30) are substituted into formulas (23) and (24), respectively, to obtain the horizontal component and vertical component of the pixel motion vector with coordinates (x, y), where the horizontal component and vertical component are expressed by formulas (31) and (32) respectively:

Figure 00000081
(31)
Figure 00000081
(31)

Figure 00000082
(32)
Figure 00000082
(32)

Формулы (31) и (32) подставляют в формулы (13) и (14). Таким образом, формулы (13) и (14) преобразуются в формулы (33) и (34), соответственно:Formulas (31) and (32) are substituted into formulas (13) and (14). Thus, formulas (13) and (14) are transformed into formulas (33) and (34), respectively:

Figure 00000083
(33)
Figure 00000083
(33)

Figure 00000084
(34)
Figure 00000084
(34)

Первый компонент или второй компонент разности векторов движения аффинного блока в сценарии в решении 2 или решении 3 может быть определен на основании расстояния между контрольными точками и путем определения параметров a и b аффинного преобразования.The first component or second component of the motion vector difference of the affine block in the scenario in Decision 2 or Decision 3 may be determined based on the distance between control points and by determining the parameters a and b of the affine transformation.

Следует понимать, что способ определения разности вектора движения при использовании 2-параметровой модели аффинного преобразования является, по существу, таким же, как способ определения разности вектора движения, используемый при 6-параметровой модели аффинного преобразования или 4-параметровой модели аффинного преобразования. Для краткости, детали не описаны здесь еще раз.It should be understood that the method for determining the motion vector difference using the 2-parameter affine transform model is essentially the same as the method for determining the motion vector difference used for the 6-parameter affine transform model or the 4-parameter affine transform model. For brevity, the details are not described here again.

Возможно, в этом варианте осуществления настоящего изобретения, в процессе декодирования параметры аффинного преобразования могут быть получены путем выполнения итеративного расчета параметра. Например, параметр а увеличиваются на 1, чтобы определить, является ли оптимальной модель на основании которой получен сигнал предсказания с компенсацией движения. В качестве альтернативы, параметры аффинного преобразования могут быть получены путем вычитания на основании параметра аффинного преобразования соседнего аффинного блока. Тем не менее, это не ограничивается в настоящем изобретении.Perhaps, in this embodiment of the present invention, in the decoding process, the affine transform parameters can be obtained by performing iterative parameter calculation. For example, the parameter a is incremented by 1 to determine if the model based on which the motion-compensated prediction signal is derived is optimal. Alternatively, the affine transformation parameters may be obtained by subtraction based on the affine transformation parameter of an adjacent affine block. However, this is not limited in the present invention.

Возможно, в этом варианте осуществления настоящего изобретения, вектор движения первой контрольной точки, вектор движения второй контрольной точки, вектор движения третьей контрольной точки и вектор движения четвертой контрольной точки могут быть определены для определения разности вектора движения аффинного блока изображения.Perhaps, in this embodiment of the present invention, the motion vector of the first reference point, the motion vector of the second reference point, the motion vector of the third reference point, and the motion vector of the fourth reference point can be determined to determine the motion vector difference of the affine image block.

Соответственно, в сценарии в решении 1, разница между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки определяют в качестве первой горизонтальной составляющей разности; разница между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки определяют как первую вертикальную составляющую разности; разница между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки определяют в качестве второй горизонтальной составляющей разности; и разница между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки определяются в качестве второй вертикальной составляющей разности.Accordingly, in the scenario in Solution 1, the difference between the horizontal motion vector component of the first reference point and the horizontal motion vector component of the second reference point is determined as the first horizontal component of the difference; the difference between the vertical component of the motion vector of the first reference point and the vertical component of the motion vector of the second reference point is determined as the first vertical component of the difference; the difference between the horizontal component of the motion vector of the third reference point and the horizontal component of the motion vector of the fourth reference point is determined as the second horizontal component of the difference; and a difference between the vertical motion vector component of the third reference point and the vertical motion vector component of the fourth reference point are determined as the second vertical difference component.

В сценарии в решении 2, разница между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки определяют как первую горизонтальную составляющую разности; и разница между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки определяют как первую вертикальную составляющую разности.In the scenario in Solution 2, the difference between the horizontal motion vector component of the first control point and the horizontal motion vector component of the second control point is determined as the first horizontal component of the difference; and the difference between the vertical component of the motion vector of the first reference point and the vertical component of the motion vector of the second reference point is determined as the first vertical component of the difference.

В сценарии в решении 3 разница между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки определяют в качестве второй горизонтальной составляющей разности; и разница между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки определяются в качестве второй вертикальной составляющей разности.In the scenario in Solution 3, the difference between the horizontal motion vector component of the third reference point and the horizontal motion vector component of the fourth reference point is determined as the second horizontal component of the difference; and a difference between the vertical motion vector component of the third reference point and the vertical motion vector component of the fourth reference point are determined as the second vertical difference component.

В частности, векторы движения контрольных точек могут быть непосредственно определены, и первый компонент и второй компонент разности векторов движения аффинного блока могут быть непосредственно получены путем вычисления разницы между компонентами векторов движения.In particular, the motion vectors of the control points can be directly determined, and the first component and the second component of the difference of the motion vectors of the affine block can be directly obtained by calculating the difference between the components of the motion vectors.

Например, фиг.9 представляет собой схему аффинного блока изображения и контрольные точки в соответствии с вариантом осуществления настоящего изобретения. Две контрольные точки А и В на расстоянии

Figure 00000085
расположены на одной горизонтальной линии, и две контрольные точки C и D на расстоянии
Figure 00000086
расположены на одной вертикальной линии. Если векторы движения контрольных точек A, B, C и D известны, то первый компонент и второй компонент разности вектора движения аффинного блока могут быть определены в соответствии с формулами (35) и (36):For example, FIG. 9 is a diagram of an affine image block and control points in accordance with an embodiment of the present invention. Two control points A and B in the distance
Figure 00000085
are on the same horizontal line, and the two control points C and D are at a distance
Figure 00000086
located on the same vertical line. If the motion vectors of control points A, B, C and D are known, then the first component and the second component of the difference of the motion vector of the affine block can be determined in accordance with formulas (35) and (36):

Figure 00000087
(35)
Figure 00000087
(35)

Figure 00000088
(36)
Figure 00000088
(36)

Возможно, в этом варианте осуществления настоящего изобретения, контрольные точки А и С могут быть одинаковыми пикселями.Possibly, in this embodiment of the present invention, reference points A and C may be the same pixels.

Возможно, в этом варианте осуществления настоящего изобретения, контрольные точки А, В, С и D могут быть вершинами аффинного блока. В этом случае, расстояние между контрольными точками А и В представляет собой ширина W аффинного блока, и расстояние между контрольными точками C и D представляет собой высоту Н аффинного блока.Possibly, in this embodiment of the present invention, control points A, B, C, and D may be affine block vertices. In this case, the distance between control points A and B is the width W of the affine block, and the distance between control points C and D is the height H of the affine block.

Возможно, в этом варианте осуществления настоящего изобретения первая контрольная точка и вторая контрольная точка являются двумя соседними пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями. Другими слова, контрольные точки не обязательно выбраны из четырех угловых точек, также упоминаются как вершины, в аффинном блоке изображения, но могут быть точками, которые находятся на любой позиции в аффинном блоке изображения и совместно установленные на стороне кодера и стороне декодера, явно указанные в битовом потоке с использованием сигнализации, или получены с помощью оценки или дублирования на основании контрольных точек в окружающем аффинном блоке изображения. В этом случае, определение первой горизонтальной составляющей разности, первой вертикальной составляющей разницы, второй горизонтальной составляющей разницы и второй вертикальной составляющей разницы, конкретно именно является следующим:Perhaps, in this embodiment of the present invention, the first control point and the second control point are two adjacent pixels, and the third control point and the fourth control point are two adjacent pixels. In other words, the control points are not necessarily chosen from the four corner points, also referred to as vertices, in the affine image block, but can be points that are at any position in the affine image block and are jointly set on the encoder side and the decoder side, explicitly specified in bitstream using signaling, or obtained by estimation or duplication based on breakpoints in the surrounding affine image block. In this case, the definitions of the first horizontal difference component, the first vertical difference component, the second horizontal difference component, and the second vertical difference component, are specifically as follows:

Определяют вектор движения первого пикселя, вектор движения второго пиксела и вектор движения третьего пикселя, где первый пиксель, второй пиксель и третий пиксель являются пикселями, которые не перекрываются с друг с другом; определяют второе горизонтальное расстояние и второе вертикальное расстояние между первым пикселем и вторым пикселем; определяют третье горизонтальное расстояние и третье вертикальное расстояние между первым пикселем и третьим пикселем; определяют первую горизонтальную составляющую разности, первую вертикальную составляющую разницы, вторую горизонтальную составляющую разности и вторую вертикальную составляющую разности на основании вектора движения первого пикселя, вектора движения второго пикселя, вектора движения третьего пикселя, второго горизонтального расстояния, второго вертикального расстояния, третьего горизонтального расстояния и третьего вертикального расстояния. Вышеизложенное описание основано на решении 1 трех контрольных точек в качестве примера. Различие между решением 2 или решением 3 на основе двух контрольных точек и решением 1 на основе трех контрольных точки заключается: используют только первый компонент разности или второй компонент разницы в решении 1 в качестве разности вектора движения аффинного блока изображения на основе двух контрольных точек.A first pixel motion vector, a second pixel motion vector, and a third pixel motion vector are determined, where the first pixel, the second pixel, and the third pixel are pixels that do not overlap with each other; determining a second horizontal distance and a second vertical distance between the first pixel and the second pixel; determining a third horizontal distance and a third vertical distance between the first pixel and the third pixel; the first horizontal difference component, the first vertical difference component, the second horizontal difference component, and the second vertical difference component are determined based on the motion vector of the first pixel, the motion vector of the second pixel, the motion vector of the third pixel, the second horizontal distance, the second vertical distance, the third horizontal distance, and the third vertical distance. The above description is based on solution 1 of three control points as an example. The difference between solution 2 or solution 3 based on two control points and solution 1 based on three control points is: use only the first difference component or the second difference component in solution 1 as the difference of the motion vector of the affine image block based on two control points.

В частности, предполагают, что А, В и С находятся в блоке изображения любых трех пикселей, которые не перекрываются друг с другом, позиции трех пикселей показаны на фиг. 10, и векторы движения трех пикселей представляют собой

Figure 00000089
,
Figure 00000090
и
Figure 00000091
, соответственно. Расстояние между пикселем A и пикселем В в горизонтальном направлении равно
Figure 00000092
и расстояние между пикселем A и пикселем В в вертикальном направлении равно
Figure 00000093
. Расстояние между пикселем A и пикселем С в горизонтальном направлении равно
Figure 00000094
, и расстояние между пикселем A и пикселем С в вертикальном направлении равно
Figure 00000095
. Расстояние между пикселем B и пикселем С в горизонтальном направлении равно
Figure 00000096
, и расстояние между пикселем B и пикселем С в вертикальном направлении равно
Figure 00000097
. Предполагают, что разности между горизонтальными составляющими векторов движения двух пикселей, которые являются смежными в горизонтальном направлении равны
Figure 00000098
и
Figure 00000099
, соответственно, и разности между вертикальными составляющими векторов движения двух пикселей, которые являются смежными в вертикальном направлении равны
Figure 00000100
и
Figure 00000101
, соответственно. Так как вектор движения в блоке изображения изменяется линейно,
Figure 00000098
,
Figure 00000102
,
Figure 00000100
и
Figure 00000103
могут быть определены путем определения векторов движения пикселей А, В и С, и может быть определена разность вектора движения между соседними пикселями в блоке изображения. В частности, разность вектора движения может быть определена по формулам (37) до (40):Specifically, A, B, and C are assumed to be in an image block of any three pixels that do not overlap with each other, the positions of the three pixels are shown in FIG. 10 and the motion vectors of the three pixels are
Figure 00000089
,
Figure 00000090
and
Figure 00000091
, respectively. The distance between pixel A and pixel B in the horizontal direction is
Figure 00000092
and the distance between pixel A and pixel B in the vertical direction is
Figure 00000093
. The distance between pixel A and pixel C in the horizontal direction is
Figure 00000094
, and the distance between pixel A and pixel C in the vertical direction is
Figure 00000095
. The distance between pixel B and pixel C in the horizontal direction is
Figure 00000096
, and the distance between pixel B and pixel C in the vertical direction is
Figure 00000097
. It is assumed that the differences between the horizontal components of the motion vectors of two pixels that are adjacent in the horizontal direction are
Figure 00000098
and
Figure 00000099
, respectively, and the difference between the vertical components of the motion vectors of two pixels that are adjacent in the vertical direction are
Figure 00000100
and
Figure 00000101
, respectively. Since the motion vector in the image block changes linearly,
Figure 00000098
,
Figure 00000102
,
Figure 00000100
and
Figure 00000103
can be determined by determining the motion vectors of pixels A, B, and C, and the motion vector difference between adjacent pixels in the image block can be determined. In particular, the motion vector difference can be determined by formulas (37) to (40):

Figure 00000104
(37)
Figure 00000104
(37)

Figure 00000105
(38)
Figure 00000105
(38)

Figure 00000106
(39)
Figure 00000106
(39)

Figure 00000107
(40)
Figure 00000107
(40)

В качестве альтернативы, разность вектора движения может быть определена в соответствии с формулами (37) и (38) и формулами (41) и (42):Alternatively, the motion vector difference can be determined according to formulas (37) and (38) and formulas (41) and (42):

Figure 00000108
(41)
Figure 00000108
(41)

Figure 00000109
(42)
Figure 00000109
(42)

Возможно, в этом варианте осуществления настоящего изобретения, устройство декодирования может получить векторы движения всех контрольных точек посредством оценки движения и поиска, можно получить векторы движения всех контрольных точек на основе окружающего блока изображения, или может вычислить векторы движения всех контрольных точек на основе модели аффинного преобразования. В качестве альтернативы, устройство декодирования может получить векторы движения некоторых контрольных точек посредством оценки движения и поиска, и получить векторы движения других контрольных точек на основании соседнего блока изображения. В качестве альтернативы, устройство декодирования может получить векторы движения некоторых контрольных точек с помощью оценки аффинного движения и поиска, и вычисляют векторы движения других контрольных точек на основе модели аффинного преобразования. В качестве альтернативы, устройство декодирования может получить векторы движения некоторых контрольных точек на основе соседнего блока изображения и вычисляют векторы движения других контрольных точек на основе модели аффинного преобразования. Тем не менее, это не ограничивается в настоящем изобретении.Possibly, in this embodiment of the present invention, the decoding device may obtain the motion vectors of all control points through motion estimation and search, may obtain the motion vectors of all control points based on the surrounding image block, or may calculate the motion vectors of all control points based on an affine transformation model. . Alternatively, the decoding device may obtain the motion vectors of some control points through motion estimation and searching, and obtain the motion vectors of other control points based on the neighboring image block. Alternatively, the decoder may obtain the motion vectors of some control points using affine motion estimation and search, and calculate the motion vectors of other control points based on the affine transformation model. Alternatively, the decoder may derive the motion vectors of some control points based on an adjacent image block and calculate the motion vectors of other control points based on the affine transform model. However, this is not limited in the present invention.

Возможно, на S720 может быть определено первое заданное значение как точность вектора движения аффинного блока изображения; или точность вектора движения аффинного блока изображения может быть определена на основе признака соседнего блока изображения аффинного блока изображения. Соседний блок изображения представляет собой блок изображения, находящийся рядом с аффинным блоком изображения в пространстве и/или во времени.Perhaps, in S720, the first set value can be determined as the motion vector precision of the affine image block; or, the motion vector accuracy of the affine image block may be determined based on a feature of the adjacent image block of the affine image block. An adjacent image block is an image block adjacent to an affine image block in space and/or time.

В частности, значение вектора движения аффинного блока может быть целым числом. В этом случае, точность вектора движения рассматривают, как цельно-пиксельную точность, то есть точность пикселя равна 1. В качестве альтернативы, значение точности вектора движения не может быть целым числом. В этом случае, вектор движения берут в качестве субпиксельной точности, включающей в себя точность, такую как 1/2, ¼ или 1/8. Фиг. 11 показывает изображение блока 4 × 4, где х представляет собой пиксель на целочисленном пиксельной позиции, и собранное изображения имеет только пиксели на целочисленных позициях; и О представляет собой пиксель на 1/2 точности позиции, и пиксель на 1/2 точности позиции должен быть получен путем выполнения интерполяции на пикселе на целочисленной позиции пикселя. Значение пикселя на другой позиции точности должно быть получено путем выполнения дополнительной интерполяции на пикселе с целочисленной точностью или пикселя с 1/2 точностью. Если точность вектора движения текущего пикселя представляет собой целое число, текущий пиксель указан на позиции Х в опорном изображении. Если точность вектора движения текущего пикселя равна 1/2, то текущий пиксель указан на позиции O в опорном изображении.In particular, the value of the motion vector of the affine block may be an integer. In this case, the motion vector precision is considered as integral pixel precision, that is, the pixel precision is 1. Alternatively, the motion vector precision value cannot be an integer. In this case, the motion vector is taken as a sub-pixel precision including a precision such as 1/2, ¼ or 1/8. Fig. 11 shows a 4×4 block image where x is a pixel at an integer pixel position and the collected image has only pixels at integer positions; and O is a pixel at 1/2 position precision, and a pixel at 1/2 position precision is to be obtained by performing interpolation on a pixel at an integer pixel position. The pixel value at the other precision position must be obtained by performing additional interpolation on an integer precision pixel or a 1/2 precision pixel. If the motion vector precision of the current pixel is an integer, the current pixel is indicated at the X position in the reference image. If the motion vector precision of the current pixel is 1/2, then the current pixel is specified at position O in the reference image.

Точность вектора движения аффинного блока является самой высокой точностью вектора движения для всех пикселей в аффинном блоке. Точность вектора движения аффинного блока может быть задана, например, целым числом точности пикселей или точностью, такой как 1/2, 1/4, 1/8 или 1/16. Альтернативно, точность вектора движения аффинного блока может быть определена на основе признака соседнего блока изображения аффинного блока. Например, если окружающее изображение сравнительно гладкое, то может быть предсказано, что текущий аффинный блок также является гладким, и может быть выбрана сравнительно высокая точность вектора движения, например, точность 1/8 или 1/16; в противном случае, выбирают сравнительно низкую точность вектора движения, например, целое число пикселей точности или точность 1/2. Полученная точность обозначается как

Figure 00000110
.The motion vector precision of an affine block is the highest motion vector precision for all pixels in the affine block. The motion vector precision of the affine block may be specified, for example, by an integer pixel precision or by a precision such as 1/2, 1/4, 1/8, or 1/16. Alternatively, the motion vector accuracy of the affine block may be determined based on a feature of the neighboring image block of the affine block. For example, if the surrounding image is relatively smooth, then the current affine block can also be predicted to be smooth, and a relatively high motion vector precision, such as 1/8 or 1/16 precision, can be selected; otherwise, select a relatively low motion vector precision, such as an integer pixel precision or 1/2 precision. The resulting accuracy is denoted as
Figure 00000110
.

Возможно, как показано на фиг. 12, S730 конкретно включает в себя следующие этапы.Perhaps, as shown in Fig. 12, S730 specifically includes the following steps.

S1201. Пропорционально корректировать первое горизонтальное расстояние, основываясь на пропорции точности вектора движения к первому компоненту разности вектора движения, чтобы получить длину аффинного субблока изображения компенсации движения в горизонтальном направлении; и определить, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректировать длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.S1201. To proportionally adjust the first horizontal distance based on the proportion of the motion vector accuracy to the first motion vector difference component to obtain the length of the affine motion compensation image subblock in the horizontal direction; and determine whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction direction, adjust the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal motion compensation affine image subblock.

В частности, пропорция точности вектора движения к первому компоненту разности вектора движения представляет собой отношение точности вектора движения к первому компоненту разности вектора движения. Продукт отношения и первого горизонтального расстояния является длиной аффинного субблока изображения компенсации движения в горизонтальном направлении, и также может быть отнесен к начальной длине в горизонтальном направлении. Очевидно, что начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении может не быть целым числом в некоторых случаях. В этом случае, начальная длина должна быть округлена. Для обеспечения прогнозируемой точности, как правило, выполняют округление с понижением. Более конкретно, десятичную часть непосредственно отбрасывают. Например, начальное значение длины составляет 8,35 (то есть длина 8,35 единичных пикселей), и непосредственно используют в качестве длины аффинного субблока изображения компенсации движения в горизонтальном направлении число 8. Конечно, может быть альтернативно использован принцип округления. Более конкретно, если дробная часть меньше 5, выполняют округление вниз; и, если дробная часть больше 5, выполняют округление с повышением. Например, когда длина рассчитывается как 8,86, то 9 используют в качестве длины. Для обеспечения эффективности работы, минимальное значение исходной длины не должно быть меньше, чем заданное значение, например, не меньше, чем заданное значение, например, 2, 4, 8 или 2N. Заданное значение обычно устанавливают на 4. Начальная длина также не должна быть больше, чем длина аффинного блока изображения в горизонтальном направлении. Соответствует ли начальная длина в горизонтальном направлении или округленная начальная длина в горизонтальном направлении зависит от того, делится ли длина аффинного блока изображения в горизонтальном направлении на начальную длину. Если длина аффинного блока изображения в горизонтальном направлении делится на начальную длину, то это указывает, что аффинный блок изображения может быть разделен на целое количество субблоков в горизонтальном направлении на основании начальной длины в горизонтальном направлении или округленной начальной длины в горизонтальном направлении. Способ корректировки, как правило, представляет собой способ, в котором начальная длина в горизонтальном направлении или округленная начальная длина в горизонтальном направлении постепенно увеличивается/уменьшается. Более конкретно, если определено, что длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, длина аффинного субблока изображения компенсации движения в горизонтальном направлении корректируется, то есть увеличивается/уменьшается, с помощью одного или нескольких единиц длин, и затем циклически выполняется упомянутое решение до тех пор, длина аффинного блока изображения в горизонтальном направлении не будет целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении. Единица длины, как правило, является одним блоком пикселей. Более конкретно, длина аффинного субблока изображения компенсации движения в горизонтальном направлении корректируется, то есть увеличивается/уменьшается на 1. Без потери общности, другими словами, длина аффинного субблока изображения компенсации движения в горизонтальном направлении корректируется, то есть увеличивается/уменьшается на фиксированный размер шага. Размер шага представляет собой значение корректировки т.е, базовый блок или амплитуду, используемые для корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении в каждом цикле. Размер шага, как правило, является вышеупомянутым одним блоком пикселей, или может быть другим значением, например, два пиксельных блоков. Возможно, значение размера/шага корректировки, используемое в вышеприведенной корректировке, может меняться в зависимости от соотношения первоначальной длины аффинного субблока изображения компенсации движения в горизонтальном направлении. Например, когда начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой нечетное число, то выбирают нечетный размер шага. Например, нечетное количество единичных длин, например, одна единица длины, используют в качестве размера шага для корректировки. Когда начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении является четным числом, выбирают четный размер шага. Например, в качестве размера шага используют четное количество единичных длин.In particular, the ratio of the motion vector accuracy to the first motion vector difference component is the ratio of the motion vector accuracy to the first motion vector difference component. The product of the ratio and the first horizontal distance is the length of the affine sub-image compensation motion in the horizontal direction, and can also be referred to the initial length in the horizontal direction. Obviously, the initial length of the affine subblock of the horizontal motion compensation image may not be an integer in some cases. In this case, the initial length must be rounded off. To ensure predictable accuracy, rounding down is generally performed. More specifically, the decimal part is directly discarded. For example, the initial length value is 8.35 (that is, the length is 8.35 unit pixels), and the number 8 is directly used as the length of the horizontal motion compensation image affine subblock. Of course, the rounding principle can be alternatively used. More specifically, if the fractional part is less than 5, rounding down is performed; and, if the fractional part is greater than 5, rounding up is performed. For example, when the length is calculated as 8.86, then 9 is used as the length. To ensure performance, the minimum value of the initial length should not be less than the specified value, for example, not less than the specified value, such as 2, 4, 8 or 2 N . The predetermined value is usually set to 4. The initial length should also not be greater than the length of the affine image block in the horizontal direction. Whether the initial length in the horizontal direction is correct or the initial length is rounded in the horizontal direction depends on whether the length of the affine image block in the horizontal direction is divisible by the initial length. If the length of the affine image block in the horizontal direction is divided by the initial length, then this indicates that the affine image block can be divided into an integer number of sub-blocks in the horizontal direction based on the initial length in the horizontal direction or the rounded initial length in the horizontal direction. The correction method is generally a method in which the initial length in the horizontal direction or the rounded initial length in the horizontal direction is gradually increased/decreased. More specifically, if it is determined that the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine sub-image sub-image of the horizontal direction motion compensation, the length of the affine sub-image of the motion compensation in the horizontal direction is corrected, that is, increased/decreased, by one or several units of length, and then cycling through said decision until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal motion compensation. The length unit is typically one block of pixels. More specifically, the length of the affine motion compensation image sub-frame in the horizontal direction is corrected, i.e., increased/decreased by 1. Without loss of generality, in other words, the length of the affine motion compensation image sub-frame in the horizontal direction is corrected, i.e., increased/decreased by a fixed step size. The step size is an adjustment value, i.e., a basic block or amplitude, used to correct the length of the affine sub-frame of the motion compensation image in the horizontal direction in each cycle. The step size is typically the aforementioned one pixel block, or may be another value such as two pixel blocks. It is possible that the correction size/step value used in the above correction may change depending on the ratio of the original length of the horizontal motion compensation affine sub-image subblock. For example, when the initial length of the affine subblock of the horizontal motion compensation image is an odd number, an odd step size is selected. For example, an odd number of length units, such as one length unit, is used as the step size for adjustment. When the initial length of the affine subblock of the horizontal motion compensation image is an even number, an even step size is selected. For example, an even number of unit lengths is used as the step size.

Кроме того, является ли корректировка увеличением или уменьшением может быть выбрано в соответствии с соглашением между стороной декодера и стороной кодера, может быть явно указано на стороне кодера в потоке битов и выбирается на стороне декодера, основанного на явном указании, может быть выведено с использованием значения точности вектора движения окружающего соседнего блока, или может быть определенно на основании отношения соотношения между длиной аффинного блока изображения в горизонтальном направлении и длиной аффинного субблока изображения компенсации движения в горизонтальном направлении. Например, если отношение меньше, чем пороговое значение, выбирается уменьшение; в противном случае, выбирается увеличение.In addition, whether the adjustment is an increase or decrease can be selected according to an agreement between the decoder side and the encoder side, can be explicitly indicated on the encoder side in the bitstream, and is selected on the decoder side based on the explicit indication, can be inferred using the value accuracy of the motion vector of the surrounding neighboring block, or may be determined based on the relation of the ratio between the length of the affine image block in the horizontal direction and the length of the affine image sub-block of the motion compensation image in the horizontal direction. For example, if the ratio is less than a threshold value, decrease is selected; otherwise, increase is selected.

Для упрощения алгоритма и обеспечения эффективности кодирования и декодирования, если определено, что длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направление, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, то есть увеличивают на одну заданную единицу длины, и затем предшествующее решение не будет циклически выполняется до тех пор, пока длина аффинного блока изображения в горизонтальном направление представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.To simplify the algorithm and ensure the efficiency of encoding and decoding, if it is determined that the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, the length of the affine sub-image sub-image of the compensation motion in the horizontal direction is corrected, that is incremented by one predetermined length unit, and then the preceding decision will not be cycled until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion compensation.

Дополнительно, для повышения эффективности и сокращения времени работы, длина аффинного субблока изображения компенсации движения в горизонтальном направлении может быть скорректирована до ближайшего значения, с помощью которого делят длину аффинного блока изображения в горизонтальном направлении. Например, длина аффинного субблока изображения компенсации движения в горизонтальном направлении равна 7, в то время, как длина аффинной блока изображения в горизонтальном направлении равна 16. В этом случае, длина аффинного субблока изображения компенсации изображения в горизонтальном направлении увеличивается на изменения 1 до 8, с помощью которого 16 делится. Аналогично, если длина аффинного субблока изображения компенсации движения в горизонтальном направлении составляет 5, длина аффинного субблока изображения компенсации движения в горизонтальном направлении уменьшается на 1, чтобы изменить до 4, с помощью которого 16 делится. Если разности между длиной аффинного субблока изображения компенсации движения в горизонтальном направлении и двумя соседними значениями, с помощью которых длина аффинного блока изображения в горизонтальном направлении делится, равны, например, длина аффинного субблока изображения компенсации движения в горизонтальном направлении составляет 6, длина аффинного блока изображения в горизонтальном направлении составляет 16, а также два значения, которые являются смежными с длиной 6 и с помощью которых 16 делится, равно 4 и 8, соответственно, корректировка может быть выбрана в соответствии с требованиями стороны кодера и стороны декодера. Например, если требуется низкая задержка, может быть выбрана корректировка, то есть увеличение. Если требуется высокое качество, выбирают корректировку, то есть уменьшение. Это не ограничивается в настоящем изобретении.Further, in order to increase efficiency and reduce operating time, the length of the affine sub-image block of the motion compensation in the horizontal direction may be adjusted to the nearest value by which the length of the affine image block in the horizontal direction is divided. For example, the length of the affine image subblock of the horizontal direction motion compensation image is 7, while the length of the affine image block of the horizontal direction is 16. In this case, the length of the affine image subblock of the image compensation in the horizontal direction is increased by changes 1 to 8, with by which 16 is divided. Similarly, if the length of the horizontal direction motion compensation affine image subblock is 5, the length of the horizontal direction motion compensation affine image subblock is reduced by 1 to change to 4, by which 16 is divided. If the differences between the length of the horizontal direction motion compensation affine image block and two adjacent values by which the horizontal direction affine image block length is divided are equal, for example, the length of the horizontal direction motion compensation affine image block is 6, the length of the affine image block in the horizontal direction is 16, and two values that are adjacent with a length of 6 and by which 16 is divided are 4 and 8, respectively, the correction can be selected according to the requirements of the encoder side and the decoder side. For example, if a low latency is required, an adjustment, i.e. an increase, may be chosen. If high quality is required, choose an adjustment, that is, a reduction. This is not limited in the present invention.

Дополнительно, на этапе S1201, когда определено, что длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, чтобы еще больше упростить алгоритм, такая же таблица может быть отдельно установлена на стороне кодера и стороне декодера, и возможная максимальная длина аффинного блока изображения в горизонтальном направлении разделяется на множество интервалов, используя допустимый минимальный делитель в качестве начального значения, пример, 2N. Продолжительность интервала составляет 2N+i, где

Figure 00000039
, и Wmax является возможно максимальной длиной аффинного блока изображения в горизонтальном направлении. Определяют интервал, в котором находится длина аффинного субблока изображения компенсации движения в горизонтальном направлении, и значение нижнего предела или значение верхнего предела интервала, в рамках которого длина аффинного субблока изображения компенсации движения в горизонтальном направлении, используют как окончательно определенную длину аффинного субблока изображения компенсации движения в горизонтальном направлении. Для правила получения значения нижнего предела или значения верхнего предела, относится к соглашению между стороной кодера и стороной декодера. Верхнее предельное значение или нижнее предельное значение приближенного интервала может быть явно указано, используя поток битов, или может быть выбрано посредством округления. С помощью приведенных выше таблиц, окончательная длина аффинного субблока изображения компенсации движения в горизонтальном направлении может быть определена с помощью таблицы поиска на основе начальной длины аффинного субблока изображения компенсации движения в горизонтальном направлении. Таким образом, этап корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении на этапе S1201 можно заменить, сложность системы снижается и время вычисления уменьшается.Further, in step S1201, when it is determined that the length of the affine picture block in the horizontal direction is not an integer multiple of the length of the affine picture sub-picture compensation in the horizontal direction, in order to further simplify the algorithm, the same table can be separately set at the encoder side, and side of the decoder, and the possible maximum length of the affine image block in the horizontal direction is divided into a plurality of intervals, using the allowed minimum divisor as the initial value, for example, 2 N . The duration of the interval is 2 N+i , where
Figure 00000039
, and Wmax is the possible maximum length of an affine image block in the horizontal direction. The interval in which the length of the affine sub-frame of the motion compensation image in the horizontal direction is located is determined, and the value of the lower limit or the value of the upper limit of the interval within which the length of the affine sub-frame of the motion compensation image in the horizontal direction is used as the finally determined length of the affine sub-frame of the motion compensation image in horizontal direction. For a rule for obtaining a lower limit value or an upper limit value, refers to an agreement between the encoder side and the decoder side. The upper limit value or the lower limit value of the approximate interval may be explicitly indicated using the bitstream, or may be selected by rounding. With the above tables, the final length of the horizontal direction motion compensation affine image subblock can be determined with a lookup table based on the initial length of the horizontal direction motion compensation affine image subblock. Thus, the step of adjusting the length of the affine sub-frame of the horizontal direction motion compensation image in step S1201 can be replaced, the complexity of the system is reduced, and the calculation time is reduced.

Возможно, чтобы дополнительно уменьшить сложность вычислений в решении, на этапе S1201, но не только если длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, определяют, будет ли длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число, кратное заданной длины S, что облегчает расчет. Более конкретно, должно ли быть определено, соответствует ли длина аффинного субблока изображения компенсации движения в горизонтальном направлении следующим условиям:It is possible to further reduce the computational complexity in the decision, in step S1201, but not only if the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine sub-image sub-image compensation of movement in the horizontal direction, it is determined whether the length of the affine image sub-image sub-image of the compensation movement in the horizontal direction is an integer multiple of the given length S, which facilitates the calculation. More specifically, whether it is to be determined whether the length of the affine subblock of the horizontal motion compensation image meets the following conditions:

(1) Длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении; и (2) длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое кратное заданной длины S.(1) The length of the affine image block in the horizontal direction is an integer multiple of the length of the affine sub-image block of the horizontal motion compensation; and (2) the length of the affine subblock of the horizontal motion compensation image is an integer multiple of the predetermined length S.

Если длина аффинного субблока изображения компенсации движения в горизонтальном направлении не отвечает двум условиям, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного субблока изображения компенсации движения в горизонтальном направлении удовлетворяет условию (1) и условию (2). Более конкретно, длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и также корректировать длину аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число, кратное заданной длине. Заданная длина S, как правило, равно 4 или может быть значением, таким как 8, 16 или 32. Другими словами, S = 2N, где N равно нулю или является положительным целым числом. Это решение применимо к аффинному блоку изображения в любой форме. Когда аффинный блок изображения разделяется в соответствии с правилом дерева квадрантов (Quad Tree), при условии, что выполнено любое из указанных выше условий, определяющих (1) и (2), другое условие может быть выполнено. Таким образом, только одно из определяющих условий должно быть активировано/применено. Последовательность для определения, выполнены ли условия (1) и (2) и последовательность для корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении на основании результата определения, могут быть взаимозаменяемы в случайном порядке. Для различения, корректировка, выполняемая в течение первого времени, может упоминаться в качестве первой корректировки, а также корректировка, выполняемая во втором времени (в случае необходимости), может быть отнесена к повторной корректировке.If the length of the affine motion compensation image subblock in the horizontal direction does not meet the two conditions, the length of the affine motion compensation image subblock in the horizontal direction is adjusted so that the length of the affine subblock of the motion compensation image in the horizontal direction satisfies condition (1) and condition (2). More specifically, the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine image sub-image compensation in the horizontal direction, and also to correct the length of the affine image sub-image compensation in the horizontal direction is an integer multiple of the predetermined length. The given length S is typically 4, or may be a value such as 8, 16, or 32. In other words, S = 2 N , where N is zero or a positive integer. This solution is applicable to an affine image block in any form. When an affine image block is partitioned according to the Quad Tree rule, provided that any of the above conditions defining (1) and (2) is satisfied, another condition may be satisfied. Thus, only one of the defining conditions must be activated/applied. The sequence for determining whether conditions (1) and (2) are met and the sequence for adjusting the length of the affine motion compensation image sub-block in the horizontal direction based on the determination result may be randomly interchanged. For distinction, the adjustment made during the first time may be referred to as the first adjustment, and the adjustment made at the second time (if necessary) may be referred to as the re-adjustment.

В качестве варианта, должна быть выполнена операция ограничения амплитуды длины, которая является аффинного субблока изображения компенсации движения в горизонтальном направлении, и что определяется вышеуказанным образом. Более конкретно, используют способ сравнения для обеспечения M нахождения в пределах диапазона от нижнего предела Tm до верхнего предела W. Tm является заданным значением и, как правило, равно 4, и W представляет собой длину аффинного блока изображения в горизонтальном направлении.Alternatively, a length amplitude limiting operation, which is the affine sub-block of the horizontal direction motion compensation image, and as defined above, should be performed. More specifically, a comparison method is used to ensure that M is within the range from the lower limit Tm to the upper limit W. Tm is a predetermined value and is generally 4, and W is the length of the affine image block in the horizontal direction.

S1203. Пропорционально корректировать первое вертикальное расстояние, основываясь на пропорции точности вектора движения ко второй компоненте разности вектора движения, чтобы получить длину аффинного субблока изображения компенсации движения в вертикальном направлении; и определить, является ли длина аффинной блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратной длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректировать длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.S1203. To proportionally adjust the first vertical distance based on the proportion of the motion vector accuracy to the second motion vector difference component to obtain the length of the affine motion compensation image subblock in the vertical direction; and determine whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation and, if the length of the affine image block in the vertical direction is not an integer, a multiple of the length of the affine image sub-image subblock in the vertical direction , adjust the length of the affine image subblock of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the adjusted length of the affine image subblock of the vertical motion compensation image.

В частности, пропорция точности вектора движения ко второй компоненте разности вектора движения представляет собой отношение точности вектора движения ко второй компоненте разности вектора движения. Продукт отношения и первого вертикального расстояния является длиной аффинного субблока изображения компенсации движения в вертикальном направлении, и может быть отнесена к начальной длине в вертикальном направлении. Может быть понятно, что начальная длина аффинного субблока изображения компенсации движения в вертикальном направлении может не быть целым числом, в некоторых случаях. В этом случае, начальная длина должна быть округлена. Для обеспечения точности выполняют округление вниз, как правило. Более конкретно, десятичная часть непосредственно отбрасывают. Например, значение начальной длины составляет 8,35 (то есть длина 8,35 единичных пикселей), и 8 непосредственно используются в качестве длины аффинного субблока изображения компенсации движения в вертикальном направлении. Конечно, может быть альтернативно использован принцип округления. Более конкретно, если дробная часть меньше 5, выполняют округление вниз; и, если дробная часть больше 5 то выполняется округление с повышением. Например, когда длина рассчитывается как 8,86, 9 используют в качестве длины. Для обеспечения эффективности работы, минимальное значение начальной длины не должно быть меньше, чем заданное значение, например, не меньше, чем заданное значение, например, 2, 4, 8 или 2N. Заданное значение обычно устанавливают на 4. Начальная длина также не должна быть больше, чем длина аффинного блока изображения в вертикальном направлении. Соответствует ли начальная длина в вертикальном направлении или округленная начальная длина в вертикальном направлении, зависит от того, делится ли длина аффинного блока изображения в вертикальном направлении на начальную длину. Если длина аффинного блока изображения в вертикальном направлении делится на начальную длину, это указывает, может ли аффинный блок изображения быть разделен на целое количество субблоков в вертикальном направлении на основе начальной длины в вертикальном направлении или округленной начальной длины в вертикальном направлении. Способ корректировки, как правило, является способом, в котором начальная длина в вертикальном направлении или округленная начальная длина в вертикальном направлении постепенно увеличивается/уменьшается. Более конкретно, если определено, что длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, то есть увеличение/уменьшение, с помощью одного или нескольких единичных длин, и затем предшествующее решение циклически выполняется до тех пор, пока длина аффинного блока изображения в вертикальном направлении не является целым числом, кратной откорректированной длины аффинного субблока изображения компенсации движения в вертикальном направлении. Единица длины, как правило, представляет собой один блок пикселей. Более конкретно, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, то есть увеличивают/уменьшают на 1. Без потери общности, другими словами, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, то есть увеличивают/уменьшают на фиксированный размер шага. Размер шага представляет собой значением корректировки, то есть базовый блок или амплитуда, используемые для корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении в каждом цикле. Размер шага, как правило, является одним блоком пикселей, или может быть другим значением, например, два пиксельных блоков. Возможно, размер шага/шаг корректировки, используемые в вышеприведенной корректировке может меняться в зависимости от соотношения начальной длины аффинного субблока изображения компенсации движения в вертикальном направлении. Например, когда начальная длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой нечетное число, то выбирают нечетный размер шага. Например, нечетное количество единичных длин, например, одна единица длины, используют в качестве размера шага для корректировки. Когда начальная длина аффинного субблока изображения компенсации движения в вертикальном направлении является четным числом, выбирают четный размер шага. Например, четное количество единичных длин используют в качестве размера шага.In particular, the ratio of the motion vector accuracy to the second motion vector difference component is the ratio of the motion vector accuracy to the second motion vector difference component. The product of the ratio and the first vertical distance is the length of the vertical motion compensation affine sub-image subblock, and can be referred to the initial length in the vertical direction. It may be appreciated that the initial length of the vertical motion compensation affine subblock image may not be an integer in some cases. In this case, the initial length must be rounded off. To ensure accuracy, round down as a rule. More specifically, the decimal part is directly discarded. For example, the value of the initial length is 8.35 (that is, the length is 8.35 unit pixels), and 8 is directly used as the length of the vertical motion compensation image affine subblock. Of course, the principle of rounding may alternatively be used. More specifically, if the fractional part is less than 5, rounding down is performed; and, if the fractional part is greater than 5, then rounding up is performed. For example, when the length is calculated as 8.86, 9 is used as the length. To ensure performance, the minimum value of the initial length should not be less than the specified value, for example, not less than the specified value, such as 2, 4, 8 or 2 N . The set value is usually set to 4. The initial length should also not be greater than the length of the affine image block in the vertical direction. Whether the initial length in the vertical direction is correct or the rounded initial length in the vertical direction depends on whether the length of the affine image block in the vertical direction is divisible by the initial length. If the length of the affine image block in the vertical direction is divided by the initial length, this indicates whether the affine image block can be divided into an integer number of sub-blocks in the vertical direction based on the initial length in the vertical direction or the rounded initial length in the vertical direction. The correction method is generally a method in which the initial length in the vertical direction or the rounded initial length in the vertical direction is gradually increased/decreased. More specifically, if it is determined that the length of the vertical direction affine image block is not an integer multiple of the length of the vertical direction motion compensation affine image subblock, the length of the vertical direction motion compensation image affine subblock, that is, increase/decrease, is corrected by one or several unit lengths, and then the foregoing decision is cycled until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. The length unit is typically one block of pixels. More specifically, the length of the vertical direction motion compensation image affine subblock is corrected, that is, increased/decreased by 1. Without loss of generality, in other words, the length of the vertical motion compensation image affine subblock is corrected, that is, increased/decreased by a fixed step size. The step size is a correction value, that is, a base block or an amplitude used to correct the length of the affine sub-block of the vertical motion compensation image in each cycle. The step size is typically one pixel block, or may be another value such as two pixel blocks. It is possible that the step size/correction step used in the above correction may vary depending on the ratio of the initial length of the vertical motion compensation affine sub-image sub-block. For example, when the initial length of the affine subblock of the vertical motion compensation image is an odd number, an odd step size is selected. For example, an odd number of length units, such as one length unit, is used as the step size for adjustment. When the initial length of the affine subblock of the vertical motion compensation image is an even number, an even step size is selected. For example, an even number of unit lengths is used as the step size.

Дополнительно, является ли корректировка увеличением или уменьшением может быть выбрана в соответствии с соглашением между стороной декодера и стороной кодера, может быть явно указано на стороне кодера в потоке битов и выбирается на стороне декодера, основанного на явном указании, может быть выведено с использованием точности вектора движения окружающего соседнего блока, или может быть определенно на основании отношения соотношения между длиной аффинного блока изображения в вертикальном направлении и длиной аффинного субблока изображения компенсации движения в вертикальном направлении. Например, если отношение меньше, чем пороговое значение, выбирают уменьшение; в противном случае, выбирают увеличение.Additionally, whether the adjustment is an increase or decrease can be selected according to an agreement between the decoder side and the encoder side, can be explicitly indicated on the encoder side in the bitstream, and is selected on the decoder side based on the explicit indication, can be inferred using the precision of the vector motion of the surrounding neighboring block, or may be determined based on the ratio of the ratio between the length of the affine image block in the vertical direction and the length of the affine sub-image block of the compensation movement in the vertical direction. For example, if the ratio is less than the threshold, decrease is selected; otherwise, select magnification.

Для упрощения алгоритма и обеспечения эффективности кодирования и декодирования, если определено, что длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направление, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, то есть увеличивают на одну заданную единицу длины и затем выполняют упомянутое решение циклически до тех пор, пока длина аффинного блока изображения в вертикальном направлении не будет представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.To simplify the algorithm and ensure the efficiency of encoding and decoding, if it is determined that the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine sub-image sub-block of the vertical direction motion compensation image, the length of the affine sub-image sub-block of the image compensation in the vertical direction is corrected, that is increase by one predetermined length unit and then perform said decision cyclically until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation.

Дополнительно, для повышения эффективности и сокращения времени работы, длина аффинного субблока изображения компенсации движения в вертикальном направлении может быть доведена до ближайшего значения, с помощью которого, длина аффинного блока изображения в вертикальном направлении делится. Например, длина аффинного субблока изображения компенсации движения в вертикальном направлении равна 7, в то время, как длина аффинного блока изображения в вертикальном направлении равна 16. В этом случае, длина аффинного субблока изображения компенсации движения в вертикальном направлении увеличивается на 1 для изменения до 8, с помощью которого 16 делится. Аналогично, если длина аффинного субблока изображения компенсации движения в вертикальном направлении равна 5, длина аффинного субблока изображения компенсации движения в вертикальном направлении уменьшается на 1, чтобы изменить до 4, с помощью которого 16 делится. Если разница между длиной аффинного субблока изображения компенсации движения в вертикальном направлении и два соседних значения, с помощью которых длина аффинного блока изображения в вертикальном направлении делится, равны, например, длина аффинного субблока изображения компенсации движения в вертикальном направлении равна 6, длина аффинного блока изображения в вертикальном направлении равна 16, и два значения, которые являются смежными с длиной 6 и с помощью которых 16 делится равно 4 и 8, соответственно, корректировка может быть выбрана в соответствии с требованиями стороны кодера и стороны декодера. Например, если требуется низкая задержка, может быть выбрана корректировка, то есть увеличение. Если требуется высокое качество, то выбирают корректировку, то есть уменьшение. Это не ограничивается в настоящем изобретении.Further, in order to increase efficiency and reduce operation time, the length of the affine sub-image block of the vertical direction motion compensation can be brought to the nearest value by which the length of the affine image block in the vertical direction is divided. For example, the length of the vertical direction motion compensation affine image subblock is 7, while the length of the vertical direction affine image block is 16. In this case, the length of the vertical direction compensation affine image subblock is increased by 1 to change to 8, with which 16 is divisible. Similarly, if the length of the vertical motion compensation affine sub-image subframe is 5, the length of the vertical motion compensation affine sub-image subframe is reduced by 1 to change to 4, by which 16 is divided. If the difference between the length of the vertical direction motion compensation affine image subblock and two adjacent values by which the vertical direction affine image block length is divided are equal, for example, the length of the vertical direction motion compensation affine image subblock is 6, the length of the affine image block in vertical direction is 16, and two values that are adjacent with a length of 6 and by which 16 is divided equal to 4 and 8, respectively, the correction can be selected according to the requirements of the encoder side and the decoder side. For example, if a low latency is required, an adjustment, i.e. an increase, may be chosen. If high quality is required, then an adjustment is chosen, that is, a reduction. This is not limited in the present invention.

Дополнительно, на этапе S1203, когда определено, что длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, чтобы еще больше упростить алгоритм, одинаковая таблица может быть отдельно установлена на стороне кодера и стороне декодера, и возможная максимальная длина аффинного блока изображения в вертикальном направлении разделяется на множество интервалов, используя допустимый минимальный делитель в качестве начального значения, для примера, 2N. Длительность интервала 2N+i, где

Figure 00000039
, а Wmax является возможной максимальной длиной аффинного блока изображения в вертикальном направлении. Определяют интервал, в рамках которого находится длина аффинного субблока изображения компенсации движения в вертикальном направлении, и значение нижнего предела или значение верхнего предела интервала, в рамках которого находится длина аффинного субблока изображения компенсации движения в вертикальном направлении, используются как окончательная определенная длина аффинного субблока изображения компенсации движения в вертикальном направлении. Для правила получения значения нижнего предела или значения верхнего предела сделана ссылка на соглашение между стороной кодера и стороной декодера. Верхнее предельное значение или нижнее предельное значение приближенного интервала может быть явно указано, используя поток битов, или может быть выбрано посредством округления. С помощью приведенных выше таблиц, окончательная длина аффинного субблока изображения компенсации движения в вертикальном направлении может быть определена с помощью таблицы поиска на основе начальной длины аффинного субблока изображения компенсации движения в вертикальном направлении. Таким образом, этап корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении на этапе S1203 можно заменить, сложность системы снижается, и время вычисления уменьшается.Further, in step S1203, when it is determined that the affine image block length in the vertical direction is not an integer multiple of the length of the vertical motion compensation affine sub-image block, to further simplify the algorithm, the same table may be separately set on the encoder side and the decoder, and the possible maximum length of the affine image block in the vertical direction is divided into a plurality of intervals, using the allowable minimum divisor as the initial value, for example, 2 N . The duration of the interval is 2 N+i , where
Figure 00000039
, and Wmax is the possible maximum length of an affine image block in the vertical direction. The interval within which the length of the vertical motion compensation affine image subblock is located is determined, and the lower limit value or the upper limit value of the interval within which the vertical motion compensation image affine subblock length is located is used as the final determined length of the compensation image affine subblock. movement in the vertical direction. For the rule for obtaining the lower limit value or the upper limit value, reference is made to the agreement between the encoder side and the decoder side. The upper limit value or the lower limit value of the approximate interval may be explicitly indicated using the bitstream, or may be selected by rounding. With the above tables, the final length of the affine sub-image sub-frame of the vertical motion compensation image can be determined with a lookup table based on the initial length of the affine sub-frame of the vertical motion compensation image. Thus, the step of adjusting the length of the affine sub-block of the vertical motion compensation image in step S1203 can be replaced, the complexity of the system is reduced, and the calculation time is reduced.

Возможно, для дополнительного снижения сложности вычислений в решении на этапе S1203 не только если длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, но также если длина аффинного субблока изображения компенсации движения в вертикальном направлении представлять собой целое число, кратное заданной длине S, что облегчает вычисление. Более конкретно, необходимо определить, удовлетворяет ли длина аффинного субблока изображения компенсации движения в вертикальном направлении следующим условиям:It is possible to further reduce the computational complexity in the decision in step S1203 not only if the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the vertical motion compensation image, but also if the length of the affine image subblock of the image compensation in the vertical direction be an integer multiple of the given length S, which makes it easier to calculate. More specifically, it is necessary to determine whether the length of the affine sub-block of the vertical motion compensation image satisfies the following conditions:

(1) Длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и (2) длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое кратное заданной длины S.(1) The length of the affine image block in the vertical direction is an integer multiple of the length of the affine sub-image block of the vertical motion compensation; and (2) the length of the affine subblock of the vertical motion compensation image is an integer multiple of the predetermined length S.

Если длина аффинного субблока изображения компенсации движения в вертикальном направлении не отвечает двум условиям, длина аффинного субблока изображения компенсации движения в вертикальном направлении корректируют так, чтобы длина аффинного субблока изображения компенсации движения в вертикальном направлении удовлетворяет условию (1) и условию (2). Более конкретно, длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число, кратное заданной длине. Заданная длина S, как правило, равна 4, или может быть значением, таким как 8, 16 или 32. Другими словами, S = 2n, где n равно нулю или является положительным целым числом. Это решение применимо к аффинному блоку изображения в любой форме. Когда аффинный блок изображения делят в соответствии с правилом дерева квадрантов (Qual Tree), при условии, что любое из указанных выше условий (1) и (2) определения удовлетворено, другое условие может быть выполнено. Таким образом, только одно из определяющих условий должно быть активировано/применено. Последовательность для определения выполнения условия (1) и (2) и последовательность для корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении на основании результата определения могут быть взаимозаменяемыми в случайном порядке. Для различия, выполняемая корректировка в течение первого времени, может упоминаться в качестве первой корректировки, а также корректировка, выполняемая во втором времени (в случае необходимости) может быть отнесена к повторной корректировке.If the length of the vertical direction motion compensation image affine subblock does not meet the two conditions, the length of the vertical direction motion compensation image affine subblock is adjusted so that the length of the vertical direction motion compensation image affine subblock satisfies condition (1) and condition (2). More specifically, the affine image block length in the vertical direction is an integer multiple of the corrected length of the vertical motion compensation affine image sub-image, and the corrected length of the vertical motion compensation affine image sub-image is an integer multiple of the predetermined length. The given length S is typically 4, or may be a value such as 8, 16, or 32. In other words, S = 2 n , where n is zero or a positive integer. This solution is applicable to an affine image block in any form. When an affine image block is divided according to a Quadtree rule, provided that any of the above definition conditions (1) and (2) is satisfied, another condition may be satisfied. Thus, only one of the defining conditions must be activated/applied. The sequence for determining the fulfillment of the condition (1) and (2) and the sequence for correcting the length of the affine sub-block of the motion compensation image in the horizontal direction based on the determination result may be interchanged randomly. For distinction, the adjustment made during the first time may be referred to as the first adjustment, and the adjustment made at the second time (if necessary) may be referred to as the re-adjustment.

Упомянутые этапы S1201 и S1203 применимы к сценарию в решении 1 на основании трех контрольных точек. В сценарии на основании трех контрольных точек, отдельно вычисляют длины аффинного субблока изображения компенсации движения в горизонтальном направлении и вертикальном направлении. Для сценариев в решении 2 и решении 3, основанные на двух контрольных точках, может быть выполнен только этап S1201 или этап S1203 для независимого вычисления длины аффинного субблока изображения компенсации движения в горизонтальном направлении или длины аффинного субблока изображения компенсации движения в вертикальном направлении. Затем, длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении или скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном/вертикальном направлении используют в качестве начальной длины аффинного субблока изображения компенсации движения в другом направлении, то есть в вертикальном/горизонтальном направлении, и отдельно выполняют указанные выше определения, то есть:The above steps S1201 and S1203 are applicable to the scenario in decision 1 based on the three checkpoints. In the scenario, based on the three control points, the lengths of the motion compensation affine sub-image in the horizontal direction and the vertical direction are calculated separately. For the scenarios in solution 2 and solution 3 based on two breakpoints, only step S1201 or step S1203 can be performed to independently calculate the horizontal direction motion compensation affine sub-image sub-frame length or the vertical direction motion compensation affine image sub-frame length. Then, the length of the horizontal/vertical direction motion compensation image affine subblock or the adjusted length of the horizontal/vertical direction motion compensation image affine subblock is used as the initial length of the motion compensation image affine subblock in the other direction, i.e., the vertical/horizontal direction, and separately fulfill the above definitions, that is:

определение, является ли длина аффинного блока изображения в вертикальном/горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном/горизонтальном направлении; илиdetermining whether the length of the affine image block in the vertical/horizontal direction is an integer multiple of the length of the affine sub-image block of the vertical/horizontal direction motion compensation; or

определение, является ли длина аффинного блока изображения в вертикальном/горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном/горизонтальном направлении, и определение, является ли длина аффинного субблока изображения компенсации движения в вертикальном/горизонтальном направлении целым числом, кратным заданной длине S.determining whether the length of the affine image block in the vertical/horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the vertical/horizontal direction motion compensation, and determining whether the length of the affine sub-image sub-block of the motion compensation in the vertical/horizontal direction is an integer multiple of the predetermined length S.

В сценарии решения 2 и решения 3 на основе двух контрольных точек, в соответствии с требованием, только длина аффинного субблока изображения компенсации движения в горизонтальном направлении может быть вычислена в решении с тремя контрольными точками, или только длина аффинного субблока изображения компенсации движения в вертикальном направлении может быть вычислена; и другой размер компоненты аффинного субблока изображения компенсации движения выводится или рассчитывается на основе одной компоненты, полученного размера, то есть длины в горизонтальном направлении или длины в вертикальном направлении. Очевидно, что, когда размер аффинного блока изображения является формой правильного 2Nx2N квадрата, поскольку длины аффинного блока изображения в горизонтальном направлении и вертикальном направлении являются одинаковыми, то необходимо будет определить только одну из длин аффинного блока изображения в горизонтальном направлении и вертикальном направлении.In the scenario of decision 2 and decision 3 based on two control points, according to the requirement, only the length of the affine sub-image sub-frame of the motion compensation in the horizontal direction can be calculated in the solution with three control points, or only the length of the affine sub-image of the motion compensation in the vertical direction can be calculated; and another component size of the affine sub-block of the motion compensation image is output or calculated based on one component, the obtained size, that is, the length in the horizontal direction or the length in the vertical direction. Obviously, when the size of the affine image block is the shape of a regular 2Nx2N square, since the lengths of the affine image block in the horizontal direction and the vertical direction are the same, then only one of the lengths of the affine image block in the horizontal direction and the vertical direction will need to be determined.

Возможно, должна быть выполнена операция ограничения амплитуда по длине, которая является длиной аффинного субблока изображения компенсации движения в вертикальном направлении, что и определяют вышеуказанным образом. Более конкретно, используют способ сравнения для обеспечения M нахождения в пределах диапазона от нижнего предела Tm до верхнего предела W. Tm является заданным значением и, как правило, равно 4, и W представляет собой длину аффинного блока изображения в вертикальном направлении.The operation of limiting the amplitude along the length, which is the length of the affine subblock of the vertical motion compensation image, may need to be performed, which is determined in the above manner. More specifically, a comparison method is used to ensure that M is within the range from the lower limit Tm to the upper limit W. Tm is a predetermined value and is generally equal to 4, and W is the length of the affine image block in the vertical direction.

В частности, полученные разности

Figure 00000111
и
Figure 00000112
вектора движения, как правило, сравнительно невелики, что свидетельствует о том, что точность вектора движения каждого пикселя чрезмерно высока, например, 1/32 или 1/64. Чрезмерно высокая точность вектора движения мало способствует производительности сжатия видео, и вызывает огромное количество вычислений. Следовательно, аффинный блок делят на множество аффинных-MC блоков на основании ранее полученной ожидаемой точности
Figure 00000113
вектора движения, чтобы гарантировать, что точность вектора движения каждого аффинного MC блока достигает
Figure 00000113
. Меньшее значение
Figure 00000111
и
Figure 00000112
не меньше
Figure 00000113
.In particular, the resulting differences
Figure 00000111
and
Figure 00000112
motion vectors are typically relatively small, indicating that the motion vector accuracy of each pixel is excessively high, such as 1/32 or 1/64. Excessively high motion vector precision contributes little to video compression performance, and causes a huge amount of computation. Therefore, the affine block is divided into a set of affine-MC blocks based on the previously obtained expected accuracy
Figure 00000113
motion vector to ensure that the motion vector accuracy of each affine MC block reaches
Figure 00000113
. lower value
Figure 00000111
and
Figure 00000112
not less
Figure 00000113
.

Возможно, в этом варианте осуществления настоящего изобретения, предполагают, что расстояние по горизонтали между первой контрольной точкой и второй контрольной точкой является W, и вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой представляет собой Н, и предполагают, что ширина аффинного МС блока составляет

Figure 00000114
или обозначается как М, и высота равна
Figure 00000115
или обозначается как N.Perhaps, in this embodiment of the present invention, it is assumed that the horizontal distance between the first reference point and the second reference point is W, and the vertical distance between the third reference point and the fourth reference point is H, and the affine MC block width is assumed to be
Figure 00000114
or denoted as M, and the height is
Figure 00000115
or denoted as N.

В сценарии в решении 1, определение разности вектора движения аффинного блока изображения на основании трех контрольных точек и получение размера аффинного субблока изображения компенсации движения может быть реализовано с помощью следующей формулы (43), то есть М и N определяются в соответствии с формулой (43) или (44):In the scenario in Solution 1, determining the motion vector difference of the affine image block based on the three control points and obtaining the size of the affine sub-image sub-block of the motion compensation image can be realized by the following formula (43), that is, M and N are determined according to formula (43) or (44):

Figure 00000116
и
Figure 00000117
(43); или
Figure 00000116
and
Figure 00000117
(43); or

Figure 00000118
и
Figure 00000119
(44)
Figure 00000118
and
Figure 00000119
(44)

Это эквивалентно:This is equivalent to:

Figure 00000120
(45)
Figure 00000120
(45)

В сценарии в решении 2 определение разности вектора движения аффинного блока изображения на основании двух контрольных точек в горизонтальном направлении и получение размера аффинного субблока изображения компенсации движения может быть реализовано с помощью следующей формулы (46), то есть М и N определяются в соответствии с формулой (46):In the scenario in Solution 2, determining the motion vector difference of the affine image block based on two control points in the horizontal direction and obtaining the size of the affine sub-image sub-block of the motion compensation image can be realized by the following formula (46), that is, M and N are determined according to the formula ( 46):

Figure 00000121
(46)
Figure 00000121
(46)

Это эквивалентно:This is equivalent to:

Если

Figure 00000122
(47)If a
Figure 00000122
(47)

В сценарии в решении 3 определение разности вектора движения аффинного блока изображения на основании двух контрольных точек в вертикальном направлении и получение размера аффинного субблока изображения компенсации движения может быть реализовано с помощью следующей формулы (48), то есть М и N определяются в соответствии с формулой (48):In the scenario in Solution 3, determining the motion vector difference of the affine image block based on two control points in the vertical direction and obtaining the size of the affine sub-image sub-block of the motion compensation image can be implemented using the following formula (48), that is, M and N are determined according to the formula ( 48):

Figure 00000123
(48)
Figure 00000123
(48)

Это эквивалентно:This is equivalent to:

Если

Figure 00000124
(49)If a
Figure 00000124
(49)

После вычисления М и N по формулам (45), (47) и (49) для упрощения алгоритма, облегчают выполнение М и Н операции, а именно, требуется дополнительно определить, может ли быть равномерно разделен аффинный блок изображения с шириной W и высотой H на целое количество аффинных субблоков изображения компенсации движения. Более конкретно, необходимо определить, может ли W делится на М и Н делится ли на N. Если W является неделимым М и/или H является неделимым на N, значение, с помощью которого W и/или Н является неделимым, то есть М и/или N, корректируются, так что W делится на М, Н делится на N, и М и N удовлетворяют Тm ≤ M ≤ W и Tn ≤ N ≤ H.After calculating M and N according to formulas (45), (47) and (49), to simplify the algorithm, the M and H operations are facilitated, namely, it is required to additionally determine whether an affine image block with a width W and a height H can be evenly divided by an integer number of affine sub-blocks of the motion compensation image. More specifically, it is necessary to determine whether W can be divisible by M and H is divisible by N. If W is indivisible by M and/or H is indivisible by N, the value by which W and/or H is indivisible, that is, M and /or N are adjusted so that W is divisible by M, H is divisible by N, and M and N satisfy Tm ≤ M ≤ W and Tn ≤ N ≤ H.

Способ корректировки может быть следующим:The correction method can be as follows:

(1) Когда W является неделимыми на М, М постепенно уменьшаются/увеличиваются до тех пор W не будет делятся на М. При Н неделимом на N, N постепенно уменьшается/увеличивались до тех пор, пока Н делится на N. При M = N, либо только М и N должны быть скорректированы.(1) When W is indivisible by M, M is gradually decreased/increased until W is divisible by M. When H is indivisible by N, N is gradually decreased/increased until H is divisible by N. When M = N , or only M and N must be adjusted.

Возможно, верхний предел и нижний предел M и верхний предел, и нижний предел N ограничены, так что Тm ≤ M ≤ W, Tn ≤ N ≤ Н, Тm и Тn обычно устанавливают на 4.Perhaps the upper limit and lower limit of M and the upper limit and lower limit of N are limited, so that Tm ≤ M ≤ W, Tn ≤ N ≤ H, Tm and Tn are usually set to 4.

(2) Используют таблица поиска: в построенной двумерной таблице, W и М являются входными, и выводят М, которое удовлетворяет условию; и Н и N являются входными и выводится N, которое удовлетворяет условию.(2) Using a lookup table: in the constructed two-dimensional table, W and M are input, and output M that satisfies the condition; and H and N are inputs, and an N that satisfies the condition is output.

Возможно, после вычисления М и N по формулам (45), (47) и (49), М и N, кроме того, корректирует, так что W делится на М, Н делится на N, и М и Н каждый кратны S и удовлетворяется Тm ≤ M ≤ W и Тn ≤ N ≤ H.Perhaps, after calculating M and N by formulas (45), (47) and (49), M and N are further corrected so that W is divisible by M, H is divisible by N, and M and H are each a multiple of S and Tm ≤ M ≤ W and Tn ≤ N ≤ H are satisfied.

Способ корректировки может быть следующим:The correction method can be as follows:

(1) Когда W является неделимым М или М не является кратным S, М постепенно уменьшаются до тех пор, пока W не делятся на М и М является кратным S. Если Н является неделимым на N или N не кратно S, то N постепенно уменьшается до тех пор, H не будет делиться на N и N является кратным S. S обычно устанавливается на 4. При M = N, только одно из М и N должна быть скорректирована.(1) When W is indivisible by M or M is not a multiple of S, M is decremented until W is divisible by M and M is a multiple of S. If H is indivisible by N or N is not a multiple of S, then N is decremented until then, H will not be divisible by N and N is a multiple of S. S is usually set to 4. When M = N, only one of M and N needs to be adjusted.

Возможно, верхний предел и нижний предел M и верхний предел и нижний предел N ограничено, так что Тm ≤ M ≤ W, Tn ≤ N ≤ Н, Тm и Тn обычно устанавливаются на 4.Perhaps the upper limit and lower limit of M and the upper limit and lower limit of N are limited, so that Tm ≤ M ≤ W, Tn ≤ N ≤ H, Tm and Tn are usually set to 4.

(2) Используют способ таблицы поиска: в построенной двумерной таблице, W и М являются входными, и выводят М, которое удовлетворяет условию; и Н и N являются входными и выводят N, которое удовлетворяет условию.(2) The lookup table method is used: in the constructed two-dimensional table, W and M are input, and output M that satisfies the condition; and H and N are input and output N that satisfies the condition.

В частности, указанные выше решения могут быть реализованы с помощью следующего примера алгоритма кода в таблице 1.In particular, the above solutions can be implemented using the following example code algorithm in Table 1.

Figure 00000125
Figure 00000125

Figure 00000126
Figure 00000126

Таким образом, в соответствии со способом декодирования видеоизображения в этом варианте осуществления настоящего изобретения, устройство декодирования определяет размер аффинного субблока изображения компенсации движения на основе определенной разности вектора движения и точности вектора движения аффинного блока изображения, расстояния между контрольными точками, размера аффинного блока изображения, так что аффинный блок изображения может быть равномерно разделен на множество аффинных субблоков изображения компенсации движения с тем же размером. Таким образом, способ реализуют с помощью аппаратных средств/программного обеспечения, а также сложность уменьшается. Доказано, с помощью экспериментов в настоящем изобретении, что сложность на стороне кодера может быть снижена на 50%, сложность на стороне декодера может быть уменьшена на 70%, и поддерживается 90% - 95% от производительности. Таким образом, технология предсказания с компенсацией движения на основе аффинной модели может быть эффективно применено на практике.That is, according to the video image decoding method in this embodiment of the present invention, the decoding apparatus determines the size of the motion compensation affine image sub-block based on the determined difference of the motion vector and the motion vector accuracy of the affine image block, the distance between control points, the size of the affine image block, so that an affine image block can be evenly divided into a plurality of affine motion compensation image sub-blocks with the same size. Thus, the method is implemented in hardware/software and also the complexity is reduced. It has been proved by experiments in the present invention that the complexity on the encoder side can be reduced by 50%, the complexity on the decoder side can be reduced by 70%, and 90% - 95% of the performance is maintained. Thus, the motion compensation prediction technology based on the affine model can be effectively applied in practice.

Возможно, как показано на фиг.13, S740 включает в себя следующие этапы:Perhaps, as shown in Fig. 13, S740 includes the following steps:

S1301. Определить вектор движения каждого аффинного субблока изображения компенсации движения в аффинных субблоках изображения компенсации движения.S1301. Determine the motion vector of each affine subblock of the motion compensation image in the affine subblocks of the motion compensation image.

S1303. Определить сигнал предсказания с компенсацией движения каждого аффинного субблока изображения компенсации движения на основании вектора движения каждого аффинного субблока изображения компенсации движения.S1303. Determine the motion compensation prediction signal of each affine motion compensation image subblock based on the motion vector of each affine motion compensation image subblock.

S1305. Декодировать каждый аффинный субблок изображения компенсации движения на основании сигнала предсказания с компенсацией движения каждого аффинного субблока изображения компенсации движения.S1305. Decode each affine sub-block of the motion compensation image based on the motion-compensated prediction signal of each affine sub-block of the motion compensation image.

Следует понимать, что в данном варианте осуществления настоящего изобретения, каждый аффинный МС блок может включать в себя множество пикселей, и вектор движения пикселей должен быть выбран из каждого аффинного MC блока в качестве вектора движения аффинного MC блока.It should be understood that in this embodiment of the present invention, each affine MC block may include a plurality of pixels, and a pixel motion vector must be selected from each affine MC block as the motion vector of the affine MC block.

Возможно, в S1301, вектор движения пикселя на центральной позиции аффинного MC блока может быть выбран в качестве вектора движения аффинного MC блока, среднего значения векторов движения всех пикселей в аффинном MC блоке может быть использовано в качестве вектора движения аффинного MC блока, или вектор движения верхнего левого пикселя в аффинном MC блоке может быть выбран в качестве вектора движения аффинного MC блока. Тем не менее, это не ограничивается в настоящем изобретении.Possibly, in S1301, the motion vector of a pixel at the center position of the affine MC block can be selected as the motion vector of the affine MC block, the average of the motion vectors of all pixels in the affine MC block can be used as the motion vector of the affine MC block, or the motion vector of the top the left pixel in the affine MC block can be chosen as the motion vector of the affine MC block. However, this is not limited in the present invention.

Возможно, в этом варианте осуществления настоящего изобретения, сигнал граничного пикселя в каждом аффинном субблоке изображения компенсации движения фильтруется, и граничный пиксель является одной или несколькими строками пикселей на границе каждого аффинного субблока изображения компенсации движения.Possibly, in this embodiment of the present invention, the border pixel signal in each affine subblock of the motion compensation image is filtered, and the border pixel is one or more rows of pixels on the border of each affine subblock of the motion compensation image.

Возможно, в этом варианте осуществления настоящего изобретения сигнал граничного пикселя включает в себя сигнал предсказании с компенсацией движения и/или восстановленный сигнал, и восстановленный сигнал представляет собой сумму сигнала предсказания с компенсацией движения и восстановленного остаточного сигнала.Possibly, in this embodiment of the present invention, the boundary pixel signal includes a motion-compensated prediction signal and/or a reconstructed signal, and the reconstructed signal is the sum of the motion-compensated prediction signal and the reconstructed residual signal.

В частности, блок, обозначенный на схеме сплошной жирной линией, представляет собой аффинный блок, блок, обозначенный на схеме сплошной тонкой линией, представляет собой аффинный MC блок, блок, обозначенный на схеме пунктирной линией, представляет собой пиксель на границе соседнего аффинного MC блока, и точка пересечения представляет собой пиксель. Область блока, обозначаемая пунктирной линий на фиг. 11, включает в себя две строки или два столбца пикселей в соседних аффинных MC блоках на соответствующих границах смежных аффинных MC блоках, или может включать в себя одну строку или один столбец, три строки или три столбца, или тому подобное пикселей на соответствующих границах соседних аффинных MC блоках. Поскольку векторы движения соседних аффинных MC блоков могут быть разными, сигналы предсказания, полученные из опорного изображения, не являются смежными в опорном изображении. Это вызывает разрыв сигналов предсказания на границах смежных аффинных MC блоков, что дополнительно вызывает разрыв остаточного сигнала, и влияет на производительность кодирования изображения/декодирования остаточного сигнала. Таким образом, рассмотрена фильтрация сигнала предсказания с компенсацией движения на границе аффинного MC блока.In particular, the block indicated in the diagram by a solid thick line is an affine block, the block indicated by a solid thin line in the diagram is an affine MC block, the block indicated by a dotted line in the diagram is a pixel on the border of an adjacent affine MC block, and the intersection point is a pixel. The area of the block, indicated by the dotted line in FIG. 11 includes two rows or two columns of pixels in adjacent affine MC blocks on respective boundaries of adjacent affine MC blocks, or may include one row or one column, three rows or three columns, or the like of pixels on respective boundaries of adjacent affine MC blocks. Since the motion vectors of adjacent affine MC blocks may be different, the prediction signals obtained from the reference picture are not contiguous in the reference picture. This causes discontinuity of the prediction signals at the boundaries of adjacent affine MC blocks, which further causes discontinuity in the residual signal, and affects the image encoding/residual decoding performance. Thus, the filtering of the prediction signal with motion compensation at the boundary of the affine MC block is considered.

Восстановленный сигнал, как правило, получают путем суммирования сигнала предсказания с компенсацией движения и восстановленного остаточного сигнала. Кодирование с потерями обычно выполняются на остаточном сигнале. Это приводит к искажению восстановленного остаточного сигнала относительно исходного остаточного сигнала. Искажение пикселей на границах смежных аффинных MC блоков могут быть различными. Например, значение пикселя на правой стороне в первом аффинном MC блоке становится больше из-за искажения, и значение пикселя на левой стороне в аффинном MC блоке, который является смежным с и справа от первого аффинного MC блока становится меньше из-за искажения. Это вызывает разрыв граничных значений пикселей восстановленных пикселей в аффинных МС блоках, и искажает субъективные и объективные эффекты. Таким образом, восстановленный сигнал должен быть отфильтрован.The recovered signal is typically obtained by summing the motion-compensated prediction signal and the recovered residual signal. Lossy coding is usually performed on the residual signal. This results in a distortion of the reconstructed residual signal with respect to the original residual signal. Pixel distortion at the boundaries of adjacent affine MC blocks can be different. For example, a pixel value on the right side in the first affine MC block becomes larger due to distortion, and a pixel value on the left side in an affine MC block that is adjacent to and to the right of the first affine MC block becomes smaller due to distortion. This causes a break in the boundary values of the reconstructed pixels in the affine MS blocks, and distorts the subjective and objective effects. Thus, the reconstructed signal must be filtered.

Возможно, в этом варианте осуществления настоящего изобретения, фильтрация может быть выполнена с помощью фильтра нижних частот, так что значение пикселя в граничной области изменяется более плавно. Например, фильтрация выполняется с использованием фильтра Гаусса. Тем не менее, это не ограничивается в настоящем изобретении.Possibly, in this embodiment of the present invention, filtering can be performed with a low pass filter so that the pixel value in the boundary region changes more smoothly. For example, filtering is performed using a Gaussian filter. However, this is not limited in the present invention.

Возможно, в этом варианте осуществления настоящего изобретения, фильтрация может быть выполнена с использованием способа компенсации движения перекрывающихся блоков (Overlapped block motion compensation, «OBMC», для краткости). Предсказание с компенсацией движения выполняется на отфильтрованном пикселе с использованием вектора движения аффинного MC блока, примыкающий к отфильтрованному пикселю, и выполняют взвешенное усреднение на полученном сигнале предсказания с компенсацией движения и сигнале предсказания с компенсацией движения, полученного с использованием вектора движения отфильтрованного пикселя, чтобы получить конечный сигнал предсказания с компенсацией движения.Possibly, in this embodiment of the present invention, the filtering may be performed using an Overlapped block motion compensation (OBMC) method for short. Motion-compensated prediction is performed on the filtered pixel using the motion vector of the affine MC block adjacent to the filtered pixel, and a weighted average is performed on the obtained motion-compensated prediction signal and the motion-compensated prediction signal obtained using the motion vector of the filtered pixel to obtain the final motion compensated prediction signal.

В соответствии с способом декодирования видеоизображения в этом варианте осуществления настоящего изобретения, устройство декодирования определяет размер аффинного субблока изображения компенсации движения на основе определенной разности вектора движения и точности вектора движения аффинного блока изображения, и расстояния между контрольными точками, и дополнительно корректируют размер аффинного субблока изображения компенсации движения на основании соотношения между размером аффинного блока изображения и размером аффинного субблока изображения компенсации движения, так что размер аффинного субблока изображения компенсации движения легко реализовать, и сложность уменьшается. Доказано с помощью экспериментов в настоящем изобретении, что сложность на стороне кодера может быть уменьшена на 50%, сложность на стороне декодера может быть уменьшена на 70%, и поддерживают производительность на уровне 90% до 95%. Таким образом, технология предсказания с компенсацией движения на основе аффинной модели может быть эффективно применена на практике.According to the video image decoding method in this embodiment of the present invention, the decoding device determines the size of the motion compensation affine sub-image sub-frame based on the determined difference of the motion vector and the motion vector precision of the affine image block, and the distance between the control points, and further corrects the size of the affine sub-image of the compensation image. motion based on the relationship between the size of the affine image block and the size of the affine sub-image sub-image of the motion compensation, so that the size of the affine sub-image of the motion compensation image is easy to realize and the complexity is reduced. It has been proved by experiments in the present invention that the complexity on the encoder side can be reduced by 50%, the complexity on the decoder side can be reduced by 70%, and the performance is maintained at 90% to 95%. Thus, the motion compensation prediction technology based on the affine model can be effectively applied in practice.

Возможно, способ декодирования в настоящем изобретении, может также представлять собой следующее:Possibly, the decoding method in the present invention may also be as follows:

синтаксический анализ битового потока для получения разности вектора движения аффинного блока изображения и точности вектора движения аффинного блока изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования;parsing the bitstream to obtain the difference of the motion vector of the affine image block and the accuracy of the motion vector of the affine image block, where the pixels in the affine image block have the same affine transform parameter;

определение размера аффинного субблока изображения компенсация движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения и расстояния между контрольными точками в аффинном блоке изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; иdetermining the size of an affine subblock of an image compensation of motion in an affine image block based on the motion vector difference, the motion vector precision, and the distance between control points in the affine image block, where the size includes the length in the horizontal direction and the length in the vertical direction, so that the length of the affine block the image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine sub-image of the motion compensation in the vertical direction; and control points are pixels used to determine the motion vector difference; and

выполнение обработки декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения; илиperforming decoding processing on the affine image block based on the size of the affine sub-block of the motion compensation image; or

синтаксический анализ битового потока для получения информации аффинного блока изображения;parsing the bitstream to obtain affine image block information;

определение размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании информации аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, длину аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; иdetermining the size of the motion compensation image affine sub-block in the affine image block based on the affine image block information, where the size includes the length in the horizontal direction and the length in the vertical direction, the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-block motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-image compensation in the vertical direction; and

выполнение обработки декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.performing decoding processing on the affine image block based on the size of the affine subblock of the motion compensation image.

Таким образом, стороне декодера не требуется выполнять повторный расчет, а непосредственно использовать параметр, передаваемый стороной кодера на сторону декодера для определения размера аффинного субблока изображения компенсации движения. Таким образом, дополнительно снижают сложность вычисления.Thus, the decoder side does not need to recalculate, but directly use the parameter transmitted by the encoder side to the decoder side to determine the size of the affine sub-block of the motion compensation image. Thus, the calculation complexity is further reduced.

Вышеприведенное изложение подробно описывается способ декодирования видеоизображения в соответствии с вариантами осуществления настоящего изобретения со ссылкой на фиг. 1 - фиг. 13. Сказанное дополнительно иллюстрирует, что способ реализации этого решения на стороне декодера и стороне кодера, в основном, одинаков. Для более четкого описания, ниже приведено изложение способа кодирования видеоизображения в соответствии с вариантами осуществления настоящего изобретения со ссылкой на фиг. 14 - фиг. 16. Следует отметить, что, так как связанные с ними операции на стороне кодера, по существу, являются такими же, как на стороне декодера, чтобы избежать повторения, детали реализации не описаны здесь еще раз.The above discussion describes in detail the video decoding method according to the embodiments of the present invention with reference to FIG. 1 - fig. 13. The above further illustrates that the way in which this solution is implemented on the decoder side and the encoder side is basically the same. For a clearer description, the following is a description of a video encoding method according to embodiments of the present invention with reference to FIG. 14 - fig. 16. It should be noted that since the related operations on the encoder side are essentially the same as those on the decoder side, in order to avoid repetition, the implementation details are not described again here.

Фиг.14 представляет собой блок-схему последовательности способа кодирования видеоизображения, в соответствии с вариантом осуществления настоящего изобретения.14 is a flowchart of a video encoding method according to an embodiment of the present invention.

Способ, показанный на фиг. 14, может быть выполнен с помощью устройства кодирования. Так, например, похожий на декодер, кодер, как правило, включает в себя блок предсказания, блок генерирования остаточного сигнала, блок преобразования, блок квантования, блок деквантования, блок обратного преобразования, блок восстановления, блок фильтра, буфер декодированного изображения и блок энтропийного кодирования. Блок энтропийного кодирования включает в себя блок обычного кодирования/декодирования CABAC и блок обходного кодирования/декодирования. Блок предсказания включает в себя блок межкадрового предсказания и блок внутрикадрового предсказания. Блок межкадрового предсказания включает в себя блок оценки движения и блок компенсации движения. В другом варианте осуществления кодер может включать в себя больше или меньше, или иные функциональные компоненты. По аналогии со способом декодирования, способ кодирования по настоящему изобретению, в основном, применяется к способу выполнения межкадрового предсказания с помощью блока межкадрового предсказания. Для детальной структуры каждого функционального блока кодера, обратитесь к правилам и описанию в предшествующем уровне техники, такому как стандарт H.265. Подробное описание в настоящем изобретении опущено. В настоящем изобретении, только следующий вариант осуществления используется для описания основного процесса адаптивного определения размера аффинного субблока изображения компенсации движения и выполнения кодирования в способе в этом варианте осуществления настоящего изобретения.The method shown in FIG. 14 may be performed with an encoder. For example, similar to a decoder, an encoder typically includes a prediction block, a residual signal generation block, a transform block, a quantizer block, a dequantizer block, an inverse transform block, a reconstruction block, a filter block, a decoded image buffer, and an entropy coding block. . The entropy encoding block includes a conventional CABAC encoding/decoding block and a bypass encoding/decoding block. The prediction block includes an inter prediction block and an intra prediction block. The inter prediction block includes a motion estimator and a motion compensation block. In another embodiment, the encoder may include more or less or different functional components. Similar to the decoding method, the encoding method of the present invention is mainly applied to a method for performing inter prediction with an inter prediction block. For the detailed structure of each encoder function block, refer to the rules and description in the prior art, such as the H.265 standard. Detailed description in the present invention is omitted. In the present invention, only the following embodiment is used to describe the main process of adaptively determining the size of the motion compensation image affine sub-block and performing encoding in the method in this embodiment of the present invention.

В частности, как показано на фиг. 14, способ 1400 включает в себя следующие этапы:In particular, as shown in FIG. 14, method 1400 includes the following steps:

S1410. Определить разность вектора движения аффинного блока изображения.S1410. Determine the difference of the motion vector of an affine image block.

S1430. Определить точность вектора движения аффинного блока изображения.S1430. Determine the accuracy of the motion vector of an affine image block.

S1450. Определить размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности векторов движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения, и размер аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения.S1450. Determine the size of an affine subblock of a motion compensation image in an affine image block based on the motion vector difference, the motion vector precision, the distance between control points in the affine image block, and the size of the affine image block, where the size includes the length in the horizontal direction and the length in the vertical direction , so that the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-image sub-block of the motion compensation in the vertical direction; and control points are pixels used to determine the motion vector difference.

S1470. Выполнить обработку кодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.S1470. Perform encoding processing on the affine image block based on the size of the affine subblock of the motion compensation image.

В частности, устройство кодирования определяет разность вектора движения аффинного блока изображения на основании определенных контрольных точек, определить точность вектора движения аффинного блока изображения, и определить размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании определенной разности вектора движения и точности вектора движения, расстояния между контрольными точками, и размер аффинного блока изображения, где размер аффинного субблока изображения компенсации движения является размером, используемый для деления аффинного блока изображения, и аффинный блок изображения разделяют на множество аффинных субблоков изображения компенсации движения с одинаковым размером на основании размера разделения. Затем устройство кодирования кодирует аффинный блок изображения на основании аффинном субблоке изображения компенсации движения.Specifically, the encoding device determines the motion vector difference of the affine image block based on the determined reference points, determines the motion vector accuracy of the affine image block, and determines the size of the affine sub-image sub-block of the motion compensation in the affine image block based on the determined motion vector difference and the motion vector accuracy, distance between breakpoints, and an affine image block size, where the size of the motion compensation affine image subblock is the size used to divide the affine image block, and the affine image block is divided into a plurality of affine motion compensation image subblocks with the same size based on the division size. The encoder then encodes the affine image block based on the affine subblock of the motion compensation image.

Таким образом, путем выполнения способа кодирования видеоизображения в этом варианте осуществления настоящего изобретения блок межкадрового предсказания определяет размер аффинного субблока изображения компенсации движения на основании определенной разности вектора движения и точности вектора движения аффинного блока изображения, расстояния между контрольными точками, и размер аффинного блока изображения, разбивают аффинный блок изображения на множество аффинных субблоков изображения компенсации движения с одним размером на основании размера аффинного субблока изображения компенсации движения и затем выполняет обработку кодирования. Таким образом, в процессе кодирования, аффинный субблок изображения компенсации движения с соответствующим размером может быть адаптивно выбран на основе изменения указанных выше параметров, кодирующая сложность уменьшается, и производительность кодирования, то есть эффективность сжатия, повышается.Thus, by executing the video encoding method in this embodiment of the present invention, the inter-picture prediction unit determines the size of the motion compensation affine image sub-block based on the determined motion vector difference and the motion vector precision of the affine image block, the distance between control points, and the size of the affine image block, split affine image block into a plurality of affine motion compensation image subblocks with one size based on the size of the affine motion compensation image subblock, and then performs encoding processing. Thus, in the encoding process, an affine sub-block of a motion compensation image with an appropriate size can be adaptively selected based on a change in the above parameters, encoding complexity is reduced, and encoding performance, that is, compression efficiency, is increased.

Предпочтительно, S1410 включает в себя:Preferably, S1410 includes:

определение первой компоненты разности векторов движения на основании разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной горизонтальной линии; и/илиdetermining a first motion vector difference component based on a difference between the motion vectors of the first reference point and the second reference point, which are located on the same horizontal line; and/or

определение второй компоненты разности вектора движения на основании разности между векторами движения третьей контрольной точкой и четвертой контрольной точкой, которые расположены на одной вертикальной линии.determining a second motion vector difference component based on a difference between the motion vectors of the third reference point and the fourth reference point, which are located on the same vertical line.

Существует первое горизонтальное расстояние между первой контрольной точкой и второй контрольной точкой, и есть первое вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой. Следует отметить, что «и/или» в решении на этапе S1410 конкретно указывает на следующие три различных технических решений:There is a first horizontal distance between the first control point and the second control point, and there is a first vertical distance between the third control point and the fourth control point. It should be noted that "and/or" in the decision in step S1410 specifically refers to the following three different technical solutions:

Решение 1: способ определения разности вектора движения аффинного блока изображения на основании трех контрольных точек включает в себя:Solution 1: A method for determining the motion vector difference of an affine image block based on three control points includes:

определение первой компоненты разности векторов движения на основании разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной и той же горизонтальной линии, и определение второй компоненты разности вектора движения на основе разности между векторами движения третьего контрольной точки и четвертой контрольной точки, которые расположены на одной и той же вертикальной линии.determining a first motion vector difference component based on a difference between the motion vectors of the first reference point and the second reference point, which are located on the same horizontal line, and determining a second motion vector difference component based on the difference between the motion vectors of the third reference point and the fourth reference point that are located on the same vertical line.

Решение 2: способ определения разности вектора движения аффинного блока изображения на основании двух контрольных точек в горизонтальном направлении включает в себя: определение первой компоненты разности векторов движения на основании разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной и той же горизонтальной линии.Solution 2: A method for determining a motion vector difference of an affine image block based on two control points in a horizontal direction includes: determining a first motion vector difference component based on a difference between the motion vectors of the first control point and the second control point, which are located on the same horizontal line.

Решение 3: способ определения разности вектора движения аффинного блока изображения на основании двух контрольных точек в вертикальном направлении включает в себя: определение второй компоненты разности векторов движения на основании разности между векторами движения третьей контрольной точки и четвертой контрольной точки, которые расположены на одной и той же вертикальной линии.Solution 3: A method for determining a motion vector difference of an affine image block based on two control points in the vertical direction includes: determining the second component of the motion vector difference based on the difference between the motion vectors of the third control point and the fourth control point, which are located on the same vertical line.

Следует понимать, что в данном варианте осуществления настоящего изобретения, первый компонент разности векторов движения является горизонтальной составляющей разности вектора движения, и второй компонент разности вектора движения представляет собой вертикальную составляющую разницы вектора движения. В решении 1 первый компонент разности вектора движения, второй компонент разности вектора движения совместно составляют разность вектора движения аффинного блока изображения. Тем не менее, в решении 2 и решении 3, первый компонент разности вектора движения, второй компонент разности вектора движения независимо друг от друга отражают разность вектора движения аффинного блока изображения. Другими словами, в решении 1, разность вектора движения аффинного блока изображения включает в себя первый компонент разности вектора движения, второй компонент разности вектора движения; в решении 2, разность вектора движения аффинного блока изображения включает в себя первый компонент разности вектора движения; и в решении 3, разность вектора движения аффинного блока изображения включает в себя третий компонент разности вектора движения. Следует также понимать, что в данном варианте осуществления настоящего изобретения, первый, второй, третий и четвертый только используются для различения пикселей и не должны представлять собой какое-либо ограничение на объем защиты настоящего изобретения. Например, первая контрольная точка также может упоминаться в качестве второй контрольной точки, и вторая контрольная точка может упоминаться в качестве первой контрольной точки.It should be understood that in this embodiment of the present invention, the first motion vector difference component is the horizontal motion vector difference component, and the second motion vector difference component is the vertical motion vector difference component. In Solution 1, the first motion vector difference component, the second motion vector difference component together constitute the motion vector difference of the affine image block. However, in Solution 2 and Solution 3, the first motion vector difference component, the second motion vector difference component independently reflect the motion vector difference of the affine image block. In other words, in Solution 1, the motion vector difference of the affine image block includes a first motion vector difference component, a second motion vector difference component; in solution 2, the motion vector difference of the affine image block includes the first motion vector difference component; and in solution 3, the motion vector difference of the affine image block includes a third component of the motion vector difference. It should also be understood that in this embodiment of the present invention, the first, second, third and fourth are only used to distinguish pixels and should not constitute any limitation on the protection scope of the present invention. For example, the first reference point may also be referred to as the second reference point, and the second reference point may be referred to as the first reference point.

Возможно, в этом варианте осуществления настоящего изобретения, первая контрольная точка и третья контрольная точка являются такими же пикселями. Более конкретно, три контрольные точки выбраны, и одна из трех контрольных точек находятся на одной горизонтальной линии в качестве одной из двух других контрольных точек, и расположены на одной вертикальной линии в качестве последней контрольной точки.Perhaps, in this embodiment of the present invention, the first control point and the third control point are the same pixels. More specifically, three control points are selected, and one of the three control points is on the same horizontal line as one of the other two control points, and is located on the same vertical line as the last control point.

Возможно, в этом варианте осуществления настоящего изобретения первая контрольная точка, вторая контрольная точка, третья контрольная точка и четвертая контрольная точка являются вершинами аффинного блока. Предполагают, что четыре вершины в аффинном блоке, соответственно, обозначены как верхняя левая вершина, нижняя левая вершина, верхняя правая вершина и нижняя правая вершина.Perhaps, in this embodiment of the present invention, the first control point, the second control point, the third control point and the fourth control point are the vertices of the affine block. The four vertices in an affine block are assumed to be respectively labeled top left, bottom left, top right, and bottom right.

В решении 1, любые три вершин в двух ортогональных направлениях могут быть выбраны для определения разности вектора движения аффинного блока. Например, верхняя левая вершина, нижняя левая вершина и верхняя правая вершина могут быть выбраны или могут быть выбраны верхняя левая вершина, верхняя правая вершина и нижняя правая вершина.In solution 1, any three vertices in two orthogonal directions can be chosen to determine the difference in the motion vector of the affine block. For example, the top left vertex, bottom left vertex, and top right vertex may be selected, or the top left vertex, top right vertex, and bottom right vertex may be selected.

В решении 2, могут быть выбраны любые две вершины, расположенные на одной горизонтальной линии, чтобы определить разность вектора движения аффинного блока. Например, могут быть выбраны верхняя левая вершина и верхняя правая вершина или могут быть выбраны нижняя левая вершина и нижняя правая вершина.In solution 2, any two vertices located on the same horizontal line can be selected to determine the difference in the motion vector of the affine block. For example, the top left vertex and top right vertex may be selected, or the bottom left vertex and bottom right vertex may be selected.

В решении 3 могут быть выбраны любые две вершины, расположенные на одной и той же вертикальной линии, чтобы определить разность вектора движения аффинного блока. Например, могут быть выбраны верхняя левая вершина и нижняя левая вершина или могут быть выбраны верхняя правая вершина и нижняя правая вершина. Это не ограничивается в настоящем изобретении.In solution 3, any two vertices located on the same vertical line can be selected to determine the difference in the motion vector of the affine block. For example, the top left vertex and bottom left vertex may be selected, or the top right vertex and bottom right vertex may be selected. This is not limited in the present invention.

В качестве варианта, в этом варианте осуществления настоящего изобретения, может быть определена разница между компонентами, которые являются векторами движения первой контрольной точки и второй контрольной точки, и которые находятся в одном из двух направлений (горизонтальное направление и вертикальное направление, или называют направление х и направление у), в качестве первой компоненты разности вектора движения аффинного блока, и может быть определена разница между компонентами, которые имеют векторы движения третьей контрольной точки и четвертой контрольной точки в любом из двух направлений в качестве второй компоненты разности вектора движения аффинного блока. Способ определения разности вектора движения применяется к решениям 1, 2 и 3. В качестве альтернативы, в соответствии с фактическими потребностями сложности кодирования и производительности кодирования, значения между двумя разностями между компонентами векторов движения первой контрольной точки и второй контрольной точки в двух направлениях, может быть выбрана и определена в качестве первого компонента, и значение между двумя разностями между компонентами вектора движения третьей контрольной точки и четвертой контрольной точки в двух направлениях, может быть выбрана и определена в качестве второго компонента. Это не ограничивается в настоящем изобретении.Alternatively, in this embodiment of the present invention, the difference between the components that are the motion vectors of the first reference point and the second reference point, and which are in one of two directions (horizontal direction and vertical direction, or referred to as the x direction and direction y) as the first difference component of the motion vector of the affine block, and the difference between the components that have the motion vectors of the third reference point and the fourth reference point in either of the two directions as the second difference component of the motion vector of the affine block can be determined. The method for determining the motion vector difference is applied to solutions 1, 2, and 3. Alternatively, according to the actual needs of encoding complexity and encoding performance, the values between two differences between the motion vector components of the first reference point and the second reference point in two directions may be is selected and determined as the first component, and a value between two differences between the motion vector components of the third reference point and the fourth reference point in two directions may be selected and determined as the second component. This is not limited in the present invention.

Вектор движения каждого из первой контрольной точки до четвертой контрольной точки, как правило, включает в себя две компоненты, то есть горизонтальную составляющую и вертикальную составляющую. Таким образом, в предшествующих этапах, определение первой компоненты разности вектора движения на основе разности между векторами движения первой контрольной точки и второй контрольной точки, которые расположены на одной горизонтальной линии, и определение второго компонента разности вектора движения на основе разности между векторами движения третьей контрольной точки и четвертой контрольной точки, которые расположены на одной вертикальной линии, может быть конкретно реализовано следующим образом:The motion vector of each from the first waypoint to the fourth waypoint typically includes two components, ie, a horizontal component and a vertical component. Thus, in the preceding steps, determining the first motion vector difference component based on the difference between the motion vectors of the first reference point and the second reference point, which are located on the same horizontal line, and determining the second motion vector difference component based on the difference between the motion vectors of the third reference point and the fourth control point, which are located on the same vertical line, can be specifically implemented as follows:

определение первой горизонтальной составляющей разности и первой вертикальной составляющей разности между векторами движения первой контрольной точки и второй контрольной точки, и определение больше одной из первой горизонтальной составляющей разности и первой вертикальной составляющей разницы в качестве первого компонента из разности вектора движения; иdetermining a first horizontal difference component and a first vertical difference component between the motion vectors of the first reference point and the second reference point, and determining more than one of the first horizontal difference component and the first vertical difference component as the first component of the motion vector difference; and

соответственно, определение второй горизонтальной составляющей разности и второй вертикальной составляющей разницы между векторами движения третьей контрольной точки и четвертой контрольной точки, и определением больше одной из второй горизонтальной составляющей разности и второй вертикальной составляющей разницы в качестве второго компонента разности вектора движения.respectively, determining a second horizontal difference component and a second vertical difference component between the motion vectors of the third reference point and the fourth reference point, and determining more than one of the second horizontal difference component and the second vertical difference component as the second motion vector difference component.

Возможно, в этом варианте осуществления настоящего изобретения, разность вектора движения получает на основе аффинной модели, то есть разности векторов движения получают путем определения параметров аффинного преобразования пикселя в аффинном блоке изображения. Следует отметить, что пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования.Perhaps, in this embodiment of the present invention, the motion vector difference is obtained based on an affine model, that is, the motion vector differences are obtained by determining the affine transformation parameters of a pixel in an affine image block. It should be noted that pixels in an affine image block have the same affine transformation parameter.

Соответственно, вышеприведенное этап определения первой горизонтальной составляющей разницы и первой вертикальной составляющей разницы между векторами движения первой контрольной точки и второй контрольной точки представляет собой, именно: определение первой горизонтальной составляющей разности и первой вертикальной составляющей разницы на основе параметра аффинного преобразования и первого горизонтального расстояния; и предшествующий этап определения второй горизонтальной составляющей разницы и второй вертикальной составляющей разницы между векторами движения третьей контрольной точки и четвертой контрольной точки представляет собой именно: определение второй горизонтальной составляющей разности и второй вертикальной составляющей разности на основании параметра аффинного преобразования и первого вертикального расстояния.Accordingly, the above step of determining the first horizontal difference component and the first vertical difference component between the motion vectors of the first reference point and the second reference point is, namely: determining the first horizontal difference component and the first vertical difference component based on the affine transformation parameter and the first horizontal distance; and the preceding step of determining the second horizontal difference component and the second vertical difference component between the motion vectors of the third reference point and the fourth reference point is precisely: determining the second horizontal difference component and the second vertical difference component based on the affine transform parameter and the first vertical distance.

Следует понимать, что номера последовательности из указанных выше процессов не указывают на последовательность выполнения. Последовательность выполнения процессов должна быть определена на основе функций и внутренней логике процессов, и не должна представлять собой какое-либо ограничение на процессах реализации этого варианта осуществления настоящего изобретения.It should be understood that the sequence numbers of the above processes do not indicate the sequence of execution. The sequence of execution of the processes should be determined based on the functions and internal logic of the processes, and should not represent any limitation on the processes of implementing this embodiment of the present invention.

Возможно, в этом варианте осуществления настоящего изобретения, модель аффинного преобразования может быть известной моделью 6-параметрового аффинного преобразования или может быть моделью предшествующего уровня техники 4-параметровой или 2-параметровой моделью аффинного преобразования. Модель 6-параметрого аффинного преобразования, в основном, применяется к сценарию в решении 1 на основании трех контрольных точек, и модель 4-параметрового аффинного преобразования, в основном, применяется для сценариев в решении 2 и решении 3 на основе двух контрольных точек. Для конкретного содержания, см описания способа декодирования в данном описании.Possibly, in this embodiment of the present invention, the affine transform model may be a known 6-parameter affine transform model, or may be a prior art 4-parameter or 2-parameter affine transform model. The 6-parameter affine transformation model is mainly applied to the scenario in solution 1 based on three control points, and the 4-parameter affine transformation model is mainly applied to the scenarios in solution 2 and solution 3 based on two control points. For specific content, see the descriptions of the decoding method in this specification.

Возможно, в этом варианте осуществления настоящего изобретения могут быть определен вектор движения первой контрольной точки, вектор движения второй контрольной точки, вектор движения третьей контрольной точки и вектор движения четвертой контрольной точки для определения разности вектора движения аффинного блока изображения.Perhaps, in this embodiment of the present invention, the motion vector of the first reference point, the motion vector of the second reference point, the motion vector of the third reference point, and the motion vector of the fourth reference point can be determined to determine the motion vector difference of the affine image block.

Соответственно, в сценарии в решении 1, разница между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки определяется в качестве первого компонента горизонтальной разности; разница между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки определяется как первая компонента вертикальной разности; разница между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки определяются в качестве второго компонента горизонтальной разности; и разница между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки определяются в качестве второго компонента вертикальной разности.Accordingly, in the scenario in Solution 1, the difference between the horizontal motion vector component of the first reference point and the horizontal motion vector component of the second reference point is determined as the first component of the horizontal difference; the difference between the vertical component of the motion vector of the first reference point and the vertical component of the motion vector of the second reference point is determined as the first component of the vertical difference; the difference between the horizontal motion vector component of the third reference point and the horizontal motion vector component of the fourth reference point is determined as the second component of the horizontal difference; and the difference between the vertical motion vector component of the third reference point and the vertical motion vector component of the fourth reference point are determined as the second component of the vertical difference.

В сценарии в решении 2, разница между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки определяется как первая компонента горизонтальной разности; и разница между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки определяется как первая компонента вертикальной разности.In the scenario in Solution 2, the difference between the horizontal motion vector component of the first control point and the horizontal motion vector component of the second control point is defined as the first component of the horizontal difference; and the difference between the vertical motion vector component of the first reference point and the vertical motion vector component of the second reference point is defined as the first vertical difference component.

В сценарии в решении 3 разница между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки определяются в качестве второго компонента горизонтальной разности; и разница между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки определяются в качестве второго компонента вертикальной разности.In the scenario in Solution 3, the difference between the horizontal motion vector component of the third control point and the horizontal motion vector component of the fourth control point is defined as the second component of the horizontal difference; and the difference between the vertical motion vector component of the third reference point and the vertical motion vector component of the fourth reference point are determined as the second component of the vertical difference.

В частности, могут быть непосредственно определены векторы движения контрольных точек, и первый компонент и второй компонент разности векторов движения аффинного блока могут быть непосредственно получены путем вычисления разницы между компонентами векторов движения.In particular, the motion vectors of the control points can be directly determined, and the first component and the second component of the motion vector difference of the affine block can be directly obtained by calculating the difference between the components of the motion vectors.

Возможно, в этом варианте осуществления настоящего изобретения первая контрольная точка и вторая контрольная точка являются двумя соседними пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями. Другими слова, контрольные точки не обязательно выбраны из четырех угловых точек, также упоминаемые как вершины, в аффинного блока изображения, но могут быть точками, которые находятся на любой позиции в аффинном блоке изображения и совместно установленные на стороне кодера и стороне декодера, что явно указано в битовом потоке с использованием сигнализации, или получены с помощью оценки или дублирования на основе контрольных точек в окружении аффинного блока изображения. В этом случае, определение первой горизонтальной составляющей разности, первой вертикальной составляющей разности, второй горизонтальной составляющей разницы и второй вертикальной составляющей разницу представляется собой именно следующее:Perhaps, in this embodiment of the present invention, the first control point and the second control point are two adjacent pixels, and the third control point and the fourth control point are two adjacent pixels. In other words, the control points are not necessarily chosen from the four corner points, also referred to as vertices, in the affine image block, but can be points that are at any position in the affine image block and are jointly set on the encoder side and the decoder side, as explicitly stated. in a bitstream using signaling, or derived from checkpoint-based estimation or duplication in an affine picture block environment. In this case, the definition of the first horizontal difference component, the first vertical difference component, the second horizontal difference component, and the second vertical difference component is exactly as follows:

Определяют вектор движения первого пикселя, вектор движения второго пикселя и вектор движения третьего пикселя, где первый пиксель, второй пиксель и третий пиксель являются пикселями, которые не перекрываются с друг с другом; определяют второе горизонтальное расстояние и второе вертикальное расстояние между первым пикселем и вторым пикселем; определяют третье горизонтальное расстояние и третье вертикальное расстояние между первым пикселем и третьим пикселем; и определяют первую горизонтальную составляющую разности, первую вертикальную составляющую разницы, вторую горизонтальную составляющую разности и вторую вертикальную составляющую разности на основании вектора движения первого пикселя, вектор движения второго пикселя, вектора движения третьего пикселя, второго горизонтального расстояния, второго вертикального расстояния, третьего горизонтального расстояния и третьего вертикального расстояния. В решении 1 описан пример на основе трех контрольных точек. Как очевидно из приведенного выше примера, разница между решением 2 или решением 3 на основе двух контрольных точек и решения 1 на основе трех контрольных точек заключается: используют только первый компонент разности или второй компонент разницы в решении 1 в качестве разности вектора движения аффинного изображения на основе два контрольных точек.A motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel are determined, where the first pixel, the second pixel, and the third pixel are pixels that do not overlap with each other; determining a second horizontal distance and a second vertical distance between the first pixel and the second pixel; determining a third horizontal distance and a third vertical distance between the first pixel and the third pixel; and determining a first horizontal difference component, a first vertical difference component, a second horizontal difference component, and a second vertical difference component based on the motion vector of the first pixel, the motion vector of the second pixel, the motion vector of the third pixel, the second horizontal distance, the second vertical distance, the third horizontal distance, and third vertical distance. Solution 1 describes an example based on three breakpoints. As evident from the above example, the difference between solution 2 or solution 3 based on two control points and solution 1 based on three control points is: use only the first component of the difference or the second component of the difference in solution 1 as the difference of the motion vector of the affine image based on two control points.

Возможно, в этом варианте осуществления настоящего изобретения устройство кодирования может получить векторы движения всех контрольных точек посредством оценки движения и поиска, может получить векторы движения всех контрольных точек на основе окружающего блока изображения или может вычислить векторы движения всех контрольных точек на основе модели аффинного преобразования. В качестве альтернативы, устройство кодирования может получить векторы движения некоторых контрольных точек посредством оценки движения и поиска, и получить векторы движения других контрольных точек на основе соседнего блока изображения. В качестве альтернативы, устройство кодирования может получить векторы движения некоторых контрольных точек с помощью аффинной оценки движения и поиска, и вычислить векторы движения других контрольных точек на основе модели аффинного преобразования. В качестве альтернативы, устройство кодирования может получить векторы движения некоторых контрольных точек на основе соседнего блока изображения и вычислять векторы движения других контрольных точек на основе модели аффинного преобразования. Тем не менее, это не ограничивается в настоящем изобретении.Possibly, in this embodiment of the present invention, the encoder may obtain the motion vectors of all control points through motion estimation and searching, may obtain the motion vectors of all control points based on the surrounding image block, or may calculate the motion vectors of all control points based on an affine transformation model. Alternatively, the encoder may obtain the motion vectors of some control points through motion estimation and searching, and obtain the motion vectors of other control points based on the neighboring image block. Alternatively, the encoder may obtain the motion vectors of some control points using affine motion estimation and search, and calculate the motion vectors of other control points based on the affine transformation model. Alternatively, the encoder may derive the motion vectors of some control points based on an adjacent image block and calculate the motion vectors of other control points based on an affine transformation model. However, this is not limited in the present invention.

Возможно, в S1430 может быть определено первое заданное значение как точность вектора движения аффинного блока изображения; или точность вектора движения аффинного блока изображения может быть определена на основе признака соседнего блока изображения аффинного блока изображения. Соседний блок изображения представляет собой блок изображения рядом с аффинным блоком изображения в пространстве и/или во времени.Perhaps, in S1430, the first set value can be determined as the motion vector precision of the affine image block; or, the motion vector accuracy of the affine image block may be determined based on a feature of the adjacent image block of the affine image block. An adjacent image block is an image block next to an affine image block in space and/or time.

Возможно, как показано на фиг. 15, в частности, S1450 включает в себя следующие этапы.Perhaps, as shown in Fig. 15, specifically, S1450 includes the following steps.

S1501. Пропорционально корректировать первое горизонтальное расстояние, основываясь на соотношении точности вектора движения к первому компоненту разности вектора движения, чтобы получить длину аффинного субблока изображения компенсации движения в горизонтальном направлении; и определить длину аффинного блока изображения в горизонтальном направлении, является ли целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении является не целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректировать длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.S1501. To proportionally adjust the first horizontal distance based on the ratio of the motion vector accuracy to the first motion vector difference component to obtain the length of the affine motion compensation image subblock in the horizontal direction; and determine the length of the affine image block in the horizontal direction, whether it is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction direction, adjust the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal motion compensation affine image subblock.

В частности, пропорция точности вектора движения к первому компоненту разности вектора движения представляет собой отношение точности вектора движения к первому компоненту разности вектора движения. Продукт отношения и первого горизонтального расстояние является длиной аффинного субблока изображения компенсации движения в горизонтальном направлении, а также может быть отнесен к начальной длине в горизонтальном направлении. Это может быть понятно, что в некоторых случаях, начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении может не быть целым числом. В этом случае, начальная длина должна быть округлена. Для обеспечения точности выполняют, как правило, округление вниз. Более конкретно, десятичная часть непосредственно отбрасывают. Например, начальное значение длины составляет 8,35 (то есть длина 8,35 единичных пикселей), и 8 непосредственно используются в качестве длины аффинного субблока изображения компенсации движения в горизонтальном направлении. Конечно, может быть альтернативно использован принцип округления с повышением. Более конкретно, если дробная часть меньше 5, округление вниз выполняется; и, если дробная часть больше 5, выполняют округление с повышением. Например, когда длина рассчитывается как 8,86, 9 используют в качестве длины. Для обеспечения эффективности работы, минимальное значение начальной длины не должно быть меньше, чем заданное значение, например, не меньше, чем заданное значение, например, 2, 4, 8 или 2N. Заданное значение обычно устанавливаются на 4. Начальная длина также не должна быть больше, чем длина аффинного блока изображения в горизонтальном направлении. Соответствует ли начальная длина в горизонтальном направлении или округленная начальная длина в горизонтальном направлении, зависит от того, делится ли длина аффинного блока изображения в горизонтальном направлении на начальную длину. Если длина аффинного блока изображения в горизонтальном направлении делится на начальную длину, то это указывает на то, может ли быть аффинный блок изображения разделен на целое количество субблоков в горизонтальном направлении на основе начальной длины в горизонтальном направлении или округленной начальной длины в горизонтальном направлении. Способ корректировки, как правило, является способом, в котором начальная длина в горизонтальном направлении или округленная начальная длина в горизонтальном направлении постепенно увеличивается/уменьшается. Более конкретно, если определено, что длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, то корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, то есть увеличивают/уменьшают с помощью одного или нескольких единичных длин, и затем циклически выполняют предшествующее решение до тех пор, пока длина аффинного блока изображения в горизонтальном направлении не будет является целым числом, кратным откорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении. Единица длины, как правило, является одним блоком пикселей. Более конкретно, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, то есть увеличивают/уменьшают на 1. Без потери общности, другими словами, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, то есть увеличивают/уменьшают на фиксированный размер шага. Размер шага является значением корректировки, то есть базовым блоком или амплитудой, используемой для корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении в каждом цикле. Размер шага, как правило, представляет собой вышеупомянутый один блок пикселей или может быть другим значением, например, двумя блоками пикселей. Возможно, значение размера/шаг корректировки, используемое в вышеприведенной корректировке, может меняться в зависимости от соотношения первоначальной длины аффинного субблока изображения компенсации движения в горизонтальном направлении. Например, когда начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой нечетное число, то выбирают нечетный размер шага. Например, нечетное количество единичных длин, например, одну единичную длину используют в качестве размера шага для корректировки. Когда начальная длина аффинного субблока изображения компенсации движения в горизонтальном направлении является четным числом, выбирают четный размер шага. Например, четное количество единичных длин используют в качестве размера шага.In particular, the ratio of the motion vector accuracy to the first motion vector difference component is the ratio of the motion vector accuracy to the first motion vector difference component. The product of the ratio and the first horizontal distance is the length of the affine sub-image compensation motion in the horizontal direction, and can also be referred to the initial length in the horizontal direction. It may be understood that in some cases, the initial length of the horizontal motion compensation affine sub-frame of the image may not be an integer. In this case, the initial length must be rounded off. To ensure accuracy, rounding down is usually performed. More specifically, the decimal part is directly discarded. For example, the initial length value is 8.35 (that is, a length of 8.35 unit pixels), and 8 is directly used as the length of the affine subblock of the horizontal motion compensation image. Of course, the principle of rounding up can alternatively be used. More specifically, if the fractional part is less than 5, rounding down is performed; and, if the fractional part is greater than 5, rounding up is performed. For example, when the length is calculated as 8.86, 9 is used as the length. To ensure performance, the minimum value of the initial length should not be less than the specified value, for example, not less than the specified value, such as 2, 4, 8 or 2 N . The specified value is usually set to 4. The initial length should also not be greater than the length of the affine image block in the horizontal direction. Whether the initial length in the horizontal direction is correct or the rounded initial length in the horizontal direction depends on whether the length of the affine image block in the horizontal direction is divisible by the initial length. If the length of the affine image block in the horizontal direction is divided by the initial length, then this indicates whether the affine image block can be divided into an integer number of sub-blocks in the horizontal direction based on the initial length in the horizontal direction or the rounded initial length in the horizontal direction. The correction method is generally a method in which the initial length in the horizontal direction or the rounded initial length in the horizontal direction is gradually increased/decreased. More specifically, if it is determined that the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, then the length of the affine sub-image of the compensation image in the horizontal direction is corrected, that is, increase/decrease by one or several unit lengths, and then cycle through the previous decision until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal motion compensation. The length unit is typically one block of pixels. More specifically, the length of the affine subblock of the motion compensation image in the horizontal direction is corrected, that is, increased/decreased by 1. Without loss of generality, in other words, the length of the affine subblock of the motion compensation image in the horizontal direction is corrected, that is, increased/decreased by a fixed step size. The step size is a correction value, that is, a base block or amplitude used to correct the length of the affine sub-block of the horizontal direction motion compensation image in each cycle. The step size is typically the aforementioned one block of pixels, or may be another value such as two blocks of pixels. It is possible that the size value/adjustment step used in the above adjustment may change depending on the ratio of the original length of the horizontal motion compensation affine sub-image sub-block. For example, when the initial length of the affine subblock of the horizontal motion compensation image is an odd number, an odd step size is selected. For example, an odd number of unit lengths, such as one unit length, is used as the step size for adjustment. When the initial length of the affine subblock of the horizontal motion compensation image is an even number, an even step size is selected. For example, an even number of unit lengths is used as the step size.

Кроме того, является ли корректировка увеличением или уменьшением, может быть выбрано в соответствии с соглашением между стороной декодера и стороной кодера, может быть явно указано на стороне кодера в потоке битов и выбирается на стороне декодера, основанного на явном указании, может быть выведено с использованием точности вектора движения окружающего соседнего блока, или может быть определенно на основании отношения соотношения между длиной аффинного блока изображения в горизонтальном направлении и длиной аффинного субблока изображения компенсации движения в горизонтальном направлении. Например, если отношение меньше, чем пороговое значение, выбирается уменьшение; в противном случае, выбирается увеличение.In addition, whether the adjustment is an increase or decrease may be selected according to an agreement between the decoder side and the encoder side, may be explicitly indicated on the encoder side in the bitstream, and is selected on the decoder side based on explicit indication, may be inferred using accuracy of the motion vector of the surrounding neighboring block, or may be determined based on the relation of the ratio between the length of the affine image block in the horizontal direction and the length of the affine image sub-block of the motion compensation image in the horizontal direction. For example, if the ratio is less than a threshold value, decrease is selected; otherwise, increase is selected.

Для упрощения алгоритма и обеспечения эффективности кодирования и декодирования, если определено, что длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направление, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, то есть увеличивают на одну заданную единицу длины, а затем предшествующее решение будет циклически выполняется до тех пор, пока длина аффинного блока изображения в горизонтальном направление не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.To simplify the algorithm and ensure the efficiency of encoding and decoding, if it is determined that the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, the length of the affine sub-image sub-image of the compensation motion in the horizontal direction is corrected, that is increase by one predetermined length unit, and then the preceding decision will be cycled until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the motion compensation in the horizontal direction.

Дополнительно, для повышения эффективности и сокращения времени работы, длина аффинного субблока изображения компенсации движения в горизонтальном направлении может быть доведена до ближайшего значения, с помощью которого длина аффинного блока изображения в горизонтальном направлении делится. Например, длина аффинного субблока изображения компенсации движения в горизонтальном направлении равна 7, в то время как длина аффинного блока изображения в горизонтальном направлении равна 16. В этом случае, длину аффинного субблока изображения компенсации движения в горизонтальном направлении увеличивается на 1 и изменяется до 8, с помощью которого 16 делится. Аналогично, если длина аффинного субблока изображения компенсация движения в горизонтальном направлении составляет 5, длина аффинного субблока изображения компенсации движения в горизонтальном направлении уменьшается на 1, чтобы изменить до 4, с помощью которого 16 делится. Если разница между длиной аффинного субблока изображения компенсации движения в горизонтальном направлении и два соседних значения, с помощью которого длина аффинного изображения в горизонтальном направлении делится, равны, например, длина аффинного субблока изображения компенсации движения в горизонтальном направлении составляет 6, длина аффинного блока изображения в горизонтальном направлении составляет 16, а также два значения, которые являются смежными с длиной 6 и с помощью которых 16 делится, равно 4 и 8, соответственно, корректировка может быть выбрана в соответствии с требованиями стороны кодера и стороны декодера. Например, если требуется низкая задержка, то выполняют корректировку увеличения. Если требуется высокое качество, то выполняют корректировку уменьшения. Это не ограничивается в настоящем изобретении.Further, in order to increase efficiency and reduce operation time, the length of the affine sub-image block of the horizontal direction motion compensation may be brought to the nearest value by which the length of the affine image block in the horizontal direction is divided. For example, the length of the affine image subblock of the horizontal direction motion compensation image is 7, while the length of the affine image block in the horizontal direction is 16. In this case, the length of the affine image subblock of the horizontal direction motion compensation image is increased by 1 and changed to 8, with by which 16 is divided. Similarly, if the length of the horizontal motion compensation affine image subblock is 5, the length of the horizontal motion compensation affine image subblock is reduced by 1 to change to 4, by which 16 is divided. If the difference between the length of the horizontal direction motion compensation affine image sub-block and two adjacent values by which the horizontal direction affine image length is divided is equal, for example, the length of the horizontal direction motion compensation affine image sub-block is 6, the length of the horizontal direction affine image block is direction is 16, and two values that are adjacent with a length of 6 and by which 16 is divided are 4 and 8, respectively, the correction can be selected according to the requirements of the encoder side and the decoder side. For example, if low latency is desired, then gain correction is performed. If high quality is required, a reduction correction is performed. This is not limited in the present invention.

Дополнительно, на этапе S1501, когда определено, что длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, чтобы еще больше упростить алгоритм, такая же таблица может быть отдельно установлена на стороне кодера и стороне декодера, и возможная максимальная длина аффинного блока изображения в горизонтальном направлении разделяется на множество интервалов, используя допустимый минимальный делитель в качестве начального значения, для примера, 2N. Диапазон интервала 2N+i, где

Figure 00000127
, Wmax - это возможно максимальная длина аффинного блока изображения в горизонтальном направлении. Определяют интервал, в котором находится длина аффинного субблока изображения компенсации движения в горизонтальном направлении, и значение нижнего предела или значение верхнего предела интервала, в котором находится длина аффинного субблока изображения компенсации движения в горизонтальном направлении, используются как окончательно определенная длина аффинного субблока изображения компенсации движения в горизонтальном направлении. Правило получения значения нижнего предела или значения верхнего предела, относится к соглашению между стороной кодера и стороной декодера. Верхнее предельное значение или нижнее предельное значение приближенного интервала может быть явно указано, используя поток битов, или может быть выбрано посредством округления. С помощью приведенных выше таблиц, окончательная длина аффинного субблока изображения компенсации движения в горизонтальном направлении может быть определена с помощью таблицы поиска на основе начальной длины аффинного субблока изображения компенсации движения в горизонтальном направлении. Таким образом, этап корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении на этапе S1501 можно заменить, сложность системы снижается, и время вычисления уменьшается.Further, in step S1501, when it is determined that the length of the affine picture block in the horizontal direction is not an integer multiple of the length of the affine picture sub-picture compensation in the horizontal direction, in order to further simplify the algorithm, the same table can be separately set at the encoder side, and side of the decoder, and the possible maximum length of the affine image block in the horizontal direction is divided into a plurality of intervals, using the allowable minimum divisor as the initial value, for example, 2 N . Interval range 2 N+i , where
Figure 00000127
, Wmax is the possible maximum length of an affine image block in the horizontal direction. The interval in which the length of the affine sub-frame of the motion compensation image in the horizontal direction is located is determined, and the value of the lower limit or the value of the upper limit of the interval in which the length of the affine sub-frame of the motion compensation image in the horizontal direction lies is used as the finally determined length of the affine sub-frame of the motion compensation image in horizontal direction. The rule for obtaining a lower limit value or an upper limit value refers to an agreement between the encoder side and the decoder side. The upper limit value or the lower limit value of the approximate interval may be explicitly indicated using the bitstream, or may be selected by rounding. With the above tables, the final length of the horizontal direction motion compensation affine image subblock can be determined with a lookup table based on the initial length of the horizontal direction motion compensation affine image subblock. Thus, the step of adjusting the length of the affine sub-frame of the horizontal direction motion compensation image in step S1501 can be replaced, the complexity of the system is reduced, and the calculation time is reduced.

Возможно, для дополнительного уменьшения сложности вычислений в решении на этапе S1501, а не только усли длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, также определяют, представляет собой ли длина аффинного субблока изображения компенсации движения в горизонтальном направлении целое число, кратное заданной длине S, что облегчает расчет. Более конкретно, должно быть определено, соответствует ли длина аффинного субблока изображения компенсации движения в горизонтальном направлении следующим условиям:It is possible to further reduce the computational complexity in the decision in step S1501, and not only if the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image sub-block of the horizontal motion compensation, it is also determined whether the length of the affine image sub-image block is Compensation for movement in the horizontal direction is an integer multiple of the specified length S, which facilitates the calculation. More specifically, it must be determined whether the length of the affine subblock of the horizontal motion compensation image meets the following conditions:

(1) Длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении; и (2) длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое кратное заданной длины S.(1) The length of the affine image block in the horizontal direction is an integer multiple of the length of the affine sub-image block of the horizontal motion compensation; and (2) the length of the affine subblock of the horizontal motion compensation image is an integer multiple of the predetermined length S.

Если длина аффинного субблока изображения компенсации движения в горизонтальном направлении не отвечает двум условиям, то корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного субблока изображения компенсации движения в горизонтальном направлении удовлетворяет условию (1) и условию (2). Более конкретно, длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а также скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число, кратное заданной длине. Заданная длина S, как правило, равна 4, или может быть значением, таким как 8, 16 или 32. Другими словами, S = 2n, где n равно нулю или положительному целому числу. Это решение применимо к аффинному блоку изображения в любой форме. Когда аффинный блок изображения делят в соответствии с правилом дерева квадрантов (Qual Tree), при условии, что выполнено любое из указанных выше определяющих условий (1) и (2), может быть выполнено другое условие. Таким образом, только одно из определяющих условий должно быть активировано/применено.If the length of the affine motion compensation image subblock in the horizontal direction does not meet the two conditions, then the length of the affine motion compensation image subblock in the horizontal direction is adjusted so that the length of the affine subblock of the motion compensation image in the horizontal direction satisfies condition (1) and condition (2). More specifically, the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine image sub-image compensation in the horizontal direction, and the corrected length of the affine image sub-image of the compensation in the horizontal direction is an integer multiple of the predetermined length. The given length S is typically 4, or may be a value such as 8, 16, or 32. In other words, S = 2 n , where n is zero or a positive integer. This solution is applicable to an affine image block in any form. When an affine image block is divided according to the rule of a Quadtree (Qual Tree), provided that any of the above defining conditions (1) and (2) is satisfied, another condition may be satisfied. Thus, only one of the defining conditions must be activated/applied.

Возможно, должна быть выполнена операция ограничения амплитуды по длине, которая является длиной аффинного субблока изображения компенсации движения в горизонтальном направлении, и что определяется вышеуказанным образом. Более конкретно, используют способ сравнения, чтобы позволить M находиться в пределах диапазона от нижнего предела Tm до верхнего предела W. Tm является заданным значением и, как правило, равно 4, и W представляет собой длину аффинного блока изображения в горизонтальном направлении.The length amplitude limiting operation may need to be performed, which is the length of the affine subblock of the horizontal motion compensation image, as determined by the above. More specifically, a comparison method is used to allow M to be within the range from the lower limit Tm to the upper limit W. Tm is a predetermined value and is generally equal to 4, and W is the length of the affine image block in the horizontal direction.

S1503. Пропорционально корректировать первое вертикальное расстояние, основываясь на соотношении точности вектора движения ко второму компоненту разности вектора движения, чтобы получить длину аффинного субблока изображения компенсации движения в вертикальном направлении; и определить, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректировать длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.S1503. To proportionally adjust the first vertical distance based on the ratio of the motion vector accuracy to the second motion vector difference component to obtain the length of the affine motion compensation image subblock in the vertical direction; and determine whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-image block in the vertical direction and, if the length of the affine image block in the vertical direction is not an integer, a multiple of the length of the affine image sub-image sub-block of the vertical motion compensation , adjust the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the vertical direction motion compensation affine image subblock.

В частности, пропорция точности вектора движения ко второму компоненту разности вектора движения представляет собой отношение точности вектора движения ко второму компоненту разности вектора движения. Продукт отношения и первого вертикального расстояния является длиной аффинного субблока изображения компенсации движения в вертикальном направлении, а также может быть отнесен к начальной длине в вертикальном направлении. Очевидно, что начальная длина аффинного субблока изображения компенсации движения в вертикальном направлении может не быть целым числом, в некоторых случаях. В этом случае, начальная длина должна быть округлена. Для обеспечения точности, как правило, выполняют округление с понижением. Более конкретно, десятичная часть непосредственно отбрасывается. Например, начальное значение длины составляет 8,35 (то есть длина 8,35 единичных пикселей) и 8 непосредственно используются в качестве длины аффинного субблока изображения компенсации движения в вертикальном направлении. Конечно, может быть альтернативно использован принцип округления. Более конкретно, если дробная часть меньше 5, то выполняют округление вниз; и, если дробная часть больше 5, то выполняют округление с повышением. Например, когда длина рассчитывается как 8,86, то 9 используют в качестве длины. Для обеспечения эффективности работы, минимальное значение исходной длины не должно быть меньше, чем заданное значение, например, не меньше, чем заданное значение, например, 2, 4, 8 или 2N. Заданное значение обычно устанавливаются на 4. Начальная длина также не должна быть больше, чем длина аффинного блока изображения в вертикальном направлении. Соответствует ли начальная длина в вертикальном направлении или округленная начальная длина в вертикальном направлении, зависит от того, делится ли длина аффинного блока изображения в вертикальном направлении на начальную длину. Если длина аффинной блока изображения в вертикальном направлении делится на начальную длину, то это указывает, может ли аффинный блок изображения быть разделен на целое количество субблоков в вертикальном направлении на основании начальной длины в вертикальном направлении или округленной начальной длины в вертикальном направлении. Способ корректировки, как правило, представляет собой способ, в котором начальная длина в вертикальном направлении или округленная начальная длина в вертикальном направлении постепенно увеличивается/уменьшается. Более конкретно, если определено, что длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, то корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, то есть увеличивают/уменьшают, с помощью одного или нескольких единичных длин, и затем циклически выполняют предшествующее решение до тех пор, тока длина аффинного блока изображения в вертикальном направлении не будет равна целому числу, кратному скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении. Единица длины, как правило, представляет собой один блок пикселей. Более конкретно, длина аффинного субблока изображения компенсации движения в вертикальном направлении корректируется, то есть увеличивается/уменьшается на 1. Без потери общности, другими словами, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, то есть увеличивают/уменьшают на фиксированный размер шага. Размер шага является значением корректировки, то есть базовым блоком или амплитудой, используемым для корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении в каждом цикле. Размер шага, как правило, является упомянутым одним блоком пикселей или может быть другим значением, например, двумя блоками пикселей. Возможно, значение размера/шаг корректировки, используемое в вышеприведенной корректировке, может меняться в зависимости от соотношения начальной длины аффинного субблока изображения компенсации движения в вертикальном направлении. Например, когда начальная длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой нечетное число, выбирают нечетный размер шага. Например, нечетное количество единичных длин, например, одна единица длины, используют в качестве размера шага для корректировки. Когда начальная длина аффинного субблока изображения компенсации движения в вертикальном направлении является четным числом, выбирают четный размер шага. Например, в качестве размера шага используют четное количество единичных длин.In particular, the ratio of the motion vector accuracy to the second motion vector difference component is the ratio of the motion vector accuracy to the second motion vector difference component. The product of the ratio and the first vertical distance is the length of the affine subblock of the vertical motion compensation image, and can also be referred to the initial length in the vertical direction. Obviously, the initial length of the affine subblock of the vertical motion compensation image may not be an integer, in some cases. In this case, the initial length must be rounded off. To ensure accuracy, rounding down is usually performed. More specifically, the decimal part is directly discarded. For example, the initial length value is 8.35 (that is, a length of 8.35 unit pixels), and 8 is directly used as the length of the vertical motion compensation image affine subblock. Of course, the principle of rounding may alternatively be used. More specifically, if the fractional part is less than 5, then rounding down is performed; and, if the fractional part is greater than 5, then rounding up is performed. For example, when the length is calculated as 8.86, then 9 is used as the length. To ensure performance, the minimum value of the initial length should not be less than the specified value, for example, not less than the specified value, such as 2, 4, 8 or 2 N . The specified value is usually set to 4. The initial length should also not be greater than the length of the affine image block in the vertical direction. Whether the initial length in the vertical direction is correct or the rounded initial length in the vertical direction depends on whether the length of the affine image block in the vertical direction is divisible by the initial length. If the affine image block length in the vertical direction is divided by the initial length, then this indicates whether the affine image block can be divided into an integer number of sub-blocks in the vertical direction based on the initial length in the vertical direction or the rounded initial length in the vertical direction. The correction method is generally a method in which the initial length in the vertical direction or the rounded initial length in the vertical direction is gradually increased/decreased. More specifically, if it is determined that the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine sub-image sub-block of the vertical motion compensation image, then the length of the affine sub-image sub-block of the vertical motion compensation image is corrected, that is, increased/decreased, by one or more unit lengths, and then cycle through the previous decision until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. The length unit is typically one block of pixels. More specifically, the length of the vertical direction motion compensation affine sub-image subblock is corrected, that is, increased/decreased by 1. Without loss of generality, in other words, the length of the vertical motion compensation affine sub-image sub-block is adjusted, that is, increased/decreased by a fixed step size. The step size is an adjustment value, that is, a basic block or amplitude, used to correct the length of the affine sub-block of the vertical motion compensation image in each cycle. The step size is typically referred to as one block of pixels, or may be another value, such as two blocks of pixels. It is possible that the size value/correction step used in the above correction may vary depending on the ratio of the initial length of the vertical motion compensation affine sub-image sub-block. For example, when the initial length of the affine subblock of the vertical motion compensation image is an odd number, an odd step size is selected. For example, an odd number of length units, such as one length unit, is used as the step size for adjustment. When the initial length of the affine subblock of the vertical motion compensation image is an even number, an even step size is selected. For example, an even number of unit lengths is used as the step size.

Кроме того, является ли корректировка увеличением или уменьшением, может быть выбрано в соответствии с соглашением между стороной декодера и стороной кодера, может быть явно указано на стороне кодера в потоке битов и выбирается на стороне декодера на основе явного указания, может быть получено с использованием точности вектора движения окружающего соседнего блока, или может быть определено на основании отношения соотношения между длиной аффинного блока изображения в вертикальном направлении и длинами аффинного субблока изображения компенсации движения в вертикальном направлении. Например, если отношение меньше, чем пороговое значение, выбирается уменьшение; в противном случае, выбирается увеличение.In addition, whether the adjustment is an increase or decrease can be selected according to an agreement between the decoder side and the encoder side, can be explicitly indicated on the encoder side in the bitstream, and is selected on the decoder side based on explicit indication, can be obtained using precision the motion vector of the surrounding neighboring block, or may be determined based on the relation of the ratio between the length of the affine image block in the vertical direction and the lengths of the affine sub-image subblock of the motion compensation in the vertical direction. For example, if the ratio is less than a threshold value, decrease is selected; otherwise, increase is selected.

Для упрощения алгоритма и обеспечения эффективности кодирования и декодирования, если определено, что длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, то корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, то есть увеличивают на одну заданную единицу длины и затем циклический выполняется упомянутое решение до тех пор, пока длина аффинного блока изображения в вертикальном направлении не будет целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.To simplify the algorithm and ensure the efficiency of encoding and decoding, if it is determined that the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine sub-image sub-block of the vertical motion compensation image, then the length of the affine sub-image sub-block of the image compensation in the vertical direction is corrected, then is incremented by one predetermined length unit, and then the said decision is cycled until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation.

Дополнительно, для повышения эффективности и сокращения времени работы, длина аффинного субблока изображения компенсации движения в вертикальном направлении может быть доведена до ближайшего значения, с помощью которого длина аффинного блока изображения в вертикальном направлении делится. Например, длина аффинного субблока изображения компенсации движения в вертикальном направлении равна 7, в то время, как длина аффинного блока изображения в вертикальном направлении составляет 16. В этом случае, длина аффинного субблока изображения компенсации движения в вертикальном направлении увеличивается на 1 для изменения до 8, с помощью которого 16 делится. Аналогично, если длина аффинного субблока изображения компенсации движения в вертикальном направлении равна 5, то длина аффинного субблока изображения компенсации движения в вертикальном направлении уменьшается на 1, чтобы изменить до 4, с помощью которого 16 делится. Если разница между длиной аффинного субблока изображения компенсации движения в вертикальном направлении и два соседних значения, с помощью которого длина аффинного блока изображения в вертикальном направлении делится, равны, например, длина аффинного субблока изображения компенсации движения в вертикальном направлении равна 6, длина аффинного блока изображения в вертикальном направлении равна 16, и два значения, которые являются смежными с длиной 6 и с помощью которых 16 делится равно 4 и 8, соответственно, корректировка может быть выбрана в соответствии с требованиями стороны кодера и стороны декодера. Например, если требуется низкая задержка, то выполняют корректировку увеличения. Если требуется высокое качество, то выбирают корректировку уменьшения. Это не ограничивается в настоящем изобретении.Further, in order to improve efficiency and reduce operation time, the length of the affine sub-image block of the vertical direction motion compensation can be brought to the nearest value by which the length of the affine image block in the vertical direction is divided. For example, the length of the vertical direction motion compensation affine image subblock is 7, while the length of the vertical direction affine image block is 16. In this case, the length of the vertical direction compensation affine image subblock is increased by 1 to change to 8, with which 16 is divisible. Similarly, if the length of the vertical motion compensation affine sub-image sub-frame is 5, then the length of the vertical motion compensation affine sub-frame is reduced by 1 to change to 4, by which 16 is divided. If the difference between the length of the vertical direction motion compensation affine image block and two adjacent values by which the length of the vertical direction affine image block is divided is equal, for example, the length of the vertical direction motion compensation affine image block is 6, the length of the affine image block in vertical direction is 16, and two values that are adjacent with a length of 6 and by which 16 is divided equal to 4 and 8, respectively, the correction can be selected according to the requirements of the encoder side and the decoder side. For example, if low latency is desired, then gain correction is performed. If high quality is required, then select the reduction adjustment. This is not limited in the present invention.

Дополнительно, на этапе S1503, когда определено, что длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, чтобы еще больше упростить алгоритм, такая же таблица может быть отдельно установлена на стороне кодера и стороне декодера, и возможная максимальная длина аффинного блока изображения в вертикальном направлении разделяется на множество интервалов, используя допустимый минимальный делитель в качестве начального значения, для пример, 2N. Интервал составляет 2N+i, где

Figure 00000127
и Wmax это возможно максимальная длина аффинного блока изображения в вертикальном направлении. Определяют интервал, в рамках которого находится длина аффинного субблока изображения компенсации движения в вертикальном направлении, и значение нижнего предела или значение верхнего предела интервала, в рамках которого находится длина аффинного субблока изображения компенсации движения в вертикальном направлении, используются как окончательно определенная длина аффинного субблока изображения компенсации движения в вертикальном направлении. Правило для получения значения нижнего предела или значения верхнего предела установлено по соглашению между стороной кодера и стороной декодера. Верхнее предельное значение или нижнее предельное значение приближенного интервала может быть явно указано, используя поток битов, или может быть выбрано согласно округления. С помощью приведенных выше таблиц, окончательная длина аффинного субблока изображения компенсации движения в вертикальном направлении может быть определена с помощью таблицы поиска на основе начальной длины аффинного субблока изображения компенсации движения в вертикальном направлении. Таким образом, этап корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении на этапе S1503 можно заменить, сложность системы снижается, и время вычисления уменьшается.Further, in step S1503, when it is determined that the affine image block length in the vertical direction is not an integer multiple of the length of the vertical motion compensation affine sub-image block, in order to further simplify the algorithm, the same table can be separately set at the encoder side, and side of the decoder, and the possible maximum length of the affine image block in the vertical direction is divided into a plurality of intervals, using the allowable minimum divisor as the initial value, for example, 2 N . The interval is 2 N+i , where
Figure 00000127
and Wmax is the possible maximum length of an affine image block in the vertical direction. The interval within which the length of the affine sub-image compensation in the vertical direction lies, and the value of the lower limit or the value of the upper limit of the interval within which the length of the affine sub-image of the compensation in the vertical direction lies are used as the finally determined length of the affine sub-image of the compensation image. movement in the vertical direction. The rule for obtaining the lower limit value or the upper limit value is set by agreement between the encoder side and the decoder side. The upper limit value or the lower limit value of the approximate interval may be explicitly specified using the bitstream, or may be selected according to rounding. With the above tables, the final length of the affine sub-image sub-frame of the vertical motion compensation image can be determined with a lookup table based on the initial length of the affine sub-frame of the vertical motion compensation image. Thus, the step of correcting the length of the vertical motion compensation affine subblock image in step S1503 can be replaced, the system complexity is reduced, and the calculation time is reduced.

В качестве варианта, для дополнительного уменьшения сложности вычислений в решении на этапе S1503, определяют не только если длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, но определяют, будет ли длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число, кратное заданной длине S, что снизит сложность вычислений. Более конкретно, определяют, соответствует ли длина аффинного субблока изображения компенсации движения в вертикальном направлении следующим условиям:Alternatively, in order to further reduce the computational complexity in the decision, at step S1503, not only is it determined if the length of the affine image block in the vertical direction is an integer multiple of the length of the affine sub-image sub-block of the vertical motion compensation image, but it is determined whether the length of the affine image block in the vertical direction is image compensation motion in the vertical direction is an integer multiple of the specified length S, which will reduce the complexity of calculations. More specifically, it is determined whether the length of the affine sub-block of the vertical motion compensation image meets the following conditions:

(1) Длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и (2) длина аффинного субблока изображения компенсация движения в вертикальном направлении представляет собой целое кратное заданной длины S.(1) The length of the affine image block in the vertical direction is an integer multiple of the length of the affine sub-image block of the vertical motion compensation; and (2) the length of the affine subblock of the vertical motion compensation image is an integer multiple of the given length S.

Если длина аффинного субблока изображения компенсации движения в вертикальном направлении не отвечает двум условиям, то корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного субблока изображения компенсации движения в вертикальном направлении удовлетворяет условию (1) и условию (2). Более конкретно, длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, а также корректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число, кратное заданной длине. Заданная длина S, как правило, равна 4, или может быть значением, таким как 8, 16 или 32. Другими словами, S = 2n, где n равно нулю или положительному целому числу. Это решение применимо к аффинному блоку изображения в любой форме. Когда аффинный блок изображения разделяется в соответствии с правилом дерева квадрантов (Qual Tree), при условии, что любое из указанных выше определяющих условий (1) и (2) выполнено, другое условие может быть выполнено. Таким образом, только одно из определяющих условий должно быть активировано/применено.If the length of the vertical direction motion compensation image affine subblock does not meet two conditions, then the length of the vertical direction motion compensation image affine subblock is adjusted so that the length of the vertical direction motion compensation image affine subblock satisfies condition (1) and condition (2). More specifically, the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the vertical motion compensation affine image subblock, and the corrected length of the affine image subblock of the vertical motion compensation image is an integer multiple of the predetermined length. The given length S is typically 4, or may be a value such as 8, 16, or 32. In other words, S = 2 n , where n is zero or a positive integer. This solution is applicable to an affine image block in any form. When an affine image block is partitioned according to a Quadtree rule, provided that any of the above defining conditions (1) and (2) is satisfied, another condition may be satisfied. Thus, only one of the defining conditions must be activated/applied.

В качестве варианта, должна быть выполнена операция ограничения амплитуды по длине, которая является длиной аффинного субблока изображения компенсации движения в вертикальном направлении, что и определяются вышеуказанным образом. Более конкретно, используют способ сравнения, чтобы обеспечить нахождение M в пределах диапазона от нижнего предела Tm до верхнего предела W. Tm является заданным значением и, как правило, равно 4, и W представляет собой длину аффинного блока изображения в вертикальном направлении.Alternatively, an operation of limiting the amplitude along the length, which is the length of the affine subblock of the vertical motion compensation image, as defined above, should be performed. More specifically, a comparison method is used to ensure that M is within the range from the lower limit Tm to the upper limit W. Tm is a predetermined value and is generally 4, and W is the length of the affine image block in the vertical direction.

Описание конкретных реализаций определения и корректировки размера аффинного субблока изображения компенсации движения может быть понятно со ссылкой на конкретное описание способа декодирования в данном документе.Description of specific implementations of determining and adjusting the size of the affine sub-block of the motion compensation image can be understood with reference to the specific description of the decoding method in this document.

Таким образом, в соответствии со способом кодирования видеоизображения в этом варианте осуществления настоящего изобретения, устройство кодирования определяет размер аффинного субблока изображения компенсации движения на основании определенной разности вектора движения и точности вектора движения аффинного блока изображения, расстояния между контрольными точками и дополнительно корректирует размер аффинного субблока изображения компенсации движения на основании соотношения между размером аффинного блока изображения и размером аффинного субблока изображения компенсации движения, так что размер аффинного субблока изображения компенсации движения легко реализовать, и сложность уменьшается. Доказано с помощью экспериментов в настоящем изобретении, что сложность на стороне кодера может быть уменьшена на 50%, сложность на стороне декодера может быть уменьшена на 70%, и поддерживают производительность на уровне 90% до 95%. Таким образом, технология предсказания с компенсацией движения на основе аффинной модели может быть эффективно применена на практике.That is, according to the video encoding method in this embodiment of the present invention, the encoding apparatus determines the size of the motion compensation affine image sub-block based on the determined motion vector difference and the motion vector precision of the affine image block, the distance between control points, and further corrects the size of the affine image sub-block motion compensation based on the relationship between the size of the affine image block and the size of the affine sub-image of the motion compensation image, so that the size of the affine sub-image of the motion compensation image is easy to realize and the complexity is reduced. It has been proved by experiments in the present invention that the complexity on the encoder side can be reduced by 50%, the complexity on the decoder side can be reduced by 70%, and the performance is maintained at 90% to 95%. Thus, the motion compensation prediction technology based on the affine model can be effectively applied in practice.

В качестве варианта, как показано на фиг.16, S1470 включает в себя следующие этапы:Alternatively, as shown in FIG. 16, S1470 includes the following steps:

S1601. Определить вектор движения каждого аффинного субблока изображения компенсации движения в аффинных субблоках изображения компенсации движения.S1601. Determine the motion vector of each affine subblock of the motion compensation image in the affine subblocks of the motion compensation image.

S1603. Определить сигнал предсказания с компенсацией движения каждого аффинного субблока изображения компенсации движения на основании вектора движения каждого аффинного субблока изображения компенсации движения.S1603. Determine the motion compensation prediction signal of each affine motion compensation image subblock based on the motion vector of each affine motion compensation image subblock.

S1605. Кодировать каждый аффинный субблок изображения компенсации движения на основании сигнала предсказания с компенсацией движения каждого аффинного субблока изображения компенсации движения.S1605. Encode each affine sub-block of the motion compensation image based on the motion-compensated prediction signal of each affine sub-block of the motion compensation image.

Следует понимать, что в данном варианте осуществления настоящего изобретения, каждый аффинный МС блок может включать в себя множество пикселей, и должен быть выбран вектор движения пикселей из каждого аффинного MC блока в качестве вектора движения аффинного MC блока.It should be understood that in this embodiment of the present invention, each affine MC block may include a plurality of pixels, and a motion vector of pixels from each affine MC block must be selected as the motion vector of the affine MC block.

В качестве варианта, в S1601 может быть выбран вектор движения пикселя на центральной позиции аффинного MC блока в качестве вектора движения аффинного MC блока, может быть использовано среднее значения векторов движения всех пикселей в аффинном MC блоке в качестве вектора движения аффинного MC блока, или может быть выбран вектор движения верхнего левого пикселя в аффинном MC блоке в качестве вектора движения аффинного MC блока. Тем не менее, это не ограничивается в настоящем изобретении.Alternatively, in S1601, the motion vector of the pixel at the center position of the affine MC block may be selected as the motion vector of the affine MC block, the average of the motion vectors of all pixels in the affine MC block may be used as the motion vector of the affine MC block, or may be the motion vector of the top left pixel in the affine MC block is selected as the motion vector of the affine MC block. However, this is not limited in the present invention.

В качестве варианта, в этом варианте осуществления настоящего изобретения, сигнал граничного пикселя в каждом аффинном субблоке изображения компенсации движения фильтруется, и граничный пиксель представляет собой одну или несколько строк пикселей на границе каждого аффинного субблока изображения компенсации движения.Alternatively, in this embodiment of the present invention, the boundary pixel signal in each affine sub-frame of a motion compensation image is filtered, and the boundary pixel is one or more rows of pixels at the boundary of each affine sub-frame of a motion compensation image.

В качестве варианта, в этом варианте осуществления настоящего изобретения сигнал граничного пикселя включает в себя сигнал предсказании с компенсацией движения и/или восстановленный сигнал, и восстановленный сигнал представляет собой сумму сигнала предсказания с компенсацией движения и восстановленный остаточный сигнал.Alternatively, in this embodiment of the present invention, the boundary pixel signal includes a motion-compensated prediction signal and/or a reconstructed signal, and the reconstructed signal is the sum of the motion-compensated prediction signal and the reconstructed residual signal.

Восстановленный сигнал, как правило, получают путем суммирования сигнала предсказания с компенсацией движения и восстановленного остаточного сигнала. Кодирование с потерями обычно выполняются на остаточный сигнале. Это приводит к искажению восстановленного остаточного сигнала относительно исходного остаточного сигнала. Искажение пикселей на границах смежных аффинных MC блоков могут быть различными. Например, пиксель на правой стороне в первом аффинном MC блоке становится больше, из-за искажения, и пиксель на левой стороне в аффинном MC блоке, который является смежным и справа от первого аффинного MC блока, становится меньше из-за искажения. Это вызывает разрыв граничных значений пикселей восстановленных пикселей в аффинных МС блоках, а также искажает субъективные и объективные эффекты. Таким образом, восстановленный сигнал должен быть отфильтрован.The recovered signal is typically obtained by summing the motion-compensated prediction signal and the recovered residual signal. Lossy coding is usually performed on the residual signal. This results in a distortion of the reconstructed residual signal with respect to the original residual signal. Pixel distortion at the boundaries of adjacent affine MC blocks can be different. For example, a pixel on the right side in the first affine MC block becomes larger due to distortion, and a pixel on the left side in an affine MC block that is adjacent to and to the right of the first affine MC block becomes smaller due to distortion. This causes a break in the boundary values of the reconstructed pixels in the affine MS blocks, and also distorts the subjective and objective effects. Thus, the reconstructed signal must be filtered.

В качестве варианта, в этом варианте осуществления настоящего изобретения, фильтрация может быть выполнена с помощью фильтра нижних частот, так что значение пикселя в граничной области изменяется более плавно. Например, фильтрация выполняется с использованием фильтра Гаусса. Тем не менее, это не ограничивается в настоящем изобретении.Alternatively, in this embodiment of the present invention, filtering can be performed with a low pass filter so that the pixel value in the boundary region changes more smoothly. For example, filtering is performed using a Gaussian filter. However, this is not limited in the present invention.

В качестве варианта, в этом варианте осуществления настоящего изобретения, фильтрация может быть выполнена с использованием способа компенсации движения перекрывающихся блоков (Overlapped block motion compensation, «OBMC» для краткости). Выполняют предсказание с компенсацией движения для фильтрации пикселя с использованием вектора движения аффинного MC блока, примыкающий к отфильтрованному пикселю, и выполняют взвешенное усреднение на полученном сигнале предсказания с компенсацией движения и сигнале предсказания с компенсацией движения, полученного с использованием вектора движения отфильтрованного пикселя, чтобы получить конечный сигнал предсказания с компенсацией движения.Alternatively, in this embodiment of the present invention, the filtering may be performed using an Overlapped block motion compensation (OBMC) method for short. Motion-compensated prediction is performed to filter the pixel using the motion vector of the affine MC block adjacent to the filtered pixel, and weighted averaging is performed on the obtained motion-compensated prediction signal and the motion-compensated prediction signal obtained using the motion vector of the filtered pixel to obtain the final motion compensated prediction signal.

В соответствии со способом кодирования видеосигнала в этом варианте осуществления настоящего изобретения, устройство декодирования определяет размер аффинного субблока изображения движения компенсации на основании определенной разность вектора движения и точности вектора движения аффинного блока изображения, и расстояния между контрольными точками, и дополнительно корректирует размер аффинного субблока изображения компенсации движения на основании соотношения между размером аффинного блока изображения и размером аффинного субблока изображения компенсации движения, так что размер аффинного субблока изображения компенсации движения легко реализовать, и сложность уменьшается. Доказано, с помощью экспериментов в настоящем изобретении, что сложность на стороне кодера может быть уменьшена на 50%, сложность на стороне декодера может быть уменьшена на 70%, и поддерживается производительность на уровне 90% до 95%. Таким образом, технология предсказания с компенсацией движения на основе аффинной модели может быть эффективно применена на практике.According to the video coding method in this embodiment of the present invention, the decoding apparatus determines the size of the compensation motion affine sub-image sub-frame based on the determined motion vector difference and the motion vector precision of the affine picture block, and the distance between control points, and further corrects the size of the compensation affine sub-frame image motion based on the relationship between the size of the affine image block and the size of the affine sub-image sub-image of the motion compensation, so that the size of the affine sub-image of the motion compensation image is easy to realize and the complexity is reduced. It has been proved by experiments in the present invention that the complexity on the encoder side can be reduced by 50%, the complexity on the decoder side can be reduced by 70%, and the performance is maintained at 90% to 95%. Thus, the motion compensation prediction technology based on the affine model can be effectively applied in practice.

Ниже описывается оборудование 1700 для декодирования для осуществления настоящего изобретения со ссылкой на фиг. 17. Оборудование 1700 для декодирования включает в себя:Decoding equipment 1700 for implementing the present invention is described below with reference to FIG. 17. Equipment 1700 for decoding includes:

модуль 1710 определения разницы вектора движения, выполненный с возможностью определять разность вектора движения аффинного блока изображения;a motion vector difference determination module 1710, configured to determine a motion vector difference of the affine image block;

модуль 1730 определения точности вектора движения, выполненный с возможностью определять точность вектора движения аффинного блока изображения;a motion vector accuracy determination unit 1730, configured to determine the motion vector accuracy of the affine image block;

модуль 1750 определения размера субблока изображения, выполненный с возможностью определять размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображениях и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; иan image sub-block size determining module 1750, configured to determine the size of an affine sub-image sub-block of a motion compensation in the affine image block based on a motion vector difference, a motion vector accuracy, a distance between control points in the affine image block, and an affine image block size, where the size includes a length in the horizontal direction and a length in the vertical direction, such that the length of the affine image block in the horizontal direction is an integer multiple of the length of the motion compensation affine image sub-image in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length an affine subblock of a vertical motion compensation image; and control points are pixels used to determine the motion vector difference; and

модуль 1770 декодирования, выполненный с возможностью выполнять обработку декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.a decoding unit 1770, configured to perform decoding processing on the affine image block based on the size of the affine subblock of the motion compensation image.

В частности, оборудование для декодирования определяет разность вектора движения аффинного блока изображения на основании определенных контрольных точек, определяет точность вектора движения аффинного блока изображения и определяет размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании определенной разности вектора движения и точности вектора движения, расстояния между контрольными точками и размера аффинного блока изображения, где размером аффинного субблока изображения компенсации движения является размер, используемый для разделения аффинного блока изображения, и аффинный блок изображения разделяют на множество аффинных субблоков изображения компенсации движения с одинаковым размером на основании размера разделения. Затем оборудование для декодирования декодирует аффинный блок изображения на основании аффинных субблоков изображения компенсации движения. Модули оборудования для декодирования реализуют функции различных этапов в способе декодирования согласно настоящему изобретению. Более конкретно, модули реализуют функции всех этапов способа декодирования в способе по настоящему изобретению, например, этапы S710 - S740 до расширений и вариаций этих этапов. Для получения дополнительной информации сделана ссылка на описание способа декодирования в данном описании. Для краткости, детали не описаны здесь еще раз.Specifically, the decoding equipment determines the motion vector difference of the affine image block based on the determined reference points, determines the motion vector accuracy of the affine image block, and determines the size of the affine image subblock of the motion compensation image in the affine image block based on the determined motion vector difference and the motion vector accuracy, distance between the breakpoints and the affine image block size, where the size of the motion compensation affine image subblock is the size used to divide the affine image block, and the affine image block is divided into a plurality of affine motion compensation image subblocks with the same size based on the partition size. Then, the decoding equipment decodes the affine image block based on the affine subblocks of the motion compensation image. The decoding equipment modules implement the functions of various steps in the decoding method of the present invention. More specifically, the modules implement the functions of all steps of the decoding method in the method of the present invention, for example, steps S710 to S740 before extensions and variations of these steps. For more information, reference is made to the description of the decoding method in this specification. For brevity, the details are not described here again.

Ниже подробно описывается оборудование для кодирования в соответствии с вариантом осуществления настоящего изобретения со ссылкой на фиг. 18. Оборудование 1800 для кодирования включает в себя:The following describes in detail the encoding equipment according to an embodiment of the present invention with reference to FIG. 18. Encoding equipment 1800 includes:

модуль 1810 определения разницы вектора движения, выполненный с возможностью определять разницу вектора движения аффинного блока изображения;a motion vector difference determination module 1810, configured to determine a motion vector difference of the affine image block;

модуль 1830 определения точности вектора движения, выполненный с возможностью определять точность вектора движения аффинного блока изображения;a motion vector accuracy determination module 1830, configured to determine the motion vector accuracy of the affine image block;

модуль 1850 определения размера субблока изображения, выполненный с возможностью определять размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; иan image sub-block size determination module 1850, configured to determine the size of an affine image sub-block of a motion compensation image in the affine image block based on a motion vector difference, motion vector precision, distance between control points in the affine image block, and a size of the affine image block, where the size includes a length in the horizontal direction and a length in the vertical direction, such that the length of the affine image block in the horizontal direction is an integer multiple of the length of the motion compensation affine image sub-image in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length an affine subblock of a vertical motion compensation image; and control points are pixels used to determine the motion vector difference; and

модуль 1870 кодирования, выполненный с возможностью выполнять обработку кодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.an encoding unit 1870, configured to perform encoding processing on the affine image block based on the size of the affine sub-block of the motion compensation image.

В частности, оборудование для кодирования определяет разность вектора движения аффинного блока изображения на основании определенных контрольных точек, определяет точность вектора движения аффинного блока изображения, и определяет размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании определенной разности вектора движения и точности вектора движения, расстояния между контрольными точками и размера аффинного блока изображения, где размером аффинного субблока изображения компенсации движения является размер, используемый для разделения аффинного блока изображения, и аффинный блок изображения разделяют на множество аффинных субблоков изображения компенсации движения с одинаковым размером на основании размера разделения. Затем оборудование для кодирования кодирует аффинный блок изображения на основе аффинных субблоков изображения компенсации движения. Модули оборудования для кодирования реализовывают функции различных этапов способа кодирования согласно настоящему изобретению. Более конкретно, модули реализовывают функции всех этапов способа кодирования в способе по настоящему изобретению, например, этапы S1410 - S1470 и расширения и вариации этих этапов. Для получения дополнительной информации сделана ссылка на описание способа кодирования в данном документе. Для краткости детали не описаны в данном описании снова.Specifically, the encoding equipment determines the motion vector difference of the affine image block based on the determined reference points, determines the motion vector accuracy of the affine image block, and determines the size of the affine image sub-block of the motion compensation image in the affine image block based on the determined motion vector difference and the motion vector accuracy, the distance between the control points and the size of the affine image block, where the size of the affine motion compensation image subblock is the size used to divide the affine image block, and the affine image block is divided into a plurality of affine motion compensation image subblocks with the same size based on the partition size. The encoding equipment then encodes the affine image block based on the affine sub-blocks of the motion compensation image. Encoding equipment modules implement the functions of the various steps of the encoding method according to the present invention. More specifically, the modules implement the functions of all steps of the encoding method in the method of the present invention, such as steps S1410 to S1470 and extensions and variations of these steps. For more information, reference is made to the description of the encoding method in this document. For brevity, the details are not described in this description again.

Как показано на фиг. 19, вариант осуществления настоящего изобретения дополнительно предоставляет устройство 1900 декодирования, включающее в себя процессор 1910, память 1930, и системную шину 1950. Процессор и память соединены с помощью системной шины. Память выполнена с возможностью хранить инструкции. Процессор выполнен с возможностью выполнять инструкции, сохраненные в памяти. Память хранит программный код. Процессор может вызвать программный код, сохраненный в памяти, для выполнения всех этапов и расширения этапов в способе 700 декодирования согласно настоящему изобретению, то есть все способы, описанные на фиг. 7 - фиг. 13.As shown in FIG. 19, an embodiment of the present invention further provides a decoding apparatus 1900 including a processor 1910, a memory 1930, and a system bus 1950. The processor and memory are connected via a system bus. The memory is configured to store instructions. The processor is configured to execute instructions stored in memory. The memory stores the program code. The processor may call the program code stored in memory to perform all the steps and extend the steps in the decoding method 700 according to the present invention, that is, all the methods described in FIG. 7 - fig. thirteen.

Например, процессор может вызывать программный код, сохраненный в памяти, чтобы выполнить операции декодирования в полном объеме в способе по настоящему изобретению:For example, the processor may call the program code stored in memory to perform full decoding operations in the method of the present invention:

определения разности вектора движения аффинного блока изображения;determining a motion vector difference of the affine image block;

определения точности вектора движения аффинного блока изображения;determining the accuracy of the motion vector of the affine image block;

определение размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; иdetermining the size of an affine subblock of a motion compensation image in an affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, where the size includes a length in the horizontal direction and a length in the vertical direction, so that the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image subblock of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation in the vertical direction; and control points are pixels used to determine the motion vector difference; and

выполнение обработки декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.performing decoding processing on the affine image block based on the size of the affine subblock of the motion compensation image.

В процессе декодирования может быть выбран субблок изображения с соответствующим размером и размер изображения субблока корректируется, так что аффинный блок изображения разделяется на множество аффинных субблоков изображения компенсации движения с тем же размером. Таким образом, сложность декодирования уменьшается и производительность декодирования повышается.In the decoding process, an image sub-block with an appropriate size can be selected, and the image size of the sub-block is adjusted so that the affine image block is divided into a plurality of affine motion compensation image sub-blocks with the same size. Thus, the decoding complexity is reduced and the decoding performance is improved.

Следует понимать, что в данном варианте осуществления настоящего изобретения, процессор 1910 может представлять собой центральный блок обработки (Central Processing Unit, «CPU» для краткости). В качестве альтернативы, процессор 1910 может быть другим процессором общего назначения, цифровым сигнальным процессором (DSP), специализированной интегральной схемой (ASIC), программируемой пользователем вентильной матрицей (FPGA) или другим программируемым логическим устройством, дискретным логическим элементом или транзисторным логическим устройством, дискретным аппаратным компонентом или тому подобным. Процессор общего назначения может представлять собой микропроцессор или процессор может быть любым обычным процессором или тому подобным.It should be understood that in this embodiment of the present invention, the processor 1910 may be a central processing unit (Central Processing Unit, "CPU" for short). Alternatively, processor 1910 may be another general purpose processor, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete logic element or transistorized logic device, discrete hardware component or the like. A general purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.

Память 1930 может включать в себя память только для чтения и оперативное запоминающее устройство, и предоставить инструкции и данные в процессор 1910. Часть памяти 1930 может дополнительно включать в себя энергонезависимое оперативное запоминающее устройство. Например, память 1930 может дополнительно хранить информацию о типе устройства.Memory 1930 may include read-only memory and random access memory, and provide instructions and data to processor 1910. Part of memory 1930 may further include non-volatile random access memory. For example, memory 1930 may additionally store device type information.

В дополнение к шине данных, системная шина 1950 может дополнительно включать в себя шину питания, шину управления, шину сигнала состояния и тому подобное. Тем не менее, для четкого описания, различные виды шин на чертеже отмечены как системная шина 1950.In addition to the data bus, system bus 1950 may further include a power bus, a control bus, a status signal bus, and the like. However, for a clear description, the various types of tires in the drawing are marked as 1950 system bus.

В процессе реализации, этапы вышеописанных способов могут быть реализованы с помощью аппаратных средств интегрированной логической схемы в процессоре 1910 или с помощью инструкции в виде программного обеспечения. Этапы способов, описанные со ссылкой на варианты осуществления настоящего изобретения, могут быть непосредственно выполнены в аппаратном процессоре, или могут быть выполнены с использованием комбинации аппаратных средств процессора и модуля программного обеспечения. Программный модуль может быть расположен на носителе информации, известным в данной области техники, таком как оперативное запоминающее устройство, флэш-память, память только для чтения, программируемой памяти только для чтения, электрически стираемой программируемой памяти или регистр. Носитель данных находятся в памяти 1930 и процессор 1910 считывает информацию из памяти 1930 и выполняет этапы, указанных выше способов в сочетании с аппаратной частью процессора.During implementation, the steps of the methods described above may be implemented by integrated logic circuitry in processor 1910 or by software instructions. The steps of the methods described with reference to embodiments of the present invention may be directly executed in a hardware processor, or may be performed using a combination of processor hardware and a software module. The program module may be located on a storage medium known in the art, such as random access memory, flash memory, read-only memory, read-only programmable memory, electrically erasable programmable memory, or a register. The storage medium resides in memory 1930 and the processor 1910 reads information from memory 1930 and performs the steps of the above methods in conjunction with the processor hardware.

Как показано на фиг. 20, вариант осуществления настоящего изобретения дополнительно предоставляет устройство 2000 кодирования, включающее в себя процессор 2010, память 2030 и системную шину 2050. Процессор 2010 и память 2030 соединены с помощью системной шины 2050. Память 2030 выполнена с возможностью хранить инструкции. Процессор 2010 выполнен с возможностью выполнять инструкцию, сохраненную в памяти 2030. Память 2030 устройства 2000 кодирования хранит программный код. Процессор 2010 может вызвать программный код, сохраненный в памяти 2030, чтобы выполнить все этапы и расширения этапов в способе 1400 кодирования согласно настоящему изобретению, то есть все этапы способа, описанные на фиг. 14 - фиг. 16. Например, процессор 2010 может вызвать программный код, хранящийся в памяти 2030 для выполнения следующих операций:As shown in FIG. 20, an embodiment of the present invention further provides an encoder 2000 including a processor 2010, a memory 2030, and a system bus 2050. The processor 2010 and memory 2030 are coupled via a system bus 2050. The memory 2030 is configured to store instructions. The processor 2010 is configured to execute an instruction stored in the memory 2030. The memory 2030 of the encoder 2000 stores program code. The processor 2010 may call the program code stored in the memory 2030 to perform all of the steps and extensions of the steps in the encoding method 1400 according to the present invention, that is, all of the method steps described in FIG. 14 - fig. 16. For example, processor 2010 may call program code stored in memory 2030 to perform the following operations:

определение разности вектора движения аффинного блока изображения;determining the difference of the motion vector of the affine image block;

определения точности вектора движения аффинного блока изображения;determining the accuracy of the motion vector of the affine image block;

определение размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, где размер включает в себя длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки являются пикселями, используемые для определения разности вектора движения; иdetermining the size of an affine subblock of a motion compensation image in an affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, where the size includes a length in the horizontal direction and a length in the vertical direction, so that the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image subblock of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation in the vertical direction; and control points are pixels used to determine the motion vector difference; and

выполнение обработки кодирования на аффинном блоке изображения на основе размера аффинного субблока изображения компенсации движения.performing encoding processing on the affine image block based on the size of the affine image sub-block of the motion compensation image.

В процессе кодирования может быть выбран субблок изображения с соответствующим размером и корректируют размер субблока изображения, так что аффинный блок изображения разделяется на множество аффинных субблоков изображения компенсации движения с тем же размером. Таким образом, сложность кодирования уменьшается и производительность кодирования повышается.In the encoding process, an image sub-block with an appropriate size can be selected and the size of the image sub-block is adjusted so that the affine image block is divided into a plurality of affine motion compensation image sub-blocks with the same size. Thus, the encoding complexity is reduced and the encoding performance is improved.

Следует понимать, что в данном варианте осуществления настоящего изобретения, процессор 2010 может представлять собой центральный блок обработки (Central Processing Unit, «CPU» для краткости). В качестве альтернативы, процессор 1910 может быть другим процессором общего назначения, цифровым сигнальным процессором (DSP), специализированной интегральной схемой (ASIC), программируемой пользователем вентильной матрицей (FPGA) или другим программируемым логическим устройством, дискретным логическим элементом или транзисторным логическим устройством, дискретным аппаратным компонентом или тому подобным. Процессор общего назначения может представлять собой микропроцессор или процессор может быть любым обычным процессором или тому подобным It should be understood that in this embodiment of the present invention, the processor 2010 may be a central processing unit (Central Processing Unit, "CPU" for short). Alternatively, processor 1910 may be another general purpose processor, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete logic element or transistorized logic device, discrete hardware component or the like. A general purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.

Память 2030 может включать в себя память только для чтения и оперативное запоминающее устройство, и предоставить инструкции и данные в процессор 2010. Память 2030 может дополнительно включать в себя энергонезависимое оперативное запоминающее устройство. Например, память 2030 может дополнительно хранить информацию о типе устройства.Memory 2030 may include read-only memory and random access memory, and provide instructions and data to processor 2010. Memory 2030 may further include non-volatile random access memory. For example, memory 2030 may additionally store device type information.

В дополнение к шине данных, системная шина 2050 может дополнительно включать в себя шину питания, шину управления, шину сигнала состояния и тому подобное. Тем не менее, для четкого описания, различные виды шин на чертеже отмечены как системная шина 2050.In addition to the data bus, the system bus 2050 may further include a power bus, a control bus, a status signal bus, and the like. However, for a clear description, the various types of busbars are marked as 2050 system bus in the drawing.

В процессе реализации, этапы вышеописанных способов могут быть реализованы с помощью аппаратных средств интегрированной логической схемы в процессоре 2010, или с помощью инструкции в виде программного обеспечения. Этапы способов, описанные со ссылкой на варианты осуществления настоящего изобретения, могут быть непосредственно выполнены в аппаратном процессоре, или могут быть выполнены с использованием комбинации аппаратных средств процессора и модуля программного обеспечения. Программный модуль может быть расположен на материальном носителе данных, известном в данной области техники, такой как оперативное запоминающее устройство, флэш-память, память только для чтения, программируемой памяти только для чтения, электрически стираемой программируемой памяти или регистр. Носитель данных находятся в памяти 2030, и процессор 2010 считывает информацию из памяти 2030 года и выполняет этапы, указанных выше способов в сочетании с аппаратной частью процессора. Повторное подробное описание опущено.During implementation, the steps of the methods described above may be implemented by integrated logic circuitry hardware in the processor 2010, or by software instructions. The steps of the methods described with reference to embodiments of the present invention may be directly executed in a hardware processor, or may be performed using a combination of processor hardware and a software module. The program module may be located on a tangible storage medium known in the art, such as random access memory, flash memory, read-only memory, read-only programmable memory, electrically erasable programmable memory, or a register. The storage medium resides in memory 2030 and processor 2010 reads information from memory 2030 and performs the steps of the above methods in conjunction with the processor hardware. The repeated detailed description is omitted.

Claims (154)

1. Способ декодирования видеоизображения, содержащий этапы, на которых:1. A method for decoding a video image, comprising the steps of: определяют разность вектора движения аффинного блока изображения;determining the difference of the motion vector of the affine image block; определяют точность вектора движения аффинного блока изображения;determining the accuracy of the motion vector of the affine image block; определяют размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения, размера аффинного блока изображения, при этом размер содержит длину в горизонтальном направлении и длину в вертикальном направлении, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки представляют собой пиксели, используемые для определения разности вектора движения; иdetermine the size of the affine sub-block of the motion compensation image in the affine image block based on the difference of the motion vector, the accuracy of the motion vector, the distance between the control points in the affine image block, the size of the affine image block, the size contains the length in the horizontal direction and the length in the vertical direction, and the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image subblock of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation in the vertical direction; and control points are pixels used to determine the motion vector difference; and выполняют обработку декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.performing decoding processing on the affine image block based on the size of the affine subblock of the motion compensation image. 2. Способ по п.1, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:2. The method of claim 1, wherein the step of determining the size of an affine image sub-block of a motion compensation image in the affine image block based on a motion vector difference, motion vector accuracy, a distance between control points in the affine image block, and a size of the affine image block, wherein the length of the affine image block is image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-block of the image motion compensation in the vertical direction, contains sub-steps, on which: осуществляют пропорциональную корректировку первого горизонтального расстояния на основании пропорции точности вектора движения к первому компоненту разности вектора движения для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении и длины аффинного субблока изображения компенсации движения в вертикальном направлении, причем обе длины аффинного субблока изображения компенсации движения в горизонтальном направлении и вертикальном направлении являются целыми числами;proportional correction of the first horizontal distance is carried out based on the proportion of the motion vector accuracy to the first component of the motion vector difference to obtain the length of the affine motion compensation image subblock in the horizontal direction and the length of the affine subblock of the motion compensation image in the vertical direction, both lengths of the affine subblock of the motion compensation image in the horizontal direction direction and vertical direction are integers; определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; иdetermine whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer, a multiple of the length of the affine image sub-image sub-block of the motion compensation in the horizontal direction adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; and определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determine whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer, a multiple of the length of the affine image subblock of the image compensation in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock, so that the length of the vertical direction affine image block is an integer multiple of the adjusted length of the vertical motion compensation affine image subblock. 3. Способ по п.1, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:3. The method of claim 1, wherein the step of determining the size of an affine image sub-block of a motion compensation image in the affine image block based on a motion vector difference, motion vector accuracy, a distance between control points in the affine image block, and a size of the affine image block, wherein the length of the affine image block is image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-block of the image motion compensation in the vertical direction, contains sub-steps, on which: осуществляют пропорциональную корректировку первого вертикального расстояния, основываясь на пропорции точности вектора движения ко второму компоненту разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении и длины аффинного субблока изображения компенсации движения в горизонтальном направлении, причем обе длины аффинного субблока изображения компенсации движения в вертикальном направлении и в горизонтальном направлении являются целыми числами;adjusting the first vertical distance proportionally based on the proportion of the motion vector accuracy to the second component of the motion vector difference to obtain the length of the motion compensation image affine sub-block in the vertical direction and the length of the motion compensation image affine sub-block in the horizontal direction, both lengths of the motion compensation image affine sub-block in the vertical direction and in the horizontal direction are integers; определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении; иdetermine whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer, a multiple of the length of the affine image subblock of the image compensation in the vertical direction adjusting the length of the affine sub-image subblock of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image subblock of the vertical motion compensation image; and определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.determine whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer, a multiple of the length of the affine image sub-image sub-block of the motion compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal motion compensation affine image subblock. 4. Способ по п.1, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:4. The method of claim 1, wherein the step of determining the size of an affine image subblock of the motion compensation image in the affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, wherein the length of the affine image block is image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-block of the image motion compensation in the vertical direction, contains sub-steps, on which: осуществляют пропорциональную корректировку первого горизонтального расстояния на основании пропорции точности вектора движения к первому компоненту разности вектора движения для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении, причем длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число;proportionally adjusting the first horizontal distance based on the proportion of the motion vector accuracy to the first motion vector difference component to obtain the length of the affine motion compensation image subblock in the horizontal direction, wherein the length of the affine subblock of the horizontal motion compensation image is an integer; определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении;determine whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer, a multiple of the length of the affine image sub-image sub-block of the motion compensation in the horizontal direction adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; осуществляют пропорциональную корректировку первого вертикального расстояния на основании пропорции точности вектора движения ко второму компоненту разности вектора движения для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении, при этом длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число; иproportionally adjusting the first vertical distance based on the proportion of the motion vector accuracy to the second motion vector difference component to obtain the length of the affine motion compensation image subblock in the vertical direction, wherein the length of the affine subblock of the vertical motion compensation image is an integer; and определяют, является длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсация движения в вертикальном направлении.determining whether the vertical direction affine image block length is an integer multiple of the vertical direction motion compensation affine image subblock length, and if the vertical direction affine image block length is not an integer multiple of the vertical direction motion compensation affine image subblock length, adjusting the length of the affine image sub-block of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the adjusted length of the affine sub-image subblock of the vertical motion compensation image. 5. Способ по любому из пп.2-4, в котором5. The method according to any one of claims 2-4, in which этап корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальное направление, содержит подэтапы, на которых: the step of adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock, comprising substeps of: осуществляют корректировку, то есть увеличение/уменьшение длины аффинного субблока изображения компенсации движения в горизонтальном направлении с помощью одной или более единичных длин; иadjusting, ie increasing/decreasing, the length of the affine sub-block of the motion compensation image in the horizontal direction by one or more unit lengths; and определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторяют этапы корректировки и определения до тех пор, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; аdetermine whether the length of the affine image block in the horizontal direction is an integer multiple of the adjusted length of the affine image block of the motion compensation image in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the horizontal direction, repeating the steps of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal motion compensation image; a этап корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальное направление, содержит подэтапы, на которых:the step of adjusting the length of the affine sub-image sub-block of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the adjusted length of the affine sub-image sub-block of the vertical motion compensation image, comprises sub-steps of: осуществляют корректировку, то есть увеличение/уменьшение длины аффинного субблока изображения компенсации движения в вертикальном направлении с помощью одной или более единичных длин; иadjusting, that is, increasing/decreasing the length of the vertical motion compensation image affine sub-block by one or more unit lengths; and определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повторяют этапы корректировки и определения до тех пор, пока длина аффинного блока изображения в вертикальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determine whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the direction, repeating the steps of adjusting and determining until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 6. Способ по любому из пп.2-4, в котором6. The method according to any one of claims 2-4, in which этап корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальное направление, содержит подэтапы, на которых:the step of adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock, comprising substeps of: осуществляют корректировку, то есть увеличение/уменьшение с помощью одной или более единичных длин, длины аффинного субблока изображения компенсации движения в горизонтальном направлении к ближайшему значению, с помощью которого длина аффинного блока изображения в горизонтальном направлении делится; иadjusting, that is, increasing/decreasing by one or more unit lengths, the length of the motion compensation affine image sub-block in the horizontal direction to the nearest value by which the length of the affine image block in the horizontal direction is divided; and определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторяют этапы корректировки и определения, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; аdetermine whether the length of the affine image block in the horizontal direction is an integer multiple of the adjusted length of the affine image block of the motion compensation image in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the horizontal direction, repeating the steps of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion compensation; a этап корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, причем длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:the step of adjusting the length of the affine sub-image subblock of the vertical motion compensation image, wherein the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image subblock of the vertical motion compensation image, comprising sub-steps of: осуществляют корректировку, то есть увеличение/уменьшение с помощью одной или более единичных длин, длины аффинного субблока изображения компенсации движения в вертикальном направлении к ближайшему значению, с помощью которого длина аффинного блока изображения в вертикальном направлении делится; иadjusting, i.e. increasing/decreasing by one or more unit lengths, the length of the affine sub-image compensation image block in the vertical direction to the nearest value by which the length of the affine image block in the vertical direction is divided; and определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повторяют этапы корректировки и определения до тех пор, пока длина аффинного блока изображения в вертикальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determine whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the direction, repeating the steps of adjusting and determining until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 7. Способ по любому из пп.2-6, дополнительно содержащий этапы, на которых:7. The method according to any one of claims 2 to 6, further comprising the steps of: определяют, является ли скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine subblock of the horizontal motion compensation image is an integer multiple of the predetermined length S, and осуществляют, если скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не является целым числом, кратным заданной длине S, повторную корректировку, то есть увеличение/уменьшения скорректированной длины аффинного субблока изображения компенсации движения в горизонтальном направлении с помощью одной или более единичных длин, пока скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не будет представлять собой собой целое число, кратное заданной длине S, в котором S равна 2n, и n равно нулю или положительному числу; иperforming, if the corrected length of the horizontal motion compensation affine image sub-block is not an integer multiple of the predetermined length S, re-correcting, that is, increasing/decreasing the corrected length of the horizontal motion compensation affine sub-image by one or more unit lengths, until the corrected length of the affine subblock of the horizontal motion compensation image will not be an integer multiple of the predetermined length S, in which S is equal to 2 n and n is zero or a positive number; and определяют, является ли скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine sub-block of the vertical motion compensation image is an integer multiple of the predetermined length S, and осуществляют, если скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не является целым числом, кратным заданной длине S, повторную корректировку, то есть увеличение/уменьшения скорректированной длины аффинного субблока изображения компенсации движения в вертикальном направлении с помощью одной или более единичных длин, пока скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не будет представлять собой целое число, кратное заданной длине S, в котором S равно 2n, и n равно нулю или положительному числу.performing, if the corrected length of the vertical motion compensation image affine sub-block is not an integer multiple of the predetermined length S, re-correcting, that is, increasing/decreasing the corrected length of the vertical motion compensation image affine sub-block by one or more unit lengths, until the corrected length of the affine subblock of the vertical motion compensation image will not be an integer multiple of the predetermined length S, in which S is equal to 2 n and n is zero or a positive number. 8. Способ по п.1, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтап, на котором:8. The method of claim 1, wherein the step of determining the size of an affine subblock of a motion compensation image in the affine image block based on a motion vector difference, motion vector accuracy, a distance between control points in the affine image block, and a size of the affine image block, wherein the length of the affine image block is image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the vertical direction, contains a sub-step in which: определяют, на основании разности вектора движения, точность вектора движения, расстояние между контрольными точками в аффинном блоке изображения и размер аффинного блока изображения, размер аффинного субблока изображения компенсации движения в аффинном блоке изображения посредством просмотра таблицы заданного размера, причем таблица заданного размера хранит размер, представляющий собой аффинный субблок изображения компенсации движения, и предварительно определен на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, при этом заданный размер аффинного субблока изображения компенсации движения соответствует: длине аффинного блока изображения в горизонтальном направлении, представляющей собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длине аффинного блока изображения в вертикальном направлении, представляющей собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining, based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, the size of the motion compensation affine sub-image sub-block in the affine image block by looking at the predetermined size table, the predetermined size table storing a size representing motion compensation image affine subblock, and is predetermined based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, wherein the predetermined size of the affine image subblock of the motion compensation image corresponds to: the length of the affine image block in direction, which is an integer multiple of the length of the motion compensation affine image sub-block in the horizontal direction, and the length of the affine image block in the vertical direction, representing which is an integer multiple of the length of the affine subblock of the vertical motion compensation image. 9. Способ по п.8, в котором заданный размер аффинного субблока изображения компенсации движения дополнительно соответствует: длине аффинного субблока изображения компенсации движения в горизонтальном направлении, представляющей собой целое число, кратное заданной длине S, и длине аффинного субблока изображения компенсации движения в вертикальном направлении, представляющей собой целое число, кратное заданной длине S, где S равно 2n, и n равно нулю или положительному целому числу.9. The method of claim 8, wherein the predetermined size of the motion compensation affine image subblock further corresponds to: a length of the horizontal direction motion compensation affine image subblock that is an integer multiple of the predetermined length S, and a length of the vertical direction motion compensation affine image subblock , which is an integer multiple of the given length S, where S is 2 n and n is zero or a positive integer. 10. Способ кодирования видеоизображения, содержащий этапы, на которых:10. A method for encoding a video image, comprising the steps of: определяют разность вектора движения аффинного блока изображения;determining the difference of the motion vector of the affine image block; определяют точность вектора движения аффинного блока изображения;determining the accuracy of the motion vector of the affine image block; определяют размер аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, при этом размер содержит длину в горизонтальном направлении и длину в вертикальном направлении, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольные точки, являющиеся пикселями, используемыми для определения разности вектора движения; иdetermine the size of the affine sub-block of the motion compensation image in the affine image block based on the difference of the motion vector, the accuracy of the motion vector, the distance between the control points in the affine image block and the size of the affine image block, wherein the size contains the length in the horizontal direction and the length in the vertical direction, and the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image subblock of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock of the motion compensation in the vertical direction; and control points, which are pixels used to determine the motion vector difference; and осуществляют обработку кодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.performing encoding processing on the affine image block based on the size of the affine subblock of the motion compensation image. 11. Способ по п.10, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:11. The method of claim 10, wherein the step of determining the size of an affine image sub-block of a motion compensation image in the affine image block based on a motion vector difference, motion vector precision, a distance between control points in the affine image block, and a size of the affine image block, wherein the length of the affine image block is image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-block of the image motion compensation in the vertical direction, contains sub-steps, on which: осуществляют пропорциональную корректировку первого горизонтального расстояния на основании пропорции точности вектора движения к первому компоненту разности векторов движения для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении и длины аффинного субблока изображения компенсации движения в вертикальном направлении, при этом обе длины аффинного субблока изображения компенсации движения в горизонтальном направлении и вертикальном направлении являются целыми числами;the first horizontal distance is proportionally corrected based on the proportion of the motion vector accuracy to the first component of the motion vector difference to obtain the length of the motion compensation image affine subblock in the horizontal direction and the length of the motion compensation image affine subblock in the vertical direction, both lengths of the motion compensation image affine subblock in horizontal direction and vertical direction are integers; определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; иdetermine whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer, a multiple of the length of the affine image sub-image sub-block of the motion compensation in the horizontal direction adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; and определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determine whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer, a multiple of the length of the affine image subblock of the image compensation in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock, so that the length of the vertical direction affine image block is an integer multiple of the adjusted length of the vertical motion compensation affine image subblock. 12. Способ по п.10, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:12. The method of claim 10, wherein the step of determining the size of an affine image subblock of a motion compensation image in the affine image block based on a motion vector difference, motion vector accuracy, a distance between control points in the affine image block, and a size of the affine image block, wherein the length of the affine image block is image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image sub-block of the image motion compensation in the vertical direction, contains sub-steps, on which: осуществляют пропорциональную корректировку первого вертикального расстояния на основании точности вектора движения ко второму компоненту разности вектора движения для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении и длины аффинного субблока изображения компенсации движения в горизонтальном направлении, причем обе длины аффинного субблока изображения компенсации движения в вертикальном направлении и в горизонтальном направлении являются целыми числами;proportional adjustment of the first vertical distance based on the accuracy of the motion vector to the second component of the motion vector difference to obtain the length of the affine motion compensation image subblock in the vertical direction and the length of the affine subblock of the motion compensation image in the horizontal direction, both lengths of the affine subblock of the motion compensation image in the vertical direction and in the horizontal direction are integers; определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении; иdetermine whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer, a multiple of the length of the affine image subblock of the image compensation in the vertical direction adjusting the length of the affine sub-image subblock of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image subblock of the vertical motion compensation image; and определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.determine whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer, a multiple of the length of the affine image sub-image sub-block of the motion compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal motion compensation affine image subblock. 13. Способ по п.10, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, при этом длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:13. The method of claim 10, wherein the step of determining the size of an affine image subblock of the motion compensation image in the affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, wherein the length of the affine image block of the image block in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the horizontal direction motion compensation, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine sub-image of the compensation image in the vertical direction, contains sub-steps, on which : осуществляют пропорциональную корректировку первого горизонтального расстояния на основании пропорции точности вектора движения к первому компоненту разности вектора движения для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении, причем длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число;proportionally adjusting the first horizontal distance based on the proportion of the motion vector accuracy to the first motion vector difference component to obtain the length of the affine motion compensation image subblock in the horizontal direction, wherein the length of the affine subblock of the horizontal motion compensation image is an integer; определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректируют длину аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении;determine whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer, a multiple of the length of the affine image sub-image sub-block of the motion compensation in the horizontal direction adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; осуществляют пропорциональную корректировку первого вертикального расстояния на основании пропорции точности вектора движения ко второму компоненту разности вектора движения для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении, при этом длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число; иproportionally adjusting the first vertical distance based on the proportion of the motion vector accuracy to the second motion vector difference component to obtain the length of the affine motion compensation image subblock in the vertical direction, wherein the length of the affine subblock of the vertical motion compensation image is an integer; and определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректируют длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determine whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer, a multiple of the length of the affine image subblock of the image compensation in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock, so that the length of the vertical direction affine image block is an integer multiple of the adjusted length of the vertical motion compensation affine image subblock. 14. Способ по любому из пп.11-13, в котором14. The method according to any one of claims 11-13, in which этап корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальное направление, содержит подэтапы, на которых:the step of adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock, comprising substeps of: осуществляют корректировку, то есть увеличение/уменьшение длины аффинного субблока изображения компенсации движения в горизонтальном направлении с помощью одной или более единичных длин; иadjusting, ie increasing/decreasing, the length of the affine sub-block of the motion compensation image in the horizontal direction by one or more unit lengths; and определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторяют этап корректировки и определения до тех пор, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения коррекции движения в горизонтальном направлении; аdetermine whether the length of the affine image block in the horizontal direction is an integer multiple of the adjusted length of the affine image block of the motion compensation image in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the the horizontal direction, repeating the step of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion correction; a этап корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:the step of adjusting the length of the affine sub-image sub-block of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the adjusted length of the affine sub-image sub-block of the vertical motion compensation image, comprises sub-steps of: осуществляют корректировку, то есть увеличение/уменьшение длины аффинного субблока изображения компенсации движения в вертикальном направлении с помощью одной или более единичных длин; иadjusting, that is, increasing/decreasing the length of the vertical motion compensation image affine sub-block by one or more unit lengths; and определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повторяют этап корректировки и определения, пока длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determine whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the direction, repeating the step of adjusting and determining until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 15. Способ по любому из пп.11-13, в котором15. The method according to any one of claims 11-13, in which этап корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальное направление, содержит подэтапы, на которых:the step of adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock, comprising substeps of: осуществляют корректировку, то есть увеличение/уменьшение с помощью одной или более единичных длин, длины аффинного субблока изображения компенсации движения в горизонтальном направлении к ближайшему значению, с помощью которого длина аффинного блока изображения в горизонтальном направлении делится; иadjusting, that is, increasing/decreasing by one or more unit lengths, the length of the motion compensation affine image sub-block in the horizontal direction to the nearest value by which the length of the affine image block in the horizontal direction is divided; and определяют, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторяют этап корректировки и определения, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; аdetermine whether the length of the affine image block in the horizontal direction is an integer multiple of the adjusted length of the affine image block of the motion compensation image in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the horizontal direction, repeating the step of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion compensation; a этап корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:the step of adjusting the length of the affine sub-image sub-block of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the adjusted length of the affine sub-image sub-block of the vertical motion compensation image, comprises sub-steps of: осуществляют корректировку, то есть увеличение/уменьшение с помощью одной или более единичных длин, длины аффинного субблока изображения компенсации движения в вертикальном направлении к ближайшему значению, с помощью которого длина аффинного блока изображения в вертикальном направлении делится; иadjusting, i.e. increasing/decreasing by one or more unit lengths, the length of the affine sub-image compensation image block in the vertical direction to the nearest value by which the length of the affine image block in the vertical direction is divided; and определяют, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повторяют этап корректировки и определения, пока длина аффинного блока изображения в вертикальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determine whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the direction, repeating the step of adjusting and determining until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 16. Способ по любому из пп.11-15, дополнительно содержащий этапы, на которых:16. A method according to any one of claims 11-15, further comprising the steps of: определяют, является ли скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine subblock of the horizontal motion compensation image is an integer multiple of the predetermined length S, and осуществляют, если скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не является целым числом, кратным заданной длине S, повторную корректировку, то есть увеличивают/уменьшают скорректированную длину аффинного субблока изображения компенсации движения в горизонтальном направлении с помощью одной или более единичных длин до тех пор, пока скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не будет представлять собой целое число, кратное заданной длине S, где S равно 2n, и n равно нулю или положительному числу; иperforming, if the corrected length of the horizontal motion compensation image affine sub-block is not an integer multiple of the predetermined length S, re-correcting, that is, increasing/decreasing the corrected length of the horizontal motion compensation image affine sub-block by one or more unit lengths up to those as long as the corrected length of the affine subblock of the horizontal motion compensation image is an integer multiple of the predetermined length S, where S is 2 n and n is zero or a positive number; and определяют, является ли скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine sub-block of the vertical motion compensation image is an integer multiple of the predetermined length S, and осуществляют, если скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не является целым числом, кратным заданной длине S, повторную корректировку, то есть увеличивают/уменьшают скорректированную длину аффинного субблока изображения компенсации движения в вертикальном направлении с помощью одной или более единичных длин, пока скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не будет представлять собой целое число, кратное заданной длине S, где S равно 2n, и n равно нулю или положительному числу.performing, if the corrected length of the vertical motion compensation image affine sub-block is not an integer multiple of the predetermined length S, re-correcting, that is, increasing/decreasing the corrected length of the vertical motion compensation image affine sub-block by one or more unit lengths, until the corrected length of the affine subblock of the vertical motion compensation image will not be an integer multiple of the predetermined length S, where S is equal to 2 n and n is zero or a positive number. 17. Способ по п.10, в котором этап определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении, содержит подэтапы, на которых:17. The method of claim 10, wherein the step of determining the size of the affine image sub-block of the motion compensation image in the affine image block based on the motion vector difference, the motion vector precision, the distance between control points in the affine image block, and the size of the affine image block, wherein the length of the affine image block is image in the horizontal direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine sub-image sub-block of the motion compensation in the vertical direction, contains sub-steps, on which: определяют, на основании разности вектора движения, точность вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размер аффинного блока изображения, размер аффинного субблока изображения компенсации движения в аффинном блоке изображения посредством просмотра таблицы заданного размера, причем таблица заданного размера хранит размер, представляющий собой аффинный субблок изображения компенсации движения и задан на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем заданный размер аффинных субблоков изображения компенсации движения удовлетворяет условию: длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining, based on the motion vector difference, the motion vector accuracy, the distances between control points in the affine image block, and the size of the affine image block, the size of the motion compensation affine sub-image sub-block in the affine image block by looking at a predetermined size table, the predetermined size table storing a size representing motion compensation image affine subblock and is set based on the motion vector difference, motion vector accuracy, distance between control points in the affine image block, and size of the affine image block, wherein the specified size of the affine subblocks of the motion compensation image satisfies the condition: length of the affine image block in the horizontal direction is an integer multiple of the length of the motion compensation affine image subblock in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of a layer that is a multiple of the length of the affine subblock of the vertical motion compensation image. 18. Способ по п.17, в котором заданный размер аффинного субблока изображения компенсации движения дополнительно удовлетворяет: длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число, кратное заданной длине S, а длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число, кратное заданной длине S, где S равна 2n, и n равна нулю или положительному целому числу.18. The method of claim 17, wherein the predetermined size of the motion compensation affine sub-image sub-frame is further satisfies: the length of the affine sub-image sub-frame of the motion compensation image in the horizontal direction is an integer multiple of the predetermined length S, and the length of the affine sub-image sub-frame of the motion compensation image in the vertical direction is is an integer multiple of the given length S, where S is 2 n and n is zero or a positive integer. 19. Оборудование декодирования видеоизображения, содержащее:19. Video decoding equipment, comprising: модуль определения разности вектора движения, выполненный с возможностью определения разности вектора движения аффинного блока изображения;a motion vector difference determination module, configured to determine a motion vector difference of the affine image block; модуль определения точности вектора движения, выполненный с возможностью определения точности вектора движения аффинного блока изображения;a motion vector accuracy determination module, configured to determine the motion vector accuracy of the affine image block; модуль определения размера субблока изображения, выполненный с возможностью определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, причем размер содержит длину в горизонтальном направлении и длину в вертикальном направлении, при этом длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, а длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольных точек, являющихся пикселями, используемыми для определения разности вектора движения; иan image sub-block size determination module, configured to determine the size of an affine image sub-block of a motion compensation image in the affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, wherein the size comprises a length in horizontal direction and length in the vertical direction, wherein the length of the affine image block in the horizontal direction is an integer multiple of the length of the motion compensation affine image subblock in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image subblock compensation for movement in the vertical direction; and reference points, which are pixels used to determine a motion vector difference; and модуль декодирования, выполненный с возможностью осуществления декодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.a decoding module, configured to perform decoding on the affine image block based on the size of the affine sub-block of the motion compensation image. 20. Оборудование по п.19, в котором модуль определения размера субблока изображения выполнен с возможностью:20. The equipment of claim 19, wherein the image subblock size determination module is configured to: осуществления пропорциональной корректировки первого горизонтального расстояния, основываясь на пропорции точности вектора движения к первому компоненту разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении и длины аффинного субблока изображения компенсации движения в вертикальном направлении, причем обе длины аффинного субблока изображения компенсации движения в горизонтальном направлении и вертикальном направлении являются целыми числами;performing proportional adjustment of the first horizontal distance, based on the proportion of the motion vector accuracy to the first motion vector difference component, to obtain the length of the motion compensation affine sub-image in the horizontal direction and the length of the motion compensation affine sub-image in the vertical direction, both lengths of the motion compensation affine sub-image in the horizontal direction and vertical direction are integers; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректирования длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; иdetermining whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; and определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректирования длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the affine image block length in the vertical direction is an integer multiple of the length of the affine image sub-image block in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine image sub-image sub-block in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock so that the length of the vertical direction affine image block is an integer multiple of the corrected length of the vertical motion compensation affine image subblock. 21. Оборудование по п.19, в котором модуль определения размера субблока изображения выполнен с возможностью:21. The equipment of claim 19, wherein the image subblock size determination module is configured to: осуществления пропорциональной корректировки первого вертикального расстояния, основываясь на пропорции точности вектора движения ко второму компоненту разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении и длины аффинного субблока изображения компенсации движения в горизонтальном направлении, причем обе длины аффинного субблока изображения компенсации движения в вертикальном направлении и в горизонтальном направлении являются целыми числами;performing a proportional adjustment of the first vertical distance based on the proportion of the motion vector accuracy to the second component of the motion vector difference to obtain the length of the motion compensation affine sub-image in the vertical direction and the length of the affine sub-image of the motion compensation in the horizontal direction, both lengths of the motion compensation affine sub-image in the vertical direction and in the horizontal direction are integers; определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректировать длину аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении; иdetermining whether the affine image block length in the vertical direction is an integer multiple of the length of the affine image sub-image block in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine image sub-image sub-block in the vertical direction , adjusting the length of the affine image subblock of the vertical motion compensation image so that the length of the affine image block in the vertical direction is an integer multiple of the adjusted length of the affine image subblock of the vertical motion compensation image; and определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.determining whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal motion compensation affine image subblock. 22. Оборудование по п.19, в котором модуль определения размера субблока изображения выполнен с возможностью:22. The equipment of claim 19, wherein the image subblock size determination module is configured to: осуществления пропорциональной корректировки первого горизонтального расстояния, основываясь на пропорции точности вектора движения к первой компоненте разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении, при этом длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число;proportionally adjusting the first horizontal distance based on the proportion of the motion vector accuracy to the first motion vector difference component to obtain the length of the affine motion compensation image subblock in the horizontal direction, wherein the length of the affine subblock of the horizontal motion compensation image is an integer; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении;determining whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; осуществления пропорциональной корректировки первого вертикального расстояния, основываясь на пропорции точности вектора движения ко второй компоненте разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении, при этом длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число; иproportionally adjusting the first vertical distance based on the proportion of the motion vector accuracy to the second motion vector difference component to obtain the length of the vertical direction motion compensation image affine sub-block, wherein the length of the vertical direction motion compensation image affine sub-block is an integer; and определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the affine image block length in the vertical direction is an integer multiple of the length of the affine image sub-image block in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine image sub-image sub-block in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock so that the length of the vertical direction affine image block is an integer multiple of the adjusted length of the vertical motion compensation affine image subblock. 23. Оборудование по любому из пп.20-22, в котором модуль определения размера субблока изображения дополнительно выполнен с возможностью:23. Equipment according to any one of claims 20-22, wherein the image sub-block size determination module is further configured to: корректировки, то есть увеличения/уменьшения длины аффинного субблока изображения компенсации движения в горизонтальном направлении на одну или более единичных длин;adjusting, that is, increasing/decreasing the length of the affine subblock of the motion compensation image in the horizontal direction by one or more unit lengths; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторения этапов корректировки и определения, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении;determining whether the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in horizontal direction, repeating the steps of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion compensation; корректировки, то есть увеличения/уменьшения длины аффинного субблока изображения компенсации движения в вертикальном направлении на одну или более единичных длин; иadjusting, that is, increasing/decreasing the length of the affine sub-block of the motion compensation image in the vertical direction by one or more unit lengths; and определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повторения этапов корректировки и определения, пока длина аффинного блока изображения в вертикальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image block of the motion compensation image in the direction, repeating the steps of adjusting and determining until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 24. Оборудование по любому из пп.20-22, в котором модуль определения размера субблока изображения дополнительно выполнен с возможностью:24. Equipment according to any one of claims 20-22, wherein the image sub-block size determination module is further configured to: корректировки, то есть увеличения/уменьшения на одну или более единичных длин, длины аффинного субблока изображения компенсации движения в горизонтальном направлении к ближайшему значению, с помощью которого длина аффинного блока изображения в горизонтальном направлении делится;adjusting, that is, increasing/decreasing by one or more unit lengths, the length of the motion compensation affine image subblock in the horizontal direction to the nearest value by which the length of the affine image block in the horizontal direction is divided; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторения этапов корректировки и определения, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; determining whether the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in horizontal direction, repeating the steps of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion compensation; корректировки, то есть увеличения/уменьшения на одну или более единичных длин, длины аффинного субблока изображения компенсации движения в вертикальном направлении к ближайшему значению, на которое длина аффинного блока изображения в вертикальном направлении делится; иadjusting, that is, increasing/decreasing by one or more unit lengths, the length of the vertical motion compensation affine image subblock to the nearest value by which the length of the vertical direction affine image block is divisible; and определение, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повтор этапов корректировки и определения, пока длина аффинного блока изображения в вертикальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the vertical direction direction, repeating the adjustment and determination steps until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 25. Способ по любому из пп.20-22, в котором модуль определения размера субблока изображения дополнительно выполнен с возможностью:25. The method according to any one of claims 20-22, wherein the image sub-block size determination module is further configured to: определения, является ли скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine subblock of the horizontal motion compensation image is an integer multiple of the predetermined length S, and осуществления, если скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не является целым числом, кратным заданной длине S, повторной корректировки, то есть увеличения/уменьшения скорректированной длины аффинного субблока изображения компенсации движения в горизонтальном направлении с помощью одной или более единичных длин, пока повторно скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не будет представлять собой целое число, кратное заданной длине S, где S равно 2n, и n равно нулю или положительному числу; иperforming, if the corrected length of the horizontal motion compensation affine sub-image sub-frame is not an integer multiple of the predetermined length S, re-correcting, that is, increasing/decreasing the corrected length of the horizontal motion compensation affine sub-frame by one or more unit lengths, until the re-corrected length of the affine subblock of the horizontal motion compensation image will not be an integer multiple of the predetermined length S, where S is 2 n and n is zero or a positive number; and определения, является ли скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine sub-block of the vertical motion compensation image is an integer multiple of the predetermined length S, and осуществления, если скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не является целым числом, кратным заданной длине S, повторной корректировки, то есть увеличения/уменьшения скорректированной длины аффинного субблока изображения компенсации движения в вертикальном направлении на одну или более единичных длин, пока скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не будет представляет собой целое число, кратное заданной длине S, где S равно 2n, и n равно нулю или положительному числу.performing, if the corrected length of the vertical motion compensation affine sub-image sub-frame is not an integer multiple of the predetermined length S, re-adjusting, that is, increasing/decreasing the corrected length of the vertical motion compensation affine sub-image by one or more unit lengths, while corrected the length of the affine subblock of the vertical motion compensation image will not be an integer multiple of the predetermined length S, where S is equal to 2 n and n is zero or a positive number. 26. Оборудование по п.19, в котором модуль определения размера субблока изображения выполнен с возможностью:26. The equipment of claim 19, wherein the image subblock size determination module is configured to: определения, основываясь на разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, размера аффинного субблока изображения компенсации движения в аффинном блоке изображения, посредством просмотра таблицы заданного размера, причем таблица заданного размера хранит размер, являющийся аффинным субблоком изображения компенсации движения, и предопределен на основе разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, и заданный размер аффинного субблока изображения компенсации движения удовлетворяет: длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining, based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block and the size of the affine image block, the size of the motion compensation affine sub-image sub-block in the affine image block, by looking at the predetermined size table, the predetermined size table storing the size, which is the motion compensation image affine sub-block, and is predetermined based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, and the predetermined size of the motion compensation affine image sub-block satisfies: the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine sub-image block of the motion compensation in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of length of the affine subblock of the vertical motion compensation image. 27. Оборудование по п.26, в котором заданный размер аффинного субблока изображения компенсации движения дополнительно удовлетворяет: длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число, кратное заданной длине S, и длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число, кратное заданной длине S, где S равно 2n, и n равно нулю или положительному целому числу.27. The equipment of claim 26, wherein the predetermined size of the motion compensation affine sub-image subframe further satisfies: the length of the affine sub-image sub-frame of the motion compensation image in the horizontal direction is an integer multiple of the predetermined length S, and the length of the affine sub-image sub-frame of the motion compensation image in the vertical direction is is an integer multiple of the given length S, where S is 2 n and n is zero or a positive integer. 28. Оборудование для кодирования видеоизображения, содержащее:28. Equipment for video encoding, comprising: модуль определения разности вектора движения, выполненный с возможностью определения разности вектора движения аффинного блока изображения;a motion vector difference determination module, configured to determine a motion vector difference of the affine image block; модуль определения точности вектора движения, выполненный с возможностью определения точности вектора движения аффинного блока изображения;a motion vector accuracy determination module, configured to determine the motion vector accuracy of the affine image block; модуль определения размера субблока изображения, выполненный с возможностью определения размера аффинного субблока изображения компенсации движения в аффинном блоке изображения на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, при этом размер содержит длину в горизонтальном направлении и длину в вертикальном направлении, так что длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении; и контрольных точек являющихся пикселями, используемыми для определения разности вектора движения; иan image sub-block size determination module configured to determine the size of an affine image sub-block of a motion compensation image in the affine image block based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, wherein the size comprises a length in in the horizontal direction and a length in the vertical direction, such that the length of the affine image block in the horizontal direction is an integer multiple of the length of the motion compensation affine image subblock in the horizontal direction, and the length of the affine image block in the vertical direction is an integer multiple of the length of the affine subblock images of motion compensation in the vertical direction; and control points being the pixels used to determine the motion vector difference; and модуль кодирования, выполненный с возможностью выполнения процесса кодирования на аффинном блоке изображения на основании размера аффинного субблока изображения компенсации движения.an encoding unit configured to perform an encoding process on the affine image block based on the size of the affine sub-block of the motion compensation image. 29. Оборудование по п.28, в котором модуль определения размера субблока изображения выполнен с возможностью:29. The equipment of claim 28, wherein the image subblock size determination module is configured to: осуществления пропорциональной корректировки первого горизонтального расстояния, основываясь на пропорции точности вектора движения к первому компоненту разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении и длины аффинного субблока изображения компенсации движения в вертикальном направлении, причем обе длины аффинного субблока изображения компенсации движения в горизонтальном направлении и вертикальном направлении являются целыми числами;performing proportional adjustment of the first horizontal distance, based on the proportion of the motion vector accuracy to the first motion vector difference component, to obtain the length of the motion compensation affine sub-image in the horizontal direction and the length of the motion compensation affine sub-image in the vertical direction, both lengths of the motion compensation affine sub-image in the horizontal direction and vertical direction are integers; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; иdetermining whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; and определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine image subblock of the image compensation in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock so that the length of the vertical direction affine image block is an integer multiple of the adjusted length of the vertical motion compensation affine image subblock. 30. Оборудование по п.28, в котором модуль определения размера субблока изображения выполнен с возможностью:30. The equipment of claim 28, wherein the image subblock size determination module is configured to: пропорциональной корректировки первого вертикального расстояния, основываясь на пропорции точности вектора движения ко второму компоненту разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении и длины аффинного субблока изображения компенсации движения в горизонтальном направлении, причем обе длины аффинного субблока изображения компенсации движения в вертикальном направлении и в горизонтальном направлении являются целыми числами;proportional adjustment of the first vertical distance, based on the proportion of the motion vector accuracy to the second motion vector difference component, to obtain the length of the motion compensation affine sub-image in the vertical direction and the length of the motion compensation affine sub-image in the horizontal direction, both lengths of the motion compensation affine sub-image in vertical direction and horizontal direction are integers; определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении; иdetermining whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine image subblock of the image compensation in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock so that the length of the vertical direction affine image block is an integer multiple of the adjusted length of the vertical motion compensation affine image subblock; and определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении.determining whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal motion compensation affine image subblock. 31. Оборудование по п.28, в котором модуль определения размера субблока изображения выполнен с возможностью:31. The equipment of claim 28, wherein the image subblock size determination module is configured to: осуществления пропорциональной корректировки первого горизонтального расстояния, основываясь на пропорции точности вектора движения к первому компоненту разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в горизонтальном направлении, при этом длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число;proportionally adjusting the first horizontal distance based on the proportion of the motion vector accuracy to the first motion vector difference component to obtain the length of the affine motion compensation image sub-frame in the horizontal direction, wherein the length of the affine motion compensation image sub-frame in the horizontal direction is an integer; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в горизонтальном направлении, корректировки длины аффинного субблока изображения компенсации движения в горизонтальном направлении, так что длина аффинного блока изображения в горизонтальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении;determining whether the length of the affine image block in the horizontal direction is an integer multiple of the length of the affine image sub-image block in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the length of the affine image sub-image compensation in the horizontal direction , adjusting the length of the horizontal direction motion compensation affine image subblock so that the length of the horizontal direction affine image block is an integer multiple of the adjusted length of the horizontal direction motion compensation affine image subblock; осуществления пропорциональной корректировки первого вертикального расстояния, основываясь на пропорции точности вектора движения ко второму компоненту разности вектора движения, для получения длины аффинного субблока изображения компенсации движения в вертикальном направлении, при этом длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число; иproportionally adjusting the first vertical distance based on the proportion of the motion vector accuracy to the second motion vector difference component to obtain the length of the vertical motion compensation affine sub-image sub-frame, wherein the length of the vertical motion compensation affine sub-image is an integer; and определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным длине аффинного субблока изображения компенсации движения в вертикальном направлении, корректировки длины аффинного субблока изображения компенсации движения в вертикальном направлении, так что длина аффинного блока изображения в вертикальном направлении является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the length of the affine image block in the vertical direction is an integer multiple of the length of the affine image block in the vertical direction motion compensation, and if the length of the affine image block in the vertical direction is not an integer multiple of the length of the affine image subblock of the image compensation in the vertical direction , adjusting the length of the vertical motion compensation affine image subblock so that the length of the vertical direction affine image block is an integer multiple of the adjusted length of the vertical motion compensation affine image subblock. 32. Оборудование по любому из пп.29-31, в котором модуль определения размера субблока изображения дополнительно выполнен с возможностью:32. Equipment according to any one of claims 29-31, wherein the image sub-block size determination module is further configured to: корректировки, то есть увеличения/уменьшения длины аффинного субблока изображения компенсации движения в горизонтальном направлении на одну или более единичных длин;adjusting, that is, increasing/decreasing the length of the affine subblock of the motion compensation image in the horizontal direction by one or more unit lengths; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторения этапов корректировки и определения, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении;determining whether the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in horizontal direction, repeating the steps of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion compensation; корректирования, то есть увеличения/уменьшения длины аффинного субблока изображения компенсации движения в вертикальном направлении на одну или более единичных длин; иcorrecting, that is, increasing/decreasing the length of the affine sub-block of the motion compensation image in the vertical direction by one or more unit lengths; and определения, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повторения этапов корректировки и определения, пока длина аффинного блока изображения в вертикальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image block of the motion compensation image in the direction, repeating the steps of adjusting and determining until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 33. Оборудование по любому пп.29-31, в котором модуль определения размера субблока изображения дополнительно выполнен с возможностью:33. Equipment according to any one of claims 29-31, wherein the image sub-block size determination module is further configured to: корректировки, то есть увеличения/уменьшения на одну или более единичных длин, длины аффинного субблока изображения компенсации движения в горизонтальном направлении к ближайшему значению, на которое длина аффинного блока изображения в горизонтальном направлении делится;adjusting, that is, increasing/decreasing by one or more unit lengths, the length of the motion compensation affine image subblock in the horizontal direction to the nearest value by which the length of the affine image block in the horizontal direction is divisible; определения, является ли длина аффинного блока изображения в горизонтальном направлении целым числом, кратным скорректированной длины аффинного субблока изображения компенсации движения в горизонтальном направлении, и, если длина аффинного блока изображения в горизонтальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении, повторения этапов корректировки и определения, пока длина аффинного блока изображения в горизонтальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в горизонтальном направлении; determining whether the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image sub-image of the motion compensation in the horizontal direction, and if the length of the affine image block in the horizontal direction is not an integer multiple of the corrected length of the affine sub-image of the motion compensation image in horizontal direction, repeating the steps of adjusting and determining until the length of the affine image block in the horizontal direction is an integer multiple of the corrected length of the affine sub-image block of the horizontal direction motion compensation; корректировки, то есть увеличения/уменьшения на одну или более единичных длин, длины аффинного субблока изображения компенсации движения в вертикальном направлении к ближайшему значению, на которое длина аффинного блока изображения в вертикальном направлении делится; иadjusting, that is, increasing/decreasing by one or more unit lengths, the length of the vertical motion compensation affine image subblock to the nearest value by which the length of the vertical direction affine image block is divisible; and определение, является ли длина аффинного блока изображения в вертикальном направлении целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, и, если длина аффинного блока изображения в вертикальном направлении не является целым числом, кратным скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении, повторения этапов корректировки и определения, пока длина аффинного блока изображения в вертикальном направлении не будет представлять собой целое число, кратное скорректированной длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining whether the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine image block of the motion compensation image in the vertical direction, and if the length of the affine image block in the vertical direction is not an integer multiple of the adjusted length of the affine image subblock of the motion compensation image in the vertical direction direction, repeating the steps of adjusting and determining until the length of the affine image block in the vertical direction is an integer multiple of the corrected length of the affine sub-image block of the vertical motion compensation. 34. Оборудование по любому из пп.29-33, в котором модуль определения размера субблока изображения дополнительно выполнен с возможностью:34. Equipment according to any one of claims 29-33, wherein the image sub-block size determination module is further configured to: определения, является ли скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine subblock of the horizontal motion compensation image is an integer multiple of the predetermined length S, and осуществления, если скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не является целым числом, кратным заданной длине S, повторной корректировки, то есть увеличения/уменьшения скорректированной длины аффинного субблока изображения компенсации движения в горизонтальном направлении на одну или более единичных длин, пока скорректированная длина аффинного субблока изображения компенсации движения в горизонтальном направлении не будет представлять собой целое число, кратное заданной длине S, где S равно 2n, и n равно нулю или положительному числу; иperforming, if the corrected length of the horizontal motion compensation affine sub-image sub-frame is not an integer multiple of the predetermined length S, re-correcting, that is, increasing/decreasing the corrected length of the horizontal motion compensation affine sub-frame by one or more unit lengths, while the corrected the length of the affine subblock of the horizontal motion compensation image will not be an integer multiple of the predetermined length S, where S is 2 n and n is zero or a positive number; and определения, является ли скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении целым числом, кратным заданной длине S, иdetermining whether the corrected length of the affine sub-block of the vertical motion compensation image is an integer multiple of the predetermined length S, and осуществления, если скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не является целым числом, кратным заданной длине S, повторной корректировки, то есть увеличения/уменьшения скорректированной длины аффинного субблока изображения компенсации движения в вертикальном направлении на одну или более единичных длин, пока скорректированная длина аффинного субблока изображения компенсации движения в вертикальном направлении не будет представлять собой целое значение, кратное заданной длине S.performing, if the corrected length of the vertical motion compensation affine sub-image sub-block is not an integer multiple of the predetermined length S, re-correcting, that is, increasing/decreasing the corrected length of the vertical motion compensation affine sub-image by one or more unit lengths, while the corrected the length of the affine subblock of the vertical motion compensation image will not be an integer multiple of the given length S. 35. Оборудование по п.28, в котором модуль определения размера субблока изображения выполнен с возможностью:35. The equipment of claim 28, wherein the image subblock size determination module is configured to: определения, основываясь на разности вектора движения, точности вектора движения, расстоянии между контрольными точками в аффинном блоке изображения и размере аффинного блока изображения, размера аффинного субблока изображения компенсации движения в аффинном блоке изображения, посредством просмотра таблицы заданного размера, при этом таблица заданного размера хранит размер, являющийся аффинным субблоком изображения компенсации движения и предопределенный на основании разности вектора движения, точности вектора движения, расстояния между контрольными точками в аффинном блоке изображения и размера аффинного блока изображения, при этом заданный размер аффинного субблока изображения компенсации движения удовлетворяет: длина аффинного блока изображения в горизонтальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в горизонтальном направлении, и длина аффинного блока изображения в вертикальном направлении представляет собой целое число, кратное длине аффинного субблока изображения компенсации движения в вертикальном направлении.determining, based on the motion vector difference, the motion vector accuracy, the distance between control points in the affine image block, and the size of the affine image block, the size of the motion compensation affine sub-image sub-block in the affine image block, by looking at the predetermined size table, the predetermined size table storing the size , which is an affine subblock of the motion compensation image and predetermined based on the difference of the motion vector, the accuracy of the motion vector, the distance between control points in the affine image block and the size of the affine image block, while the specified size of the affine subblock of the motion compensation image satisfies: the length of the affine image block in horizontal direction is an integer multiple of the length of the motion compensation affine image sub-block in the horizontal direction, and the length of the affine image block in the vertical direction is an integer th multiple of the length of the affine subblock of the vertical motion compensation image. 36. Оборудование по п.35, в котором заданный размер аффинного субблока изображения компенсации движения дополнительно удовлетворяет: длина аффинного субблока изображения компенсации движения в горизонтальном направлении представляет собой целое число, кратное заданной длине S, а длина аффинного субблока изображения компенсации движения в вертикальном направлении представляет собой целое число, кратное заданной длине S, где S равно 2n, и n равна нулю или положительному целому числу.36. The equipment of claim 35, wherein the predetermined size of the motion compensation affine sub-image sub-unit further satisfies: the length of the affine sub-image sub-image of the motion compensation in the horizontal direction is an integer multiple of the predetermined length S, and the length of the affine sub-image sub-image of the motion compensation in the vertical direction is is an integer multiple of the given length S, where S is 2 n and n is zero or a positive integer. 37. Устройство декодирования, содержащее процессор и постоянную память, при этом процессор выполнен с возможностью вызова программного кода, хранящегося в памяти для осуществления способа декодирования по любому из пп.1-9.37. A decoding device comprising a processor and read-only memory, wherein the processor is configured to call the program code stored in the memory to perform the decoding method according to any one of claims 1-9. 38. Устройство кодирования, содержащее процессор и постоянную память, при этом процессор выполнен с возможностью вызова программного кода, хранящегося в памяти для осуществления способа кодирования по любому из пп.10-18.38. An encoding device comprising a processor and read-only memory, wherein the processor is configured to call the program code stored in the memory to implement the encoding method according to any one of claims 10-18.
RU2020110025A 2017-08-11 2018-08-09 Device, equipment, method for encoding and decoding video images RU2771955C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710687117.5A CN109391814B (en) 2017-08-11 2017-08-11 Method, device and equipment for encoding and decoding video image
CN201710687117.5 2017-08-11
PCT/CN2018/099512 WO2019029590A1 (en) 2017-08-11 2018-08-09 Video image encoding and decoding method, apparatus, and device

Publications (3)

Publication Number Publication Date
RU2020110025A RU2020110025A (en) 2021-09-14
RU2020110025A3 RU2020110025A3 (en) 2021-11-03
RU2771955C2 true RU2771955C2 (en) 2022-05-16

Family

ID=

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785333B2 (en) * 2000-05-24 2004-08-31 Samsung Electronics Co., Ltd. Motion vector coding method
EP1274254A3 (en) * 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US8040950B2 (en) * 2004-03-31 2011-10-18 Samsung Electronics Co., Ltd. Method and apparatus for effectively compressing motion vectors in multi-layer structure
WO2016050051A1 (en) * 2014-09-30 2016-04-07 华为技术有限公司 Image prediction method and relevant device
WO2016184261A1 (en) * 2015-05-15 2016-11-24 华为技术有限公司 Video image coding and decoding method, coding device and decoding device
US9521407B2 (en) * 2011-01-19 2016-12-13 Huawei Technologies Co., Ltd. Method and device for coding and decoding images
RU2627101C2 (en) * 2010-04-09 2017-08-03 Мицубиси Электрик Корпорейшн Moving image coding and decoding devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1274254A3 (en) * 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US6785333B2 (en) * 2000-05-24 2004-08-31 Samsung Electronics Co., Ltd. Motion vector coding method
US8040950B2 (en) * 2004-03-31 2011-10-18 Samsung Electronics Co., Ltd. Method and apparatus for effectively compressing motion vectors in multi-layer structure
RU2627101C2 (en) * 2010-04-09 2017-08-03 Мицубиси Электрик Корпорейшн Moving image coding and decoding devices
US9521407B2 (en) * 2011-01-19 2016-12-13 Huawei Technologies Co., Ltd. Method and device for coding and decoding images
WO2016050051A1 (en) * 2014-09-30 2016-04-07 华为技术有限公司 Image prediction method and relevant device
WO2016184261A1 (en) * 2015-05-15 2016-11-24 华为技术有限公司 Video image coding and decoding method, coding device and decoding device

Similar Documents

Publication Publication Date Title
KR102357575B1 (en) Video image encoding and decoding method, apparatus and device
TWI688262B (en) Overlapped motion compensation for video coding
RU2683165C1 (en) Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
TWI504237B (en) Buffering prediction data in video coding
TW201904285A (en) Enhanced deblocking filtering design in video coding
CN114208197A (en) Block dividing method for video coding and decoding
CN111201791B (en) Interpolation filter for inter-frame prediction apparatus and method for video encoding
CN114143538A (en) Inter-frame prediction method and related video processing device
US11146824B2 (en) Video encoding or decoding methods and apparatuses related to high-level information signaling
KR102094222B1 (en) Reference video encoding method, reference video decoding method, reference video encoding device and reference video decoding device
KR20200005648A (en) Intra prediction mode based image processing method and apparatus therefor
TW202029774A (en) Quantization artifact suppression and signal recovery by the transform domain filtering
CN114868393A (en) Method of performing surround motion compensation
CN115398906A (en) Method for signalling video coding data
CN116456101A (en) Image encoding method, image decoding method and related devices
RU2771955C2 (en) Device, equipment, method for encoding and decoding video images
CN114071161B (en) Image encoding method, image decoding method and related devices
CN116250240A (en) Image encoding method, image decoding method and related devices
JP2014230031A (en) Image encoding device and image encoding program
RU2806278C2 (en) Device and method of video encoding
RU2808688C2 (en) Method and device for image prediction
RU2809673C2 (en) Method and device for image prediction
WO2022110131A1 (en) Inter-frame prediction method and apparatus, and encoder, decoder and storage medium
CN115804095A (en) Intra-frame prediction method in video coding