RU2786784C1 - Frame rate conversion method supporting frame interpolation replacement with motion compensation by linear frame combination and device implementing it - Google Patents

Frame rate conversion method supporting frame interpolation replacement with motion compensation by linear frame combination and device implementing it Download PDF

Info

Publication number
RU2786784C1
RU2786784C1 RU2022111860A RU2022111860A RU2786784C1 RU 2786784 C1 RU2786784 C1 RU 2786784C1 RU 2022111860 A RU2022111860 A RU 2022111860A RU 2022111860 A RU2022111860 A RU 2022111860A RU 2786784 C1 RU2786784 C1 RU 2786784C1
Authority
RU
Russia
Prior art keywords
frame
occlusions
motion
discontinuities
artifact
Prior art date
Application number
RU2022111860A
Other languages
Russian (ru)
Inventor
Сергей Дмитриевич ИЛЬИЧЕВ
Игорь Миронович Ковлига
Петр ПОГЛ
Original Assignee
Самсунг Электроникс Ко., Лтд.
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Application granted granted Critical
Publication of RU2786784C1 publication Critical patent/RU2786784C1/en
Priority to US18/140,932 priority Critical patent/US20230353732A1/en

Links

Images

Abstract

FIELD: video frame rate conversion.
SUBSTANCE: invention relates to a method and user device for frame rate conversion (FRC) video. The method comprises obtaining at least one pair of video frames to be FRC-transformed; dividing each frame into a plurality of blocks; estimating motion between frames on a block-by-block basis to obtain: a forward motion field, which is a set of motion vectors, each of which corresponds to a corresponding block of the plurality of blocks of the first frame and points to a corresponding area in the second frame, and a backward motion field, which is a set of motion vectors , each corresponding to a corresponding block of the plurality of blocks of the second frame and pointing to a corresponding region in said first frame, each motion vector being assigned a corresponding motion estimation metric value, with the first frame preceding the second frame in time; deriving closing occlusions, opening occlusions, and indeterminate occlusions based on a forward motion field and a backward motion field; calculating an artifact occurrence probability score indicative of a probability of occurrence of the artifact when interpolating the motion-compensated frame between the first frame and the second frame, the calculation comprising detecting discontinuities between spatially adjacent motion vectors in at least one of the forward motion field and the backward motion field; discontinuity processing that suppresses discontinuities that only overlap with opening occlusions for discontinuities in the backward motion field or only with closing occlusions for discontinuities in the forward motion field, and reinforces discontinuities that overlap with undefined occlusions; and suppressing discontinuities between spatially adjacent motion vectors based on motion estimation metric values; performing smoothing filtering to estimate the probability of artifact occurrence; and obtaining one or more intermediate frames, taking into account the values of the smoothed estimate of the probability of occurrence of the artifact.
EFFECT: increasing the accuracy of detecting possible artifacts.
19 cl, 15 dwg

Description

Область техники Technical field

[0001] Настоящее изобретение относится к обработке видео, и, более конкретно, к преобразованию частоты кадров (FRC), поддерживающему замену интерполяции кадра с компенсацией движения линейной комбинацией кадров.[0001] The present invention relates to video processing, and more specifically, to frame rate conversion (FRC) supporting the replacement of motion-compensated frame interpolation with a linear combination of frames.

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

[0002] Преобразование частоты кадров является задачей временной интерполяции видеокадров для изменения частоты кадров видео, измеряемой в кадрах в секунду (FPS). В зависимости от требуемой цели FRC-преобразование может увеличивать или уменьшать FPS. FRC-преобразование с увеличением FPS является базовой технологией для обеспечения плавного воспроизведения обычного контента, такого как пользовательские видео, фильмы или игры. В настоящее время FRC-преобразование широко применяется в режимах ‘Super Slow Motion’ (SSM) и ‘Single Take’ (STK). Кроме того, в настоящий момент возможность применения FRC-преобразования рассматривается для других сценариев использования, таких как видеотелефония и динамический режим предварительного просмотра галереи.[0002] Frame rate conversion is the task of temporally interpolating video frames to change the frame rate of a video, measured in frames per second (FPS). Depending on the desired goal, the FRC transformation can increase or decrease the FPS. FPS boost FRC conversion is the underlying technology to ensure smooth playback of regular content such as user videos, movies or games. Currently, FRC conversion is widely used in 'Super Slow Motion' (SSM) and 'Single Take' (STK) modes. In addition, FRC is currently being considered for other use cases such as video telephony and dynamic gallery preview.

[0003] Тем не менее любой алгоритм FRC-преобразования может, в некоторых ситуациях, приводить к появлению артефактов на обрабатываемых изображениях. Поэтому было бы полезно предусмотреть способ FRC-преобразования, поддерживающий резервную (от англ. ‘fallback’) логику, благодаря которой можно оценивать вероятность появления артефактов при интерполяции кадра с компенсацией движения соседних кадров и, если получаемая оценкой вероятность является высокой, выполнять при FRC-преобразовании замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Линейная комбинация не является такой вычислительно сложной операцией как интерполяция движения, поскольку при ее вычислении векторы движения не учитываются.[0003] Nevertheless, any FRC transform algorithm may, in some situations, lead to artifacts in the processed images. Therefore, it would be useful to provide an FRC transformation method that supports fallback logic, thanks to which it is possible to estimate the probability of occurrence of artifacts when interpolating a frame with compensation for the movement of adjacent frames and, if the probability obtained by the estimate is high, to perform at FRC- transformation, replacing the motion-compensated frame interpolation with a linear combination of adjacent reference frames. Linear combination is not as computationally complex as motion interpolation because motion vectors are not taken into account in its calculation.

[0004] С другой стороны, избыточное применение при FRC-преобразовании линейной комбинации, частным случаем которой является простое повторение ближайшего опорного кадра, приводит к неплавному отображению изображений при воспроизведении видео. Таким образом, было бы желательно обеспечить компромисс между неплавным отображением из-за линейной комбинации кадров и потенциальными артефактами из-за интерполяции кадра с компенсацией движения.[0004] On the other hand, excessive use of linear combination in FRC transformation, a special case of which is simple repetition of the nearest reference frame, results in unsmooth display of images during video playback. Thus, it would be desirable to provide a compromise between non-smooth display due to linear combination of frames and potential artifacts due to motion-compensated frame interpolation.

[0005] Известные способы FRC-преобразования являются либо излишне упрощенными, что приводит к избыточному применению линейной комбинации или к значительным артефактам на обрабатываемых изображениях, либо слишком вычислительно сложными, что приводит к невозможности их реализации на устройствах с ограниченными ресурсами в реальном времени.[0005] Known FRC methods are either oversimplified, resulting in excessive linear combination or significant artifacts in processed images, or too computationally complex, resulting in impossibility to implement them on devices with limited resources in real time.

[0006] Из уровня техники известна публикация Seung-Ho Park, Tae-Gyoung Ahn, Se-Hyeok Park, Jae-Hyun Kim: ‘Advanced local fallback processing for motion-compensated frame rate up-conversion’ (Расширенная локальная fallback-обработка для повышения частоты кадров с компенсацией движения), 13-16 января 2012 г., Лас-Вегас, Невада. В данной публикации раскрыт способ FRC-преобразования, поддерживающий локальную fallback-обработку. В упомянутой публикации решение о необходимости применения интерполяции кадра с компенсацией движения или применении линейной комбинации принимается на основе кластеризации движения и анализа траектории движения в ряде кадров видеопоследовательности. Основными недостатками данного решения являются высокая вычислительная сложность и неточность принимаемого решения из-за появления в обрабатываемых изображениях быстро меняющегося/нелинейного движения. Другим недостатком раскрытого решения является временная задержка, обусловленная необходимостью получения одного или нескольких будущих кадров в дополнение к паре кадров, обрабатываемых FRC-преобразованием в настоящий момент.[0006] Seung-Ho Park, Tae-Gyoung Ahn, Se-Hyeok Park, Jae-Hyun Kim: 'Advanced local fallback processing for motion-compensated frame rate up-conversion' is known in the art. Motion Compensated Frame Rate), January 13-16, 2012, Las Vegas, Nevada. This publication discloses an FRC conversion method that supports local fallback processing. In said publication, the decision whether to apply motion-compensated frame interpolation or to apply a linear combination is made based on motion clustering and motion trajectory analysis in a number of frames of a video sequence. The main disadvantages of this solution are high computational complexity and inaccuracy of the decision made due to the appearance of rapidly changing/nonlinear motion in the processed images. Another disadvantage of the disclosed solution is the time delay due to the need to receive one or more future frames in addition to the pair of frames currently being processed by the FRC transform.

[0007] Из уровня техники известна публикация патентной заявки US 2015294479 A1 от 15.10.2015, озаглавленная ‘Fallback detection in motion estimation’ (Обнаружение необходимости fallback-обработки при оценке движения), Vladimir Kovacevic, Zdravko Pantic, Aleksandar Beric, Milos Markovic, Vladimir Ilic. В указанном патенте раскрыт алгоритм управления оценкой движения при обработке видео, в котором используются фазовые корреляции изображений и выполняется классификация движений и состояний корреляции на основе негибких правил: быстрое/медленное движение и высокая/низкая корреляция. Недостатками данного алгоритма также является высокая вычислительная сложность из-за необходимости определения фазовых корреляций изображений и неточность принимаемого решения, поскольку негибко установленные правила не могут быть оптимальными для всего спектра возможных изображений. Кроме того, в данном решении не предусмотрена возможность обнаружения благоприятных условий (например, момент времени, координаты в кадре, в которых требуется упомянутая замена) для выполнения и самого выполнения локальной fallback-обработки, при которой замена интерполяции кадра с компенсацией движения линейной комбинацией опорных кадров осуществляется частично/локально.[0007] The prior art publication of patent application US 2015294479 A1 dated 10/15/2015, entitled 'Fallback detection in motion estimation' (Detection of the need for fallback processing in motion estimation), Vladimir Kovacevic, Zdravko Pantic, Aleksandar Beric, Milos Markovic, Vladimir Ilic. This patent discloses a motion estimation control algorithm in video processing that uses image phase correlations and classifies motions and correlation states based on inflexible rules: fast/slow motion and high/low correlation. The disadvantages of this algorithm are also high computational complexity due to the need to determine the phase correlations of images and the inaccuracy of the decision, since inflexibly established rules cannot be optimal for the entire spectrum of possible images. In addition, this solution does not provide for the possibility of detecting favorable conditions (for example, a point in time, coordinates in the frame at which the mentioned replacement is required) for performing and performing the local fallback processing, in which the replacement of frame interpolation with motion compensation by a linear combination of reference frames carried out partially/locally.

Сущность изобретенияThe essence of the invention

[0008] Согласно первому аспекту настоящего изобретения предложен способ FRC-преобразования видео, поддерживающий частичную или полную замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров, содержащий: получение по меньшей мере одной пары кадров видео, подлежащего FRC-преобразованию; разделение каждого кадра на множество блоков; оценку движения между кадрами на поблочной основе для получения: поля движения вперед, представляющего собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков первого кадра и указывает в соответствующую область во втором кадре, и поля движения назад, представляющего собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков второго кадра и указывает в соответствующую область в упомянутом первом кадре, при этом каждому вектору движения присваивается соответствующее значение метрики оценки движения, причем первый кадр предшествует второму кадру во времени; получение закрывающихся окклюзий, открывающихся окклюзий и неопределенных окклюзий на основе поля движения вперед и поля движения назад; вычисление оценки вероятности появления артефакта, указывающей вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром, причем вычисление содержит: обнаружение разрывов между пространственно соседними векторами движения в по меньшей мере одном из поля движения вперед и поля движения назад; обработку разрывов, при которой подавляют разрывы, которые перекрываются только с открывающимися окклюзиями для разрывов в поле движения назад или только с закрывающимися окклюзиями для разрывов в поле движения вперед, и усиливают разрывы, которые перекрываются с неопределенными окклюзиями; и подавление разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения этих соседних векторов движения; выполнение сглаживающей фильтрации оценки вероятности появления артефакта; и получение одного или более промежуточных кадров с учетом значений сглаженной оценки вероятности появления артефакта.[0008] According to a first aspect of the present invention, there is provided a video FRC conversion method supporting partial or complete replacement of motion-compensated frame interpolation with a linear combination of adjacent reference frames, comprising: obtaining at least one pair of video frames to be FRC converted; dividing each frame into a plurality of blocks; estimating motion between frames on a block-by-block basis to obtain: a forward motion field, which is a set of motion vectors, each of which corresponds to a corresponding block of the plurality of blocks of the first frame and points to a corresponding area in the second frame, and a backward motion field, which is a set of motion vectors , each corresponding to a corresponding block of the plurality of blocks of the second frame and pointing to a corresponding region in said first frame, each motion vector being assigned a corresponding motion estimation metric value, with the first frame preceding the second frame in time; deriving closing occlusions, opening occlusions, and indeterminate occlusions based on a forward motion field and a backward motion field; calculating an artifact occurrence probability score indicative of a probability of occurrence of an artifact when the motion-compensated frame is interpolated between the first frame and the second frame, the calculation comprising: detecting discontinuities between spatially adjacent motion vectors in at least one of the forward motion field and the backward motion field; discontinuity processing that suppresses discontinuities that only overlap with opening occlusions for discontinuities in the backward motion field or only with closing occlusions for discontinuities in the forward motion field, and reinforces discontinuities that overlap with undefined occlusions; and suppressing discontinuities between spatially adjacent motion vectors based on the motion estimation metric values of those adjacent motion vectors; performing smoothing filtering to estimate the probability of artifact occurrence; and obtaining one or more intermediate frames, taking into account the values of the smoothed estimate of the probability of occurrence of the artifact.

[0009] В одном из вариантов осуществления, когда максимальное значение сглаженной оценки вероятности появления артефакта больше или равно предопределенному глобальному пороговому значению, при получении одного или более промежуточных кадров выполняют глобальную линейную комбинацию соседних опорных кадров.[0009] In one embodiment, when the maximum value of the smoothed artifact probability estimate is greater than or equal to a predetermined global threshold, upon receipt of one or more intermediate frames, a global linear combination of adjacent reference frames is performed.

[0010] В одном из вариантов осуществления, когда максимальное значение сглаженной оценки вероятности появления артефакта меньше предопределенного глобального порогового значения, при получении одного или более промежуточных кадров выполняют интерполяцию с компенсацией движения соседних опорных кадров.[0010] In one embodiment, when the maximum value of the smoothed artifact probability estimate is less than a predetermined global threshold, motion-compensated interpolation of adjacent reference frames is performed upon receipt of one or more intermediate frames.

[0011] В одном из вариантов осуществления, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров, способ дополнительно содержит выполнение локальной линейной комбинации для по меньшей мере некоторых блоков соседних опорных кадров в случае, когда: число упомянутых по меньшей мере некоторых блоков соседних опорных кадров, значения сглаженной оценки вероятности появления артефакта которых меньше предопределенного локального порогового значения, являющегося максимальным значением оценки вероятности появления артефакта, при котором допустимо применять локальную линейную комбинацию, не превышает предопределенное максимальное число блоков, для которого допустимо применять локальную линейную комбинацию, причем предопределенное локальное пороговое значение меньше предопределенного глобального порогового значения.[0011] In one embodiment, when it is determined that motion-compensated interpolation should be performed on adjacent reference frames, the method further comprises performing a local linear combination on at least some blocks of adjacent reference frames when: the number of said at least some blocks of neighboring reference frames, the values of the smoothed estimate of the probability of occurrence of an artifact of which is less than a predetermined local threshold value, which is the maximum value of the estimate of the probability of occurrence of an artifact, at which it is permissible to apply a local linear combination, does not exceed the predefined maximum number of blocks for which it is permissible to apply a local linear combination, and the predefined local threshold is less than the predefined global threshold.

[0012] В одном из вариантов осуществления, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров, способ дополнительно содержит выполнение локальной линейной комбинации как взвешенной суммы промежуточного кадра, получаемого интерполяцией движения упомянутой пары кадров, и линейной комбинации упомянутой пары кадров, причем веса для каждого блока вычисляются на основе значений сглаженной оценки вероятности появления артефакта.[0012] In one embodiment, when it is determined to perform motion-compensated interpolation of adjacent reference frames, the method further comprises performing a local linear combination as a weighted sum of an intermediate frame obtained by motion interpolation of said pair of frames and a linear combination of said pair of frames, moreover, the weights for each block are calculated based on the values of the smoothed estimate of the probability of occurrence of the artifact.

[0013] В одном из вариантов осуществления метрика оценки движения, вычисляемая при оценке движения между кадрами на поблочной основе, является характеристикой сходства между пикселями блока одного кадра и пикселями соответствующей области другого кадра, причем метрикой оценки движения является средняя абсолютная разность (MAD) или сумма абсолютных разностей (SAD), при этом более низкие значения SAD или MAD соответствуют более высокой точности оценки движения.[0013] In one embodiment, the motion estimation metric computed when estimating motion between frames on a block-by-block basis is a similarity characteristic between pixels of a block of one frame and pixels of a corresponding area of another frame, wherein the motion estimation metric is the mean absolute difference (MAD) or sum absolute differences (SAD), with lower SAD or MAD values corresponding to higher motion estimation accuracy.

