[0001] Настоящее изобретение относится к обработке видеоданных и, в частности, к способу и устройству субпиксельного уточнения векторов движения.
УРОВЕНЬ ТЕХНИКИ
[0002] Видеоданные в высоком разрешении (например, 4К или более) пока невозможно обрабатывать (с осуществлением оценки оптического потока) в полном разрешении с частотой 1/33 мс. Для обеспечения такой возможности в уровне техники обработку, связанную с оценкой движения, обычно осуществляют в уменьшенном разрешении, а для получения достаточной точности обычно используют субпиксельное уточнение. Кроме того, современные алгоритмы оценки движения (ME) являются крайне чувствительными к качеству контента и уровням шума изображений. В попытке повысить точность оценки движения в некоторых алгоритмах уровня техники применяют сбор статистики по изображениям и ее применение непосредственно в процессе обработки таких изображений. Такой подход хоть и может улучшить точность оценки движения, но обязательный в нем детальный анализ изображений увеличивает время обработки и повышает вычислительную сложность.
[0003] В опубликованном 01.08.2017 патенте США US9721330B2 (Huawei Technologies Co. Ltd.) раскрывается оценка истинного оптического потока между текущим кадром и буферизированными предыдущими кадрами. Предложенный в этом патенте способ снижения шума на изображениях основан на анализе вызванного квантованием шума изображений с последующей оценкой областей изображений с переходами и краями непосредственно в процессе их обработки. Таким образом, изобретению по патенту '330 присущи по меньшей мере некоторые из указанных выше проблем, поскольку детальный анализ особенностей изображения, осуществляемый в реальном времени, может приводить к увеличению времени обработки и повышению вычислительной сложности реализации. Изобретение по патенту '330 может быть рассмотрено в качестве ближайшего уровня техники.
[0004] Из уровня техники известны и другие технологии обработки видеоданных с оценкой движения, которые могут быть рассмотрены до некоторой степени близкими раскрытой в данной патентной заявке технологии, см., например, публикацию US2014192267A1 патентной заявки США от 10.07.2014 (Qualcomm Inc.), публикацию US2019244330А1 патентной заявки США от 08.08.2019 (Apple Inc.), а также патент США US8175160B1 от 08.05.2012 (Nvidia Corp.). Как и ближайший уровень техники, решениям, описанным в перечисленных патентных документах, свойственны по меньшей мере некоторые из описанных выше проблем, поскольку в них предполагается сбор локальной статистики в отношении тех или иных особенностей обрабатываемых в режиме реального времени изображений и/или их реализация предполагается на мощных графических процессорах (GPU). Таким образом, решения, раскрытые в указанных выше патентных документах, при попытке их реализации на мобильных устройствах с ограниченными ресурсами будут характеризоваться увеличенным временем обработки и избыточной вычислительной сложностью.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Целью предлагаемого в настоящей заявке изобретения является обеспечение способа точной оценки движения, который может быть реализован на мобильных устройствах с ограниченными ресурсами с обеспечением по меньшей мере повышения качества картинки (например исходя из показателя пикового отношения сигнала к шуму (PSNR)). Дополнительной целью предлагаемого изобретения является достижение точной оценки движения даже при наличии на исходных изображениях шума в широком диапазоне уровней шума. Другой целью предлагаемого изобретения является сокращение времени выполнения оценки движения на устройствах с ограниченными ресурсами. В целом можно сказать, что предлагаемое в данной заявке решение повышает эффективность кодирования/декодирования изображений за счет улучшений самой процедуры оценки движения и/или раскрытое решение приспособлено под реализацию на устройствах с ограниченными ресурсами по меньшей мере за счет минимизации операций, которые подлежат выполнению на таких устройствах непосредственно в процессе обработки/захвата изображений (т.е. в режиме реального времени, при использовании устройства конечным пользователем).
[0006] Одна или более из указанных выше целей, что в конкретном случае может зависеть от реализации того или иного аспекта настоящего изобретения, достигается в общем за счет обработки, на некоторых этапах, кадров с пониженным разрешением (для уменьшения шума и снижения сложности) с последующим уточнением оценки движения до субпиксельной точности. Дополнительным преимуществом раскрытого способа в одном аспекте является использование конфигурируемой заранее модели шума, адаптированной под конкретную камеру (т.е. ее сенсор и/или применяемый конвейер обработки изображений), которая позволяет прогнозировать шум без выполнения ресурсоемкого сбора/анализа какой-либо статистики для обрабатываемых изображений.
[0007] Таким образом, согласно первому варианту осуществления настоящего изобретения обеспечен способ субписксельного уточнения векторов движения, включающий в себя: получение пары соседних кадров видео, определение прогнозной карты шума по кадру из упомянутой пары соседних кадров на основе предопределенной модели шума, выполнение поблочной оценки движения между соседними кадрами видео, подвергнутыми понижающему масштабированию, и в случае выполнения для блока условия, связанного с шумом, указываемым прогнозной картой шума для этого блока, уточнение вектора движения, связанного с таким блоком, до субпиксельной точности.
[0008] Согласно второму варианту осуществления настоящего изобретения обеспечен способ субписксельного уточнения векторов движения, включающий в себя: получение пары соседних кадров видео, выполнение поблочной оценки движения между соседними кадрами видео, определение для каждого найденного вектора движения способа нахождения субпиксельного смещения на основе метрик различия между блоком, в который указывает такой вектор движения, и одним или более блоками, соседствующими с упомянутым блоком, причем определяемым способом нахождения субпиксельного смещения является либо равноугольная одномерная аппроксимация зависимости метрики различия от субпиксельного смещения, рассматриваемая в одном или в нескольких направлениях, либо двумерная аппроксимация конической поверхностью зависимости метрики различия от субпиксельного смещения, нахождение для каждого вектора движения субпиксельного смещения в соответствии со способом нахождения субпиксельного смещения, определенным для такого вектора движения, и в случае если найденное для вектора движения субпиксельное смещение верифицируется успешно и/или не равняется нулю, уточнение этого вектора движения до субпиксельной точности на основе такого субпиксельного смещения.
[0009] Согласно третьему варианту осуществления настоящего изобретения обеспечено вычислительное устройство пользователя, содержащее камеру, выполненную с возможностью захвата видеоизображений, и процессор, выполненный с возможностью, при исполнении сохраненных в памяти исполняемых процессором инструкций, осуществления в отношении по меньшей мере двух захваченных видеоизображений способа субписксельного уточнения векторов движения согласно первому варианту осуществления или любому дополнительному аспекту его реализации, или согласно второму варианту осуществления или любому дополнительному аспекту его реализации.
[0010] Согласно четвертому варианту осуществления настоящего изобретения обеспечен считываемый компьютером запоминающий носитель, хранящий исполняемые компьютером инструкции, которые, при исполнении компьютером, побуждают компьютер к выполнению способа субписксельного уточнения векторов движения согласно первому варианту осуществления или любому дополнительному аспекту его реализации, или согласно второму варианту осуществления или любому дополнительному аспекту его реализации.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0011] Далее настоящее изобретение будет описано более подробно со ссылкой на прилагаемые чертежи, на которых:
[ФИГ. 1] На Фиг. 1 показана схема последовательности операций способа субписксельного уточнения векторов движения согласно первому варианту осуществления настоящего изобретения.
[ФИГ. 2] На Фиг. 2 показана схема последовательности операций уточнения вектора движения в способе согласно первому варианту осуществления настоящего изобретения.
[ФИГ. 3] На Фиг. 3 показана схема последовательности операций способа субписксельного уточнения векторов движения согласно второму варианту осуществления настоящего изобретения.
[ФИГ. 4] На Фиг. 4 показано схематичное представление вычислительного устройства пользователя согласно третьему варианту осуществления настоящего изобретения.
[ФИГ. 5] На Фиг. 5 показана примерная схема вычисления метрик различия при уточнении вектора движения.
[ФИГ. 6] На Фиг. 6 показан график, иллюстрирующий равноугольную одномерную аппроксимацию зависимости метрики различия от субпиксельного смещения, рассматриваемую в одном или в нескольких направлениях, которую можно использовать в качестве одного из возможных способов нахождения субписксельного смещения вектора движения.
[ФИГ. 7] На Фиг. 7 показана графическое представление двумерной аппроксимации конической поверхностью зависимости метрики различия от субпиксельного смещения, которую можно использовать в качестве другого из возможных способов нахождения субписксельного смещения вектора движения.
[ФИГ. 8] На Фиг. 8 показано графическое представление предопределенной модели шума, применяемой в способе субписксельного уточнения векторов движения согласно первому варианту осуществления при определении прогнозной карты шума для кадра.
[ФИГ. 9] На Фиг. 9 показаны примеры зашумленного изображения, прогнозной карты шума, карты меньшего шума, карты стандартных отклонений значений интенсивности пикселей изображения, карты деталей изображения и карты уточнения движения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0012] На Фиг. 1 показана схема последовательности операций способа субписксельного уточнения векторов движения согласно первому варианту осуществления настоящего изобретения. Способ начинается с выполнения этапа S100, на котором получают по меньшей мере одну пару соседних кадров видео. Под термином 'соседние кадры' здесь и далее понимаются кадры, расположенные в видеопоследовательности рядом друг с другом, например непосредственно смежные во времени кадры или кадры, не являющиеся непосредственно смежными друг с другом во времени, но расположенные близко друг к другу в видеопоследовательности, например кадры, расположенные через один, два или три кадра друг от друга. Получение кадров на этапе S100 может включать в себя как непосредственный захват по меньшей мере пары кадров видео, так и получение по меньшей мере пары кадров ранее захваченного и сохраненного видео.
[0013] На этапе S105 определяют прогнозную карту Nij шума по любому одном или обоим кадрам из упомянутой пары соседних кадров на основе предопределенной модели шума. В случае определения прогнозной карты Nij шума по обоим кадрам впоследствии может использоваться одна объединенная модель, получаемая, например, усреднением индивидуальных карт Nij шума. Предопределенную модель шума получают заранее для конкретного сенсора камеры и конкретного применяемого конвейера обработки изображений. Используемый здесь термин 'предопределенная' означает, что модель получают заранее под определенную модель камеры и/или последовательность операций конвейера обработки изображений. В предпочтительном варианте осуществления предопределенную модель шума получают на том устройстве (которое оборудовано конкретной моделью камеры и в котором применяется конкретная последовательность операций конвейера обработки изображений), на котором такая модель шума впоследствии будет использоваться для осуществления субпиксельного уточнения векторов движения (например, при захвате/кодировании/декодировании видео). В качестве примера предопределенная модель шума может генерироваться при изготовлении устройства производителем или осуществляться конечным пользователем устройства в ходе, например, процедуры начальной настройки устройства или процедуры начальной калибровки камеры устройства. Предопределенная модель шума может обновляться (т. е. генерироваться повторно) в процессе пользования устройством автоматически (например, на регулярной основе) или по запросу пользователя. Кроме того, отдельная модель шума может получаться под каждый доступный на определенной камере режим съемки (например, авто, ночная, портретная, пейзаж, макро), а затем соответствующая модель шума может выбираться в зависимости от выбранного режима съемки.
[0014] В неограничивающем варианте осуществления камера 300.1 (см. фиг. 4) включает в себя сенсор, накрытый фильтром Байера, обычно используемым для получения цветного изображения. Кроме того, камера содержит или соединена с аналого-цифровым преобразователем, выполненным с возможностью преобразования входного аналогового сигнала изображения в цифровой сигнал изображения. В неограничивающем варианте осуществления конвейер обработки изображений (ISP), обрабатывающий получаемый камерой цифровой сигнал изображения, может включать в себя, но без ограничения упомянутым, одну или несколько из следующих стадий: дебайеризацию, коррекцию вносимых оптической частью камеры искажений (шейдинг-коррекцию), геометрическую коррекцию, тоновую коррекцию (например, гамма-коррекцию) и кодирование (в том числе квантование) в определенный формат (например, но без ограничений, в формат YUV 4:2:0, формат YUV 4:2:2). Указанные выше подробности известны из уровня техники и поэтому их подробное описание здесь не приводится. В качестве неограничивающего примера дебайеризация и начальное шумоподавление изображений может осуществляться согласно технологии, описанной в заявке РФ 2020138295 (САМСУНГ ЭЛЕКТРОНИКС КО., ЛТД.), полное раскрытие которой включено в данный документ по этой ссылке.
[0015] В неограничивающем варианте осуществления предопределенная модель шума может генерироваться посредством выполнения следующих этапов. (А) захватывают, используя упомянутый сенсор камеры и применяемый конвейер обработки изображений, множество наборов кадров. Кадры, включаемые в один набор данных, захватывают в статическом положении для статической сцены с фиксированным освещением, экспозицией, чувствительностью сенсора (g) и фокусом. Разные наборы кадров в упомянутом множестве наборов кадров различаются между собой по меньшей мере одним из статического положения, статической сцены, освещения, экспозиции, чувствительности сенсора и фокуса. В предпочтительном варианте осуществления разные наборы кадров в упомянутом множестве наборов кадров различаются между собой только чувствительностью сенсора (т. е. каждый набор кадров захватывают с соответствующим известным уровнем чувствительности сенсора). Термин 'статическая сцена' означает, что позиции попадаемых в объектив камеры объектов в сцене, по существу, не меняются от кадра к кадру. Термин 'статическое положение' означает, что камера при съемке включаемых в набор кадров находится в неподвижном состоянии (например, съемка ведется со штатива). Термин 'фиксированное освещение' означает, что число и интенсивность источников света в снимаемой сцене, по существу, не меняется от кадра к кадру.
[0016] Далее выполняют этапы (В), на которых задают множество частей в каждом кадре каждого набора и определяют положение каждой части в кадре. Предпочтительно множество частей в каждом кадре задают одним и тем же образом во всех кадрах набора и во всех наборах. В качестве примера множество частей в каждом кадре каждого набора может задаваться с помощью регулярной сетки, определяющей множество таких частей. Минимальным размером части может быть один пиксель, а максимальным размером части может быть размер в ~1/10 часть кадра или более. Предпочтительно размер определяемых частей во всех кадрах всех наборов кадров устанавливается одинаковым. Подходящий размер части кадра в пикселях может быть увеличен при увеличении разрешения обрабатываемого кадра и уменьшен при уменьшении разрешения обрабатываемого кадра. В неограничивающих примерах часть может представлять собой квадратный блок 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, 128×128, такой блок может иметь другие размеры (например любые промежуточные или большие размеры). В других неограничивающих примерах часть может представлять собой прямоугольный блок 2×4, 4×2, 4×8, 8×4, 8×16, 16×8, 16×32, 32×16, 32×64, 64×32, 64×128, 128×64, 128×256, 256×128, такой блок может иметь другие размеры (например, любые промежуточные или большие размеры). Таким образом форма части может быть как прямоугольной, так и квадратной. Положение каждой части в кадре может сохраняться в памяти. Положение каждой части в кадре может быть представлено координатами определенного пикселя данной части кадра (например, но без ограничения, верхнего левого пикселя, верхнего правого пикселя, нижнего левого пикселя, нижнего правого пикселя или центрального пикселя части кадра) относительно точки начала координат в целом кадре (например, но без ограничения, верхнего левого пикселя, верхнего правого пикселя, нижнего левого пикселя, нижнего правого пикселя или центрального пикселя кадра).
[0017] Далее выполняют этап (С), на котором определяют по меньшей мере следующие характеристики между частями кадров в одном и том же положении в каждом наборе кадров: стандартное отклонение значений интенсивности пикселей, среднее значение яркости пикселей, уровень усиления g сенсора камеры при захвате соответствующего кадра, относительное расстояние r от центра кадра до рассматриваемой части кадра. Затем, аппроксимируя определенные положения частей кадров и определенные в них характеристики низкопараметрической функцией получают на этапе (D) низкоразмерную параметрическую модель шума для упомянутого сенсора камеры и упомянутого конвейера обработки изображений, которые использовались на этапе (А). Таким образом, такая параметрическая модель шума выполняется с возможностью определения прогнозной карты Nij шума для произвольного кадра, захватываемого с помощью таких сенсора камеры и конвейера обработки изображений. Иллюстративные примеры зашумленного изображения и прогнозной карты Nij шума, которая определена для него предопределенной моделью шума, показаны на фиг. 9.
[0018] Далее описывается неограничивающий пример реализации генерирования предопределенной модели шума и приводится соответствующее математическое описание. Указанный пример и любые приводимые далее математические выражения не следует интерпретировать в качестве ограничивающих, поскольку обычному специалисту после ознакомления с данным раскрытием станут понятны другие возможные модификации реализации генерирования предопределенной модели шума. Предполагается что все такие модификации, охватываются объемом заявленной формулы настоящего изобретения.
[0019] Генерирование предопределенной модели шума начинают с (1) настройки сцены в контролируемых условиях освещения со статическим положением объектов, камеры и источников света. Источники света должны обеспечивать стабильную интенсивность света, т.е. по существу не имеющую мерцания интенсивность света. Далее (2) захватывают N кадров (N≥2) с соответствующим уровнем усиления сенсора камеры. В одном примере всем кадрам в одном наборе может соответствовать по существу один и тот же уровень усиления сенсора камеры, но разным наборам кадров могут соответствовать свои собственные (разные и/или одинаковые) уровни усиления сенсора камеры. После этого этапы (1)-(2) повторяют (3) М раз (М≥1) и формируют множество М наборов из N зашумленных статичных кадров , где w представляет собой ширину канала яркости кадров, a h представляет собой высоту канала яркости кадров. Каждый набор содержит N кадров, захваченных в статичном положении, для статичной сцены и освещения, кадры различаются лишь случайным уровнем шума. Сформированное множество М наборов из N зашумленных статичных кадров может сохраняться в памяти.
[0020] Далее, для каждого набора 1…М кадров (4) вычисляют стандартное отклонение значений интенсивности пикселей между соответствующими частями кадра. Соответствующими частями здесь могут быть отдельные пиксели каждого кадра в наборе с одинаковыми координатами (i, j) или большие части каждого кадра в наборе в одинаковых положениях, указываемых координатами (i, j). Вычисление стандартного отклонения значений интенсивности пикселей может осуществляться по формуле:
[0021] Каждый кадр может быть дополнительно сглажен на этапе (5) согласно любой известной из уровня техники методике сглаживания изображений. В неограничивающем примере сглаживание может проводится гауссовым фильтром, билатеральным фильтром, нелокальным алгоритмом сглаживания и т.д. Данный этап (5) не является обязательным. Далее на этапе (6) создают набор D данных для аппроксимации следующим образом:
где
[0022] представляет собой уровень усиления сенсора камеры, с которым был захвачен соответствующий набор кадров. r2(i,j) представляет собой квадрат относительного расстояния от пикселя с координатами (i, j) или части кадра, указываемой координатами (i,j), до центра кадра, r2(i,j) может именоваться радиусом. представляет собой среднее значение яркости пикселей/частей кадров. Наконец полученный набор данных D аппроксимируют низкопараметрической функцией для получения низкоразмерной параметрической модели шума для сенсора камеры и конвейера обработки изображений, которые были применены при захвате изображений на этапе (2). Примерная низкопараметрическая функция может иметь следующий вид:
где а, b, c, d, е представляют собой коэффициенты аппроксимации.
[0023] Полученная низкоразмерная параметрическая модель F шума может быть сохранена в памяти в любом подходящем для последующего использования виде, например, но без ограничения, в виде таблицы поиска. Если описанное выше генерирование модели F шума выполнялось на внешнем устройстве на основе кадров видео, ранее захваченных камерой конечного устройства пользователя и обработанных его конвейером обработки изображений, сгенерированная модель F шума должна быть дополнительно загружена на такое конечное устройство пользователя для обеспечения возможности ее использования на таком конечном устройстве пользователя для осуществления субпиксельного уточнения векторов движения (например, при захвате/кодировании/декодировании видео на этом устройстве).
[0024] На Фиг. 8 показано графическое представление примерной модели F шума, которая сгенерирована описанной выше последовательностью операций на определенных экспериментальных данных. Такая модель F шума может применяться в способе субписксельного уточнения векторов движения. Прерывистой линией на Фиг. 8 показана аппроксимирующая кривая зависимости уровня шума в единицах яркости от средней яркости части изображения для определенного уровня g усиления сенсора камеры и определенного положения r2(i,j) пикселя/части кадра. Понятно, что модель F шума может включать в себя данные для множества других определенных уровней усиления g сенсора камеры. В таком случае по таким данным можно было бы построить аналогичным фиг. 8 образом множество других аппроксимирующих кривых, подлежащих применению в том или ином случае. Сплошные линии представляют собой кривые, построенные по экспериментальным данным (например для каждого соответствующего набора из М) зависимости уровня шума в единицах яркости от средней яркости части изображения для соответствующего (т.е. того же самого, что и у аппроксимирующей кривой) уровня g усиления сенсора камеры при различных положениях r2(i,j) пикселя/части кадра.
[0025] Таким образом, генерируемая модель F шума способна определять карту Nij шума для произвольного захватываемого кадра при условии, что этот кадр захватывается той же самой камерой и обрабатывается тем же самым конвейером обработки изображений, которые использовались для захвата и обработки изображений, на основе которых генерировалась соответствующая модель шума. Само определение карты шума выполняется за счет прогнозирования стандартных отклонений значений интенсивности пикселей всех частей этого кадра в зависимости от положений соответствующих частей кадра, соответствующих средних значений яркости пикселей, а также от соответствующего уровня усиления g сенсора камеры.
[0026] Применение конфигурируемой заранее для определенного устройства модели шума позволяет минимизировать обработку, подлежащую выполнению при непосредственном использовании данного устройства для осуществления субпиксельного уточнения векторов движения (например при захвате/кодировании/декодировании видео). Указанная минимизация обработки достигается за счет исключения необходимости анализа обрабатываемых изображений для сбора какой-либо статистики непосредственно в процессе использования устройства конечным пользователем. Кроме того, применение предопределенной модели шума позволяет сделать субпиксельное уточнение векторов движения адаптивным к шуму, а указанная адаптивность в свою очередь позволяет повысить точность уточнения векторов движения еще больше.
[0027] Далее описывается неограничивающий пример реализации определения S105 прогнозной карты Nij шума по кадру из упомянутой пары соседних кадров на основе ранее сгенерированной модели F шума и приводится соответствующее математическое описание. Указанный пример и любые приводимые далее математические выражения не следует интерпретировать в качестве ограничивающих, поскольку обычному специалисту после ознакомления с данным раскрытием станут понятны другие возможные модификации реализации определения S105 прогнозной карты шума. Предполагается что все такие модификации, охватываются объемом заявленной формулы настоящего изобретения.
[0028] Предполагается, что пара соседних кадров видео (где w представляет собой ширину канала яркости кадров Y1,Y2, а h представляет собой высоту канала яркости кадров Y1,Y2) уже была получена на этапе S100 устройством пользователя (с определенной камерой) и обработана определенным конвейером обработки изображений, и ранее для такой конфигурации (камера и конвейер обработки изображений) устройства пользователя была получена и сохранена в памяти этого устройства предопределенная модель F шума. Каждый кадр Y1, Y2 может быть дополнительно сглажен любой известной из уровня техники методике сглаживания изображений. В неограничивающем примере сглаживание может проводится гауссовым фильтром, билатеральным фильтром, нелокальным алгоритмом сглаживания и т.д.
[0029] Имея доступной описанную выше информацию, осуществляют определение S105 прогнозной карты Nij шума следующим образом:
где
где Y представляет собой исходный канал яркости;
представляет собой сглаженный и, опционально, подвергнутый понижающему масштабированию канал яркости;
представляет собой среднее значение яркости в рассматриваемой части изображения,
s представляет собой размер квадратной части в пикселях, если рассматривается квадратная часть. Таким образом, для прогнозной карты Ni,j шума средние значения яркости вычисляются уже по сглаженному изображению.
[0030] Карта меньшего шума, иллюстративный пример которой показан на фиг. 9, может определяться, при условии известности прогнозной карты Ni,j шума, следующим образом:
где Т представляет собой р-й процентиль Nij.
[0031] Карта деталей изображения, иллюстративный пример которой показан на фиг. 9, может определяться, при условии известности прогнозной карты Nij шума и значении яркости Yij пикселей, следующим образом (STDEV означает вычисление стандартного отклонения):
[0032] Вернемся к описанию последовательности операций способа по фиг. 1. После выполнения этапа S105 на этапе S110 выполняют поблочную оценку движения между соседними кадрами видео, подвергнутыми понижающему масштабированию. Поблочную оценку движения можно выполнять любым известным из уровня техники способом. Поблочная оценка движения может включать в себя реализацию любого известного алгоритма сопоставления блоков. В варианте осуществления настоящего изобретения поблочная оценка движения соседних кадров видео с квантованием до целочисленных значений пикселей осуществляется выполнением следующей последовательности этапов, на которых: (а) используя поле векторов движения, определенное ранее для предыдущей пары соседних кадров, оценивают поле векторов прямого движения для текущей пары соседних кадров в первом пространственном разрешении; (b) используя полученное оценкой на этапе (а) поле векторов прямого движения, оценивают поле векторов обратного движения для текущей пары соседних кадров в первом пространственном разрешении; (с) используя полученное оценкой на этапе (b) поле векторов обратного движения, оценивают поле векторов прямого движения для текущей пары соседних кадров во втором пространственном разрешении; и (d) используя полученное оценкой на этапе (с) поле векторов прямого движения, оценивают поле векторов обратного движения для текущей пары соседних кадров во втором пространственном разрешении. Причем второе пространственное разрешение больше первого пространственного разрешения. В другом неограничивающем примере поблочная оценка движения может быть осуществлена согласно технологии, описанной в заявке РФ 2020132721 (САМСУНГ ЭЛЕКТРОНИКС КО., ЛТД.), полное раскрытие которой включено в данный документ по этой ссылке.
[0033] Понижающее масштабирование может быть выполнено любым известным из уровня техники способом. В качестве неограничивающих примеров можно использовать передискретизацию по Ланцошу, билинейные или бикубические алгоритмы, блочную выборку, MIР-текстурирование или любую их комбинацию. Блок, который находят оценкой S110 движения, может иметь размер один пиксель или более. В качестве примера блок может представлять собой квадратный блок 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, 128×128, такой блок может иметь другие размеры (например любые промежуточные или большие размеры). В других неограничивающих примерах блок может представлять собой прямоугольный блок 2×4, 4×2, 4×8, 8×4, 8×16, 16×8, 16×32, 32×16, 32×64, 64×32, 64×128, 128×64, 128×256, 256x×28, такой блок может иметь другие размеры (например любые промежуточные или большие размеры). Осуществляемая на этапе S110 оценка движения является целочисленной (или с квантованием значений пикселей до целочисленных значений), поскольку она выполняется с точностью до целого блока пикселей или до целого пикселя, но никогда не переходит в субпиксельный диапазон.
[0034] Далее переходят к выполнению этапа S115, на котором, для блоков кадра, для которых выполняется условие, связанное с шумом, указываемым прогнозной картой Nij шума для этого блока, уточняют вектор движения, связанный с таким блоком, до субпиксельной точности. Блоком, для которого проверяется выполнение условия для определения, целесообразно ли выполнять для блока уточнение вектора движения до субпиксельной точности, может быть блок, из которого указывает найденный вектор движения, и/или блок, в который указывает найденный вектор движения. В дополнительном варианте осуществления настоящего изобретения условие, проверяемое для определения, целесообразно ли выполнять для блока уточнение вектора движения до субпиксельной точности, дополнительно связано с деталями изображения, указываемыми для этого блока картой деталей изображения, получаемой на основе прогнозной карты Nij шума. Иллюстративные примеры зашумленного изображения Y и полученной карты деталей изображения показаны на фиг. 9.
[0035] Подробная схема последовательности операций уточнения S115 вектора движения до субпиксельной точности в способе согласно первому варианту осуществления настоящего изобретения показана на фиг. 2. Уточнение S115 связанного с блоком вектора движения начинается с выполнения подэтапа S115.1, на котором вычисляют метрики различия между блоком, в который указывает найденный ранее вектор движения, и каждым блоком из по меньшей мере k блоков, соседствующих с таким блоком. Метрикой различия может быть любая известная из уровня техники метрика, например, сумма абсолютных разностей (SAD), среднеквадратическая ошибка (MSE), пиковое отношение сигнал/шум (PSNR), индекс структурного сходства (SSIM) и т.д. Под термином 'метрика различия' здесь и далее следует понимать в том числе и метрику сходства изображений, которая может быть выражена обратной по отношению к метрике различия величиной. Каждый соседствующий блок из по меньшей мере k блоков, используемых при вычислении S115.1 метрики различия, является блоком, который имеет аналогичную форму, высоту и ширину в пикселях, что и блок, в который указывает упомянутый вектор движения. Это может быть желательным для обеспечения сопоставимости сравниваемых частей изображения. Кроме того, каждый соседствующий блок из по меньшей мере k блоков, используемых при вычислении S115.1 метрики различия, может быть блоком, который не перекрывается с блоком, в который указывает упомянутый вектор движения, или блоком, который перекрывается с блоком, в который указывает упомянутый вектор движения, по меньшей мере частично.
[0036] Далее переходят к выполнению подэтапа S115.2, на котором классифицируют весь массив вычисленных метрик различия в один из по меньшей мере двух классов с помощью классификатора. В одном варианте осуществления классификатор может реализовываться за счет применения эмпирически установленного предопределенного порогового значения, используемого для сравнения с усредненной метрикой различия, получаемой усреднением всего массива вычисленных метрик различия. При такой реализации классификатора если усредненная метрика различия больше или равна предопределенному пороговому значению классификацией определяется первый класс, если усредненная метрика различия меньше предопределенного порогового значения классификацией определяется второй класс, или наоборот. В других вариантах осуществления классификатор может быть реализован как любой известный из уровня техники классификатор, например, как классификатор, основанный на линейной регрессии, машине опорных векторов, решающих деревьях, нейронной сети. В таких вариантах осуществления обучение классификатора может проводиться исходя из проведенного в офлайн-режиме (т.е. до фактического использования устройства конечным пользователем) вычислительного эксперимента, исходя из статистики собранной экспериментальным путем в офлайн-режиме или исходя из синтезированных в офлайн-режиме обучающих данных, или и т.д.
[0037] Определяемый классификатором на подэтапе S115.2 класс указывает способ нахождения субписксельного смещения найденного ранее вектора движения в область кадра, которая обладает минимальным различием/максимальным сходством с блоком, из которого этот вектор движения указывает. Предполагается, что область кадра, в которую найденное субпиксельное смещение вектора движения указывает, имеет по существу аналогичную форму и размер, что и блок, из которого этот вектор движения указывает (т.е. блок, для которого найденный вектор движения уточняется), для обеспечения сопоставимости частей изображения при определении минимального различия/максимального сходства. Способом нахождения субписксельного смещения вектора движения является либо указываемая одним классом равноугольная одномерная аппроксимация зависимости метрики различия от субпиксельного смещения, рассматриваемая в одном или в нескольких направлениях (описываемая ниже со ссылкой на фиг. 6), либо указываемая другим классом двумерная аппроксимация конической поверхностью зависимости метрики различия от субпиксельного смещения (описываемая ниже со ссылкой на фиг. 7).
[0038] Далее на подэтапе S115.3 находят (вычисляют) субпиксельное смещение вектора движения тем способом, который указан определенным классом, и на подэтапе S115.4 верифицируют найденное субпиксельное смещение вектора движения. В качестве неограничивающего примера на подэтапе S115.4 проверяют, не указывает ли найденное субпиксельное смещение за пределы допустимого диапазона, задаваемого, например, окном определения метрик различия/метрик сходства, пример которого проиллюстрирован на фиг. 5, и/или, не является ли найденное субпиксельное смещение по существу нулевым. В случае, если найденное субпиксельное смещение вектора движения верифицируется успешно (т.е. не выходит за пределы допустимого диапазона и/или не является по существу нулевым), на подэтапе 115.5-1 уточняют вектор движения на основе найденного субпиксельного смещения вектора движения. Уточнение вектора движения на основе успешно верифицированного субпиксельного смещения имеет формат числа с плавающей запятой или формат числа с фиксированной запятой. В случае, если найденное субпиксельное смещение вектора движения не верифицируется успешно, на подэтапе 115.5-2 пропускают уточнение вектора движения на основе найденного субпиксельного смещения вектора движения.
[0039] Далее описывается неограничивающий пример реализации уточнения S115 вектора движения и приводится соответствующее математическое описание. Указанный пример и любые приводимые далее математические выражения не следует интерпретировать в качестве ограничивающих, поскольку обычному специалисту после ознакомления с данным раскрытием станут понятны другие возможные модификации реализации уточнения S115 вектора движения. Предполагается что все такие модификации, охватываются объемом заявленной формулы настоящего изобретения.
[0040] Уточнение вектора движения блока, которым может являться пиксель (в варианте, когда поблочная оценка движения на этапе S110 является попиксельной, т.е. когда размер блока равняется одному пикселю) с координатами (i, j) или часть кадра в положении, указываемом координатами (i, j), может осуществляться только в случае, когда для этого блока выполняется некоторое условие. Это условие может быть связано с шумом и/или деталями изображения. Примером условия связанным и с шумом, и с деталями изображения является , где пороговое значение threshold1 может быть выбираться из диапазона от 0 до 2, в предпочтительном варианте осуществления threshold1 = 1 Примером условия, связанного только с шумом, является , где пороговое значение threshold2 может выбираться из диапазона от 0 до 1, в предпочтительном варианте осуществления threshold2 = 0,5. Примером условия, связанного только с деталями изображения, является , где пороговое значение thresholds может выбираться из диапазона от 0 до 1, в предпочтительном варианте осуществления threshold3 = 0,5. Логическим обоснованием применения таких условий является то, что в некоторых блоках кадров уточнение найденных для них векторов движения не является целесообразным, поскольку в них слишком много шума (т.е. в этих блоках никакое уточнение не поможет, см., например, область темной вазы на заднем плане в примерной карте уточнения движения, проиллюстрированной на фиг. 9) и/или в них отсутствуют какие-либо значимые детали изображения (см., например, однотонную область дивана в правом нижнем углу примерной карты уточнения движения, проиллюстрированной на фиг. 9).
[0041] Проверка выполнения, описанного выше условия, может осуществляться для каждого блока, найденного на этапе S110 оценкой движения. В случае выполнения для некоторого блока такого условия, вектор движения найденный для этого блока уточняют, в противном случае - вектор движения найденный для этого блока не уточняют. Само уточнение в общем включает в себя следующие этапы: (1) вычисление k≥9 метрик различия/метрик сходства между блоком-кандидатом Мij наилучшего найденного на этапе S110 движения (Dx, Dy) и соседними в пространстве блоками (целыми (когда поблочная оценка движения на этапе S110 является попиксельной) и/или перекрывающимися с блоком-кандидатом Мij (когда блоки оцениваемого на этапе S110 движения состоят из по меньшей мере двух пикселей)), (2) подбор функции Lx, которая аппроксимирует значения найденных k≥9 метрик различия/метрик сходства и (3) вычисление уточненного вектора движения как:
где argmin является аргументом минимизации, вычисляемым аналитически из параметра подобранной функции Lх и обеспечивающим субпиксельное значение уточняемого вектора движения. Достижимым при таком уточнении субпиксельным диапазоном является диапазон от ~1/2 пикселя до ~1/16 пикселя.
[0042] Как указано выше, на этапе подэтапе S115.2 используется описанный выше классификатор, который указывает наиболее подходящий (для вычисленных k≥9 метрик различия/метрик сходства) способ нахождения субписксельного смещения вектора движения. Одним указываемым способом является (а) равноугольная одномерная аппроксимация зависимости метрики различия от субпиксельного смещения, рассматриваемая в одном или в нескольких направлениях, а другим способом является (b) двумерная аппроксимация конической поверхностью зависимости метрики различия от субпиксельного смещения.
[0043] Далее со ссылкой на фиг. 6 описывается неограничивающий пример реализации способа (а) равноугольной одномерной аппроксимации зависимости метрики различия от субпиксельного смещения, рассматриваемой в одном или в нескольких направлениях. Указанный пример и любые приводимые далее математические выражения не следует интерпретировать в качестве ограничивающих, поскольку обычному специалисту после ознакомления с данным раскрытием станут понятны другие возможные модификации данной реализации. Предполагается что все такие модификации, охватываются объемом заявленной формулы настоящего изобретения.
[004 4] Способ (а) начинается с (1) выбора одного или нескольких направлений, в которых имеется максимальный градиент метрики различия/метрики сходства. На фиг. 5 возможные направления указаны стрелочками от текущего блока. На фиг. 5 одна клетка может представлять собой один пиксель или блок из двух или более пикселей. Затем (2) осуществляют поиск субпиксельных смещений dm, dn вдоль линии убывания метрики различия или линии возрастания метрики сходства. На фиг. 6 для примера показаны жирными точками три значения метрики различия, полученные вдоль выбранного направления (например, направления АА на фиг. 5); из опыта известно, что линия убывания метрики различия наилучшим образом аппроксимируется равноугольными отрезками, показанными на Фиг. 6 жирной и тонкой линиями; тогда находящаяся в самом низу точка (к которой подходит более тонкая линия, являющаяся продолжением жирной линии, и после прохождения которой метрика различия начинает снова возрастать) является искомой точкой, в которой обеспечивается минимальная метрика различия, указываемая по оси у, и для которой по оси х определяются необходимые смещения dm, dn. Для случая, когда каждая клетка, показанная на фиг. 5, является одним пикселем, диапазоны субпиксельных смещений задаются как -1≤dm≤1 и -1≤dn≤1 для одного или нескольких выбранных направлений. В других случаях указанные диапазоны могут быть скорректированы надлежащим образом.
[0045] Наконец, после нахождения смещений dm, dn, (3) вычисляют уточненный до субпиксельной точности вектор движения. Для прямых направлений (например АА, СС на фиг. 5) данное вычисление (3) может проводится следующим образом:
[0046] А для диагональных направлений (например, ВВ, DD на фиг. 5) данное вычисление (3) может проводится следующим образом:
[0047] Далее со ссылкой на фиг. 7 описывается неограничивающий пример реализации способа (b) двумерной аппроксимации конической поверхностью зависимости метрики различия от субпиксельного смещения. Указанный пример и любые приводимые далее математические выражения не следует интерпретировать в качестве ограничивающих, поскольку обычному специалисту после ознакомления с данным раскрытием станут понятны другие возможные модификации данной реализации. Предполагается что все такие модификации, охватываются объемом заявленной формулы настоящего изобретения.
[004 8] Аппроксимация конической поверхностью может быть выполнена согласно следующему уравнению:
где
Ld представляет собой целевую функцию для аппроксимации конической поверхностью, сведенную к задаче линейной регрессии;
а0…а5 представляют собой искомые коэффициенты линейной регрессии;
S0 представляет собой предварительную оценку значения минимальной метрики различия при условии идеального субпиксельного уточнения вектора движения;
S1…Sk представляют собой известные значения метрики различия для соответствующего блока 1…k.
X1…xk представляют собой целочисленные абсциссы координат наилучшего блока-кандидата, найденного на этапе S110, и соседних k-1 блоков;
y1…yk представляют собой целочисленные ординаты координат наилучшего блока-кандидата, найденного на этапе S110, и соседних k-1 блоков;
[0049] В неограничивающем примере (1а) реализации на этапе (1) предполагают значение S0 равное половине минимального значения метрик различия среди k-кандидатов. В другом примере (1b) реализации на этапе (1) предполагают значение S0 получаемое из прогнозной карты Nij шума, полученной на этапе S105, например, путем линейного преобразования прогнозного значения шума в окрестности наилучшего блока-кандидата, например, с коэффициентом от 0,75 до 1,50 и смещением около 0.
[0050] Затем, на этапе (2) осуществляют поиск вектора коэффициентов линейной регрессии А методом наименьших квадратов, решая следующую систему уравнений:
где
X представляет собой прямоугольную матрицу, составленную из известных значений целочисленных координат наилучшего блока-кандидата, найденного на этапе S110, и соседних k-1 блоков;
представляет собой вектор известных значений метрики различия среди к кандидатов;
Y представляет собой вектор известных значений метрики различия среди к кандидатов, смещенный на величину S0, определяемую согласно описанному выше примеру (1а);
где А представляет собой искомый вектор коэффициентов линейной регрессии. Для нахождения искомого вектора А (18) применяют известное в технике уравнение для аналитического решения задачи линейной регрессии:
[0051] Когда вектор А найден, проверяют (3) первую и вторую производные функции Ld с найденными коэффициентами А в точке с координатами наилучшего блока-кандидата, найденного на этапе S110. Известно, что аналитическая функция имеет экстремум в точке, где производная функции равняется 0. Также известно, что если вторая производная в точке экстремума положительна, то экстремум является, по меньшей мере, локальным минимумом функции. Если обе производные больше 0, переходят на этап (4), в противном случае делают вывод о недостоверности вычисления субпиксельного смещения по способу (b) двумерной аппроксимации конической поверхностью и переходят на этап (5). На этапе (4) подставляют коэффициенты в уравнение первой производной и решают уравнение. Решением уравнения является субпиксельное смещение, проиллюстрированное на фиг. 7. На этапе (5) разбивают задачу на восемь задач, каждая из которых решается описанным выше способом (а) равноугольной одномерной аппроксимации. По найденным коэффициентам находят минимальное значение S, подставляя координаты х, у границы (слева, справа, сверху, снизу, углы). Альтернативные функции потерь, которые могут использоваться для аппроксимации конической поверхностью, могут быть выражены через следующие выражения:
[0052] На Фиг. 3 показана схема последовательности операций способа субписксельного уточнения векторов движения согласно второму варианту осуществления настоящего изобретения. Второй вариант осуществления главным образом отличается от первого варианта осуществления настоящего изобретения тем, что во втором варианте осуществления не используется предопределенная модель шума и не применяется прогнозная карта шума. В остальном аспекты второго варианта осуществления настоящего изобретения могут соответствовать соответствующим аспектам первого варианта осуществления. Поэтому подробное описание соответствующих аспектов второго варианта осуществления повторно здесь не приводится.
[0053] Настоящее изобретение может применяться во многих технических сферах и приложениях. Далее приводятся возможные примерные применения описанной выше технологии субпиксельного уточнения векторов движения.
[0054] Временное шумоподавление (TNR). Далее кратко описывается последовательность основных этапов TNR: (1) помещают по меньшей мере один входной кадр в буфер FB0 кадров; (2) осуществляют предобработку входного кадра, в том числе, например, масштабирование с коэффициентом s1, и его помещение в буфер FBI кадров, и осуществляют предобработку входного кадра, в том числе, например, масштабирование с коэффициентом s2, и его помещение в буфер FB2 кадров; (3) выполняют оценку МЕ1 движения; (4) выполняют оценку МЕ2 движения, используя оценку МЕ1 движения в качестве прогноза движения; (5) выполняют блочную эрозию BE шума; (6) вычисляют прогнозную карту шума для первого масштабированного кадра с использованием заранее полученной предопределенной модели шума; (7) выполняют субпиксельное уточнение движения для той части кадра, для которой прогноз шума находится ниже порогового уровня Т1; (8) выполняют компенсацию движения МС входного кадра, используя поле MV, полученное на этапе (7), в том числе, например, обнаружение окклюзий, коррекцию окклюзий, интерполяционное переназначение пикселей; (9) выполняют временную фильтрацию, используя кадр с компенсацией движения, полученный на этапе (8), и по меньшей мере один кадр из буфера FB0 кадров. Опционально далее можно обновить FB0 TNR-результатом и/или осуществить пост-обработку TNR-результата, в том числе, например, его пространственную фильтрацию. По меньшей мере указанные выше этапы (6)-(7) могут выполняться согласно технологии, описанной в настоящей заявке.
[0055] Повышающее частоту кадров преобразование (FRUC). Далее кратко описывается последовательность основных этапов FRUC: (1) помещают по меньшей мере один входной кадр в буфер FBI кадров; (2) осуществляют предобработку входного кадра, в том числе, например, масштабирование с коэффициентом s1, и его помещение в буфер FB2 кадров; (3) выполняют оценку ME движения; (4) выполняют блочную эрозию BE; (5) вычисляют прогнозную карту шума для масштабированного кадра с использованием заранее полученной предопределенной модели шума; (6) выполняют субпиксельное уточнение движения для той части кадра, для которой прогноз шума находится ниже порогового уровня Т1; (7) копируют результат ME в буфер MB движения; (8) выполняют компенсацию движения МС входного кадра, используя поле MV, полученное на этапе (7), в том числе, например, обнаружение окклюзий, коррекцию окклюзий, интерполяционное переназначение пикселей; (9) копируют интерполированный кадр в буфер выходного потока. По меньшей мере указанные выше этапы (5)-(6) могут выполняться согласно технологии, описанной в настоящей заявке. В качестве еще одного неограничивающего примера технология, описанная в настоящей заявке, может применяться в технологии преобразования частоты кадров, описанной в заявке РФ 2022111860 (САМСУНГ ЭЛЕКТРОНИКС КО., ЛТД.), полное раскрытие которой включено в данный документ по этой ссылке.
[0056] Другие технические сферы и приложениях, в которых может найти применение описанная выше технология субпиксельного уточнения векторов движения, включают в себя: оценку структуры по движению (SfM) и 3D реконструкцию, отслеживание объектов в видео, сжатие видео, оценку плотного оптического потока, которая является частью ядра API многих экосистем (Nvidia IP и OF SDK, Apple Vision и Corelmage и т.д.). Таким образом, технология, описанная в настоящей заявке может найти широкое применение в обработке видео, применяемой в режиме реального времени на ресурсно-ограниченных устройствах (например мобильные телефоны, планшеты, телевизоры), например при воспроизведении видео, при осуществлении видеозвонка, при преобразовании видео во время его захвата, а также данная технология может легко адаптироваться к новым сценариям использования с особыми требованиями к обработке видео.
[0057] Технические эксперименты, проведенные авторами настоящего изобретения на мобильных устройствах с ограниченными вычислительными ресурсами, подтверждают сокращение времени выполнения предложенного способа субпиксельного уточнения в среднем на 4,6 мс, а также улучшение PSNR-отношения в среднем на 0,8 дБ. Более подробные сведения о проведенных экспериментах и полученных экспериментальных данных могут быть предоставлены при необходимости.
[0058] На Фиг. 4 показано схематичное представление вычислительного устройства 300 пользователя согласно третьему варианту осуществления настоящего изобретения. Вычислительное устройство 300 содержит камеру/ISP 300.1, процессор 300.2 и память 300.3, соединенные между собой двунаправленными линиями передачи сигналов, данных и исполняемых инструкций. Процессор 300.2 может содержать блок субписксельного уточнения векторов движения, а также, например, блок кодера/декодера видео. Блок субписксельного уточнения векторов движения может быть выполнен с возможностью, при исполнении исполняемых процессором инструкций, осуществления любого описанного выше способа или осуществления любого одного или нескольких аспектов любого описанного выше способа. Неограничивающие примеры вычислительного устройства 300 включают в себя любое электронное устройство, например, смартфон, планшет, компьютер, телевизор, ТВ-приставку, медицинское оборудование, цифровую камеру и т.д. В неограничивающем сценарии работы устройства 300, камера 300.1 получает по меньшей мере пару соседних кадров видео, а блок субписксельного уточнения векторов движения обрабатывает эти кадры согласно раскрытому в данной заявке способу или согласно любому аспекту раскрытого в данной заявке способа.
[0059] Процессор 300.2 может вызывать и выполнять компьютерные программы из памяти 300.3 для выполнения раскрытого способа. Процессор 300.2 может включать в себя один или несколько процессоров. Этими одним или несколькими процессорами может быть один или несколько следующих процессоров: процессор общего назначения (например, CPU), прикладной процессор (АР), графический процессор (GPU), визуальный процессор (VPU), специализированный AI-процессор (например, NPU). Аппаратно процессор 300.2 может быть реализован как процессор цифровых сигналов (DSP), система на кристалле (SOC), специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (FPGA) или как другое программируемое логическое устройство (PLD), дискретный логический элемент, транзисторная логика, дискретные аппаратные компоненты, либо как любая комбинация вышеперечисленного. Кроме того, процессор общего назначения может представлять собой микропроцессор, контроллер, микроконтроллер или конечный автомат. Процессор также может реализовываться как комбинация вычислительных устройств (к примеру, комбинация DSP и микропроцессора, несколько микропроцессоров, один или более микропроцессоров вместе с DSP-ядром, либо как любая другая подобная конфигурация).
[0060] Память 300.3 может содержать как оперативную память (RAM), так и постоянную память (ROM). Память 300.3 может представлять собой отдельное от процессора 300.2 устройство(а) или может быть интегрирована в процессор 300.2. Неограничивающие примеры постоянной памяти включают в себя обычную постоянную память (ROM), программируемую постоянную память (PROM), стираемую программируемую постоянную память (EPROM), электронно-стираемую программируемую постоянную память (EEPROM) или флэш-память. Неограничивающие примеры оперативной памяти включают в себя обычную оперативную память (RAM), статическую память с произвольным доступом (SRAM), динамическую память с произвольным доступом (DRAM), синхронную динамическую память с произвольным доступом (синхронную DRAM, SDRAM), синхронную динамическую памятью с произвольной выборкой с двойной скоростью передачи данных (SDRAM с двойной скоростью передачи данных, DDR SDRAM), синхронную динамическую памятью с произвольной выборкой с повышенной скоростью (улучшенную SDRAM, ESDRAM), DRAM с синхронной линией связи (SLDRAM) и оперативную память с шиной прямого доступа (DR RAM).
[0061] Информация и сигналы, описанные в данном документе, могут представляться с помощью любой из множества различных технологий. Например, данные, инструкции, команды, информация, сигналы, биты, символы и элементарные сигналы, которые могут приводиться в качестве примера в вышеприведенном описании, могут представляться посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц либо любой комбинации вышеозначенного.
[0062] Функции, описанные в данном документе, могут реализовываться в аппаратных средствах, программном обеспечении, выполняемом посредством процессора, микропрограммном обеспечении или в любой комбинации вышеозначенного. При реализации в программном обеспечении, выполняемом посредством процессора, функции могут сохраняться или передаваться как одна или более инструкций, или код на компьютерно-читаемом носителе. Другие примеры и реализации находятся в пределах объема раскрытия настоящего изобретения. Например, вследствие характера программного обеспечения, функции, описанные выше, могут реализовываться с использованием программного обеспечения, выполняемого посредством процессора, аппаратных средств, микропрограммного обеспечения, фиксированного блока или комбинаций любого из вышеозначенного. Признаки, реализующие функции, также могут физически находиться в различных позициях, в том числе согласно такому распределению, что части функций реализуются в различных физических местоположениях.
[0063] Компьютерно-читаемые носители включают в себя как некратковременные компьютерные носители хранения данных, так и среду связи, включающую в себя любую передающую среду, которая упрощает перемещение компьютерной программы из одного места в другое. Некратковременный носитель хранения данных может представлять собой любой доступный носитель, к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения. В качестве примера, а не ограничения, некратковременные компьютерно-читаемые носители могут содержать оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, ROM на компакт-дисках (CD) или другое устройство хранения данных на оптических дисках, устройство хранения данных на магнитных дисках или другие магнитные устройства хранения, либо любой другой некратковременный носитель, который может использоваться для того, чтобы переносить или сохранять требуемое средство программного кода в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения либо процессора общего назначения или специального назначения.
[0064] Следует понимать, что в настоящем документе показаны принцип работы и базовые варианты способа субписксельного уточнения векторов движения и реализующего его устройства 300. Но специалист в данной области техники, используя раскрытые принципы, сможет получить и другие варианты осуществления или модификации настоящего изобретения, не прикладывая творческих усилий.
[0065] Следует понимать, что хотя в настоящем документе для описания различных элементов, компонентов, блоков, областей, частей, классов могут использоваться такие термины, как "первый", "второй", "третий" и т.п., эти элементы, компоненты, блоки, области, части, классы не должны ограничиваться этими терминами. Эти термины используются только для того, чтобы отличить один элемент от другого. Так первый класс может быть назван вторым классом без выхода за рамки объема настоящего изобретения. В настоящем описании термин "и/или" включает любые и все комбинации из одной или более из соответствующих перечисленных позиций. Элементы, упомянутые в единственном числе, не исключают множественности таких элементов, если отдельно не указано иное. Кроме того, любые конкретные числовые значения, указанные в данной заявке, не следует рассматривать в качестве конкретного ограничения, поскольку после ознакомления с данным раскрытием обычному специалисту станут понятны другие возможные, скорректированные значения, которые могут быть использованы. Вместо этого, если указано конкретное числовое значение, его следует рассматривать в качестве значения середины допустимого диапазона, который может составлять, в зависимости от аппаратных требований и требований к качеству картинки, +0,01-40% от упомянутого значения середины допустимого диапазона.
[0066] Функциональность элемента, указанного в описании или формуле изобретения как единый элемент, может быть реализована на практике посредством нескольких компонентов устройства, и наоборот, функциональность элементов, указанных в описании или формуле изобретения как несколько отдельных элементов, может быть реализована на практике посредством единого компонента.
[0067] В одном варианте осуществления элементы/блоки предложенного устройства 300 находятся в общем корпусе, размещены на одной раме/конструкции/подложке/печатной плате и связаны друг с другом конструктивно посредством монтажных (сборочных) операций и функционально посредством линий связи. Упомянутые линии или каналы связи, если не указано иное, являются стандартными, известными специалистам линиями связи, материальная реализация которых не требует творческих усилий. Линией связи может быть провод, набор проводов, шина, дорожка, беспроводная линия связи (индуктивная, радиочастотная, инфракрасная, ультразвуковая и т.д.). Протоколы связи по линиям связи известны специалистам и отдельно не раскрываются.
[0068] Под функциональной связью элементов следует понимать связь, обеспечивающую корректное взаимодействие этих элементов друг с другом и реализацию той или иной функциональности элементов. Частными примерами функциональной связи может быть связь с возможностью обмена информацией, связь с возможностью передачи электрического тока, связь с возможностью передачи света и т.д. Конкретный вид функциональной связи определяется характером взаимодействия упомянутых элементов, и, если не указано иное, обеспечивается широко известными средствами, используя широко известные в технике принципы.
[0069] Несмотря на то, что примерные варианты осуществления были подробно описаны и показаны на сопроводительных чертежах, следует понимать, что такие варианты осуществления являются лишь иллюстративными и не предназначены ограничивать настоящее изобретение, и что данное изобретение не должно ограничиваться конкретными показанными и описанными компоновками и конструкциями, поскольку специалисту в данной области техники на основе информации, изложенной в описании, и знаний уровня техники могут быть очевидны различные другие модификации и варианты осуществления изобретения, не выходящие за пределы сущности и объема данного изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ПРЕОБРАЗОВАНИЯ ЧАСТОТЫ КАДРОВ, ПОДДЕРЖИВАЮЩИЙ ЗАМЕНУ ИНТЕРПОЛЯЦИИ КАДРА С КОМПЕНСАЦИЕЙ ДВИЖЕНИЯ ЛИНЕЙНОЙ КОМБИНАЦИЕЙ КАДРОВ, И РЕАЛИЗУЮЩЕЕ ЕГО УСТРОЙСТВО | 2022 |
|
RU2786784C1 |
УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ РАССТОЯНИЯ И СКОРОСТЕЙ ОБЪЕКТОВ НА ОСНОВЕ СТЕРЕОПОДХОДА | 2012 |
|
RU2582853C2 |
УСТРОЙСТВО И СПОСОБ ПРОГНОЗИРУЕМОЙ АВТОФОКУСИРОВКИ ДЛЯ ОБЪЕКТА | 2021 |
|
RU2778355C1 |
СПОСОБ МЕЖКАДРОВОГО ПРОГНОЗИРОВАНИЯ ДЛЯ КОДИРОВАНИЯ МНОГОРАКУРСНОЙ ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ | 2012 |
|
RU2506712C1 |
Навигационная комбинированная оптическая система | 2018 |
|
RU2694786C1 |
РАННЕЕ ПРЕКРАЩЕНИЕ УТОЧНЕНИЯ ОПТИЧЕСКОГО ПОТОКА | 2020 |
|
RU2808608C2 |
ИЗМЕРЕНИЕ ТЕЛА | 2013 |
|
RU2635226C2 |
Устройство, способ и компьютерная программа для трехмерного видеокодирования | 2013 |
|
RU2611240C2 |
СПОСОБ ВЫЧИСЛЕНИЯ ПОЗИЦИИ ОПОРНОЙ ВЫБОРКИ ЦЕЛОЧИСЛЕННОЙ СЕТКИ ДЛЯ ВЫЧИСЛЕНИЯ ГРАДИЕНТА ГРАНИЧНОЙ ВЫБОРКИ БЛОЧНОГО УРОВНЯ В ВЫЧИСЛЕНИИ ОПТИЧЕСКОГО ПОТОКА С ДВОЙНЫМ ПРЕДСКАЗАНИЕМ И КОРРЕКЦИИ С ДВОЙНЫМ ПРЕДСКАЗАНИЕМ | 2020 |
|
RU2820638C2 |
СИСТЕМА И СПОСОБ ДЛЯ ВРЕМЕННОГО ДОПОЛНЕНИЯ ВИДЕО | 2014 |
|
RU2560086C1 |
Изобретение относится к области обработки видеоданных, в частности к субпиксельному уточнению векторов движения. Техническим результатом является уменьшение времени обработки и вычислительной сложности процесса субпиксельного уточнения векторов движения для обеспечения реализации на ресурсно-ограниченных устройствах. Предложены способы, вычислительное устройство и машиночитаемый носитель для субпиксельного уточнения векторов движения, которые выполняют этапы: получение кадров видео, определение прогнозной карты шума по кадру из упомянутой пары соседних кадров на основе предопределенной модели шума, выполнение поблочной оценки движения между кадрами видео, подвергнутыми понижающему масштабированию, и в случае выполнения для блока условия, связанного по меньшей мере с шумом, указываемым прогнозной картой шума для этого блока, уточнение вектора движения, связанного с таким блоком, до субпиксельной точности. Способом нахождения субпиксельного смещения вектора движения является либо равноугольная одномерная аппроксимация зависимости метрики различия от субпиксельного смещения, рассматриваемая в одном или в нескольких направлениях, либо двумерная аппроксимация конической поверхностью зависимости метрики различия от субпиксельного смещения. 4 н. и 8 з.п. ф-лы, 9 ил.
1. Способ субпиксельного уточнения векторов движения, содержащий этапы, на которых:
получают (S100) пару соседних кадров видео;
определяют (S105) прогнозную карту шума по кадру из упомянутой пары соседних кадров на основе предопределенной модели шума;
выполняют (S110) поблочную оценку движения между соседними кадрами видео, подвергнутыми понижающему масштабированию; и
в случае выполнения для блока условия, связанного с шумом, указываемым прогнозной картой шума для этого блока, уточняют (S115) вектор движения, связанный с таким блоком, до субпиксельной точности, при этом
уточнение (S115) связанного с блоком вектора движения до субпиксельной точности содержит подэтапы, на которых:
вычисляют (S115.1) метрики различия между блоком, в который указывает этот вектор движения, и каждым блоком из по меньшей мере k блоков, соседствующих с таким блоком;
классифицируют (S115.2) массив вычисленных метрик различия в один из по меньшей мере двух классов с помощью классификатора, причем определенный классификатором класс указывает способ нахождения субпиксельного смещения этого вектора движения в область кадра, которая обладает минимальным различием с блоком, из которого указывает этот вектор движения;
находят (S115.3) субпиксельное смещение вектора движения тем способом, который указан определенным классом;
верифицируют (S115.4) найденное субпиксельное смещение вектора движения, и
в случае если найденное субпиксельное смещение вектора движения верифицировано успешно, уточняют (S115.5-1) вектор движения на основе найденного субпиксельного смещения вектора движения, или
в случае если найденное субпиксельное смещение вектора движения не верифицировано успешно, пропускают (S115.5-2) уточнение вектора движения на основе найденного субпиксельного смещения вектора движения, и
при этом способом нахождения субпиксельного смещения вектора движения является либо равноугольная одномерная аппроксимация зависимости метрики различия от субпиксельного смещения, рассматриваемая в одном или в нескольких направлениях, либо двумерная аппроксимация конической поверхностью зависимости метрики различия от субпиксельного смещения.
2. Способ по п.1, в котором предопределенную модель шума получают заранее для определенного сенсора камеры и применяемого конвейера обработки изображений посредством выполнения этапов, на которых:
захватывают, используя упомянутый сенсор камеры и применяемый конвейер обработки изображений, множество наборов кадров, причем кадры каждого набора захватывают в статическом положении для статической сцены с фиксированным освещением, экспозицией, чувствительностью сенсора и фокусом, причем по меньшей мере одно из статического положения, статической сцены, освещения, экспозиции, чувствительности сенсора и фокуса в одном наборе кадров отличаются от такового в любом другом наборе кадров;
задают множество частей в каждом кадре каждого набора и определяют положение каждой части в кадре;
между частями кадров в одном и том же положении в каждом наборе кадров определяют следующие характеристики:
- стандартное отклонение значений интенсивности пикселей;
- среднее значение яркости пикселей; и
- уровень усиления сенсора камеры при захвате кадра; и
аппроксимируя определенные положения частей кадров и определенные в них характеристики низкопараметрической функцией получают низкоразмерную параметрическую модель шума, выполненную с возможностью определения прогнозной карты шума для произвольного кадра, захватываемого с помощью определенного сенсора камеры и применяемого конвейера обработки изображений.
3. Способ по п.2, в котором положение каждой части в кадре определяют как относительное расстояние рассматриваемой части кадра от центра кадра.
4. Способ по п.1, в котором прогнозную карту шума определяют (S105) для каждой части кадра посредством прогнозирования стандартных отклонений значений интенсивности пикселей этой части этого кадра в зависимости от положения этой части кадра и среднего значения интенсивности пикселей этой части кадра, а также от уровня усиления сенсора камеры при захвате соответствующего кадра.
5. Способ по п.1, в котором условие, проверяемое для определения, целесообразно ли выполнять для блока уточнение вектора движения до субпиксельной точности, дополнительно связано с деталями изображения, указываемыми для этого блока картой деталей изображения, получаемой на основе прогнозной карты шума.
6. Способ по п.1, в котором каждый соседствующий блок из по меньшей мере k блоков, используемых при вычислении (S115.1) метрики различия, является блоком, который имеет аналогичную форму, высоту и ширину в пикселях, что и блок, в который указывает упомянутый вектор движения.
7. Способ по п.1, в котором каждый соседствующий блок из по меньшей мере k блоков, используемых при вычислении (S115.1) метрики различия, является блоком, который не перекрывается с блоком, в который указывает упомянутый вектор движения, или перекрывается с блоком, в который указывает упомянутый вектор движения, по меньшей мере частично.
8. Способ по п.1, в котором блоком, для которого проверяется выполнение условия для определения, целесообразно ли выполнять для блока уточнение вектора движения до субпиксельной точности, является блок, из которого указывает найденный вектор движения, и/или блок, в который указывает найденный вектор движения.
9. Способ по п.1, в котором блок, получаемый разбиением кадра при оценке (S110) движения, имеет размер в один пиксель или более.
10. Способ субпиксельного уточнения векторов движения, содержащий этапы, на которых:
получают (S200) пару соседних кадров видео;
выполняют (S205) поблочную оценку движения между соседними кадрами видео;
определяют (S210) для каждого найденного вектора движения способ нахождения субпиксельного смещения на основе метрик различия между блоком, в который указывает такой вектор движения, и одним или более блоками, соседствующими с упомянутым блоком, причем определяемым способом нахождения субпиксельного смещения является либо равноугольная одномерная аппроксимация зависимости метрики различия от субпиксельного смещения, рассматриваемая в одном или в нескольких направлениях, либо двумерная аппроксимация конической поверхностью зависимости метрики различия от субпиксельного смещения;
находят (S215) для каждого вектора движения субпиксельное смещение в соответствии со способом нахождения субпиксельного смещения, определенным для такого вектора движения; и
в случае если найденное для вектора движения субпиксельное смещение верифицируется успешно и/или не равняется нулю, уточняют (S220) этот вектор движения до субпиксельной точности на основе такого субпиксельного смещения.
11. Вычислительное устройство (300) пользователя, содержащее камеру (300.1), выполненную с возможностью захвата видеоизображений, и процессор (300.2), выполненный с возможностью, при исполнении сохраненных в памяти (300.3) исполняемых процессором инструкций, осуществления в отношении по меньшей мере двух захваченных видеоизображений способа субпиксельного уточнения векторов движения по любому из пп.1-9 или 10.
12. Считываемый компьютером запоминающий носитель, хранящий исполняемые компьютером инструкции, которые, при исполнении компьютером, побуждают компьютер к выполнению способа субпиксельного уточнения векторов движения по любому из пп.1-9 или 10.
US 2018061063 A1 - 2018.03.01 | |||
JANA EHMANN еt al., Real-Time Video Denoising on Mobile Phones, 25th IEEE International Conference on Image Processing (ICIP 2018), 07-10 October 2018 | |||
JINCHANG REN еt al., High-Accuracy Sub-Pixel Motion Estimation From Noisy Images in Fourier Domain, IEEE Transactions on Image Processing, vol.19, N5, May 2010 | |||
S |
Авторы
Даты
2023-09-11—Публикация
2022-11-21—Подача