УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ

Полезная модель относится к области обработки данных изображения, а именно к устройствам обработки изображения, и может применяться в системах видеонаблюдения и видеоаналитики.
в последнее время наблюдается активное развитие технологий и алгоритмов, позволяющих анализировать видеопоток. Многие алгоритмы видеоаналитики используют для ускорения работы предварительно обработанное изображение, в частности интегральное изображение.
С другой стороны увеличение разрешения и частоты кадров видеопотока, требует увеличения объема оборудования, необходимого для обработки и хранения данных видеоизображения, повышения скорости обработки, увеличения пропускной способности трактов передачи данных между обрабатывающими модулями и внешней памятью.
Современный уровень развития технологии СБИС (сверх больших интегральных микросхем) не позволяет разместить на кристалле достаточное количество памяти для хранения полноразмерных кадров видеоизображения высокого разрешения. Кроме того, пропускная способность современных интерфейсов внешней памяти недостаточна для применения современных алгоритмов обработки видеоизображений высокого разрешения на большой скорости.
Для решения вышеупомянутых задач в заявленной полезной модели применяют технологию обработки данных видеоизображения «на проходе» (без записи исходного изображения в память и последующего считывания из нее для обработки) при этом используют небольшие по объему буферы памяти, что позволяет вычислить интегральное изображение и изображение квадратов яркостей пикселей исходного изображения и оптимизировать работу алгоритмов видеоаналитики, таких как позиционирование объектов на сцене и других.
Наиболее близким к заявленной полезной модели является устройство обработки изображения, описанное в патенте CN 103236034 A, в котором вычисляют интегральное изображение путем разбиения исходного изображения на блоки с последующей обработкой этих блоков. Данное устройство выбрано в качестве прототипа заявленной полезной модели.
Недостатком устройства обработки изображения прототипа является то, что оно предъявляет высокие требования к пропускной способности памяти, поскольку работает по принципу из памяти в память, то есть в нем сначала считывают исходное изображение из памяти, а затем записывают обработанное изображение обратно в память. Кроме того в устройстве прототипе необходимо хранить в памяти исходное изображение, что требует большого объема памяти.
Задачей заявленной полезной модели является создание устройства обработки изображения, которое требует меньшей пропускной способности и меньшего объема памяти за счет обработки исходного изображения «на проходе», то есть без записи исходного изображения в память и последующего считывания изображения из памяти для выполнения обработки.
Поставленная задача решена путем создания устройства обработки изображения, содержащего входной контроллер, соединенный с блоком вычисления интегрального изображения, соединенным с выходным контроллером, в котором входной контроллер выполнен с возможностью приема исходного растрового изображения в виде потока пикселов от источника изображения, с возможностью предварительной обработки изображения и с возможностью передачи его в блок вычисления интегрального изображения, который по мере поступления от входного контроллера данных яркости пикселей исходного растрового изображения, расположенных вблизи текущего пикселя исходного растрового изображения, выполнен с возможностью вычисления значения яркости текущего пикселя интегрального изображения и значения яркости текущего пикселя интегрального изображения квадрата яркости пикселей исходного растрового изображения, и с возможностью передачи вычисленных значений яркости текущих пикселей интегрального изображения и интегрального изображения квадрата яркости в контроллер памяти, который выполнен с возможностью записи в память вычисленных значений яркости текущих пикселей интегрального изображения и интегрального изображения квадрата яркости, при этом формирования в памяти интегрального изображения и интегрального изображения квадрата яркости.
В предпочтительном варианте осуществления устройства источник изображения выбран из набора источников изображения, содержащего CMOS-сенсор, видеокамеру, контроллер памяти.
В предпочтительном варианте осуществления устройства входной контроллер выполнен с возможностью предварительной обработки изображения одним из методов обработки изображения, выбранного из набора методов, содержащего демозаику маски Байера, регулировку баланса белого, геометрическую коррекцию.
В предпочтительном варианте осуществления устройства блок вычисления интегрального изображения выполнен с возможностью вычисления значения яркости текущего пикселя интегрального изображения и значения яркости текущего пикселя изображения квадрата яркости, при этом упаковывания вычисленных значений яркости пикселей в слова длиной 64 бита.
В предпочтительном варианте осуществления устройства блок вычисления интегрального изображения выполнен с возможностью вычисления значения яркости текущего пикселя интегрального изображения и значения яркости текущего пикселя изображения квадрата яркости, при этом упаковывания вычисленных значений яркости пикселей в слова длиной 64 бита, причем способ упаковывания выбирают пользователем из двух способов, в первом из которых упаковывают младшие 29 бит интегрального изображения и младшие 35 бит изображения квадратов яркостей, во втором из которых упаковывают старшие 29 бит интегрального изображения и старшие 35 бит изображения квадрата яркости.
В предпочтительном варианте осуществления устройства по мере поступления от входного контроллера данных яркости пикселей исходного растрового изображения, расположенных выше и левее текущего пикселя исходного растрового изображения, блок вычисления интегрального изображения выполнен с возможностью вычисления значения яркости текущего пикселя интегрального изображения с координатами (i, j), где i - координата по горизонтали, j - координата по вертикали, при этом суммируют яркости всех пикселей исходного растрового изображения, расположенных выше и левее текущего пикселя исходного растрового изображения с координатами i, j согласно выражению
Sum=ST+SC[i]+P[i,j],
где ST - значение регистра памяти, в который записывают сумму яркостей всех пикселей исходного растрового изображения, расположенных выше и левее текущего пикселя; SC[i] - значение регистра памяти, в который записывают сумму яркостей всех пикселей исходного растрового изображения, расположенных в столбце i выше текущего пикселя; P[i,j] - яркость текущего пикселя.
В предпочтительном варианте осуществления устройства по мере поступления от входного контроллера данных яркости пикселей исходного растрового изображения, расположенных выше и левее текущего пикселя исходного растрового изображения, блок вычисления интегрального изображения выполнен с возможностью вычисления значения яркости текущего пикселя интегрального изображения квадрата яркости с координатами (i, j), где i - координата по горизонтали, j - координата по вертикали, суммируют квадраты яркостей всех пикселей исходного растрового изображения, расположенных выше и левее текущего пикселя исходного растрового изображения с координатами i, j согласно выражению
Sum2=STD+SCD[i]+P2,
где STD - значение регистра памяти, в который записывают сумму квадратов яркостей всех пикселей исходного растрового изображения, расположенных выше и левее текущего пикселя; SCD[i] - значение регистра памяти, в который записывают сумму квадратов яркостей всех пикселей исходного растрового изображения, расположенных в столбце i выше текущего пикселя; P2=P[i,j]*P[i,j] - квадрат яркости текущего пикселя P[i,j] исходного растрового изображения.
Для лучшего понимания заявленной полезной модели далее приводится ее подробное описание с соответствующими графическими материалами.
Фиг. 1. Структурная схема устройства обработки изображения, выполненная согласно полезной модели.
Элементы:
1 - входной контроллер;
2 - блок вычисления интегрального изображения;
3 - контроллер памяти.
Фиг. 2. Схема вычисления интегрального изображения, выполненная согласно полезной модели.
Заявленное устройство обработки изображения содержит входной контроллер 1, который соединен с блоком вычисления интегрального изображения 2, который соединен с выходным контроллером 3. Заявленное устройство может являться частью более сложного тракта обработки изображения и в общем виде работает следующим образом (Фиг. 1-2). На вход входного контроллера 1 подают исходное растровое видеоизображение от внешнего источника (CMOS-сенсор, видеокамера, линия передачи). Разрядность данных исходного изображения составляет 8 бит на пиксел для монохромного изображения разрешения максимум 2048 строк по 2048 пикселей. Выполняют предварительную обработку изображения посредством входного контроллера 1 и передают данные исходного предварительно обработанного изображения на логические схемы блока 2 вычисления интегрального изображения, которые вычисляют интегральное изображение и интегральное изображение квадрата яркости. Полученные в результате обработки интегральное изображение и интегральное изображение квадрата яркости упаковывают в 64 битные слова данных по одному слову на пиксел и выдают в выходной контроллер 3, посредством которого в младших 29 бит в памяти размещают интегральное изображение, в старших 35 бит в памяти интегральное изображение квадрата яркости.
Рассмотрим более подробно вариант выполнения заявленного устройства обработки изображения (Фиг. 1-2). Исходное растровое изображение (поток пикселов) принимают от источника изображения (CMOS-сенсор, видеокамера, контроллер памяти) посредством входного контроллера 1 (Input_Ctrl), далее данные передают в блок 2 вычисления интегрального изображения (Integral_Img), результат вычислений которого передают в контроллер 3 памяти (Outpu_Ctrl).
Интегральное изображение - это изображение, у которого яркость каждого пиксела есть сумма яркостей всех пикселей исходного изображения лежащих выше и левее данного пиксела интегрального изображения:
Вычисление яркости каждого пиксела интегрального изображения посредством блока 2 вычисления интегрального изображения, выполняют по области (Фиг. 2.) ограниченной текущим пикселем (вертикальная штриховка) и левым верхним углом исходного изображения (координаты пикселя в левом верхнем углу (0,0)), путем суммирования яркости пикселей, находящихся в данной области.
Для вычисления используют память, в которую записывают суммы яркостей пикселей исходного изображения по столбцам до предыдущей строки (выделена наклонной штриховкой) включительно и суммы яркостей пикселей исходного изображения до текущего пикселя в строке (выделена горизонтальной штриховкой).
Блок 2 вычисления интегрального изображения использует итерационный алгоритм.
До начала обработки исходного изображения обнуляют все регистры памяти, используемые для вычисления: регистр ST 30 бит; массив SC 2048 элементов по 19 бит; регистр временных данных TMP 38 бит.
Массив временных данных SC содержит суммы яркостей пикселей исходного изображения по столбцам.
Для накапливания суммы яркостей пикселей исходного изображения по области используют регистр ST, в который записывают сумму значений яркости всех пикселей исходного изображения, расположенных выше и левее текущего пикселя исходного изображения.
Перед началом обработки новой строки исходного изображения регистр ST обнуляют.
Значение яркости текущего пикселя интегрального изображения с координатами (i, j), где i - координата по горизонтали, j - координата по вертикали вычисляют в виде суммы яркости пикселей исходного изображения посредством блока 2 вычисления интегрального изображения согласно следующей формуле:
Sum=ST+SC[i]+P[i,j],
где P[i,j] - яркость текущего пиксела исходного изображения с координатами (i,j). После чего перезаписывают текущее значение суммы столбца в массиве: TMP=SC[i]+P[i,j], SC[i]=TMP, перезаписывают значение регистра: TMP=ST+SC[i], ST=TMP и переходят к вычислению значения яркости следующего пикселя интегрального изображения.
Для вычисления значения яркости текущего пикселя интегрального изображения квадрата яркости выполняют по аналогичному методу. Отличие заключается только в разрядности используемых регистров памяти: регистр STD 38 бит; массив SCD 2048 элементов по 27 бит.
Квадрат яркости текущего пикселя исходного изображения: P2=P[i,j]*P[i,j].
Сумма квадратов: Sum2=STD+SCD[i]+Р2.
Сумма квадратов в столбце: TMP=SCD[i]+P2, SCD[i]=TMP.
Сумма квадратов в строке: TMP=STD+SCD[i], STD=TMP.
Для записи в 64 битный регистр памяти значений яркости текущего пикселя интегрального изображения и интегрального изображения квадрата яркости отбрасывают младшие биты.
Если разрядность данных интегрального изображения не умещается в 29 бит, то в зависимости от настроек берут младшие или старшие 29 бит.
Если разрядность данных интегрального изображения квадрата яркости не умещается в 35 бит, то зависимости от настроек берут младшие или старшие 35 бит.
Данные упаковывают в 64 бита, данные интегрального изображения занимают в памяти младшие 29 бит из 64, данные интегрального изображения квадрата яркости занимают в памяти старшие 35 бит из 64.
Описанные выше методы вычисления значения яркости текущего пикселя интегрального изображения и интегрального изображения квадрата яркости позволяют сэкономить 34% объема памяти по сравнению с методом вычисления без как-либо оптимизаций и выровнять данные по границе 64 битного слова.
Заявленная полезная модель позволяет обрабатывать изображение «на проходе» при наличии аппаратных ограничений на объем внутренней памяти на кристалле и пропускную способность интерфейса внешней памяти, снижая количество передаваемых данных по каналу передачи блок вычисления интегрального изображения - память, обеспечивая снижение требований к объему внутренней памяти устройства и позволяя повысить скорость обработки изображения алгоритмами видеоаналитики.
Хотя описанный выше вариант выполнения полезной модели был изложен с целью иллюстрации настоящей полезной модели, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла настоящей полезной модели, раскрытого в прилагаемой формуле полезной модели.