[0014] В одном из вариантов осуществления получение окклюзий на основе поля движения вперед и поля движения назад содержит этапы, на которых: инициализируют карту открывающихся окклюзий и карту закрывающихся окклюзий для упомянутой по меньшей мере одной пары кадров видео; для каждого блока из множества блоков первого кадра, перемещают соответствующий блок на основе вектора движения, определенного для этого блока, во второй кадр и исключают в карте открывающихся окклюзий все пиксели второго кадра, накрытые таким перемещением, причем пиксели второго кадра, которые остались не накрытыми в карте открывающихся окклюзий, указывают открывающиеся окклюзии; для каждого блока из множества блоков второго кадра, перемещают соответствующий блок на основе вектора движения, определенного для этого блока, в первый кадр и исключают в карте закрывающихся окклюзий все пиксели первого кадра, накрытые таким перемещением, причем пиксели первого кадра, которые остались не накрытыми в карте закрывающихся окклюзий, указывают закрывающиеся окклюзии; строят карту неопределенных окклюзий, в которой пиксели, одновременно принадлежащие как к открывающимся окклюзиям, так и к закрывающимся окклюзиям на основе карты открывающихся окклюзий и карты закрывающихся окклюзий, указываются в качестве неопределенных окклюзий; и поблочно агрегируют информацию об открывающихся окклюзиях, закрывающихся окклюзиях и неопределенных окклюзиях.[0014] In one embodiment, obtaining occlusions based on a forward motion field and a backward motion field comprises: initializing an opening occlusion map and a closing occlusion map for said at least one pair of video frames; for each block from the plurality of blocks of the first frame, move the corresponding block based on the motion vector defined for this block to the second frame and exclude in the map of opening occlusions all the pixels of the second frame covered by such a movement, and the pixels of the second frame that remained uncovered in map of opening occlusions, indicate opening occlusions; for each block from the set of blocks of the second frame, move the corresponding block based on the motion vector defined for this block to the first frame and exclude in the map of closing occlusions all the pixels of the first frame covered by such a movement, and the pixels of the first frame that remained uncovered in map of closing occlusions, indicate closing occlusions; building a map of undefined occlusions, in which pixels simultaneously belonging to both opening occlusions and closing occlusions based on the map of opening occlusions and the map of closing occlusions are indicated as undefined occlusions; and block-wise aggregating information about opening occlusions, closing occlusions, and undefined occlusions.

[0015] В одном из вариантов осуществления получение окклюзий на основе поля движения вперед и поля движения назад содержит прием информации об окклюзиях, в том числе закрывающихся окклюзиях, открывающихся окклюзиях и неопределенных окклюзиях, найденных на основе поля движения вперед и поля движения назад, от внешнего блока нахождения окклюзий.[0015] In one embodiment, deriving occlusions based on the forward motion field and the backward motion field comprises receiving information about occlusions, including closing occlusions, opening occlusions, and undefined occlusions, found based on the forward motion field and the backward motion field, from an external block for finding occlusions.

[0016] В одном из вариантов осуществления обработка разрывов для подавления разрывов в поле движения вперед, которые перекрываются с закрывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], значение которого уменьшается при обнаружении закрывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа закрывающихся окклюзий.[0016] In one embodiment, processing discontinuities to suppress discontinuities in the forward motion field that overlap with closing occlusions and enhance discontinuities that overlap with indeterminate occlusions comprises multiplying the corresponding artifact probability estimate value by a weighting factor of [0..1 ], the value of which decreases as a closing occlusion is detected and increases as the number of undefined occlusions increases and/or the number of closing occlusions decreases.

[0017] В одном из вариантов осуществления обработка разрывов для подавления разрывов в поле движения назад, которые перекрываются с открывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], значение которого уменьшается при обнаружении открывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа открывающихся окклюзий.[0017] In one embodiment, processing discontinuities to suppress discontinuities in the posterior motion field that overlap with opening occlusions and enhance discontinuities that overlap with undefined occlusions comprises multiplying the corresponding artifact probability estimate value by a weighting factor of [0..1 ], the value of which decreases when an opening occlusion is detected and increases when the number of undefined occlusions increases and/or the number of opening occlusions decreases.

[0018] В одном из вариантов осуществления подавление разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения этих соседних векторов движения содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], который уменьшается при увеличении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в ноль при достижении первого предопределенного порогового значения метрики оценки движения, и увеличивается при уменьшении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в единицу при достижении второго предопределенного порогового значения метрики оценки движения.[0018] In one embodiment, suppressing discontinuities between spatially adjacent motion vectors based on the motion estimation metric values of these neighboring motion vectors comprises multiplying the corresponding artifact probability estimate value by a weighting factor [0..1] that decreases as the maximum value of the values of the motion estimation metric in the considered motion vector pair, turning to zero when the first predefined threshold value of the motion estimation metric is reached, and increases as the maximum value of the motion estimation metric values in the considered motion vector pair decreases, turning to one when the second predefined threshold value of the metric is reached movement estimates.

[0019] В одном из вариантов осуществления способ дополнительно содержит определение адаптивного к разрешению кадра весового коэффициента и применение этого весового коэффициента для усиления обнаруживаемых разрывов между пространственно соседними векторами движения.[0019] In one embodiment, the method further comprises determining a frame resolution-adaptive weight and applying the weight to enhance detectable discontinuities between spatially adjacent motion vectors.

[0020] В одном из вариантов осуществления сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, имеющим размер фильтра, определяемый адаптивно к разрешению кадра.[0020] In one embodiment, smoothing filtering of the artifact probability estimate is performed by a digital filter having a filter size determined adaptively to the frame resolution.

[0021] В одном из вариантов осуществления сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, имеющим размер фильтра, определяемый адаптивно к предопределенному минимальному размеру обнаруживаемого артефакта.[0021] In one embodiment, smoothing filtering of the artifact probability estimate is performed by a digital filter having a filter size determined adaptively to a predetermined minimum detectable artifact size.

[0022] В одном из вариантов осуществления вычисление оценки вероятности появления артефакта дополнительно содержит: подавление разрывов, которые находятся в блоках кадра, расположенных на расстоянии от границы кадра, которое меньше предопределенного расстояния от границы кадра в блоках.[0022] In one embodiment, calculating the artifact probability estimate further comprises: suppressing discontinuities that are in frame blocks located at a distance from the frame boundary that is less than a predetermined distance from the frame boundary in blocks.

[0023] В одном из вариантов осуществления разрывы между векторами движения обнаруживаются для расположенных по вертикали пространственно соседних блоков кадра или для расположенных по горизонтали пространственно соседних блоков кадра.[0023] In one embodiment, discontinuities between motion vectors are detected for vertically spatially adjacent frame blocks or horizontally spatially adjacent frame blocks.

[0024] В одном из вариантов осуществления разрывы между векторами движения обнаруживаются для расположенных по вертикали пространственно соседних блоков кадра и для расположенных по горизонтали пространственно соседних блоков кадра.[0024] In one embodiment, discontinuities between motion vectors are detected for vertically adjacent frame blocks and for horizontally adjacent frame blocks.

[0025] В одном из вариантов осуществления вычисление оценки вероятности появления артефакта реализуется, по меньшей мере частично, с использованием функции Хевисайда.[0025] In one embodiment, the calculation of an artifact probability estimate is implemented at least in part using a Heaviside function.

[0026] Согласно второму аспекту настоящего изобретения предложено вычислительное устройство пользователя, содержащее процессор, выполненный с возможностью, при исполнении сохраненных исполняемых процессором инструкций, осуществления способа FRC-преобразования видео по первому аспекту или любому дополнительному варианту осуществления первого аспекта.[0026] According to a second aspect of the present invention, there is provided a user computing device comprising a processor configured, upon execution of stored processor executable instructions, to perform the FRC video conversion method of the first aspect or any further embodiment of the first aspect.

[0027] Настоящее изобретение решает или по меньшей мере смягчает вышеописанные проблемы предшествующего уровня техники и обеспечивает технические решения, которые повышают точность обнаружения возможных артефактов и других дефектов изображений (например, “зависаний”, “дерганий”), получаемых при FRC-преобразовании. Как следствие повышается точность принятия решения в той или иной ситуации, следует ли выполнять частичную или полную замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Благодаря такому адаптивному подходу обеспечивается компромисс между неплавным отображением, которое может происходить из-за выполнения операций линейной комбинации кадров, и потенциальными артефактами, которые могут возникать из-за интерполяции кадра с компенсацией движения.[0027] The present invention solves or at least alleviates the above-described problems of the prior art and provides technical solutions that improve the accuracy of detecting possible artifacts and other defects in images (for example, hangs, jerks) obtained by FRC conversion. As a result, the accuracy of decision-making in a given situation is improved, whether to perform partial or complete replacement of motion-compensated frame interpolation with a linear combination of adjacent reference frames. This adaptive approach provides a compromise between the non-smooth display that can result from performing linear frame combination operations and the potential artifacts that can result from motion-compensated frame interpolation.

[0028] Кроме того, настоящее изобретение является пригодным для реализации на устройствах с ограниченными ресурсами в реальном времени, поскольку большая часть обработки данных выполняется на поблочной основе. Кроме того, вычислительно сложные операции, в случаях, когда они, как ожидается, могут привести к появлению артефактов на изображениях с интерполированным движением, полностью или частично заменяются менее вычислительно сложными операциями, что дополнительно способствует пригодности настоящего изобретения к реализации на устройствах с ограниченными ресурсами в реальном времени. Другие технические преимущества настоящего изобретения и решаемые задачи стану поняты после ознакомления с нижеследующим подробным описанием.[0028] In addition, the present invention is suitable for implementation on devices with limited resources in real time, since most of the data processing is performed on a block basis. In addition, computationally complex operations, in cases where they are expected to cause artifacts in images with interpolated motion, are completely or partially replaced by less computationally complex operations, which further contributes to the suitability of the present invention for implementation on devices with limited resources in real time. Other technical advantages of the present invention and the problems to be solved will become clear after reading the following detailed description.

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

[0029] Далее настоящее изобретение будет описано более подробно со ссылкой на прилагаемые чертежи, на которых:[0029] Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings, in which:

[ФИГ. 1] На Фиг. 1 показана последовательность операций способа FRC-преобразования видео согласно настоящему изобретению.[FIG. 1] In FIG. 1 shows the flow of the video FRC conversion method according to the present invention.

[ФИГ. 2] На Фиг. 2 показана последовательность операций получения окклюзий на основе полей движения согласно настоящему изобретению.[FIG. 2] In FIG. 2 shows the sequence of operations for obtaining occlusions based on motion fields according to the present invention.

[ФИГ. 3] На Фиг. 3 показана последовательность операций вычисления оценки вероятности появления артефакта согласно настоящему изобретению.[FIG. 3] In FIG. 3 shows the flow of calculating an artifact probability estimate according to the present invention.

[ФИГ. 4] На Фиг. 4(a)-(h) показаны графические представления данных, получаемых в результате выполнения этапов способа FRC-преобразования видео согласно настоящему изобретению. [FIG. 4] In FIG. 4(a)-(h) show graphical representations of data resulting from the steps of the video FRC conversion method according to the present invention.

[ФИГ. 5] На Фиг. 5 показана иллюстрация зависимости размера области артефакта от разрешения кадра.[FIG. 5] In FIG. 5 shows an illustration of the dependence of the size of the artifact area on the frame resolution.

[ФИГ. 6] На Фиг. 6(a)-(c) показаны графики, иллюстрирующие зависимости весовых коэффициентов, применяемых при вычислении оценки вероятности появления артефакта согласно настоящему изобретению.[FIG. 6] In FIG. 6(a)-(c) are graphs illustrating the dependencies of the weighting factors used in calculating the artifact probability estimate according to the present invention.

[ФИГ. 7] На Фиг. 7 схематично показано построение карты открывающихся окклюзий и карты закрывающихся окклюзий согласно настоящему изобретению.[FIG. 7] In FIG. 7 schematically shows the construction of an opening occlusion map and a closing occlusion map according to the present invention.

[ФИГ. 8] На Фиг. 8 схематично показано вычислительное устройство пользователя согласно настоящему изобретению.[FIG. 8] In FIG. 8 schematically shows a user computing device according to the present invention.

[0030] Следует понимать, что фигуры могут быть представлены схематично и не в масштабе и предназначены, главным образом, для улучшения понимания настоящего изобретения.[0030] It should be understood that the figures may be represented schematically and not to scale and are intended primarily to improve understanding of the present invention.

Подробное описаниеDetailed description

[0031] На Фиг. 1 показана последовательность операций способа FRC-преобразования видео согласно настоящему изобретению. Способ начинается с этапа S100, на котором получают по меньшей мере одну пару исходных кадров входного видео, подлежащего FRC-преобразованию. Видео может быть любого качества/разрешения и может быть получено любым способом, например, но без ограничения упомянутым, загружено из Интернета или любой другой информационно-коммуникационной сети с помощью любой технологии связи (например, Wi-Fi, Bluetooth, Near field communication, 3G, 4G, 5G и т.д.). В другом варианте осуществления видео может захватываться камерой, сохраняться в памяти устройства, а затем к нему может быть осуществлен доступ блоком FRC-преобразования в процессоре для выполнения над ним FRC-преобразования. В других вариантах осуществления входное видео, содержащие исходные кадры, может поступать от процессора изображений или видеодекодера. Исходные кадры являются соседними по времени кадрами, которые являются ближайшими к той позиции во времени, на месте которой будет создаваться промежуточный кадр при FRC-преобразовании. Эти исходные кадры могут альтернативно упоминаться как опорные/ключевые кадры.[0031] In FIG. 1 shows the flow of the video FRC conversion method according to the present invention. The method starts at step S100, where at least one pair of source frames of the input video to be FRC-transformed is obtained. The video can be of any quality/resolution and can be obtained in any way, for example, but not limited to, downloaded from the Internet or any other information and communication network using any communication technology (for example, Wi-Fi, Bluetooth, Near field communication, 3G , 4G, 5G, etc.). In another embodiment, the video may be captured by a camera, stored in the device's memory, and then accessed by an FRC transform block in the processor to perform an FRC transform on it. In other embodiments, input video containing source frames may come from an image processor or video decoder. Source frames are temporally adjacent frames that are closest to the position in time at which the intermediate frame will be created during the FRC transformation. These source frames may alternatively be referred to as anchor/keyframes.

[0032] После получения по меньшей мере одной пары кадров видео, способ переходит на этап S102, на котором каждый исходный кадр из упомянутой по меньшей мере одной пары кадров видео разделяют на множество блоков. Может использоваться любая схема разделения кадров на блоки. В качестве примера, но не ограничения, кадры могут быть разделены на 8×8 блоки ярости (luma), составляющие макроблок в усовершенствованном кодировании видео (AVC). Тем не менее, не следует ограничивать настоящее изобретение 8×8 блоками ярости в AVC, поскольку любые другие типы блоков (например, CTU), используемые в других стандартах видеокодирования, например, в Высокоэффективном Видеокодировании (HEVC, H.265) и в Универсальном Видеокодировании (VVC, H.266), могут быть использованы. Следовательно, размер блоков, на которые кадры могут делиться на данном этапе, не следует ограничивать указанным выше размером 8×8, поскольку применимы и другие размеры, например, 16×16, 32×32, 64×64, а также прямоугольные размеры.[0032] After receiving at least one pair of video frames, the method proceeds to step S102, in which each source frame of the said at least one pair of video frames is divided into a plurality of blocks. Any blocking scheme may be used. By way of example, and not limitation, frames may be divided into 8×8 rage blocks (luma) constituting a macroblock in advanced video coding (AVC). However, the present invention should not be limited to 8x8 rage blocks in AVC, as any other block types (eg CTU) used in other video coding standards, such as High Efficiency Video Coding (HEVC, H.265) and Universal Video Coding (VVC, H.266) can be used. Therefore, the size of the blocks into which frames can be divided at this stage should not be limited to the above 8×8, since other sizes, such as 16×16, 32×32, 64×64, as well as rectangular sizes, are applicable.

[0033] Этап S102 разделения кадров на блоки обеспечивает возможность выполнения последующих этапов на поблочной основе. При выполнении этапов на поблочной основе значение какой-либо переменной, связанной с отдельно взятым блоком, принимается одинаковым для всех пикселей внутри этого блока. Такой подход позволяет обрабатывать информацию не с каждого пикселя, а только с каждого блока, что приводит к значительному уменьшению объема обрабатываемых данных по сравнению с полностью попиксельной обработкой. Как уже отмечено выше, выполнение большей части обработки данных на поблочной основе делает настоящее изобретение пригодным для реализации на устройствах с ограниченными ресурсами в реальном времени.[0033] Step S102 of dividing frames into blocks allows subsequent steps to be performed on a block-by-block basis. When performing steps on a block basis, the value of any variable associated with a single block is assumed to be the same for all pixels within this block. This approach makes it possible to process information not from each pixel, but only from each block, which leads to a significant reduction in the amount of processed data compared to completely pixel-by-pixel processing. As noted above, performing most of the data processing on a block basis makes the present invention suitable for real-time implementation on resource-constrained devices.

[0034] После разделения кадров на блоки способ переходит на этап S104, на котором оценивают движение между кадрами на поблочной основе. При этой оценке движения получают поле движения вперед (DFW на Фиг. 8) и поле движения назад (DBW на Фиг. 8). Поле движения вперед представляет собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков первого кадра и указывает в соответствующую область во втором кадре. Поле движения назад представляет собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков второго кадра и указывает в соответствующую область в упомянутом первом кадре. На Фиг. 4(b) приведены графические представления полей движения назад и вперед, которые получены для некоторой пары кадров обрабатываемого видео. Белые области на Фиг. 4(b) соответствуют тем областям, в которых какое-либо движение отсутствует. Разные градации серого в других областях на Фиг. 4(b) соответствуют разным векторам движения разных блоков, которые были получены в результате оценки движения. [0034] After dividing the frames into blocks, the method proceeds to step S104, in which motion between frames is estimated on a block basis. With this motion estimation, a forward motion field (D FW in FIG. 8) and a backward motion field (D BW in FIG. 8) are obtained. The forward motion field is a set of motion vectors, each corresponding to a corresponding block of the plurality of blocks in the first frame and pointing to a corresponding region in the second frame. The backward motion field is a set of motion vectors, each of which corresponds to a corresponding block of the plurality of blocks of the second frame and points to a corresponding region in said first frame. On FIG. 4(b) shows graphical representations of the backward and forward motion fields that were obtained for a certain pair of frames of the processed video. The white areas in Fig. 4(b) correspond to areas where there is no movement. Different shades of gray in other areas in FIG. 4(b) correspond to different motion vectors of different blocks that were obtained as a result of motion estimation.

[0035] Таким образом алгоритм оценки движения (ME) формирует вектор движения для каждого блока первого кадра, который указывает в соответствующую область второго кадра. Тут необходимо отметить, что ‘соответствующая область второго кадра’ имеет аналогичный размер, что и соответствующий блок первого кадра, вектор движения которого в нее указывает, но эта соответствующая область второго кадра может не находиться строго в сетке блоков второго кадра. Другими словами, ‘соответствующая область второго кадра’ может включать в себя одну или более границ между двумя или более блоками в сетке блоков второго кадра, которые были получены разделением на этапе S102. Первый кадр и второй кадр являются кадрами, полученными и обработанными на предыдущих этапах, причем первый кадр предшествует второму кадру во времени.[0035] Thus, the motion estimation (ME) algorithm generates a motion vector for each block of the first frame that points to the corresponding region of the second frame. It should be noted here that the 'corresponding area of the second frame' has the same size as the corresponding block of the first frame whose motion vector points to it, but this corresponding area of the second frame may not be strictly in the block grid of the second frame. In other words, the 'corresponding area of the second frame' may include one or more boundaries between two or more blocks in the block grid of the second frame that were obtained by dividing in step S102. The first frame and the second frame are frames acquired and processed in previous steps, with the first frame preceding the second frame in time.

