RU2808688C2 - Method and device for image prediction - Google Patents
Method and device for image prediction Download PDFInfo
- Publication number
- RU2808688C2 RU2808688C2 RU2021118433A RU2021118433A RU2808688C2 RU 2808688 C2 RU2808688 C2 RU 2808688C2 RU 2021118433 A RU2021118433 A RU 2021118433A RU 2021118433 A RU2021118433 A RU 2021118433A RU 2808688 C2 RU2808688 C2 RU 2808688C2
- Authority
- RU
- Russia
- Prior art keywords
- unit
- motion
- image block
- block
- current image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 120
- 230000033001 locomotion Effects 0.000 claims abstract description 677
- 239000013598 vector Substances 0.000 claims abstract description 268
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 168
- 239000011159 matrix material Substances 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 9
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Abstract
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES
[0001] Настоящее изобретение относится к области обработки видео изображения и, в частности, к способу и устройству предсказания изображения.[0001] The present invention relates to the field of video image processing and, in particular, to an image prediction method and apparatus.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИBACKGROUND ART
[0002] С быстрым развитием Интернет-технологий и ростом разнообразия в материальной и духовной культуре людей, увеличиваются требования к Интернету для приложений видео, особенно для приложений видео высокой четкости. Однако видео высокой четкости имеет очень большой объем данных. Для передачи видео высокой четкости по Интернету при ограниченной ширине полосы, первой проблемой, которую необходимо решить, является сжатие и кодирование видео высокой четкости. В настоящее время существуют две международные организации, которые занимаются разработкой стандартов кодирования видео, то есть, Экспертная группа по движущимся изображениям (Moving Picture Experts Group, кратко ʺMPEGʺ) Международной организации по стандартизации (International Organization for Standardization, кратко ʺISOʺ)/Международной электротехнической комиссии (International Electrotechnical Commission, кратко ʺIECʺ) и Экспертная группа по кодированию видео (Video Coding Experts Group, кратко ʺVCEGʺ) Комитета по телекоммуникациями Международного союза электросвязи (International Telecommunication Union-Telecommunication standardization sector, кратко ʺITU-Tʺ). MPEG, учрежденная в 1986, является ответственной за разработку связанных стандартов в области мультимедиа, которые главным образом применимы для хранения, вещания телевизионных программ, потоковой передачи медиа по Интернету или беспроводным сетям и т.п. ITU-T главным образом разрабатывает стандарты кодирования видео для области передач видео в реальном времени, например, радиотелефонии, видео конференций или других приложений.[0002] With the rapid development of Internet technology and the increasing diversity in people's material and spiritual culture, the Internet requirements for video applications, especially for high-definition video applications, are increasing. However, high definition video has a very large amount of data. To transmit high-definition video over the Internet with limited bandwidth, the first problem that needs to be solved is the compression and encoding of high-definition video. Currently, there are two international organizations that are involved in developing video encoding standards, i.e., the Moving Picture Experts Group (MPEG) of the International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC). International Electrotechnical Commission (IEC) and the Video Coding Experts Group (VCEG) of the International Telecommunication Union-Telecommunication standardization sector (ITU-T). MPEG, established in 1986, is responsible for developing related multimedia standards that are primarily applicable to storage, broadcasting television programs, streaming media over the Internet or wireless networks, and the like. ITU-T primarily develops video coding standards for the field of real-time video transmissions, such as radiotelephony, video conferencing, or other applications.
[0003] В последние десятилетия были успешно разработаны международные стандарты кодирования видео для различных приложений, главным образом включающие в себя: стандарт 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ʺ).[0003] In recent decades, international video encoding standards have been successfully developed for various applications, mainly including: MPEG-1 standard for Video Compact Disc (VCD), MPEG-2 standard for Digital Video Disc ( digital video disc (abbreviated as “DVD”) and digital video broadcasting (abbreviated as “DVB”), the H.261 standard, the H.263 standard and the H.264 standard for video conferencing, the MPEG-4 standard, which allows encoding of objects in any form, and the latest High Efficiency Video Coding (HEVC) standard.
[0004] По сравнению с последним стандартом кодирования видео, HEVC, для последовательности, включающей в себя движения поворота и изменения масштаба, технология предсказания с компенсацией движения с полем вектора движения, основанным на линейных изменениях, может существенным образом повысить эффективность кодирования. В существующей технологии предсказания с компенсацией движения, основанной на аффинном преобразовании, после того как получен параметр аффинного преобразования блока изображения, требуется вычислять вектор движения каждой точки в блоке изображения, и предсказание с компенсацией движения требуется выполнять в соответствии с вектором движения точки, чтобы получить сигнал предсказания с компенсацией движения каждой точки.[0004] Compared with the latest video encoding standard, HEVC, for a sequence including rotation and zoom movements, motion-compensated prediction technology with a motion vector field based on linear changes can significantly improve encoding efficiency. In the existing motion compensation prediction technology based on affine transformation, after the affine transformation parameter of an image block is obtained, the motion vector of each point in the image block is required to be calculated, and motion compensation prediction is required to be performed according to the motion vector of the point to obtain the signal predictions with compensation for the movement of each point.
[0005] Модель движения, основанная на аффинном преобразовании, является способом для эффективного кодирования движений поворота и изменения масштаба. Вектор движения каждого пиксела в подлежащем обработке блоке изображения может быть получен с использованием векторов движения четырех вершин блока. Для движений, включающих в себя только поворот и изменение масштаба, модель аффинного преобразования может быть получена путем получения только векторов движения любых двух контрольных точек в подлежащем обработке блоке изображения. Параметр модели аффинного преобразования вычисляется с использованием вектора движения контрольной точки, чтобы получить вектор движения каждой пиксельной точки в текущем блоке. Стоимость искажения в зависимости от скорости для аффинного режима предсказания движения сопоставима со стоимостью искажения в зависимости от скорости для внутрикадрового режима предсказания в стандарте кодирования видео. Если стоимость искажения в зависимости от скорости для аффинного режима предсказания движения меньше, аффинный режим предсказания движения используется для кодирования подлежащего обработке блока изображения. Такой блок упоминается как аффинный блок предсказания движения, а соответствующая единица предсказания упоминается как аффинная единица предсказания движения. Кроме того, информация движения четырех вершин аффинного блока предсказания движения и информация движения центрального положения сохраняются в базовой единице с размером 4×4. Значение вектора движения центрального положения является средним значением значений векторов движения двух контрольных точек. Информация движения включает в себя вектор движения, индекс опорного кадра, направление предсказания и т.п.[0005] An affine transformation based motion model is a method for efficiently encoding rotation and scaling motions. The motion vector of each pixel in an image block to be processed can be obtained using the motion vectors of the four vertices of the block. For motions involving only rotation and scaling, an affine transformation model can be obtained by obtaining only the motion vectors of any two control points in the image block to be processed. The affine transformation model parameter is calculated using the motion vector of the reference point to obtain the motion vector of each pixel point in the current block. The rate-based distortion cost for the affine motion prediction mode is comparable to the rate-based distortion cost for the intra-frame prediction mode in the video coding standard. If the rate-based distortion cost of the affine motion prediction mode is less, the affine motion prediction mode is used to encode the image block to be processed. Such a block is referred to as an affine motion prediction block, and the corresponding prediction unit is referred to as an affine motion prediction unit. In addition, the motion information of the four vertices of the affine motion prediction block and the motion information of the center position are stored in a base unit with size 4x4. The center position motion vector value is the average of the motion vector values of the two control points. The motion information includes a motion vector, a reference frame index, a prediction direction, and the like.
[0006] Чтобы повысить эффективность кодирования, информация движения блока, смежного с подлежащим обработке блоком изображения, может быть непосредственно повторно использована в качестве информации движения контрольной точки в подлежащем обработке блоке изображения, не требуя дополнительного выполнения поиска движения с использованием вектора движения смежного блока в качестве начальной точки поиска и кодирования разности векторов движения, уменьшая количество битов, используемых для кодирования разности векторов движения. Такой способ имеет относительно высокое требование к точности информации вектора движения смежного блока, повторно используемого для текущего блока, но точность информации вектора движения смежного блока не может быть обеспечена в предшествующем уровне техники. Следовательно, эффективность кодирования не может быть повышена.[0006] To improve encoding efficiency, motion information of a block adjacent to an image block to be processed can be directly reused as reference point motion information in the image block to be processed without requiring additional motion search performance using the motion vector of the adjacent block as starting point for searching and encoding the motion vector difference, reducing the number of bits used to encode the motion vector difference. This method has a relatively high requirement for the accuracy of the motion vector information of the adjacent block reused for the current block, but the accuracy of the motion vector information of the adjacent block cannot be ensured in the prior art. Therefore, the coding efficiency cannot be improved.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯBRIEF DESCRIPTION OF THE INVENTION
[0007] Настоящее изобретение обеспечивает способ и устройство предсказания изображения для повышения эффективности кодирования.[0007] The present invention provides an image prediction method and apparatus for improving coding efficiency.
[0008] В соответствии с первым аспектом, предложен способ предсказания изображения, содержащий этапы, на которых:[0008] According to a first aspect, an image prediction method is provided, comprising the steps of:
получают первую реперную единицу для единицы изображения, при этом соответственные предсказанные изображения получаются для единицы изображения и первой реперной единицы посредством использования одной и той же аффинной модели;obtaining a first fiducial unit for the image unit, wherein corresponding predicted images are obtained for the image unit and the first fiducial unit by using the same affine model;
получают информацию движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и obtaining motion information of motion compensation base units at two or more preset positions in the first reference unit; And
получают информацию движения базовой единицы компенсации движения единицы изображения в соответствии с этой информацией движения.obtaining motion information of the motion compensation base unit of the image unit according to the motion information.
[0009] Со ссылкой на первый аспект, в первой возможной реализации первого аспекта, получение первой реперной единицы для единицы изображения содержащий этапы, на которых:[0009] With reference to the first aspect, in a first possible implementation of the first aspect, obtaining a first reference unit for an image unit comprising the steps of:
проверяют, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; иchecking, in a predetermined order, whether a predicted image for a prediction unit adjacent to the image unit is obtained using the affine model; And
если предсказанное изображение получено для единицы предсказания, смежной с единицей изображения, посредством использования упомянутой аффинной модели, останавливают данную проверку и используют единицу предсказания в качестве первой реперной единицы.if a predicted image is obtained for a prediction unit adjacent to the image unit by using said affine model, stop this check and use the prediction unit as the first reference unit.
[0010] Со ссылкой на первый аспект, во второй возможной реализации первого аспекта, предварительно установленным положением является положение угловой точки единицы в первой реперной единице.[0010] With reference to the first aspect, in a second possible implementation of the first aspect, the preset position is the position of the corner point of the unit in the first reference unit.
[0011] Со ссылкой на любое одно из первого аспекта, первой возможной реализации первого аспекта или второй возможной реализации первого аспекта, в третьей возможной реализации первого аспекта, упомянутое получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит получение информации движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и,[0011] With reference to any one of the first aspect, the first possible implementation of the first aspect or the second possible implementation of the first aspect, in the third possible implementation of the first aspect, said obtaining motion information of base motion compensation units at two or more preset positions in the first reference unit comprises obtaining motion information of motion compensation base units at three preset positions in the first reference unit, and,
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит этап, на котором получают направление предсказания, индекс опорного кадра и вектор движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих трех предварительно установленных положениях в первой реперной единице.Accordingly, said acquisition of motion information of an image unit motion compensation base unit according to the motion information comprises a step of obtaining a prediction direction, a reference frame index, and a motion vector of an image unit motion compensation base unit in accordance with the prediction directions, reference frame indices, and motion vectors. base motion compensation units at these three preset positions in the first reference unit.
[0012] Со ссылкой на третью возможную реализацию первого аспекта, в четвертой возможной реализации первого аспекта, упомянутое получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице содержит этапы, на которых:[0012] With reference to the third possible implementation of the first aspect, in the fourth possible implementation of the first aspect, said obtaining the prediction direction, reference frame index and motion vector of the base unit of image unit motion compensation in accordance with the prediction directions, reference frame indices and motion vectors of the base units compensation of movement in three preset positions in the first reference unit contains the stages in which:
назначают одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at the three preset positions in the first reference unit;
назначают один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at the three preset positions in the first reference unit; And
получают вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице.obtaining a motion vector of the image unit motion compensation base unit by interpolation in accordance with the motion vectors of the motion compensation base units at the three preset positions in the first reference unit.
[0013] Со ссылкой на четвертую возможную реализацию первого аспекта, в пятой возможной реализации первого аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:[0013] With reference to the fourth possible implementation of the first aspect, in the fifth possible implementation of the first aspect, the said acquisition of the motion vector of the motion compensation base unit of the image unit by interpolation in accordance with the motion vectors of the motion compensation base units at three preset positions in the first reference unit is implemented in the following way:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , , и , , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице, и , , и , , являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, , , And , , are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at said three preset positions in the first reference unit, and , , And , , are the corresponding horizontal and vertical motion vectors.
[0014] Со ссылкой на любое одно из первого аспекта, первой возможной реализации первого аспекта или второй возможной реализации первого аспекта, в шестой возможной реализации первого аспекта, упомянутое получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит получение информации движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и[0014] With reference to any one of the first aspect, the first possible implementation of the first aspect or the second possible implementation of the first aspect, in the sixth possible implementation of the first aspect, said obtaining motion information of base motion compensation units at two or more preset positions in the first reference unit comprises obtaining motion information of motion compensation base units at two preset positions in the first reference unit; And
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит этап, на котором получают направление предсказания, индекс опорного кадра и вектор движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих двух предварительно установленных положениях в первой реперной единице.Accordingly, said acquisition of motion information of an image unit motion compensation base unit according to the motion information comprises a step of obtaining a prediction direction, a reference frame index, and a motion vector of an image unit motion compensation base unit in accordance with the prediction directions, reference frame indices, and motion vectors. base motion compensation units at these two preset positions in the first reference unit.
[0015] Со ссылкой на шестую возможную реализацию первого аспекта, в седьмой возможной реализации первого аспекта, упомянутое получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице содержит этапы, на которых:[0015] With reference to the sixth possible implementation of the first aspect, in the seventh possible implementation of the first aspect, said obtaining the prediction direction, reference frame index and motion vector of the base unit of image unit motion compensation in accordance with the prediction directions, reference frame indices and motion vectors of the base units compensation of movement in two preset positions in the first reference unit contains the stages in which:
назначают одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at the two preset positions in the first reference unit;
назначают один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at the two preset positions in the first reference unit; And
получают вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице.obtaining a motion vector of the image unit motion compensation base unit by interpolation in accordance with the motion vectors of the motion compensation base units at the two preset positions in the first reference unit.
[0016] Со ссылкой на седьмую возможную реализацию первого аспекта, в восьмой возможной реализации первого аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:[0016] With reference to the seventh possible implementation of the first aspect, in the eighth possible implementation of the first aspect, the said acquisition of the motion vector of the motion compensation base unit of the image unit by interpolation in accordance with the motion vectors of the motion compensation base units at two preset positions in the first reference unit is implemented in the following way:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице, и , и , являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, , And , are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at said two preset positions in the first reference unit, and , And , are the corresponding horizontal and vertical motion vectors.
[0017] В соответствии со вторым аспектом, предложено устройство предсказания изображения, включающее в себя:[0017] According to a second aspect, there is provided an image prediction device including:
первый модуль получения, сконфигурированный получать единицу для единицы изображения, при этом соответственные предсказанные изображения получаются для единицы изображения и первой реперной единицы посредством использования одной и той же аффинной модели;a first acquisition module configured to obtain a unit for the image unit, wherein corresponding predicted images are obtained for the image unit and the first reference unit by using the same affine model;
второй модуль получения, сконфигурированный получать информацию движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; иa second acquisition module configured to receive motion information of motion compensation reference units at two or more preset positions in the first reference unit; And
третий модуль получения, сконфигурированный получать информацию движения базовой единицы компенсации движения единицы изображения в соответствии с информацией положения и упомянутой информацией движения.a third acquisition module configured to obtain motion information of the base unit of motion compensation of the image unit in accordance with the position information and said motion information.
[0018] Со ссылкой на второй аспект, в первой возможной реализации второго аспекта, первый модуль получения сконфигурирован:[0018] With reference to the second aspect, in a first possible implementation of the second aspect, the first acquisition module is configured:
проверять, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; иcheck, in a predetermined order, whether a predicted image is obtained for a prediction unit adjacent to the image unit using the affine model; And
если предсказанное изображение получено для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели, останавливать данную проверку и использовать единицу предсказания в качестве первой реперной единицы.if a predicted image is obtained for a prediction unit adjacent to the image unit using the affine model, stop this check and use the prediction unit as the first reference unit.
[0019] Со ссылкой на второй аспект, во второй возможной реализации второго аспекта, предварительно установленным положением является положение угловой точки единицы в первой реперной единице.[0019] With reference to the second aspect, in a second possible implementation of the second aspect, the preset position is the position of the corner point of the unit in the first reference unit.
[0020] Со ссылкой на любое одно из второго аспекта, первой возможной реализации второго аспекта или второй возможной реализации второго аспекта, в третьей возможной реализации второго аспекта, третий модуль получения сконфигурирован получать информацию движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и,[0020] With reference to any one of the second aspect, the first possible implementation of the second aspect, or the second possible implementation of the second aspect, in the third possible implementation of the second aspect, the third acquisition module is configured to receive motion information of base motion compensation units at three preset positions in the first reference unit, and
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих трех предварительно установленных положениях в первой реперной единице.accordingly, said acquisition of motion information of the image unit motion compensation base unit according to the motion information comprises obtaining a prediction direction, a reference frame index, and a motion vector of the image unit motion compensation base unit according to the prediction directions, reference frame indices, and motion vectors of the motion compensation base units at these three preset positions in the first reference unit.
[0021] Со ссылкой на третью возможную реализацию второго аспекта, в четвертой возможной реализации второго аспекта, третий модуль получения дополнительно сконфигурирован:[0021] With reference to the third possible implementation of the second aspect, in the fourth possible implementation of the second aspect, the third acquisition module is further configured:
назначать одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at the three preset positions in the first reference unit;
назначать один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at the three preset positions in the first reference unit; And
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице.obtain a motion vector of the image unit motion compensation base unit by interpolation in accordance with motion vectors of the motion compensation base units at said three preset positions in the first reference unit.
[0022] Со ссылкой на четвертую возможную реализацию второго аспекта, в пятой возможной реализации второго аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:[0022] With reference to the fourth possible implementation of the second aspect, in the fifth possible implementation of the second aspect, the said acquisition of the motion vector of the motion compensation base unit of the image unit by interpolation in accordance with the motion vectors of the motion compensation base units at three preset positions in the first reference unit is implemented in the following way:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , , и , , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице, и , , и , , являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, , , And , , are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at said three preset positions in the first reference unit, and , , And , , are the corresponding horizontal and vertical motion vectors.
[0023] Со ссылкой на любое одно из второго аспекта, первой возможной реализации второго аспекта или второй возможной реализации второго аспекта, в шестой возможной реализации второго аспекта, третий модуль получения дополнительно сконфигурирован получать информацию движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и[0023] With reference to any one of the second aspect, the first possible implementation of the second aspect or the second possible implementation of the second aspect, in the sixth possible implementation of the second aspect, the third acquisition module is further configured to receive motion information of the basic motion compensation units at two preset positions in the first reference unit; And
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих двух предварительно установленных положениях в первой реперной единице.accordingly, said acquisition of motion information of the image unit motion compensation base unit according to the motion information comprises obtaining a prediction direction, a reference frame index, and a motion vector of the image unit motion compensation base unit according to the prediction directions, reference frame indices, and motion vectors of the motion compensation base units at these two preset positions in the first reference unit.
[0024] Со ссылкой на шестую возможную реализацию второго аспекта, в седьмой возможной реализации второго аспекта, третий модуль получения дополнительно сконфигурирован:[0024] With reference to the sixth possible implementation of the second aspect, in the seventh possible implementation of the second aspect, the third acquisition module is further configured:
назначать одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at said two preset positions in the first reference unit;
назначать один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at the two preset positions in the first reference unit; And
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице.obtain a motion vector of the image unit motion compensation base unit by interpolation in accordance with the motion vectors of the motion compensation base units at said two preset positions in the first reference unit.
[0025] Со ссылкой на седьмую возможную реализацию второго аспекта, в восьмой возможной реализации второго аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:[0025] With reference to the seventh possible implementation of the second aspect, in the eighth possible implementation of the second aspect, the said acquisition of the motion vector of the motion compensation base unit of the image unit by interpolation in accordance with the motion vectors of the motion compensation base units at two preset positions in the first reference unit is implemented in the following way:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице, и , и , являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, , And , are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at said two preset positions in the first reference unit, and , And , are the corresponding horizontal and vertical motion vectors.
[0026] На основе вышеописанных технических решений, в соответствии со способом и устройством предсказания изображения в вариантах осуществления настоящего изобретение, информация движения первой реперной единицы, использующей ту же самую аффинную модель предсказания, используется повторно, и поэтому получается более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым повышается эффективность кодирования и декодирования.[0026] Based on the above-described technical solutions, according to the image prediction method and apparatus in embodiments of the present invention, the motion information of the first reference unit using the same affine prediction model is reused, and therefore a more accurate motion vector of the current image unit is obtained without encoding and decoding the difference of motion vectors and without additional search for a high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the complexity of encoding and decoding, thereby increasing the efficiency of encoding and decoding.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0027] Для более четкого описания технических решений в вариантах осуществления настоящего изобретения, ниже приведено краткое описание приложенных чертежей, необходимых для описания вариантов осуществления или предшествующего уровня техники. Очевидно, что приложенные чертежи в последующем описании показывают только некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники сможет получить другие чертежи на основе этих приложенных чертежей без приложения творческих усилий.[0027] To more clearly describe the technical solutions in the embodiments of the present invention, the following is a brief description of the accompanying drawings necessary to describe the embodiments or prior art. It will be appreciated that the accompanying drawings in the following description show only some embodiments of the present invention, and one skilled in the art will be able to derive other drawings from the accompanying drawings without creative effort.
[0028] Фиг. 1 является блок-схемой последовательности операций способа предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;[0028] FIG. 1 is a flowchart of an image prediction method according to an embodiment of the present invention;
[0029] Фиг. 2 является схематичным представлением потенциально подходящих единиц предсказания (единиц предсказания-кандидатов) в соответствии с вариантом осуществления настоящего изобретения;[0029] FIG. 2 is a schematic representation of potentially suitable prediction units (candidate prediction units) in accordance with an embodiment of the present invention;
[0030] Фиг. 3 является схематичным представлением аффинного блока изображения и контрольных точек в соответствии с вариантом осуществления настоящего изобретения;[0030] FIG. 3 is a schematic diagram of an affine image block and reference points in accordance with an embodiment of the present invention;
[0031] Фиг. 4 является другой блок-схемой последовательности операций способа предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;[0031] FIG. 4 is another flowchart of an image prediction method according to an embodiment of the present invention;
[0032] Фиг. 5 является блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;[0032] FIG. 5 is a block diagram of an image prediction apparatus according to an embodiment of the present invention;
[0033] Фиг. 6 является другой блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;[0033] FIG. 6 is another block diagram of an image prediction apparatus according to an embodiment of the present invention;
[0034] Фиг. 7 является другой блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящее изобретение; и[0034] FIG. 7 is another block diagram of an image prediction apparatus according to an embodiment of the present invention; And
[0035] Фиг. 8 является другой блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.[0035] FIG. 8 is another block diagram of an image prediction apparatus according to an embodiment of the present invention.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯDESCRIPTION OF IMPLEMENTATION OPTIONS
[0036] Нижеследующее описывает с полнотой и ясностью технические решения в вариантах осуществления настоящего изобретения со ссылкой на приложенные чертежи в вариантах осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления являются некоторыми, но не всеми из вариантов осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистом в данной области техники на основе вариантов осуществления настоящего изобретения без приложения творческих усилий, будут входить в объем защиты настоящего изобретения.[0036] The following describes in completeness and clarity the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. It will be appreciated that the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments derived by one skilled in the art from the embodiments of the present invention without creative efforts will fall within the scope of protection of the present invention.
[0037] Должно быть понятно, что, в вариантах осуществления настоящего изобретения, используется аффинная модель поворота и изменения масштаба, основанная на двух контрольных точках в каждой единице предсказания (четыре параметра), или может использоваться аффинная модель поворота и изменения масштаба, основанная на трех контрольных точках в каждой единице предсказания (шесть параметров), или может использоваться перспективная аффинная модель, основанная на четырех контрольных точках в каждой единице предсказания (восемь параметров) или т.п., и никакие ограничения не накладываются на это.[0037] It should be understood that, in embodiments of the present invention, an affine rotation and scale model based on two control points in each prediction unit (four parameters) is used, or an affine rotation and scale model based on three control points in each prediction unit (six parameters), or a forward affine model based on four control points in each prediction unit (eight parameters) or the like may be used, and no restrictions are placed on it.
[0038] Должно быть понятно, что базовая единица компенсации движения является минимальной единицей для выполнения компенсации движения, и единица имеет равномерную информацию движения. В вариантах осуществления настоящего изобретения, пиксельная точка используется как базовая единица компенсации движения, или пиксельная матрица или т.п. может быть использована как базовая единица компенсации движения, и никакое ограничение не накладывается на это.[0038] It should be understood that the basic motion compensation unit is the minimum unit for performing motion compensation, and the unit has uniform motion information. In embodiments of the present invention, a pixel dot is used as a basic motion compensation unit, or a pixel matrix or the like. can be used as a basic motion compensation unit, and no restriction is placed on it.
[0039] Должно быть понятно, что в 4-параметрической аффинной модели, из информации движения любых двух базовых единиц компенсации движения, может быть интерполирована информация движения всех единиц компенсации движения в аффинной единице предсказания движения, в которой локализованы две базовые единицы компенсации движения. Предпочтительно, более точная интерполированная информация движения может быть получена путем выбора базовых единиц компенсации движения в любых двух угловых точках единицы в аффинной единице предсказания движения. Положение угловой точки единицы является точкой, в которой сходятся две смежные стороны аффинной единицы предсказания движения, то есть первой реперной единицы. Например, если аффинная единица предсказания движения является треугольником, угловые точки единицы являются тремя вершинами треугольника; если аффинная единица предсказания движения является четырехугольником, угловыми точками единицы являются четыре вершины четырехугольника, и т.д. В вариантах осуществления, для простоты описания, базовые единицы компенсации движения, из которых интерполируется информация движения всех единиц компенсации движения в аффинной единице предсказания движения, упоминаются как контрольные точки.[0039] It should be understood that in a 4-parameter affine model, from the motion information of any two motion compensation base units, the motion information of all motion compensation units in the motion prediction affine unit in which the two motion compensation base units are localized can be interpolated. Preferably, more accurate interpolated motion information can be obtained by selecting motion compensation base units at any two corner points of the unit in the affine motion prediction unit. The position of the corner point of the unit is the point at which two adjacent sides of the affine motion prediction unit, that is, the first reference unit, converge. For example, if the affine motion prediction unit is a triangle, the corner points of the unit are the three vertices of the triangle; if the affine motion prediction unit is a quadrilateral, the corner points of the unit are the four vertices of the quadrilateral, etc. In embodiments, for ease of description, the basic motion compensation units from which the motion information of all motion compensation units in the affine motion prediction unit are interpolated are referred to as reference points.
[0040] Вариант осуществления настоящего изобретения обеспечивает способ предсказания изображения, который реализован декодером. Способ, в частности, включает в себя следующие этапы:[0040] An embodiment of the present invention provides an image prediction method that is implemented by a decoder. The method, in particular, includes the following steps:
получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели;obtaining a first fiducial unit for the image unit, wherein corresponding predicted images are obtained for the image unit and the first fiducial unit using the same affine model;
получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; иobtaining motion information of motion compensation base units at two or more predetermined positions in the first reference unit; And
получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.obtaining motion information of the motion compensation base unit of the image unit according to the motion information.
[0041] В соответствии со способом и устройством предсказания изображения в этом варианте осуществления настоящего изобретения, информация движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, используется повторно, и поэтому более точный вектор движения текущей единицы изображения получается без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым повышается эффективность кодирования и декодирования.[0041] According to the image prediction method and apparatus in this embodiment of the present invention, the motion information of the first reference unit using the same affine motion prediction model is reused, and therefore a more accurate motion vector of the current image unit is obtained without encoding and decoding differences between motion vectors and without additional search for a high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the complexity of encoding and decoding, thereby increasing the efficiency of encoding and decoding.
[0042] Предпочтительно, предварительно установленное положение представляет собой положение угловой точки единицы в первой реперной единице, и положение угловой точки является точкой, в которой сходятся две смежные стороны первой реперной единицы.[0042] Preferably, the preset position is a position of a corner point of a unit in the first reference unit, and the position of the corner point is a point at which two adjacent sides of the first reference unit converge.
[0043] Предпочтительно, например, получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице включает в себя:[0043] Preferably, for example, obtaining motion information of motion compensation base units at two or more preset positions in the first reference unit includes:
получение информации движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице; и соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения включает в себя: получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.obtaining motion information of motion compensation base units at three preset positions in the first reference unit; and accordingly, obtaining motion information of the base image unit motion compensation unit in accordance with the motion information includes: obtaining the prediction direction, reference frame index and motion vector of the base image unit motion compensation unit in accordance with the prediction directions, reference frame indices and motion vectors of the base units motion compensation units at three preset positions in the first reference unit.
[0044] Получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице может включать в себя:[0044] Obtaining the prediction direction, reference frame index, and motion vector of the motion compensation base unit of an image unit according to the prediction directions, reference frame indices, and motion vectors of the motion compensation base units at three preset positions in the first reference unit may include:
назначение того же самого направления предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; назначение того же самого индекса опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; и получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at three preset positions in the first reference unit; assigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at three preset positions in the first reference unit; and obtaining a motion vector of the motion compensation base unit of the image unit by interpolation according to the motion vectors of the motion compensation base units at three preset positions in the first reference unit.
[0045] Получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:[0045] Obtaining the motion vector of the image unit motion compensation base unit by interpolation in accordance with the motion vectors of the motion compensation base units at three preset positions in the first reference unit is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения. [0046] Приведенные выше формулы, которые используются для получения вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции, являются обычными формулами, которые используются для выполнения интерполяции в соответствии с информацией движения базовых единиц компенсации движения в любых выбранных предварительно установленных положениях в первой реперной единице. В конкретном варианте осуществления, формулы могут быть упрощены для различных сценариев применения в соответствии с особенностями выбранных предварительно установленных положений. Например, в конкретном варианте осуществления настоящего изобретения, верхняя левая, нижняя левая и верхняя правая угловые точки единицы в единице выбраны в качестве предварительно установленных положений, и формулы упрощены к следующему виду:Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at three preset positions in the first reference unit, and , And And , And are the corresponding horizontal and vertical motion vectors. [0046] The above formulas that are used to obtain the motion vector of the image unit motion compensation base unit by interpolation are conventional formulas that are used to perform interpolation according to the motion information of the motion compensation base units at any selected preset positions in the first reference unit . In a particular embodiment, the formulas can be simplified for different application scenarios in accordance with the characteristics of the selected preset provisions. For example, in a specific embodiment of the present invention, the upper left, lower left and upper right corner points of the unit in the unit are selected as preset positions, and the formulas are simplified to the following form:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0047] Альтернативно, например, способ включает в себя:[0047] Alternatively, for example, the method includes:
получение информации движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения включает в себя: получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.obtaining motion information of motion compensation base units at two preset positions in the first reference unit; and accordingly, obtaining motion information of the base image unit motion compensation unit in accordance with the motion information includes: obtaining the prediction direction, reference frame index and motion vector of the base image unit motion compensation unit in accordance with the prediction directions, reference frame indices and motion vectors of the base units motion compensation units at two preset positions in the first reference unit.
[0048] Получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:[0048] Obtaining the motion vector of the image unit motion compensation base unit by interpolation in accordance with the motion vectors of the motion compensation base units at two preset positions in the first reference unit is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, And And And are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at two preset positions in the first reference unit, and And And And are the corresponding horizontal and vertical motion vectors.
[0049] Приведенные выше формулы, которые используются для получения вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции, являются обычными формулами, которые используются для выполнения интерполяции в соответствии с информацией движения базовых единиц компенсации движения в любых выбранных предварительно установленных положениях в первой реперной единице. В конкретном варианте осуществления, формулы могут быть упрощены для различных сценариев применения в соответствии с особенностями выбранных предварительно установленных положений. Например, в конкретном варианте осуществления настоящего изобретения, верхняя левая и верхняя правая угловые точки единицы в единице выбраны в качестве предварительно установленных положений, и формулы упрощены к следующему виду:[0049] The above formulas that are used to obtain the motion vector of the image unit motion compensation base unit by interpolation are conventional formulas that are used to perform interpolation according to the motion information of the motion compensation base units at any selected preset positions in the first reference unit . In a particular embodiment, the formulas can be simplified for different application scenarios in accordance with the characteristics of the selected preset provisions. For example, in a specific embodiment of the present invention, the upper left and upper right corner points of the unit in the unit are selected as preset positions, and the formulas are simplified to the following form:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в аффинной единице предсказания движения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of two control points in the affine motion prediction unit, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0050] Кроме того, настоящее изобретение дополнительно обеспечивает способ предсказания изображения, применимый к процессу кодирования. Способ предсказания изображения, применимый к процессу кодирования, является тем же самым, что и вышеописанный способ предсказания изображения, применимый к процессу декодирования. Поэтому может быть получен тот же самый результат повышения эффективности кодирования.[0050] Moreover, the present invention further provides an image prediction method applicable to an encoding process. The image prediction method applicable to the encoding process is the same as the above-described image prediction method applicable to the decoding process. Therefore, the same result of improving encoding efficiency can be obtained.
[0051] Нижеследующее описывает конкретные реализации настоящего изобретения с использованием конкретных примеров.[0051] The following describes specific implementations of the present invention using specific examples.
[0052] Фиг. 1 является блок-схемой последовательности операций способа предсказания изображения в соответствии с вариантом осуществления настоящего изобретение. Способ, показанный на фиг. 1, может быть выполнен устройством декодирования, таким как декодер.[0052] FIG. 1 is a flowchart of an image prediction method according to an embodiment of the present invention. The method shown in FIG. 1 may be performed by a decoding device such as a decoder.
[0053] Более конкретно, как показано на фиг. 1, способ 1000 включает в себя следующие этапы.[0053] More specifically, as shown in FIG. 1,
[0054] S1100. Считывание битового потока и синтаксический анализ битового потока, чтобы получить синтаксический элемент, причем синтаксический элемент используется, чтобы определить, использует ли повторно подлежащий обработке блок изображения информацию движения аффинной модели смежного блока. Когда определено, что подлежащий обработке блок изображения повторно использует информацию движения аффинной модели смежного блока, процесс переходит к этапу S1200.[0054] S1100. Reading the bitstream and parsing the bitstream to obtain a syntax element, wherein the syntax element is used to determine whether an image block to be processed reuses motion information of an affine model of an adjacent block. When it is determined that the image block to be processed reuses the motion information of the affine model of the adjacent block, the process proceeds to step S1200.
[0055] S1200. Определение аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.[0055] S1200. Definition of an affine motion prediction unit that is used as a reference for the image block to be processed.
[0056] Первый конкретный способ реализации 1210 этапа включает в себя следующие этапы:[0056] The first specific method of implementing step 1210 includes the following steps:
[0057] S1211. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.[0057] S1211. Determining a set of candidate prediction units for the image block to be processed.
[0058] Как показано на фиг. 2, в этом варианте осуществления настоящего изобретения, единицы предсказания, в которых блоки 4×4 в пяти положениях A, B, C, D и E, которые являются пространственно смежными с подлежащим обработке блоком изображения, соответственно локализуются и выбираются для формирования набора. Должно быть понятно, что, альтернативно, могут быть выбраны некоторые из положений A, B, C, D и E, или могут быть выбраны единицы предсказания, в которых локализованы другие блоки, смежные во временной области с подлежащим обработке блоком изображения, для формирования набора, и никакие ограничения не накладываются на это.[0058] As shown in FIG. 2, in this embodiment of the present invention, prediction units in which 4x4 blocks at five positions A, B, C, D and E that are spatially adjacent to the image block to be processed are respectively localized and selected to form a set. It should be understood that, alternatively, some of the positions A, B, C, D and E may be selected, or prediction units in which other blocks adjacent in the time domain to the image block to be processed may be selected to form a set , and no restrictions are placed on it.
[0059] S1212. Проверка, в предварительно установленном порядке, того, является ли единица предсказания в наборе аффинной единицей предсказания движения.[0059]S1212. Checking, in a predetermined order, whether a prediction unit in a set is an affine motion prediction unit.
[0060] Предварительно установленный порядок является порядком, который предварительно определен в протоколе сторонами кодирования и декодирования и поддерживается согласованным между сторонами кодирования и декодирования. В этом варианте осуществления настоящего изобретения, предварительно установленным порядком является A, B, C, D и E. Должно быть понятно, что, альтернативно, предварительно установленным порядком может быть B, D, A, E и C или другой порядок, и никакие ограничения не накладываются на это.[0060] A predetermined order is an order that is predetermined in the protocol by the encoding and decoding parties and is kept consistent between the encoding and decoding parties. In this embodiment of the present invention, the preset order is A, B, C, D and E. It should be understood that, alternatively, the preset order may be B, D, A, E and C or other order, and no restrictions do not overlap with this.
[0061] S1213. Если найдено, что единица предсказания является аффинной единицей предсказания движения, проверка останавливается, и единица предсказания используется как аффинная единица предсказания движения, на которую ссылается подлежащий обработке блок изображения.[0061] S1213. If the prediction unit is found to be an affine motion prediction unit, the check is stopped and the prediction unit is used as the affine motion prediction unit referenced by the image block to be processed.
[0062] Второй конкретный способ реализации 1220 этапа включает в себя следующие этапы.[0062] A second specific method of implementing step 1220 includes the following steps.
[0063] S1221. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.[0063] S1221. Determining a set of candidate prediction units for the image block to be processed.
[0064] В дополнение к тому же способу определения набора, что и в S1211, способ может дополнительно включать в себя: удаление из набора неаффинной единицы предсказания движения в наборе. Например, набор, определенный с использованием способа определения согласно S1211, включает в себя единицы предсказания, в которых локализованы A, B, C, D и E; и единицы предсказания, в которых локализованы C и D, являются неаффинными единицами предсказания движения. Поэтому C и D удаляются из набора, и определенный набор единиц предсказания-кандидатов включает в себя единицы предсказания, в которых локализованы A, B и E.[0064] In addition to the same set determination method as in S1211, the method may further include: removing from the set a non-affine motion prediction unit in the set. For example, the set determined using the determination method according to S1211 includes prediction units in which A, B, C, D and E are located; and the prediction units in which C and D are localized are non-affine motion prediction units. Therefore, C and D are removed from the set, and a particular set of candidate prediction units includes prediction units in which A, B, and E are located.
[0065] Альтернативно, способ может включать в себя: ограничение емкости набора и удаление из набора единицы предсказания-кандидата, для которой порядок проверки занимает место за пределами допустимого количества единиц предсказания-кандидатов. Например, количество единиц предсказания-кандидатов в наборе установлено на 2 максимум, а набор, который соответствует порядку проверки и который определен с использованием способа определения согласно S1211 в соответствии с порядком проверки согласно S1212, представляет собой A, D, C, E и B. Поэтому, C, E и B удаляются из набора, и определенный набор единиц предсказания-кандидатов включает в себя единицы предсказания, в которых локализованы A и D. Должно быть понятно, что, емкость набора может быть установлена на 3 или 4, или может не ограничиваться, если емкость находится в пределах диапазона, который больше, чем 0, но меньше или равен максимальному количеству единиц предсказания-кандидатов, определенных с использованием способа определения согласно S1211.[0065] Alternatively, the method may include: limiting the capacity of the set and removing from the set a candidate prediction unit for which the test order ranks outside the allowed number of candidate prediction units. For example, the number of candidate prediction units in a set is set to 2 at most, and the set that corresponds to the test order and which is determined using the determination method of S1211 in accordance with the test order of S1212 is A, D, C, E, and B. Therefore, C, E and B are removed from the set, and the particular set of candidate prediction units includes prediction units in which A and D are located. It should be understood that the capacity of the set may be set to 3 or 4, or may not be limited if the capacity is within a range that is greater than 0 but less than or equal to the maximum number of candidate prediction units determined using the determination method of S1211.
[0066] Альтернативно, вышеуказанные два способа определения набора могут быть использованы в комбинации.[0066] Alternatively, the above two set determination methods can be used in combination.
[0067] S1222. Считывание битового потока и синтаксический анализ битового потока, чтобы получить синтаксический элемент, причем синтаксический элемент используется для указания индексной информации аффинной единицы предсказания движения, которая находится в наборе единиц предсказания-кандидатов, и которая используется в качестве репера для подлежащего обработке блока изображения.[0067] S1222. Reading the bitstream and parsing the bitstream to obtain a syntax element, wherein the syntax element is used to indicate index information of an affine motion prediction unit that is in a set of candidate prediction units, and which is used as a reference for an image block to be processed.
[0068] S1223. Определение, в соответствии с индексной информацией, аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.[0068] S1223. Determining, in accordance with the index information, an affine motion prediction unit that is used as a reference for the image block to be processed.
[0069] Например, если набор единиц предсказания-кандидатов включает в себя две единицы предсказания-кандидата A и B, индекс A равен 0, и индекс B равен 1. Битовый поток считывается и синтаксически анализируется, чтобы получить индексную информацию. Если индексная информация равна 0, аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения, является единица предсказания, в которой локализовано A; если индексная информация равна 1, аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения, является единица предсказания, в которой локализовано B.[0069] For example, if the set of candidate prediction units includes two candidate prediction units A and B, the index of A is 0, and the index of B is 1. The bit stream is read and parsed to obtain index information. If the index information is 0, the affine motion prediction unit referred to by the image block to be processed is the prediction unit in which A is localized; if the index information is 1, the affine motion prediction unit referred to by the image block to be processed is the prediction unit in which B is localized.
[0070] S1300. Получение информации положения и информации движения контрольных точек в аффинной единице предсказания движения.[0070] S1300. Obtaining position information and motion information of control points in an affine motion prediction unit.
[0071] Первый конкретный способ реализации 1310 этапа включает в себя: выбор любых трех контрольных точек из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров трех контрольных точек. Поскольку все пиксельные точки в той же самой аффинной единице предсказания движения имеют одно и то же направление предсказания и один и тот же индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются одними и теми же.[0071] The first specific method of implementing step 1310 includes: selecting any three reference points from the four reference points in the motion prediction affine unit, and obtaining position information, motion vector information, prediction directions, and reference frame indices of the three reference points. Since all pixel points in the same affine motion prediction unit have the same prediction direction and the same reference frame index, the prediction directions and reference frame indices of all reference points are also the same.
[0072] Второй конкретный способ реализации 1320 этапа включает в себя: выбор любых двух контрольных точек, которые могут упоминаться как первая и вторая контрольные точки, из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров двух контрольных точек; и затем выбор любой контрольной точки, которая может упоминаться как третья контрольная точка, из оставшихся двух контрольных точек и получение информации положения третьей контрольной точки. Информация вектора движения третьей контрольной точки может быть получена в соответствии с первой и второй контрольными точками следующим образом:[0072] A second specific method of implementing step 1320 includes: selecting any two control points, which may be referred to as the first and second control points, from the four control points in the motion prediction affine unit, and obtaining position information, motion vector information, prediction directions, and indexes of reference frames of two control points; and then selecting any control point, which may be referred to as a third control point, from the remaining two control points and obtaining position information of the third control point. The motion vector information of the third reference point can be obtained in accordance with the first and second reference points as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами третьей контрольной точки, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами первой и второй контрольных точек, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the third control point, And are the corresponding horizontal and vertical motion vectors, And And And are, respectively, the horizontal and vertical coordinates of the first and second control points, and And And And are the corresponding horizontal and vertical motion vectors.
[0073] Поскольку все пиксельные точки в той же самой аффинной единице предсказания движения имеют то же самое направление предсказания и тот же самый индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются теми же самыми. Третья контрольная точка имеет то же самое направление предсказания и индекс опорного кадра, что и таковые у первой и второй контрольных точек.[0073] Since all pixel points in the same affine motion prediction unit have the same prediction direction and the same reference frame index, the prediction directions and reference frame indices of all reference points are also the same. The third reference point has the same prediction direction and reference frame index as those of the first and second reference points.
[0074] В соответствии с любой из предыдущих двух конкретных реализаций, после этапа S1300, информация движения и информация положения по меньшей мере трех контрольных точек получены.[0074] According to either of the previous two specific implementations, after step S1300, motion information and position information of at least three reference points are obtained.
[0075] Как показано на фиг. 3, в этом варианте осуществления настоящего изобретения, выбраны контрольные точки, представленные тремя вершинами: верхней левой (x2, y2), верхней правой (x3, y3) и нижней левой (x4, y4) вершинами аффинной единицы предсказания движения, в которой локализован смежный блок A подлежащего обработке блока изображения. В этом варианте осуществления, x2 равно x4, и y2 равно y3.[0075] As shown in FIG. 3, in this embodiment of the present invention, the selected control points are represented by three vertices: the upper left (x 2 , y 2 ), upper right (x 3 , y 3 ) and lower left (x 4 , y 4 ) vertices of the affine prediction unit motion in which the adjacent block A of the image block to be processed is localized. In this embodiment, x 2 is equal to x 4 , and y 2 is equal to y 3 .
[0076] Должно быть понятно, что контрольная точка выбирается случайным образом, и никакие ограничения не накладываются на это.[0076] It should be understood that the reference point is selected randomly and no restrictions are placed on it.
[0077] S1400. Получение информации движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек.[0077] S1400. Obtaining motion information of a pixel point in an image block in accordance with the position information and motion information of the above three selected reference points.
[0078] Первый конкретный способ реализации 1410 этапа включает в себя следующие этапы:[0078] The first specific method of implementing step 1410 includes the following steps:
[0079] S1411. Поскольку направления предсказания и индексы опорных кадров всех контрольных точек являются теми же самыми, направление предсказания и индекс опорного кадра любой одной из контрольных точек назначаются пиксельной точке в подлежащем обработке блоке изображения. Альтернативно, битовый поток может подвергаться синтаксическому анализу, чтобы получить информацию опорного кадра подлежащего обработке блока изображения, где информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.[0079]S1411. Since the prediction directions and reference frame indices of all reference points are the same, the prediction direction and reference frame index of any one of the reference points are assigned to a pixel point in the image block to be processed. Alternatively, the bit stream may be parsed to obtain reference frame information of an image block to be processed, where the reference frame information includes a prediction direction and a reference frame index.
[0080] S1412. Получение, в соответствии с информацией положения и векторами движения, полученными в S1300, любых трех контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:[0080] S1412. Obtaining, in accordance with the position information and motion vectors obtained in S1300, any three reference points, the motion vector of a pixel point in the image block to be processed. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами любых трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of any three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0081] Второй конкретный способ реализации 1420 этапа включает в себя следующие этапы.[0081] A second specific method of implementing step 1420 includes the following steps.
[0082] S1421. Поскольку направления предсказания и индексы опорных кадров всех контрольных точек являются теми же самыми, направление предсказания и индекс опорного кадра любой одной из контрольных точек назначаются пиксельной точке в подлежащем обработке блоке изображения. Альтернативно, битовый поток может подвергаться синтаксическому анализу, чтобы получить информацию опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.[0082] S1421. Since the prediction directions and reference frame indices of all reference points are the same, the prediction direction and reference frame index of any one of the reference points are assigned to a pixel point in the image block to be processed. Alternatively, the bitstream may be parsed to obtain reference frame information of an image block to be processed, wherein the reference frame information includes a prediction direction and a reference frame index.
[0083] S1422. Как показано на фиг. 3, получение, в соответствии с информацией положения и векторами движения, полученными в S1300, любых трех контрольных точек, векторов движения любых двух контрольных точек в подлежащем обработке блоке изображения. Это реализуется следующим образом:[0083] S1422. As shown in FIG. 3, obtaining, according to the position information and motion vectors obtained in S1300, any three reference points, the motion vectors of any two reference points in the image block to be processed. This is implemented as follows:
, ,
, ,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, equals , And And And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0084] S1423. Получение, в соответствии с векторами движения, полученными в S1422, двух контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:[0084]S1423. Obtaining, in accordance with the motion vectors obtained in S1422, the two reference points, the motion vector of the pixel point in the image block to be processed. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0085] Третий конкретный способ реализации 1430 этапа включает в себя следующие этапы.[0085] A third specific method of implementing step 1430 includes the following steps.
[0086] S1431. Поскольку направления предсказания и индексы опорных кадров всех контрольных точек являются одними и теми же, направление предсказания и индекс опорного кадра любой одной из контрольных точек назначаются пиксельной точке в подлежащем обработке блоке изображения. Альтернативно, битовый поток может подвергаться синтаксическому анализу, чтобы получить информацию опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.[0086] S1431. Since the prediction directions and reference frame indexes of all reference points are the same, the prediction direction and reference frame index of any one of the reference points are assigned to a pixel point in the image block to be processed. Alternatively, the bitstream may be parsed to obtain reference frame information of an image block to be processed, wherein the reference frame information includes a prediction direction and a reference frame index.
[0087] S1432. Как показано на фиг. 3, получение, в соответствии с информацией положения и векторами движения, полученными в S1400, любых трех контрольных точек, векторов движения любых двух контрольных точек в подлежащем обработке блоке изображения. Это реализуется следующим образом:[0087] S1432. As shown in FIG. 3, obtaining, in accordance with the position information and motion vectors obtained in S1400, any three reference points, the motion vectors of any two reference points in the image block to be processed. This is implemented as follows:
, ,
, ,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, equals , And And And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0088] S1433. Синтаксический анализ битового потока, чтобы получить остаток векторов движения двух контрольных точек в подлежащем обработке блоке изображения и добавить остаток к векторам движения, полученным в S1432, двух контрольных точек, чтобы получить обновленные векторы движения двух контрольных точек в подлежащем обработке блоке изображения. Ввиду добавления остатка, обновленные векторы движения являются более точными.[0088] S1433. Parses the bitstream to obtain the remainder of the motion vectors of the two reference points in the image block to be processed and adds the remainder to the motion vectors obtained in S1432 of the two reference points to obtain the updated motion vectors of the two reference points in the image block to be processed. Due to the addition of the remainder, the updated motion vectors are more accurate.
[0089] S1434. Получение, в соответствии с векторами движения, полученными в S1433, двух контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:[0089] S1434. Obtaining, in accordance with the motion vectors obtained in S1433, the two reference points, the motion vector of the pixel point in the image block to be processed. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0090] S1500. Выполнение компенсации движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, чтобы найти предсказанное значение пиксельной точки в подлежащем обработке блоке изображения, причем предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения.[0090] S1500. Performing motion compensation in accordance with the prediction direction, reference frame index, and motion vector that are obtained to find a predicted value of a pixel point in an image block to be processed, wherein the predicted values of all pixel points form a predicted image of the image to be processed.
[0091] Должно быть понятно, что, в этом варианте осуществления настоящего изобретения, термины ʺперваяʺ, ʺвтораяʺ, ʺтретьяʺ и ʺчетвертаяʺ предназначены только для различения пиксельных точек, но не должны толковаться в качестве какого-либо ограничения объема защиты настоящего изобретения. Например, первая контрольная точка может также упоминаться как вторая контрольная точка, и вторая контрольная точка может быть первой контрольной точкой и т.д.[0091] It should be understood that, in this embodiment of the present invention, the terms “first”, “second”, “third” and “fourth” are intended only to distinguish pixel points, but should not be construed as any limitation on the scope of protection of the present invention. For example, the first control point may also be referred to as the second control point, and the second control point may be the first control point, etc.
[0092] Также должно быть понятно, что порядковые номера вышеупомянутых процессов не означают последовательностей выполнения. Последовательности выполнения процессов должны быть определены в соответствии с функциями и внутренней логикой процессов и не должны толковаться в качестве какого-либо ограничения процессов реализации данного варианта осуществления настоящего изобретения.[0092] It should also be understood that the sequence numbers of the above processes do not indicate execution sequences. The execution sequences of the processes should be determined in accordance with the functions and internal logic of the processes and should not be construed as any limitation of the processes for implementing this embodiment of the present invention.
[0093] Также должно быть понятно, что способ получения предсказанного изображения с использованием 6-параметрической модели аффинного преобразования или 8-параметрической модели аффинного преобразования является по существу тем же самым, что и способ получения предсказанного изображения с использованием 4-параметрической модели аффинного преобразования. Для краткости, детали здесь не описываются.[0093] It should also be understood that a method for obtaining a predicted image using a 6-parameter affine transform model or an 8-parameter affine transform model is substantially the same as a method for obtaining a predicted image using a 4-parameter affine transform model. For brevity, details are not described here.
[0094] Более конкретно, сторона декодирования повторно использует информацию движения аффинной единицы предсказания движения, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым повышается эффективность кодирования и декодирования.[0094] More specifically, the decoding side reuses the motion information of an affine motion prediction unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additionally searching for a high-precision motion vector . In this way, the prediction accuracy is improved while maintaining the complexity of encoding and decoding, thereby increasing the efficiency of encoding and decoding.
[0095] Чтобы лучше показать полезные результаты настоящего изобретение, выполнено сравнение эффективности между данным вариантом осуществления настоящего изобретения и способом предсказания, использующим модель аффинного преобразования, основанную на двух контрольных точках, согласно предшествующему уровню техники по отношению к конфигурации кодирования произвольного доступа (Random Access) и конфигурации кодирования с низкой задержкой (Low delay). Отрицательное значение указывает процент улучшения характеристики кодирования, а положительное значение указывает процент ухудшения характеристики кодирования.[0095] To better demonstrate the useful results of the present invention, a performance comparison is made between this embodiment of the present invention and a prediction method using a two-checkpoint based affine transformation model according to the prior art with respect to a Random Access encoding configuration. and low delay encoding configurations. A negative value indicates the percentage of improvement in the encoding performance, and a positive value indicates the percentage of deterioration in the encoding performance.
Таблица 1. Аффинная последовательностьTable 1. Affine sequence
[0096] Можно видеть, что, при условиях тестирования, соответствующих низкой битовой скорости (низкому битрейту) произвольного доступа, высокой битовой скорости произвольного доступа, низкой битовой скорости с низкой задержкой и высокой битовой скорости с низкой задержкой, настоящее изобретение соответственно снижает битовую скорость на 2,7%, 2,1%, 5,7% и 4,3%, когда сложность остается по существу неизменной, тем самым повышая эффективность кодирования. [0096] It can be seen that, under test conditions corresponding to low bit rate (low bit rate) random access, high bit rate random access, low bit rate low latency and high bit rate low latency, the present invention correspondingly reduces the bit rate by 2.7%, 2.1%, 5.7% and 4.3% when the complexity remains essentially the same, thereby increasing coding efficiency.
[0097] Выше детально описан способ предсказания изображения, реализуемый на стороне декодирования в соответствии с данным вариантом осуществления настоящего изобретения, со ссылкой на фиг. 1 - фиг. 3, а далее детально описан способ предсказания изображения, реализуемый на стороне кодирования в соответствии с вариантом осуществления настоящего изобретения, со ссылкой на фиг. 2 - фиг. 4. Следует отметить, что соответствующие операции на стороне кодирования по существу согласованы с таковыми на стороне декодирования. Во избежание повторений, детали здесь не описываются.[0097] The image prediction method implemented on the decoding side according to this embodiment of the present invention has been described in detail above with reference to FIGS. 1 - fig. 3, and the image prediction method implemented on the encoding side according to an embodiment of the present invention will now be described in detail with reference to FIG. 2 - fig. 4. It should be noted that the corresponding operations on the encoding side are essentially consistent with those on the decoding side. To avoid repetition, the details are not described here.
[0098] Фиг. 4 является другой блок-схемой последовательности операций способа предсказания изображения 2000 в соответствии с вариантом осуществления настоящего изобретения. Способ, показанный на фиг. 4, может быть выполнен устройством кодирования, таким как кодер.[0098] FIG. 4 is another flowchart of an
[0100] Более конкретно, как показано на фиг. 4, способ 2000 включает в себя следующие этапы.[0100] More specifically, as shown in FIG. 4,
[0101] S2100. Определение аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.[0101] S2100. Definition of an affine motion prediction unit that is used as a reference for the image block to be processed.
[0102] Первый конкретный способ реализации 2110 этапа включает в себя следующие этапы.[0102] The first specific method of implementing step 2110 includes the following steps.
[0103] S2111. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.[0103] S2111. Determining a set of candidate prediction units for the image block to be processed.
[0104] Как показано на фиг. 2, в этом варианте осуществления настоящего изобретения, единицы предсказания, в которых блоки 4×4 расположены, соответственно, в пяти положениях A, B, C, D и E, которые являются пространственно смежными к подлежащему обработке блоку изображения, выбираются для формирования набора. Должно быть понятно, что, альтернативно, для формирования набора могут быть выбраны некоторые из положений A, B, C, D и E, или могут быть выбраны единицы предсказания, в которых другие блоки расположены смежно во временной области к подлежащему обработке блоку изображения, и никакие ограничения не накладываются на это.[0104] As shown in FIG. 2, in this embodiment of the present invention, prediction units in which 4x4 blocks are respectively located at five positions A, B, C, D and E that are spatially adjacent to the image block to be processed are selected to form a set. It should be understood that, alternatively, some of the positions A, B, C, D and E may be selected to form the set, or prediction units may be selected in which other blocks are located adjacent in the time domain to the image block to be processed, and no restrictions are placed on this.
[0105] S2112. Проверка, в предварительно установленном порядке, является ли единица предсказания в наборе аффинной единицей предсказания движения.[0105] S2112. Checks, in a predetermined order, whether a prediction unit in a set is an affine motion prediction unit.
[0106] Предварительно установленный порядок является порядком, который предварительно определен в протоколе сторонами кодирования и декодирования и поддерживается согласованным между сторонами кодирования и декодирования. В этом варианте осуществления настоящего изобретения, предварительно установленным порядком является A, B, C, D и E. Должно быть понятно, что, альтернативно, предварительно установленным порядком может быть B, D, A, E и C или другой порядок, и никакие ограничения не накладываются на это.[0106] A predetermined order is an order that is predetermined in the protocol by the encoding and decoding parties and is kept consistent between the encoding and decoding parties. In this embodiment of the present invention, the preset order is A, B, C, D and E. It should be understood that, alternatively, the preset order may be B, D, A, E and C or other order, and no restrictions do not overlap with this.
[0107] S2113. Если найдено, что единица предсказания является аффинной единицей предсказания движения, проверка останавливается, и единица предсказания используется как аффинная единица предсказания движения, на которую ссылается подлежащий обработке блок изображения.[0107] S2113. If the prediction unit is found to be an affine motion prediction unit, the check is stopped and the prediction unit is used as the affine motion prediction unit referenced by the image block to be processed.
[0108] S2114. Если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и выполнение последующего этапа останавливается; в противном случае продолжается выполнение последующего этапа.[0108] S2114. If none of the candidate prediction units is an affine motion prediction unit, then a syntax element is encoded, the syntax element is used to indicate that the image block to be processed does not reuse the affine prediction information of the adjacent block, and execution of the subsequent step is stopped; otherwise, the next step continues.
[0109] Второй конкретный способ реализации 2120 этапа включает в себя следующие этапы:[0109] A second specific implementation of step 2120 includes the following steps:
[0110] S2121. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.[0110] S2121. Determining a set of candidate prediction units for the image block to be processed.
[0111] В дополнение к тому же самому способу определения набора, что и в S2111, способ может дополнительно включать в себя: удаление из набора блока неаффинной единицы предсказания движения в наборе. Например, набор, определенный с использованием способа определения согласно S1211, включает в себя единицы предсказания, в которых локализованы A, B, C, D и E; и единицы предсказания в которых локализованы C и D, не являются аффинными единицами предсказания движения. Поэтому, C и D удаляются из набора, и определенный набор единиц предсказания-кандидатов включает в себя единицы предсказания, в которых локализованы A, B и E.[0111] In addition to the same set determination method as in S2111, the method may further include: removing from the block set a non-affine motion prediction unit in the set. For example, the set determined using the determination method according to S1211 includes prediction units in which A, B, C, D and E are located; and the prediction units in which C and D are localized are not affine motion prediction units. Therefore, C and D are removed from the set, and the determined set of candidate prediction units includes prediction units in which A, B, and E are located.
[0112] Альтернативно, способ может включать в себя: ограничение емкости набора и удаление из набора единицы предсказания-кандидата, для которой порядок проверки занимает место за пределами допустимого количества единиц предсказания-кандидатов. Например, количество единиц предсказания-кандидатов в наборе установлено на 2 максимум, и набор, который определен с использованием способа определения согласно S2112, в соответствии с порядком проверки согласно S2112 представляет собой A, D, C, E и B. Поэтому C, E и B удаляются из набора, и определенный набор единиц предсказания-кандидатов включают в себя единицы предсказания, в которых локализованы A и D. Должно быть понятно, что емкость набора может быть установлена на 3 или 4 или может не ограничиваться, если емкость находится в пределах диапазона, который больше, чем 0, но меньше или равен максимальному количеству единиц предсказания-кандидатов, определенных с использованием способа определения согласно S1211.[0112] Alternatively, the method may include: limiting the capacity of the set and removing from the set a candidate prediction unit for which the test order ranks outside the allowed number of candidate prediction units. For example, the number of candidate prediction units in a set is set to 2 at most, and the set that is determined using the determination method of S2112 according to the checking order of S2112 is A, D, C, E, and B. Therefore, C, E, and B are removed from the set, and the particular set of candidate prediction units includes the prediction units in which A and D are located. It will be appreciated that the capacity of the set may be set to 3 or 4, or may not be limited if the capacity is within the range , which is greater than 0 but less than or equal to the maximum number of candidate prediction units determined using the determination method of S1211.
[0113] Альтернативно, вышеупомянутые два способа определения набора могут быть использованы в комбинации.[0113] Alternatively, the above two set determination methods can be used in combination.
[0114] S2122. Если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и выполнение последующего этапа останавливается; если по меньшей мере одна из единиц предсказания-кандидатов является аффинной единицей предсказания движения, то продолжается выполнение последующего этапа.[0114] S2122. If none of the candidate prediction units is an affine motion prediction unit, then a syntax element is encoded, the syntax element is used to indicate that the image block to be processed does not reuse the affine prediction information of the adjacent block, and execution of the subsequent step is stopped; if at least one of the candidate prediction units is an affine motion prediction unit, then the subsequent step continues.
[0115] S2123. Назначение индексного значения каждой единице предсказания-кандидату в наборе единиц предсказания-кандидатов. Единица предсказания-кандидат, указанная каждым индексным значением, предварительно определяется в протоколе сторонами кодирования и декодирования и поддерживается согласованной на сторонах кодирования и декодирования.[0115] S2123. Assigning an index value to each candidate prediction unit in the set of candidate prediction units. The candidate prediction unit indicated by each index value is predetermined in the protocol by the encoding and decoding sides and is kept consistent between the encoding and decoding sides.
[0116] S2124. Обход всех единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов и выполнение обработки в соответствии с последующими этапами с S2200 по S2400, чтобы получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения; и сравнение выигрышей кодирования, полученных выбранными векторами предсказания-кандидатами, и выбор единицы предсказания-кандидата с самым высоким выигрышем кодирования в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.[0116] S2124. Iterates through all the candidate prediction units in the set of candidate prediction units and performs processing in accordance with subsequent steps S2200 to S2400 to obtain a predicted image of the image block to be processed and performs encoding for the image block to be processed; and comparing the encoding gains obtained by the selected candidate prediction vectors, and selecting the candidate prediction unit with the highest encoding gain as the affine motion prediction unit referred to by the image block to be processed.
[0117] Например, если набор единиц предсказания-кандидатов включает в себя две единицы предсказания-кандидата A и B, индекс A равен 0 и индекс B равен 1. Если выигрыш, который получен с использованием A в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения, чтобы выполнить последующий этап обработки, получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения, является наибольшим, то A является аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения; в противном случае, B является аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения.[0117] For example, if a set of candidate prediction units includes two candidate prediction units A and B, the index of A is 0 and the index of B is 1. If the gain that is obtained using A as the affine motion prediction unit to which refers to the image block to be processed, to perform a subsequent processing step, obtain a predicted image of the image block to be processed, and perform encoding for the image block to be processed is the largest, then A is the affine motion prediction unit referred to by the image block to be processed; otherwise, B is the affine motion prediction unit referred to by the image block to be processed.
[0118] Должно быть понятно, что для повышения скорости кодирования, этап S2124 может быть заменен быстрым алгоритмом. Например, некоторые, но не все из единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов могут быть выбраны для обхода. Альтернативно, весь процесс кодирования подлежащего обработке блока изображения не выполняется, и после получения предсказанного изображения, в соответствии с точностью предсказанных изображений, единица предсказания, которая может быть использована для получения наиболее точного предсказанного изображения, используется в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.[0118] It should be understood that to improve the encoding speed, step S2124 can be replaced with a fast algorithm. For example, some, but not all, of the candidate prediction units in a set of candidate prediction units may be selected for crawling. Alternatively, the entire encoding process of the image block to be processed is not performed, and after obtaining the predicted image, according to the accuracy of the predicted images, a prediction unit that can be used to obtain the most accurate predicted image is used as an affine motion prediction unit referred to image block to be processed.
[0119] S2200. Получение информации положения и информации движения контрольных точек в аффинной единице предсказания движения. Данный этап согласуется с S1300, и детали повторно не описываются.[0119] S2200. Obtaining position information and motion information of control points in an affine motion prediction unit. This step is consistent with S1300 and the details are not re-described.
[0120] S2300. Получение информации движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек. Данный этап согласуется с S1400, и детали повторно не описываются.[0120] S2300. Obtaining motion information of a pixel point in an image block in accordance with the position information and motion information of the above three selected reference points. This step is consistent with S1400 and the details are not re-described.
[0121] S2400. Выполнение компенсации движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, чтобы найти предсказанное значение пиксельной точки в подлежащем обработке блоке изображения, причем предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения. Этот этап согласуется с S1500, и детали повторно не описываются.[0121] S2400. Performing motion compensation in accordance with the prediction direction, reference frame index, and motion vector that are obtained to find a predicted value of a pixel point in an image block to be processed, wherein the predicted values of all pixel points form a predicted image of the image to be processed. This step is consistent with S1500 and the details are not re-described.
[0122] S2500. Сравнение характеристик кодирования, которое выполняется с использованием предсказанного изображения, полученного с использованием этапов с S2100 по S2400, с характеристиками кодирования для кодирования, которое выполняется с использованием предсказанного изображения, полученного с использованием других способов, и выбор способа, в котором получен наибольший выигрыш кодирования, в качестве способа для кодирования предсказанного изображения.[0122] S2500. Comparing the encoding characteristics that are performed using the predicted image obtained using steps S2100 to S2400 with the encoding characteristics for encoding that is performed using the predicted image obtained using other methods, and selecting the method in which the largest encoding gain is obtained, as a method for encoding a predicted image.
[0123] Должно быть понятно, что для повышения скорости кодирования, S2500 может быть заменено на быстрый алгоритм, описанный в S2124, и детали повторно не описываются.[0123] It should be understood that to improve encoding speed, S2500 can be replaced by the fast algorithm described in S2124, and the details are not described again.
[0124] S2600. Если способ для получения предсказанного изображения с использованием этапов с S2100 по S2400 используется в S2500, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения получает предсказанное изображение с использованием способа для получения предсказанного изображения с использованием этапов с S2100 по S2400, и кодируется другой синтаксический элемент, причем этот синтаксический элемент используется для указания индексной информации единицы предсказания, выбранной в S2124.[0124] S2600. If a method for obtaining a predicted image using steps S2100 to S2400 is used in S2500, a syntax element is encoded, wherein the syntax element is used to indicate that an image block to be processed obtains a predicted image using a method for obtaining a predicted image using steps S2100 to S2400, and another syntax element is encoded, the syntax element being used to indicate index information of the prediction unit selected in S2124.
[0125] Должно быть понятно, что, способ предсказания изображения в этом варианте осуществления настоящего изобретения, в качестве технологии предсказания, может также технически комбинироваться с другой технологией предсказания согласно предшествующему уровню техники, например с технологией, использующей несколько систем координат для предсказания, и никакие ограничения не накладываются на это.[0125] It should be understood that, the image prediction method in this embodiment of the present invention, as a prediction technology, can also be technically combined with another prediction technology according to the prior art, for example with a technology using multiple coordinate systems for prediction, and none no restrictions are placed on this.
[0126] Более конкретно, сторона кодирования повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0126] More specifically, the encoding side reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additionally searching for a high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0127] Нижеследующее детально описывает устройство декодирования в соответствии с вариантом осуществления настоящего изобретение со ссылкой на фиг. 5. Как показано на фиг. 5, устройство 10 декодирования включает в себя:[0127] The following describes in detail a decoding apparatus in accordance with an embodiment of the present invention with reference to FIGS. 5. As shown in FIG. 5, the decoding device 10 includes:
первый модуль 11 получения, сконфигурированный, чтобы получать аффинную единицу предсказания движения единицы изображения;a first acquisition module 11 configured to obtain an affine image unit motion prediction unit;
второй модуль 12 получения, сконфигурированный, чтобы получать информацию положения и информацию движения аффинной единицы предсказания движения; иa second acquisition module 12 configured to obtain position information and motion information of the affine motion prediction unit; And
третий модуль 13 получения, сконфигурированный, чтобы получать информацию движения единицы изображения в соответствии с информацией положения и информацией движения.a third acquisition module 13 configured to acquire motion information of an image unit in accordance with the position information and the motion information.
[0128] Более конкретно, сторона кодирования повторно использует информацию движения первой реперной единицы с использованием той же самой аффинной модели предсказания движения и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0128] More specifically, the encoding side reuses the motion information of the first reference unit using the same affine motion prediction model and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additionally searching for a high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0129] В этом варианте осуществления настоящего изобретения, опционально, битовый поток считывается и синтаксически анализируется, чтобы получить синтаксический элемент, причем синтаксический элемент используется для определения, использует ли подлежащий обработке блок изображения повторно информацию движения аффинной модели смежного блока. Когда определено, что подлежащий обработке блок изображения повторно использует информацию движения аффинной модели смежного блока, процесс продолжается.[0129] In this embodiment of the present invention, optionally, the bitstream is read and parsed to obtain a syntax element, wherein the syntax element is used to determine whether an image block to be processed reuses motion affine model information of an adjacent block. When it is determined that the image block to be processed reuses the motion information of the affine model of the adjacent block, the process continues.
[0130] В этом варианте осуществления настоящего изобретения, опционально, то, что первый модуль 11 получения специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, является ли единица предсказания в наборе аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, считывание битового потока и синтаксический анализ битового потока для получения синтаксического элемента, причем синтаксический элемент используется для указания индексной информации аффинной единицы предсказания движения, которая находится в наборе единиц предсказания-кандидатов и которая используется в качестве репера для подлежащего обработке блока изображения, и определение, в соответствии с индексной информацией, аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.[0130] In this embodiment of the present invention, optionally, the first acquisition module 11 is specifically configured to determine an affine motion prediction unit that is used as a reference for an image block to be processed, including: determining a set of candidate prediction units for an image block to be processed, checking, in a predetermined order, whether the prediction unit in the set is an affine motion prediction unit, and if it is found that the prediction unit is an affine motion prediction unit, stopping the check and using the prediction unit as the affine motion prediction unit, referenced by the image block to be processed; or determining a set of candidate prediction units for an image block to be processed, reading the bit stream, and parsing the bit stream to obtain a syntax element, wherein the syntax element is used to indicate index information of an affine motion prediction unit that is in the set of candidate prediction units and that is used as a reference for the image block to be processed, and determining, in accordance with the index information, an affine motion prediction unit that is used as a reference for the image block to be processed.
[0131] В этом варианте осуществления настоящего изобретения, опционально, то, что второй модуль 12 получения специально сконфигурирован для получения информации положения и информации движения контрольных точек в аффинной единице предсказания движения, включает в себя: выбор любых трех контрольных точек из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров трех контрольных точек; или выбор любых двух контрольных точек, которые могут упоминаться как первая и вторая контрольные точки, из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров двух контрольных точек и затем выбор любой контрольной точки, которая может упоминаться как третья контрольная точка, из оставшихся двух контрольных точек и получение информации положения третьей контрольной точки. Информация вектора движения третьей контрольной точки может быть получена в соответствии с первой и второй контрольными точками следующим образом:[0131] In this embodiment of the present invention, optionally, the second acquisition module 12 is specifically configured to obtain position information and motion information of the reference points in the affine motion prediction unit includes: selecting any three reference points from the four reference points in an affine motion prediction unit and obtaining position information, motion vector information, prediction directions, and reference frame indices of the three reference points; or selecting any two reference points, which may be referred to as the first and second reference points, from the four reference points in the affine motion prediction unit and obtaining position information, motion vector information, prediction directions and reference frame indices of the two reference points and then selecting any reference point , which may be referred to as a third control point, from the remaining two control points and obtaining position information of the third control point. The motion vector information of the third reference point can be obtained in accordance with the first and second reference points as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами третьей контрольной точки, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами первой и второй контрольных точек, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the third control point, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of the first and second control points, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0132] Поскольку все пиксельные точки в одной и той же аффинной единице предсказания движения имеют одно и то же направление предсказания и один и тот же индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются теми же самыми. Третья контрольная точка имеет то же самое направление предсказания и индекс опорного кадра, что и таковые для первой и второй контрольных точек.[0132] Since all pixel points in the same affine motion prediction unit have the same prediction direction and the same reference frame index, the prediction directions and reference frame indices of all reference points are also the same. The third reference point has the same prediction direction and reference frame index as those of the first and second reference points.
[0133] В этом варианте осуществления настоящего изобретения, опционально, то, что третий модуль 13 получения специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: назначение направления предсказания и индекса опорного кадра любой одной из контрольных точек пиксельной точке в подлежащем обработке блоке изображения; или синтаксический анализ битового потока для получения информации опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.[0133] In this embodiment of the present invention, optionally, the third acquisition unit 13 is specifically configured to obtain motion information of a pixel point in an image block according to the position information and motion information of the above three selected reference points, including: assignment the prediction direction and index of the reference frame of any one of the control points of the pixel point in the image block to be processed; or parsing the bit stream to obtain reference frame information of an image block to be processed, the reference frame information including a prediction direction and a reference frame index.
[0134] В этом варианте осуществления настоящего изобретения, опционально, то, что третий модуль 13 получения специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: получение, в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:[0134] In this embodiment of the present invention, optionally, the third acquiring unit 13 is specifically configured to obtain motion information of a pixel point in an image block according to the position information and motion information of the above three selected reference points, including: acquiring , according to the received position information and motion vectors of any three control points, the motion vector of a pixel point in the image block to be processed. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами любых трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of any three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0135] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получают в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:[0135] Alternatively, the motion vectors of any two reference points in the image block to be processed are obtained in accordance with the acquired position information and the motion vectors of any three reference points. This is implemented as follows:
, ,
, ,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, и являются, соответственно, горизонтальной и вертикальной координатами контрольной точки в подлежащем обработке блоке изображения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, equals , And And And are the corresponding horizontal and vertical motion vectors, And are, respectively, the horizontal and vertical coordinates of the control point in the image block to be processed, , And And , And are, respectively, the horizontal and vertical coordinates of the three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0136] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:[0136] The motion vector of a pixel point in the image block to be processed is obtained in accordance with the acquired motion vectors of the two reference points. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0137] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получаются в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:[0137] Alternatively, motion vectors of any two reference points in the image block to be processed are obtained in accordance with the acquired position information and motion vectors of any three reference points. This is implemented as follows:
, ,
, ,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, equals , And And And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0138] Битовый поток синтаксически анализируется для получения остатка вектора движения двух контрольных точек в подлежащем обработке блоке изображения, и остаток добавляется к полученному вектору движения двух контрольных точек, для получения обновленного вектора движения двух контрольных точек в подлежащем обработке блоке изображения.[0138] The bit stream is parsed to obtain the remainder of the motion vector of the two reference points in the image block to be processed, and the remainder is added to the resulting motion vector of the two reference points to obtain an updated motion vector of the two reference points in the image block to be processed.
[0139] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:[0139] The motion vector of a pixel point in the image block to be processed is obtained in accordance with the obtained motion vectors of the two reference points. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0140] В этом варианте осуществления настоящего изобретения, опционально, третий модуль 13 получения специально сконфигурирован для выполнения компенсации движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, для нахождения предсказанного значения пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения.[0140] In this embodiment of the present invention, optionally, the third acquisition unit 13 is specifically configured to perform motion compensation in accordance with the prediction direction, reference frame index, and motion vector that are acquired to find the predicted value of a pixel point in an image block to be processed. The predicted values of all pixel points form a predicted image of the image to be processed.
[0141] Должно быть понятно, что устройство 10 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответственно выполнять способ 1000 предсказания изображения в варианте осуществления настоящего изобретения, и вышеупомянутые и другие операции и/или функции модулей устройства 10 кодирования отдельно используются для реализации соответствующей процедуры способа согласно фиг. 1. Для краткости, детали здесь не описываются.[0141] It should be understood that the encoding device 10 according to this embodiment of the present invention can accordingly execute the
[0142] Поэтому устройство декодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0142] Therefore, the decoding device in this embodiment of the present invention reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additional search high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0143] Нижеследующее описывает в деталях устройство кодирования в соответствии с вариантом осуществления настоящего изобретения со ссылкой на фиг. 6. Как показано на фиг. 6, устройство 20 кодирования включает в себя:[0143] The following describes in detail an encoding apparatus according to an embodiment of the present invention with reference to FIG. 6. As shown in FIG. 6, the encoding device 20 includes:
первый модуль 21 получения, сконфигурированный, чтобы получать аффинную единицу предсказания движения единицы изображения;a first acquisition unit 21 configured to obtain an affine image unit motion prediction unit;
второй модуль 22 получения, сконфигурированный, чтобы получать информацию положения и информацию движения аффинной единицы предсказания движения; иa second acquisition module 22 configured to obtain position information and motion information of the affine motion prediction unit; And
третий модуль 23 получения, сконфигурированный, чтобы получать информацию движения единицы изображения в соответствии с информацией положения и информацией движения.a third acquisition module 23 configured to acquire motion information of an image unit in accordance with the position information and the motion information.
[0144] Более конкретно, сторона кодирования повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0144] More specifically, the encoding side reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additionally searching for a high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0145] В этом варианте осуществления настоящего изобретения, опционально, то, что первый модуль 21 получения специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, что единица предсказания в наборе является аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения, или если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем этом синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа и назначение индексного значения каждой единице предсказания-кандидату в наборе единиц предсказания-кандидатов. Единица предсказания-кандидат, представленная каждым индексным значением, предварительно определяется в протоколе сторонами кодирования и декодирования и поддерживается согласованной на сторонах кодирования и декодирования. Выполняется обход всех единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов, чтобы получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения. Выигрыши кодирования, обеспеченные выбранными векторами предсказания-кандидатами, сравниваются, и единица предсказания-кандидат с наибольшим выигрышем выбирается в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.[0145] In this embodiment of the present invention, optionally, the first acquisition unit 21 is specifically configured to determine an affine motion prediction unit that is used as a reference for an image block to be processed, including: determining a set of candidate prediction units for an image block to be processed, checking, in a predetermined manner, that the prediction unit in the set is an affine motion prediction unit, and if it is found that the prediction unit is an affine motion prediction unit, stopping the check and using the prediction unit as the affine motion prediction unit, referenced by the image block to be processed, or if none of the candidate prediction units is an affine motion prediction unit, encoding a syntax element, wherein the syntax element is used to indicate that the image block to be processed does not reuse affine prediction information of an adjacent block, and stopping the execution of the subsequent stage; otherwise, continue with the next step; or determining a set of candidate prediction units for the image block to be processed, if none of the candidate prediction units is an affine motion prediction unit, encoding a syntax element, wherein the syntax element is used to indicate that the image block to be processed does not reuse affine information predicting the adjacent block, and stopping the execution of the subsequent stage; otherwise, continuing to execute the subsequent step and assigning an index value to each candidate prediction unit in the set of candidate prediction units. The candidate prediction unit represented by each index value is predefined in the protocol by the encoding and decoding parties and is kept consistent between the encoding and decoding parties. It traverses all the candidate prediction units in the set of candidate prediction units to obtain a predicted image of the image block to be processed and performs encoding for the image block to be processed. The encoding gains provided by the selected candidate prediction vectors are compared, and the candidate prediction unit with the largest gain is selected as the affine motion prediction unit referred to by the image block to be processed.
[0146] В этом варианте осуществления настоящего изобретения, опционально, второй модуль 22 получения специально сконфигурирован, чтобы получать информацию положения и информацию движения контрольных точек в аффинной единице предсказания движения. Функция модуля является той же самой, что и таковая у второго модуля 12 получения, и детали повторно не описываются.[0146] In this embodiment of the present invention, optionally, the second acquisition unit 22 is specifically configured to obtain position information and motion information of reference points in the motion prediction affine unit. The function of the module is the same as that of the second acquisition module 12, and the details are not described again.
[0147] В этом варианте осуществления настоящего изобретения, опционально, третий модуль 23 получения специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек. Функция модуля является той же самой, что и таковая у третьего модуля 13 получения, и детали повторно не описываются.[0147] In this embodiment of the present invention, optionally, the third acquisition unit 23 is specifically configured to acquire motion information of a pixel point in an image block in accordance with the position information and motion information of the above three selected reference points. The function of the module is the same as that of the third acquisition module 13, and the details are not described again.
[0148] В этом варианте осуществления настоящего изобретения, опционально, третий модуль 23 получения специально сконфигурирован, чтобы выполнять компенсацию движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, чтобы найти предсказанное значение пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения. Функция модуля является той же самой, что и таковая у третьего модуля 13 получения, и детали повторно не описываются.[0148] In this embodiment of the present invention, optionally, the third acquisition unit 23 is specifically configured to perform motion compensation in accordance with the prediction direction, reference frame index and motion vector that are obtained to find the predicted value of a pixel point in the image block to be processed . The predicted values of all pixel points form a predicted image of the image to be processed. The function of the module is the same as that of the third acquisition module 13, and the details are not described again.
[0149] В этом варианте осуществления настоящего изобретения, опционально, характеристики кодирования для кодирования, которое выполняется с использованием предсказанного изображения, полученного этим устройством, сравниваются с характеристиками кодирования для кодирования, которое выполняется с использованием предсказанного изображения, полученного с использованием других устройств, и устройство, посредством которого получен наибольший выигрыш кодирования, выбирается в качестве устройства для кодирования предсказанного изображения.[0149] In this embodiment of the present invention, optionally, the encoding characteristics for encoding that is performed using a predicted image acquired by this device are compared with the encoding characteristics for encoding that is performed using a predicted image obtained using other devices, and the device , by which the largest encoding gain is obtained is selected as a device for encoding the predicted image.
[0150] В этом варианте осуществления настоящего изобретения, опционально, если используется предсказанное изображение, полученное с использованием этого устройства, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что использован способ для получения предсказанного изображения с использованием этого устройства, и кодируется другой синтаксический элемент, причем этот синтаксический элемент используется для указания индексной информации выбранной единицы предсказания.[0150] In this embodiment of the present invention, optionally, if a predicted image obtained using this device is used, a syntax element is encoded, wherein the syntax element is used to indicate that a method for obtaining a predicted image using this device is used, and another is encoded a syntax element, wherein the syntax element is used to indicate index information of the selected prediction unit.
[0151] Должно быть понятно, что устройство 20 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответственно выполнять способ 2000 предсказания изображения в варианте осуществления настоящего изобретения, и вышеупомянутые и другие операции и/или функции модулей устройства 20 кодирования отдельно используются для реализации соответствующей процедуры способа согласно фиг. 4. Для краткости, детали здесь не описываются.[0151] It should be understood that the encoding device 20 according to this embodiment of the present invention may accordingly execute the
[0152] Поэтому устройство кодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0152] Therefore, the encoding device in this embodiment of the present invention reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additional search high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0153] Как показано на фиг. 7, вариант осуществления настоящего изобретения дополнительно обеспечивает устройство 30 декодирования, включающее в себя процессор 31, память 32 и систему 33 шины. Процессор 31 и память 32 соединены с использованием системы 33 шины, память 32 сконфигурирована, чтобы хранить инструкции, и процессор 31 сконфигурирован, чтобы выполнять инструкции, сохраненные в памяти 32. Память 32 устройства 30 декодирования хранит программный код, и процессор 31 может вызывать программный код, сохраненный в памяти 32, чтобы выполнять следующие операции: получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели; получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.[0153] As shown in FIG. 7, an embodiment of the present invention further provides a decoding apparatus 30 including a processor 31, a
[0154] Поэтому устройство декодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0154] Therefore, the decoding device in this embodiment of the present invention reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additional search high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0155] Должно быть понятно, что в этом варианте осуществления настоящего изобретения, процессор 31 может быть центральным процессором (Central Processing Unit, кратко ʺCPUʺ), и процессор 31 также может быть другим процессором общего назначения, процессором цифровых сигналов (DSP), специализированной интегральной схемой (ASIC), программируемой вентильной матрицей (FPGA) или другим программируемым устройством, устройством дискретной вентильной или транзисторной логики, дискретным аппаратным компонентом и т.п. Процессор общего назначения может представлять собой микропроцессор, или процессор может представлять собой любой подходящий процессор и т.п.[0155] It should be understood that in this embodiment of the present invention, the processor 31 may be a Central Processing Unit (CPU), and the processor 31 may also be another general purpose processor, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable device, discrete gate or transistor logic device, discrete hardware component, etc. The general purpose processor may be a microprocessor, or the processor may be any suitable processor, or the like.
[0156] Память 32 может включать в себя постоянную память и память с произвольным доступом и может обеспечивать инструкции и данные для процессора 31. Часть памяти 32 может дополнительно включать в себя энергонезависимую память с произвольным доступом. Например, память 32 может дополнительно хранить информацию о типе устройства.[0156]
[0157] Система 33 шины, в дополнение к шине данных, может дополнительно включать в себя шину питания, шину управления, шину сигнализации статуса и т.п. Однако, для ясности описания, различные типы шин на чертежах все маркированы как система 33 шины.[0157] The
[0158] Во время реализации, каждый этап вышеупомянутых способов может быть реализован аппаратной интегральной логической схемой в процессоре 31 или инструкцией в форме программного обеспечения. Этапы способов, раскрытых со ссылкой на варианты осуществления настоящего изобретения, могут непосредственно выполняться с использованием аппаратного процессора или могут выполняться с использованием комбинации аппаратных и программных модулей в процессоре. Программный модуль может находиться в готовом практически применяемом носителе хранения данных, таком как память с произвольным доступом, флэш-память, постоянная память, программируемая постоянная память, электрически стираемая программируемая память или регистр. Носитель хранения данных находится в памяти 32, и процессор 31 считывает информацию из памяти 32 и выполняет этапы в вышеупомянутых способах в комбинации с аппаратными средствами процессора 31. Во избежание повторений, детали здесь не описываются повторно.[0158] During implementation, each step of the above methods may be implemented by a hardware integrated circuit in the processor 31 or an instruction in the form of software. The steps of the methods disclosed with reference to embodiments of the present invention may be directly performed using a hardware processor or may be performed using a combination of hardware and software modules in the processor. The software module may be located in an off-the-shelf, practical storage medium such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or a register. The storage medium is located in the
[0159] Опционально, в варианте осуществления, процессор 31 специально сконфигурирован, чтобы: считывать битовый поток и выполнять синтаксический анализ битового потока, чтобы получать синтаксический элемент, причем синтаксический элемент используется, чтобы определять, использует ли повторно подлежащий обработке блок изображения информацию движения аффинной модели смежного блока. Когда определено, что подлежащий обработке блок изображения повторно использует информацию движения аффинной модели смежного блока, процесс продолжается.[0159] Optionally, in an embodiment, processor 31 is specifically configured to: read the bitstream and parse the bitstream to obtain a syntax element, wherein the syntax element is used to determine whether the image block to be processed reuses motion information of the affine model adjacent block. When it is determined that the image block to be processed reuses the motion information of the affine model of the adjacent block, the process continues.
[0160] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, является ли единица предсказания в наборе аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, считывание битового потока и выполнение синтаксического анализа битового потока для получения синтаксического элемента, причем синтаксический элемент используется для указания индексной информации аффинной единицы предсказания движения, которая находится в наборе единиц предсказания-кандидатов и которая используется в качестве репера для подлежащего обработке блока изображения, и определение, в соответствии с индексной информацией, аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.[0160] Optionally, in an embodiment, the processor 31 is specifically configured to determine an affine motion prediction unit that is used as a reference for the image block to be processed includes: determining a set of candidate prediction units for the image block to be processed , checking, in a predetermined order, whether the prediction unit in the set is an affine motion prediction unit, and if it is found that the prediction unit is an affine motion prediction unit, stopping the check and using the prediction unit as the affine motion prediction unit referenced to be processed image block; or determining a set of candidate prediction units for an image block to be processed, reading the bit stream, and parsing the bit stream to obtain a syntax element, wherein the syntax element is used to indicate index information of an affine motion prediction unit that is in the set of candidate prediction units and which is used as a reference for the image block to be processed, and determining, in accordance with the index information, an affine motion prediction unit that is used as a reference for the image block to be processed.
[0161] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы получать информацию положения и информацию движения контрольных точек в аффинной единице предсказания движения, включает в себя: выбор любых трех контрольных точек из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров трех контрольных точек или выбор любых двух контрольных точек, которые могут упоминаться как первая и вторая контрольные точки, из четырех контрольных точек в аффинной единице предсказания и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров двух контрольных точек и затем выбор любой контрольной точки, которая может упоминаться как третья контрольная точка, из оставшихся двух контрольных точек и получение информации положения третьей контрольной точки. Информация вектора движения третьей контрольной точки может быть получена в соответствии с первой и второй контрольными точками следующим образом:[0161] Optionally, in an embodiment, the processor 31 is specifically configured to obtain position information and motion information of the control points in the affine motion prediction unit includes: selecting any three control points from the four control points in the affine motion prediction unit and obtaining position information, motion vector information, prediction directions and reference frame indices of the three reference points, or selecting any two reference points, which may be referred to as the first and second reference points, from the four reference points in the affine prediction unit and obtaining the position information, vector information motion, prediction directions and reference frame indices of the two reference points; and then selecting any reference point which may be referred to as a third reference point from the remaining two reference points and obtaining position information of the third reference point. The motion vector information of the third reference point can be obtained in accordance with the first and second reference points as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами третьей контрольной точки, равно , и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами первой и второй контрольных точек, и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the third control point, equals , And are the corresponding horizontal and vertical motion vectors, And And And are, respectively, the horizontal and vertical coordinates of the first and second control points, And And And are the corresponding horizontal and vertical motion vectors.
[0162] Поскольку все пиксельные точки в той же самой аффинной единице предсказания движения имеют то же самое направление предсказания и тот же самый индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются теми же самыми. Третья контрольная точка имеет то же самое направление предсказания и индекс опорного кадра, что и таковые у первой и второй контрольных точек.[0162] Since all pixel points in the same motion prediction affine unit have the same prediction direction and the same reference frame index, the prediction directions and reference frame indices of all reference points are also the same. The third reference point has the same prediction direction and reference frame index as those of the first and second reference points.
[0163] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: назначение направления предсказания и индекса опорного кадра любой одной из контрольных точек пиксельной точке в подлежащем обработке блоке изображения; или синтаксический анализ битового потока для получения информации опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.[0163] Optionally, in an embodiment, the processor 31 is specifically configured to obtain motion information of a pixel point in an image block according to the position information and motion information of the above three selected reference points, including: assigning a prediction direction and a reference index a frame of any one of the control points of a pixel point in the image block to be processed; or parsing the bit stream to obtain reference frame information of an image block to be processed, the reference frame information including a prediction direction and a reference frame index.
[0164] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: получение, в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:[0164] Optionally, in an embodiment, the processor 31 is specifically configured to obtain motion information of a pixel point in an image block in accordance with the position information and motion information of the above three selected reference points, including: obtaining, in accordance with the received position information and motion vectors of any three control points, the motion vector of a pixel point in the image block to be processed. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами любых трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of any three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0165] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получают в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:[0165] Alternatively, the motion vectors of any two reference points in the image block to be processed are obtained in accordance with the acquired position information and the motion vectors of any three reference points. This is implemented as follows:
, ,
, ,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальным и вертикальным векторами движения.Where And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, equals , And And And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0166] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:[0166] The motion vector of a pixel point in the image block to be processed is obtained in accordance with the obtained motion vectors of the two reference points. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0167] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получают в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:[0167] Alternatively, the motion vectors of any two reference points in the image block to be processed are obtained in accordance with the acquired position information and the motion vectors of any three reference points. This is implemented as follows:
, ,
, ,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, equals , And And And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the three control points in the affine motion prediction unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
[0168] Битовый поток синтаксически анализируется для получения остатка вектора движения двух контрольных точек в подлежащем обработке блоке изображения, и остаток добавляется к полученным векторам движения двух контрольных точек для получения обновленных векторов движения двух контрольных точек в подлежащем обработке блоке изображения.[0168] The bit stream is parsed to obtain the remainder of the motion vector of the two reference points in the image block to be processed, and the remainder is added to the obtained motion vectors of the two reference points to obtain the updated motion vectors of the two reference points in the image block to be processed.
[0169] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:[0169] The motion vector of a pixel point in the image block to be processed is obtained in accordance with the obtained motion vectors of the two reference points. This is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of a pixel point in the image block to be processed, And are the corresponding horizontal and vertical motion vectors, and And And And are, respectively, the horizontal and vertical coordinates of two control points in the image block to be processed, where equals , And And And And are the corresponding horizontal and vertical motion vectors.
[0170] Опционально, в варианте осуществления, процессор 31 специально сконфигурирован, чтобы: выполнять компенсацию движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, для нахождения пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения.[0170] Optionally, in an embodiment, the processor 31 is specifically configured to: perform motion compensation in accordance with the prediction direction, reference frame index, and motion vector that are obtained, to find a pixel point in an image block to be processed. The predicted values of all pixel points form a predicted image of the image to be processed.
[0171] Должно быть понятно, что устройство 30 декодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответствовать устройству 10 декодирования в варианте осуществления настоящего изобретения и может соответствовать соответствующему основному объекту, который выполняет способ 1000 в варианте осуществления настоящего изобретения. Вышеупомянутые и другие операции и/или функции модулей устройства 30 декодирования отдельно используются для реализации соответствующей процедуры способа на фиг. 1. Для краткости, детали здесь не описываются.[0171] It should be understood that the decoding device 30 in accordance with this embodiment of the present invention may correspond to the decoding device 10 in the embodiment of the present invention and may correspond to the corresponding main entity that performs the
[0172] Поэтому устройство декодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0172] Therefore, the decoding device in this embodiment of the present invention reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additional search high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0173] Как показано на фиг. 8, вариант осуществления настоящего изобретения дополнительно обеспечивает устройство кодирования 40, включающее в себя процессор 41, память 42 и систему 43 шины. Процессор 41 и память 42 соединены с использованием системы 43 шины, память 42 сконфигурирована, чтобы хранить инструкции, и процессор 41 сконфигурирован, чтобы выполнять инструкции, сохраненные в памяти 42. Память 42 устройства 40 кодирования хранит программный код, и процессор 41 может вызывать программный код, сохраненный в памяти 42, чтобы выполнять следующие операции: получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели; получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.[0173] As shown in FIG. 8, an embodiment of the present invention further provides an encoding device 40 including a processor 41, a memory 42, and a
[0174] Поэтому устройство кодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0174] Therefore, the encoding device in this embodiment of the present invention reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additional search high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0175] Должно быть понятно, что в этом варианте осуществления настоящего изобретения процессор 41 может быть центральным процессором (Central Processing Unit, кратко ʺCPUʺ), и процессор 41 также может быть другим процессором общего назначения, процессором цифровых сигналов (DSP), специализированной интегральной схемой (ASIC), программируемой вентильной матрицей (FPGA) или другим программируемым логическим устройством, устройством дискретной вентильной или транзисторной логики, дискретным аппаратным компонентом и т.п. Процессор общего назначения может представлять собой микропроцессор, или процессор может представлять собой любой подходящий процессор и т.п.[0175] It should be understood that in this embodiment of the present invention, the processor 41 may be a Central Processing Unit (CPU), and the processor 41 may also 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 gate or transistor logic device, discrete hardware component, etc. The general purpose processor may be a microprocessor, or the processor may be any suitable processor, or the like.
[0176] Память 42 может включать в себя постоянную память и память с произвольным доступом и может предоставлять инструкции и данные для процессора 41. Часть памяти 42 может дополнительно включать в себя энергонезависимую память с произвольным доступом. Например, память 42 может дополнительно хранить информацию о типе устройства.[0176] Memory 42 may include read-only memory and random access memory and may provide instructions and data to processor 41. The memory portion 42 may further include non-volatile random access memory. For example, memory 42 may further store device type information.
[0177] Система 43 шины, в дополнение к шине данных, может также включать в себя шину питания, шину управления, шину сигнализации статуса и т.п. Однако, для ясности описания, различные типы шин на чертеже все отмечены как система 43 шины.[0177] The
[0178] Во время реализации, каждый этап вышеупомянутых способов может быть реализован аппаратной интегральной логической схемой в процессоре 41 или инструкцией в форме программного обеспечения. Этапы способов, раскрытых со ссылкой на варианты осуществления настоящего изобретения, могут непосредственно выполняться с использованием аппаратного процессора или могут выполняться с использованием комбинации аппаратных и программных модулей в процессоре. Программный модуль может находиться в готовом практически применяемом носителе хранения данных, таком как память с произвольным доступом, флэш-память, постоянная память, программируемая постоянная память, электрически стираемая программируемая память или регистр. Носитель хранения данных находится в памяти 42 и процессор 41 считывает информацию из памяти 42 и выполняет этапы в вышеупомянутых способах в комбинации с аппаратными средствами процессора 41. Во избежание повторений, детали здесь не описываются повторно.[0178] During implementation, each step of the above methods may be implemented by a hardware integrated circuit in the processor 41 or an instruction in the form of software. The steps of the methods disclosed with reference to embodiments of the present invention may be directly performed using a hardware processor or may be performed using a combination of hardware and software modules in the processor. The software module may be located in an off-the-shelf, practical storage medium such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or a register. The storage medium is located in the memory 42 and the processor 41 reads information from the memory 42 and performs the steps in the above methods in combination with the hardware of the processor 41. To avoid repetition, the details are not described again here.
[0179] Опционально, в данном варианте осуществления, то, что процессор 41 специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, что единица предсказания в наборе является аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения, или если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа и назначение индексного значения каждой единице предсказания-кандидату в наборе единиц предсказания-кандидатов. Единица предсказания-кандидат, представленная каждым индексным значением, предварительно определяется в протоколе сторонами кодирования и декодирования и поддерживается согласованной на сторонах кодирования и декодирования. Выполняется обход всех единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов, чтобы получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения. Выигрыши кодирования, обеспеченные выбранными векторами предсказания-кандидатами, сравниваются, и единица предсказания-кандидат с наибольшим выигрышем выбирается в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.[0179] Optionally, in this embodiment, the processor 41 is specifically configured to determine an affine motion prediction unit that is used as a reference for the image block to be processed includes: determining a set of candidate prediction units for the block to be processed image, checking, in a predetermined order, that the prediction unit in the set is an affine motion prediction unit, and if it is found that the prediction unit is an affine motion prediction unit, stopping the check and using the prediction unit as the affine motion prediction unit referred to by the subject processing the image block, or if none of the candidate prediction units is an affine motion prediction unit, encoding a syntax element, wherein the syntax element is used to indicate that the image block to be processed does not reuse the affine prediction information of the adjacent block, and stopping execution of the subsequent step ; otherwise, continue with the next step; or determining a set of candidate prediction units for the image block to be processed, if none of the candidate prediction units is an affine motion prediction unit, encoding a syntax element, wherein the syntax element is used to indicate that the image block to be processed does not reuse affine prediction information adjacent block, and stopping the execution of the subsequent stage; otherwise, continuing to execute the subsequent step and assigning an index value to each candidate prediction unit in the set of candidate prediction units. The candidate prediction unit represented by each index value is predefined in the protocol by the encoding and decoding parties and is kept consistent between the encoding and decoding parties. It traverses all the candidate prediction units in the set of candidate prediction units to obtain a predicted image of the image block to be processed and performs encoding for the image block to be processed. The encoding gains provided by the selected candidate prediction vectors are compared, and the candidate prediction unit with the largest gain is selected as the affine motion prediction unit referred to by the image block to be processed.
[0180] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы получать информацию положения и информацию движения контрольных точек в аффинной единице предсказания движения. Функция модуля является той же самой, что и таковая у процессора 31, и детали не описываются повторно.[0180] Optionally, in an embodiment, processor 41 is specifically configured to obtain position information and motion information of reference points in the motion prediction affine unit. The function of the module is the same as that of the processor 31, and the details are not described again.
[0181] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения трех выбранных контрольных точек. Функция модуля является той же самой, что и таковая у процессора 31, и детали не описываются повторно.[0181] Optionally, in an embodiment, the processor 41 is specifically configured to obtain motion information of a pixel point in an image block in accordance with the position information and motion information of the three selected reference points. The function of the module is the same as that of the processor 31, and the details are not described again.
[0182] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы выполнять компенсацию движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, для нахождения значения предсказания пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения. Функция модуля является той же самой, что и таковая у процессора 31, и детали не описываются повторно.[0182] Optionally, in an embodiment, the processor 41 is specifically configured to perform motion compensation in accordance with the prediction direction, reference frame index, and motion vector that are obtained to find a prediction value of a pixel point in an image block to be processed. The predicted values of all pixel points form a predicted image of the image to be processed. The function of the module is the same as that of the processor 31, and the details are not described again.
[0183] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован чтобы: сравнивать характеристики кодирования, которое выполнено с использованием предсказанного изображения, полученного этим устройством, с характеристиками кодирования, которое выполнено с использованием предсказанного изображения, полученного с использованием другого устройства, и выбирать устройство, посредством которого получен наибольший выигрыш кодирования, в качестве устройства для кодирования предсказанного изображения.[0183] Optionally, in an embodiment, the processor 41 is specifically configured to: compare the characteristics of encoding that is performed using a predicted image obtained by this device with the characteristics of encoding that is performed using a predicted image obtained using another device, and select the device , by which the largest encoding gain is obtained, as a device for encoding the predicted image.
[0184] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы: если используется предсказанное изображение, полученное с использованием этого устройства, кодировать синтаксический элемент, причем синтаксический элемент используется для указания, что использован способ для получения предсказанного изображения с использованием этого устройства, и кодировать другой синтаксический элемент, причем этот синтаксический элемент используется для указания индексной информации выбранной единицы предсказания.[0184] Optionally, in an embodiment, the processor 41 is specifically configured to: if a predicted image obtained using this device is used, encode a syntax element, wherein the syntax element is used to indicate that a method for obtaining a predicted image using this device is used, and encode another syntax element, the syntax element being used to indicate index information of the selected prediction unit.
[0185] Должно быть понятно, что устройство 40 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответствовать устройству 20 кодирования в варианте осуществления настоящего изобретения и может соответствовать соответствующему основному объекту, который выполняет способ 2000 в варианте осуществления настоящего изобретения. Вышеупомянутые и другие операции и/или функции модулей устройства 40 кодирования отдельно используются для реализации соответствующей процедуры способа на фиг. 4. Для краткости, детали здесь не описываются.[0185] It should be understood that the encoding device 40 in accordance with this embodiment of the present invention may correspond to the encoding device 20 in the embodiment of the present invention and may correspond to the corresponding main entity that performs the
[0186] Поэтому устройство кодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.[0186] Therefore, the encoding device in this embodiment of the present invention reuses the motion information of the first reference unit using the same affine motion prediction model, and therefore obtains a more accurate motion vector of the current image unit without encoding and decoding the motion vector difference and without additional search high-precision motion vector. In this way, the prediction accuracy is improved while maintaining the encoding and decoding complexity, thereby improving the encoding and decoding performance.
[0187] Должно быть понятно, что ʺвариант осуществленияʺ или ʺвариант осуществленияʺ, упоминаемый во всей спецификации, означает, что конкретные признаки, структуры, или характеристики, относящиеся к варианту осуществления, включены по меньшей мере в один вариант осуществления настоящего изобретения. Поэтому ʺв варианте осуществленияʺ или ʺв варианте осуществленияʺ, появляющемся на протяжении всей спецификации, не относится к одному и тому же варианту осуществления. Кроме того, эти конкретные признаки, структуры или характеристики могут комбинироваться в одном или нескольких вариантах осуществления с использованием любого подходящего способа.[0187] It should be understood that “embodiment” or “embodiment” referred to throughout the specification means that particular features, structures, or characteristics related to the embodiment are included in at least one embodiment of the present invention. Therefore, “in an embodiment” or “in an embodiment” appearing throughout the specification do not refer to the same embodiment. Moreover, these particular features, structures, or characteristics may be combined in one or more embodiments using any suitable method.
[0188] Должно быть понятно, что порядковые номера вышеупомянутых процессов не означают последовательности выполнения в различных вариантах осуществления настоящего изобретения. Последовательности выполнения процессов должны определяться в соответствии с функциями и внутренней логикой процессов и не должны толковаться в качестве какого-либо ограничения процессов реализации вариантов осуществления настоящего изобретения.[0188] It should be understood that the sequence numbers of the above processes do not indicate the sequence of execution in the various embodiments of the present invention. Process execution sequences should be determined in accordance with the functions and internal logic of the processes and should not be construed as any limitation on the processes for implementing embodiments of the present invention.
[0189] Кроме того, термины ʺсистемаʺ и ʺсетьʺ могут использоваться взаимозаменяемым образом в этой спецификации. Должно быть понятно, что термин ʺи/илиʺ в этой спецификации описывает только отношение ассоциации для описания ассоциированных объектов и представляет, что могут существовать три отношения. Например, А и/или B может представлять следующие три случая: существует только А, существуют как А, так и B, и существует только B. Кроме того, символ ʺ/ʺ в этой спецификации обычно обозначает отношение ʺилиʺ между ассоциированными объектами.[0189] Additionally, the terms "system" and "network" may be used interchangeably throughout this specification. It should be clear that the term "and/or" in this specification describes only an association relationship for describing associated objects and represents that three relationships can exist. For example, A and/or B can represent the following three cases: only A exists, both A and B exist, and only B exists. Additionally, the symbol ʺ/ʺ in this specification typically denotes an ʺorʺ relationship between associated objects.
[0190] Должно быть понятно, что в вариантах осуществления этой заявки ʺB, соответствующее Aʺ указывает, что B ассоциировано с А, и B может быть определено в соответствии с A. Однако также должно быть понятно, что определение А в соответствии с B не означает, что B определено в соответствии только с А; то есть, B также может быть определено в соответствии с А и/или другой информацией.[0190] It should be understood that in embodiments of this application, ʺB, corresponding to Aʺ indicates that B is associated with A, and B can be determined in accordance with A. However, it should also be understood that determining A in accordance with B does not mean that B is defined in accordance with A only; that is, B can also be determined according to A and/or other information.
[0191] Специалисту в данной области техники должно быть понятно, что в комбинации с примерами, описанными в раскрытых в данной спецификации вариантах осуществления, модули и алгоритмы этапов могут быть реализованы электронными аппаратными средствами, компьютерным программным обеспечением или их комбинацией. Чтобы ясно описать взаимозаменяемость между аппаратными средствами и программным обеспечением, композиции и этапы каждого примера описаны выше в соответствии с функциями. То, выполняются ли функции аппаратными средствами или программным обеспечением, зависит от конкретного применения и конструктивных ограничений технических решений. Специалист в данной области техники может использовать различные способы для реализации описанных функций для каждого конкретного применения, но не должно предполагаться, что такая реализация выходит за пределы объема настоящего изобретения.[0191] One skilled in the art will appreciate that, in combination with the examples described in the embodiments disclosed in this specification, the modules and algorithms of the steps may be implemented by electronic hardware, computer software, or a combination thereof. In order to clearly describe the interchangeability between hardware and software, the compositions and steps of each example are described above according to functions. Whether functions are performed by hardware or software depends on the specific application and design limitations of the technical solutions. Various methods may be used by one skilled in the art to implement the described functions for each particular application, but such implementation should not be assumed to be beyond the scope of the present invention.
[0192] Специалисту в данной области техники должно быть понятно, что для целей удобства и краткости описания, в отношении детального рабочего процесса вышеупомянутой системы, устройства и модуля, можно сослаться на соответствующий процесс в вышеупомянутых вариантах осуществления способа, и детали здесь повторно не описываются.[0192] It will be understood by one skilled in the art that, for purposes of convenience and brevity of description, with respect to the detailed operating process of the above-mentioned system, apparatus and module, reference may be made to the corresponding process in the above-mentioned method embodiments, and the details will not be described again herein.
[0193] В некоторых вариантах осуществления, обеспеченных в этой заявке, очевидно, что раскрытые система, устройство и способ могут быть реализованы иным образом. Например, описанный вариант осуществления устройства является просто примером. Например, разделение на модули является просто разделением на логические функции, и в реальной реализации может быть использовано другое разделение. Например, множество единиц или компонентов может быть скомбинировано или интегрировано в другую систему, или некоторые признаки могут игнорироваться или не выполняться. Кроме того, показанные или описанные взаимные связи или непосредственные связи или коммуникационные соединения могут быть реализованы с использованием некоторых интерфейсов. Опосредованные связи или коммуникационные соединения между устройствами или модулями могут быть реализованы в электронной, механической или другой форме.[0193] In some embodiments provided in this application, it will be appreciated that the disclosed system, apparatus, and method may be implemented in other ways. For example, the described embodiment of the device is merely an example. For example, modularization is simply a division into logical functions, and a different division may be used in an actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the mutual connections or direct connections or communication connections shown or described may be implemented using certain interfaces. Indirect connections or communication connections between devices or modules may be implemented in electronic, mechanical or other form.
[0194] Модули, описанные как отдельные части, могут быть или не быть физически отдельными, и части, изображенные как модули, могут быть или не быть физическими модулями, могут быть расположены в одном местоположении или могут быть распределены на множество сетевых модулей. Некоторые или все модули могут быть выбраны в соответствии с реальными требованиями для достижения целей решений в вариантах осуществления.[0194] Modules described as separate parts may or may not be physically separate, and parts depicted as modules may or may not be physical modules, may be located in a single location, or may be distributed across multiple network modules. Some or all of the modules may be selected according to actual requirements to achieve the objectives of the solutions in the embodiments.
[0195] Кроме того, функциональные модули в вариантах осуществления настоящего изобретения могут быть интегрированы в один модуль обработки, или каждый из модулей может существовать отдельно физически, или два или более модулей интегрированы в один модуль.[0195] In addition, the functional modules in embodiments of the present invention may be integrated into a single processing module, or each of the modules may exist separately physically, or two or more modules may be integrated into a single module.
[0196] Когда интегрированный модуль реализуется в форме программного функционального модуля и продается или используется в качестве независимого продукта, интегрированный модуль может быть сохранен в считываемом компьютером носителе хранения данных. На основе такого понимания, технические решения согласно настоящему изобретению по существу или в части, вносящей вклад в предшествующий уровень техники, или некоторые из технических решений могут быть реализованы в форме программного продукта. Программный продукт сохранен на носителе хранения данных и включает в себя инструкции для инструктирования компьютерного устройства (которое может быть персональным компьютером, сервером или сетевым устройством) выполнять все или некоторые из этапов способов, описанных в вариантах осуществления настоящего изобретения. Вышеупомянутый носитель хранения данных включает в себя: любой носитель, который может хранить программный код, такой как USB флэш-накопитель, съемный жесткий диск, постоянная память (Read-Only Memory, кратко ROM), память с произвольным доступом (Random Access Memory, кратко RAM), магнитный диск или оптический диск.[0196] When the integrated module is implemented in the form of a software function module and is sold or used as an independent product, the integrated module may be stored in a computer-readable storage medium. Based on such understanding, the technical solutions according to the present invention, substantially or in part contributing to the prior art, or some of the technical solutions can be implemented in the form of a software product. The software product is stored on a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in embodiments of the present invention. The above-mentioned storage medium includes: any medium that can store program code, such as a USB flash drive, removable hard disk, Read-Only Memory (ROM), Random Access Memory RAM), magnetic disk or optical disk.
[0197] Вышеупомянутые описания являются просто конкретными реализациями настоящего изобретения, но не предназначены для ограничения объема защиты настоящего изобретения. Любое изменение или замена, легко осуществляемые специалистом в данной области техники в пределах технического объема, раскрытого в настоящем изобретении, должны находиться в пределах объема охраны настоящего изобретения. Поэтому объем защиты настоящего изобретения должен соответствовать объему охраны, определяемому формулой изобретения.[0197] The above descriptions are merely specific implementations of the present invention, but are not intended to limit the scope of protection of the present invention. Any change or substitution easily accomplished by one skilled in the art within the technical scope disclosed in the present invention should be within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should correspond to the scope of protection defined by the claims.
Положение 1. Способ предсказания изображения, содержащий:Clause 1. An image prediction method comprising:
получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели;obtaining a first fiducial unit for the image unit, wherein corresponding predicted images are obtained for the image unit and the first fiducial unit using the same affine model;
получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; иobtaining motion information of motion compensation base units at two or more predetermined positions in the first reference unit; And
получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.obtaining motion information of the motion compensation base unit of the image unit according to the motion information.
Положение 2. Способ согласно Положению 1, в котором получение первой реперной единицы для единицы изображения содержит:Provision 2. The method according to Proposition 1, in which the acquisition of the first reference unit for the image unit contains:
проверку, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; иchecking, in a predetermined order, whether a predicted image for a prediction unit adjacent to the image unit is obtained using the affine model; And
если да, остановку проверки и использование единицы предсказания в качестве первой реперной единицы.if so, stop testing and use the prediction unit as the first reference unit.
Положение 3. Способ согласно Положению 1, в котором предварительно установленное положение представляет собой положение угловой точки единицы в первой реперной единице.Provision 3. The method according to Proposition 1, in which the preset position is the position of the corner point of the unit in the first reference unit.
Положение 4. Способ согласно любому из Положений 1-3, в котором получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит:Provision 4. The method according to any of Provisions 1-3, wherein obtaining motion information of basic motion compensation units at two or more preset positions in the first reference unit comprises:
получение информации движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице; иobtaining motion information of motion compensation base units at three preset positions in the first reference unit; And
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:Accordingly, obtaining motion information of the motion compensation base unit of the image unit according to the motion information comprises:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.obtaining a prediction direction, a reference frame index, and a motion vector of the motion compensation base unit of the image unit in accordance with the prediction directions, reference frame indices, and motion vectors of the motion compensation base units at three preset positions in the first reference unit.
Положение 5. Способ согласно Положению 4, в котором получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице содержит:Provision 5. The method according to Proposition 4, wherein obtaining the prediction direction, reference frame index and motion vector of the motion compensation base unit of an image unit according to the prediction directions, reference frame indices and motion vectors of the motion compensation base units at three preset positions in the first reference unit contains:
назначение того же самого направления предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at three preset positions in the first reference unit;
назначение того же самого индекса опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at three preset positions in the first reference unit; And
получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.obtaining a motion vector of the motion compensation base unit of the image unit by interpolation in accordance with the motion vectors of the motion compensation base units at three preset positions in the first reference unit.
Положение 6. Способ согласно Положению 5, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:Provision 6. The method according to Proposition 5, wherein obtaining the motion vector of the motion compensation base unit of an image unit by interpolation according to the motion vectors of the motion compensation base units at three preset positions in the first reference unit is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at three preset positions in the first reference unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
Положение 7. Способ согласно любому из Положений 1-3, в котором получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит:Provision 7. The method according to any of Provisions 1-3, wherein obtaining motion information of basic motion compensation units at two or more predetermined positions in the first reference unit comprises:
получение информации движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; иobtaining motion information of motion compensation base units at two predetermined positions in the first reference unit; And
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:Accordingly, obtaining motion information of the motion compensation base unit of the image unit according to the motion information comprises:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.obtaining a prediction direction, a reference frame index, and a motion vector of the motion compensation base unit of the image unit in accordance with the prediction directions, reference frame indices, and motion vectors of the motion compensation base units at two preset positions in the first reference unit.
Положение 8. Способ согласно Положению 7, в котором получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице содержит:Provision 8. The method according to Proposition 7, wherein obtaining the prediction direction, reference frame index and motion vector of the motion compensation base unit of an image unit according to the prediction directions, reference frame indices and motion vectors of the motion compensation base units at two preset positions in the first reference unit contains:
назначение того же самого направления предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at two preset positions in the first reference unit;
назначение того же самого индекса опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at two preset positions in the first reference unit; And
получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.obtaining a motion vector of the motion compensation base unit of the image unit by interpolation in accordance with the motion vectors of the motion compensation base units at two preset positions in the first reference unit.
Положение 9. Способ согласно Положению 8, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:Provision 9. The method according to Proposition 8, wherein obtaining the motion vector of the motion compensation base unit of an image unit by interpolation according to the motion vectors of the motion compensation base units at two preset positions in the first reference unit is implemented as follows:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.Where And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, And And And are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at two preset positions in the first reference unit, and And And And are the corresponding horizontal and vertical motion vectors.
Положение 10. Устройство предсказания изображения, содержащее:Clause 10. An image prediction device comprising:
первый модуль получения, сконфигурированный, чтобы получать первую реперную единицу для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели;a first acquisition module configured to obtain a first fiducial unit for an image unit, wherein corresponding predicted images are obtained for the image unit and the first fiducial unit using the same affine model;
второй модуль получения, сконфигурированный, чтобы получать информацию движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; иa second acquisition module configured to receive motion information of motion compensation reference units at two or more preset positions in the first reference unit; And
третий модуль получения, сконфигурированный, чтобы получать информацию движения базовой единицы компенсации движения единицы изображения в соответствии с информацией положения и информацией движения.a third acquiring module configured to obtain motion information of the base unit of motion compensation of the image unit in accordance with the position information and the motion information.
Положение 11. Устройство согласно Положению 10, в котором первый модуль получения сконфигурирован, чтобы:Statement 11. A device according to Statement 10, in which the first receiving module is configured to:
проверять, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; иcheck, in a predetermined order, whether a predicted image is obtained for a prediction unit adjacent to the image unit using the affine model; And
если да, останавливать проверку и использовать единицу предсказания в качестве первой реперной единицы.if so, stop testing and use the prediction unit as the first reference unit.
Положение 12. Устройство согласно Положению 10, в котором предварительно установленное положение представляет собой положение угловой точки единицы в первой реперной единице.Position 12. A device according to Position 10 in which the preset position is the position of the corner point of the unit in the first reference unit.
Положение 13. Устройство согласно любому из Положений 10-12, в котором третий модуль получения сконфигурирован, чтобы:Statement 13. A device according to any of Statements 10-12, in which the third receiving module is configured to:
получать информацию движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице; иobtain motion information of motion compensation base units at three preset positions in the first reference unit; And
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:Accordingly, obtaining motion information of the motion compensation base unit of the image unit according to the motion information comprises:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.obtaining a prediction direction, a reference frame index, and a motion vector of the motion compensation base unit of the image unit in accordance with the prediction directions, reference frame indices, and motion vectors of the motion compensation base units at three preset positions in the first reference unit.
Положение 14. Устройство согласно Положению 13, в котором третий модуль получения дополнительно сконфигурирован, чтобы:Statement 14. A device according to Statement 13, in which the third receiving module is further configured to:
назначать то же самое направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at three preset positions in the first reference unit;
назначать тот же самый индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at three preset positions in the first reference unit; And
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.obtain a motion vector of the image unit motion compensation base unit by interpolation according to the motion vectors of the motion compensation base units at three preset positions in the first reference unit.
Положение 15. Устройство согласно Положению 14, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:Provision 15. The apparatus according to Proposition 14, wherein obtaining the motion vector of the motion compensation base unit of an image unit by interpolation in accordance with the motion vectors of the motion compensation base units at three preset positions in the first reference unit is implemented as follows:
где в и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.where in And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, , And And , And are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at three preset positions in the first reference unit, and , And And , And are the corresponding horizontal and vertical motion vectors.
Положение 16. Устройство согласно любому из Положений 10-12, в котором третий модуль получения сконфигурирован, чтобы:Statement 16. A device according to any of Statements 10-12, in which the third receiving module is configured to:
получать информацию движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; иobtain motion information of motion compensation base units at two preset positions in the first reference unit; And
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:Accordingly, obtaining motion information of the motion compensation base unit of the image unit according to the motion information comprises:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.obtaining a prediction direction, a reference frame index, and a motion vector of the motion compensation base unit of the image unit in accordance with the prediction directions, reference frame indices, and motion vectors of the motion compensation base units at two preset positions in the first reference unit.
Положение 17. Устройство согласно Положению 16, в котором третий модуль получения дополнительно сконфигурирован, чтобы:Statement 17. A device according to Statement 16, in which the third receiving module is further configured to:
назначать то же самое направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице;assigning the same prediction direction to the motion compensation base unit of the image unit and the motion compensation base units at two preset positions in the first reference unit;
назначать тот же самый индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице; иassigning the same reference frame index to the motion compensation base unit of the image unit and the motion compensation base units at two preset positions in the first reference unit; And
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.obtain a motion vector of the image unit motion compensation base unit by interpolation according to the motion vectors of the motion compensation base units at two preset positions in the first reference unit.
Положение 18. Устройство согласно Положению 17, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:Provision 18. The apparatus according to Proposition 17, wherein obtaining the motion vector of the motion compensation base unit of an image unit by interpolation according to the motion vectors of the motion compensation base units at two preset positions in the first reference unit is implemented as follows:
где в и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.where in And are, respectively, the horizontal and vertical coordinates of the basic unit of motion compensation of the image unit, And are the corresponding horizontal and vertical motion vectors, And And And are, respectively, the horizontal and vertical coordinates of the basic motion compensation units at two preset positions in the first reference unit, and And And And are the corresponding horizontal and vertical motion vectors.
Claims (23)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510543542.8 | 2015-08-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020102708A Division RU2020102708A (en) | 2015-08-29 | 2020-01-23 | METHOD AND DEVICE FOR PREDICTING IMAGE |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2021118433A RU2021118433A (en) | 2022-12-26 |
RU2808688C2 true RU2808688C2 (en) | 2023-12-01 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002037859A2 (en) * | 2000-11-03 | 2002-05-10 | Compression Science | Video data compression system |
WO2011053655A2 (en) * | 2009-10-30 | 2011-05-05 | Qualcomm Incorporated | Global motion parameter estimation using block-based motion vectors |
CN101771878B (en) * | 2010-01-14 | 2011-05-25 | 广西大学 | Self-adaptively selecting global motion estimation method for panoramic video coding |
RU2421814C2 (en) * | 2009-02-20 | 2011-06-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Method to generate composite image |
US8693540B2 (en) * | 2005-03-10 | 2014-04-08 | Qualcomm Incorporated | Method and apparatus of temporal error concealment for P-frame |
CN104363451A (en) * | 2014-10-27 | 2015-02-18 | 华为技术有限公司 | Image forecasting method and related device |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002037859A2 (en) * | 2000-11-03 | 2002-05-10 | Compression Science | Video data compression system |
US8693540B2 (en) * | 2005-03-10 | 2014-04-08 | Qualcomm Incorporated | Method and apparatus of temporal error concealment for P-frame |
RU2421814C2 (en) * | 2009-02-20 | 2011-06-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Method to generate composite image |
WO2011053655A2 (en) * | 2009-10-30 | 2011-05-05 | Qualcomm Incorporated | Global motion parameter estimation using block-based motion vectors |
CN101771878B (en) * | 2010-01-14 | 2011-05-25 | 广西大学 | Self-adaptively selecting global motion estimation method for panoramic video coding |
CN104363451A (en) * | 2014-10-27 | 2015-02-18 | 华为技术有限公司 | Image forecasting method and related device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7237874B2 (en) | Image prediction method and apparatus | |
US11252436B2 (en) | Video picture inter prediction method and apparatus, and codec | |
US11044473B2 (en) | Adaptive loop filtering classification in video coding | |
TWI845688B (en) | Merge mode coding for video coding | |
TWI504237B (en) | Buffering prediction data in video coding | |
TW202038611A (en) | Triangle motion information for video coding | |
JP2020529811A (en) | Video image encoding and decoding methods, equipment, and devices | |
JP2022523851A (en) | Video coding with unfiltered reference samples using different chroma formats | |
TW202002654A (en) | Coefficient coding with grouped bypass bins | |
KR20210057101A (en) | Decoding method and decoding apparatus for predicting motion information | |
RU2808688C2 (en) | Method and device for image prediction | |
RU2809673C2 (en) | Method and device for image prediction | |
TW202110194A (en) | Gradual random access (gra) signalling in video coding | |
KR20200004348A (en) | Method and apparatus for processing video signal through target region correction | |
RU2771955C2 (en) | Device, equipment, method for encoding and decoding video images |