ОБРАБОТКА ДАННЫХ ДЛЯ СВЕРХРАЗРЕШЕНИЯ
DATA PROCESSING FOR SUPER-RESOLUTION

ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к области цифровой обработки изображений и видео, в частности к устройству и способу для обработки данных для сверхразрешения, и предназначено для улучшения качества изображений и видео посредством улучшения разрешения, которое также называется получением сверхразрешения изображений и видео.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
[0002] Традиционные технологии для повышения качества изображений и видео имеют следующие недостатки. Итерационные подходы являются чрезмерно медленными и имеют высокую сложность из-за высоких вычислительных затрат. Неитеративные подходы не учитывают дробные смещения пикселей, что приводит к снижению качества получаемых изображений. В конвейерных подходах происходит потеря данных изображения и может ухудшаться направленность текстуры мелких деталей. Отсутствует компромисс между шумоподавлением (NR) и сверхразрешением (SR).
[0003] Существуют различные технологии для повышения качества изображений и видео. Одна из технологий описана в публикации патентной заявки US 20130064474 A1, опубликованной 14.03.2013 и озаглавленной «Вычисление изображений с более высоким разрешением из множественных изображений с более низким разрешением». Проблема сверхразрешения с формулировкой, использующей апостериорный максимум, решается с использованием метода нелинейной итеративной оптимизации методом сопряженных градиентов. Однако использование итераций приводит к высоким вычислительным затратам.
[0004] Другие технологии описаны в патенте США US 9282253 B2, опубликованном 08.03.2016 и озаглавленном «Система и способ интерполяции сверхразрешения на основе множества кадров для цифровых камер». Обеспечена система цифровой камеры, которая включает в себя модуль регистрации движения, генерирующий информацию о движении, модуль интерполяции, модуль вычисления весовых коэффициентов и модуль объединения весов. Система поддерживает ввод в формате Байера. Каждый входной кадр интерполируется независимо от других кадров. Однако субпиксельное (дробное) смещение между кадрами не используется при восстановлении деталей.
[0005] Поскольку традиционные технологии для повышения качества изображений и видео имеют вышеупомянутые недостатки, необходим подход для повышения качества изображений и видео, который обеспечивает точное воспроизведение направленности текстуры, низкие вычислительные затраты и хороший компромисс между шумоподавлением и сверхразрешением. Настоящее изобретение предназначено для устранения, по меньшей мере, проблем и недостатков, описанных выше, и обеспечения, по меньшей мере, преимуществ, описанных далее.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Задачей настоящего изобретения является создание устройства и способа для обработки данных для сверхразрешения, которые улучшают качество изображений и видео без потери данных изображений и видео и обеспечивают низкие вычислительные затраты.
[0007] Согласно одному аспекту изобретения обеспечено устройство для обработки данных для сверхразрешения, содержащее: блок оценки смещения, выполненный с возможностью: принимать набор изображений низкого разрешения одной сцены, получать наборы смещений пикселей для изображений низкого разрешения для всех пикселей, соответствующих одним и тем же фрагментам в наборе изображений низкого разрешения, посредством вычисления смещений пикселей для пикселей, соответствующих одним тем же фрагментам в изображениях низкого разрешения, относительно пикселей, соответствующих тем же фрагментам в первом изображении низкого разрешения, выбранном из набора изображений низкого разрешения, получать наборы целочисленных смещений пикселей посредством вычисления целочисленного смещения пикселя для каждого смещения пикселя, при этом наборы целочисленных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения, получать наборы дробных смещений пикселей посредством вычисления дробного смещения пикселя для каждого смещения пикселя, при этом наборы дробных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения; банк фильтров, выполненный с возможностью хранения наборов фильтров, причем наборы фильтров предварительно вычислены; блок выбора фильтров, выполненный с возможностью выбора наборов фильтров из банка фильтров на основе наборов дробных смещений пикселей; блок получения изображения высокого разрешения, выполненный с возможностью получения изображения высокого разрешения в формате RGB посредством вычисления пикселей изображения высокого разрешения с использованием набора изображений низкого разрешения, выбранных наборов фильтров и наборов целочисленных смещений пикселей.
[0008] В дополнительном аспекте предварительно вычисленные наборы фильтров получены посредством: задания конечного числа дробных смещений пикселей; генерации наборов дробных смещений пикселей посредством выбора всех комбинаций дробных смещений пикселей; вычисления наборов фильтров на основе наборов дробных смещений пикселей и регуляризатора, описывающего локальные ограничения для сверхразрешения.
[0009] В другом дополнительном аспекте количество фильтров, хранящихся в банке фильтров, уменьшено на основании по меньшей мере одного из условий совпадения смещений пикселей.
[0010] В еще одном дополнительном аспекте наборы фильтров, хранящихся в банке фильтров, включают в себя наборы ненаправленных фильтров и наборы направленных фильтров, причем ненаправленные фильтры ассоциированы с областями изображения, содержащими ненаправленную текстуру, а направленные фильтры ассоциированы с областями изображения, содержащими направленную текстуру.
[0011] В еще одном дополнительном аспекте устройство дополнительно содержит блок оценки направления текстуры, выполненный с возможностью определения направлений текстуры изображений низкого разрешения, причем блок выбора фильтров дополнительно выполнен с возможностью выбора либо наборов ненаправленных фильтров, либо наборов направленных фильтров на основе наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения.
[0012] В еще одном дополнительном аспекте устройство дополнительно содержит: блок предобработки, выполненный с возможностью: определения параметров шумоподавления для всех пикселей в изображениях низкого разрешения, включающих в себя модель шума, размер фрагмента изображения, радиус поиска для соседних фрагментов изображения и зависимость стандартного отклонения шума пикселей от яркости пикселей; вычисления текстурно-зависимых коэффициентов шумоподавления на основе изменений яркости пикселей, при этом каждый текстурно-зависимый коэффициент шумоподавления вычисляется для каждого пикселя изображений низкого разрешения; оценки значений стандартного отклонения шума пикселей с использованием зависимости стандартного отклонения шума пикселей от яркости пикселей, текстурно-зависимых коэффициентов шумоподавления и коэффициента шумоподавления, заданного пользователем; выполнения трехмерного шумоподавления (3DNR) на наборе изображений низкого разрешения на основе параметров шумоподавления и оцененных значений стандартного отклонения шума пикселей для получения изображений низкого разрешения с уменьшенным шумом; и блок оценки карты достоверности, выполненный с возможностью генерации карты достоверности с использованием набора изображений низкого разрешения и наборов смещений пикселей, при этом карта достоверности представляет достоверность вычисления смещений пикселей, при этом блок оценки направления текстуры дополнительно выполнен с возможностью определения направлений текстуры изображений низкого разрешения с уменьшенным шумом; при этом блок выбора фильтров дополнительно выполнен с возможностью выбора либо наборов ненаправленных фильтров, либо наборов направленных фильтров на основе карты достоверности, наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения с уменьшенным шумом; при этом блок получения изображения высокого разрешения дополнительно выполнен с возможностью получения изображения высокого разрешения в формате RGB посредством вычисления пикселей изображения высокого разрешения с использованием карты достоверности, набора изображений низкого разрешения с уменьшенным шумом, выбранных наборов фильтров и наборов целочисленных смещений пикселей.
[0013] В еще одном дополнительном аспекте изображения низкого разрешения одной сцены являются изображениями в формате RGB.
[0014] В еще одном дополнительном аспекте изображения низкого разрешения одной сцены являются байеровскими изображениями.
[0015] В еще одном дополнительном аспекте устройство дополнительно содержит блок постобработки, выполненный с возможностью: преобразования изображения высокого разрешения в формате RGB, полученного модулем получения изображения высокого разрешения, в изображение в формате YUV; обрабатывать изображение в формате YUV посредством: вычисления карты стандартных отклонений пикселей в канале Y методом скользящего окна, вычисления опорного канала Ref путем сглаживания карты стандартных отклонений пикселей с помощью гауссовской фильтрации, кросс-билатеральной фильтрации каналов U и V с использованием опорного канала Ref; и обратного преобразования обработанного изображения в формате YUV в прошедшее постобработку изображение высокого разрешения в формате RGB.
[0016] Согласно другому аспекту изобретения обеспечен способ обработки данных для сверхразрешения, содержащий этапы, на которых: принимают набор изображений низкого разрешения одной сцены; получают наборы смещений пикселей для изображений низкого разрешения для всех пикселей, соответствующих одним и тем же фрагментам в наборе изображений низкого разрешения, посредством вычисления смещений пикселей для пикселей, соответствующих одним тем же фрагментам в изображениях низкого разрешения, относительно пикселей, соответствующих тем же фрагментам в первом изображении низкого разрешения, выбранном из набора изображений низкого разрешения; получают наборы целочисленных смещений пикселей посредством вычисления целочисленного смещения пикселя для каждого смещения пикселя, при этом наборы целочисленных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения; получают наборы дробных смещений пикселей посредством вычисления дробного смещения пикселя для каждого смещения пикселя, при этом наборы дробных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения; выбирают наборы фильтров из предварительно вычисленных наборов фильтров на основе наборов дробных смещений пикселей; получают изображение высокого разрешения в формате RGB посредством вычисления пикселей изображения высокого разрешения с использованием набора изображений низкого разрешения, выбранных наборов фильтров и наборов целочисленных смещений пикселей.
[0017] В одном дополнительном аспекте предварительно вычисленные наборы фильтров получают посредством: задания конечного числа дробных смещений пикселей; генерации наборов дробных смещений пикселей посредством выбора всех комбинаций дробных смещений пикселей; вычисления наборов фильтров на основе наборов дробных смещений пикселей и регуляризатора, описывающего локальные ограничения для сверхразрешения.
[0018] В другом дополнительном аспекте количество упомянутых фильтров уменьшено на основании по меньшей мере одного из условий совпадения смещений пикселей.
[0019] В еще одном дополнительном аспекте предварительно вычисленные наборы фильтров включают в себя наборы ненаправленных фильтров и наборы направленных фильтров, причем ненаправленные фильтры ассоциированы с областями изображения, содержащими ненаправленную текстуру, а направленные фильтры ассоциированы с областями изображения, содержащими направленную текстуру.
[0020] В еще одном дополнительном аспекте способ дополнительно содержит этап, на котором определяют направления текстуры изображений низкого разрешения, при этом выбор наборов фильтров содержит выбор либо наборов ненаправленных фильтров, либо наборов направленных фильтров на основе наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения.
[0021] В еще одном дополнительном аспекте способ дополнительно содержит этапы, на которых: определяют параметры шумоподавления для всех пикселей в изображениях низкого разрешения, включающие в себя модель шума, размер фрагмента изображения, радиус поиска для соседних фрагментов изображения и зависимость стандартного отклонения шума пикселей от яркости пикселей; вычисляют текстурно-зависимые коэффициенты шумоподавления на основе изменений яркости пикселей, при этом каждый текстурно-зависимый коэффициент шумоподавления вычисляют для каждого пикселя изображений низкого разрешения; оценивают значения стандартного отклонения шума пикселей с использованием зависимости стандартного отклонения шума пикселей от яркости пикселей, текстурно-зависимых коэффициентов шумоподавления и коэффициента шумоподавления, заданного пользователем; выполняют трехмерное шумоподавление (3DNR) на наборе изображений низкого разрешения на основе параметров шумоподавления и оцененных значений стандартного отклонения шума пикселей для получения изображений низкого разрешения с уменьшенным шумом; и генерируют карту достоверности с использованием набора изображений низкого разрешения и наборов смещений пикселей, при этом карта достоверности представляет достоверность вычисления смещений пикселей, при этом определение направлений текстуры изображений низкого разрешения содержит определение направлений текстуры изображений низкого разрешения с уменьшенным шумом; при этом выбор наборов фильтров содержит выбор либо наборов ненаправленных фильтров, либо наборов направленных фильтров на основе карты достоверности, наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения с уменьшенным шумом; при этом получение изображения высокого разрешения в формате RGB содержит вычисление пикселей изображения высокого разрешения с использованием карты достоверности, набора изображений низкого разрешения с уменьшенным шумом, выбранных наборов фильтров и наборов целочисленных смещений пикселей.
[0022] В еще одном дополнительном аспекте изображения низкого разрешения одной сцены являются изображениями в формате RGB.
[0023] В еще одном дополнительном аспекте изображения низкого разрешения одной сцены являются байеровскими изображениями.
[0024] В еще одном дополнительном аспекте способ дополнительно содержит этапы, на которых: преобразуют изображение высокого разрешения в формате RGB в изображение в формате YUV; обрабатывают изображение в формате YUV посредством: вычисления карты стандартных отклонений пикселей в канале Y методом скользящего окна, вычисления опорного канала Ref путем сглаживания карты стандартных отклонений пикселей с помощью гауссовской фильтрации, кросс-билатеральной фильтрации каналов U и V с использованием опорного канала Ref; и выполняют обратное преобразование обработанного изображения в формате YUV в прошедшее постобработку изображение высокого разрешения в формате RGB.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0025] Вышеприведенные и другие аспекты, признаки и преимущества настоящего изобретения станут более очевидными из нижеследующего подробного описания в сочетании с прилагаемыми чертежами, на которых:
[0026] Фиг. 1 представляет собой блок-схему одного варианта осуществления устройства для обработки данных для сверхразрешения.
[0027] Фиг. 2 представляет собой блок-схему другого варианта осуществления устройства для обработки данных для сверхразрешения.
[0028] Фиг. 3 представляет собой блок-схему еще одного варианта осуществления устройства для обработки данных для сверхразрешения.
[0029] Фиг. 4 иллюстрирует приведение вектором с компонентами к первому или второму квадранту при оценке направления текстуры изображения.
[0030] Фиг. 5 иллюстрирует разделение пикселей байеровских изображений низкого разрешения на отдельные цветовые каналы G1, G2, R и B.
[0031] В нижеследующем описании, если не указано иное, одинаковые ссылочные позиции используются для одних и тех же элементов при изображении на разных чертежах, и их описание будет опущено.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
[0032] Нижеследующее описание со ссылкой на прилагаемые чертежи предоставлено для содействия всестороннему пониманию различных вариантов осуществления настоящего раскрытия, как определено формулой изобретения и их эквивалентами. Оно включает в себя различные конкретные детали, чтобы помочь в этом понимании, но они должны рассматриваться только как примерные. Соответственно, специалисты в данной области техники поймут, что различные изменения и модификации различных вариантов осуществления, описанных здесь, могут быть сделаны без отхода от объема настоящего раскрытия. Кроме того, описания хорошо известных функций и конструкций могут быть опущены для ясности и краткости.
[0033] Термины и слова, используемые в нижеследующем описании и формуле изобретения, не ограничиваются библиографическими значениями, а только используются изобретателем для обеспечения ясного и последовательного понимания настоящего раскрытия. Соответственно, специалистам в данной области техники должно быть очевидно, что следующее описание различных вариантов осуществления настоящего раскрытия представлено только для иллюстрации.
[0034] Следует понимать, что термины в единственном числе не исключают множественности, если явно не указано иное.
[0035] Следует понимать, что, хотя термины первый, второй и т. д. могут быть использованы здесь в отношении элементов настоящего раскрытия, такие элементы не должны истолковываться как ограниченные этими терминами. Термины используются только, чтобы указать отличие одного элемента от других элементов.
[0036] Кроме того следует понимать, что термины «содержит», «содержащий», «включает в себя» и/или «включающий в себя» при использовании в настоящем документе указывают наличие указанных признаков, значений, операций, элементов и/или компонентов, но не исключают наличия или добавления одного или более других признаков, значений, операций, элементов, компонентов и/или их групп.
[0037] В различных вариантах осуществления настоящего раскрытия «модуль» или «блок» могут выполнять по меньшей мере одну функцию или операцию и могут быть реализованы с помощью аппаратных средств, программного обеспечения или их комбинации. «Множество модулей» или «множество блоков» может быть реализовано по меньшей мере одним процессором (не показано) посредством его интеграции с по меньшей мере одним модулем или блоком, отличным от «модуля» или «блока», который должен быть реализован с использованием конкретного аппаратного обеспечения.
[0038] Ниже различные варианты осуществления настоящего раскрытия описаны более подробно со ссылкой на прилагаемые чертежи.
[0039] Настоящее изобретение может получать изображение высокого разрешения как из набора изображений низкого разрешения одной сцены в формате RGB (аддитивная цветовая модель), так и набора байеровских (в формате raw) изображений низкого разрешения одной сцены, полученных от датчика изображения. Полученное изображение высокого разрешения имеет формат RGB. В отличие от предшествующего уровня техники обработка в соответствии с настоящим изобретением выполняется неитеративным способом с фильтрацией на основе наборов дробных смещений пикселей. Кроме того, в вариантах осуществления настоящего изобретения учитывается направленность текстуры изображений за счет использования оценки направленности текстуры и фильтрации с использованием направленных и не направленных фильтров. Дополнительно в вариантах осуществления настоящего изобретения используется трехмерное шумоподавление в сочетании с операциями сверхразрешения с достижением хорошего компромисса между шумоподавлением и сверхразрешением, которые используются по-отдельности в предшествующем уровне техники.
Основной принцип сверхразрешения
[0040] Обычно задача сверхразрешения сводится к нахождению одного изображения высокого разрешения из нескольких изображений низкого разрешения. При этом при восстановлении пикселей изображения высокого разрешения используют пиксели из исходных изображений низкого разрешения с учетом дробных (субпиксельных) смещений пикселей.
[0041] Суть метода состоит в следующем. Пусть исходное изображение высокого разрешения  известно, тогда изображения низкого разрешения , , ….   можно найти, произведя трансформацию входного изображения и последующую понижающую дискретизацию. В качестве трансформации может быть проективное или аффинное преобразование, а также любое непрерывное преобразование координат. Трансформация обычно обусловлена движением камеры между моментами съемки входных изображений низкого разрешения, также она частично может быть обусловлена смещением объектов внутри кадра. При съемке изображений низкого разрешения с использованием реальной оптической системы, помимо трансформации и понижающей дискретизации, применяемым к идеальному изображению высокого разрешения, применяется еще и сглаживание, обусловленное функцией рассеяния точки (PSF) оптической системы. Формирование изображений низкого разрешения из изображения высокого разрешения происходит в соответствии с формулой:  ,
где - оператор понижающей дискретизации,  - оператор сглаживания,  - оператор трансформации для получения k-го изображения, а- шум. Оператор  можно оценить экспериментально, теоретически на основе детального описания оптической системы, или подобрать приблизительно исходя из критериев  качества результирующего изображения.  Оператор трансформации находят с использованием методов оценки смещения. При этом подразумевается, что  и  - это векторизованные изображения низкого разрешения. Если исходное изображение в двумерном виде было представлено матрицей   ,
то векторизованное изображение можно представить как
Матрица понижающей дискретизации , сжимающая изображение размера  в  раз по вертикали и в  раз по горизонтали будет иметь вид , где  - Кронекерово произведение,  - единичная матрица размера , а  - -й столбец матрицы
Так, для того, чтобы уменьшить приведенную выше матрицу в 2 раза и получить матрицу ,  исходную матрицу  в векторизованной форме надо домножить на матрицу
и преобразовать из вектора длины 4 в матрицу размера 2×2.
[0042] Таким образом, для изображения высокого разрешения размером  и изображения низкого разрешения размером  матрицы  и  будут иметь размер , а матрица   - размер .  В дальнейшем без потери общности ограничимся рассмотрением квадратных изображений размером .
[0043] При заданной модели формирования изображений низкого разрешения задачу поиска изображения высокого разрешения можно сформулировать как минимизацию функционала, заданного формулой
.
[0044] Эту задачу можно сформулировать с использованием различных норм, но решение проще всего отыскать в случае квадратичной нормы, которую мы и будем в дальнейшем использовать.
[0045] Иногда эту задачу можно решить непосредственно. В одном варианте осуществления изобретения, оператор сглаживания   тождественный (т.е. нет сглаживания), а  оператор трансформации представляет собой циклическое смещение на   пикселей по вертикали и  пикселей по горизонтали. Тогда матрицу этого оператора можно построить как   , где  матрица оператора, осуществляющего циклическое смещение столбцов матрицы размером   на .
[0046] Для того, чтобы выполнить смещение в матрице
на 1  пиксель по вертикали и 2 пикселя по горизонтали и получить матрицу  можно построить матрицу трансформации
[0047] Пусть у нас имеется 4 изображения низкого разрешения полученных из изображения высокого разрешения при помощи смещений  и понижающей дискретизации в 2 раза. Тогда очевидно, что исходное изображение можно просто «собрать» из пикселей изображений низкого разрешения.
[0048] Если бы, например, смещения в некоторых изображениях повторялись, то полная реконструкция стала бы невозможна. Для того, чтобы в случаях, когда полная реконструкция невозможна, или задача плохо обусловлена (что происходит, в том числе, в силу наличия оператора сглаживания , метод выдавал разумное решение (т.е. при входных изображениях с одинаковым смещением происходила пространственная интерполяция с усреднением), на решение накладываются дополнительные ограничения. Эти ограничения формулируются в виде регуляризирующего члена  (в дальнейшем - «регуляризатор»), прибавляемого к минимизируемому функционалу, заданному формулой:
[0049] Обычно сформулированную подобным образом задачу сверхразрешения решают при помощи итерационных методов, которые не допускают решения в реальном времени. Для решения задачи в реальном времени используются приближенные методы.
Решение задачи сверхразрешения согласно настоящему изобретению
[0050] В настоящем изобретении мы получаем точное решение задачи в реальном времени без использования итераций.
[0051] Используем регуляризацию Тихонова, т.е. решаем задачу оптимизации для регуляризатора  , где  - скалярный параметр регуляризации, а  - некий оператор. Тогда оптимизируемый функционал можно записать в виде формулы:
где
[0052] Как известно, оптимизационная задача такого вида имеет аналитическое решение, выраженное формулой:
[0053] Это значит, что каждый пиксель изображения высокого разрешения с координатами  можно найти в виде линейной комбинации пикселей входных изображений низкого разрешения по формуле:
где  - пиксель  -го входного изображения низкого разрешения с координатами , а  - целое число, соответствующее коэффициенту понижающей дискретизации (во сколько раз размер изображения высокого разрешения отличается от размера изображения низкого разрешения). Значение весового коэффициента можно найти из вычисленной матрицы , как ее элемент с координатами  :
где круглые скобки обозначают взятие соответствующего элемента матрицы.
[0054] Поскольку невозможно сохранить (требуется такое количество места, которое в данный момент недоступно для использования) решения всех возможных задач для всех возможных смещений, мы ввели два дополнительных ограничения: во-первых, рассматриваем только такие трансформации , которые соответствуют одному и тому же смещению всех пикселей изображения высокого разрешения, во-вторых, рассматриваем только такие операторы , которые представляют собой свертку (или циклическую свертку) с некоторым ненулевым ядром с суммой элементов, равной нулю, например, .
[0055] Первое ограничение позволяет параметры решения   задавать не матрицами размера размером , а  парами смещений (по вертикали и горизонтали):
[0056] Реконструкция изображения высокого разрешения основана на сохранении  предварительно вычисленных и сохраненных матриц  для всевозможных сочетаний смещений .
[0057] Согласно настоящему  изобретению, для обеспечения очень точной аппроксимации достаточно хранить лишь по нескольку элементов из каждой матрицы  при этом нет необходимости проводить вычисления для всех возможных смещений, достаточно сохранить результаты лишь для некоторых наборов  таких, что . Более того, в результате построения такой аппроксимации отпадает необходимость исходного предположения, что смещения пикселей в изображениях низкого разрешения друг относительно друга (и относительно изображения высокого разрешения) одинаковы для всех пикселей изображения. Для корректного  функционирования настоящего  изобретения достаточно условия, чтобы лишь соседние пиксели изображения низкого разрешения в окрестности размером  имели одинаковые смещения относительно соответствующих пикселей в других изображениях низкого разрешения.
Описание вариантов изобретения
[0058] На фиг. 1 показана блок-схема устройства 100 для обработки данных для сверхразрешения. Устройство 100 содержит блок 101 оценки смещения, блок 102 выбора фильтров, банк 103 фильтров, блок 104 получения изображения высокого разрешения. Устройство 100 для обработки данных для сверхразрешения может получать изображение высокого разрешения в формате RGB как из набора изображений низкого разрешения одной сцены в формате RGB, так и набора байеровских изображений низкого разрешения одной сцены
[0059] Блок 101 оценки смещения принимает набор изображений низкого разрешения одной сцены и получает наборы смещений пикселей для изображений низкого разрешения для всех пикселей. Принимаем как условие то, что первое изображение имеет нулевое смещение, и смещения для других изображений будут вычисляться относительно первого изображения. Если набор изображений низкого разрешения одной сцены содержит изображения в формате RGB, то для каждых  пикселей выходного изображения с координатами , причем  - коэффициент понижающей дискретизации, выполняют следующие операции:
- вычисляют координаты соответствующего пикселя в первом изображении низкого разрешения ,
- вычисляют смещения   относительно пикселя с координатами   в первом изображении низкого разрешения пикселей других изображений низкого разрешения, соответствующих тому же фрагменту для изображения.
[0060] Затем блок 101 оценки смещения получает наборы целочисленных смещений пикселей посредством вычисления целочисленного смещения пикселя для каждого смещения пикселя, при этом наборы целочисленных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения, и получает наборы дробных смещений пикселей посредством вычисления дробного смещения пикселя для каждого смещения пикселя, при этом наборы дробных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения. Для каждого из смещений пикселей изображений низкого разрешения   вычисляют целочисленное смещение  и дробное смещение, где квадратные скобки соответствуют операции взятия целой части.
[0061] Банк 103 фильтров хранит предварительно вычисленные наборы фильтров. Набором фильтров является набор величин, по которым можно однозначно восстановить матрицу для некоторого набора смещений  . При этом благодаря первому и второму ограничениям, описанным в разделе «Решение задачи сверхразрешения согласно настоящему изобретению» для восстановления каждого пикселя выходного изображения требуется не больше  пикселей входного изображения. Банк 103 фильтров содержит совокупность наборов фильтров, вычисленных для всевозможных сочетаний   таких, что , где  - количество используемых изображений низкого разрешения.
[0062] Блок 102 выбора фильтров предназначен для выбора наборов фильтров из банка фильтров на основе наборов дробных смещений пикселей. Для каждого дробного смещения для изображений низкого разрешения выбирают соответствующий набор фильтров   где каждый из фильтров  состоит из  величин (весовых коэффициентов фильтра):
и ,
где - весовые коэффициенты фильтра.
[0063] Блок 104 получения изображения высокого разрешения получает изображение высокого разрешения в формате RGB посредством вычисления пикселей изображения высокого разрешения с использованием набора изображений низкого разрешения, выбранных наборов фильтров и наборов целочисленных смещений пикселей. Получение изображения высокого разрешения в формате RGB выполняется следующим образом. Сначала из изображений низкого разрешения выбирают наборы пикселей , такие, что
,
где  - пиксель из входного изображения с номером  с координатами . Затем вычисляют каждый из пикселей блока выходного изображения с координатами  как сумму скалярных произведений  и  для :
[0064] Приведенная выше реализация позволяет вычислять изображение высокого разрешения в реальном времени в любой цифровой камере с функцией серийной съемки.
[0065] Отличие обработки набора байеровских изображений низкого разрешения от обработки изображений низкого разрешения в формате RGB заключается только в том, что при коэффициенте понижающей дискретизации   обрабатывают группы не , а по   пикселей, где 3 - это количество выходных цветовых каналов.
[0066] Вычисление дробных смещений пикселей в байеровских изображениях также отличается от вычисления дробных смещений пикселей в изображениях в формате RGB. Для байеровских изображений в основу положен классический метод оптического потока Лукаса-Канаде. Метод состоит в следующем: пусть требуется найти смещение   между изображениями и  в точке изображения с координатами .
Для этого вычисляются градиенты по времени  и вертикальному и горизонтальному направлению -  и , соответственно.
Смещение находится путем решения уравнения  , где
.
Поскольку  также зависит от и , поиск этих величин является итерационным процессом. В качестве нулевого приближения используется нулевое смещение. Для получения более надежных результатов при построении  и  вместо отдельных значений градиентов берется их сумма в пределах  - окрестности точки
Для того, чтобы метод разумно вел себя в низко-текстурированных областях изображения, имеет смысл использовать регуляризацию
В качестве еще одного улучшения можно использовать сглаживание Гауссовским окном
Поскольку метод Лукаса-Канаде предназначен для определения смещений амплитудой до одного пикселя, для оценки смещений в реальных изображениях, которые могут достигать нескольких пикселей, можно использовать несколько способов вычисления, например, в качестве не ограничивающего примера, можно использовать многомасштабную схему без применения анизотропной фильтрации. Кроме того, в качестве не ограничивающего примера, можно использовать 3 уровня - ¼ разрешения в формате YCbCr, ½ разрешения в формате YCbCr и полное изображение в формате Байера. При построении матриц  и для трехканальных изображений производится сложение градиентов по всем трем каналам. Для вычисления градиентов для изображений в Байеровском формате мы использовали формулы:
где значение  получено путем билинейной интерполяции Байеровского изображения с использованием пикселей одного и того же цвета
для синего и красного, где  - операция округления вниз. Для зеленых пикселей билинейная интерполяция применялась к пикселям ,   где - операция округления к ближайшему целому.
[0067] Операция выбора набора фильтров для байеровских изображений также отличается от выбора набора фильтров для изображений в формате RGB. Для байеровских изображений в блоке 102 выбора фильтров из банка 103 фильтров выбирают набор фильтров   где  - это номер цветового, соответствующий набору смещений , где каждый из фильтров  состоит из  величин (весовых коэффициентов фильтра):
и ,
где  - весовые коэффициенты фильтра.
[0068] Вычисление пикселей изображения высокого разрешения с использованием набора байеровских изображений низкого разрешения отличается от вышеприведенного вычисления пикселей изображения высокого разрешения с использованием набора изображений низкого разрешения в формате RGB тем, что в блоке 104 получения изображения высокого разрешения вычисляют каждый из пикселей блока выходного изображения с координатами для каждого цветового канала  как сумму скалярных произведений  и  для :
[0069] Предварительное вычисление фильтров для банка 103 фильтров производится на высокопроизводительном компьютере по следующей процедуре:
- выбирают размер получаемого изображения высокого разрешения изображения, например, ;
- строят матрицу оператора регуляризации   для изображения размером ;
- если имеющийся метод определения дробного смещения имеет точность  , где - степень двойки, то для получения изображения высокого разрешения из любого набора смещений, вычисленного с доступной точностью,  строят наборы фильтров для конечного числа наборов смещений  , где   и каждое из остальных смещений может принимать одно из  значений
эта совокупность наборов смещений является базовым набором;
- для каждого набора смещений из базового  набора выполняют следующие  операции:
- для каждой пары смещений   вычисляют оператор трансформации , производящий соответствующее смещение пикселей изображения размером ,
- строят матрицу ,
- строят матрицу,
- выбирают из матрицы элементы, соответствующие элементам фильтров выбирают набор фильтров  для   при помощи следующих операций:
- выбирают центральный пиксель с координатами  в изображении размером  так, чтобы  и  были кратны коэффициенту понижающей дискретизации ,
- для каждого  выбирают из матрицы  строку под номером  и обозначают ,
- из каждой строки  выделяют  последовательно идущих подстрок длины  каждая,
- каждую из подстрок преобразуют в матрицу так, чтобы элемент вектора с номером   становился элементом матрицы с индексами:
где  - операция округления вниз
- из каждой матрицы выбирают  коэффициентов фильтра так, что
.
[0070] Предварительное вычисление фильтров для банка 103 фильтров для набора байеровских изображений низкого разрешения отличается от соответствующего решения для изображений в формате RGB следующими операциями:
- если имеющийся метод определения дробных смещений пикселей имеет точность  , то рассматривается базовый набор смещений, где каждое смещение  принимает одно из возможных   значений  от  до ,
- строят матрицу ,
где   - оператор понижающей дискретизации для изображений в формате RGB,  - оператор сглаживания для изображений в формате RGB,  - оператор трансформации для получения k-го изображения в формате RGB. При этом операторы для изображений в формате RGB получают из соответствующих операторов для одноканальных изображений согласно формулам:
оператор Байеровской понижающей дискретизации   можно построить в виде:
,
где  - оператор  понижающей дискретизации в 2 раза по вертикали и горизонтали, соответственно, а  - оператор циклического сдвига на  столбцов по горизонтали и  строк по вертикали.
- строят матрицу,
Кросс-канальный регуляризатор  для изображений в формате RGB строят в виде:
,
где
- для каждого  выбирают из матрицы   три строки с номерами ,  и , соответствующие трем цветовым каналам выходного изображения и обозначают ,
- из каждой строки   делят на  равных последовательно идущих подстрок ,
- каждую из подстрок  делят на 4 равные последовательные части  и преобразуют каждую из этих частей в матрицу   и , соответственно (размер каждой из матриц ),так, чтобы элемент вектора с номером   превращался в элемент матрицы с индексами:
где  - операция округления вниз,
- из четырех матриц выбирают по  весовых коэффициентов  фильтра  размером  так, что:
[0071] Для  уровней квантования смещения,   входных изображений и коэффициенте увеличения в   раз потребуется   наборов по  фильтров. Эксперименты показали, что для получения изображения высокого разрешения из изображений в формате RGB достаточно фильтров размером 11×11.  Поскольку при использовании операций сверх разрешения для восстановления тонких деталей имеют ценность только дробные смещения пикселей, для надежного их восстановления необходимо, чтобы смещения между пикселями входных изображений было невелико. При пакетной съемке с использованием, например, камеры мобильного телефона без применения штатива этого можно достигнуть только при небольшом количестве входных изображений (не более 4-х). Точность надежной оценки дробных смещений пикселей не превышает  пикселя. Количество величин, которые необходимо вычислить и сохранить для некоторых применимых на практике сочетаний точности оценки смещения, количества входных изображений и коэффициента увеличения приведено в таблице B01.
Таблица B01
К-во входных изображений <img file="00000188.jpg" he="4" wi="2" img-content="undefined" img-format="jpg" />
Коэффициент увеличения <img file="00000189.jpg" he="4" wi="1" img-content="undefined" img-format="jpg" />
Точность оценки смещения пикселя  <img file="00000190.jpg" he="8" wi="2" img-content="undefined" img-format="jpg" />
Количество наборов фильтров
Количество фильтров в наборе
Полное количество сохраняемых величин, Mb
2
2
1/2
4
8
0.003692627
<b>3</b>
<b>2</b>
<b>1/2</b>
<b>16</b>
<b>12</b>
<b>0.02</b>
4
2
1/2
64
16
0.12
2
3
1/4
16
18
0.03
3
3
1/4
256
27
0.80
4
3
1/4
4096
36
17.02
2
4
1/4
16
32
0.06
<b>3</b>
<b>4</b>
<b>1/4</b>
<b>256</b>
<b>48</b>
<b>1.42</b>
4
4
1/4
4096
64
30.25
[0072] Аналогично для получения изображения высокого разрешения из входных байеровских изображений для  уровней квантования смещения,   входных изображений и коэффициенте увеличения в   раз потребуется   наборов по  фильтров (множитель 3 возникает по причине наличия 3х цветовых каналов изображения - R (красного), G (зеленого) и B (синего)).  Эксперименты показали, что для получения изображения высокого разрешения из байеровских изображений достаточно фильтров размером 16×16, а при небольшой потере точности достаточно и 12×12. Количество величин, которые необходимо вычислить и сохранить для получения изображения высокого разрешения из байеровских изображений для некоторых применимых на практике сочетаний точности оценки смещения пикселей, количества входных изображений и коэффициента увеличения приведено в таблице B02.
Таблица B02
К-во входных изображений <img file="00000188.jpg" he="4" wi="2" img-content="undefined" img-format="jpg" />
Коэффициент увеличения <img file="00000189.jpg" he="4" wi="1" img-content="undefined" img-format="jpg" />
Точность оценки смещения пикселя  <img file="00000193.jpg" he="8" wi="2" img-content="undefined" img-format="jpg" />
Количество наборов фильтров
Количество фильтров в наборе
Полное количество сохраняемых величин, Mb
2
2
1/2
16
96
0.38
<b>3</b>
<b>2</b>
<b>1/2</b>
<b>256</b>
<b>144</b>
<b>9.00</b>
4
2
1/2
4096
192
192.00
2
3
1/4
64
216
3.38
3
3
1/4
4096
324
324.00
4
3
1/4
262144
432
27648.00
2
4
1/4
64
384
6.00
<b>3</b>
<b>4</b>
<b>1/4</b>
<b>4096</b>
<b>576</b>
<b>576.00</b>
4
4
1/4
262144
768
49152.00
[0073] Из приведенных таблиц видно, что количество сохраняемых величин крайне велико. Для уменьшения этого количества, т.е. для уменьшения количества фильтров, хранимых в банке 103 фильтров, в настоящем изобретении предлагается использовать следующие принципы в качестве условий совпадения смещений пикселей.
[0074] Условие совпадения смещений пикселей (1) - если два набора смещений совпадают с точностью до перемены порядка входных изображений, то и вычисленные фильтры будут совпадать с точностью до порядка изображений.
[0075] Условие совпадения смещений пикселей (2) - если в двух наборах смещений   и   смещения  совпадают с точностью до замены координат , то и вычисленные фильтры будут совпадать с точностью до порядка координатных осей.
[0076] Условие совпадения смещений пикселей (3) - если в двух наборах смещений  и  смещения совпадают с точностью до целочисленных смещений   и : , то  вычисленные фильтры будут совпадать, а при применении фильтров пиксели из изображений низкого разрешения следует брать с учетом смещений    и .
[0077] Условие совпадения смещений пикселей (4) - если в двух наборах смещений  и  , смещения совпадают с точностью до знака  , где  , то вычисленные фильтры будут совпадать с точностью до зеркального отображения относительно осей абсцисс и ординат, соответственно.
[0078] Условие совпадения смещений пикселей (5) если в наборе смещений некоторые смещения совпадают, например, , то в наборе фильтров можно хранить значения, соответствующие только одному из этих изображений.
[0079] На примере показано, как можно применить эти принципы для сжатия банка фильтров в 1-й строке таблицы (изображение в формате RGB, ).  Количество фильтров в исходном банке фильтров оценивается как . При рассматриваются следующие наборы смещений (предполагая ):
Таблица B03
№ набора
<img file="00000207.jpg" he="6" wi="4" img-content="undefined" img-format="jpg" />
<img file="00000208.jpg" he="6" wi="4" img-content="undefined" img-format="jpg" />
<img file="00000209.jpg" he="6" wi="4" img-content="undefined" img-format="jpg" />
<img file="00000210.jpg" he="6" wi="4" img-content="undefined" img-format="jpg" />
Сводится к набору при помощи свойства (1)
Сводится к набору при помощи свойства (2)
Сводится к набору при помощи свойств (1) и  (2)
Вхождение в сокращенный набор
1
0
0
0
0
1
1
1
+
2
0
0
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
5
3
9
+
3
0
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
9
2
5
-
4
0
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
13
4
13
+
5
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
0
2
9
3
-
6
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
6
11
11
+
7
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
10
10
7
+
8
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
14
12
15
+
9
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
0
0
3
5
2
-
10
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
7
7
10
-
11
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
11
6
6
-
12
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
15
8
14
-
13
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
0
4
13
4
-
14
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
8
15
12
-
15
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
0
12
14
8
-
16
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
<img file="00000211.jpg" he="7" wi="6" img-content="undefined" img-format="jpg" />
16
16
16
+
[0080]Благодаря свойству (3) мы можем не включать в рассматриваемый набор смещения величины  и т.п. В 6-8 столбцах таблицы перечислены наборы, которые могут быть получены из текущего набора благодаря свойствам (1) и (2). В 9-й графе выбраны по порядку те наборы, которые необходимы для порождения всех прочих. В рассматриваемом случае достаточно рассмотреть 7 из 16 наборов. В настоящем примере свойство (4) не было применено, однако, если рассмотреть , то применение свойства (4) позволит  сократить количество рассматриваемых смещений с 256 до 34.
[0081] При увеличении изображения в  раз для порождения каждого блока выходного изображения размером  фильтры для получения каждой точки можно параметризовать дробным смещением между интерполируемой точкой и ближайшими точками из изображений низкого разрешения.  Каждый пиксель из блока можно охарактеризовать дробным смещением относительно его верхнего левого угла в координатах низкого разрешения. Например, для   пиксели из блока  соответствуют смещениям  ,,; ,,
[0082] Предположим, имеется набор смещений   где  - номер текущего набора среди перенумерованных всевозможных смещений, тогда каждый фильтр, соответствующий этому набору, можно характеризовать смещением , где  , а   и   пробегают всевозможные значения от 0 до . Тогда фильтры, соответствующие некоторым смещениям и  (т.е. могут рассматриваться фильтры, построенные для разных наборов смещений и для разных дробных смещений относительно верхнего левого угла блока), будут удовлетворять свойствам, аналогичным свойствам (1)-(5).
[0083] Условие совпадения смещений пикселей (6) - если смещения и  совпадают с точностью до целочисленных сдвигов, то  вычисленные фильтры будут совпадать, а при применении фильтров пиксели из изображений низкого разрешения следует брать с учетом соответствующих сдвигов.
[0084] Условие совпадения смещений пикселей (7) - если смещения и   совпадают с точностью до перемены порядка входных изображений, то и вычисленные фильтры будут совпадать с точностью до порядка изображений.
[0085] Условие совпадения смещений пикселей (8) - если смещения и  совпадают с точностью до замены координат , то и вычисленные фильтры будут совпадать с точностью до порядка координатных осей.
[0086] Условие совпадения смещений пикселей (9) - если смещения и  совпадают с точностью до знака, то вычисленные фильтры будут совпадать с точностью до зеркального отображения относительно осей абсцисс и ординат, соответственно.
[0087] Условие совпадения смещений пикселей (10) если смещении  некоторые пары элементов совпадают, например, , то в наборе фильтров можно хранить значения, соответствующие только одному из изображений с номерами  и .
[0088] Покажем применение данных свойств на том же примере. Для 7 наборов смещений, входящих в сокращенный набор (Таблица B03) составим вектора смещений для s.
Таблица B04
№ уникального набора
<img file="00000239.jpg" he="5" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000240.jpg" he="4" wi="11" img-content="undefined" img-format="jpg" />
<img file="00000241.jpg" he="5" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000242.jpg" he="8" wi="11" img-content="undefined" img-format="jpg" />
<img file="00000243.jpg" he="8" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000244.jpg" he="4" wi="11" img-content="undefined" img-format="jpg" />
<img file="00000245.jpg" he="8" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000246.jpg" he="8" wi="11" img-content="undefined" img-format="jpg" />
1
<img file="00000247.jpg" he="4" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000248.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000249.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000250.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
<img file="00000251.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000252.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000253.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000254.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
<img file="00000255.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000256.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000257.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000258.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
<img file="00000259.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000260.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000261.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000262.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
5
<img file="00000263.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000264.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000265.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000266.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
6
<img file="00000267.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000268.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000269.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000270.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
7
<img file="00000271.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000272.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000273.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000274.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
[0089] Пользуясь свойством (6) преобразуем смещения из Таблицы B04 в диапазон 0...1.
Таблица B05
№ уникального набора
<img file="00000239.jpg" he="5" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000240.jpg" he="4" wi="11" img-content="undefined" img-format="jpg" />
<img file="00000241.jpg" he="5" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000242.jpg" he="8" wi="11" img-content="undefined" img-format="jpg" />
<img file="00000243.jpg" he="8" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000244.jpg" he="4" wi="11" img-content="undefined" img-format="jpg" />
<img file="00000245.jpg" he="8" wi="15" img-content="undefined" img-format="jpg" />,<img file="00000246.jpg" he="8" wi="11" img-content="undefined" img-format="jpg" />
1
<img file="00000247.jpg" he="4" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000248.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000249.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000250.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
<img file="00000251.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000252.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000275.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000276.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
<img file="00000255.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000277.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000278.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000279.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
<img file="00000259.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000260.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000280.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000281.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
5
<img file="00000263.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000282.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000283.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000284.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
6
<img file="00000267.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000285.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000286.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000287.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
7
<img file="00000271.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000288.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000289.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
<img file="00000290.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
[0090] Для удобства дальнейшего анализа сгруппируем элементы из Таблицы B05 в соответствии с количеством нулей.
Таблица B06
№ п/п
№ уникального набора
№ смещения пикселей при интерполяции
Смещения пикселей относительно интерполируемой точки
К-во нулей
Возможные повторения
1
1
0
<img file="00000247.jpg" he="4" wi="28" img-content="undefined" img-format="jpg" />
6
1
2
1
1
<img file="00000248.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
3
1
2
<img file="00000249.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
4
1
3
<img file="00000250.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
0
4
5
2
0
<img file="00000251.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
5
5,15
6
2
1
<img file="00000252.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
6,12,16,20,22,25
7
2
2
<img file="00000275.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
7,9,10,13,17,23,28
8
2
3
<img file="00000276.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
1
8,14
9
3
0
<img file="00000255.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
7,9,10,13,17,23,28
10
3
1
<img file="00000277.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
7,9,10,13,17,23,28
11
3
2
<img file="00000278.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
12
3
3
<img file="00000279.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
6,12,16,20,22,25
13
4
0
<img file="00000259.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
7,9,10,13,17,23,28
14
4
1
<img file="00000260.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
1
8,14
15
4
2
<img file="00000280.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
5
5,15
16
4
3
<img file="00000281.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
6,12,16,20,22,25
17
5
0
<img file="00000263.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
7,9,10,13,17,23,28
18
5
1
<img file="00000282.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
19
5
2
<img file="00000283.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
20
5
3
<img file="00000284.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
6,12,16,20,22,25
21
6
0
<img file="00000267.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
22
6
1
<img file="00000285.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
6,12,16,20,22,25
23
6
2
<img file="00000286.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
7,9,10,13,17,23,28
24
6
3
<img file="00000287.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
25
7
0
<img file="00000271.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
6,12,16,20,22,25
26
7
1
<img file="00000288.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
27
7
2
<img file="00000289.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
2,3,11,18,19,21,24,26,27
28
7
3
<img file="00000290.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
4
7,9,10,13,17,23,28
[0091] Некоторые из элементов, перечисленных в 6-м столбце Таблицы B07 можно привести один к другому с использованием свойств (6) и (7).
Таблица B07
К-во нулей
Возможные повторения
Смещения пикселей относительно интерполируемой точки
0
4
<img file="00000250.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
1
8,14
2
6,12,16,20,22,25
3
2,3,11,18,19,21,24,26,27
4
7,9,10,13,17,23,28
5
5,15
6
1
<img file="00000247.jpg" he="4" wi="28" img-content="undefined" img-format="jpg" />
[0092] Свойство (8) полностью аналогично свойству (4), поэтому оно может быть задействовано при больших коэффициентах увеличения. Смещения, из которых благодаря свойствам (6)-(8) можно породить все прочие смещения приведены в Таблице B08. Всего можно ограничиться рассмотрением 13 смещений. Пользуясь свойством (10) можно также хранить лишь некоторое подмножество фильтров, соответствующее каждому смещению. Количество фильтров для каждого смещения указана в 4-м столбце Таблицы B08. Таким образом, для получения всех пикселей изображения высокого разрешения для любого смещения достаточно сохранения 26 фильтров вместо 192 исходных.
Таблица B08
№ п/п
№ п/п из Табл. B04
Смещения пикселей
Количество фильтров
1
1
<img file="00000247.jpg" he="4" wi="28" img-content="undefined" img-format="jpg" />
1
2
2
<img file="00000248.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
1
3
4
<img file="00000250.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
1
4
5
<img file="00000251.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
5
6
<img file="00000252.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
6
7
<img file="00000275.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
7
8
<img file="00000276.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
8
9
<img file="00000255.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
9
11
<img file="00000278.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
10
12
<img file="00000279.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
2
11
17
<img file="00000291.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
3
12
18
<img file="00000282.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
13
20
<img file="00000284.jpg" he="9" wi="28" img-content="undefined" img-format="jpg" />
3
Всего
26
[0093] Результат применения метода сжатия для 3х входных изображений приведен в таблице B09
Таблица B09
Формат входных изображений
К-во входных изображений <img file="00000188.jpg" he="4" wi="2" img-content="undefined" img-format="jpg" />
Коэффициент увеличения <img file="00000189.jpg" he="4" wi="1" img-content="undefined" img-format="jpg" />
Точность оценки смещения пикселя <img file="00000292.jpg" he="8" wi="3" img-content="undefined" img-format="jpg" />
Количество фильтров в полном банке фильтров
Количество фильтров в сжатом банке фильтров
Коэффициент сжатия
RGB
3
2
½
192
26
7.38
RGB
3
4
¼
12288
300
40.96
Байеровский шаблон
3
2
½
36864
450
81.92
Байеровский шаблон
3
4
¼
2359296
25752
91.62
[0094] На фиг. 2 изображена блок-схема другого варианта осуществления устройства 100 для обработки данных для сверхразрешения, в котором учитывается направленность текстуры изображения при получении изображения высокого разрешения из набора изображений низкого разрешения одной сцены.
[0095] В представленном на фиг. 2 варианте осуществления устройство 100 для обработки данных для сверхразрешения дополнительно включает в себя блок 105 оценки направления текстуры, который предназначен для определения направлений текстуры изображений низкого разрешения. Кроме того, в этом варианте осуществления наборы фильтров, хранящихся в банке фильтров, включают в себя наборы ненаправленных фильтров и наборы направленных фильтров. Ненаправленные фильтры представляют собой фильтры, ассоциированные с областями изображения, содержащими ненаправленную текстуру, а направленные фильтры представляют собой фильтры, ассоциированные с областями изображения, содержащими направленную текстуру.
[0096] Блок 102 выбора фильтров дополнительно выполнен с возможностью выбора либо наборов ненаправленных фильтров, либо наборов направленных фильтров на основе наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения, определенных блоком 105 оценки направления текстуры.
[0097] Блок 105 оценки направления текстуры выполняет определение направлений текстуры изображений низкого разрешения следующим образом.
[0098] Традиционно для оценки локального направления используют структурный тензор. Для этого составляют симметричную матрицу размером 2×2 структурного тензора, состоящую из сумм квадратов вертикальных и горизонтальных градиентов яркостей пикселей (изменений яркостей пикселей), вычисленных в некоторой окрестности, а также суммы произведений вертикальных и горизонтальных градиентов яркостей пикселей:
[0099] Затем вычисляют собственные числа  и собственные вектора  этой матрицы по формуле:
, ,
где . На основании собственных чисел вычисляется когерентность. Если когерентность не превышает предварительно заданного порога, это означает либо то, что рассматриваемая точка относится к слабо текстурированной области, либо к сильно текстурированной, но не имеющей одного наиболее выраженного направления. В противном случае вычисляется доминирующее  направление текстуры в рассматриваемой точки, при этом, если наибольшим по модулю собственным числом является   то направление вычисляется по формуле: , а в противном случае по формуле:.
[0100] При обработке изображений в формате RGB градиенты вычисляют как:
, где  -  пиксель изображения  с координатами  и .
[0101] Для реализации настоящего изобретения была разработана специальная методика для вычисления структурного тензора для байеровских изображений, в которой градиенты вычисляются согласно следующим формулам:
- в точках байеровского шаблона типа r и b градиенты в зеленом канале вычисляются согласно формулам:
- в точках байеровского шаблона типа r градиенты в синем канале вычисляется согласно формулам:
- в точках байеровского шаблона типа r градиенты в красном канале вычисляется согласно формулам:
- в точках байеровского шаблона типа b градиенты в красном канале вычисляется согласно формулам:
- в точках байеровского шаблона типа b градиенты в синем канале вычисляется согласно формулам:
- в точках байеровского шаблона типа g1 горизонтальный градиент красного канала и вертикальный градиент синего канала вычисляются согласно формулам:
- в точках байеровского шаблона типа g2 горизонтальный градиент синего канала и вертикальный градиент красного канала вычисляются согласно формулам:
- в точках байеровского шаблона типа g1 горизонтальный градиент синего канала и вертикальный градиент красного канала вычисляются согласно формулам:
- в точках байеровского шаблона типа g2 горизонтальный градиент красного канала и вертикальный градиент синего канала вычисляются согласно формулам:
- в точках байеровского шаблона типа g1 и g2 градиенты в зеленом канале вычисляются согласно формулам:
- для каждой точки входного изображения градиенты вычисляются согласно формулам:
[0102] Составление матрицы  и поиск ее собственных векторов и значений   производятся также, как это производится и для изображений в формате RGB, однако перед вычислением доминирующего направления, вектора приводятся к первому или второму квадранту способом, показанным на фиг. 4. После вычисления арктангенса эта величина квантуется на выбранное количество уровней (например, N=8, N=16 или N=32) и прибавляется единица (нулевой банк фильтров предусмотрен для ненаправленных текстур). Это число указывает номер банка фильтров, который следует использовать при выборе набора фильтров для каждой точки.
[0103] Для получения изображения высокого разрешения в результате обработки изображений низкого разрешения методом сверхразрешения могут быть учтены дополнительные ограничения, такие, как шум, присутствующий во входных изображениях низкого разрешения, недостоверная оценка смещений пикселей в некоторых областях изображений низкого разрешения или объективная невозможность оценить смещения пикселей в силу резкого изменения изображений, например, вызванного сменой освещения, а также наличие остаточных цветовых артефактов в выходном изображении. Также при получении изображения высокого разрешения могут быть использованы параметры, максимально соответствующие характеристикам конкретного устройства, которым сняты изображения низкого разрешения.
[0104] Вариант осуществления устройства 100 для обработки данных для сверхразрешения, изображенный на фиг. 3 позволяет решить вышеприведенные проблемы. Устройство 100 для обработки данных для сверхразрешения дополнительно содержит блок 106 предобработки, который учитывая параметры съемки изображений низкого разрешения, осуществляет адаптивное шумоподавление, в частности трехмерное шумоподавление (3DNR). Кроме того, устройство 100 для обработки данных для сверхразрешения дополнительно содержит блок 107 оценки карты достоверности, который генерирует карту достоверности представляющую достоверность вычисления смещений пикселей. Карта достоверности выявляет пиксели, для которых смещение с большой вероятностью определено неправильно.
[0105] Устройство 100 для обработки данных для сверхразрешения, содержащее блок 106 предобработки и блок 107 оценки карты достоверности может обрабатывать как изображения в формате RGB, так и байеровские изображения.
[0106] Блок 101 оценки смещения не использует данные, полученные после 3DNR, так как для получения более надежного результата целесообразно использовать изображения, не подвергнутые 3DNR.
[0107] Банк 103 фильтров модифицируется таким образом, чтобы при восстановлении изображения высокого разрешения по k входным изображениям низкого разрешения хранить фильтры, вычисленные для k, k-1, k-2,…1 изображений низкого разрешения.
[0108] Блок 102 выбора фильтров модифицируется таким образом, чтобы в случае, если для текущего пикселя смещение не для всех входных изображений низкого разрешения вычислено достоверно, то выбираются фильтры для восстановления по изображениям низкого разрешения на основе дробных смещений пикселей из тех изображений низкого разрешения, для которых смещение вычислено достоверно.
[0109] Блок 104 получения изображения высокого разрешения применяет метод сверхразрешения к изображениям низкого разрешения, прошедшим предобработку с учетом областей изображений, где смещения пикселей вычислены неправильно. Области изображений, где смещения пикселей неправильно вычислены, указаны в карте достоверности.
[0110] Если смещения пикселей вычислены достоверно для всех k входных изображений низкого разрешения, блок 104 получения изображения высокого разрешения выполняет вычисление пикселей изображения высокого разрешения с использованием фильтров для k изображений и пикселей входных изображений из k изображений низкого разрешения, подвергнутых 3DNR.
[0111] Если смещения пикселей вычислены достоверно не для всех k входных изображений низкого разрешения, блок 104 получения изображения высокого разрешения выбирает входные пиксели из тех изображений низкого разрешения, для которых достоверно вычислены целочисленные смещения пикселей, вычисляет пиксели изображения высокого разрешения с использованием фильтров для восстановления по изображениям низкого разрешения, полученным из блока 102 набора фильтров.
[0112] Блок 106 предобработки определяет параметры шумоподавления для всех пикселей в изображениях низкого разрешения, включающие в себя модель шума, размер фрагмента изображения, радиус поиска для соседних фрагментов изображения и зависимость стандартного отклонения шума пикселей от яркости пикселей; вычисляет текстурно-зависимые коэффициенты шумоподавления на основе изменений яркости пикселей, при этом каждый текстурно-зависимый коэффициент шумоподавления вычисляется для каждого пикселя изображений низкого разрешения; оценивает значения стандартного отклонения шума пикселей с использованием зависимости стандартного отклонения шума пикселей от яркости пикселей, текстурно-зависимых коэффициентов шумоподавления и коэффициента шумоподавления, заданного пользователем; и выполняет 3DNR на наборе изображений низкого разрешения на основе параметров шумоподавления и оцененных значений стандартного отклонения шума пикселей для получения изображений низкого разрешения с уменьшенным шумом.
[0113] Текстурно-зависимые коэффициенты шумоподавления представляют оценку степени текстурирования изображения и указывают области, потенциально содержащие высокочастотные детали, которые могут быть восстановлены при помощи операций сверхразрешения, и для которых с целью обеспечения лучшего визуального качества 3DNR должно проводиться в меньшем объеме, чем для нетекстурированных областей и областей, имеющих одно доминирующее направление.
[0114]  3DNR определяется моделью шума, которая может быть Гауссовской или Пуассоновской; размером  фрагмента изображения r, с которым производится сравнение других фрагментов изображения, с которыми производится усреднение; радиусом поиска соседних фрагментов R, который определяет максимальное расстояние, на котором могут находится фрагменты изображения, усредняемые с текущим фрагментом; оцененными значениями стандартного отклонения шума пикселей в данной точке изображения , используемой для вычисления весовых коэффициентов фильтра, которые используются для вычисления усредненных значений пикселей.
[0115]  Модель шума , размер фрагмента изображения  ,  радиус поиска соседних фрагментов   и зависимость стандартного отклонения шума пикселей от яркости пикселей   определяются для всего изображения в зависимости от времени экспозиции и коэффициента усиления    при этом большему времени выдержки и большему коэффициенту усиления соответствует Гауссова модель и меньшие значения радиусов, а меньшему времени выдержки и меньшему коэффициенту усиления соответствует Пуассоновская модель и большие значения радиусов. При этом конкретный способ выбора определяется данными из калибровочных таблиц, данные которых определяются экспериментально, либо сообщаются производителем камеры.
[0116] Текстурно-зависимые коэффициенты шумоподавления вычисляют с использованием следующих шагов:
- для входного изображения выполняют гамма-коррекцию значений яркости пикселей изображений низкого разрешения;
- для каждого пикселя входного изображения низкого разрешения вычисляют второе собственное число  матрицы структурного тензора Т, используемого при оценке направленности текстуры изображения;
- выполняют пороговое преобразование , в котором значения, превышающие выбранный эмпирически первый порог, устанавливаются равными первому порогу, а значения, меньшие выбранного эмпирически второго порога, устанавливаются равными второму порогу),
- выполняют нормализацию преобразованных значений   для получения значений  в диапазоне от 0 до 1, такая операция известна в уровне техники и ее подробное описание не требуется,
- производят сглаживание нормализованных значений  с помощью фильтрации низкочастотным фильтром,
- инвертируют сглаженные значения , причем инвертированные значения  являются текстурно-зависимыми коэффициентами шумоподавления.
[0117] Оцененное значение стандартного отклонения шума пикселей   вычисляется отдельно для каждого пикселя с координатами  как произведение  коэффициента шумоподавления , заданного пользователем, текстурно-зависимого коэффициента шумоподавления   и зависимости отклонения шума пикселей от яркости пикселей . Средняя яркость   вычисляется с использованием низкочастотного фильтра, известного из уровня техники.
[0118] Коэффициент шумоподавления  определяет предпочтения пользователя с точки относительно компромисса между уровнем шумоподавления и уровнем сохранения и восстановления высокочастотных деталей изображения.
[0119] Определение параметров шумоподавления и вычисление текстурно-зависимых коэффициентов шумоподавления выполняются одинаково, как для изображений низкого разрешения в формате RGB, так и байеровских изображений низкого разрешения.
[0120] 3DNR для входных изображений в формате RGB производят в соответствии с известными методами, использующими оценку шума.
[0121] Для каждого пикселя входных изображений низкого разрешения результирующий пиксель   изображений низкого разрешения, подвергнутых 3DNR, вычисляется как сумма взвешенных значений этого пикселя и соседних пикселей, лежащих  не далее чем  от текущего пикселя. При этом индивидуальный вес каждого пикселя , соседнего с  определяется как экспоненциальная функция от квадрата расстояния  между фрагментами изображения низкого разрешения, в которых находятся пиксели  и , с обратным знаком, деленного на квадрат оцененного значения стандартного отклонения шума пикселей , а затем делится на сумму индивидуальных весов для всех усредняемых пикселей.
[0122] При использовании Гауссовской модели шума расстояние  вычисляют как сумму квадратов разностей пикселей, лежащих не дальше  от текущего пикселя , и соответствующих пикселей, лежащих на таком же расстоянии.
[0123] При использовании Пуассоновской модели расстояние   вычисляют как сумму функций   от двух аргументов для пикселей, лежащих не дальше  от текущего пикселя , и соответствующих пикселей, лежащих на таком же расстоянии от  где
[0124] Пиксели  могут браться как только из текущего, так и из нескольких входных изображений низкого разрешения, включая изображение низкого разрешения, из которого взят пиксель .
[0125] Реализация 3DNR для байеровских изображений отличается тем, что усредняют только пиксели, принадлежащие одному и тому же цветовому каналу. Реализация 3DNR для байеровских изображений отличается также тем, что при вычислении расстояния   учитываются только пиксели, принадлежащие одному и тому же цветовому каналу.
[0126] Реализация 3DNR для байеровских изображений отличается тем, что при вычислении средней яркости   используют только пиксели, принадлежащие тому же цветовому каналу, что и текущий пиксель. В одной реализации для вычисления средней яркости можно использовать фильтрацию с фильтром , с последующим сглаживанием с помощью фильтра в форме диска, известного из уровня техники.
[0127] Блок 107 оценки карты достоверности генерирует карту достоверности с использованием набора изображений низкого разрешения и наборов смещений пикселей, при этом карта достоверности представляет достоверность вычисления смещений пикселей.
[0128] Для компенсации возможных ошибок, полученных при вычислении смещений пикселей или изменений в сцене, при которых разница между соседними изображениями низкого разрешения очень велика, выполняется обработка с использованием карты достоверности. В обработке с использованием карты достоверности для вычисления изображения высокого разрешения используются только те пиксели, смещения которых вычислены достоверно.
[0129] Карта достоверности M имеет размерность W x H x k, где W и H - количество пикселей по вертикали и горизонтали, соответственно, для изображения высокого разрешения, которое должно быть получено из входных изображений низкого разрешения, имеющих размер W/s x H/s, а k - количество входных изображений низкого разрешения. Каждый элемент карты достоверности может принимать значения 1 для пикселей, смещение которых вычислено достоверно, и 0 - для пикселей, смещение которых вычислено недостоверно. Смещения всех пикселей первого изображения низкого разрешения принимается нулевым и считается достоверным.
[0130] Карту достоверности для входных изображений низкого разрешения в формате RGB вычисляют с использованием следующих шагов:
- для входных изображений низкого разрешения кроме первого изображения низкого разрешения выполняют компенсацию смещений пикселей с использованием вычисленных смещений пикселей и получают скомпенсированные изображения низкого разрешения, причем компенсация смещения пикселей выполняется любым методом, известным в уровне техники;
- для всех скомпенсированных изображений низкого разрешения выполняют баланс белого, гамма-коррекцию, Гауссовскую фильтрацию и преобразование в цветовое пространство LST согласно формулам , причем баланс белого, гамма-коррекция, Гауссовская фильтрация выполняется методом, известным в уровне техники;
- вычисляют попиксельно Евклидово расстояние между пикселями в первом изображений низкого разрешения в пространстве LST и пикселями скомпенсированных изображений низкого разрешения в пространстве LST, проводят фильтрацию вычисленных Евклидовых расстояний с помощью низкочастотного фильтра, известного в уровне техники, и выполняют нелинейное преобразование, согласно уравнению: ;
- вычисляют попиксельно индекс SSIM (индекс структурного сходства) между первым изображением низкого разрешения в пространстве LST и каждым из скомпенсированных изображений низкого разрешения в пространстве LST, количество которых равно k-1, и присваивают индексу SSIM значение 0 для тех пикселей, для которых значение индекса SSIM отрицательно;
- вычисляют для каждого пикселя скомпенсированных изображений низкого разрешения в пространстве LST частное произведения фильтрованного, нелинейно преобразованного Евклидова расстояния и индекса SSIM и суммы фильтрованного, нелинейно преобразованного Евклидова расстояния и индекса SSIM для получения промежуточной карты, состоящей из значений частного, вычисленных для пикселей скомпенсированных изображений низкого разрешения в пространстве LST, и значений для пикселей первого изображения низкого разрешения, каждому из которых присвоена 1, причем полученная промежуточная карта имеет размер W/s x H/s x k;
- масштабируют промежуточную карту так, чтобы сделать ее размер равным W x H x k;
- вычисляют карту достоверности путем порогового преобразования масштабированной промежуточной карты, при этом значениям частного, превышающим порог, присваивают 1, остальным значениям частного присваивают 0, а значения для пикселей первого изображения низкого разрешения оставляют равными 1. Порог выбирается пользователем и отражает представление пользователя о том, какие ошибки вычисления смещений пикселей считать неприемлемыми.
[0131] Вычисление карты достоверности для байеровских изображений отличается тем, что компенсацию смещений пикселей выполняют с использованием следующих шагов:
- разделяют пиксели всех входных изображений низкого разрешения на отдельные цветовые каналы G1, G2, R и B, как изображено на фиг. 5 в качестве неограничивающего примера;
- суммируют пиксели цветовых каналов G1 и G2 с одинаковыми позициями во всех входных изображениях низкого разрешения и делят полученные суммы пикселей цветовых каналов G1 и G2 на 2, чтобы получить канал G.
[0132] Остальные операции для вычисления карты достоверности для байеровских изображений являются такими же, как и для изображений в формате RGB.
[0133] Блок 105 оценки направления текстуры определяет направления текстуры в изображениях низкого разрешения с уменьшенным шумом, полученных блоком 106 предобработки.
[0134] Блок 102 выбора фильтров выбирает либо наборы ненаправленных фильтров, либо наборы направленных фильтров на основе карты достоверности, наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения с уменьшенным шумом.
[0135] Блок 104 получения изображения высокого разрешения получает изображения высокого разрешения в формате RGB посредством вычисления пикселей изображения высокого разрешения с использованием карты достоверности, набора изображений низкого разрешения с уменьшенным шумом, выбранных наборов фильтров и наборов целочисленных смещений пикселей.
[0136] Операции получения изображения высокого разрешения с использованием карты достоверности и набора изображений низкого разрешения с уменьшенным шумом (подвергнутых 3DNR) выполняются блоком 104 получения изображения высокого разрешения одинаково как для входных изображений низкого разрешения в формате RGB, так и входных байеровских изображений низкого разрешения с учетом отличий, описанных выше в подробном описании получения изображения высокого разрешения блоком 104 получения изображения высокого разрешения.
[0137] Для осуществления фильтрации цветовых артефактов, оставшихся в изображении высокого разрешения устройство 100 для обработки данных для сверхразрешения дополнительно содержит блок 108 постобработки. Вариант осуществления устройства 100 для обработки данных для сверхразрешения, содержащего блок 108 постобработки предназначен для обработки только байеровских изображений.
[0138] Блок 108 постобработки выполняет преобразование изображения высокого разрешения в формате RGB, полученного модулем получения изображения высокого разрешения, в изображение в формате YUV. Затем блок 108 постобработки обрабатывает изображение в формате YUV посредством: вычисления карты стандартных отклонений пикселей в канале Y методом скользящего окна, вычисления опорного канала Ref для кросс-билатеральной фильтрации путем сглаживания карты стандартных отклонений пикселей с помощью гауссовской фильтрации, и выполнения кросс-билатеральной фильтрации каналов U и V с использованием опорного канала Ref. После обработки изображения в формате YUV блок 108 постобработки выполняет обратное преобразование обработанного изображения в формате YUV в прошедшее постобработку изображение высокого разрешения в формате RGB.
[0139] Предложенный способ обработки данных для сверхразрешения предназначен для получения изображения высокого разрешения из набора изображений низкого разрешения одной сцены. Способ обработки данных для сверхразрешения может выполняться как с входными изображениями в формате RGB, так и с входными байеровскими изображениями, причем операция демозаикинга для преобразования байеровских изображений в изображения в формате RGB не требуется. Способ обработки данных для сверхразрешения выполняется описанным выше устройством 100 для обработки данных для сверхразрешения. Операции, выполняемые блоками устройства 100 для обработки данных для сверхразрешения, полностью соответствуют операциям, выполняемым на этапах способа обработки данных для сверхразрешения. Поскольку операции, выполняемые блоками устройства 100 для обработки данных для сверхразрешения, подробно описаны выше, то подробное описание операций, содержащихся в этапах способа обработки данных для сверхразрешения, опушено.
[0140] В одном варианте осуществления способ обработки данных для сверхразрешения содержит этапы, на которых: принимают набор изображений низкого разрешения одной сцены; получают наборы смещений пикселей для изображений низкого разрешения для всех пикселей, соответствующих одним и тем же фрагментам в наборе изображений низкого разрешения, посредством вычисления смещений пикселей для пикселей, соответствующих одним тем же фрагментам в изображениях низкого разрешения, относительно пикселей, соответствующих тем же фрагментам в первом изображении низкого разрешения, выбранном из набора изображений низкого разрешения; получают наборы целочисленных смещений пикселей посредством вычисления целочисленного смещения пикселя для каждого смещения пикселя, при этом наборы целочисленных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения; получают наборы дробных смещений пикселей посредством вычисления дробного смещения пикселя для каждого смещения пикселя, при этом наборы дробных смещений пикселей соответствуют наборам смещений пикселей для изображений низкого разрешения; выбирают наборы фильтров из предварительно вычисленных наборов фильтров на основе наборов дробных смещений пикселей; получают изображение высокого разрешения в формате RGB посредством вычисления пикселей изображения высокого разрешения с использованием набора изображений низкого разрешения, выбранных наборов фильтров и наборов целочисленных смещений пикселей.
[0141] В другом варианте осуществления способ обработки данных для сверхразрешения может дополнительно включать в себя этапы предварительного вычисления наборов фильтров, на которых задают конечное число дробных смещений пикселей; генерируют наборы дробных смещений пикселей посредством выбора всех комбинаций дробных смещений пикселей; и вычисляют наборы фильтров на основе наборов дробных смещений пикселей и регуляризатора, описывающего локальные ограничения для сверхразрешения.
[0142] В еще одном варианте осуществления способа обработки данных для сверхразрешения учитывается направленность текстуры изображения при получении изображения высокого разрешения из набора изображений низкого разрешения одной сцены. В этом варианте осуществления способ обработки данных для сверхразрешения дополнительно содержит этап, на котором определяют направления текстуры изображений низкого разрешения, при этом предварительно вычисленные наборы фильтров включают в себя наборы ненаправленных фильтров и наборы направленных фильтров, а выбор наборов фильтров содержит выбор либо наборов ненаправленных фильтров, либо наборов направленных фильтров на основе наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения. Ненаправленные фильтры ассоциированы с областями изображения, содержащими ненаправленную текстуру, а направленные фильтры ассоциированы с областями изображения, содержащими направленную текстуру.
[0143] В еще одном варианте осуществления способа обработки данных для сверхразрешения учитываются дополнительные ограничения, такие, как шум, присутствующий во входных изображениях низкого разрешения, недостоверная оценка смещений пикселей в некоторых областях изображений низкого разрешения или объективная невозможность оценить смещения пикселей в силу резкого изменения изображений, например, вызванного сменой освещения, а также наличие остаточных цветовых артефактов в выходном изображении.
[0144] В этом варианте осуществления способ обработки данных для сверхразрешения дополнительно содержит этапы, на которых: определяют параметры шумоподавления для всех пикселей в изображениях низкого разрешения, включающие в себя модель шума, размер фрагмента изображения, радиус поиска для соседних фрагментов изображения и зависимость стандартного отклонения шума пикселей от яркости пикселей; вычисляют текстурно-зависимые коэффициенты шумоподавления на основе изменений яркости пикселей, при этом каждый текстурно-зависимый коэффициент шумоподавления вычисляют для каждого пикселя изображений низкого разрешения; оценивают значения стандартного отклонения шума пикселей с использованием зависимости стандартного отклонения шума пикселей от яркости пикселей, текстурно-зависимых коэффициентов шумоподавления и коэффициента шумоподавления, заданного пользователем; выполняют трехмерное шумоподавление (3DNR) на наборе изображений низкого разрешения на основе параметров шумоподавления и оцененных значений стандартного отклонения шума пикселей для получения изображений низкого разрешения с уменьшенным шумом; и генерируют карту достоверности с использованием набора изображений низкого разрешения и наборов смещений пикселей. Карта достоверности представляет достоверность вычисления смещений пикселей, при этом определение направлений текстуры изображений низкого разрешения содержит определение направлений текстуры изображений низкого разрешения с уменьшенным шумом.
[0145] В этом варианте осуществления выбор наборов фильтров содержит выбор либо наборов ненаправленных фильтров, либо наборов направленных фильтров на основе карты достоверности, наборов дробных смещений пикселей и направлений текстуры в изображениях низкого разрешения с уменьшенным шумом; при этом получение изображения высокого разрешения в формате RGB содержит вычисление пикселей изображения высокого разрешения с использованием карты достоверности, набора изображений низкого разрешения с уменьшенным шумом, выбранных наборов фильтров и наборов целочисленных смещений пикселей.
[0146] Для фильтрации цветовых артефактов, оставшихся в изображении высокого разрешения способ обработки данных для сверхразрешения дополнительно содержит этапы, на которых: преобразуют изображение высокого разрешения в формате RGB в изображение в формате YUV; обрабатывают изображение в формате YUV; и выполняют обратное преобразование обработанного изображения в формате YUV в прошедшее постобработку изображение высокого разрешения в формате RGB.
[0147] Обработку изображения в формате YUV выполняют посредством: вычисления карты стандартных отклонений пикселей в канале Y методом скользящего окна, вычисления опорного канала Ref путем сглаживания карты стандартных отклонений пикселей с помощью гауссовской фильтрации и кросс-билатеральной фильтрации каналов U и V с использованием опорного канала Ref.
[0148] Настоящее изобретение может быть применено в различных системах захвата изображений с одной или более камерами, включающими в себя систему, поддерживающую функцию серийной (пакетной) съемки. Настоящее изобретение может использоваться как «цифровое масштабирование», так и для увеличения мегапикселей изображения (Mpx) в общем сценарии использования камер. Настоящее изобретение может использоваться в применениях, требующих оптическое распознавание символов (OCR). Настоящее изобретение может быть реализовано в виде однокристальной системы (SoC), как программное обеспечение, использующее процессор общего назначения, цифровой сигнальный процессор (DSP) и/или центральный процессор (CPU), или частично как SoC, и частично как программное обеспечение. Кроме того, настоящее изобретение может быть реализовано как отдельное устройство или часть процессора сигналов изображения (ISP).
[0149] Настоящее изобретение не должно ограничиваться приведенными выше примерами использования и реализации настоящего изобретения, и специалисту в данной области должно быть очевидно, что другие типы использования и реализации настоящего изобретения могут применяться для повышения качества изображений и видео.
[0150] Вышеупомянутое описание вариантов осуществления изобретения является иллюстративными, а модификации конфигурации и реализации находятся в пределах объема настоящего описания. Например, хотя варианты осуществления изобретения, в целом, описаны в отношении фиг. 1-3, эти описания являются примерными. Хотя объект патентования был описан на языке, специфичном для конструктивных признаков или методологических действий, понятно, что объект патентования, заданный в прилагаемой формуле изобретения, необязательно ограничивается конкретными признаками или действиями, описанными выше. Скорее, конкретные признаки и действия, описанные выше, раскрыты в качестве примеров форм реализации формулы изобретения. Кроме того, изобретение не ограничено проиллюстрированным порядком этапов способа, порядок может быть изменен специалистом в данной области без творческих усилий. Некоторые или все этапы способа могут выполняться последовательно или одновременно.