[0036] Вектор движения (MV) представляет собой смещение между блоком одного кадра и соответствующей областью другого кадра в виде двух координат: по горизонтали и по вертикали. Это смещение может иметь как пиксельную точность, так и дробно-пиксельную точность. Полем движения является набор векторов движения, где каждый из векторов движения поставлен в соответствие либо каждому пикселю (dense motion field - плотное поле движения), либо блоку пикселей (обычно квадрат или прямоугольник рядом лежащих пикселей) кадра. В настоящем изобретении используются векторы движения, принадлежащие блокам, и соответственно используются блочные поля движения. Например, если кадр размером 720×1280 пикселей разбит на блоки размером 8×8 пикселей каждый, то размер кадра составляет 90×160 блоков, и именно столько векторов движения имеет поле движения для такого кадра. [0036] Motion vector (MV) is the offset between a block of one frame and the corresponding area of another frame in two coordinates: horizontally and vertically. This offset can have both pixel precision and fractional pixel precision. A motion field is a set of motion vectors, where each of the motion vectors is assigned either to each pixel (dense motion field - dense motion field), or to a block of pixels (usually a square or rectangle of adjacent pixels) of the frame. The present invention uses motion vectors belonging to blocks and accordingly uses block motion fields. For example, if a frame of 720×1280 pixels is divided into blocks of 8×8 pixels each, then the frame size is 90×160 blocks, and that is how many motion vectors the motion field has for such a frame.

[0037] Векторы движения указывают в какую-то соответствующую область другого кадра. Поле движения всегда подразумевает наличие двух кадров - текущего и какого-то другого (например, следующего по времени или предыдущего по времени). Приводимые далее обозначения соответствуют обозначениям, показанным на Фиг. 8, на которую в данный момент делается дополнительная ссылка для наглядной иллюстрации последующих пояснений. Если кадры, снятые камерой, пронумерованы по возрастанию, то для пары кадров FN и FN+1 полем движения вперед DFW, N будет набор векторов движения для текущего кадра FN, которые указывают в соответствующие области другого кадра FN+1 (можно получить скомпенсированный кадр простым алгоритмом компенсации движения). Полем движения назад DBW, N будет набор векторов движения для текущего кадра FN+1, которые указывают в соответствующие области другого кадра FN (можно получить скомпенсированный кадр простым алгоритмом компенсации движения). В настоящем изобретении оба этих поля движения могут являться результатом работы алгоритма оценки движения между кадрами FN и FN+1.[0037] The motion vectors point to some corresponding region of another frame. The motion field always implies the presence of two frames - the current one and some other one (for example, next in time or previous in time). The following notation corresponds to the notation shown in FIG. 8, to which further reference is now made for the sake of illustration of the following explanations. If the frames taken by the camera are numbered in ascending order, then for a pair of frames F N and F N+1 the forward motion field D FW, N will be a set of motion vectors for the current frame F N , which point to the corresponding areas of another frame F N+1 ( you can get a compensated frame with a simple motion compensation algorithm). The backward motion field D BW, N will be a set of motion vectors for the current frame F N+1 that point to the corresponding regions of another frame F N (you can get a compensated frame with a simple motion compensation algorithm). In the present invention, both of these motion fields may result from the motion estimation algorithm between frames F N and F N+1 .

[0038] Если имеется пара кадров в моменты времени N и N+1, и необходимо получить промежуточный кадр, например интерполированный кадр, в момент времени N+α (где α является фазой интерполяции; например, N+0,5), то пара опорных кадров N и N+1 называется текущей, пара N-1 и N называется предыдущей, пара N+1 и N+2 называется следующей. Соответственно называются и поля движения между кадрами каждой пары.[0038] If there is a pair of frames at times N and N+1, and it is necessary to obtain an intermediate frame, such as an interpolated frame, at time N+α (where α is the interpolation phase; for example, N+0.5), then the pair reference frames N and N+1 is called current, the pair N-1 and N is called previous, the pair N+1 and N+2 is called next. The motion fields between the frames of each pair are named accordingly.

[0039] Кроме того, на данном этапе S104 каждому вектору движения присваивается соответствующее значение метрики оценки движения. Это значение метрики оценки движения, вычисляемое между кадрами на поблочной основе, является характеристикой сходства между блоком одного кадра и соответствующей областью другого кадра. Альтернативно метрика оценки движения может именоваться мерой доверия вектору движения блока и представлять собой число, характеризующее точность найденного вектора. Метрикой оценки движения может быть, но без ограничения упомянутыми метриками, средняя абсолютная разность (MAD) или сумма абсолютных разностей (SAD). При этом должно быть понятно, что более низкие значения SAD или MAD соответствуют более высокой точности оценки движения, т.е. более высокому сходству частей кадров или более высокой мере доверия найденному вектору движения. [0039] In addition, at this step S104, each motion vector is assigned a corresponding motion estimation metric value. This motion estimation metric value, computed between frames on a block basis, is a measure of the similarity between a block of one frame and a corresponding area of another frame. Alternatively, the motion estimation metric may be referred to as a measure of confidence in the motion vector of the block and be a number characterizing the accuracy of the found vector. The motion evaluation metric may be, but is not limited to, the mean absolute difference (MAD) or the sum of absolute differences (SAD). It should be understood that lower SAD or MAD values correspond to higher motion estimation accuracy, i.e. a higher similarity of parts of frames or a higher degree of confidence in the found motion vector.

[0040] На Фиг. 4(a) приведено графическое представление метрики оценки движения, которая получена для упомянутой пары кадров обрабатываемого видео. Черные области соответствуют областям заднего фона, где отсутствует движение (т.е. высокое сходство между блоком одного кадра и соответствующей областью другого кадра; т.е. высокое значение метрики оценки движения), а более светлые области соответствуют объекту переднего фона, обладающему сложным движением (т.е. меньшее сходство между блоком одного кадра и соответствующей областью другого кадра; т.е. более низкое значение метрики оценки движения). Понятно, что вероятность появления артефакта в более светлых областях выше, чем в более темных областях.[0040] In FIG. 4(a) is a graphical representation of the motion estimation metric that is obtained for said pair of processed video frames. Black areas correspond to areas of the background where there is no movement (i.e. high similarity between a block of one frame and the corresponding area of another frame; i.e. a high value of the motion estimation metric), and lighter areas correspond to a foreground object with complex movement (i.e., less similarity between a block in one frame and a corresponding area in another frame; i.e., a lower motion estimation metric value). It is clear that the probability of artifact in lighter areas is higher than in darker areas.

[0041] После выполнения оценки движения между кадрами на поблочной основе способ переходит на этап S106, на котором получают информацию об окклюзиях на основе поля движения вперед и поля движения назад. Более подробная последовательность этапов получения окклюзий на основе полей движения согласно настоящему изобретению показана на Фиг. 2.[0041] After performing the inter-frame motion estimation on a block-by-block basis, the method proceeds to step S106, where occlusion information is acquired based on the forward motion field and the backward motion field. A more detailed sequence of steps for obtaining occlusions based on motion fields according to the present invention is shown in FIG. 2.

[0042] Получение окклюзий на основе поля движения вперед и поля движения назад начинается с этапа S106.1, на котором инициализируют карту UncoverMapN+1 открывающихся окклюзий и карту CoverMapN закрывающихся окклюзий для обрабатываемой пары кадров видео. Упомянутая инициализация представляет собой создание карт окклюзий, размеры которых аналогичны размеру обрабатываемых кадров, и установку значений всех пикселей этих карт в одинаковое значение (либо в 0, либо в 1). Закрывающаяся (covered) окклюзия: в предыдущем кадре часть заднего фона закрывается (этой зоны не видно в следующем кадре) вследствие смещения переднего объекта. Открывающаяся (uncovered) окклюзия: в следующем кадре часть заднего фона открывается (этой зоны не видно в предыдущем кадре) вследствие смещения переднего объекта.[0042] Obtaining occlusions based on the forward motion field and the backward motion field starts from step S106.1, in which an UncoverMap N+1 opening occlusion map and a CoverMap N closing occlusion map are initialized for a pair of video frames being processed. Said initialization is the creation of occlusion maps, the sizes of which are similar to the size of the frames being processed, and setting the values of all pixels of these maps to the same value (either 0 or 1). Covered occlusion: in the previous frame, part of the background is covered (this area is not visible in the next frame) due to the displacement of the front object. Opening (uncovered) occlusion: in the next frame, part of the background is opened (this area is not visible in the previous frame) due to the displacement of the front object.

[0043] После инициализации карт окклюзий выполняют этапы S106.2 и S106.3. Приводимые далее обозначения соответствуют обозначениям, показанным на Фиг. 7, на которую в данный момент делается дополнительная ссылка для наглядной иллюстрации последующих пояснений. На Фиг. 7 для наглядности описания отображены вектора движения для каждого пикселя и произвольного размера блока.[0043] After initializing the occlusion maps, steps S106.2 and S106.3 are performed. The following notation corresponds to the notation shown in FIG. 7, to which further reference is now made for the sake of illustrating the following explanations. On FIG. 7 for clarity of description, the motion vectors for each pixel and an arbitrary block size are displayed.

[0044] На этапе S106.2, для каждого блока из множества блоков первого кадра FN, перемещают каждый пиксель соответствующего блока на основе вектора движения, определенного для этого блока, во второй кадр FN+1 и исключают в карте открывающихся окклюзий все пиксели второго кадра, накрытые таким перемещением. Данное исключение выполняют отметкой пикселей второго кадра, которые остались не накрытыми, в попиксельной карте открывающихся окклюзий UncoverMapN+1 значением (в примере на Фиг. 7 таким значением является ‘1’), отличающимся от значения, использованного на этапе S106.1 для инициализации этой карты.[0044] In step S106.2, for each block of the plurality of blocks of the first frame F N , move each pixel of the corresponding block based on the motion vector determined for this block to the second frame F N+1 and exclude all pixels in the opening occlusion map the second frame, covered by such a displacement. This exclusion is made by marking the pixels of the second frame that are left uncovered in the pixel map of opening occlusions UncoverMap N+1 with a value (in the example of Fig. 7 this value is '1') different from the value used in step S106.1 for initialization this card.

[0045] На этапе S106.3, для каждого блока из множества блоков второго кадра FN+1, перемещают каждый пиксель соответствующего блока на основе вектора движения, определенного для этого блока, в первый кадр FN и исключают в попиксельной карте закрывающихся окклюзий CoverMapN все пиксели первого кадра, накрытые таким перемещением. Данное исключение выполняют отметкой пикселей первого кадра, которые остались не накрытыми, в карте закрывающихся окклюзий CoverMapN значением (в примере на Фиг. 7 таким значением является ‘1’), отличающимся от значения, использованного на этапе S106.1 для инициализации этой карты.[0045] In step S106.3, for each block of the plurality of blocks of the second frame F N+1 , move each pixel of the corresponding block based on the motion vector determined for this block to the first frame F N and exclude in the pixel map of closing occlusions CoverMap N is all pixels of the first frame covered by this displacement. This exclusion is performed by flagging the pixels of the first frame that remain uncovered in the CoverMap with a value (in the example of Fig. 7, this value is '1') different from the value used in step S106.1 to initialize this map.

[0046] На этапе S106.4 строят карту неопределенных окклюзий InconsistentMap (не показана на Фиг. 7), в которой пиксели, одновременно принадлежащие как к открывающимся окклюзиям, так и к закрывающимся окклюзиям на основе карты открывающихся окклюзий UncoverMapN+1 и карты закрывающихся окклюзий CoverMapN, указываются в качестве неопределенных окклюзий. Аналогично карте открывающихся окклюзий UncoverMapN+1 и карте закрывающихся окклюзий CoverMapN, карта неопределенных окклюзий InconsistentMapN, N+1 сначала инициализируется в одинаковое значение (либо в 0, либо в 1), а затем неопределенные окклюзии в этой карте отмечают значением, отличающимся от значения, использованного на этапе (не показан на Фиг. 2) для инициализации этой карты. На Фиг. 4(d) приведено графическое представление полученной информации о попиксельных окклюзиях для обрабатываемой пары кадров видео. Светлые области соответствуют областям, в которых какие-либо окклюзии между кадрами не обнаружены, более темные области соответствуют открывающимся окклюзиям, еще более темные области соответствуют неопределенным окклюзиям, черные области соответствуют закрывающимся окклюзиям. В дальнейшем, при построении оценки APM(x, y) вероятности появления артефакта для промежуточных кадров между N и N+1 используются агрегированные карты: открывающихся окклюзий UncoverMapN+1, закрывающихся окклюзий CoverMapN, неопределенных окклюзий InconsistentMapN, N+1.[0046] In step S106.4, an InconsistentMap (not shown in FIG. 7) is constructed, in which pixels simultaneously belonging to both opening occlusions and closing occlusions, based on the UncoverMap N+1 opening occlusion map and the closing occlusion map CoverMap N occlusions are specified as undefined occlusions. Similar to the UncoverMap N+1 opening occlusion map and the CoverMap N closing occlusion map, the InconsistentMap N, N+1 undefined occlusion map is first initialized to the same value (either 0 or 1), and then the undefined occlusions in this map are marked with a value that differs from the value used in the step (not shown in Fig. 2) to initialize this map. On FIG. 4(d) is a graphical representation of the obtained information about per-pixel occlusions for the processed pair of video frames. Light areas correspond to areas in which no occlusions are detected between frames, darker areas correspond to opening occlusions, even darker areas correspond to indeterminate occlusions, black areas correspond to closing occlusions. Further, when constructing the APM(x, y) estimate of the artifact occurrence probability for intermediate frames between N and N+1, aggregated maps are used: UncoverMap N+1 opening occlusions, CoverMap N closing occlusions, InconsistentMap N, N+1 indeterminate occlusions.

[0047] На этапе S106.5 поблочно агрегируют информацию об открывающихся окклюзиях, закрывающихся окклюзиях и неопределенных окклюзиях для получения информации об окклюзиях для обрабатываемой пары кадров видео. Например, при агрегировании суммируют все значения, принадлежащие пикселям одного блока, расположенного на регулярной решетке блоков в той или иной карте. В дальнейшем описании агрегированные поблочные карты именованы без индексов, как Covered, Uncovered, Inconsistent.[0047] In step S106.5, information about opening occlusions, closing occlusions, and undefined occlusions is aggregated block by block to obtain information about occlusions for a pair of video frames being processed. For example, when aggregating, all the values belonging to the pixels of one block located on a regular lattice of blocks in a particular map are summarized. In the following description, aggregated block maps are named without indexes as Covered, Uncovered, Inconsistent.

[0048] В альтернативном варианте осуществления информация об окклюзиях, пример графического представления которой показан на Фиг. 4(d), принимается от внешнего блока нахождения окклюзий. Таким образом, настоящее изобретение способно взаимодействовать с внешним алгоритмом нахождения окклюзий. В еще одном возможном варианте осуществления обработка окклюзий для FRC-преобразования может быть реализована c помощью глубокого обучения, что раскрыто в заявке РФ на изобретение №2020132721, содержимое которой включено в данную заявку по этой ссылке во всей своей полноте.[0048] In an alternative embodiment, occlusion information, an example graphical representation of which is shown in FIG. 4(d) is received from the external occlusion finder. Thus, the present invention is able to interact with an external algorithm for finding occlusions. In another possible embodiment, the processing of occlusions for the FRC transform can be implemented using deep learning, as disclosed in the application of the Russian Federation for the invention No. 2020132721, the contents of which are incorporated herein by this reference in its entirety.

[0049] Возвращаясь к Фиг. 1, после получения информации об окклюзиях способ переходит на этап S108, на котором вычисляют оценку вероятности появления артефакта, указывающую вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром, согласно следующему Уравнению 1:[0049] Returning to FIG. 1, after obtaining information about the occlusions, the method proceeds to step S108, where an artifact occurrence probability estimate is calculated indicating the probability of occurrence of an artifact when interpolating a motion-compensated frame between the first frame and the second frame, according to the following Equation 1:

APM(x, y)=H(mv_break(x, y))*Omul(x, y)*Mmul(x, y), APM(x, y)=H(mv_break(x, y))*Omul(x, y)*Mmul(x, y),

где where

APM(x, y) - оценка вероятности появления артефакта для блока с координатами (x, y),APM(x, y) - artifact probability estimate for a block with coordinates (x, y),

H(x) - ступенчатая функция Хэвисайда, где H(x)=0 при x≤0, H(x)=1 при x>0,H(x) - Heaviside step function, where H(x)=0 for x≤0, H(x)=1 for x>0,

mv_break(x, y) - разрыв между векторами движения пространственно соседних блоков,mv_break(x, y) - the gap between the motion vectors of spatially neighboring blocks,

Omul(x, y) - весовой коэффициент, связанный с агрегированными картами окклюзий, иOmul(x, y) is the weight associated with the aggregated occlusion maps, and

Mmul(x, y) - весовой коэффициент, связанный с метрикой оценки движения.Mmul(x, y) is the weight associated with the motion estimation metric.

Более подробная последовательность этапов вычисления оценки вероятности появления артефакта показана на Фиг. 3.A more detailed sequence of steps for computing an artifact probability estimate is shown in FIG. 3.

[0050] Вычисление оценки вероятности появления артефакта начинается с этапа S108.2, на котором обнаруживают разрывы между пространственно соседними векторами движения в по меньшей мере одном из поля движения вперед и поля движения назад. Разрывы между векторами движения могут обнаруживаться для расположенных по вертикали пространственно соседних блоков кадра и/или для расположенных по горизонтали пространственно соседних блоков кадра.[0050] The artifact probability estimate calculation starts from step S108.2, where discontinuities between spatially adjacent motion vectors in at least one of the forward motion field and the backward motion field are detected. Discontinuities between motion vectors may be detected for vertically adjacent frame blocks and/or horizontally adjacent frame blocks.

