Область техники, к которой относится изобретение
Настоящее изобретение относится к области обработки изображений, в частности видеоизображений, и более конкретно - к преобразованию частоты кадров (FRC) путем временной интерполяции кадров видеоизображения для увеличения частоты кадров (FPS) видеоизображения.
Уровень техники
Частота кадров видеоизображения (FPS) представляет собой показатель, характеризующий визуально воспринимаемое качество видеоизображения, и относится к количеству отдельных изображений, отображаемых в течение одной секунды видеоизображения. Влияние FPS на визуально воспринимаемое качество видеоизображения связано, в частности, с тем, что более высокое значение FPS приводит к более плавному движению объектов в видеоизображении. Важное значение имеет, в том числе, обработка существующих видеоизображений для увеличения FPS. Как правило, это требует создания и включения в исходную последовательность кадров видеоизображения дополнительных кадров.
В известных решениях из уровня техники задача увеличения частоты кадров видеоизображения включает в себя два основных компонента - оценку движения (ME) и компенсацию движения (MC) с использованием векторов движения (MV), полученных на этапе ME, для формирования новых кадров видеоизображения. Существующие подходы можно классифицировать как традиционные, основанные на использовании исключительно классических (т.е. не использующих искусственные нейронные сети) алгоритмических модулей для решения каждой из соответствующих задач, таких как, например, обнаружение повторяющихся структур, обнаружение перекрытий движущихся объектов (далее - окклюзий), коррекция ME, компенсация движения и т.п., и основанные на использовании искусственного интеллекта, такого как глубокие искусственные нейронные сети (DNN), где все модули за исключением, в некоторых случаях, модуля MC представляют собой DNN.
В свою очередь, подходы на основе DNN можно разделить на основанные на нескольких последовательно применяемых модулях обработки, где, помимо модуля ME на основе DNN, на создание выходного видеоизображения работают модули MC, основанные на DNN, или модули MC, не основанные на DNN и выполняющие деформацию кадров (т.е. смещение их пикселей на определенные модулем ME расстояния по горизонтали и вертикали) с применением методов билинейной, бикубической интерполяции или других методов интерполяции, которые далее в настоящем документе будут называться программными (SW) или алгоритмическими модулями MC, и на подходы, где обработка видеоизображения основана на использовании единой сложной нейронной сети для интерполяции кадров видеоизображения, которая не может быть разбита на модули, выполняющие самоценные в отрыве от других модулей функции.
В первом случае - при последовательном применении модулей ME и MC - общее качество обработки по увеличению FPS видеоизображения зависит, прежде всего, от качества работы модуля ME. На выходе обучаемой DNN модуля ME получаются векторы, которые указывают расстояния в пикселях по горизонтали и вертикали, на которые необходимо сместить определенные пиксели из ключевых кадров - деформировать ключевой кадр. При этом качество результирующего видеоизображения определяется величинами ошибок, допускаемых нейросетью ME при определении упомянутых расстояний смещений пикселей. Улучшение результирующего видеоизображения требует повышения вычислительных затрат вследствие использования более сложных нейросетей для уменьшения упомянутых ошибок.
Одним из подходов к повышению FPS видеоизображения является преобразование частоты кадров (FRC) - временная интерполяция кадров видеоизображения. Для обучения DNN для FRC в данной области техники обычно производится минимизация функции потерь, выражающей попиксельное отклонение интерполированных кадров от эталонных (которые в процессе обучения DNN полагаются известными), итерационным методом стохастического градиентного спуска или его модификациями, такими как Adam, Adagrad и др. Процесс вычисления на каждой итерации упомянутых методов таких приращений весовых коэффициентов (параметров) нейросети, которые направлены против градиента функции потерь, в данной области техники принято называть обратным распространением ошибки. В качестве упомянутой функции потерь может использоваться среднеквадратичное отклонение (MSE), среднее абсолютное отклонение (MAE) и т.п.
Одной из проблем, присущих обучению DNN для FRC, являются ошибки определения упомянутых градиентов, в особенности их направлений, что препятствует минимизации функции потерь методом стохастического градиентного спуска и его модификациями и как следствие приводит к ухудшению обучения DNN и к возникновению артефактов при обработке видеоизображения с использованием такой плохо обученной DNN. Наиболее часто ошибки определения направлений градиентов возникают на быстро перемещающихся между кадрами объектах в тех их областях, где происходит смена знака пространственного градиента яркости (например, присутствует мелкая текстура).
В настоящее время традиционные (то есть полностью основанные на программных алгоритмических модулях и не использующие нейросети) алгоритмы FRC обладают ограниченным качеством и постепенно заменяются технологиями на основе DNN. Однако, с другой стороны, существующие алгоритмы FRC с использованием сложных нейросетей для интерполяции кадров являются слишком требовательными к вычислительным мощностям и объемам памяти, в связи с чем они не подходят для использования в условиях ограниченных ресурсов, например, при их применении в мобильных устройствах. При этом в условиях ограниченных ресурсов часто используются подходы, основанные на оценке движения (ME) с использованием DNN и компенсации движения (MC) с использованием программных алгоритмов.
В видеоизображениях отсутствуют эталонные (GT) векторы движения пикселей, соответствующие межкадровому движению изображенных объектов, на основе которых можно было бы обучать DNN для ME отдельно от других модулей FRC. В связи с этим для обучения на основе видеоизображений в процесс обучения DNN для ME включают модуль MC. MC на основе программных алгоритмов включает в себя операцию деформации ключевых кадров с использованием оцененных модулем ME векторов движения. Но в случае, если вектор движения в каком-либо пикселе оценен с ошибкой, попиксельная разность интерполированного и эталонного кадров не может, вообще говоря, надежно указывать направление в сторону истинного положения смещаемого пикселя в ключевом кадре, т.к. при ошибке вектора движения, превышающей один пиксель по горизонтали или (и) вертикали, истинный смещаемый пиксель ключевого кадра не входит в упомянутую разность. Данное различие в сущности между функциями разности изображений (локальны - вычисляются попиксельно) и операцией деформации (нелокальна - перемещает пиксель, вообще говоря, на расстояние, превосходящее один пиксель) приводит к неточным значениям градиента таких функций потерь, как MSE, MAE и др., что усложняет обучение DNN для ME.
В известных подходах FRC осуществляется интерполяция текущего (промежуточного) кадра на основе двух или более ключевых кадров (KF), часть из которых как правило предшествует текущему в результирующем видеоизображении, а часть следует за ним. Так при удвоении FPS в качестве ключевых могут использоваться два последовательных кадра исходного видеоизображения, а текущим (промежуточным) может быть кадр, располагающийся в результирующем (с удвоенной FPS в сравнении с исходным) видеоизображении между ними.
Для обучения DNN для FPS в данной области техники обычно используют триплеты (тройки), квинтуплеты (пятерки), септуплеты (семерки) и т.д. последовательных кадров, взятых из видеоизображений. Так для обучения DNN удвоению FPS путем интерполяции текущего (промежуточного) кадра по двум - предшествующему и последующему - ключевым, соседствующим с ним в результирующем видеоизображении, используются триплеты кадров, в которых 1-ый и 3-ый рассмариваются в качестве ключевых и подаются на вход системы для обучения DNN, а 2-ой рассматривается в качестве эталона текущего кадра и используется для определения ошибки интерполяции, например (в случае функции потерь MAE) путем попиксельного вычитаения его из интерполированного кадра, полученного на выходе системы FRC, с последующим усреднением абсолютных значений попиксельных разностей по всему кадру. Ключевые кадры (или, для повышения скорости работы DNN модуля ME, их уменьшенные варианты, полученные из исходных KF разбиением на блоки пикселей, например, размера 2×2 пикселя, и заменой каждого блока исходного KF на один пиксель, полученный из исходных пикселей блока выбором одного из них, усреднением или с использованием иных агрегирующих операций) подаюся на вход DNN модуля ME (т.е. в нейросеть, подлежащую обучению), которая формирует оценки векторов движения по меньшей мере для одного пикселя каждого блока текущего (промежуточного) кадра и карту весов слияния (FM). Эти оценки MV вместе с FM и KF подаются на вход модуля MC, выполняющего деформацию двух KF и слияние деформированных KF методом попиксельного взвешенного суммирования, в котором вес первого деформированного KF берется из FM, а вес второго дополняет вес первого до 1. Потери (ошибка) интерполяции вычисляется как MAE результата слияния деформированных KF и эталонного текущего (промежуточного) кадра. Далее совершается очередная итерация метода градиентоного стохастического спуска (или его модификаций Adam, Adagrad и т.п.) - весовые коэффициенты (параметры) DNN модуля ME изменяются в направлении против градиента функции потерь путем обратного распространения ошибки. Однако в таком подходе неправильно или неточно вычисленные градиенты функции потерь препятствуют обучению DNN модуля ME и при использовании плохо обученной DNN приводят к возникновению артефактов, которые могут проявляться в особенности при наличии в видеоизображении быстро движущихся контрастных объектов или при использовании для DNN FRC, обученной на видеоизображениях с высоким уровнем шума.
В источнике US 2022/0321830 A1 (Adobe Inc., опубликован 06.10.2022) раскрыт способ интерполяции видеоизображения, включающий в себя прием пары входных изображений из цифрового видеоизображения, определение множества пространственно различающихся ядер с использованием нейросети, причем каждое из ядер соответствует пикселю выходного изображения, свертку первого набора пространственно различающихся ядер с использованием первого входного изображения из пары входных изображений и свертку второго набора пространственно различающихся ядер из упомянутой пары изображений для формирования фильтрованных изображений, и формирование выходного изображения путем выполнения нормализации ядра для фильтрованных изображений. Известный способ по существу основан на синтезе пикселей для интерполируемого кадра в виде локальной свертки по двум входным кадрам. Для каждого пикселя интерполируемого кадра ядро свертки захватывает множество соседних пикселей входных кадров, что при обучении делает попиксельную разность интеполированного кадра и его эталона (и, следовательно, основанные на этой разности функции потерь MSE, MAE и т.п.) «нелокальной» - в разность в каждом пикселе входят как эталонный пиксель, так и множество соответствующих ему пикселей входного изображения, накрываемых скользящим окно свертки с пространственно различающимися ядрами. При обучении это помогает на каждой итерации метода стохастичекого градиентного спуска (или его модификаций) изменять весовые коэффициенты (параметры) DNN так, чтобы приближать пространственно различающиеся ядра к тем, которые соответствуют операции перемещения каждого пикселя входного изображения в верное положение на интерполируемом кадре. Однако использование ядер свертки для синтеза пикселей приводит к ограничению максимального значения вектора движения и, следовательно, делает непригодным данный известный способ при наличии движения, величина которого превосходит выбранный размер скользящего окна свертки с пространственно различающимися ядрами. Данную проблему можно решить за счет увеличения размера упомянутого окна, но такое решение приведет к значительному возрастанию потребления вычислительных мощностей и к замедлению вычислений.
В источнике US 2022/0400226 A1 (Microsoft Technology Licensing LLC, опубликован 15.12.2022) раскрыт способ формирования интерполированных изображений, в котором извлекаются признаки изображения из первого изображения и второго изображения, причем упомянутые признаки изображений могут быть подвергнуты деформации с использованием первого и второго множеств параметров. Первый возможный промежуточный кадр может быть сформирован на основе первых признаков и подвергнутых деформации вторых признаков. Мультимасштабные признаки (пирамида признаков), связанные с признаками изображения, извлеченными из первого изображения и второго изображения, могут быть получены и подвергнуты деформации с использованием первого и второго множеств параметров. Второй возможный промежуточный кадр может быть сформирован на основе подвергнутых деформации первых мультимасштабных признаков и подвергнутых деформации вторых мультимасштабных признаков. Интерполированное изображение может быть сформировано путем слияния первого возможного промежуточного кадра со вторым возможным промежуточным кадром. По существу, в данном источнике раскрыт способ многоступенчатого формирования интерполированного изображения, где первая ступень основана на применении компенсации движения на основе программного (SW) алгоритма. В данном известном решении не используются технологии дополнительной регуляризации градиентов при обучении основанного на DNN модуля оценки движения (ME), из-за чего качество интерполированных кадров не является достаточно высоким. Вторая ступень известного способа направлена на компенсацию невысокого качества за счет применения дополнительного модуля компенсации движения (MC) на основе DNN, в котором используются признаки, полученные из основанного на DNN модуля ME. Однако данный способ настолько требователен к вычислительным ресурсам, что в данном решении используется архитектура «клиент-сервер». Ввиду высокой сложности вычислений в данном известном решении оно не может быть реализовано полностью на мобильном устройстве.
В источнике US 10776688 B2 (NVIDIA Corporation, опубликован 15.09.2020) раскрыт способ формирования промежуточных кадров видеоизображения путем интерполяции, в котором один или более промежуточных кадров формируются путем прогнозирования в моменты времени, определяемые между двумя последовательными кадрами исходного видеоизображения. Первая нейросетевая модель аппроксимирует данные оптического потока, определяющие движение между двумя упомянутыми последовательными кадрами. Вторая нейросетевая модель уточняет данные оптического потока и прогнозирует карты видимости для каждого момента времени. Выполняется деформация упомянутых двух последовательных кадров в соответствии с упомянутыми уточненными данными оптического потока для каждого момента времени, в результате чего получаются пары деформированных изображений. Затем вторая нейросетевая модель выполняет слияние пары деформированных изображений на основе карт видимости, формируя промежуточный кадр для каждого момента времени. При этом в прогнозируемых промежуточных кадрах уменьшаются артефакты, связанные с границами движения и окклюзиями. В данном известном способе используется дополнительный модуль для коррекции результатов ME на основе DNN и MC на основе программного алгоритма (SW). В данном модуле используется вся информация, доступная модели на данный момент, а именно векторы движения и результаты компенсации движения, а также исходные ключевые кадры. Такой подход обеспечивает дополнительную возможность коррекции ошибок, которые возникают на предыдущих ступенях процесса FRC.
К недостаткам данного известного решения можно отнести тот факт, что в используемых современных DNN задействованы обобщенные подходы, основанные на решении многочисленных известных проблем, проявляющихся в зрительно воспринимаемых недостатках видеоизображения (таких как возникновение гало, артефактов, усреднение и т.п.), но при этом не уделяется достаточное внимание математическому аппарату алгоритма обучения, что приводит к неоптимальным результатам при высоких вычислительных затратах, а также к низкой скорости обработки.
Раскрытие изобретения
Данный раздел, в котором раскрыты различные аспекты заявляемого изобретения, предназначен для обеспечения краткого обзора заявленных объектов изобретения и их вариантов осуществления. Ниже приведены подробные характеристики технических средств и способов, которыми реализованы сочетания признаков настоящего изобретения. Ни данное раскрытие изобретения, ни подробное описание, приведенное ниже вместе с сопровождающими чертежами, не следует рассматривать как определяющие объем правовой охраны заявляемого изобретения. Объем правовой охраны изобретения определяется только нижеследующей формулой изобретения.
Техническая проблема, решаемая изобретением, состоит в высокой требовательности к вычислительным ресурсам известных алгоритмов FRC, обеспечивающим высокое качество интерполированных кадров, и невозможности их реализации в мобильных устройствах, с одной стороны, и в низком качестве интерполированных кадров в тех алгоритмах FRC, которые являются достаточно эффективными по объему производимых вычислений и используемой памяти для реализации в мобильных устройствах, с другой стороны.
Задача, решаемая изобретением, состоит в создании способа и устройства преобразования частоты кадров (FRC) видеоизображения, в которых были бы преодолены и/или уменьшены недостатки известных решений из уровня техники и которые позволяли бы реализовывать FRC видеоизображения на мобильном устройстве.
Технический результат состоит в повышении качества преобразования частоты кадров видеоизображения.
В первом аспекте вышеуказанная задача решается способом преобразования частоты кадров (FRC) видеоизображения, содержащим этапы, на которых: получают по меньшей мере два ключевых кадра (KF) видеоизображения из входной последовательности кадров видеоизображения; формируют по меньшей мере один интерполированный кадр для добавления в последовательность кадров видеоизображения на основе по меньшей мере одного из KF, причем формирование по меньшей мере одного интерполированного кадра содержит этапы, на которых: выполняют оценку векторов движения (MV) по меньшей мере для одного пикселя каждого блока интерполированного кадра с использованием обучаемого алгоритма оценки движения (ME), обученного с применением регуляризации градиентов функции потерь путем выбора оцененных векторов движения из оптического потока и модификации дробных частей координат выбранных векторов движения с обратным распространением ошибки без учета упомянутой модификации и/или с использованием конечно-разностной аппроксимации пространственных производных яркостей ключевых кадров (KF) при обратном распространении ошибки; получают по меньшей мере один интерполированный кадр, выполняя компенсацию движения с использованием упомянутого по меньшей мере одного ключевого кадра (KF) и векторов движения (MV), полученных посредством упомянутой оценки векторов движения; добавляют полученный по меньшей мере один интерполированный кадр в последовательность кадров видеоизображения; и выводят последовательность кадров видеоизображения с увеличенным количеством кадров.
В одном или более вариантах выполнения выбирают векторы движения для регуляризации градиентов при условии, что значения координат векторов движения больше определенной пороговой величины по каждой оси. Дробные части значений координат для каждой из координат выбранного вектора движения могут округляться до ближайших чисел вида для целых чисел i.
В одном или более вариантах выполнения, при наличии эталонного (GT) оптического потока, дробным частям координат векторов движения, полученных посредством упомянутой оценки векторов движения, присваивают дробную величину, близкую к 0 (сверху) или 1 (снизу), в зависимости от отношения вектора движения, оцененного обучаемым алгоритмом ME, и эталонного вектора движения, за счет чего значения координат оцененного вектора движения максимально удаляются от значений координат эталонного вектора движения в пределах квадрата со стороной 1 пиксель. В одном или более вариантах выполнения, для конечно-разностной аппроксимации пространственных производных яркостей ключевых кадров (KF) используются значения яркостей ближайших 2×4, 4×2 или 4×4 пикселей ключевого кадра (KF) по отношению к точке, в которую указывает оцененный вектор движения (MV).
В одном или более вариантах выполнения, для упомянутой конечно-разностной аппроксимации пространственных производных яркости ключевых кадров (KF) используется свертка с антисимметричным ядром. В качестве свертки с антисимметричным ядром для конечно-разностной аппроксимации пространственных производных яркости ключевого кадра (KF) может использоваться по меньшей мере одно из оператора Прюитт и оператора Собеля.
В одном или более вариантах выполнения векторы движения для регуляризации градиентов выбирают при условии, что значения координат для векторов движения больше 4 по каждой оси. При наличии эталонного (GT) оптического потока векторы движения для регуляризации градиентов могут выбираться при условии, что направление нерегуляризированного градиента функции потерь по вектору движения (MV) противоположно направлению от эталонного MV к оцененному MV.
В одном или более вариантах выполнения обучаемый алгоритм ME представляет собой глубокую нейронную сеть (DNN) или сверточную нейронную сеть (CNN).
Во втором аспекте вышеуказанная задача решается устройством для преобразования частоты кадров (FRC) видеоизображения, содержащим: память; и по меньшей мере один процессор, при этом память содержит программные инструкции, которые, при выполнении по меньшей мере одним процессором, побуждают упомянутый по меньшей мере один процессор выполнять операции: получения по меньшей мере двух ключевых кадров (KF) видеоизображения из входной последовательности кадров видеоизображения; формирования по меньшей мере одного интерполированного кадра для добавления в последовательность кадров видеоизображения на основе по меньшей мере одного из KF, причем формирование по меньшей мере одного интерполированного кадра содержит: оценку векторов движения (MV) по меньшей мере для одного пикселя по меньшей мере одного блока интерполированного кадра с использованием обучаемого алгоритма оценки движения (ME), обученного с применением регуляризации градиентов функции потерь путем выбора оцененных векторов движения из оптического потока и модификации дробных частей координат выбранных векторов движения с обратным распространением ошибки без учета упомянутой модификации и/или с использованием конечно-разностной аппроксимации пространственных производных яркостей ключевых кадров (KF) при обратном распространении ошибки; получение по меньшей мере одного интерполированного кадра путем компенсации движения в упомянутом по меньшей мере одном ключевом кадре (KF) с использованием векторов движения (MV), полученных посредством упомянутой оценки векторов движения; добавление полученного по меньшей мере одного интерполированного кадра в последовательность кадров видеоизображения; и вывод последовательности кадров видеоизображения с увеличенным количеством кадров.
В одном или более вариантах выполнения программные инструкции побуждают упомянутый по меньшей мере один процессор формировать файл видеоизображения на основе выводимой последовательности кадров видеоизображения с увеличенным количеством кадров FPS. В одном или более вариантах выполнения устройство дополнительно содержит по меньшей мере одну память, выполненную с возможностью сохранения по меньшей мере одного из входной последовательности кадров видеоизображения, выходной последовательности кадров видеоизображения и/или файла видеоизображения. В одном или более вариантах выполнения устройство реализовано в виде системы на кристалле (SOC).
В третьем аспекте вышеуказанная задача решается машиночитаемым носителем, содержащим сохраненные на нем машиночитаемые программные инструкции, которые, при выполнении по меньшей мере одним процессором, побуждают по меньшей мере один процессор осуществлять способ по вышеописанному первому аспекту настоящего изобретения.
Специалистам в данной области техники очевидно, что изобретательский замысел не ограничен изложенными выше аспектами, и изобретение может принимать форму других объектов изобретения, таких как по меньшей мере одно из системы, компьютерной программы или компьютерного программного продукта, содержащего машиночитаемый носитель, на котором записана компьютерная программа. Дополнительные признаки, которые могут характеризовать конкретные варианты осуществления настоящего изобретения, будут очевидны специалистам в данной области техники из приведенного ниже подробного описания вариантов осуществления.
Краткое описание чертежей
Чертежи приведены в данном документе для облегчения понимания сущности настоящего изобретения. Чертежи схематичны и не выполнены в масштабе. Они служат исключительно для иллюстрации и не предназначены для определения объема настоящего изобретения.
На Фиг. 1 приведена схема, иллюстрирующая типичный процесс обучения глубокой нейронной сети (DNN) для преобразования частоты кадров (FRC).
На Фиг. 2 приведена блок-схема способа преобразования частоты кадров (FRC) по одному или более вариантам выполнения изобретения;
На Фиг. 3 проиллюстрирован пример формируемых интерполированных кадров для алгоритма без использования регуляризации градиентов (виды А), эталонного изображения (виды В) и формируемых интерполированных кадров в соответствии с примерным вариантом выполнения изобретения (виды С);
На Фиг. 4 приведена принципиальная схема устройства 100 для преобразования частоты кадров (FRC) видеоизображения по одному или более вариантам выполнения изобретения;
На Фиг. 5 приведена принципиальная схема блока преобразования частоты кадров (FRC) по одному или более вариантам выполнения изобретения;
На Фиг. 6 схематично проиллюстрирована операция регуляризации градиентов по одному или более вариантам выполнения изобретения;
На Фиг. 7 схематично проиллюстрирован вектор движения, подлежащий модификации при регуляризации градиента функции потерь, а также эталонный вектор движения;
На Фиг. 8 схематично представлен пример изменения координат векторов движения при регуляризации градиента функции потерь;
На Фиг. 9 приведен график средней погрешности в концевой точке (EPE) в зависимости от длины L оцененного вектора движения (MV) для предлагаемого изобретения и алгоритма FRC с CNN ME, обученной без использования регуляризации градиентов в соответствии с настоящим изобретением.
Осуществление изобретения
Предлагаемое решение направлено на получение высокого качества преобразования частоты кадров видеоизображения за счет повышения качества интерполяции в процессе формирования интерполированных кадров для повышения частоты кадров видеоизображения (FPS) при невысокой вычислительной стоимости, которая позволяет реализовать предлагаемое решение, в частности, на мобильных устройствах.
Как указано выше в разделе «Уровень техники», большинство существующих на сегодняшний день подходов к преобразованию частоты кадров (FRC) видеоизображения можно отнести к следующим категориям: подходы, в которых используется компенсация движения (MC) на основе искусственного интеллекта, в частности - глубоких нейронных сетей (DNN), и подходы, в которых MC реализована программно (SW) с использованием операции деформации изображения. Первая категория подходов отличается очень высокими требованиями к вычислителям и памяти, что не позволяют реализовать их на мобильных устройствах.
Вторая категория, где MC основана на SW алгоритмах, может быть реализована на мобильных устройствах ввиду относительно невысоких требований к вычислительным ресурсам, но уровень качества интерполяции при формировании интерполированных кадров видеоизображения является невысоким. Кроме того, для обучения алгоритма искусственного интеллекта, реализующего ME в таких подходах, требуется больший объем набора обучающих данных, и/или обучение алгоритма искусственного интеллекта занимает больше времени.
Предлагаемое изобретение обеспечивает возможность реализации способа и устройства преобразования частоты кадров (FRC) видеоизображения на мобильных устройствах, в то же время обеспечивая высокий уровень качества интерполяции при формировании интерполируемых кадров за счет учета при обучении обучаемого алгоритма ME математических особенностей градиентов композиции операции деформации изображения и попиксельной функции потерь, что позволяет повысить качество интерполяции без использования алгоритма искусственного интеллекта, менее эффективного по объему производимых вычислений и/или используемой памяти, или большого набора обучающих данных.
В основе предлагаемого технического решения лежит алгоритм FRC, в котором оценка движения (ME) основана на глубокой нейронной сети (DNN), а программная (SW) компенсация движения основана на операции деформации изображения. Отличием предлагаемого изобретения от известных решений является использование блока регуляризации градиентов, который осуществляет регуляризацию градиентов при обучении обучаемого алгоритма ME, а также решающего блока, выполненного с возможностью выбора (принятия решений) в отношении того, какие векторы движения следует модифицировать для регуляризации.
Предлагаемое решение поддерживает обучаемые алгоритмы ME с различной разрешающей способностью и является совместимым с различными алгоритмами FRC на основе обучаемых алгоритмов, в которых используется вычисление оптического потока и программно-алгоритмическая реализация MC. Оптический поток представляет собой совокупность векторов движения (MV) для всех пикселей кадра. MV является вектором движения одного конкретного пикселя кадра.
В известных в настоящее время технологиях FRC на основе обучаемых алгоритмов ME и операции деформации кадров основной проблемой является недостаточное качество интерполяции (формирования промежуточного интерполированного кадра) ввиду неправильного определения направлений градиентов функции потерь в процессе выполнения обратного распространения ошибки при обучении DNN. Типичный процесс обучения алгоритма ME для FRC проиллюстрирован на Фиг. 1. Как правило, при обучении алгоритма ME реализуются две «ступени» процесса, которые можно охарактеризовать как «прямую» (интерполяция текущего (промежуточного) кадра) и «обратную» (обратное распространение ошибки интерполяции). При обучении нейронной сети на вход подаются (S1 на Фиг. 1) ключевые кадры (KF) последовательности кадров обрабатываемого видеоизображения. Оцениваются (S2 на Фиг. 1) векторы движения (MV) по меньшей мере для одного пикселя каждого блока промежуточного кадра. Выполняется деформация (S3 на Фиг. 1) KF с использованием оцененных MV, затем слияние (S4 на Фиг. 1) деформированных KF. Далее определяется среднее абсолютное отклонение (MAE) (S5 на Фиг. 1) результата слияния деформированных KF от эталонного изображением (GT), в качестве которого используется текущий (промежуточный) кадр. Весовые коэффициенты (параметры) обучаемого алгоритма ME (S6 на Фиг. 1) корректируются в сторону против градиента функции потерь, после чего процесс обучения алгоритма ME переходит на новую итерацию. Основная проблема при этом состоит в том, что неправильно определенные направления градиентов снижают качество обучения алгоритма ME и приводят к появлению артефактов на формируемых интерполированных кадрах.
В аспекте настоящего изобретения предложен способ преобразования частоты кадров (FRC) видеоизображения, включающий в себя применение обучаемого алгоритма оценки движения (ME), представленного в одном или более вариантах выполнения изобретения глубокой (многослойной) нейронной сетью (DNN), обученной оценке движения (ME) с применением регуляризации градиентов функции потерь. Следует отметить, что частным случаем глубоких нейронных сетей (DNN), пригодных для использования в контексте настоящего изобретения в одном или более предпочтительных вариантах выполнения изобретения, является сверточная нейронная сеть (CNN). Однако предлагаемое изобретение не ограничено применимостью конкретно к DNN или CNN, но, в общем, пригодно для любого обучаемого алгоритма ME, который, в качестве неограничивающего примера, может быть реализован в виде нейронной сети (такой как DNN, CNN, трансформеры и т.п.). Следует отметить, что, в общем случае, нейронная сеть, обучаемая в соответствии с настоящим изобретением, может иметь любую из известных архитектур, при условии, что она решает задачу регрессии изображений. Кроме того, специалистам в данной области техники будет понятно, что предлагаемое решение также может быть применимо и в обучении других обучаемых алгоритмов, таких как, например, ансамблевые алгоритмы с градиентным бустингом.
При этом проблема с градиентами, решаемая настоящим изобретением, обусловлена не конкретным типом применяемой нейронной сети или иного обучаемого алгоритма, а следующими факторами:
1) блок MC представляет собой композицию простой операции деформации ключевых кадров (интерполяции методом ближайшего соседа, билинейной и бикубической интерполяции и т.п.) и локального (например, попиксельного) слияния деформированных ключевых кадров,
2) функция потерь локальна (например, попиксельна): MSE, MAE и т.п.,
3) обучение производится методом градиентного спуска или его модификациями.
В сочетании этих факторов заложена сущностная проблема, охарактеризованная выше в разделе «Уровень техники» и решаемая настоящим изобретением:
- MC нелокален в случае больших движений - пиксели смещаются на большие расстояния,
- функция потерь локальна и при значительных погрешностях ME (более нескольких пикселей - характерного размера окрестности, используемой в указанных выше видах интерполяции) не способна в одну разность «захватить» эталонный и смещенный пиксели, что не позволяет определить правильное (т.е. в сторону эталона) направление корректировки оцененного блоком ME вектора движения (направление корректировки в методе градиентного спуска противоположно градиенту функции потерь).
Обращаясь к Фиг. 2, способ согласно изобретению содержит следующие этапы.
На этапе S10 получают по меньшей мере два ключевых кадра (KF) видеоизображения из входной последовательности кадров видеоизображения. Входное видеоизображение, кадры которого подлежат интерполяции, может захватываться камерой, оснащенной процессором обработки изображений (ISP), или получаться из иных источников (например, из Интернета по каналу связи, из памяти или из любого приложения, установленного на устройстве 100 или ином устройстве).
На этапе S20 формируют по меньшей мере один интерполированный кадр для добавления в последовательность кадров видеоизображения на основе по меньшей мере одного из KF. Этап S20 содержит следующие этапы.
На этапе S21 выполняют оценку векторов движения (MV) по меньшей мере для одного пикселя каждого блока интерполированного кадра с использованием обучаемого алгоритма ME, такого как, например, глубокая нейронная сеть (DNN). Упомянутый обучаемый алгоритм ME обучается оценке движения (ME) с применением регуляризации градиентов функции потерь путем осуществления следующих этапов.
На этапе S22 выбирают векторы движения из оптического потока интерполированного кадра для модификации с целью регуляризации градиентов функции потерь по выбранным векторам.
На этапе S23 применяют операцию регуляризации градиентов путем модификации каждой координаты выбранного вектора движения, представляющей собой, в одном или более неограничивающих вариантах выполнения изобретения, округление до ближайшего числа для целого числа i.
На этапе S24 осуществляют минимизацию функции потерь посредством обратного распространения ошибки, причем на данном этапе к выбранным значениям MV упомянутая операция модификации не применяется.
Следует отметить, что этапы S22-S24 осуществляются только в процессе обучения обучаемого алгоритма ME, такого как DNN или CNN для ME.
На этапе S25 получают по меньшей мере один интерполированный кадр путем применения компенсации движения к по меньшей мере одному ключевому кадру с применением программного алгоритма (SW MC). По меньшей мере два ключевых кадра деформируются соответствующими им картами векторов движений, и деформированные ключевые кадры смешиваются с помощью попиксельной карты весовых коэффициентов (где в случае двух ключевых кадров достаточно одной карты весовых коэффициентов, при этом весовой коэффициент пикселя второго кадра равен разности единицы и весового коэффициента пикселя первого кадра), причем упомянутая карта весовых коэффициентов формируется вместе с оптическими потоками посредством обучаемого алгоритма ME.
На этапе S30 добавляют полученный по меньшей мере один интерполированный кадр в последовательность кадров видеоизображения, получая таким образом обработанную последовательность кадров видеоизображения.
На этапе S40 выводят обработанную последовательность кадров видеоизображения с увеличенной частотой кадров (FPS). Следует отметить, что в одном или более конкретных неограничивающих вариантах выполнения изобретения обработанная последовательность кадров видеоизображения, являющаяся результатом FRC, может быть выведена в отдельный видеокодер, который выполнен с возможностью формирования видеофайла, который далее может быть сохранен в памяти и/или передан для отображения на устройство отображения или во внешнюю память для сохранения итогового видеоизображения.
В известных решениях из уровня техники применяемая операция деформации (не включающая в себя модификацию значений векторов движения) обычно представляет собой билинейную интерполяцию, которая строится с использованием четырех опорных точек A,…,D, которые могут представлять собой, например, четыре соседних пикселя по отношению к расположенной между ними точке с дробными частями (α,β) координат (точка вне поля серого цвета на Фиг. 4), в которую указывает вектор движения, и интерполирует яркость I в этой точке следующим образом:
В то же время, упомянутая модификация в соответствии с предлагаемым изобретением позволяет реализовать операцию интерполяции с учетом тех же опорных точек A,…,D, с получением результата I деформации следующим образом (см. точку I на Фиг. 6):
При использовании интерполяции (1) из известных решений из уровня техники градиент функции потерь по вектору движения (в приведенной ниже формуле - по его горизонтальной координате, что эквивалентно градиенту по дробной части α горизонтальной координаты вектора движения) при обратном распространения ошибки (метод градиентного спуска) вычисляется следующим образом:
(3),
где G - значение яркости в точке (x, y) эталонного кадра и в точке (x+u, y+v), ключевого кадра, u и v - координаты эталонного вектора движения, A, B, C, D - яркости пикселей, ближайших к точке ключевого кадра,
- яркость интерполированного кадра в точке
и
- координаты оцененного вектора движения,
- дробные части
и
, функция потерь представляет собой, в качестве неограничивающего примера, среднее абсолютное отклонение (MAE), что приводит к появлению производной модуля разности
в левой части равенства. Первый множитель в правой части равенства показывает, в какую сторону (в большую или в меньшую) интерполированная на основе яркостей A,…,D пикселей ключевого кадра (KF) яркость I отличается от эталонной G, второй множитель представляет собой конечно-разностную аппроксимацию пространственной производной яркости ключевого кадра (KF), построенную на основе яркостей A,…,D.
При вычислении градиента функции потерь возникают следующие проблемы. Во-первых, интерполяция I зависит от дробных частей α, β значений оцененного вектора движения, что делает направление градиента, характеризуемое выражением «знак(I-G)», в некоторых случаях случайным. Например, если α близка к 1 и пиксели B, D, G расположены по одну сторону от края некоторого объекта (см. Фиг. 6, 7), то разность I-G (и, следовательно, ее знак) является, по существу, лишь случайным «шумом». На решение этой проблемы нацелены предлагаемые в настоящем изобретении модификации дробных частей векторов движения. Во-вторых, конечно-разностная аппроксимация пространственной производной яркости ключевого кадра (KF), основанная на яркостях A, B, C, D ближайших пикселей, имеет погрешность. На решение этой проблемы нацелены предлагаемые в настоящем изобретении использование большего количества точек для аппроксимации, сверток с антисимметричным ядром, операторов Прюитт и Собеля.
Применение упомянутых предлагаемых в изобретении приемов при вычислении градиента функции потерь позволяет уменьшить количество неправильных направлений градиентов функции потерь, при этом при формировании интерполированных кадров на них появляется меньше артефактов. Это повышает качество FRC по сравнению с известными решениями, реализуемыми в режиме реального времени на мобильных устройствах. Кроме того, это позволяет сократить набор обучающих данных, необходимый для обучения DNN, а также время обучения, поскольку блок 210 регуляризации градиентов корректирует векторы движения в потоке, которые, не будучи скорректированными, могли бы привести к формированию неправильных градиентов. Это повышает эффективность обучения и требует меньшего количество обучающих примеров для достижения оптимальной сходимости при обучении обучаемого алгоритма ME.
В одном или более вариантах выполнения изобретения, при наличии GT оптического потока дробным частям значений векторов движения может быть присвоено конкретное значение. Например, им может быть присвоено значение, максимально близкое к целочисленному значению (например, 0,99 или 0,01), в зависимости от знака ошибки для соответствующего вектора движения. Это приводит к формированию более правильных градиентов и повышает эффективность обучения алгоритма ME. Более точно, при наличии эталонного (GT) оптического потока, дробным частям координат векторов движения, полученных посредством упомянутой оценки векторов движения, присваивают дробную величину, близкую к 0 (сверху) или 1 (снизу), в зависимости от отношения вектора движения, оцененного обучаемым алгоритмом ME, и эталонного вектора движения, за счет чего значения координат оцененного вектора движения максимально удаляются от значений координат эталонного вектора движения в пределах квадрата со стороной 1 пиксель.
В одном или более вариантах выполнения изобретения для конечноразностной аппроксимации пространственной производной может использоваться большее количество точек. Например, вместо обычно используемых 2×2 точек могут быть использованы, в качестве неограничивающего примера, 2×4, 4×2, 4×4 и т.п. Для аппроксимации может быть использована свертка с некоторым антисимметричным ядром. В качестве неограничивающего примера, в свертке с антисимметричным ядром для аппроксимации пространственных производных могут быть использованы линейные дифференцирующие фильтры, такие как, в качестве неограничивающего примера, оператор Прюитт и/или оператор Собеля. Это обеспечивает получение более правильных градиентов и повышает эффективность обучения алгоритма ME.
Следует отметить, что некоторые значения векторов движения изначально формируют правильные градиенты функции потерь (указывающие правильное - соответствующее уменьшению погрешности оценки векторов движения - направление изменения параметров обучаемого алгоритма ME) или градиенты функции являются слишком чувствительными к модификации этих векторов, и поэтому нежелательно подвергать модификации координаты всех имеющихся векторов движения.
Так, при использовании билинейной интерполяции для смещения пикселя значения координат для смещенного пикселя вычисляется на основе значений четырех соседних пикселей, расположенных в вершинах квадрата со стороной 1 пиксель (точки A, B, C, D на Фиг. 6 и Фиг. 7), в связи с чем погрешности оценок векторов движения, не выводящие за пределы упомянутого квадрата (т.е. когда точка G на Фиг. 7 расположена в том же квадрате ABCD, что и точка I, на которую указывает оцененный обучаемым алгоритмом ME вектор движения), практически не ухудшают оценку градиента функции потерь и не требуют регуляризации градиентов. В связи с тем, что DNN, обучаемые без применения регуляризации, достаточно точно оценивают малые векторы движений (и настоящее изобретение нацелено на улучшение результатов преимущественно в областях больших движений), можно предположить, что малые по величине оценки векторов движения, полученные из блока ME, обладают малыми погрешностями и в основном не выводят за пределы эталонных упомянутых квадратов со стороной 1 пиксель, вследствие чего модификация таких оцененных векторов движения не требуется.
Более того, т.к. предлагаемая регуляризация затрагивает (в одном из вариантов - игнорирует) дробные части координат векторов движений, обучение алгоритма ME может нарушиться применением регуляризации в тех точках, где эталонные векторы движения и их оценки, полученные из блока ME, малы (например, не превышают 4 пикселей) и, соответственно, изменение их дробных частей существенно искажает векторы в целом.
За счет использования глубокой нейронной сети (DNN), достаточно эффективной по объему производимых вычислений и используемой памяти, была обеспечена возможность применения предлагаемого алгоритма FPC в мобильных устройствах при достаточно высоком качестве интерполированных кадров и меньшем количестве артефактов, чем в известных решениях. Результаты сравнительного исследования предлагаемого алгоритма FRC с известным решением и с учетом эталонных данных проиллюстрированы на Фиг. 3, где показан пример формируемых интерполированных кадров для алгоритма из уровня техники (виды А), эталонного изображения (виды В) и формируемых интерполированных кадров в соответствии с примерным вариантом выполнения изобретения (виды С). Как видно на Фиг. 3, предлагаемое решение обеспечивает достаточно высокое зрительно воспринимаемое качество изображения при незначительных артефактах.
На Фиг. 4 представлена принципиальная схема устройства 100 для преобразования частоты кадров (FRC) видеоизображения по второму аспекту настоящего изобретения.
Устройство 100 описано на уровне функциональных блоков, которые могут быть реализованы с применением многофункционального программируемого (настраиваемого) средства, такого как по меньшей мере один процессор, конфигурированного для реализации соответствующих функциональных блоков посредством соответствующих программных инструкций, сохраняемых в памяти устройства и/или на внешнем машиночитаемом носителе. Предлагаемое устройство также может быть охарактеризовано через упомянутую память, содержащую программные инструкции, и по меньшей мере один процессор, который при выполнении упомянутых программных инструкций реализует операции, соответствующие функциям описанных ниже блоков. Следует понимать, что специалистам в данной области техники будут очевидны различные варианты аппаратной и/или программной реализации нижеперечисленных блоков, и предлагаемое изобретение не ограничено конкретным сочетанием аппаратных и/или программных средств.
Обращаясь к Фиг. 4, устройство 100 содержит блок 200 преобразования частоты кадров (FRC), видеокодер 300, источник 110 входной последовательности кадров видеоизображения, динамическое оперативное запоминающее устройство (DRAM) 120 и Flash-память 130. Блок 200 FRC содержит блок оценки движения на основе обучаемого алгоритма ME, который может быть представлен, в качестве неограничивающего примера, DNN или CNN для ME, и блок компенсации движения на основе программного алгоритма (SW MC), и выполнен с возможностью задействования в обучении алгоритма ME блока 210 регуляризации градиентов и решающего блока 220. Упомянутые блок 210 регуляризации градиентов и решающий блок 220 могут быть реализованы, например, на одном или более отдельных серверах, внешних по отношению к устройству 100, и могут быть выполнены с возможностью обмена данными с устройством 100 при обучении алгоритма ME.
В одном или более вариантах выполнения изобретения блок 200 FRC и, в частности, блок 210 регуляризации градиентов и решающий блок 220 реализованы программными средствами в виде описания последовательности вычислительных операций и их параметров (включая конкретные значения параметров) в специальном формате. Упомянутое описание последовательности вычислительных операций изначально создается на одном или более упомянутых серверах для реализации процесса обучения алгоритма ME. Для обучения алгоритма ME используется специальная среда, содержащая, в качестве неограничивающего примера, один или более серверов с видеокартами, интерпретатор языка Python, фреймворк TensorFlow. При этом в процессе обучения все части блока 200 FRC, включая блок 210 регуляризации градиентов и решающий блок 220, выполняются в одной среде (на одном сервере).
После завершения обучения алгоритма ME упомянутое описание последовательности вычислительных операций и их параметров преобразуется в формат, пригодный для выполнения на мобильном устройстве, который может быть отличен от формата, в котором упомянутое описание последовательности вычислительных операций было реализовано на одном или более серверах. После того, как обучение алгоритма ME завершено и упомянутый блок 200 FRC развернут на мобильном устройстве, блок 210 регуляризации градиентов и решающий блок 220 более не задействуются.
На вход блока 200 FRC подается входное видеоизображение 400, содержащее входную последовательность 410 кадров видеоизображения. В процессе обработки входной последовательности 410 кадров видеоизображения блоком 200 FRC формируется обработанная последовательность 420 кадров видеоизображения, содержащая исходные и интерполированные кадры видеоизображения. Обработанная последовательность 420 кадров видеоизображения передается в видеокодер 300, который формирует на ее основе файл 430 видеоизображения. Входная последовательность 410 кадров видеоизображения и обработанная последовательность 420 кадров видеоизображения сохраняются в динамическом оперативном запоминающем устройстве (DRAM) 120. Файл 430 видеоизображения сохраняется во Flash-памяти 130 и при необходимости выдается, например, для воспроизведения в виде выходной последовательности 440 кадров видеоизображения. Блок 200 FRC и видеокодер 300 могут быть реализованы, в качестве неограничивающего примера, в виде так называемой «системы на кристалле» (System-on-chip, SOC). Следует отметить, что приведенные выше материально-технические средства, реализующие вышеуказанные блоки, являются лишь примерными, и объем правовой охраны изобретения не ограничен использованием только DRAM, Flash-памяти и «системы на кристалле».
Источник 110 входной последовательности кадров видеоизображения может представлять собой, в качестве неограничивающего примера, одну или более видеокамер устройства 100 или, например, одно или более сетевых соединений, посредством которых входная последовательность кадров видеоизображения может быть получена из внешних источников, таких как, например, один или более серверов, соединенных с устройством 100 посредством глобальной сети, такой как, например, сеть Интернет.
Основными компонентами блока 200 FRC являются блок оценки движения на основе обучаемого алгоритма ME и блок компенсации движения на основе программного алгоритма (SW MC). Кроме того, как указано выше, при обучении алгоритма ME блок 200 FRC может задействовать блок 210 регуляризации градиентов и решающий блок 220.
Как видно на Фиг. 4, входная последовательность 410 кадров видеоизображения содержит множество кадров видеоизображения, из которых блок 200 FRC выбирает по меньшей мере два ключевых кадра (KF), которые можно охарактеризовать как предыдущий и следующий кадры по отношению к интерполируемому (промежуточному) кадру. Блок ME выполнен с возможностью оценки оптического потока (совокупности векторов движения отдельных пикселей) для интерполируемого кадра (иначе называемого в настоящей заявке текущим или промежуточным кадром) относительно упомянутых KF. В процессе обучения обучаемого алгоритма ME с использованием SW MC блок 210 регуляризации градиентов обеспечивает уменьшение количества пикселей, в которых неправильно определяются направления градиентов функции потерь по оцененным обучаемым алгоритмом ME векторам движения.
Для этого блок 210 регуляризации градиентов выполнен с возможностью модификации значений векторов движения (MV) (каждой из координат соответствующего вектора) до ближайшего числа i+1/2 для целого числа i. Данная операция реализуется на «прямой» ступени обучения обучаемого алгоритма ME (на этапе обратного распространения ошибки) данная операция не выполняется - ошибки пропускаются через соответствующий слой, отвечающий за изменение (модификацию; в одном или более неограничивающих вариантах выполнения - округление) векторов движения, без изменения. То есть на этапе обратного распространения ошибки блок 210 регуляризации градиентов и решающий блок 220 не задействуются.
На Фиг. 5 приведена принципиальная схема блока преобразования частоты кадров (FRC) по одному или более вариантам выполнения изобретения. Решающий блок 220 осуществляет выбор векторов движения, которые должны быть модифицированы с целью регуляризации градиентов функции потерь. Критерием выбора векторов движения, которые должны быть модифицированы, может быть условие, состоящее в том, что значения их координат больше определенной пороговой величины. В примере, проиллюстрированном на Фиг. 8, пороговая величина значений координат для MV по одной оси составляет 4. На виде А по Фиг. 8 показан оптический поток до модификации векторов движения, на виде В - после модификации всех векторов движения, координаты которых превышали 4. При этом в результате модификации дробные части координат модифицированных векторов движений были приведены к 0,5.
Таким образом решающий блок 220 принимает решения, основанные на оценке того, подходят ли векторы движения или градиенты для выполнения операции регуляризации градиентов. Более точное выполнение регуляризации градиентов повышает качество интерполяции по сравнению с вариантом, при котором регуляризировались бы градиенты функции потерь по всем векторам движения.
В одном или более вариантах выполнения изобретения регуляризация градиентов может выполняться для всех векторов движения, координаты которых превышают 4 по каждой оси. Такой подход гарантирует, что регуляризация не приведет к существенному ухудшению градиентов в тех областях кадра, где они имеют преимущественно верное направление без регуляризации.
В одном или более вариантах выполнения изобретения при наличии эталонного (GT) оптического потока, получаемого, например, из одного или более KF, регуляризация применяется только к градиентам функции потерь для векторов движения, выбранных из условия, что направление нерегуляризированного градиента функции потерь по вектору движения (MV) противоположно направлению от эталонного MV к оцененному MV. Такой подход позволяет не применять регуляризацию к уже достаточно правильным градиентам и дополнительно повышает итоговое качество интерполяции.
В одном или более вариантах выполнения изобретения решающий блок 220 использует данные пикселей ключевых кадров для выбора векторов движения, градиенты функции потерь по которым следует регуляризировать. Например, в ситуациях, когда уровень шума в данных высок, регуляризацию градиентов можно применять только в темных областях кадра, где шум преобладает над полезным сигналом. В результате увеличивается объем информации, которая может быть использована при выполнении интерполяции, что приводит к повышению качества интерполяции.
Специалистам в данной области техники будут понятны различные варианты реализации устройства 100 для преобразования частоты кадров (FRC) видеоизображения по настоящему изобретению, которые включают в себя различные сочетания аппаратных и программных компонентов. Следует отметить, что реализация конкретных функций с помощью аппаратного или программного обеспечения зависит от конкретного применения и требований к конструкции всей системы. Специалист в данной области техники может использовать различные способы реализации описанных выше функций для каждого конкретного применения, но не следует считать, что такая реализация будет выходить за рамки вариантов осуществления, раскрытых в данной заявке.
В общем случае, в качестве аппаратных компонентов могут выступать по меньшей мере одно настраиваемое (программируемое) многофункциональное вычислительное устройство, например процессор, такой как процессор общего назначения (CPU) или любые возможные варианты специализированных процессоров, микропроцессоров и т.п., пригодные для реализации соответствующих блоков устройства 100, описанных выше. Кроме того, при необходимости, в некоторых реализациях может использоваться память, представленная по меньшей мере одним запоминающим устройством, пригодным для хранения соответствующих данных и их передачи между различными блоками системы. Одним из возможных вариантов реализации настраиваемого (программируемого) вычислительного средства может быть архитектура SoC, как упомянуто выше, а в качестве возможных вариантов реализации памяти могут использоваться DRAM и Flash-память, упомянутые выше. Однако испрашиваемый объем правовой охраны не ограничен конкретными сочетаниями вышеупомянутых материально-технических средств. Объем правовой охраны настоящего изобретения охватывает любое сочетание материально-технических средств, пригодное для реализации описанных выше блоков устройства 100, которое может быть очевидно специалистам в данной области техники на основании вышеприведенного описания.
В качестве конкретного неограничивающего примера, устройство 100 для преобразования частоты кадров (FRC) видеоизображения может представлять собой по существу программно-аппаратный комплекс, содержащий аппаратные средства, такие как средства ввода/вывода, память, а также настраиваемое (программируемое) многофункциональное средство, такое как по меньшей мере один процессор, реализующий вышеупомянутые блоки. Так, блок ME, выполненный с возможностью оценки движения на основе обучаемого алгоритма ME, такого как глубокая нейронная сеть (DNN) или сверточная нейронная сеть (CNN), может быть реализован по меньшей мере одним процессором общего или специализированного назначения, таким как графический процессор (GPU), конфигурированным посредством соответствующего программного обеспечения. Блок компенсации движения на основе программного алгоритма (SW MC), блок 200 преобразования частоты кадров (FRC), блок 210 регуляризации градиентов и решающий блок 220 также могут быть реализованы по меньшей мере одним процессором общего или специализированного назначения, конфигурированным посредством соответствующего программного обеспечения.
Упомянутое программное обеспечение, конфигурирующее один или более процессоров для выполнения описанных выше функций соответствующих модулей, может представлять собой одну или более программ, программных модулей, компьютерных программных элементов, которые могут быть реализованы, в качестве неограничивающего примера, на языке программирования Python c использованием фреймворка TensorFlow. Следует отметить, что объем изобретения не ограничен конкретными подробностями в отношении реализации программного обеспечения на указанном выше языке программирования с использованием указанного выше фреймворка, поскольку специалистам в данной области техники будут очевидны варианты реализации изобретения с использованием других языков программирования, программных сред и т.п. в рамках объема настоящего изобретения.
Упомянутое выше настраиваемое (программируемое) многофункциональное средство, такое как по меньшей мере один процессор, может представлять собой, не ограничиваясь, центральный процессор (CPU), графический процессор (GPU), нейронный процессор (NPU), цифровой сигнальный процессор (DSP) или их комбинацию. Кроме того, процессор может быть реализован, не ограничиваясь, как система на кристалле (SoC), интегральная схема специального назначения (ASIC), программируемая пользователем вентильная матрица (FPGA). Память может представлять собой оперативную память (RAM) любого типа, например, не ограничиваясь, обычную RAM, динамическую RAM (DRAM), статическую RAM (SRAM), синхронную DRAM (SDRAM), Rambus DRAM (RDRAM), SDRAM с удвоенной скоростью передачи данных (DDR SDRAM) или их сочетание. Кроме того, память может представлять собой постоянную память (ROM) любого типа, например, но не ограничиваясь, обычную ROM, программируемую ROM (PROM), стираемую и программируемую ROM (EPROM), электрически стираемую и программируемую ROM (EEPROM), flash память NAND (SSD) или их сочетание.
Описанное выше устройство 100 для преобразования частоты кадров (FRC) видеоизображения по одному аспекту настоящего изобретения осуществляет способ преобразования частоты кадров (FRC) видеоизображения по охарактеризованному выше первому аспекту настоящего изобретения.
В качестве показателя качества на этапе обучения обучаемого алгоритма ME предпочтительно используется функция потерь на основе разности между изображениями, такая как среднее абсолютное отклонение (MAE). В одном или более других вариантах выполнения изобретения, в качестве альтернативы или дополнения, могут использоваться другие метрики, такие как, например, среднеквадратичное отклонение. В одном или более вариантах выполнения изобретения, в качестве альтернативы или дополнения, также могут использоваться любые показатели схожести изображений, в качестве неограничивающего примера - такие, как PSNR или индекс структурного сходства изображений (SSIM), на этапе обучения обучаемого алгоритма ME такие показатели максимизируются.
В целом, специалистам в данной области техники будет понятно, что каждый из перечисленных выше блоков устройства 100 для преобразования частоты кадров (FRC) видеоизображения и соответствующих этапов способа преобразования частоты кадров (FRC) видеоизображения может быть реализован различными сочетаниями аппаратных и программных компонентов, и объем настоящего изобретения не ограничен конкретными сочетаниями упомянутых аппаратных и программных компонентов, различные варианты которых могут быть предусмотрены специалистами в данной области техники. При этом в одном или более предпочтительных вариантах выполнения настоящего изобретения устройство 100 представляет собой любое известное на сегодняшний день мобильное устройство или является частью такого мобильного устройства.
Тем не менее, в одном или более дополнительных аспектах изобретение может быть реализовано, например, посредством одного или более процессоров, выполняющих инструкции, такие как машиночитаемые программные команды, сохраненные на одном или более машиночитаемых носителях и/или передаваемые посредством одного или более сетевых соединений. В одном или более неограничивающих вариантах выполнения изобретение может быть реализовано в одном устройстве или в системе, физически размещенной в одном определенном месте. В других вариантах выполнения изобретение может быть реализовано распределенной сетью одного или более вычислительных устройств, таких как один или более процессоров, серверов, одно или более запоминающих устройств и т.п., соединенных одной или более сетями или шинами передачи данных, как известно специалистам в данной области техники. Все вышеуказанные варианты выполнения входят в объем правовой охраны настоящего изобретения. Упомянутые машиночитаемые программные команды могут представлять собой команды ассемблера, машинные команды, команды встроенного программного обеспечения, данные конфигурации для интегральных схем либо другой исходный код или объектный код, написанный с использованием любого сочетания языков программирования. Таким образом, в еще одном аспекте настоящего изобретения предложен машиночитаемый носитель, содержащий сохраненные на нем машиночитаемые инструкции, которые, при выполнении по меньшей мере одним процессором, побуждают по меньшей мере один процессор осуществлять способ по вышеописанному аспекту настоящего изобретения.
Возможность реализации способа преобразования частоты кадров (FRC) видеоизображения в соответствии с предлагаемым изобретением и достижения результата, состоящего в повышении качества преобразования частоты кадров видеоизображения, подтверждается экспериментальными данными, полученными при реализации одного из примерных вариантов выполнения изобретения. В данном примере, при реализации предлагаемого способа в мобильном устройстве, содержащем блок преобразования частоты кадров (FRC), видеокодер, источник входной последовательности кадров видеоизображения, динамическое оперативное запоминающее устройство (DRAM) и Flash-память, блок FRC был реализован в виде «системы на кристалле» (SOC) и включал в себя блок ME и блок SW MC, как описано выше в отношении устройства по настоящему изобретению.
На вход блока FRC подавалось входное видеоизображение, содержащее входную последовательность кадров видеоизображения. В процессе обработки входной последовательности кадров видеоизображения блок FRC формировал обработанную последовательность кадров видеоизображения, содержащую исходные и интерполированные кадры видеоизображения. При реализации способа по данному примеру было обнаружено, что, по сравнению с известными решениями из уровня техники, предлагаемый алгоритм FRC позволял более эффективно использовать память и вычислительные ресурсы за счет использования меньшего количества весовых коэффициентов (параметров), чем известные решения, а также позволял исключить необходимость использования нейросетевых слоев с высокими вычислительными затратами. Сравнение предлагаемого алгоритма FRC с известными решениями, раскрытыми в источниках Z. Shi et al., «Video Frame Interpolation Transformer», в CVPR 2022 ([1]) и W. Bao et al., «Depth-Aware Video Frame Interpolation», в CPVR 2019 ([2]) показало, что для формирования интерполированных кадров в предлагаемом решении используется в 4 раза меньшее число весовых коэффициентов (параметров), чем в известных решениях. Так, например, было установлено, что для обучения алгоритма ME в соответствии с изобретением потребовалось оценить приблизительно 5,8 миллионов весовых коэффициентов (параметров), в то время как в известных решениях для этой цели потребовалось оценить более 24 миллионов весовых коэффициентов (параметров) (т.е. приблизительно в 4 раза больше).
При реализации предлагаемого алгоритма FRC на NPU мобильного устройства, такого как Galaxy S24, время вычисления для формирования интерполированного кадра составляло около 12 мс на кадр в формате FHD (фактическое разрешение входных кадров DNN ME и оцениваемых ей оптических потоков составляет 960×540 пикселей за счет разбиения кадров на блоки размером 2×2 пикселя и использования одного пикселя из каждого блока, перед применением SW MC разрешение оптических потоков приводится к исходному FHD методом билинейной интерполяции), в то время как оцененное время вычисления для известных решений при тех же условиях составляет от 40 до более 100 мс. Также было обнаружено повышение качества интерполяции, о чем свидетельствует увеличение пикового отношения сигнала к шуму (PSNR) вплоть до 7 дБ для определенных фрагментов видеоизображения. При этом при практической реализации способа согласно изобретению на 58 тестовых видеоизображениях было получено повышение общего (среднего по всем кадрам и видеоизображениям) PSNR на 0,43 дБ при обучении алгоритма ME на «шумных» наборах данных.
Также было показано, что применение блока регуляризации градиентов в соответствии с изобретением уменьшает значение средней погрешности в концевой точке (EPE) для векторов движения при использовании «шумных» тестовых наборов данных. На Фиг. 9 приведен график средней погрешности в концевой точке (EPE) в зависимости от длины L оцененного вектора движения (MV) для предлагаемого изобретения и известного решения из уровня техники, где сплошной линией показаны значения EPE для изобретения, а пунктирной - для известного решения из области техники, при этом видно, что в случае изобретения EPE в общем ниже и меньше возрастает по мере увеличения длины вектора движения.
Было показано, что предлагаемый алгоритм FRC в соответствии с изобретением решает следующие задачи (режимы обработки видеоизображения, реализуемые в соответствующих мобильных приложениях):
- «Плавность» - повышение частоты кадров на выходе при сохранении естественной скорости движения объектов на видеоизображении (без изменения времени проигрывания видеоролика);
- «Слоу-мо» - уменьшение скорости движения объектов на видеоизображении при сохранении плавности воспроизведения (с увеличением длины видеоролика);
- «Дополнительная обработка» - использование дополнительно интерполированных кадров в алгоритмах, которые требуют высокой частоты кадров или изменения частоты выборки кадров (эффекты на видеоизображении).
В частности, способ по изобретению может быть реализован в виде алгоритма FRC на основе искусственного интеллекта (ИИ), выполняемого на флагманских моделях смартфонов Samsung, со следующими параметрами: мгновенная реализация режима «слоу-мо» в приложении «Галерея» или штатном видеопроигрывателе (с четырехкратным повышением FPS от 30…60 до 120…240 и отображением видеоизображения в реальном времени с четырехкратным замедлением).
Результаты экспериментальных исследований качества интерполяции с точки зрения PSNR, представляющего собой общепринятый стандарт сравнения двух изображений, согласно которому качество интерполяции определяется попиксельной близостью интерполированного кадра к эталонному, приведены ниже в Таблице 1.
Таблица 1. Качество интерполяции по PSNR
Экспериментальные данные показали возможность реализации предлагаемого способа FRC в мобильном устройстве с достижением технического результата, состоящего в повышении качества преобразования частоты кадров видеоизображения.
Промышленная применимость
Предлагаемое изобретение может быть использовано по существу в любом мобильном устройстве, способном захватывать, принимать, обрабатывать и воспроизводить видеоизображение, таком как, в качестве неограничивающего примера, смартфон, мобильный телефон, планшетный компьютер, нетбук, ноутбук, портативный компьютер, видеопроигрыватель и т.п. Однако область применения изобретения не ограничена мобильными устройствами, и предлагаемое изобретение может также быть реализовано и в стационарных вычислительных устройствах, обладающих функциональными возможностями по обработке и воспроизведению видеоизображения, таких как, не ограничиваясь, персональный компьютер, стационарный видеопроигрыватель, видеоприставка, рабочая станция по обработке видеоизображений и т.п. Объем правовой охраны не ограничен конкретными применениями, перечисленными выше. Другие применения настоящего изобретения будут очевидны специалистам в данной области техники.
Изобретение может реализовывать различные функции по обработке видеоизображения в режиме реального времени, такие как воспроизведение видеоизображения, видеоконференцсвязь, преобразование видеоданных во время захвата видеоизображения и т.п. Кроме того, изобретение позволяет выполнять обработку видеоизображения, заметно искаженного шумом, например, видеоизображения, снятого в условиях недостаточного освещения, а также фотоизображений в случае формирования одного изображения путем слияния нескольких изображений, снятых при малых временах экспозиции в разные моменты времени (соответственно, вообще говоря, с немного различающихся ракурсов и при немного различающемся взаимном расположении объектов сцены).
Изобретение также может быть применено в устройствах, обладающих ограниченными вычислительными возможностями, таких как мобильные телефоны, телевизоры среднего уровня, веб-камеры/серверы.
В упомянутых выше устройствах предлагаемое изобретение позволяет обеспечить повышение плавности воспроизведения видеоизображения без зрительно раздражающих артефактов, повысить общее воспринимаемое качество видеоизображения за счет улучшенного обучения алгоритма ME при исключении неправильно определенных градиентов в процессе обучения. При этом для реализации изобретения требуется меньший объем памяти на мобильном устройстве ввиду использования нейросетевого алгоритма, достаточно эффективного по объему производимых вычислений и используемой памяти. Кроме того, снижается расход заряда аккумуляторной батареи мобильного устройства за счет уменьшения количества операций и меньшей сложности выполняемых вычислительных операций при обработке видеоизображения.
Подробное описание вариантов выполнения изобретения, приведенное выше, не предназначено для ограничения или определения объема правовой охраны настоящего изобретения. Все источники из уровня техники, приведенные и рассмотренные в настоящем документе, настоящим включены в данное описание путем ссылки, насколько это применимо. При том, что настоящее изобретение было описано и проиллюстрировано на различных вариантах его выполнения, специалистам в данной области техники следует понимать, что в его форму и конкретные детали могут быть внесены различные изменения, не выходящие за рамки объема настоящего изобретения, который определяется только нижеприведенной формулой изобретения и ее эквивалентами.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ УЧИТЫВАЮЩЕЙ ПОВТОРЯЮЩИЕСЯ СТРУКТУРЫ ИНТЕРПОЛЯЦИИ КАДРОВ ВИДЕО И РЕАЛИЗУЮЩИЕ ДАННЫЙ СПОСОБ УСТРОЙСТВО И НОСИТЕЛЬ | 2024 |
|
RU2836221C1 |
ОБРАБОТКА ОККЛЮЗИЙ ДЛЯ FRC C ПОМОЩЬЮ ГЛУБОКОГО ОБУЧЕНИЯ | 2020 |
|
RU2747965C1 |
СПОСОБ ПРОСТРАНСТВЕННО ПАРАМЕТРИЗОВАННОЙ ОЦЕНКИ ВЕКТОРОВ ДВИЖЕНИЯ | 2024 |
|
RU2839709C1 |
СПОСОБ ПРЕОБРАЗОВАНИЯ ЧАСТОТЫ КАДРОВ, ПОДДЕРЖИВАЮЩИЙ ЗАМЕНУ ИНТЕРПОЛЯЦИИ КАДРА С КОМПЕНСАЦИЕЙ ДВИЖЕНИЯ ЛИНЕЙНОЙ КОМБИНАЦИЕЙ КАДРОВ, И РЕАЛИЗУЮЩЕЕ ЕГО УСТРОЙСТВО | 2022 |
|
RU2786784C1 |
СПОСОБ КОДИРОВАНИЯ ВИДЕОСИГНАЛОВ И УСТРОЙСТВО, ПОДДЕРЖИВАЮЩЕЕ БЫСТРЫЙ АЛГОРИТМ ТОЧНОЙ МАСШТАБИРУЕМОСТИ ПО КАЧЕСТВУ | 2006 |
|
RU2340115C1 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО И СПОСОБ ОТОБРАЖЕНИЯ ИЗОБРАЖЕНИЙ | 2008 |
|
RU2419243C1 |
СПОСОБ И СИСТЕМА ОБРАБОТКИ ИЗОБРАЖЕНИЙ ДЛЯ ФОРМИРОВАНИЯ ИЗОБРАЖЕНИЙ СВЕРХВЫСОКОГО РАЗРЕШЕНИЯ | 2016 |
|
RU2635883C1 |
ОЦЕНКА ДВИЖЕНИЯ ПУТЕМ ТРЕХМЕРНОГО РЕКУРСИВНОГО ПОИСКА (3DRS) В РЕАЛЬНОМ ВРЕМЕНИ ДЛЯ ПРЕОБРАЗОВАНИЯ ЧАСТОТЫ КАДРОВ (FRC) | 2017 |
|
RU2656785C1 |
УСТРОЙСТВО ВИДЕООТОБРАЖЕНИЯ | 2008 |
|
RU2461979C2 |
СПОСОБ И СИСТЕМА ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2014 |
|
RU2583725C1 |
Изобретение относится к области обработки видеоизображений, и в частности к временной интерполяции кадров видеоизображения для увеличения частоты кадров (FPS) видеоизображения. Технический результат состоит в повышении качества преобразования частоты кадров видеоизображения. Предложен способ преобразования частоты кадров (FRC) видеоизображения, содержащий этапы, на которых: получают по меньшей мере два ключевых кадра (KF) видеоизображения из входной последовательности кадров видеоизображения; формируют по меньшей мере один интерполированный кадр для добавления в последовательность кадров видеоизображения на основе по меньшей мере одного из KF, причем формирование по меньшей мере одного интерполированного кадра содержит этапы, на которых выполняют оценку векторов движения (MV) по меньшей мере для одного пикселя каждого блока интерполированного кадра с использованием обучаемого алгоритма оценки движения (ME), обученного с применением регуляризации градиентов функции потерь путем выбора оцененных векторов движения из оптического потока и модификации дробных частей координат выбранных векторов движения с обратным распространением ошибки без учета упомянутой модификации и/или с использованием конечно-разностной аппроксимации пространственных производных яркостей ключевых кадров (KF) при обратном распространении ошибки; получают по меньшей мере один интерполированный кадр, выполняя компенсацию движения с использованием упомянутого по меньшей мере одного ключевого кадра (KF) и векторов движения (MV), полученных посредством упомянутой оценки векторов движения; добавляют полученный по меньшей мере один интерполированный кадр в последовательность кадров видеоизображения; и выводят последовательность кадров видеоизображения с увеличенным количеством кадров. Также предложены устройство и машиночитаемый носитель, реализующие упомянутый способ. 9 ил., 1 табл.
1. Способ преобразования частоты кадров (FRC) видеоизображения, содержащий этапы, на которых:
получают по меньшей мере два ключевых кадра (KF) видеоизображения из входной последовательности кадров видеоизображения;
формируют по меньшей мере один интерполированный кадр для добавления в последовательность кадров видеоизображения на основе по меньшей мере одного из KF, причем формирование по меньшей мере одного интерполированного кадра содержит этапы, на которых
выполняют оценку векторов движения (MV) по меньшей мере для одного пикселя каждого блока интерполированного кадра с использованием обучаемого алгоритма оценки движения (ME), обученного с применением регуляризации градиентов функции потерь путем выбора оцененных векторов движения из оптического потока и модификации дробных частей координат выбранных векторов движения с обратным распространением ошибки без учета упомянутой модификации и/или с использованием конечно-разностной аппроксимации пространственных производных яркостей ключевых кадров (KF) при обратном распространении ошибки;
получают по меньшей мере один интерполированный кадр, выполняя компенсацию движения с использованием упомянутого по меньшей мере одного ключевого кадра (KF) и векторов движения (MV), полученных посредством упомянутой оценки векторов движения;
добавляют полученный по меньшей мере один интерполированный кадр в последовательность кадров видеоизображения; и
выводят последовательность кадров видеоизображения с увеличенным количеством кадров.
2. Способ по п. 1, в котором выбирают векторы движения для регуляризации градиентов при условии, что значения координат векторов движения больше определенной пороговой величины по каждой оси.
3. Способ по п. 1, в котором дробные части значений координат для каждой из координат выбранного вектора движения округляют до ближайших чисел вида i+1/2 для целых чисел i.
4. Способ по п. 1, в котором, при наличии эталонного (GT) оптического потока, дробным частям координат векторов движения, полученных посредством упомянутой оценки векторов движения, присваивают дробную величину, близкую к 0 (сверху) или 1 (снизу) в зависимости от отношения вектора движения, оцененного обучаемым алгоритмом ME, и эталонного вектора движения, за счет чего значения координат оцененного вектора движения максимально удаляются от значений координат эталонного вектора движения в пределах квадрата со стороной 1 пиксель.
5. Способ по п. 1, в котором для конечно-разностной аппроксимации пространственных производных яркостей ключевых кадров (KF) используются значения яркостей ближайших 2×4, 4×2 или 4×4 пикселей ключевого кадра (KF) по отношению к точке, в которую указывает оцененный вектор движения (MV).
6. Способ по п. 1, в котором для упомянутой конечно-разностной аппроксимации пространственных производных яркости ключевых кадров (KF) используется свертка с антисимметричным ядром.
7. Способ по п. 6, в котором в качестве свертки с антисимметричным ядром для конечно-разностной аппроксимации пространственных производных яркости ключевого кадра (KF) используется по меньшей мере одно из оператора Прюитт и оператора Собеля.
8. Способ по п. 2, в котором выбирают векторы движения для регуляризации градиентов при условии, что значения координат для векторов движения больше 4 по каждой оси.
9. Способ по п. 1, в котором, при наличии эталонного (GT) оптического потока, выбирают векторы движения для регуляризации градиентов при условии, что направление нерегуляризированного градиента функции потерь по вектору движения (MV) противоположно направлению от эталонного MV к оцененному MV.
10. Способ по п. 1, в котором обучаемый алгоритм ME представляет собой глубокую нейронную сеть (DNN) или сверточную нейронную сеть (CNN).
11. Устройство для преобразования частоты кадров (FRC) видеоизображения, содержащее:
память; и
по меньшей мере один процессор,
при этом память содержит программные инструкции, которые, при выполнении по меньшей мере одним процессором, побуждают упомянутый по меньшей мере один процессор выполнять операции
получения по меньшей мере двух ключевых кадров (KF) видеоизображения из входной последовательности кадров видеоизображения;
формирования по меньшей мере одного интерполированного кадра для добавления в последовательность кадров видеоизображения на основе по меньшей мере одного из KF, причем формирование по меньшей мере одного интерполированного кадра содержит:
оценку векторов движения (MV) по меньшей мере для одного пикселя по меньшей мере одного блока интерполированного кадра с использованием обучаемого алгоритма оценки движения (ME), обученного с применением регуляризации градиентов функции потерь путем выбора оцененных векторов движения из оптического потока и модификации дробных частей координат выбранных векторов движения с обратным распространением ошибки без учета упомянутой модификации и/или с использованием конечно-разностной аппроксимации пространственных производных яркостей ключевых кадров (KF) при обратном распространении ошибки;
получение по меньшей мере одного интерполированного кадра путем компенсации движения в упомянутом по меньшей мере одном ключевом кадре (KF) с использованием векторов движения (MV), полученных посредством упомянутой оценки векторов движения;
добавление полученного по меньшей мере одного интерполированного кадра в последовательность кадров видеоизображения; и
вывод последовательности кадров видеоизображения с увеличенным количеством кадров.
12. Устройство по п. 11, в котором программные инструкции побуждают упомянутый по меньшей мере один процессор формировать файл видеоизображения на основе выводимой последовательности кадров видеоизображения с увеличенным количеством кадров FPS.
13. Устройство по п. 11, дополнительно содержащее по меньшей мере одну память, выполненную с возможностью сохранения по меньшей мере одного из входной последовательности кадров видеоизображения, выходной последовательности кадров видеоизображения и/или файла видеоизображения.
14. Устройство по п. 11, реализованное в виде системы на кристалле (SOC).
15. Машиночитаемый носитель, содержащий сохраненные на нем машиночитаемые программные инструкции, которые, при выполнении по меньшей мере одним процессором, побуждают по меньшей мере один процессор осуществлять способ по любому из пп. 1-10.
Способ получения продуктов конденсации фенолов с формальдегидом | 1924 |
|
SU2022A1 |
Способ получения продуктов конденсации фенолов с формальдегидом | 1924 |
|
SU2022A1 |
US 10776688 B2, 15.09.2020 | |||
ПЕРЕДАЮЩЕЕ УСТРОЙСТВО, СПОСОБ ПЕРЕДАЧИ ДАННЫХ ИЗОБРАЖЕНИЯ В ШИРОКОМ ДИНАМИЧЕСКОМ ДИАПАЗОНЕ, ПРИЕМНОЕ УСТРОЙСТВО, СПОСОБ ПРИЕМА ДАННЫХ ИЗОБРАЖЕНИЯ В ШИРОКОМ ДИНАМИЧЕСКОМ ДИАПАЗОНЕ И ПРОГРАММА | 2014 |
|
RU2646862C2 |
СПОСОБ ВИДЕОСОПРОВОЖДЕНИЯ С УЛУЧШЕННЫМИ ДИНАМИЧЕСКИМИ ХАРАКТЕРИСТИКАМИ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2018 |
|
RU2716005C2 |
Авторы
Даты
2025-04-16—Публикация
2024-10-04—Подача