СПОСОБ ПРЕОБРАЗОВАНИЯ ЧАСТОТЫ КАДРОВ, ПОДДЕРЖИВАЮЩИЙ ЗАМЕНУ ИНТЕРПОЛЯЦИИ КАДРА С КОМПЕНСАЦИЕЙ ДВИЖЕНИЯ ЛИНЕЙНОЙ КОМБИНАЦИЕЙ КАДРОВ, И РЕАЛИЗУЮЩЕЕ ЕГО УСТРОЙСТВО
FRAME RATE CONVERSION METHOD SUPPORTING FRAME INTERPOLATION REPLACEMENT WITH MOTION COMPENSATION BY LINEAR FRAME COMBINATION AND DEVICE IMPLEMENTING IT

Область техники
[0001] Настоящее изобретение относится к обработке видео, и, более конкретно, к преобразованию частоты кадров (FRC), поддерживающему замену интерполяции кадра с компенсацией движения линейной комбинацией кадров.
Уровень техники
[0002] Преобразование частоты кадров является задачей временной интерполяции видеокадров для изменения частоты кадров видео, измеряемой в кадрах в секунду (FPS). В зависимости от требуемой цели FRC-преобразование может увеличивать или уменьшать FPS. FRC-преобразование с увеличением FPS является базовой технологией для обеспечения плавного воспроизведения обычного контента, такого как пользовательские видео, фильмы или игры. В настоящее время FRC-преобразование широко применяется в режимах ‘Super Slow Motion’ (SSM) и ‘Single Take’ (STK). Кроме того, в настоящий момент возможность применения FRC-преобразования рассматривается для других сценариев использования, таких как видеотелефония и динамический режим предварительного просмотра галереи.
[0003] Тем не менее любой алгоритм FRC-преобразования может, в некоторых ситуациях, приводить к появлению артефактов на обрабатываемых изображениях. Поэтому было бы полезно предусмотреть способ FRC-преобразования, поддерживающий резервную (от англ. ‘fallback’) логику, благодаря которой можно оценивать вероятность появления артефактов при интерполяции кадра с компенсацией движения соседних кадров и, если получаемая оценкой вероятность является высокой, выполнять при FRC-преобразовании замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Линейная комбинация не является такой вычислительно сложной операцией как интерполяция движения, поскольку при ее вычислении векторы движения не учитываются.
[0004] С другой стороны, избыточное применение при FRC-преобразовании линейной комбинации, частным случаем которой является простое повторение ближайшего опорного кадра, приводит к неплавному отображению изображений при воспроизведении видео. Таким образом, было бы желательно обеспечить компромисс между неплавным отображением из-за линейной комбинации кадров и потенциальными артефактами из-за интерполяции кадра с компенсацией движения.
[0005] Известные способы 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’ (Расширенная локальная fallback-обработка для повышения частоты кадров с компенсацией движения), 13-16 января 2012 г., Лас-Вегас, Невада. В данной публикации раскрыт способ FRC-преобразования, поддерживающий локальную fallback-обработку. В упомянутой публикации решение о необходимости применения интерполяции кадра с компенсацией движения или применении линейной комбинации принимается на основе кластеризации движения и анализа траектории движения в ряде кадров видеопоследовательности. Основными недостатками данного решения являются высокая вычислительная сложность и неточность принимаемого решения из-за появления в обрабатываемых изображениях быстро меняющегося/нелинейного движения. Другим недостатком раскрытого решения является временная задержка, обусловленная необходимостью получения одного или нескольких будущих кадров в дополнение к паре кадров, обрабатываемых FRC-преобразованием в настоящий момент.
[0007] Из уровня техники известна публикация патентной заявки US 2015294479 A1 от 15.10.2015, озаглавленная ‘Fallback detection in motion estimation’ (Обнаружение необходимости fallback-обработки при оценке движения), Vladimir Kovacevic, Zdravko Pantic, Aleksandar Beric, Milos Markovic, Vladimir Ilic. В указанном патенте раскрыт алгоритм управления оценкой движения при обработке видео, в котором используются фазовые корреляции изображений и выполняется классификация движений и состояний корреляции на основе негибких правил: быстрое/медленное движение и высокая/низкая корреляция. Недостатками данного алгоритма также является высокая вычислительная сложность из-за необходимости определения фазовых корреляций изображений и неточность принимаемого решения, поскольку негибко установленные правила не могут быть оптимальными для всего спектра возможных изображений. Кроме того, в данном решении не предусмотрена возможность обнаружения благоприятных условий (например, момент времени, координаты в кадре, в которых требуется упомянутая замена) для выполнения и самого выполнения локальной fallback-обработки, при которой замена интерполяции кадра с компенсацией движения линейной комбинацией опорных кадров осуществляется частично/локально.
Сущность изобретения
[0008] Согласно первому аспекту настоящего изобретения предложен способ FRC-преобразования видео, поддерживающий частичную или полную замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров, содержащий: получение по меньшей мере одной пары кадров видео, подлежащего FRC-преобразованию; разделение каждого кадра на множество блоков; оценку движения между кадрами на поблочной основе для получения: поля движения вперед, представляющего собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков первого кадра и указывает в соответствующую область во втором кадре, и поля движения назад, представляющего собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков второго кадра и указывает в соответствующую область в упомянутом первом кадре, при этом каждому вектору движения присваивается соответствующее значение метрики оценки движения, причем первый кадр предшествует второму кадру во времени; получение закрывающихся окклюзий, открывающихся окклюзий и неопределенных окклюзий на основе поля движения вперед и поля движения назад; вычисление оценки вероятности появления артефакта, указывающей вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром, причем вычисление содержит: обнаружение разрывов между пространственно соседними векторами движения в по меньшей мере одном из поля движения вперед и поля движения назад; обработку разрывов, при которой подавляют разрывы, которые перекрываются только с открывающимися окклюзиями для разрывов в поле движения назад или только с закрывающимися окклюзиями для разрывов в поле движения вперед, и усиливают разрывы, которые перекрываются с неопределенными окклюзиями; и подавление разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения этих соседних векторов движения; выполнение сглаживающей фильтрации оценки вероятности появления артефакта; и получение одного или более промежуточных кадров с учетом значений сглаженной оценки вероятности появления артефакта.
[0009] В одном из вариантов осуществления, когда максимальное значение сглаженной оценки вероятности появления артефакта больше или равно предопределенному глобальному пороговому значению, при получении одного или более промежуточных кадров выполняют глобальную линейную комбинацию соседних опорных кадров.
[0010] В одном из вариантов осуществления, когда максимальное значение сглаженной оценки вероятности появления артефакта меньше предопределенного глобального порогового значения, при получении одного или более промежуточных кадров выполняют интерполяцию с компенсацией движения соседних опорных кадров.
[0011] В одном из вариантов осуществления, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров, способ дополнительно содержит выполнение локальной линейной комбинации для по меньшей мере некоторых блоков соседних опорных кадров в случае, когда: число упомянутых по меньшей мере некоторых блоков соседних опорных кадров, значения сглаженной оценки вероятности появления артефакта которых меньше предопределенного локального порогового значения, являющегося максимальным значением оценки вероятности появления артефакта, при котором допустимо применять локальную линейную комбинацию, не превышает предопределенное максимальное число блоков, для которого допустимо применять локальную линейную комбинацию, причем предопределенное локальное пороговое значение меньше предопределенного глобального порогового значения.
[0012] В одном из вариантов осуществления, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров, способ дополнительно содержит выполнение локальной линейной комбинации как взвешенной суммы промежуточного кадра, получаемого интерполяцией движения упомянутой пары кадров, и линейной комбинации упомянутой пары кадров, причем веса для каждого блока вычисляются на основе значений сглаженной оценки вероятности появления артефакта.
[0013] В одном из вариантов осуществления метрика оценки движения, вычисляемая при оценке движения между кадрами на поблочной основе, является характеристикой сходства между пикселями блока одного кадра и пикселями соответствующей области другого кадра, причем метрикой оценки движения является средняя абсолютная разность (MAD) или сумма абсолютных разностей (SAD), при этом более низкие значения SAD или MAD соответствуют более высокой точности оценки движения.
[0014] В одном из вариантов осуществления получение окклюзий на основе поля движения вперед и поля движения назад содержит этапы, на которых: инициализируют карту открывающихся окклюзий и карту закрывающихся окклюзий для упомянутой по меньшей мере одной пары кадров видео; для каждого блока из множества блоков первого кадра, перемещают соответствующий блок на основе вектора движения, определенного для этого блока, во второй кадр и исключают в карте открывающихся окклюзий все пиксели второго кадра, накрытые таким перемещением, причем пиксели второго кадра, которые остались не накрытыми в карте открывающихся окклюзий, указывают открывающиеся окклюзии; для каждого блока из множества блоков второго кадра, перемещают соответствующий блок на основе вектора движения, определенного для этого блока, в первый кадр и исключают в карте закрывающихся окклюзий все пиксели первого кадра, накрытые таким перемещением, причем пиксели первого кадра, которые остались не накрытыми в карте закрывающихся окклюзий, указывают закрывающиеся окклюзии; строят карту неопределенных окклюзий, в которой пиксели, одновременно принадлежащие как к открывающимся окклюзиям, так и к закрывающимся окклюзиям на основе карты открывающихся окклюзий и карты закрывающихся окклюзий, указываются в качестве неопределенных окклюзий; и поблочно агрегируют информацию об открывающихся окклюзиях, закрывающихся окклюзиях и неопределенных окклюзиях.
[0015] В одном из вариантов осуществления получение окклюзий на основе поля движения вперед и поля движения назад содержит прием информации об окклюзиях, в том числе закрывающихся окклюзиях, открывающихся окклюзиях и неопределенных окклюзиях, найденных на основе поля движения вперед и поля движения назад, от внешнего блока нахождения окклюзий.
[0016] В одном из вариантов осуществления обработка разрывов для подавления разрывов в поле движения вперед, которые перекрываются с закрывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], значение которого уменьшается при обнаружении закрывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа закрывающихся окклюзий.
[0017] В одном из вариантов осуществления обработка разрывов для подавления разрывов в поле движения назад, которые перекрываются с открывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], значение которого уменьшается при обнаружении открывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа открывающихся окклюзий.
[0018] В одном из вариантов осуществления подавление разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения этих соседних векторов движения содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент [0..1], который уменьшается при увеличении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в ноль при достижении первого предопределенного порогового значения метрики оценки движения, и увеличивается при уменьшении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в единицу при достижении второго предопределенного порогового значения метрики оценки движения.
[0019] В одном из вариантов осуществления способ дополнительно содержит определение адаптивного к разрешению кадра весового коэффициента и применение этого весового коэффициента для усиления обнаруживаемых разрывов между пространственно соседними векторами движения.
[0020] В одном из вариантов осуществления сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, имеющим размер фильтра, определяемый адаптивно к разрешению кадра.
[0021] В одном из вариантов осуществления сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, имеющим размер фильтра, определяемый адаптивно к предопределенному минимальному размеру обнаруживаемого артефакта.
[0022] В одном из вариантов осуществления вычисление оценки вероятности появления артефакта дополнительно содержит: подавление разрывов, которые находятся в блоках кадра, расположенных на расстоянии от границы кадра, которое меньше предопределенного расстояния от границы кадра в блоках.
[0023] В одном из вариантов осуществления разрывы между векторами движения обнаруживаются для расположенных по вертикали пространственно соседних блоков кадра или для расположенных по горизонтали пространственно соседних блоков кадра.
[0024] В одном из вариантов осуществления разрывы между векторами движения обнаруживаются для расположенных по вертикали пространственно соседних блоков кадра и для расположенных по горизонтали пространственно соседних блоков кадра.
[0025] В одном из вариантов осуществления вычисление оценки вероятности появления артефакта реализуется, по меньшей мере частично, с использованием функции Хевисайда.
[0026] Согласно второму аспекту настоящего изобретения предложено вычислительное устройство пользователя, содержащее процессор, выполненный с возможностью, при исполнении сохраненных исполняемых процессором инструкций, осуществления способа FRC-преобразования видео по первому аспекту или любому дополнительному варианту осуществления первого аспекта.
[0027] Настоящее изобретение решает или по меньшей мере смягчает вышеописанные проблемы предшествующего уровня техники и обеспечивает технические решения, которые повышают точность обнаружения возможных артефактов и других дефектов изображений (например, “зависаний”, “дерганий”), получаемых при FRC-преобразовании. Как следствие повышается точность принятия решения в той или иной ситуации, следует ли выполнять частичную или полную замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Благодаря такому адаптивному подходу обеспечивается компромисс между неплавным отображением, которое может происходить из-за выполнения операций линейной комбинации кадров, и потенциальными артефактами, которые могут возникать из-за интерполяции кадра с компенсацией движения.
[0028] Кроме того, настоящее изобретение является пригодным для реализации на устройствах с ограниченными ресурсами в реальном времени, поскольку большая часть обработки данных выполняется на поблочной основе. Кроме того, вычислительно сложные операции, в случаях, когда они, как ожидается, могут привести к появлению артефактов на изображениях с интерполированным движением, полностью или частично заменяются менее вычислительно сложными операциями, что дополнительно способствует пригодности настоящего изобретения к реализации на устройствах с ограниченными ресурсами в реальном времени. Другие технические преимущества настоящего изобретения и решаемые задачи стану поняты после ознакомления с нижеследующим подробным описанием.
Краткое описание чертежей
[0029] Далее настоящее изобретение будет описано более подробно со ссылкой на прилагаемые чертежи, на которых:
[ФИГ. 1] На Фиг. 1 показана последовательность операций способа FRC-преобразования видео согласно настоящему изобретению.
[ФИГ. 2] На Фиг. 2 показана последовательность операций получения окклюзий на основе полей движения согласно настоящему изобретению.
[ФИГ. 3] На Фиг. 3 показана последовательность операций вычисления оценки вероятности появления артефакта согласно настоящему изобретению.
[ФИГ. 4] На Фиг. 4(a)-(h) показаны графические представления данных, получаемых в результате выполнения этапов способа FRC-преобразования видео согласно настоящему изобретению.
[ФИГ. 5] На Фиг. 5 показана иллюстрация зависимости размера области артефакта от разрешения кадра.
[ФИГ. 6] На Фиг. 6(a)-(c) показаны графики, иллюстрирующие зависимости весовых коэффициентов, применяемых при вычислении оценки вероятности появления артефакта согласно настоящему изобретению.
[ФИГ. 7] На Фиг. 7 схематично показано построение карты открывающихся окклюзий и карты закрывающихся окклюзий согласно настоящему изобретению.
[ФИГ. 8] На Фиг. 8 схематично показано вычислительное устройство пользователя согласно настоящему изобретению.
[0030] Следует понимать, что фигуры могут быть представлены схематично и не в масштабе и предназначены, главным образом, для улучшения понимания настоящего изобретения.
Подробное описание
[0031] На Фиг. 1 показана последовательность операций способа FRC-преобразования видео согласно настоящему изобретению. Способ начинается с этапа S100, на котором получают по меньшей мере одну пару исходных кадров входного видео, подлежащего FRC-преобразованию. Видео может быть любого качества/разрешения и может быть получено любым способом, например, но без ограничения упомянутым, загружено из Интернета или любой другой информационно-коммуникационной сети с помощью любой технологии связи (например, Wi-Fi, Bluetooth, Near field communication, 3G, 4G, 5G и т.д.). В другом варианте осуществления видео может захватываться камерой, сохраняться в памяти устройства, а затем к нему может быть осуществлен доступ блоком FRC-преобразования в процессоре для выполнения над ним FRC-преобразования. В других вариантах осуществления входное видео, содержащие исходные кадры, может поступать от процессора изображений или видеодекодера. Исходные кадры являются соседними по времени кадрами, которые являются ближайшими к той позиции во времени, на месте которой будет создаваться промежуточный кадр при FRC-преобразовании. Эти исходные кадры могут альтернативно упоминаться как опорные/ключевые кадры.
[0032] После получения по меньшей мере одной пары кадров видео, способ переходит на этап S102, на котором каждый исходный кадр из упомянутой по меньшей мере одной пары кадров видео разделяют на множество блоков. Может использоваться любая схема разделения кадров на блоки. В качестве примера, но не ограничения, кадры могут быть разделены на 8×8 блоки ярости (luma), составляющие макроблок в усовершенствованном кодировании видео (AVC). Тем не менее, не следует ограничивать настоящее изобретение 8×8 блоками ярости в AVC, поскольку любые другие типы блоков (например, CTU), используемые в других стандартах видеокодирования, например, в Высокоэффективном Видеокодировании (HEVC, H.265) и в Универсальном Видеокодировании (VVC, H.266), могут быть использованы. Следовательно, размер блоков, на которые кадры могут делиться на данном этапе, не следует ограничивать указанным выше размером 8×8, поскольку применимы и другие размеры, например, 16×16, 32×32, 64×64, а также прямоугольные размеры.
[0033] Этап S102 разделения кадров на блоки обеспечивает возможность выполнения последующих этапов на поблочной основе. При выполнении этапов на поблочной основе значение какой-либо переменной, связанной с отдельно взятым блоком, принимается одинаковым для всех пикселей внутри этого блока. Такой подход позволяет обрабатывать информацию не с каждого пикселя, а только с каждого блока, что приводит к значительному уменьшению объема обрабатываемых данных по сравнению с полностью попиксельной обработкой. Как уже отмечено выше, выполнение большей части обработки данных на поблочной основе делает настоящее изобретение пригодным для реализации на устройствах с ограниченными ресурсами в реальном времени.
FW
BW
[0034] После разделения кадров на блоки способ переходит на этап S104, на котором оценивают движение между кадрами на поблочной основе. При этой оценке движения получают поле движения вперед (D на Фиг. 8) и поле движения назад (D на Фиг. 8). Поле движения вперед представляет собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков первого кадра и указывает в соответствующую область во втором кадре. Поле движения назад представляет собой набор векторов движения, каждый из который соответствует соответствующему блоку из множества блоков второго кадра и указывает в соответствующую область в упомянутом первом кадре. На Фиг. 4(b) приведены графические представления полей движения назад и вперед, которые получены для некоторой пары кадров обрабатываемого видео. Белые области на Фиг. 4(b) соответствуют тем областям, в которых какое-либо движение отсутствует. Разные градации серого в других областях на Фиг. 4(b) соответствуют разным векторам движения разных блоков, которые были получены в результате оценки движения.
[0035] Таким образом алгоритм оценки движения (ME) формирует вектор движения для каждого блока первого кадра, который указывает в соответствующую область второго кадра. Тут необходимо отметить, что ‘соответствующая область второго кадра’ имеет аналогичный размер, что и соответствующий блок первого кадра, вектор движения которого в нее указывает, но эта соответствующая область второго кадра может не находиться строго в сетке блоков второго кадра. Другими словами, ‘соответствующая область второго кадра’ может включать в себя одну или более границ между двумя или более блоками в сетке блоков второго кадра, которые были получены разделением на этапе S102. Первый кадр и второй кадр являются кадрами, полученными и обработанными на предыдущих этапах, причем первый кадр предшествует второму кадру во времени.
[0036] Вектор движения (MV) представляет собой смещение между блоком одного кадра и соответствующей областью другого кадра в виде двух координат: по горизонтали и по вертикали. Это смещение может иметь как пиксельную точность, так и дробно-пиксельную точность. Полем движения является набор векторов движения, где каждый из векторов движения поставлен в соответствие либо каждому пикселю (dense motion field - плотное поле движения), либо блоку пикселей (обычно квадрат или прямоугольник рядом лежащих пикселей) кадра. В настоящем изобретении используются векторы движения, принадлежащие блокам, и соответственно используются блочные поля движения. Например, если кадр размером 720×1280 пикселей разбит на блоки размером 8×8 пикселей каждый, то размер кадра составляет 90×160 блоков, и именно столько векторов движения имеет поле движения для такого кадра.
N
N+1
FW, N
N
N+1
BW, N
N+1
N
N
N+1
[0037] Векторы движения указывают в какую-то соответствующую область другого кадра. Поле движения всегда подразумевает наличие двух кадров - текущего и какого-то другого (например, следующего по времени или предыдущего по времени). Приводимые далее обозначения соответствуют обозначениям, показанным на Фиг. 8, на которую в данный момент делается дополнительная ссылка для наглядной иллюстрации последующих пояснений. Если кадры, снятые камерой, пронумерованы по возрастанию, то для пары кадров F и F полем движения вперед D будет набор векторов движения для текущего кадра F, которые указывают в соответствующие области другого кадра F (можно получить скомпенсированный кадр простым алгоритмом компенсации движения). Полем движения назад Dбудет набор векторов движения для текущего кадра F, которые указывают в соответствующие области другого кадра F (можно получить скомпенсированный кадр простым алгоритмом компенсации движения). В настоящем изобретении оба этих поля движения могут являться результатом работы алгоритма оценки движения между кадрами F и F.
[0038] Если имеется пара кадров в моменты времени N и N+1, и необходимо получить промежуточный кадр, например интерполированный кадр, в момент времени N+α (где α является фазой интерполяции; например, N+0,5), то пара опорных кадров N и N+1 называется текущей, пара N-1 и N называется предыдущей, пара N+1 и N+2 называется следующей. Соответственно называются и поля движения между кадрами каждой пары.
[0039] Кроме того, на данном этапе S104 каждому вектору движения присваивается соответствующее значение метрики оценки движения. Это значение метрики оценки движения, вычисляемое между кадрами на поблочной основе, является характеристикой сходства между блоком одного кадра и соответствующей областью другого кадра. Альтернативно метрика оценки движения может именоваться мерой доверия вектору движения блока и представлять собой число, характеризующее точность найденного вектора. Метрикой оценки движения может быть, но без ограничения упомянутыми метриками, средняя абсолютная разность (MAD) или сумма абсолютных разностей (SAD). При этом должно быть понятно, что более низкие значения SAD или MAD соответствуют более высокой точности оценки движения, т.е. более высокому сходству частей кадров или более высокой мере доверия найденному вектору движения.
[0040] На Фиг. 4(a) приведено графическое представление метрики оценки движения, которая получена для упомянутой пары кадров обрабатываемого видео. Черные области соответствуют областям заднего фона, где отсутствует движение (т.е. высокое сходство между блоком одного кадра и соответствующей областью другого кадра; т.е. высокое значение метрики оценки движения), а более светлые области соответствуют объекту переднего фона, обладающему сложным движением (т.е. меньшее сходство между блоком одного кадра и соответствующей областью другого кадра; т.е. более низкое значение метрики оценки движения). Понятно, что вероятность появления артефакта в более светлых областях выше, чем в более темных областях.
[0041] После выполнения оценки движения между кадрами на поблочной основе способ переходит на этап S106, на котором получают информацию об окклюзиях на основе поля движения вперед и поля движения назад. Более подробная последовательность этапов получения окклюзий на основе полей движения согласно настоящему изобретению показана на Фиг. 2.
N+1
N
[0042] Получение окклюзий на основе поля движения вперед и поля движения назад начинается с этапа S106.1, на котором инициализируют карту UncoverMapоткрывающихся окклюзий и карту CoverMap закрывающихся окклюзий для обрабатываемой пары кадров видео. Упомянутая инициализация представляет собой создание карт окклюзий, размеры которых аналогичны размеру обрабатываемых кадров, и установку значений всех пикселей этих карт в одинаковое значение (либо в 0, либо в 1). Закрывающаяся (covered) окклюзия: в предыдущем кадре часть заднего фона закрывается (этой зоны не видно в следующем кадре) вследствие смещения переднего объекта. Открывающаяся (uncovered) окклюзия: в следующем кадре часть заднего фона открывается (этой зоны не видно в предыдущем кадре) вследствие смещения переднего объекта.
[0043] После инициализации карт окклюзий выполняют этапы S106.2 и S106.3. Приводимые далее обозначения соответствуют обозначениям, показанным на Фиг. 7, на которую в данный момент делается дополнительная ссылка для наглядной иллюстрации последующих пояснений. На Фиг. 7 для наглядности описания отображены вектора движения для каждого пикселя и произвольного размера блока.
N
N+1
N+1
[0044] На этапе S106.2, для каждого блока из множества блоков первого кадра F, перемещают каждый пиксель соответствующего блока на основе вектора движения, определенного для этого блока, во второй кадр Fи исключают в карте открывающихся окклюзий все пиксели второго кадра, накрытые таким перемещением. Данное исключение выполняют отметкой пикселей второго кадра, которые остались не накрытыми, в попиксельной карте открывающихся окклюзий UncoverMap значением (в примере на Фиг. 7 таким значением является ‘1’), отличающимся от значения, использованного на этапе S106.1 для инициализации этой карты.
N+1
N
N
N
[0045] На этапе S106.3, для каждого блока из множества блоков второго кадра F, перемещают каждый пиксель соответствующего блока на основе вектора движения, определенного для этого блока, в первый кадр Fи исключают в попиксельной карте закрывающихся окклюзий CoverMapвсе пиксели первого кадра, накрытые таким перемещением. Данное исключение выполняют отметкой пикселей первого кадра, которые остались не накрытыми, в карте закрывающихся окклюзий CoverMap значением (в примере на Фиг. 7 таким значением является ‘1’), отличающимся от значения, использованного на этапе S106.1 для инициализации этой карты.
N+1
N
N+1
N
N, N+1
N+1
N
N, N+1
[0046] На этапе S106.4 строят карту неопределенных окклюзий InconsistentMap (не показана на Фиг. 7), в которой пиксели, одновременно принадлежащие как к открывающимся окклюзиям, так и к закрывающимся окклюзиям на основе карты открывающихся окклюзий UncoverMapи карты закрывающихся окклюзий CoverMap, указываются в качестве неопределенных окклюзий. Аналогично карте открывающихся окклюзий UncoverMapи карте закрывающихся окклюзий CoverMap, карта неопределенных окклюзий InconsistentMap сначала инициализируется в одинаковое значение (либо в 0, либо в 1), а затем неопределенные окклюзии в этой карте отмечают значением, отличающимся от значения, использованного на этапе (не показан на Фиг. 2) для инициализации этой карты. На Фиг. 4(d) приведено графическое представление полученной информации о попиксельных окклюзиях для обрабатываемой пары кадров видео. Светлые области соответствуют областям, в которых какие-либо окклюзии между кадрами не обнаружены, более темные области соответствуют открывающимся окклюзиям, еще более темные области соответствуют неопределенным окклюзиям, черные области соответствуют закрывающимся окклюзиям. В дальнейшем, при построении оценки APM(x, y) вероятности появления артефакта для промежуточных кадров между N и N+1 используются агрегированные карты: открывающихся окклюзий UncoverMap, закрывающихся окклюзий CoverMap, неопределенных окклюзий InconsistentMap.
[0047] На этапе S106.5 поблочно агрегируют информацию об открывающихся окклюзиях, закрывающихся окклюзиях и неопределенных окклюзиях для получения информации об окклюзиях для обрабатываемой пары кадров видео. Например, при агрегировании суммируют все значения, принадлежащие пикселям одного блока, расположенного на регулярной решетке блоков в той или иной карте. В дальнейшем описании агрегированные поблочные карты именованы без индексов, как Covered, Uncovered, Inconsistent.
[0048] В альтернативном варианте осуществления информация об окклюзиях, пример графического представления которой показан на Фиг. 4(d), принимается от внешнего блока нахождения окклюзий. Таким образом, настоящее изобретение способно взаимодействовать с внешним алгоритмом нахождения окклюзий. В еще одном возможном варианте осуществления обработка окклюзий для FRC-преобразования может быть реализована c помощью глубокого обучения, что раскрыто в заявке РФ на изобретение №2020132721, содержимое которой включено в данную заявку по этой ссылке во всей своей полноте.
[0049] Возвращаясь к Фиг. 1, после получения информации об окклюзиях способ переходит на этап S108, на котором вычисляют оценку вероятности появления артефакта, указывающую вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром, согласно следующему Уравнению 1:
APM(x, y)=H(mv_break(x, y))*Omul(x, y)*Mmul(x, y),
где
APM(x, y) - оценка вероятности появления артефакта для блока с координатами (x, y),
H(x) - ступенчатая функция Хэвисайда, где H(x)=0 при x≤0, H(x)=1 при x>0,
mv_break(x, y)- разрыв между векторами движения пространственно соседних блоков,
Omul(x, y) - весовой коэффициент, связанный с агрегированными картами окклюзий, и
Mmul(x, y) - весовой коэффициент, связанный с метрикой оценки движения.
Более подробная последовательность этапов вычисления оценки вероятности появления артефакта показана на Фиг. 3.
[0050] Вычисление оценки вероятности появления артефакта начинается с этапа S108.2, на котором обнаруживают разрывы между пространственно соседними векторами движения в по меньшей мере одном из поля движения вперед и поля движения назад. Разрывы между векторами движения могут обнаруживаться для расположенных по вертикали пространственно соседних блоков кадра и/или для расположенных по горизонтали пространственно соседних блоков кадра.
h
[0051] Для расположенных по горизонтали пространственно соседних блоков (x, y) и (x+1,y) кадра разрыв mv_break(x, y)вычисляется согласно следующему Уравнению 2:
mv_break
(x,y)=max(||MV
(x,y)-MV
(x+1,y)||
-K
,0),
h
N
→
N+1
N
→
N+1
2
nobreak
N→N+1
где MV(x, y) - вектор движения блока (x, y),
N→N+1
MV(x+1,y) - вектор движения блока (x+1,y), и
nobreak
nobreak
nobreak
nobreak
nobreak=
K - предопределенное пороговое значение ‘отсутствия разрыва’. Конкретное значение K зависит от размера блока. В одном неограничивающем примере размера блока 8×8: K=4. В общем случае K может определяться, но без ограничения упомянутым, следующим образом Kmin(h/2, w/2), где h - высота блока, а w - ширина блока.
v
[0052] Для расположенных по вертикали пространственно соседних блоков (x, y) и (x, y+1) кадра разрыв mv_break(x, y)вычисляется согласно следующему Уравнению 3:
mv_break
(xy)=max(||MV
(x, y)-MV
(x,y+1)||
-K
,0),
v
N
→
N+1
N
→
N+1
2
nobreak
N→N+1
где MV(x,y) - вектор движения блока (x,y),
N→N+1
MV(x,y+1) - вектор движения блока (x,y+1), и
nobreak
nobreak
nobreak
nobreak
K - предопределенное пороговое значение ‘отсутствия разрыва’. Конкретное значение K зависит от размера блока. В одном неограничивающем примере для размера блока 8×8: K=4. Смысл заключается в том, что разрыв меньше, чем в половину линейного размера блока можно проигнорировать. K можно варьировать в пределах, от 25% до 100% от наименьшего линейного размера блока.
[0053] Таким образом, разрывы между пространственно соседними векторами движения вычисляются и подавляются для каждого блока по отдельности. Затем, когда разрывы посчитаны в каждом блоке, внутри каждого блока разрывы по горизонтали и разрывы по вертикали суммируются и нормируются. Затем эти суммированные значения сглаживаются. Более подробно эти вычисления будут описаны ниже.
FW, N→N+1
BW, N+1→N
[0054] В приведенных выше Уравнениях 2 и 3 соседние векторы движения берутся из одного и того же поля движения вперед DW. Для поля движения назад DWразрывы между векторами движения расположенных по вертикали пространственно соседних блоков кадра и/или расположенных по горизонтали пространственно соседних блоков кадра могут быть вычислены аналогично приведенным выше Уравнениям 2 и 3. На Фиг. 4(c) приведено графическое представление обнаруженных разрывов между пространственно соседними векторами движения в поле движения назад.
[0055] После обнаружения разрывов между пространственно соседними векторами движения в по меньшей мере одном из поля движения вперед и поля движения назад, осуществляют этап S108.4, на котором обрабатывают разрывы, причем упомянутая обработка содержит подавление разрывов, которые перекрываются только с открывающимися окклюзиями для разрывов в поле движения назад или только с закрывающимися окклюзиями для разрывов в поле движения вперед, и усиление разрывов, которые перекрываются с неопределенными окклюзиями.
[0056] Обработка разрывов для подавления разрывов в поле движения вперед, которые перекрываются с закрывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент Omul(x, y) [0..1] (как показано, например, в Уравнении 1), значение которого уменьшается при обнаружении закрывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа закрывающихся окклюзий. Весовой коэффициент Omul(x, y) в этом случае может определяться согласно следующему Уравнению 4:
где Covered(x, y) - число закрывающихся окклюзий в блоке с координатами (x, y),
Inconsistent(x, y) - число неопределенных окклюзий в блоке с координатами (x, y),
- коэффициент для усиления значимости неопределенных окклюзий. В одном варианте осуществления для блока 8×8 используется . Это означает, что если более ¼ всех пикселей в блоке будут помечены как неопределенная окклюзия, то , то есть подавление для этого блока не будет производиться. Таким образом, должно быть понятно, что конкретное значение коэффициента  в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 4.
- число закрывающихся окклюзий в блоке в диапазоне [(число пикселей в блоке/3) .. (число пикселей в блоке)], с вычетом неопределенных окклюзий, усиленных коэффициентом , при котором разрыв должен быть полностью подавлен. В одном варианте осуществления для блока 8×8 используется . Это означает, что в блоке 8×8 должно быть более 62,5% закрывающихся окклюзий, при отсутствии неопределенных, чтобы разрыв был полностью подавлен. Таким образом, должно быть понятно, что конкретное значение коэффициента  в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 40.
[0057] В других вариантах осуществления значение весового коэффициента Omul(x, y) может определяться иными математическими зависимостями при соблюдении условия увеличения коэффициента при увеличении числа неопределенных окклюзий или отсутствии любых окклюзий и уменьшения этого коэффициента при увеличении числа окклюзий одного типа при незначительном числе неопределенных окклюзий.
[0058] Обработка разрывов для подавления разрывов в поле движения назад, которые перекрываются с открывающимися окклюзиями, и усиления разрывов, которые перекрываются с неопределенными окклюзиями, содержит умножение соответствующего значения оценки вероятности появления артефакта на весовой коэффициент Omul(x, y) [0..1] (как показано, например, в Уравнении 1), значение которого уменьшается при обнаружении открывающейся окклюзии и увеличивается при увеличении числа неопределенных окклюзий и/или уменьшении числа открывающихся окклюзий. Весовой коэффициент Omul(x, y) в этом случае может определяться согласно следующему Уравнению 5:
где Uncovered(x, y) - число открывающихся окклюзий в блоке с координатами (x, y),
Inconsistent(x, y) - число неопределенных окклюзий в блоке с координатами (x, y),
, могут принимать те же числовые значения, что и в Уравнении 4.
[0059] В качестве альтернативы или в дополнение весовые коэффициенты Omul(x, y) могут определяться с учетом окклюзий расположенных по вертикали блоков. Тогда вышеуказанные Уравнения 4 и 5 могут быть модифицированы следующим образом:
Модифицированное уравнение 4:
Модифицированное уравнение 5:
[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.
[0061] На Фиг. 4(e) приведено графическое представление результатов обработки разрывов на этапе S108.4, которые были обнаружены на этапе S108.2. Если сравнить Фиг. 4(e) (после обработки) с Фиг. 4(с) (до обработки), можно заметить, что обработка разрывов на этапе S108.4 привела к тому, что часть разрывов в области кадра, которая находится ближе к нижней границе кадра (под ладонью руки, показанной в кадре) подавлена, поскольку вероятность появления артефакта в данной области низка, т.к. данная область соответствует фоновой области кадра, в которой какого-либо движения нет или оно минимально. При этом можно заметить, что часть разрывов в другой области кадра, которая соответствует ладони руки, показанной в кадре, усилена, поскольку вероятность появления артефакта в данной области высока, т.к. по факту данная область соответствует области переднего плана, т.е. в этой области крайне вероятно быстрое и/или нелинейное движение.
[0062] После обработки разрывов на этапе S108.4, переходят к этапу S108.5, на котором осуществляют подавление разрывов между пространственно соседними векторами движения на основе значений метрики оценки движения этих соседних векторов движения. Само подавление на данном этапе реализуется умножением соответствующего значения оценки вероятности появления артефакта на весовой коэффициент Mmul(x, y) [0..1] (как показано, например, в Уравнении 1), который уменьшается при увеличении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в ноль при достижении первого предопределенного порогового значения метрики оценки движения (в неограничивающем примере на верхнем графике на Фиг. 6, первое предопределенное пороговое значение метрики оценки движения равно 4), и увеличивается при уменьшении максимального значения из значений метрики оценки движения в рассматриваемой паре векторов движения, переходя в единицу при достижении второго предопределенного порогового значения метрики оценки движения (в неограничивающем примере на верхнем графике на Фиг. 6, второе предопределенное пороговое значение метрики оценки движения равно 20). Кроме того, должно быть понятно, что зависимость весового коэффициента Mmul (x, y) и соответствующих первого предопределенного порогового значения метрики оценки движения и второго предопределенного порогового значения метрики оценки движения может определяться путем изменения соответствующего параметра наклона прямой, показанной на верхнем графике на Фиг. 6.
[0063] Должно быть понятно, что поскольку более низкие значения метрики оценки движения соответствуют более высокой точности оценки движения, т.е. более высокому сходству частей кадров или более высокой мере доверия найденному вектору движения, при более низких значениях метрики оценки движения весовой коэффициент Mmul(x, y) определяется более низким (т.е. более близким к 0), чтобы подавлять соответствующий разрыв, поскольку вероятность появления артефакта в этой области с высокой точностью оценки движения будет низкой. Напротив, поскольку более высокие значения метрики оценки движения соответствуют более низкой точности оценки движения, т.е. более низкому сходству частей кадров или более низкой мере доверия найденному вектору движения, при более высоких значениях метрики оценки движения весовой коэффициент Mmul(x, y) определяется более высоким (т.е. более близким к 1), чтобы не подавлять соответствующий разрыв, поскольку вероятность появления артефакта в этой области с низкой точностью оценки движения будет высокой.
[0064] В случае использования средней абсолютной разности (MAD) в качестве метрики оценки движения весовой коэффициент Mmul(x, y) может определяться согласно следующему Уравнению 6:
N→N+1
где MAD(x, y) - значение средней абсолютной разности для вектора движения из поля движения вперед в блоке с координатами (x, y);
N→N+1
где MAD(x+1,y) - значение средней абсолютной разности для вектора движения из поля движения вперед в блоке с координатами (x+1,y),
- предопределенное пороговое значение средней абсолютной разности, если усредненные значения средней абсолютной разности обоих блоков меньше этого значения, то разрыв полностью подавляется, то есть .  может лежать в диапазоне от 0 до максимально возможной средней абсолютной разности.  целесообразно выбирать в зависимости от уровня шума в кадре или видеопоследовательности. Чем выше амплитуда шума, тем больше значение . В одном варианте осуществления используется =4 для видео с низким уровнем шума. Тем не менее, должно быть понятно, что конкретное значение коэффициента  в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 4.
- предопределенное пороговое значение средней абсолютной разности, если усредненные значения средней абсолютной разности обоих блоков больше этого значения, то разрыв не подавляется, то есть .  должен быть больше  и лежать в том же возможном диапазоне.  целесообразно выбирать в зависимости от чувствительности человека к изменению яркости или в зависимости от средней контрастности кадра. В одном варианте осуществления используется =20 для контрастных кадров, поскольку перепад в 20 уровней яркости (при максимальной яркости 256) хорошо виден человеком. Тем не менее, должно быть понятно, что конкретное значение коэффициента  в других вариантах осуществления и для других размеров блока может быть равно значению, которое больше или меньше, чем 20.
mul
[0065] В случае использования суммы абсолютных разностей (SAD) в качестве метрики оценки движения весовой коэффициент M(x, y) может определяться согласно следующему Уравнению 7:
N→N+1
где SAD(x, y) - значение суммы абсолютных разностей для вектора движения из поля движения вперед в блоке с координатами (x, y);
N→N+1
где SAD(x+1,y) - значение суммы абсолютных разностей для вектора движения из поля движения вперед в блоке с координатами (x+1,y).
и  имеют то же смысловое значение, что коэффициенты  и  и их значения предопределяются из тех же соображений. Например, можно использовать следующие коэффициенты:
, и
.
[0066] В качестве альтернативы или в дополнение весовые коэффициенты Mmul(x, y) могут определяться с учетом разностей векторов движения расположенных по вертикали блоков. Тогда вышеуказанные уравнения 6 и 7 могут быть модифицированы следующим образом:
Модифицированное уравнение 6:
Модифицированное уравнение 7:
[0067] На Фиг. 4(f) приведено графическое представление результатов подавления разрывов на этапе S108.5. Если сравнить Фиг. 4(f) (после подавления разрывов) с Фиг. 4(e) (с обработанными разрывами), можно заметить, что выполнение этапа S108.5 привело к подавлению практически всех разрывов в области заднего фона, поскольку вероятность появления артефакта в данной области (при интерполяции кадра с компенсацией движения), обладающей высокой точностью оценки движения, низка. То, что проиллюстрировано на Фиг. 4(f) является графическим представлением вычисленной на этапе S108 оценки APM вероятности появления артефакта, указывающей вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром в блоке с координатой (x, y). Более светлые области на Фиг. 4(f) соответствуют более высокой оценке вероятности появления артефакта, а более темные области соответствуют более низкой оценке вероятности.
[0068] Возвращаясь к Фиг. 1, после вычисления оценки APM(x, y) вероятности появления артефакта, указывающей вероятность появления артефакта при интерполяции кадра с компенсацией движения между первым кадром и вторым кадром, способ переходит на этап S110, на котором выполняют сглаживающую фильтрацию оценки вероятности появления артефакта. Вычисленная оценка APM является высокочувствительным обнаружением, однако она может быть неточной из-за шума во входных векторах движения. Таким образом, вычисленная оценка APM также может содержать высокий уровень шума. Кроме того, одиночный разрыв обычно не приводит к появлению заметного артефакта, так как один блок - это небольшая часть кадра. В то же время множество блоков с высокой оценкой APM(x, y) в какой-то одной области однозначно указывают на появление артефакта. Сглаживающую фильтрацию оценки APM вероятности появления артефакта выполняют на данном этапе, чтобы убрать шум и одиночные разрывы.
[0069] Сглаживающая фильтрация оценки вероятности появления артефакта выполняется цифровым фильтром, например, но без ограничения упомянутым, прямоугольным фильтром, Гауссовским фильтром или любым другим фильтром нижних частот, выполняющим сглаживание/размытие. Поясняемые далее аспекты настоящего изобретения, связанные со сглаживающей фильтрацией, подробно и наглядно описаны ниже со ссылкой на Фиг. 5.
[0070] На Фиг. 5 показан пример двух кадров одной и той же сцены в двух разных разрешениях. Ширина верхнего изображения составляет 640 пикселей, ширина нижнего изображения составляет 1280 пикселей. На Фиг. 5 наглядно показано, что блок 8×8 пикселей верхнего изображения в низком разрешении захватывает большую область физического пространства сцены, чем блок 8×8 пикселей нижнего изображения в высоком разрешении. Соответственно, размер области артефакта на верхнем изображении в низком разрешении составляет 3×4 блока, тогда как размер области того же самого артефакта на нижнем изображении в высоком разрешении составляет 6×8 блоков.
[0071] Учитывая вышесказанное, авторы настоящего изобретения предусмотрели в одном варианте осуществления возможность изменения размера фильтра, используемого для сглаживающей фильтрации, адаптивно к разрешению кадра. В другом варианте осуществления авторы настоящего изобретения предусмотрели возможность изменения размера фильтра, используемого для сглаживающей фильтрации, адаптивно к разрешению кадра и к предопределенному минимальному размеру обнаруживаемого артефакта. Данные варианты осуществления настоящего изобретения позволяют повысить универсальность раскрытого способа преобразования частоты кадров видео (т.е. делают его независящим от разрешения входных кадров и позволяют регулировать строгость параметров, при которых выбирается замена интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров).
[0072] В том варианте осуществления, в котором размер прямоугольного фильтра определяется адаптивно к разрешению кадра, определение может осуществляться согласно следующему Уравнению 8, согласно которому сначала получают площадь фильтра:
FilterArea=4*5*(h*w)/(960*540)
где FilterArea - площадь фильтра в блоках,
h - высота обрабатываемого кадра в пикселях, и
w - ширина обрабатываемого кадра в пикселях.
[0073] 960х540 - это базовые ширина и высота кадра в пикселях, для которого установлены базовые размеры сглаживающего фильтра 4х5. Соответственно рассчитываемая площадь фильтра будет расти или падать в зависимости от количества пикселей в обрабатываемом кадре (h, w) относительно базового кадра пропорционально (h*w)/(960*540). То есть пиксели из размерности уйдут, а останутся блоки (4х5) в квадрате. После вычисления площади фильтра в блоках, линейный размер сглаживающего фильтра может быть вычислен путем взятия корня из FilterArea.
[0074] В том варианте осуществления, в котором размер прямоугольного фильтра определяется адаптивно к разрешению кадра и к предопределенному минимальному размеру обнаруживаемого артефакта, определение может осуществляться согласно следующему модифицированному Уравнению 8, согласно которому сначала получают площадь фильтра:
FilterArea=4*5*K
*(h*w)/(960*540)
sens
_
area
sens_area
sens_area
sens_area
где K - предопределенный минимальный размер обнаруживаемого артефакта: K < 1 для более чувствительного к артефактам случая, в котором приоритетом является наилучшее качество изображения, и K > 1 для менее чувствительного к артефактам случая, в котором приоритетом является наибольшая скорость обработки. Пояснения в отношении базовых значений 4 и 5, 960*540 в модифицированном Уравнении 8 аналогичны таковым, приведенным выше в отношении Уравнения 8. После вычисления площади фильтра в блоках согласно модифицированному Уравнению 8, линейный размер сглаживающего фильтра может быть вычислен путем взятия корня из FilterArea.
[0075] Результат сглаживающей фильтрации, выполненной на этапе S110, наглядно проиллюстрирован на Фиг. 4(g). Видно, что шум, имевшийся в оценке APM вероятности появления артефакта, и одиночные разрывы, которые не будут приводить заметному ухудшению качества промежуточного кадра, успешно устранены благодаря выполненной фильтрации. Далее именно такая сглаженная оценка APM вероятности появления артефакта, точно указывающая область артефакта (область быстрого и нелинейного движения ладони в проиллюстрированном примере), используется для получения промежуточных кадров.
[0076] На этапе S112 получают при осуществлении FRC-преобразования, для обрабатываемой пары кадров, один или более промежуточных кадров с учетом значений сглаженной оценки APM вероятности появления артефакта. Таким образом, описанный выше способ FRC-преобразования повышает точность обнаружения возможных артефактов, появляющихся при интерполяции с компенсацией движения и, как следствие, повышает точность принятия решения (в силу более точной оценки APM вероятности появления артефакта) в той или иной ситуации, следует ли выполнять частичную или полную замену интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Наконец, вышеописанный способ пригоден для реализации на устройствах с ограниченными ресурсами в реальном времени, поскольку большая часть обработки данных выполняется на поблочной основе.
filt
glob
t
0
1
[0077] Далее описывается то, как именно значения сглаженной оценки APM вероятности появления артефакта могут учитываться при получении одного или более промежуточных кадров во время FRC-преобразования. Тем не менее не следует ограничивать настоящее изобретение описанными далее процедурами, поскольку специалистам, после ознакомления с нижеследующей информацией, станут понятны и другие возможные процедуры. Когда максимальное значение сглаженной оценки вероятности появления артефакта больше или равно предопределенному глобальному пороговому значению max(APM)≥T, при получении на этапе S112 одного или более промежуточных кадров выполняют глобальную линейную комбинацию соседних опорных кадров. Глобальная линейная комбинация представляет собой замену интерполированного с компенсацией движения кадра I линейной комбинацией (взвешенной суммой) опорных кадров I и I и может выполняться согласно следующему Уравнению 9:
, где
0
1
где α - фаза, используемая для указания момента времени для которого получают один или более промежуточных кадров, 0≤α≤1, опорные кадры I и I являются ближайшими во времени к упомянутому моменту времени.
filt
glob
[0078] При этом когда максимальное значение сглаженной оценки вероятности появления артефакта меньше предопределенного глобального порогового значения max(APM)<T, при получении на этапе 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).
filt
glob
[0079] Далее, в одной примерной реализации, когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров (т.е. max(APM)<T), способ может содержать выполнение локальной линейной комбинации как взвешенной суммы промежуточного кадра, получаемого интерполяцией с компенсацией движения, и линейной комбинации упомянутой пары кадров, причем веса для каждого блока вычисляются на основе значений сглаженной оценки вероятности появления артефакта. Таким образом, локальная линейная комбинация может выполняться согласно следующему Уравнению 10:
,
0
1
где α - фаза, используемая для указания момента времени для которого получают один или более промежуточных кадров, 0≤α≤1, опорные кадры I и I являются ближайшими во времени к упомянутому моменту времени,
filt
filt
filt
β(x, y)=0 устанавливается для блока с координатами (x, y), который в получаемом промежуточном изображении должен быть полностью получен линейной комбинацией опорных кадров, а β(x, y)=1 устанавливается для блока с координатами (x, y), который в получаемом промежуточном изображении будет полностью получаться интерполяцией с компенсацией движения; 0≤β(x, y)≤1. То, для какого блока следует установить β(x, y) близкие к 0, а для какого блока следует установить β(x, y) близкие к 1 может определяться на основе значения сглаженной оценки APM(x, y) вероятности появления артефакта в этом блоке. Например, если предварительно ограничить диапазон значений APM(x, y)  [0..1], то можно установить β(x, y)=1- APM(x, y).
filt
glob
filt
highGlobal
local
highGlobal
glob
[0080] Альтернативным условием для выполнения локальной линейной комбинации может быть следующее условие. Когда определено, что следует выполнить интерполяцию с компенсацией движения соседних опорных кадров (т.е. max(APM)<T), способ может содержать выполнение локальной линейной комбинации для по меньшей мере некоторых блоков соседних опорных кадров в случае, когда: число упомянутых по меньшей мере некоторых блоков соседних опорных кадров, значения сглаженной оценки APM вероятности появления артефакта которых меньше предопределенного локального порогового значения T, являющегося максимальным значением оценки вероятности появления артефакта, при котором допустимо применять локальную линейную комбинацию, не превышает предопределенное максимальное число T блоков, для которого допустимо применять локальную линейную комбинацию, причем предопределенное локальное пороговое значение T меньше предопределенного глобального порогового значения T. Сама операция локальной линейной комбинация в этом варианте выполняется аналогично приведенному выше Уравнению 10.
resolution
break_gain
[0081] В альтернативном варианте осуществления настоящего изобретения способ дополнительно содержит определение на этапе S108.1 адаптивного к разрешению кадра весового коэффициента и применение S108.3 этого весового коэффициента для усиления обнаруживаемых S108.2 разрывов между пространственно соседними векторами движения. В этом варианте осуществления оценку APM вероятности появления артефакта можно корректировать с помощью весового коэффициента K и масштабирующего коэффициента K. Таким образом, адаптивная к разрешению кадра оценка вероятности появления артефакта может определяться согласно модифицированному Уравнению 1:
APM(x,y)=H(mv_break(x,y))*[1+mv_break(x,y)*K
*
break_gain
K
]*Mmul*Omul,
resolution
break_gain
break_gain
nobreak
break_gain
break_gain
break_gain
где K - предопределенный масштабирующий коэффициент, делающий размерность mv_break сопоставимой с размерностью H(mv_break). В одном неограничивающем примере K=1/32. То есть разность векторов движения в соседних блоках магнитудой в 32+ K будет удваивать изначальное значение разрыва. Изначальное значение - это результат функции Хевисайда, то есть 1. K можно изменять в пределах от 0 до 1/8, уменьшая или увеличивая таким образом усиление разрыва в зависимости от магнитуды разности векторов движения. Например, целесообразно, но не обязательно, увеличивать K на видео с небольшими амплитудами движения и уменьшать на видео со сложным высокоамплитудным движением. Кроме того, можно увеличивать K для усиления разрыва с целью поднять общую чувствительность оценки вероятности появления артефакта.
resolution
resolution
K - это предопределенный адаптивный к разрешению кадра весовой коэффициент. В одном неограничивающем примере может использоваться следующее эмпирическое значение K=, где h, w являются соответственно высотой и шириной кадра в пикселях.
[0082] В еще одном дополнительном варианте осуществления оценка вероятности появления артефакта подавляется сильнее, вплоть до полного подавления, при приближении к границам кадра. Данная особенность позволяет избежать артефактов, которые часто встречаются на краях кадров, а также снизить частоту принятия неверных решений о необходимости частичной или полной замены интерполяции кадра с компенсацией движения линейной комбинацией соседних опорных кадров. Для этих целей вычисление на этапе S108 оценки APM вероятности появления артефакта может содержать подавление на этапе S108.6 разрывов, которые находятся в блоках кадра, расположенных на расстоянии от границы кадра, которое меньше предопределенного расстояния от границы кадра в блоках. Как показано на нижнем графике на Фиг. 6 весовой коэффициент Bmul может применяться для корректировки оценки APM вероятности появления артефакта путем подавления разрывов в блоках кадра, которые находятся ближе к границе кадра, чем 8 блоков. Предопределенное расстояние в 8 блоков не следует рассматривать в качестве ограничения настоящего изобретения. Конкретное значение предопределенного расстояния может быть больше 8, или меньше 8 блоков. Должно быть понятно, что зависимость весового коэффициента Bmul и соответствующего предопределенного расстояния может определяться путем изменения соответствующего параметра наклона прямой, показанной на нижнем графике на Фиг. 6. В этом дополнительном варианте осуществления оценка вероятности появления артефакта может определяться согласно следующему модифицированному Уравнению 1:
APM(x,y)=H(mv_break(x,y))*Omul(x,y)*Mmul(x,y)* Bmul(x,y)
.
[0083] Выше в данном документе было представлено описание с точки зрения способа FRC-преобразования согласно настоящему изобретению. При этом каждый из этапов может выполняться как отдельным предназначенным для этого блоком, либо некоторые или все этапы могут выполняться одним и тем же блоком.
[0084] На Фиг. 8 схематично показано вычислительное устройство 200 пользователя согласно настоящему изобретению. Вычислительное устройство 200 содержит камеру/ISP, оперативную память (RAM), процессор 200.1, постоянную память (ROM). Процессор 200.1 содержит блок FRC-преобразования, включающий в себя блок fallback-обработки, и кодер/декодер видео. Блок FRC-преобразования может быть выполнен с возможностью, при исполнении исполняемых процессором инструкций, осуществления способа FRC-преобразования видео, который был описан выше со ссылками на Фиг. 1-7. Вычислительным устройством может быть любое электронное устройство, например, смартфон, планшет, компьютер, телевизор и т.д. В неограничивающем сценарии работы устройства, который показан на данной фигуре, камера получает оригинальные кадры, а блок FRC-преобразования обрабатывает эти оригинальные кадры согласно раскрытому способу для получения одного или более промежуточных кадров с учетом значений сглаженной оценки вероятности появления артефакта.
[0085] Процессор 200.1 может вызывать и выполнять компьютерные программы из памяти (RAM, ROM) для выполнения способа FRC-преобразования. Постоянная память или оперативная память 220 может быть отдельным устройством, независимым от процессора 200.1, или может быть интегрирована в процессор 200.1.
[0086] По меньшей мере один из этапов в раскрытом способе или компонентов в устройстве 200 может использовать модель искусственного интеллекта (AI) для выполнения соответствующих операций. Функция, связанная с AI, может выполняться через постоянную память, оперативную память и процессор 200.1.
[0087] Процессор 200.1 может включать в себя один или несколько процессоров. В то же время, один или несколько процессоров могут быть процессором общего назначения, например, центральным процессором (CPU), прикладным процессором (AP) или т.п., блоком обработки только графики, таким как графический процессор (GPU), визуальный процессор (VPU) и/или специализированный процессор AI, такой как нейронный процессор (NPU).
[0088] Один или несколько процессоров управляют обработкой входных данных в соответствии с заранее определенным правилом работы или моделью искусственного интеллекта (AI), хранящейся в энергонезависимой памяти и энергозависимой памяти. Предварительно определенное рабочее правило или модель искусственного интеллекта могут быть получены путем обучения. При этом процессор может выполнять операцию предварительной обработки данных для преобразования в форму, подходящую для использования в качестве входных данных для модели искусственного интеллекта.
[0089] «Получена путем обучения» означает, что посредством применения алгоритма обучения к множеству обучающих данных создается предварительно определенное рабочее правило или модель AI с желаемой характеристикой. Обучение может выполняться на самом устройстве, в котором выполняется AI согласно варианту осуществления, и/или может быть реализовано через отдельный сервер/систему.
[0090] Модель искусственного интеллекта может включать в себя множество слоев нейронной сети. Каждый из множества слоев нейронной сети включает в себя множество весовых значений и выполняет рабочую операцию для данного уровня путем вычисления между результатом вычисления предыдущего слоя и множеством весовых значений.
[0091] Примеры нейронных сетей включают, помимо прочего, сверточную нейронную сеть (CNN), глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), ограниченную машину Больцмана (RBM), глубокую сеть доверия (DBN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN), генеративно-состязательные сети (GAN) и глубокие Q-сети.
[0092] Алгоритм обучения - это метод обучения предварительно определенного целевого устройства (например, нейронной сети на базе GPU) с использованием множества обучающих данных, чтобы вызывать, разрешать или управлять целевым устройством для выполнения определения или прогнозирования. Примеры алгоритмов обучения включают, но не ограничиваются ими, обучение с учителем, обучение без учителя, обучение с частичным привлечением учителя или обучение с подкреплением.
[0093] Различные иллюстративные блоки и модули, описанные в связи с раскрытием в данном документе, могут реализовываться или выполняться с помощью процессора общего назначения, процессора цифровых сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого программируемого логического устройства (PLD), дискретного логического элемента или транзисторной логики, дискретных аппаратных компонентов либо любой комбинации вышеозначенного, предназначенной для того, чтобы выполнять описанные в данном документе функции. Процессор общего назначения может представлять собой микропроцессор, но в альтернативном варианте, процессор может представлять собой любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может реализовываться как комбинация вычислительных устройств (к примеру, комбинация DSP и микропроцессора, несколько микропроцессоров, один или более микропроцессоров вместе с DSP-ядром либо любая другая подобная конфигурация).
[0094] Память может быть энергозависимой или энергонезависимой памятью или может включать в себя как энергозависимую, так и энергонезависимую память. Энергонезависимой памятью может быть постоянная память (ROM), программируемая постоянная память (PROM), стираемая программируемая постоянная память (EPROM), электронно-стираемая программируемая постоянная память (EEPROM) или флэш-память. Энергозависимая память может быть оперативной памятью (RAM). Также память в вариантах осуществления настоящего раскрытия может быть статической памятью с произвольным доступом (SRAM), динамической памятью с произвольным доступом (DRAM), синхронной динамической памятью с произвольным доступом (синхронная DRAM, SDRAM), синхронной динамической памятью с произвольной выборкой с двойной скоростью передачи данных (SDRAM с двойной скоростью передачи данных, DDR SDRAM), синхронной динамической памятью с произвольной выборкой с повышенной скоростью (улучшенная SDRAM, ESDRAM), DRAM с синхронной линией связи (SLDRAM) и оперативной памятью с шиной прямого доступа (DR RAM) и т. д. То есть память в вариантах осуществления настоящего раскрытия включает в себя, но не ограничивается этим, эти и любые другие подходящие типы памяти.
[0095] Информация и сигналы, описанные в данном документе, могут представляться с помощью любой из множества различных технологий. Например, данные, инструкции, команды, информация, сигналы, биты, бины, символы и элементарные сигналы, которые могут приводиться в качестве примера в вышеприведенном описании, могут представляться посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц либо любой комбинации вышеозначенного.
[0096] Функции, описанные в данном документе, могут реализовываться в аппаратных средствах, программном обеспечении, выполняемом посредством процессора, микропрограммном обеспечении или в любой комбинации вышеозначенного. При реализации в программном обеспечении, выполняемом посредством процессора, функции могут сохраняться или передаваться как одна или более инструкций или код на компьютерно-читаемом носителе. Другие примеры и реализации находятся в пределах объема раскрытия настоящего изобретения. Например, вследствие характера программного обеспечения, функции, описанные выше, могут реализовываться с использованием программного обеспечения, выполняемого посредством процессора, аппаратных средств, микропрограммного обеспечения, фиксированного блока или комбинаций любого из вышеозначенного. Признаки, реализующие функции, также могут физически находиться в различных позициях, в том числе согласно такому распределению, что части функций реализуются в различных физических местоположениях.
[0097] Компьютерно-читаемые носители включают в себя как некратковременные компьютерные носители хранения данных, так и среду связи, включающую в себя любую передающую среду, которая упрощает перемещение компьютерной программы из одного места в другое. Некратковременный носитель хранения данных может представлять собой любой доступный носитель, к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения. В качестве примера, а не ограничения, некратковременные компьютерно-читаемые носители могут содержать оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, ROM на компакт-дисках (CD) или другое устройство хранения данных на оптических дисках, устройство хранения данных на магнитных дисках или другие магнитные устройства хранения, либо любой другой некратковременный носитель, который может использоваться для того, чтобы переносить или сохранять требуемое средство программного кода в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения либо процессора общего назначения или специального назначения.
[0098] Следует понимать, что в настоящем документе показаны принцип работы и базовые примеры способа FRC-преобразования и реализующего его устройства. Специалист в данной области техники, используя данные принципы, сможет получить и другие варианты осуществления изобретения, не прикладывая творческих усилий.
Применение
[0099] Настоящее изобретение может найти широкое применение в обработке видео, например, в случаях с потребностями в реальном времени (например, воспроизведение видео, видеозвонки, преобразование во время захвата видео), в устройствах с ограниченными вычислительными возможностями (мобильные телефоны, телевизоры), а также может легко адаптироваться к новым сценариям использования с особыми требованиями к обработке видео.
[0100] Примерами использования могут быть режим камеры Super-Slow-Motion (сверхзамедленная съемка) с преобразованием частоты кадров из 480 в 960 FPS, что позволяет, например, снимать в условиях плохого освещения или с долгой выдержкой; редактор видео с преобразованием частоты кадров из 240 в 480 FPS, что позволяет использовать эффекты замедления в редактируемом видео; интерполяция игрового процесса с преобразованием частоты кадров из исходных 48 FPS, выдаваемых устройством в игре, до 90 FPS, что позволяет сгладить видеоряд и улучшить впечатления от игрового процесса.
[0101] Следует понимать, что хотя в настоящем документе для описания различных элементов, компонентов, областей, слоев и/или секций, могут использоваться такие термины, как "первый", "второй", "третий" и т.п., эти элементы, компоненты, области, слои и/или секции не должны ограничиваться этими терминами. Эти термины используются только для того, чтобы отличить один элемент, компонент, область, слой или секцию от другого элемента, компонента, области, слоя или секции. Так, первый элемент, компонент, область, слой или секция может быть назван вторым элементом, компонентом, областью, слоем или секцией без выхода за рамки объема настоящего изобретения. В настоящем описании термин "и/или" включает любые и все комбинации из одной или более из соответствующих перечисленных позиций. Элементы, упомянутые в единственном числе, не исключают множественности элементов, если отдельно не указано иное. Кроме того, любые конкретные числовые значения, указанные в данной заявке, не следует рассматривать в качестве какого-либо ограничения, поскольку после ознакомления с данным раскрытием обычному специалисту станут понятны другие возможные, скорректированные значения, которые могут быть использованы. Вместо этого указанное конкретное числовое значение следует рассматривать в качестве значения середины допустимого диапазона, который может составлять, в зависимости от аппаратных требований и требований к качеству картинки,±0,01-40% от упомянутого значения середины допустимого диапазона.
[0102] Функциональность элемента, указанного в описании или формуле изобретения как единый элемент, может быть реализована на практике посредством нескольких компонентов устройства, и наоборот, функциональность элементов, указанных в описании или формуле изобретения как несколько отдельных элементов, может быть реализована на практике посредством единого компонента.
[0103] В одном варианте осуществления элементы/блоки предложенного устройства находятся в общем корпусе, размещены на одной раме/конструкции/подложке/печатной плате и связаны друг с другом конструктивно посредством монтажных (сборочных) операций и функционально посредством линий связи. Упомянутые линии или каналы связи, если не указано иное, являются стандартными, известными специалистам линиями связи, материальная реализация которых не требует творческих усилий. Линией связи может быть провод, набор проводов, шина, дорожка, беспроводная линия связи (индуктивная, радиочастотная, инфракрасная, ультразвуковая и т.д.). Протоколы связи по линиям связи известны специалистам и не раскрываются отдельно.
[0104] Под функциональной связью элементов следует понимать связь, обеспечивающую корректное взаимодействие этих элементов друг с другом и реализацию той или иной функциональности элементов. Частными примерами функциональной связи может быть связь с возможностью обмена информацией, связь с возможностью передачи электрического тока, связь с возможностью передачи механического движения, связь с возможностью передачи света, звука, электромагнитных или механических колебаний и т.д. Конкретный вид функциональной связи определяется характером взаимодействия упомянутых элементов, и, если не указано иное, обеспечивается широко известными средствами, используя широко известные в технике принципы.
[0105] Конструктивное исполнение элементов предложенного устройства является известным для специалистов в данной области техники и не описывается отдельно в данном документе, если не указано иное. Элементы устройства могут быть выполнены из любого подходящего материала. Эти составные части могут быть изготовлены с использованием известных способов, включая, лишь в качестве примера, механическую обработку на станках, литье по выплавляемой модели, наращивание кристаллов. Операции сборки, соединения и иные операции в соответствии с приведенным описанием также соответствуют знаниям специалиста в данной области и, таким образом, более подробно поясняться здесь не будут.
[0106] Несмотря на то, что примерные варианты осуществления были подробно описаны и показаны на сопроводительных чертежах, следует понимать, что такие варианты осуществления являются лишь иллюстративными и не предназначены ограничивать настоящее изобретение, и что данное изобретение не должно ограничиваться конкретными показанными и описанными компоновками и конструкциями, поскольку специалисту в данной области техники на основе информации, изложенной в описании, и знаний уровня техники могут быть очевидны различные другие модификации и варианты осуществления изобретения, не выходящие за пределы сущности и объема данного изобретения.