[0051] Для расположенных по горизонтали пространственно соседних блоков (x, y) и (x+1,y) кадра разрыв mv_breakh(x, y) вычисляется согласно следующему Уравнению 2:[0051] For horizontally spaced adjacent (x, y) and (x+1,y) frame blocks, mv_breakh(x, y) is calculated according to the following Equation 2:

mv_breakmv_break hh (x,y)=max(||MV(x,y)=max(||MV NN N+1N+1 (x,y)-MV(x,y)-MV NN N+1N+1 (x+1,y)||(x+1,y)|| 22 -K-K nobreakbreak ,0),,0),

где MVN→N+1(x, y) - вектор движения блока (x, y),where MV N→N+1 (x, y) - block motion vector (x, y),

MVN→N+1(x+1,y) - вектор движения блока (x+1,y), иMV N→N+1 (x+1,y) is the motion vector of the block (x+1,y), and

Knobreak - предопределенное пороговое значение ‘отсутствия разрыва’. Конкретное значение Knobreak зависит от размера блока. В одном неограничивающем примере размера блока 8×8: Knobreak =4. В общем случае Knobreak может определяться, но без ограничения упомянутым, следующим образом Knobreak=min(h/2, w/2), где h - высота блока, а w - ширина блока. K nobreak - a predefined 'no break' threshold. The specific value of K nobreak depends on the block size. In one non-limiting example of an 8x8 block size: K nobreak =4. In general, K nobreak may be defined, but not limited to, as follows K nobreak= min(h/2, w/2) where h is the box height and w is the box width.

[0052] Для расположенных по вертикали пространственно соседних блоков (x, y) и (x, y+1) кадра разрыв mv_breakv(x, y) вычисляется согласно следующему Уравнению 3:[0052] For vertically spaced adjacent (x, y) and (x, y+1) frame blocks, mv_breakv(x, y) is calculated according to the following Equation 3:

mv_breakmv_break vv (xy)=max(||MV(xy)=max(||MV NN N+1N+1 (x, y)-MV(x, y)-MV NN N+1N+1 (x,y+1)||(x,y+1)|| 22 -K-K nobreakbreak ,0),,0),

где MVN→N+1(x,y) - вектор движения блока (x,y),where MV N→N+1 (x,y) - block motion vector (x,y),

MVN→N+1(x,y+1) - вектор движения блока (x,y+1), иMV N→N+1 (x,y+1) is the motion vector of the block (x,y+1), and

Knobreak - предопределенное пороговое значение ‘отсутствия разрыва’. Конкретное значение Knobreak зависит от размера блока. В одном неограничивающем примере для размера блока 8×8: Knobreak =4. Смысл заключается в том, что разрыв меньше, чем в половину линейного размера блока можно проигнорировать. Knobreak можно варьировать в пределах, от 25% до 100% от наименьшего линейного размера блока. K nobreak - a predefined 'no break' threshold. The specific value of K nobreak depends on the block size. In one non-limiting example, for a block size of 8x8: K nobreak =4. The point is that gaps less than half the block's linear size can be ignored. K nobreak can be varied from 25% to 100% of the smallest linear block size.

[0053] Таким образом, разрывы между пространственно соседними векторами движения вычисляются и подавляются для каждого блока по отдельности. Затем, когда разрывы посчитаны в каждом блоке, внутри каждого блока разрывы по горизонтали и разрывы по вертикали суммируются и нормируются. Затем эти суммированные значения сглаживаются. Более подробно эти вычисления будут описаны ниже.[0053] Thus, discontinuities between spatially adjacent motion vectors are calculated and suppressed for each block individually. Then, when the gaps are calculated in each block, within each block, the horizontal and vertical gaps are summed and normalized. These summed values are then smoothed. These calculations will be described in more detail below.

[0054] В приведенных выше Уравнениях 2 и 3 соседние векторы движения берутся из одного и того же поля движения вперед DWFW, N→N+1. Для поля движения назад DWBW, N+1→N разрывы между векторами движения расположенных по вертикали пространственно соседних блоков кадра и/или расположенных по горизонтали пространственно соседних блоков кадра могут быть вычислены аналогично приведенным выше Уравнениям 2 и 3. На Фиг. 4(c) приведено графическое представление обнаруженных разрывов между пространственно соседними векторами движения в поле движения назад.[0054] In Equations 2 and 3 above, adjacent motion vectors are taken from the same forward motion field DW FW, N→N+1 . For the backward motion field DW BW, N+1→N, gaps between motion vectors of vertically adjacent frame blocks and/or horizontally adjacent frame blocks can be calculated similarly to Equations 2 and 3 above. FIG. 4(c) is a graphical representation of the detected discontinuities between spatially adjacent motion vectors in the backward motion field.

[0055] После обнаружения разрывов между пространственно соседними векторами движения в по меньшей мере одном из поля движения вперед и поля движения назад, осуществляют этап S108.4, на котором обрабатывают разрывы, причем упомянутая обработка содержит подавление разрывов, которые перекрываются только с открывающимися окклюзиями для разрывов в поле движения назад или только с закрывающимися окклюзиями для разрывов в поле движения вперед, и усиление разрывов, которые перекрываются с неопределенными окклюзиями. [0055] After detecting discontinuities between spatially adjacent motion vectors in at least one of the forward motion field and the backward motion field, step S108.4 is performed in which the discontinuities are processed, said processing comprising suppressing discontinuities that overlap only with opening occlusions for discontinuities in the backward motion field, or with only closing occlusions for discontinuities in the forward motion field, and strengthening of discontinuities that overlap with indeterminate occlusions.

[0056] Обработка разрывов для подавления разрывов в поле движения вперед, которые перекрываются с закрывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент Omul(x, y) [0..1] (как показано, например, в Уравнении 1), значение которого уменьшается при обнаружении закрывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа закрывающихся окклюзий. Весовой коэффициент Omul(x, y) в этом случае может определяться согласно следующему Уравнению 4: [0056] Handling discontinuities to suppress discontinuities in the forward motion field that overlap with closing occlusions and amplify discontinuities that overlap with indeterminate occlusions comprises multiplying the corresponding artifact probability estimate value by a weighting factor Omul(x, y) [0.. 1] (as shown, for example, in Equation 1), the value of which decreases when a closing occlusion is detected and increases when the number of undefined occlusions increases and/or the number of closing occlusions decreases. The weighting factor Omul(x, y) in this case can be determined according to the following Equation 4:

Figure 00000001
Figure 00000002
Figure 00000001
Figure 00000002

где Covered(x, y) - число закрывающихся окклюзий в блоке с координатами (x, y),where Covered(x, y) is the number of covering occlusions in the block with coordinates (x, y),

Inconsistent(x, y) - число неопределенных окклюзий в блоке с координатами (x, y), Inconsistent(x, y) - number of inconsistent occlusions in the block with coordinates (x, y),

Figure 00000003
- коэффициент для усиления значимости неопределенных окклюзий. В одном варианте осуществления для блока 8×8 используется
Figure 00000004
. Это означает, что если более ¼ всех пикселей в блоке будут помечены как неопределенная окклюзия, то
Figure 00000005
, то есть подавление для этого блока не будет производиться. Таким образом, должно быть понятно, что конкретное значение коэффициента
Figure 00000006
в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 4.
Figure 00000003
- coefficient to enhance the significance of uncertain occlusions. In one embodiment, for an 8x8 block,
Figure 00000004
. This means that if more than ¼ of all pixels in the block are marked as indeterminate occlusion, then
Figure 00000005
, that is, suppression for this block will not be performed. Thus, it should be clear that the particular value of the coefficient
Figure 00000006
in other embodiments and for other block sizes, it may be equal to a value greater than or less than 4.

Figure 00000007
- число закрывающихся окклюзий в блоке в диапазоне [(число пикселей в блоке/3) .. (число пикселей в блоке)], с вычетом неопределенных окклюзий, усиленных коэффициентом
Figure 00000006
, при котором разрыв должен быть полностью подавлен. В одном варианте осуществления для блока 8×8 используется
Figure 00000008
. Это означает, что в блоке 8×8 должно быть более 62,5% закрывающихся окклюзий, при отсутствии неопределенных, чтобы разрыв был полностью подавлен. Таким образом, должно быть понятно, что конкретное значение коэффициента
Figure 00000007
в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 40.
Figure 00000007
- the number of closing occlusions in the block in the range [(number of pixels in the block / 3) .. (number of pixels in the block)], minus undefined occlusions, enhanced by the coefficient
Figure 00000006
, at which the discontinuity must be completely suppressed. In one embodiment, for an 8x8 block,
Figure 00000008
. This means that there must be more than 62.5% closing occlusions in an 8x8 block, with no undefined ones, for the gap to be completely suppressed. Thus, it should be clear that the particular value of the coefficient
Figure 00000007
in other embodiments and for other block sizes, may be equal to a value greater than or less than 40.

[0057] В других вариантах осуществления значение весового коэффициента Omul(x, y) может определяться иными математическими зависимостями при соблюдении условия увеличения коэффициента при увеличении числа неопределенных окклюзий или отсутствии любых окклюзий и уменьшения этого коэффициента при увеличении числа окклюзий одного типа при незначительном числе неопределенных окклюзий.[0057] In other embodiments, the value of the weight coefficient Omul(x, y) can be determined by other mathematical dependencies, subject to the condition of increasing the coefficient with an increase in the number of indefinite occlusions or the absence of any occlusions and decreasing this coefficient with an increase in the number of occlusions of the same type with a small number of undefined occlusions .

[0058] Обработка разрывов для подавления разрывов в поле движения назад, которые перекрываются с открывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент Omul(x, y) [0..1] (как показано, например, в Уравнении 1), значение которого уменьшается при обнаружении открывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа открывающихся окклюзий. Весовой коэффициент Omul(x, y) в этом случае может определяться согласно следующему Уравнению 5: [0058] Handling discontinuities to suppress discontinuities in the backward motion field that overlap with opening occlusions and amplify discontinuities that overlap with indeterminate occlusions comprises multiplying the corresponding artifact probability estimate value by a weight factor Omul(x, y) [0.. 1] (as shown, for example, in Equation 1), the value of which decreases when an opening occlusion is detected and increases when the number of undefined occlusions increases and/or the number of opening occlusions decreases. The weighting factor Omul(x, y) in this case can be determined according to the following Equation 5:

Figure 00000001
Figure 00000009
Figure 00000001
Figure 00000009

где Uncovered(x, y) - число открывающихся окклюзий в блоке с координатами (x, y),where Uncovered(x, y) - the number of opening occlusions in the block with coordinates (x, y),

Inconsistent(x, y) - число неопределенных окклюзий в блоке с координатами (x, y),Inconsistent(x, y) - number of inconsistent occlusions in the block with coordinates (x, y),

Figure 00000007
,
Figure 00000010
могут принимать те же числовые значения, что и в Уравнении 4.
Figure 00000007
,
Figure 00000010
can take the same numerical values as in Equation 4.

[0059] В качестве альтернативы или в дополнение весовые коэффициенты Omul(x, y) могут определяться с учетом окклюзий расположенных по вертикали блоков. Тогда вышеуказанные Уравнения 4 и 5 могут быть модифицированы следующим образом:[0059] Alternatively, or in addition, the Omul(x, y) weights may be determined based on vertical block occlusions. Then Equations 4 and 5 above can be modified as follows:

Модифицированное уравнение 4:Modified Equation 4:

Figure 00000001
Figure 00000011
Figure 00000001
Figure 00000011

Модифицированное уравнение 5:Modified Equation 5:

Figure 00000001
Figure 00000012
Figure 00000001
Figure 00000012

[0060] Вышеописанная зависимость значения весового коэффициента Omul(x, y) [0..1] от числа окклюзий проиллюстрирована на среднем графике на Фиг. 6. Как проиллюстрировано на среднем графике на Фиг. 6 значение весового коэффициента Omul(x, y) определяется равным 1 (что соответствует полному отсутствию подавления/усиления), когда число окклюзий равняется 0. Кроме того, как показано на Фиг. 6 значение весового коэффициента Omul(x, y) определяется равным 0 (что соответствует полному подавлению/усилению), когда число окклюзий больше или равно пороговому значению числа окклюзий, которое в показанном неограничивающем примере равняется 40. Как отмечено выше, в других вариантах осуществления значение весового коэффициента Omul(x, y) может определяться равным 0 при большем или меньшем пороговом значении числа окклюзий, чем 40. Кроме того, должно быть понятно, что зависимость весового коэффициента Omul(x, y) и соответствующих пороговых значений числа окклюзий может определяться путем изменения соответствующего параметра наклона прямой, показанной на среднем графике на Фиг. 6. [0060] The above-described dependence of the value of the weight coefficient Omul(x, y) [0..1] on the number of occlusions is illustrated in the middle graph in FIG. 6. As illustrated in the middle graph in FIG. 6, the weight value Omul(x, y) is determined to be 1 (corresponding to no suppression/enhancement at all) when the number of occlusions is 0. Also, as shown in FIG. 6, the weight value Omul(x, y) is determined to be 0 (corresponding to full suppression/amplification) when the number of occlusions is greater than or equal to the threshold number of occlusions, which in the non-limiting example shown is 40. As noted above, in other embodiments, the value weight coefficient Omul(x, y) may be determined to be 0 with a greater or lesser threshold value of the number of occlusions than 40. In addition, it should be understood that the dependence of the weight coefficient Omul(x, y) and the corresponding threshold values of the number of occlusions may be determined by changes in the corresponding parameter of the slope of the straight line shown in the middle graph in FIG. 6.

[0061] На Фиг. 4(e) приведено графическое представление результатов обработки разрывов на этапе S108.4, которые были обнаружены на этапе S108.2. Если сравнить Фиг. 4(e) (после обработки) с Фиг. 4(с) (до обработки), можно заметить, что обработка разрывов на этапе S108.4 привела к тому, что часть разрывов в области кадра, которая находится ближе к нижней границе кадра (под ладонью руки, показанной в кадре) подавлена, поскольку вероятность появления артефакта в данной области низка, т.к. данная область соответствует фоновой области кадра, в которой какого-либо движения нет или оно минимально. При этом можно заметить, что часть разрывов в другой области кадра, которая соответствует ладони руки, показанной в кадре, усилена, поскольку вероятность появления артефакта в данной области высока, т.к. по факту данная область соответствует области переднего плана, т.е. в этой области крайне вероятно быстрое и/или нелинейное движение.[0061] In FIG. 4(e) is a graphical representation of the results of the discontinuity processing in step S108.4 that were detected in step S108.2. If we compare Fig. 4(e) (after processing) of FIG. 4(c) (before processing), it can be seen that the tearing processing in step S108.4 caused a part of the tearing in the frame area that is closer to the lower frame boundary (below the palm of the hand shown in the frame) to be suppressed because the probability of an artifact appearing in this area is low, because this area corresponds to the background area of the frame, in which there is no movement or it is minimal. At the same time, it can be seen that part of the breaks in another area of the frame, which corresponds to the palm of the hand shown in the frame, is enhanced, since the probability of an artifact in this area is high, because. in fact, this area corresponds to the foreground area, i.e. fast and/or non-linear movement is highly likely in this area.

[0062] После обработки разрывов на этапе S108.4, переходят к этапу S108.5, на котором осуществляют подавление разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения этих соседних векторов движения. Само подавление на данном этапе реализуется умножением соответствующего значения оценки вероятности появления артефакта на весовой коэффициент Mmul(x, y) [0..1] (как показано, например, в Уравнении 1), который уменьшается при увеличении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в ноль при достижении первого предопределенного порогового значения метрики оценки движения (в неограничивающем примере на верхнем графике на Фиг. 6, первое предопределенное пороговое значение метрики оценки движения равно 4), и увеличивается при уменьшении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в единицу при достижении второго предопределенного порогового значения метрики оценки движения (в неограничивающем примере на верхнем графике на Фиг. 6, второе предопределенное пороговое значение метрики оценки движения равно 20). Кроме того, должно быть понятно, что зависимость весового коэффициента Mmul (x, y) и соответствующих первого предопределенного порогового значения метрики оценки движения и второго предопределенного порогового значения метрики оценки движения может определяться путем изменения соответствующего параметра наклона прямой, показанной на верхнем графике на Фиг. 6. [0062] After discontinuity processing in step S108.4, proceed to step S108.5 where discontinuities between spatially adjacent motion vectors are suppressed based on the motion estimation metric values of these adjacent motion vectors. The suppression itself at this stage is implemented by multiplying the corresponding value of the artifact occurrence probability estimate by the weight coefficient Mmul(x, y) [0..1] (as shown, for example, in Equation 1), which decreases as the maximum value of the motion estimation metric values increases in the considered pair of motion vectors, going to zero when the first predetermined threshold value of the motion estimation metric is reached (in the non-limiting example in the upper graph of Fig. 6, the first predetermined threshold value of the motion estimation metric is 4), and increasing as the maximum value of the metric values decreases motion estimation in the considered pair of motion vectors, turning to one when the second predetermined threshold value of the motion estimation metric is reached (in the non-limiting example of the upper graph in Fig. 6, the second predetermined threshold value of the motion estimation metric is 20). In addition, it should be understood that the dependence of the weighting factor Mmul (x, y) and the respective first predetermined motion estimation metric threshold and the second predetermined motion estimation metric threshold can be determined by changing the respective slope parameter of the straight line shown in the top graph of FIG. 6.

[0063] Должно быть понятно, что поскольку более низкие значения метрики оценки движения соответствуют более высокой точности оценки движения, т.е. более высокому сходству частей кадров или более высокой мере доверия найденному вектору движения, при более низких значениях метрики оценки движения весовой коэффициент Mmul(x, y) определяется более низким (т.е. более близким к 0), чтобы подавлять соответствующий разрыв, поскольку вероятность появления артефакта в этой области с высокой точностью оценки движения будет низкой. Напротив, поскольку более высокие значения метрики оценки движения соответствуют более низкой точности оценки движения, т.е. более низкому сходству частей кадров или более низкой мере доверия найденному вектору движения, при более высоких значениях метрики оценки движения весовой коэффициент Mmul(x, y) определяется более высоким (т.е. более близким к 1), чтобы не подавлять соответствующий разрыв, поскольку вероятность появления артефакта в этой области с низкой точностью оценки движения будет высокой.[0063] It should be understood that since lower motion estimation metric values correspond to higher motion estimation accuracy, i. e. higher similarity of parts of frames or higher confidence in the found motion vector, at lower values of the motion estimation metric, the weight coefficient Mmul(x, y) is determined lower (i.e., closer to 0) to suppress the corresponding discontinuity, since the probability artifact occurrence in this area with high motion estimation accuracy will be low. On the contrary, since higher motion estimation metric values correspond to lower motion estimation accuracy, i.e. lower similarity of parts of frames or lower confidence in the found motion vector, at higher values of the motion estimation metric, the weight coefficient Mmul(x, y) is determined higher (i.e., closer to 1) so as not to suppress the corresponding discontinuity, since the probability of an artifact appearing in this area with low motion estimation accuracy will be high.

[0064] В случае использования средней абсолютной разности (MAD) в качестве метрики оценки движения весовой коэффициент Mmul(x, y) может определяться согласно следующему Уравнению 6: [0064] In the case of using the mean absolute difference (MAD) as the motion estimation metric, the weighting factor Mmul(x, y) may be determined according to the following Equation 6:

Figure 00000013
Figure 00000013

Figure 00000014
Figure 00000014

где MADN→N+1 (x, y) - значение средней абсолютной разности для вектора движения из поля движения вперед в блоке с координатами (x, y); where MAD N→N+1 (x, y) is the value of the average absolute difference for the motion vector from the forward motion field in the block with coordinates (x, y);

где MADN→N+1 (x+1,y) - значение средней абсолютной разности для вектора движения из поля движения вперед в блоке с координатами (x+1,y),where MAD N→N+1 (x+1,y) is the value of the average absolute difference for the motion vector from the forward motion field in the block with coordinates (x+1,y),

Figure 00000015
- предопределенное пороговое значение средней абсолютной разности, если усредненные значения средней абсолютной разности обоих блоков меньше этого значения, то разрыв полностью подавляется, то есть
Figure 00000016
.
Figure 00000015
может лежать в диапазоне от 0 до максимально возможной средней абсолютной разности.
Figure 00000015
целесообразно выбирать в зависимости от уровня шума в кадре или видеопоследовательности. Чем выше амплитуда шума, тем больше значение
Figure 00000015
. В одном варианте осуществления используется
Figure 00000015
=4 для видео с низким уровнем шума. Тем не менее, должно быть понятно, что конкретное значение коэффициента
Figure 00000015
в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 4.
Figure 00000015
- a predefined threshold value of the average absolute difference, if the average values of the average absolute difference of both blocks are less than this value, then the gap is completely suppressed, i.e.
Figure 00000016
.
Figure 00000015
can range from 0 to the maximum possible mean absolute difference.
Figure 00000015
it is advisable to choose depending on the level of noise in the frame or video sequence. The higher the amplitude of the noise, the greater the value
Figure 00000015
. In one embodiment, it uses
Figure 00000015
=4 for low noise video. However, it should be clear that the specific value of the coefficient
Figure 00000015
in other embodiments and for other block sizes, it may be equal to a value greater than or less than 4.

Figure 00000017
- предопределенное пороговое значение средней абсолютной разности, если усредненные значения средней абсолютной разности обоих блоков больше этого значения, то разрыв не подавляется, то есть
Figure 00000018
.
Figure 00000017
должен быть больше
Figure 00000015
и лежать в том же возможном диапазоне.
Figure 00000019
целесообразно выбирать в зависимости от чувствительности человека к изменению яркости или в зависимости от средней контрастности кадра. В одном варианте осуществления используется
Figure 00000017
=20 для контрастных кадров, поскольку перепад в 20 уровней яркости (при максимальной яркости 256) хорошо виден человеком. Тем не менее, должно быть понятно, что конкретное значение коэффициента
Figure 00000017
в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 20.
Figure 00000017
- a predefined threshold value of the average absolute difference, if the average values of the average absolute difference of both blocks are greater than this value, then the gap is not suppressed, i.e.
Figure 00000018
.
Figure 00000017
should be more
Figure 00000015
and lie in the same possible range.
Figure 00000019
it is advisable to choose depending on the sensitivity of a person to a change in brightness or depending on the average contrast of the frame. In one embodiment, it uses
Figure 00000017
=20 for contrast frames, since a difference of 20 brightness levels (with a maximum brightness of 256) is clearly visible to a person. However, it should be clear that the specific value of the coefficient
Figure 00000017
in other embodiments and for other block sizes, it may be equal to a value greater than or less than 20.

[0065] В случае использования суммы абсолютных разностей (SAD) в качестве метрики оценки движения весовой коэффициент Mmul(x, y) может определяться согласно следующему Уравнению 7:[0065] In the case of using the sum of absolute differences (SAD) as a motion estimation metric, the weighting factor M mul (x, y) may be determined according to the following Equation 7:

Figure 00000020
Figure 00000020

Figure 00000021
Figure 00000021

где SADN→N+1 (x, y) - значение суммы абсолютных разностей для вектора движения из поля движения вперед в блоке с координатами (x, y); where SAD N→N+1 (x, y) is the value of the sum of absolute differences for the motion vector from the forward motion field in the block with coordinates (x, y);

где SADN→N+1 (x+1,y) - значение суммы абсолютных разностей для вектора движения из поля движения вперед в блоке с координатами (x+1,y). where SAD N→N+1 (x+1,y) is the value of the sum of absolute differences for the motion vector from the forward motion field in the block with coordinates (x+1,y).

Figure 00000022
и
Figure 00000022
имеют то же смысловое значение, что коэффициенты
Figure 00000015
и
Figure 00000015
и их значения предопределяются из тех же соображений. Например, можно использовать следующие коэффициенты:
Figure 00000022
and
Figure 00000022
have the same meaning as the coefficients
Figure 00000015
and
Figure 00000015
and their meanings are predetermined from the same considerations. For example, you can use the following ratios:

Figure 00000023
, и
Figure 00000023
, and

Figure 00000024
.
Figure 00000024
.

[0066] В качестве альтернативы или в дополнение весовые коэффициенты Mmul(x, y) могут определяться с учетом разностей векторов движения расположенных по вертикали блоков. Тогда вышеуказанные уравнения 6 и 7 могут быть модифицированы следующим образом:[0066] Alternatively or in addition, the weighting coefficients Mmul(x, y) may be determined taking into account the differences in the motion vectors of the vertical blocks. Then Equations 6 and 7 above can be modified as follows:

Модифицированное уравнение 6:Modified Equation 6:

Figure 00000013
Figure 00000013

Figure 00000025
Figure 00000025

Модифицированное уравнение 7:Modified Equation 7:

Figure 00000020
Figure 00000020

Figure 00000026
Figure 00000026

[0067] На Фиг. 4(f) приведено графическое представление результатов подавления разрывов на этапе S108.5. Если сравнить Фиг. 4(f) (после подавления разрывов) с Фиг. 4(e) (с обработанными разрывами), можно заметить, что выполнение этапа S108.5 привело к подавлению практически всех разрывов в области заднего фона, поскольку вероятность появления артефакта в данной области (при интерполяции кадра с компенсацией движения), обладающей высокой точностью оценки движения, низка. То, что проиллюстрировано на Фиг. 4(f) является графическим представлением вычисленной на этапе S108 оценки APM вероятности появления артефакта, указывающей вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром в блоке с координатой (x, y). Более светлые области на Фиг. 4(f) соответствуют более высокой оценке вероятности появления артефакта, а более темные области соответствуют более низкой оценке вероятности.[0067] In FIG. 4(f) is a graphical representation of the results of discontinuity suppression in step S108.5. If we compare Fig. 4(f) (after tear suppression) of FIG. 4(e) (with discontinuities processed), it can be seen that the execution of step S108.5 resulted in the suppression of almost all discontinuities in the background region, since the probability of an artifact in this region (in motion-compensated frame interpolation) having a high estimation accuracy movement, low. What is illustrated in FIG. 4(f) is a graphical representation of the artifact occurrence probability calculated in step S108 APM indicating the occurrence probability of the artifact when the motion compensation frame is interpolated between the first frame and the second frame in the (x, y) coordinate block. The lighter areas in Fig. 4(f) correspond to a higher estimate of the likelihood of an artifact, and darker areas correspond to a lower estimate of the probability.

[0068] Возвращаясь к Фиг. 1, после вычисления оценки APM(x, y) вероятности появления артефакта, указывающей вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром, способ переходит на этап S110, на котором выполняют сглаживающую фильтрацию оценки вероятности появления артефакта. Вычисленная оценка APM является высокочувствительным обнаружением, однако она может быть неточной из-за шума во входных векторах движения. Таким образом, вычисленная оценка APM также может содержать высокий уровень шума. Кроме того, одиночный разрыв обычно не приводит к появлению заметного артефакта, так как один блок - это небольшая часть кадра. В то же время множество блоков с высокой оценкой APM(x, y) в какой-то одной области однозначно указывают на появление артефакта. Сглаживающую фильтрацию оценки APM вероятности появления артефакта выполняют на данном этапе, чтобы убрать шум и одиночные разрывы.[0068] Returning to FIG. 1, after computing an artifact occurrence probability estimate APM(x, y) indicating the occurrence probability of an artifact when interpolating a motion-compensated frame between the first frame and the second frame, the method proceeds to step S110 where smooth filtering of the artifact occurrence probability estimate is performed. The calculated APM estimate is a highly sensitive detection, however it may be inaccurate due to noise in the input motion vectors. Thus, the calculated APM estimate may also contain a high level of noise. In addition, a single tear usually does not result in a noticeable artifact, since one block is a small part of the frame. At the same time, many blocks with a high APM(x, y) score in one area clearly indicate the appearance of an artifact. Smoothing filtering of the artifact probability estimate APM is performed at this stage to remove noise and single discontinuities.

[0069] Сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, например, но без ограничения упомянутым, прямоугольным фильтром, Гауссовским фильтром или любым другим фильтром нижних частот, выполняющим сглаживание/размытие. Поясняемые далее аспекты настоящего изобретения, связанные со сглаживающей фильтрацией, подробно и наглядно описаны ниже со ссылкой на Фиг. 5. [0069] The smoothing filtering of the artifact probability estimate is performed by a digital filter, such as, but not limited to, a rectangular filter, a Gaussian filter, or any other low-pass filter that performs smoothing/blurring. The anti-aliasing filtering aspects of the present invention, to be explained further, are described in detail and illustratively below with reference to FIG. five.

[0070] На Фиг. 5 показан пример двух кадров одной и той же сцены в двух разных разрешениях. Ширина верхнего изображения составляет 640 пикселей, ширина нижнего изображения составляет 1280 пикселей. На Фиг. 5 наглядно показано, что блок 8×8 пикселей верхнего изображения в низком разрешении захватывает большую область физического пространства сцены, чем блок 8×8 пикселей нижнего изображения в высоком разрешении. Соответственно, размер области артефакта на верхнем изображении в низком разрешении составляет 3×4 блока, тогда как размер области того же самого артефакта на нижнем изображении в высоком разрешении составляет 6×8 блоков. [0070] In FIG. Figure 5 shows an example of two frames of the same scene at two different resolutions. The width of the top image is 640px, the width of the bottom image is 1280px. On FIG. 5 clearly shows that the 8×8 pixel block of the upper image in low resolution captures a larger area of the physical space of the scene than the 8×8 pixel block of the lower image in high resolution. Accordingly, the size of the artifact region in the upper low resolution image is 3×4 blocks, while the size of the same artifact region in the lower high resolution image is 6×8 blocks.

[0071] Учитывая вышесказанное, авторы настоящего изобретения предусмотрели в одном варианте осуществления возможность изменения размера фильтра, используемого для сглаживающей фильтрации, адаптивно к разрешению кадра. В другом варианте осуществления авторы настоящего изобретения предусмотрели возможность изменения размера фильтра, используемого для сглаживающей фильтрации, адаптивно к разрешению кадра и к предопределенному минимальному размеру обнаруживаемого артефакта. Данные варианты осуществления настоящего изобретения позволяют повысить универсальность раскрытого способа преобразования частоты кадров видео (т.е. делают его независящим от разрешения входных кадров и позволяют регулировать строгость параметров, при которых выбирается замена интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров).[0071] In view of the above, the authors of the present invention have provided in one embodiment, the ability to change the size of the filter used for anti-aliasing filtering adaptively to the resolution of the frame. In another embodiment, the authors of the present invention have provided the ability to change the size of the filter used for anti-aliasing filtering adaptively to the frame resolution and to a predetermined minimum size of the artifact to be detected. These embodiments of the present invention increase the versatility of the disclosed video frame rate conversion method (i.e., make it independent of the resolution of the input frames and allow adjustment of the stringency of the parameters that select to replace motion-compensated frame interpolation with a linear combination of adjacent reference frames).

[0072] В том варианте осуществления, в котором размер прямоугольного фильтра определяется адаптивно к разрешению кадра, определение может осуществляться согласно следующему Уравнению 8, согласно которому сначала получают площадь фильтра:[0072] In an embodiment in which the rectangular filter size is determined adaptively to the frame resolution, the determination may be performed according to the following Equation 8, according to which the filter area is first obtained:

FilterArea=4*5*(h*w)/(960*540)FilterArea=4*5*(h*w)/(960*540)

где FilterArea - площадь фильтра в блоках,where FilterArea - filter area in blocks,

h - высота обрабатываемого кадра в пикселях, и h is the height of the processed frame in pixels, and

w - ширина обрабатываемого кадра в пикселях. w - width of the processed frame in pixels.

[0073] 960х540 - это базовые ширина и высота кадра в пикселях, для которого установлены базовые размеры сглаживающего фильтра 4х5. Соответственно рассчитываемая площадь фильтра будет расти или падать в зависимости от количества пикселей в обрабатываемом кадре (h, w) относительно базового кадра пропорционально (h*w)/(960*540). То есть пиксели из размерности уйдут, а останутся блоки (4х5) в квадрате. После вычисления площади фильтра в блоках, линейный размер сглаживающего фильтра может быть вычислен путем взятия корня из FilterArea.[0073] 960x540 is the base width and height of the frame in pixels, for which the base dimensions of the anti-aliasing filter are set to 4x5. Accordingly, the calculated filter area will grow or fall depending on the number of pixels in the processed frame (h, w) relative to the base frame in proportion to (h*w)/(960*540). That is, the pixels will leave the dimension, and the blocks (4x5) in the square will remain. After calculating the filter area in blocks, the linear size of the smoothing filter can be calculated by taking the root of the FilterArea.

[0074] В том варианте осуществления, в котором размер прямоугольного фильтра определяется адаптивно к разрешению кадра и к предопределенному минимальному размеру обнаруживаемого артефакта, определение может осуществляться согласно следующему модифицированному Уравнению 8, согласно которому сначала получают площадь фильтра:[0074] In an embodiment in which the rectangular filter size is determined adaptively to the frame resolution and to a predetermined minimum detectable artifact size, the determination may be performed according to the following modified Equation 8, according to which the filter area is first obtained:

FilterArea=4*5*KFilterArea=4*5*K senssens __ areaarea *(h*w)/(960*540)*(h*w)/(960*540)

где Ksens_area - предопределенный минимальный размер обнаруживаемого артефакта: Ksens_area < 1 для более чувствительного к артефактам случая, в котором приоритетом является наилучшее качество изображения, и Ksens_area > 1 для менее чувствительного к артефактам случая, в котором приоритетом является наибольшая скорость обработки. Пояснения в отношении базовых значений 4 и 5, 960*540 в модифицированном Уравнении 8 аналогичны таковым, приведенным выше в отношении Уравнения 8. После вычисления площади фильтра в блоках согласно модифицированному Уравнению 8, линейный размер сглаживающего фильтра может быть вычислен путем взятия корня из FilterArea.where K sens_area is a predefined minimum size of the detected artifact: K sens_area < 1 for the more artifact-sensitive case, in which the best image quality is a priority, and K sens_area > 1 for the less artifact-sensitive case, in which the highest processing speed is a priority. The explanations for base values 4 and 5, 960*540 in modified Equation 8 are similar to those given above for Equation 8. After calculating the filter area in blocks according to modified Equation 8, the linear size of the smoothing filter can be calculated by taking the root of the FilterArea.

[0075] Результат сглаживающей фильтрации, выполненной на этапе S110, наглядно проиллюстрирован на Фиг. 4(g). Видно, что шум, имевшийся в оценке APM вероятности появления артефакта, и одиночные разрывы, которые не будут приводить заметному ухудшению качества промежуточного кадра, успешно устранены благодаря выполненной фильтрации. Далее именно такая сглаженная оценка APM вероятности появления артефакта, точно указывающая область артефакта (область быстрого и нелинейного движения ладони в проиллюстрированном примере), используется для получения промежуточных кадров.[0075] The result of the smoothing filtering performed in step S110 is clearly illustrated in FIG. 4(g). It can be seen that the noise present in the APM estimation of the artifact occurrence probability and single discontinuities, which will not lead to a noticeable deterioration in the quality of the intermediate frame, have been successfully eliminated due to the performed filtering. Further, just such a smoothed APM estimate of the probability of occurrence of an artifact, accurately indicating the area of the artifact (the area of fast and non-linear movement of the palm in the illustrated example), is used to obtain intermediate frames.

[0076] На этапе S112 получают при осуществлении FRC-преобразования, для обрабатываемой пары кадров, один или более промежуточных кадров с учетом значений сглаженной оценки APM вероятности появления артефакта. Таким образом, описанный выше способ FRC-преобразования повышает точность обнаружения возможных артефактов, появляющихся при интерполяции с компенсацией движения и, как следствие, повышает точность принятия решения (в силу более точной оценки APM вероятности появления артефакта) в той или иной ситуации, следует ли выполнять частичную или полную замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Наконец, вышеописанный способ пригоден для реализации на устройствах с ограниченными ресурсами в реальном времени, поскольку большая часть обработки данных выполняется на поблочной основе. [0076] In step S112, when performing the FRC transform, for the processed pair of frames, one or more intermediate frames are obtained, taking into account the values of the smoothed APM estimate of the probability of occurrence of the artifact. Thus, the FRC transform method described above improves the detection accuracy of possible artifacts that appear during motion-compensated interpolation and, as a result, improves the decision accuracy (due to a more accurate APM estimate of the artifact occurrence probability) in a given situation, whether to perform partial or complete replacement of motion-compensated frame interpolation with a linear combination of adjacent reference frames. Finally, the above method is suitable for implementation on devices with limited resources in real time, since most of the data processing is performed on a block basis.

[0077] Далее описывается то, как именно значения сглаженной оценки APM вероятности появления артефакта могут учитываться при получении одного или более промежуточных кадров во время FRC-преобразования. Тем не менее не следует ограничивать настоящее изобретение описанными далее процедурами, поскольку специалистам, после ознакомления с нижеследующей информацией, станут понятны и другие возможные процедуры. Когда максимальное значение сглаженной оценки вероятности появления артефакта больше или равно предопределенному глобальному пороговому значению max(APMfilt)≥Tglob, при получении на этапе S112 одного или более промежуточных кадров выполняют глобальную линейную комбинацию соседних опорных кадров. Глобальная линейная комбинация представляет собой замену интерполированного с компенсацией движения кадра It линейной комбинацией (взвешенной суммой) опорных кадров I0 и I1 и может выполняться согласно следующему Уравнению 9:[0077] The following describes how the values of the APM smoothed estimate of the artifact occurrence probability can be taken into account when obtaining one or more intermediate frames during the FRC transform. However, the present invention should not be limited to the procedures described below, since other possible procedures will become clear to those skilled in the art upon reading the following information. When the maximum value of the smoothed artifact occurrence probability estimate is greater than or equal to the predetermined global threshold value max(APM filt )≥T glob , when one or more intermediate frames are received in step S112, a global linear combination of adjacent reference frames is performed. The global linear combination is the replacement of the motion-compensated interpolated frame I t with a linear combination (weighted sum) of the reference frames I 0 and I 1 and can be performed according to the following Equation 9:

Figure 00000027
, где
Figure 00000028
Figure 00000027
, where
Figure 00000028

где α - фаза, используемая для указания момента времени для которого получают один или более промежуточных кадров, 0≤α≤1, опорные кадры I0 и I1 являются ближайшими во времени к упомянутому моменту времени.where α is the phase used to indicate the point in time for which one or more intermediate frames are received, 0≤α≤1, the reference frames I 0 and I 1 are closest in time to the mentioned point in time.

[0078] При этом когда максимальное значение сглаженной оценки вероятности появления артефакта меньше предопределенного глобального порогового значения max(APMfilt)<Tglob, при получении на этапе S112 одного или более промежуточных кадров выполняют интерполяцию кадра с компенсацией движения соседних опорных кадров. Интерполяция кадра с компенсацией движения соседних опорных кадров может быть выполнена любым известным из уровня техники способом или любым другим способом, который будет разработан в будущем развитии данной технологии. Неограничивающими примерами возможных способов интерполяции кадра с компенсацией движения являются способы, описанные в патенте США US8175163B2 (SAMSUNG ELECTRONICS CO LTD., опубликованном 16.12.2010), а также в разделе 2 статьи под названием “ROBUST MOTION-COMPENSATED VIDEO UPCONVERSION” (Olukayode Anthony Ojo and Gerard de Haan Phillips Research Laboratories, Television Systems Group, Prof. Holstlaan 4, 5656 AA Eindhoven, The Netherlands, 1997).[0078] Meanwhile, when the maximum value of the smoothed estimate of the artifact occurrence probability is less than the predetermined global threshold value max(APM filt )<T glob , when one or more intermediate frames are received in step S112, frame interpolation is performed with motion compensation of adjacent reference frames. Frame interpolation with motion compensation of neighboring reference frames can be performed by any method known in the art or by any other method that will be developed in the future development of this technology. Non-limiting examples of possible motion-compensated frame interpolation methods are those described in US Patent US8175163B2 (SAMSUNG ELECTRONICS CO LTD., published Dec. 16, 2010), as well as Section 2 of an article titled “ROBUST MOTION-COMPENSATED VIDEO UPCONVERSION” (Olukayode Anthony Ojo and Gerard de Haan Phillips Research Laboratories, Television Systems Group, Prof. Holstlaan 4, 5656 AA Eindhoven, The Netherlands, 1997).

[0079] Далее, в одной примерной реализации, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров (т.е. max(APMfilt)<Tglob), способ может содержать выполнение локальной линейной комбинации как взвешенной суммы промежуточного кадра, получаемого интерполяцией с компенсацией движения, и линейной комбинации упомянутой пары кадров, причем веса для каждого блока вычисляются на основе значений сглаженной оценки вероятности появления артефакта. Таким образом, локальная линейная комбинация может выполняться согласно следующему Уравнению 10:[0079] Further, in one exemplary implementation, when it is determined to perform motion-compensated interpolation of adjacent reference frames (i.e., max(APM filt )<T glob ), the method may comprise performing a local linear combination as a weighted sum of the intermediate frame , obtained by motion-compensated interpolation, and a linear combination of said pair of frames, wherein the weights for each block are calculated based on the values of the smoothed artifact probability estimate. Thus, the local linear combination can be performed according to the following Equation 10:

Figure 00000029
,
Figure 00000029
,

где α - фаза, используемая для указания момента времени для которого получают один или более промежуточных кадров, 0≤α≤1, опорные кадры I0 и I1 являются ближайшими во времени к упомянутому моменту времени,where α is the phase used to indicate the time point for which one or more intermediate frames are received, 0≤α≤1, reference frames I 0 and I 1 are closest in time to the said time point,

β(x, y)=0 устанавливается для блока с координатами (x, y), который в получаемом промежуточном изображении должен быть полностью получен линейной комбинацией опорных кадров, а β(x, y)=1 устанавливается для блока с координатами (x, y), который в получаемом промежуточном изображении будет полностью получаться интерполяцией с компенсацией движения; 0≤β(x, y)≤1. То, для какого блока следует установить β(x, y) близкие к 0, а для какого блока следует установить β(x, y) близкие к 1 может определяться на основе значения сглаженной оценки APMfilt(x, y) вероятности появления артефакта в этом блоке. Например, если предварительно ограничить диапазон значений APMfilt(x, y)

Figure 00000030
[0..1], то можно установить β(x, y)=1- APMfilt(x, y). β(x, y)=0 is set for the block with coordinates (x, y), which in the resulting intermediate image must be completely obtained by a linear combination of reference frames, and β(x, y)=1 is set for the block with coordinates (x, y), which in the resulting intermediate image will be completely obtained by motion-compensated interpolation; 0≤β(x, y)≤1. Which block should be set β(x, y) close to 0 and which block should be set β(x, y) close to 1 can be determined based on the value of the smoothed estimate APM filt (x, y) of the probability of artifact occurrence in this block. For example, if you preliminarily limit the range of values APM filt (x, y)
Figure 00000030
[0..1], then we can set β(x, y)=1- APM filt (x, y).

[0080] Альтернативным условием для выполнения локальной линейной комбинации может быть следующее условие. Когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров (т.е. max(APMfilt)<Tglob), способ может содержать выполнение локальной линейной комбинации для по меньшей мере некоторых блоков соседних опорных кадров в случае, когда: число упомянутых по меньшей мере некоторых блоков соседних опорных кадров, значения сглаженной оценки APMfilt вероятности появления артефакта которых меньше предопределенного локального порогового значения ThighGlobal, являющегося максимальным значением оценки вероятности появления артефакта, при котором допустимо применять локальную линейную комбинацию, не превышает предопределенное максимальное число Tlocal блоков, для которого допустимо применять локальную линейную комбинацию, причем предопределенное локальное пороговое значение ThighGlobal меньше предопределенного глобального порогового значения Tglob. Сама операция локальной линейной комбинация в этом варианте выполняется аналогично приведенному выше Уравнению 10.[0080] An alternative condition for performing a local linear combination may be the following condition. When it is determined to perform motion-compensated interpolation of adjacent reference frames (i.e., max(APM filt )<T glob ), the method may comprise performing a local linear combination on at least some blocks of adjacent reference frames when: of at least some blocks of neighboring reference frames, the values of the smoothed estimate APM filt of the artifact probability of which is less than a predefined local threshold value T highGlobal , which is the maximum value of the artifact probability estimate at which it is permissible to apply a local linear combination, does not exceed the predefined maximum number T local blocks, for which it is permissible to apply a local linear combination, and the predefined local threshold value T highGlobal is less than the predefined global threshold value T glob . The local linear combination operation itself in this embodiment is performed similarly to Equation 10 above.

[0081] В альтернативном варианте осуществления настоящего изобретения способ дополнительно содержит определение на этапе S108.1 адаптивного к разрешению кадра весового коэффициента и применение S108.3 этого весового коэффициента для усиления обнаруживаемых S108.2 разрывов между пространственно соседними векторами движения. В этом варианте осуществления оценку APM вероятности появления артефакта можно корректировать с помощью весового коэффициента Kresolution и масштабирующего коэффициента Kbreak_gain. Таким образом, адаптивная к разрешению кадра оценка вероятности появления артефакта может определяться согласно модифицированному Уравнению 1:[0081] In an alternative embodiment of the present invention, the method further comprises determining in step S108.1 a frame resolution adaptive weight and applying S108.3 this weight to enhance discontinuities between spatially adjacent motion vectors detected by S108.2. In this embodiment, the APM's estimate of the artifact occurrence probability can be adjusted with a weighting factor K resolution and a scaling factor K break_gain . Thus, the frame resolution-adaptive artifact probability estimate can be determined according to the modified Equation 1:

APM(x,y)=H(mv_break(x,y))*[1+mv_break(x,y)*KAPM(x,y)=H(mv_break(x,y))*[1+mv_break(x,y)*K break_gainbreak_gain **

KK resolutionresolution ]*Mmul*Omul,]*Mmul*Omul,

где Kbreak_gain - предопределенный масштабирующий коэффициент, делающий размерность mv_break сопоставимой с размерностью H(mv_break). В одном неограничивающем примере Kbreak_gain=1/32. То есть разность векторов движения в соседних блоках магнитудой в 32+ Knobreak будет удваивать изначальное значение разрыва. Изначальное значение - это результат функции Хевисайда, то есть 1. Kbreak_gain можно изменять в пределах от 0 до 1/8, уменьшая или увеличивая таким образом усиление разрыва в зависимости от магнитуды разности векторов движения. Например, целесообразно, но не обязательно, увеличивать Kbreak_gain на видео с небольшими амплитудами движения и уменьшать на видео со сложным высокоамплитудным движением. Кроме того, можно увеличивать Kbreak_gain для усиления разрыва с целью поднять общую чувствительность оценки вероятности появления артефакта.where K break_gain is a predefined scaling factor making the dimension of mv_break comparable to the dimension of H(mv_break). In one non-limiting example, K break_gain =1/32. That is, the difference in motion vectors in neighboring blocks with a magnitude of 32+ K nobreak will double the initial value of the gap. The initial value is the result of the Heaviside function, i.e. 1. K break_gain can be changed from 0 to 1/8, thus decreasing or increasing the break gain depending on the magnitude of the motion vector difference. For example, it is advisable, but not necessary, to increase K break_gain on video with small amplitudes of motion and decrease it on video with complex high-amplitude motion. In addition, you can increase K break_gain to increase the gap in order to increase the overall sensitivity of the artifact probability estimate.

Kresolution - это предопределенный адаптивный к разрешению кадра весовой коэффициент. В одном неограничивающем примере может использоваться следующее эмпирическое значение Kresolution=

Figure 00000031
, где h, w являются соответственно высотой и шириной кадра в пикселях. K resolution is a predefined frame resolution adaptive weighting factor. In one non-limiting example, the following empirical value K resolution =
Figure 00000031
, where h, w are respectively the height and width of the frame in pixels.

[0082] В еще одном дополнительном варианте осуществления оценка вероятности появления артефакта подавляется сильнее, вплоть до полного подавления, при приближении к границам кадра. Данная особенность позволяет избежать артефактов, которые часто встречаются на краях кадров, а также снизить частоту принятия неверных решений о необходимости частичной или полной замены интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Для этих целей вычисление на этапе S108 оценки APM вероятности появления артефакта может содержать подавление на этапе S108.6 разрывов, которые находятся в блоках кадра, расположенных на расстоянии от границы кадра, которое меньше предопределенного расстояния от границы кадра в блоках. Как показано на нижнем графике на Фиг. 6 весовой коэффициент Bmul может применяться для корректировки оценки APM вероятности появления артефакта путем подавления разрывов в блоках кадра, которые находятся ближе к границе кадра, чем 8 блоков. Предопределенное расстояние в 8 блоков не следует рассматривать в качестве ограничения настоящего изобретения. Конкретное значение предопределенного расстояния может быть больше 8, или меньше 8 блоков. Должно быть понятно, что зависимость весового коэффициента Bmul и соответствующего предопределенного расстояния может определяться путем изменения соответствующего параметра наклона прямой, показанной на нижнем графике на Фиг. 6. В этом дополнительном варианте осуществления оценка вероятности появления артефакта может определяться согласно следующему модифицированному Уравнению 1:[0082] In yet another embodiment, the artifact probability estimate is suppressed more strongly, up to complete suppression, as frame boundaries are approached. This feature helps to avoid artifacts that are often found at the edges of frames, as well as to reduce the frequency of making wrong decisions about the need for partial or complete replacement of frame interpolation with motion compensation by a linear combination of adjacent reference frames. For this purpose, the calculation in step S108 of the estimation of the artifact probability APM may comprise suppression in step S108.6 of discontinuities that are in frame blocks located at a distance from the frame boundary that is less than a predetermined distance from the frame boundary in blocks. As shown in the lower graph in Fig. 6, the weighting factor Bmul can be applied to adjust the APM estimate of the artifact probability by suppressing discontinuities in frame blocks that are closer to the frame boundary than 8 blocks. The predetermined distance of 8 blocks should not be considered as a limitation of the present invention. The specific value of the predetermined distance may be greater than 8, or less than 8 blocks. It should be understood that the dependence of the weighting factor Bmul and the corresponding predetermined distance can be determined by changing the corresponding parameter of the slope of the straight line shown in the bottom plot of FIG. 6. In this further embodiment, an artifact probability estimate may be determined according to the following modified Equation 1:

APM(x,y)=H(mv_break(x,y))*Omul(x,y)*Mmul(x,y)* Bmul(x,y). APM(x,y)=H(mv_break(x,y))*Omul(x,y)*Mmul(x,y)* Bmul(x,y) .

[0083] Выше в данном документе было представлено описание с точки зрения способа FRC-преобразования согласно настоящему изобретению. При этом каждый из этапов может выполняться как отдельным предназначенным для этого блоком, либо некоторые или все этапы могут выполняться одним и тем же блоком.[0083] Above in this document, a description has been presented in terms of the FRC conversion method according to the present invention. In this case, each of the steps may be performed as a separate dedicated block, or some or all of the steps may be performed by the same block.

[0084] На Фиг. 8 схематично показано вычислительное устройство 200 пользователя согласно настоящему изобретению. Вычислительное устройство 200 содержит камеру/ISP, оперативную память (RAM), процессор 200.1, постоянную память (ROM). Процессор 200.1 содержит блок FRC-преобразования, включающий в себя блок fallback-обработки, и кодер/декодер видео. Блок FRC-преобразования может быть выполнен с возможностью, при исполнении исполняемых процессором инструкций, осуществления способа FRC-преобразования видео, который был описан выше со ссылками на Фиг. 1-7. Вычислительным устройством может быть любое электронное устройство, например, смартфон, планшет, компьютер, телевизор и т.д. В неограничивающем сценарии работы устройства, который показан на данной фигуре, камера получает оригинальные кадры, а блок FRC-преобразования обрабатывает эти оригинальные кадры согласно раскрытому способу для получения одного или более промежуточных кадров с учетом значений сглаженной оценки вероятности появления артефакта. [0084] In FIG. 8 schematically shows a user computing device 200 according to the present invention. Computing device 200 includes a camera/ISP, random access memory (RAM), processor 200.1, read only memory (ROM). The processor 200.1 includes an FRC transform block including a fallback processing block and a video encoder/decoder. The FRC converting unit may be configured, when executing processor-executable instructions, to implement the video FRC converting method that was described above with reference to FIG. 1-7. A computing device can be any electronic device such as a smartphone, tablet, computer, TV, etc. In the non-limiting device scenario shown in this figure, the camera receives the original frames, and the FRC transform block processes these original frames according to the disclosed method to obtain one or more intermediate frames, taking into account the values of the smoothed estimate of the artifact probability.

[0085] Процессор 200.1 может вызывать и выполнять компьютерные программы из памяти (RAM, ROM) для выполнения способа FRC-преобразования. Постоянная память или оперативная память 220 может быть отдельным устройством, независимым от процессора 200.1, или может быть интегрирована в процессор 200.1.[0085] The processor 200.1 may call and execute computer programs from memory (RAM, ROM) to perform the FRC conversion method. Read-only memory or random access memory 220 may be a separate device independent of processor 200.1 or may be integrated into processor 200.1.

[0086] По меньшей мере один из этапов в раскрытом способе или компонентов в устройстве 200 может использовать модель искусственного интеллекта (AI) для выполнения соответствующих операций. Функция, связанная с AI, может выполняться через постоянную память, оперативную память и процессор 200.1.[0086] At least one of the steps in the disclosed method or components in the device 200 may use an artificial intelligence (AI) model to perform appropriate operations. The AI related function can be executed via ROM, RAM, and processor 200.1.

[0087] Процессор 200.1 может включать в себя один или несколько процессоров. В то же время, один или несколько процессоров могут быть процессором общего назначения, например, центральным процессором (CPU), прикладным процессором (AP) или т.п., блоком обработки только графики, таким как графический процессор (GPU), визуальный процессор (VPU) и/или специализированный процессор AI, такой как нейронный процессор (NPU).[0087] Processor 200.1 may include one or more processors. At the same time, one or more processors may be a general purpose processor such as a central processing unit (CPU), an application processor (AP) or the like, a graphics-only processing unit such as a graphics processing unit (GPU), a visual processor ( VPU) and/or a specialized AI processor such as a Neural Processing Unit (NPU).

[0088] Один или несколько процессоров управляют обработкой входных данных в соответствии с заранее определенным правилом работы или моделью искусственного интеллекта (AI), хранящейся в энергонезависимой памяти и энергозависимой памяти. Предварительно определенное рабочее правило или модель искусственного интеллекта могут быть получены путем обучения. При этом процессор может выполнять операцию предварительной обработки данных для преобразования в форму, подходящую для использования в качестве входных данных для модели искусственного интеллекта.[0088] One or more processors control the processing of input data in accordance with a predetermined operating rule or artificial intelligence (AI) model stored in non-volatile memory and non-volatile memory. A predetermined operating rule or artificial intelligence model can be obtained through training. In doing so, the processor may perform a pre-processing operation on the data to convert it into a form suitable for use as input to the artificial intelligence model.

[0089] «Получена путем обучения» означает, что посредством применения алгоритма обучения к множеству обучающих данных создается предварительно определенное рабочее правило или модель AI с желаемой характеристикой. Обучение может выполняться на самом устройстве, в котором выполняется AI согласно варианту осуществления, и/или может быть реализовано через отдельный сервер/систему.[0089] "Obtained by training" means that by applying a learning algorithm to a set of training data, a predetermined operating rule or AI model with a desired performance is created. The training may be performed on the device itself running the AI according to the embodiment and/or may be implemented via a separate server/system.

[0090] Модель искусственного интеллекта может включать в себя множество слоев нейронной сети. Каждый из множества слоев нейронной сети включает в себя множество весовых значений и выполняет рабочую операцию для данного уровня путем вычисления между результатом вычисления предыдущего слоя и множеством весовых значений.[0090] An artificial intelligence model may include multiple neural network layers. Each of the plurality of layers of the neural network includes a plurality of weights and performs a work operation for a given layer by calculating between the calculation result of the previous layer and the plurality of weights.

[0091] Примеры нейронных сетей включают, помимо прочего, сверточную нейронную сеть (CNN), глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), ограниченную машину Больцмана (RBM), глубокую сеть доверия (DBN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN), генеративно-состязательные сети (GAN) и глубокие Q-сети.[0091] Examples of neural networks include, but are not limited to, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural network (BRDNN), generative adversarial networks (GANs), and deep Q-nets.

[0092] Алгоритм обучения - это метод обучения предварительно определенного целевого устройства (например, нейронной сети на базе GPU) с использованием множества обучающих данных, чтобы вызывать, разрешать или управлять целевым устройством для выполнения определения или прогнозирования. Примеры алгоритмов обучения включают, но не ограничиваются ими, обучение с учителем, обучение без учителя, обучение с частичным привлечением учителя или обучение с подкреплением.[0092] A learning algorithm is a method for training a predetermined target device (eg, a GPU-based neural network) using a set of training data to call, enable, or control the target device to perform a determination or prediction. Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, partially supervised learning, or reinforcement learning.

[0093] Различные иллюстративные блоки и модули, описанные в связи с раскрытием в данном документе, могут реализовываться или выполняться с помощью процессора общего назначения, процессора цифровых сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого программируемого логического устройства (PLD), дискретного логического элемента или транзисторной логики, дискретных аппаратных компонентов либо любой комбинации вышеозначенного, предназначенной для того, чтобы выполнять описанные в данном документе функции. Процессор общего назначения может представлять собой микропроцессор, но в альтернативном варианте, процессор может представлять собой любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может реализовываться как комбинация вычислительных устройств (к примеру, комбинация DSP и микропроцессора, несколько микропроцессоров, один или более микропроцессоров вместе с DSP-ядром либо любая другая подобная конфигурация).[0093] The various illustrative blocks and modules described in connection with the disclosure herein may be implemented or executed by a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device (PLD), discrete logic element or transistor logic, discrete hardware components, or any combination of the foregoing, designed to perform the functions described in this document. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (eg, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors together with a DSP core, or any other similar configuration).

[0094] Память может быть энергозависимой или энергонезависимой памятью или может включать в себя как энергозависимую, так и энергонезависимую память. Энергонезависимой памятью может быть постоянная память (ROM), программируемая постоянная память (PROM), стираемая программируемая постоянная память (EPROM), электронно-стираемая программируемая постоянная память (EEPROM) или флэш-память. Энергозависимая память может быть оперативной памятью (RAM). Также память в вариантах осуществления настоящего раскрытия может быть статической памятью с произвольным доступом (SRAM), динамической памятью с произвольным доступом (DRAM), синхронной динамической памятью с произвольным доступом (синхронная DRAM, SDRAM), синхронной динамической памятью с произвольной выборкой с двойной скоростью передачи данных (SDRAM с двойной скоростью передачи данных, DDR SDRAM), синхронной динамической памятью с произвольной выборкой с повышенной скоростью (улучшенная SDRAM, ESDRAM), DRAM с синхронной линией связи (SLDRAM) и оперативной памятью с шиной прямого доступа (DR RAM) и т. д. То есть память в вариантах осуществления настоящего раскрытия включает в себя, но не ограничивается этим, эти и любые другие подходящие типы памяти.[0094] The memory may be volatile or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM). Also, the memory in the embodiments of the present disclosure may be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), synchronous dynamic random access memory with double transfer rate Data Rate (Double Data Rate SDRAM, DDR SDRAM), High Speed Synchronous Dynamic Random Access Memory (Enhanced SDRAM, ESDRAM), Synchronous Link DRAM (SLDRAM) and Direct Access Bus Memory (DR RAM), etc. That is, memory in embodiments of the present disclosure includes, but is not limited to, these and any other suitable types of memory.

[0095] Информация и сигналы, описанные в данном документе, могут представляться с помощью любой из множества различных технологий. Например, данные, инструкции, команды, информация, сигналы, биты, бины, символы и элементарные сигналы, которые могут приводиться в качестве примера в вышеприведенном описании, могут представляться посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц либо любой комбинации вышеозначенного.[0095] The information and signals described herein may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, bins, symbols, and elementary signals that may be exemplified in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles. or any combination of the above.

[0096] Функции, описанные в данном документе, могут реализовываться в аппаратных средствах, программном обеспечении, выполняемом посредством процессора, микропрограммном обеспечении или в любой комбинации вышеозначенного. При реализации в программном обеспечении, выполняемом посредством процессора, функции могут сохраняться или передаваться как одна или более инструкций или код на компьютерно-читаемом носителе. Другие примеры и реализации находятся в пределах объема раскрытия настоящего изобретения. Например, вследствие характера программного обеспечения, функции, описанные выше, могут реализовываться с использованием программного обеспечения, выполняемого посредством процессора, аппаратных средств, микропрограммного обеспечения, фиксированного блока или комбинаций любого из вышеозначенного. Признаки, реализующие функции, также могут физически находиться в различных позициях, в том числе согласно такому распределению, что части функций реализуются в различных физических местоположениях.[0096] The functions described herein may be implemented in hardware, software running on a processor, firmware, or any combination of the foregoing. When implemented in software executing by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure of the present invention. For example, due to the nature of the software, the functions described above may be implemented using software running on a processor, hardware, firmware, fixed block, or combinations of any of the above. Features that implement functions may also be physically located in different positions, including according to such a distribution that parts of the functions are implemented in different physical locations.

[0097] Компьютерно-читаемые носители включают в себя как некратковременные компьютерные носители хранения данных, так и среду связи, включающую в себя любую передающую среду, которая упрощает перемещение компьютерной программы из одного места в другое. Некратковременный носитель хранения данных может представлять собой любой доступный носитель, к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения. В качестве примера, а не ограничения, некратковременные компьютерно-читаемые носители могут содержать оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, ROM на компакт-дисках (CD) или другое устройство хранения данных на оптических дисках, устройство хранения данных на магнитных дисках или другие магнитные устройства хранения, либо любой другой некратковременный носитель, который может использоваться для того, чтобы переносить или сохранять требуемое средство программного кода в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения либо процессора общего назначения или специального назначения.[0097] Computer-readable media includes both non-transitory computer storage media and communication media, including any transmission medium that facilitates movement of a computer program from one place to another. Non-transitory storage media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, non-transitory computer readable media may include random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory, compact disc ROM (CD). ) or other optical disk storage device, magnetic disk storage device, or other magnetic storage devices, or any other non-durable medium that can be used to carry or store the required program code facility in the form of instructions or data structures, and which can be accessed by a general purpose or special purpose computer, or a general purpose or special purpose processor.

[0098] Следует понимать, что в настоящем документе показаны принцип работы и базовые примеры способа FRC-преобразования и реализующего его устройства. Специалист в данной области техники, используя данные принципы, сможет получить и другие варианты осуществления изобретения, не прикладывая творческих усилий.[0098] It should be understood that this document shows the principle of operation and basic examples of the FRC conversion method and the device that implements it. A person skilled in the art, using these principles, will be able to obtain other embodiments of the invention without making creative efforts.

ПрименениеApplication

[0099] Настоящее изобретение может найти широкое применение в обработке видео, например, в случаях с потребностями в реальном времени (например, воспроизведение видео, видеозвонки, преобразование во время захвата видео), в устройствах с ограниченными вычислительными возможностями (мобильные телефоны, телевизоры), а также может легко адаптироваться к новым сценариям использования с особыми требованиями к обработке видео.[0099] The present invention can be widely applied in video processing, such as real-time needs (e.g., video playback, video calls, conversion during video capture), computing-limited devices (mobile phones, TVs), and can also easily adapt to new usage scenarios with special video processing requirements.

[0100] Примерами использования могут быть режим камеры Super-Slow-Motion (сверхзамедленная съемка) с преобразованием частоты кадров из 480 в 960 FPS, что позволяет, например, снимать в условиях плохого освещения или с долгой выдержкой; редактор видео с преобразованием частоты кадров из 240 в 480 FPS, что позволяет использовать эффекты замедления в редактируемом видео; интерполяция игрового процесса с преобразованием частоты кадров из исходных 48 FPS, выдаваемых устройством в игре, до 90 FPS, что позволяет сгладить видеоряд и улучшить впечатления от игрового процесса.[0100] Examples of use can be a Super-Slow-Motion camera mode (super-slow motion) with frame rate conversion from 480 to 960 FPS, which allows, for example, shooting in poor lighting conditions or with long exposures; video editor with frame rate conversion from 240 to 480 FPS, which allows you to use slow motion effects in your edited video; Gameplay interpolation with frame rate conversion from the original 48 FPS delivered by the device in-game to 90 FPS to smooth the footage and improve the gaming experience.

[0101] Следует понимать, что хотя в настоящем документе для описания различных элементов, компонентов, областей, слоев и/или секций, могут использоваться такие термины, как "первый", "второй", "третий" и т.п., эти элементы, компоненты, области, слои и/или секции не должны ограничиваться этими терминами. Эти термины используются только для того, чтобы отличить один элемент, компонент, область, слой или секцию от другого элемента, компонента, области, слоя или секции. Так, первый элемент, компонент, область, слой или секция может быть назван вторым элементом, компонентом, областью, слоем или секцией без выхода за рамки объема настоящего изобретения. В настоящем описании термин "и/или" включает любые и все комбинации из одной или более из соответствующих перечисленных позиций. Элементы, упомянутые в единственном числе, не исключают множественности элементов, если отдельно не указано иное. Кроме того, любые конкретные числовые значения, указанные в данной заявке, не следует рассматривать в качестве какого-либо ограничения, поскольку после ознакомления с данным раскрытием обычному специалисту станут понятны другие возможные, скорректированные значения, которые могут быть использованы. Вместо этого указанное конкретное числовое значение следует рассматривать в качестве значения середины допустимого диапазона, который может составлять, в зависимости от аппаратных требований и требований к качеству картинки,±0,01-40% от упомянутого значения середины допустимого диапазона. [0101] It should be understood that although terms such as "first", "second", "third", etc., may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer, or section from another element, component, region, layer, or section. Thus, a first element, component, region, layer, or section may be referred to as a second element, component, region, layer, or section without departing from the scope of the present invention. As used herein, the term "and/or" includes any and all combinations of one or more of the respective listed positions. Elements mentioned in the singular do not exclude the plurality of elements, unless otherwise specified. In addition, any specific numerical values specified in this application should not be considered as any limitation, since after reading this disclosure, one of ordinary skill will understand other possible, adjusted values that can be used. Instead, said particular numerical value should be considered as the mid-range value, which may be, depending on hardware and picture quality requirements, ±0.01-40% of said mid-range value.

[0102] Функциональность элемента, указанного в описании или формуле изобретения как единый элемент, может быть реализована на практике посредством нескольких компонентов устройства, и наоборот, функциональность элементов, указанных в описании или формуле изобретения как несколько отдельных элементов, может быть реализована на практике посредством единого компонента.[0102] The functionality of an element specified in the description or claims as a single element may be practiced through multiple components of the device, and vice versa, the functionality of elements specified in the description or claims as several separate elements can be practiced through a single component.

[0103] В одном варианте осуществления элементы/блоки предложенного устройства находятся в общем корпусе, размещены на одной раме/конструкции/подложке/печатной плате и связаны друг с другом конструктивно посредством монтажных (сборочных) операций и функционально посредством линий связи. Упомянутые линии или каналы связи, если не указано иное, являются стандартными, известными специалистам линиями связи, материальная реализация которых не требует творческих усилий. Линией связи может быть провод, набор проводов, шина, дорожка, беспроводная линия связи (индуктивная, радиочастотная, инфракрасная, ультразвуковая и т.д.). Протоколы связи по линиям связи известны специалистам и не раскрываются отдельно.[0103] In one embodiment, the elements / blocks of the proposed device are in a common housing, placed on the same frame / structure / substrate / printed circuit board and are structurally connected to each other through assembly (assembly) operations and functionally through communication lines. The mentioned communication lines or channels, unless otherwise indicated, are standard communication lines known to specialists, the material implementation of which does not require creative efforts. The communication link may be a wire, a set of wires, a bus, a track, a wireless link (inductive, RF, infrared, ultrasonic, etc.). Communication protocols over communication lines are known to those skilled in the art and are not disclosed separately.

[0104] Под функциональной связью элементов следует понимать связь, обеспечивающую корректное взаимодействие этих элементов друг с другом и реализацию той или иной функциональности элементов. Частными примерами функциональной связи может быть связь с возможностью обмена информацией, связь с возможностью передачи электрического тока, связь с возможностью передачи механического движения, связь с возможностью передачи света, звука, электромагнитных или механических колебаний и т.д. Конкретный вид функциональной связи определяется характером взаимодействия упомянутых элементов, и, если не указано иное, обеспечивается широко известными средствами, используя широко известные в технике принципы.[0104] The functional connection of elements should be understood as a connection that ensures the correct interaction of these elements with each other and the implementation of one or another functionality of the elements. Particular examples of functional communication may be communication with the ability to exchange information, communication with the ability to transmit electric current, communication with the ability to transmit mechanical motion, communication with the ability to transmit light, sound, electromagnetic or mechanical vibrations, etc. The specific type of functional connection is determined by the nature of the interaction of the mentioned elements, and, unless otherwise indicated, is provided by well-known means, using principles well-known in the art.

[0105] Конструктивное исполнение элементов предложенного устройства является известным для специалистов в данной области техники и не описывается отдельно в данном документе, если не указано иное. Элементы устройства могут быть выполнены из любого подходящего материала. Эти составные части могут быть изготовлены с использованием известных способов, включая, лишь в качестве примера, механическую обработку на станках, литье по выплавляемой модели, наращивание кристаллов. Операции сборки, соединения и иные операции в соответствии с приведенным описанием также соответствуют знаниям специалиста в данной области и, таким образом, более подробно поясняться здесь не будут.[0105] The design of the elements of the proposed device is known to specialists in this field of technology and is not described separately in this document, unless otherwise indicated. The elements of the device can be made from any suitable material. These components can be manufactured using known methods including, by way of example only, machining, investment casting, crystal growth. Assembly, connection, and other operations as described herein are also within the knowledge of a person skilled in the art, and thus will not be explained in more detail here.

[0106] Несмотря на то, что примерные варианты осуществления были подробно описаны и показаны на сопроводительных чертежах, следует понимать, что такие варианты осуществления являются лишь иллюстративными и не предназначены ограничивать настоящее изобретение, и что данное изобретение не должно ограничиваться конкретными показанными и описанными компоновками и конструкциями, поскольку специалисту в данной области техники на основе информации, изложенной в описании, и знаний уровня техники могут быть очевидны различные другие модификации и варианты осуществления изобретения, не выходящие за пределы сущности и объема данного изобретения.[0106] Although exemplary embodiments have been described in detail and shown in the accompanying drawings, it should be understood that such embodiments are illustrative only and are not intended to limit the present invention, and that the present invention should not be limited to the particular arrangements shown and described and constructions, since various other modifications and embodiments of the invention may be obvious to a person skilled in the art based on the information set forth in the description and knowledge of the prior art, without going beyond the essence and scope of this invention.

Claims (40)

1. Способ преобразования частоты кадров (FRC) видео, поддерживающий частичную или полную замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров, содержащий:1. A video frame rate conversion (FRC) method that supports partial or complete replacement of frame interpolation with motion compensation by a linear combination of adjacent reference frames, comprising: получение (S100) по меньшей мере одной пары кадров видео, подлежащего FRC-преобразованию;obtaining (S100) at least one pair of video frames to be FRC-transformed; разделение (S102) каждого кадра на множество блоков; dividing (S102) each frame into a plurality of blocks; оценку (S104) движения между кадрами на поблочной основе для получения: estimation (S104) of motion between frames on a block-by-block basis to obtain: - поля движения вперед, представляющего собой набор векторов движения, каждый из которых соответствует соответствующему блоку из множества блоков первого кадра и указывает в соответствующую область во втором кадре, и - a forward motion field, which is a set of motion vectors, each of which corresponds to a corresponding block from the plurality of blocks of the first frame and points to the corresponding area in the second frame, and - поля движения назад, представляющего собой набор векторов движения, каждый из которых соответствует соответствующему блоку из множества блоков второго кадра и указывает в соответствующую область в упомянутом первом кадре, - backward motion fields, which is a set of motion vectors, each of which corresponds to the corresponding block from the plurality of blocks of the second frame and points to the corresponding area in the said first frame, - при этом каждому вектору движения присваивается соответствующее значение метрики оценки движения, причем первый кадр предшествует второму кадру во времени;- at the same time, each motion vector is assigned the corresponding value of the motion estimation metric, with the first frame preceding the second frame in time; получение (S106) закрывающихся окклюзий, открывающихся окклюзий и неопределенных окклюзий на основе поля движения вперед и поля движения назад;obtaining (S106) closing occlusions, opening occlusions, and undetermined occlusions based on the forward movement field and the backward movement field; вычисление (S108) оценки вероятности появления артефакта, указывающей вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром, причем вычисление содержит:calculating (S108) an artifact occurrence probability estimate indicating the occurrence probability of the artifact when the motion-compensated frame is interpolated between the first frame and the second frame, the calculation comprising: - обнаружение (S108.2) разрывов между пространственно соседними векторами движения в по меньшей мере одном из поля движения вперед и поля движения назад;- detecting (S108.2) discontinuities between spatially adjacent motion vectors in at least one of the forward motion field and the reverse motion field; - обработку (S108.4) разрывов, при которой подавляют разрывы, которые перекрываются только с открывающимися окклюзиями для разрывов в поле движения назад или только с закрывающимися окклюзиями для разрывов в поле движения вперед, и усиливают разрывы, которые перекрываются с неопределенными окклюзиями; иtreating (S108.4) discontinuities that suppress discontinuities that only overlap with opening occlusions for discontinuities in the backward motion field or only with closing occlusions for discontinuities in the forward motion field, and strengthen discontinuities that overlap with undefined occlusions; and - подавление (S108.5) разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения;suppressing (S108.5) discontinuities between spatially adjacent motion vectors based on motion estimation metric values; выполнение сглаживающей фильтрации (S110) оценки вероятности появления артефакта; иperforming smoothing filtering (S110) estimating the likelihood of artifact occurrence; and получение (S112) одного или более промежуточных кадров с учетом значений сглаженной оценки вероятности появления артефакта.obtaining (S112) one or more intermediate frames, taking into account the values of the smoothed estimate of the probability of occurrence of the artifact. 2. Способ по п. 1, при этом, когда максимальное значение сглаженной оценки вероятности появления артефакта больше или равно предопределенному глобальному пороговому значению, при получении (S112) одного или более промежуточных кадров выполняют глобальную линейную комбинацию соседних опорных кадров.2. The method of claim 1, wherein when the maximum value of the smoothed artifact probability estimate is greater than or equal to a predetermined global threshold value, upon receipt (S112) of one or more intermediate frames, a global linear combination of neighboring reference frames is performed. 3. Способ по п. 1, при этом, когда максимальное значение сглаженной оценки вероятности появления артефакта меньше предопределенного глобального порогового значения, при получении (S112) одного или более промежуточных кадров выполняют интерполяцию с компенсацией движения соседних опорных кадров.3. The method of claim 1, wherein when the maximum value of the smoothed artifact occurrence probability estimate is less than a predetermined global threshold, upon receipt (S112) of one or more intermediate frames, motion-compensated interpolation of adjacent reference frames is performed. 4. Способ по п. 3, при этом, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров, способ дополнительно содержит выполнение локальной линейной комбинации для по меньшей мере некоторых блоков соседних опорных кадров в случае, когда:4. The method of claim 3, wherein when it is determined to perform motion-compensated interpolation of adjacent reference frames, the method further comprises performing a local linear combination on at least some blocks of adjacent reference frames when: - число упомянутых по меньшей мере некоторых блоков соседних опорных кадров, значения сглаженной оценки вероятности появления артефакта которых меньше предопределенного локального порогового значения, являющегося максимальным значением оценки вероятности появления артефакта, при котором допустимо применять локальную линейную комбинацию, не превышает предопределенное максимальное число блоков, для которого допустимо применять локальную линейную комбинацию, - the number of mentioned at least some blocks of neighboring reference frames, the values of the smoothed estimate of the probability of occurrence of an artifact of which is less than a predetermined local threshold value, which is the maximum value of the estimate of the probability of occurrence of an artifact, at which it is permissible to apply a local linear combination, does not exceed the predefined maximum number of blocks, for which it is permissible to use a local linear combination, причем предопределенное локальное пороговое значение меньше предопределенного глобального порогового значения.wherein the predetermined local threshold is less than the predetermined global threshold. 5. Способ по п. 3, при этом, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров, способ дополнительно содержит выполнение локальной линейной комбинации как взвешенной суммы промежуточного кадра, получаемого интерполяцией движения упомянутой пары кадров, и линейной комбинации упомянутой пары кадров, причем веса для каждого блока вычисляются на основе значений сглаженной оценки вероятности появления артефакта.5. The method of claim 3, wherein when it is determined to perform motion-compensated interpolation of adjacent reference frames, the method further comprises performing a local linear combination as a weighted sum of an intermediate frame obtained by motion interpolation of said pair of frames and a linear combination of said pair of frames. frames, and the weights for each block are calculated based on the values of the smoothed estimate of the probability of an artifact. 6. Способ по п. 1, в котором метрика оценки движения, вычисляемая при оценке (S104) движения между кадрами на поблочной основе, является характеристикой сходства между пикселями блока одного кадра и пикселями соответствующей области другого кадра, причем метрикой оценки движения является средняя абсолютная разность (MAD) или сумма абсолютных разностей (SAD), при этом более низкие значения SAD или MAD соответствуют более высокой точности оценки движения.6. The method of claim 1, wherein the motion estimation metric calculated in the block-based inter-frame motion estimation (S104) is a similarity characteristic between pixels of a block of one frame and pixels of a corresponding area of another frame, wherein the motion estimation metric is an average absolute difference (MAD) or sum of absolute differences (SAD), with lower SAD or MAD values corresponding to higher motion estimation accuracy. 7. Способ по п. 1, в котором получение (S106) окклюзий на основе поля движения вперед и поля движения назад содержит этапы, на которых:7. The method of claim 1, wherein obtaining (S106) occlusions based on a forward motion field and a backward motion field comprises: инициализируют (S106.1) карту открывающихся окклюзий и карту закрывающихся окклюзий для упомянутой по меньшей мере одной пары кадров видео;initializing (S106.1) an opening occlusion map and a closing occlusion map for said at least one pair of video frames; для каждого блока из множества блоков первого кадра, перемещают (S106.2) соответствующий блок на основе вектора движения, определенного для этого блока, во второй кадр и исключают в карте открывающихся окклюзий все пиксели второго кадра, накрытые таким перемещением, причем пиксели второго кадра, которые остались не накрытыми в карте открывающихся окклюзий, указывают открывающиеся окклюзии;for each block of the plurality of blocks of the first frame, move (S106.2) the corresponding block based on the motion vector determined for this block to the second frame, and exclude in the map of opening occlusions all the pixels of the second frame covered by such a movement, and the pixels of the second frame, which remained uncovered in the map of opening occlusions indicate opening occlusions; для каждого блока из множества блоков второго кадра, перемещают (S106.3) соответствующий блок на основе вектора движения, определенного для этого блока, в первый кадр и исключают в карте закрывающихся окклюзий все пиксели первого кадра, накрытые таким перемещением, причем пиксели первого кадра, которые остались не накрытыми в карте закрывающихся окклюзий, указывают закрывающиеся окклюзии;for each block of the plurality of blocks of the second frame, move (S106.3) the corresponding block based on the motion vector determined for this block to the first frame, and exclude in the map of closing occlusions all the pixels of the first frame covered by such a movement, and the pixels of the first frame, which remained uncovered in the chart of closing occlusions indicate closing occlusions; строят (S106.4) карту неопределенных окклюзий, в которой пиксели, одновременно принадлежащие как к открывающимся окклюзиям, так и к закрывающимся окклюзиям на основе карты открывающихся окклюзий и карты закрывающихся окклюзий, указываются в качестве неопределенных окклюзий; иconstructing (S106.4) an undefined occlusion map in which pixels simultaneously belonging to both opening occlusions and closing occlusions based on the opening occlusion map and the closing occlusion map are indicated as undefined occlusions; and поблочно агрегируют (S106.5) информацию об открывающихся окклюзиях, закрывающихся окклюзиях и неопределенных окклюзиях.blockwise aggregating (S106.5) information about opening occlusions, closing occlusions and undefined occlusions. 8. Способ по п. 1, в котором получение (S106) окклюзий на основе поля движения вперед и поля движения назад содержит прием информации об окклюзиях, в том числе закрывающихся окклюзиях, открывающихся окклюзиях и неопределенных окклюзиях, найденных на основе поля движения вперед и поля движения назад, от внешнего блока нахождения окклюзий.8. The method of claim 1, wherein deriving (S106) the occlusions based on the forward motion field and the backward motion field comprises receiving information about occlusions including closing occlusions, opening occlusions, and undefined occlusions found based on the forward motion field and the backward motion field. movements back, from the external block for finding occlusions. 9. Способ по п. 7, в котором обработка разрывов для подавления (S108.4) разрывов в поле движения вперед, которые перекрываются с закрывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], значение которого уменьшается при обнаружении закрывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа закрывающихся окклюзий.9. The method of claim 7, wherein processing discontinuities to suppress (S108.4) discontinuities in the forward motion field that overlap with closing occlusions and enhance discontinuities that overlap with undetermined occlusions comprises multiplying a corresponding artifact probability estimate value by a weighting factor [0..1] whose value decreases when a closing occlusion is detected and increases when the number of undefined occlusions increases and/or the number of closing occlusions decreases. 10. Способ по п. 7, в котором обработка разрывов для подавления (S108.4) разрывов в поле движения назад, которые перекрываются с открывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], значение которого уменьшается при обнаружении открывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа открывающихся окклюзий.10. The method of claim 7, wherein processing discontinuities to suppress (S108.4) discontinuities in the backward motion field that overlap with opening occlusions and enhance discontinuities that overlap with undetermined occlusions comprises multiplying a corresponding artifact probability estimate value by a weighting factor [0..1] whose value decreases when an opening occlusion is detected and increases when the number of undefined occlusions increases and/or the number of opening occlusions decreases. 11. Способ по любому из пп. 6, 7, в котором подавление (S108.5) разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], который уменьшается при увеличении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в ноль при достижении первого предопределенного порогового значения метрики оценки движения, и увеличивается при уменьшении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в единицу при достижении второго предопределенного порогового значения метрики оценки движения.11. The method according to any one of paragraphs. 6, 7, wherein the suppression (S108.5) of discontinuities between spatially adjacent motion vectors based on motion estimation metric values comprises multiplying the corresponding artifact probability estimate value by a weighting factor [0..1], which decreases as the maximum value of the values increases motion estimation metric in the motion vector pair under consideration, turning to zero when the first predefined threshold value of the motion estimation metric is reached, and increases as the maximum value of the motion estimation metric values in the considered motion vector pair decreases, turning to one when the second predefined threshold value of the estimation metric is reached movement. 12. Способ по п. 1, дополнительно содержащий определение (S108.1) адаптивного к разрешению кадра весового коэффициента и применение (S108.3) этого весового коэффициента для усиления обнаруживаемых (S108.2) разрывов между пространственно соседними векторами движения.12. The method of claim 1, further comprising determining (S108.1) a frame resolution adaptive weight and applying (S108.3) that weight to enhance detectable (S108.2) discontinuities between spatially adjacent motion vectors. 13. Способ по п. 1, в котором сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, имеющим размер фильтра, определяемый адаптивно к разрешению кадра.13. The method of claim 1, wherein the smoothing filtering of the artifact probability estimate is performed by a digital filter having a filter size determined adaptively to the frame resolution. 14. Способ по п. 1, в котором сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, имеющим размер фильтра, определяемый адаптивно к предопределенному минимальному размеру обнаруживаемого артефакта.14. The method of claim 1, wherein the smoothing filtering of the artifact probability estimate is performed by a digital filter having a filter size determined adaptively to a predetermined minimum detectable artifact size. 15. Способ по п. 1, в котором вычисление (S108) оценки вероятности появления артефакта дополнительно содержит:15. The method of claim 1, wherein calculating (S108) an estimate of the likelihood of an artifact occurring further comprises: подавление (S108.6) разрывов, которые находятся в блоках кадра, расположенных на расстоянии от границы кадра, которое меньше предопределенного расстояния от границы кадра в блоках.suppressing (S108.6) discontinuities that are in frame blocks located at a distance from the frame boundary that is less than a predetermined distance from the frame boundary in blocks. 16. Способ по п. 1, в котором разрывы между векторами движения обнаруживаются (S108.2) для расположенных по вертикали пространственно соседних блоков кадра или для расположенных по горизонтали пространственно соседних блоков кадра.16. The method of claim 1, wherein discontinuities between motion vectors are detected (S108.2) for vertically adjacent frame blocks or horizontally adjacent frame blocks. 17. Способ по п. 1, в котором разрывы между векторами движения обнаруживаются (S108.2) для расположенных по вертикали пространственно соседних блоков кадра и для расположенных по горизонтали пространственно соседних блоков кадра.17. The method of claim 1, wherein discontinuities between motion vectors are detected (S108.2) for vertically adjacent frame blocks and for horizontally adjacent frame blocks. 18. Способ по п. 1, в котором вычисление (S108) оценки вероятности появления артефакта реализуется, используя, по меньшей мере частично, функцию Хевисайда.18. The method of claim. 1, in which the calculation (S108) estimates the probability of occurrence of the artifact is implemented using, at least in part, the Heaviside function. 19. Вычислительное устройство (200) пользователя, содержащее процессор (200.1), выполненный с возможностью, при исполнении сохраненных исполняемых процессором инструкций, осуществления способа преобразования частоты кадров (FRC) видео по любому из пп. 1-18.19. A user computing device (200), comprising a processor (200.1) configured, upon execution of the instructions stored by the processor, to implement the video frame rate conversion (FRC) method according to any one of paragraphs. 1-18.
RU2022111860A 2022-04-29 2022-04-29 Frame rate conversion method supporting frame interpolation replacement with motion compensation by linear frame combination and device implementing it RU2786784C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/140,932 US20230353732A1 (en) 2022-04-29 2023-04-28 Video frame rate conversion method supporting replacement of motion-compensated frame interpolation with linear combination of frames and device implementing the same

Publications (1)

Publication Number Publication Date
RU2786784C1 true RU2786784C1 (en) 2022-12-26

Family

ID=

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070268965A1 (en) * 2006-04-05 2007-11-22 Stmicroelectronics S.R.L. Method for the frame-rate conversion of a video sequence of digital images, related apparatus and computer program product
US20080095239A1 (en) * 2006-10-20 2008-04-24 Samsung Electronics Co., Ltd Method for video frame rate conversion
US20080101472A1 (en) * 2006-10-31 2008-05-01 Samsung Electronics Co., Ltd Frame rate conversion method using motion interpolation
WO2008085533A2 (en) * 2007-01-04 2008-07-17 Qualcomm Incorporated Block information adjustment techniques to reduce artifacts in interpolated video frames
US20100128169A1 (en) * 2008-11-26 2010-05-27 Samsung Electronics Co., Ltd. Frame rate conversion apparatus and method for ultra definition image
RU2602792C2 (en) * 2011-01-28 2016-11-20 Конинклейке Филипс Электроникс Н.В. Motion vector based comparison of moving objects
US9552623B1 (en) * 2015-11-04 2017-01-24 Pixelworks, Inc. Variable frame rate interpolation
US20180020229A1 (en) * 2016-07-14 2018-01-18 Sharp Laboratories Of America, Inc. Computationally efficient motion compensated frame rate conversion system
US20200244884A1 (en) * 2019-01-25 2020-07-30 Samsung Electronics Co., Ltd. Apparatus and method for producing slow motion video
RU2747965C1 (en) * 2020-10-05 2021-05-18 Самсунг Электроникс Ко., Лтд. Frc occlusion processing with deep learning

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070268965A1 (en) * 2006-04-05 2007-11-22 Stmicroelectronics S.R.L. Method for the frame-rate conversion of a video sequence of digital images, related apparatus and computer program product
US20080095239A1 (en) * 2006-10-20 2008-04-24 Samsung Electronics Co., Ltd Method for video frame rate conversion
US20080101472A1 (en) * 2006-10-31 2008-05-01 Samsung Electronics Co., Ltd Frame rate conversion method using motion interpolation
WO2008085533A2 (en) * 2007-01-04 2008-07-17 Qualcomm Incorporated Block information adjustment techniques to reduce artifacts in interpolated video frames
US20100128169A1 (en) * 2008-11-26 2010-05-27 Samsung Electronics Co., Ltd. Frame rate conversion apparatus and method for ultra definition image
RU2602792C2 (en) * 2011-01-28 2016-11-20 Конинклейке Филипс Электроникс Н.В. Motion vector based comparison of moving objects
US9552623B1 (en) * 2015-11-04 2017-01-24 Pixelworks, Inc. Variable frame rate interpolation
US20180020229A1 (en) * 2016-07-14 2018-01-18 Sharp Laboratories Of America, Inc. Computationally efficient motion compensated frame rate conversion system
US20200244884A1 (en) * 2019-01-25 2020-07-30 Samsung Electronics Co., Ltd. Apparatus and method for producing slow motion video
RU2747965C1 (en) * 2020-10-05 2021-05-18 Самсунг Электроникс Ко., Лтд. Frc occlusion processing with deep learning

Similar Documents

Publication Publication Date Title
US10937169B2 (en) Motion-assisted image segmentation and object detection
US10977802B2 (en) Motion assisted image segmentation
US10511846B1 (en) Real-time adaptive video denoiser with moving object detection
US10127635B2 (en) Method and device for image noise estimation and image capture apparatus
KR101399616B1 (en) Interpolation method for a motion compensated image and device for the implementation of said method
US20140078347A1 (en) Systems and Methods for Reducing Noise in Video Streams
JP5243477B2 (en) Blur correction apparatus and blur correction method
US20140147042A1 (en) Device for uniformly enhancing images
CN110944176B (en) Image frame noise reduction method and computer storage medium
JP4674620B2 (en) Image processing apparatus, image processing method, and program
US20060078055A1 (en) Signal processing apparatus and signal processing method
CN107492077B (en) Image deblurring method based on self-adaptive multidirectional total variation
US10911785B2 (en) Intelligent compression of grainy video content
CN111563517B (en) Image processing method, device, electronic equipment and storage medium
KR101834512B1 (en) Super-resolution image restoration apparatus and method based on consecutive-frame
CN117893455B (en) Image brightness and contrast adjusting method
RU2747965C1 (en) Frc occlusion processing with deep learning
Lee et al. Fast 3D video stabilization using ROI-based warping
JP7137185B2 (en) Tone mapping processing method by edge strength maximization and HDR video conversion device
CN110536138B (en) Lossy compression coding method and device and system-on-chip
RU2786784C1 (en) Frame rate conversion method supporting frame interpolation replacement with motion compensation by linear frame combination and device implementing it
CN114302226A (en) Intelligent cutting method for video picture
US20230353732A1 (en) Video frame rate conversion method supporting replacement of motion-compensated frame interpolation with linear combination of frames and device implementing the same
CN103618904B (en) Motion estimation method and device based on pixels
CN113011433A (en) Filtering parameter adjusting method and device