Способ и система обработки изображения

Иллюстрации

Показать все

Изобретение относится к области обработки данных, а именно к способам и системам обработки изображения, и может быть применено для формирования, хранения и загрузки битового потока закодированного изображения в устройствах обработки видеоизображения. Техническим результатом является обеспечение оптимизации использования внешней памяти и увеличение пропускной способности внешней памяти электронно-вычислительной системы на кристалле за счет сжатия изображения и сохранения сжатого изображения во внешней памяти таким образом, который позволяет минимизировать обращения обработчика изображения к внешней памяти и обеспечивает доступ к произвольной части изображения во внешней памяти. Система обработки изображения содержит кодер 1 JPEG, который соединен с источником 8 исходного изображения и с внешней памятью 7, декодер 2 JPEG, который соединен с кэшем 3 декодированных данных, который соединен с обработчиком 6 изображения и с кэшем 4 закодированных данных, который соединен с внешней памятью 7, с декодером 2 JPEG и с кэшем 5 длин микроблоков, который соединен с внешней памятью 7. Обработчик 6 изображения может быть выполнен в виде графического контроллера (GPU). 2 н. и 8 з.п. ф-лы, 3 ил.

Реферат

Изобретение относится к области обработки данных, а именно к способам и системам обработки изображения, и может быть применено для формирования, хранения и загрузки битового потока закодированного изображения в устройствах обработки видео изображения, предназначенных для сжатия изображения, видеоаналитики, фильтрации изображения, построения 3D моделей по исходному изображению и т.д.

В настоящее время в области цифровой обработки видео- и фотоизображений высокой четкости (Full HD, Ultra HD и т.д.) к модулю обработки изображения предъявляется требование высокой пропускной способности при передаче данных между внешней памятью, источником изображения и обработчиком изображения, а также требование локализации всего процесса обработки изображения в рамках одной системы на кристалле. Существующие типы памяти (такие как DDR2, DDR3) позволяют получить пропускную способность шины передачи данных до 8 ГБ/с (теоретическая максимальная пропускная способность). Размеры несжатого кадра изображения в зависимости от разрешения и разрядности пикселя могут варьироваться в пределах от 8 МБ до 240 МБ. Таким образом, теоретически возможное количество кадров в секунду, снятое сенсором или видеокамерой высокой и сверхвысокой четкости, может быть от 100 до 30. Эти оценки приведены только для процесса сохранения исходного изображения во внешней памяти, не учитывая его обработку (сжатие, видеоаналитика, фильтрация и т.д.). То есть при необходимости обработки исходного изображения каждый последовательный алгоритм обработки уменьшает число возможных кадров в секунду в 2-3 раза. В контексте этой проблемы становится актуальным уменьшение размера обрабатываемого изображения и распараллеливание выполнения алгоритма обработки.

Наиболее близкими к заявленному изобретению являются способ и система обработки изображения (заявка US 20130182966) посредством размещения в памяти закодированного с помощью JPEG изображения в виде блоков с целью оптимизации обращений в память со стороны обработчиков изображения (DSP, Image Processor и т.д.) и организации доступа к произвольной части закодированного изображения. Данные способ и система выбраны в качестве прототипов заявленного изобретения.

Недостатком способа и системы прототипов является то, что в них неясно, каким образом организован доступ к памяти обработчиков изображения.

Задачей заявленного изобретения является создание способа и системы обработки изображения, которые оптимизируют использование внешней памяти и увеличивают пропускную способность внешней памяти электронно-вычислительной системы на кристалле, за счет сжатия изображения и сохранения сжатого изображения во внешней памяти таким образом, который позволяет минимизировать обращения обработчика изображения к внешней памяти и обеспечивает доступ к произвольной части изображения во внешней.

Поставленная задача решена путем создания способа обработки изображения, содержащего этап сжатия изображения и этап загрузки сжатого изображения, в котором на этапе сжатия изображения выполняют следующие операции: загружают исходное изображение в кодер JPEG по частям, посредством кодера JPEG разбивают исходное изображение на микроблоки, каждый из которых состоит из заданного числа блоков MCU, определяют для каждого микроблока, исходя из его максимального размера, начальный адрес и размер области расположения сжатого микроблока и области расположения информации о длине сжатого микроблока во внешней памяти, сжимают микроблоки по стандарту JPEG, при этом формируют выходной битовый поток сжатого изображения, определяют его длину и сохраняют выходной битовый поток сжатого изображения в определенные области во внешней памяти, при этом сжатые микроблоки и информацию об их длинах одного макроблока сохраняют в соседние области во внешней памяти; на этапе загрузки сжатого изображения выполняют следующие операции: посредством обработчика изображения формируют запрос данных в кэш декодированных данных, посредством кэша декодированных данных определяют наличие в нем запрашиваемых данных, при наличии запрашиваемых данных посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные, при отсутствии запрашиваемых данных посредством кэша декодированных данных формируют запрос данных в кэш закодированных данных, посредством кэша закодированных данных определяют наличие в нем запрашиваемых данных, при наличии запрашиваемых данных посредством кэша закодированных данных направляют закодированные запрашиваемые данные в декодер JPEG, посредством декодера JPEG декодируют закодированные запрашиваемые данные и передают декодированные запрашиваемые данные в кэш декодированных данных, посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные, при отсутствии запрашиваемых данных посредством кэша закодированных данных формируют запрос данных в кэш длин микроблоков, посредством кэша длин микроблоков определяют наличие в нем длин запрашиваемых микроблоков, при наличии длин запрашиваемых микроблоков посредством кэша длин микроблоков направляют в кэш закодированных данных длины запрашиваемых микроблоков, посредством кэша закодированных данных формируют запрос данных во внешнюю память по определенным адресам, загружают из внешней памяти закодированные запрашиваемые данные и направляют в декодер JPEG, посредством декодера JPEG декодируют закодированные запрашиваемые данные и передают декодированные запрашиваемые данные в кэш декодированных данных, посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные, при отсутствии длин запрашиваемых микроблоков посредством кэша длин микроблоков формируют запрос длин микроблоков во внешнюю память по заданным адресам, загружают из внешней памяти запрошенные длины микроблоков и передают их в кэш закодированных данных, посредством кэша закодированных данных формируют запрос данных во внешнюю память по определенным адресам, загружают из внешней памяти закодированные запрашиваемые данные и направляют в декодер JPEG, посредством декодера JPEG декодируют закодированные запрашиваемые данные и передают декодированные запрашиваемые данные в кэш декодированных данных, посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные.

В предпочтительном варианте осуществления способа загружают исходное изображение в один из внутренних буферов кодера JPEG по частям, а именно по строкам или по блокам блоками.

В предпочтительном варианте осуществления способа разбивают исходное изображение на микроблоки, каждый из которых состоит из блоков MCU, число которых для каждого микроблока предварительно задано пользователем исходя из необходимой ширины макроблока.

В предпочтительном варианте осуществления способа информацию о длинах сжатых микроблоков одного макроблока сохраняют в соседние ячейки во внешней памяти.

В предпочтительном варианте осуществления способа обработчик изображения выполнен в виде графического контроллера (GPU).

Поставленная задача решена также путем создания системы обработки изображения, содержащего кодер JPEG, который соединен с источником исходного изображения и с внешней памятью, декодер JPEG, который соединен с кэшем декодированных данных, который соединен с обработчиком изображения и с кэшем закодированных данных, который соединен с внешней памятью, с декодером JPEG и с кэшем длин микроблоков, который соединен с внешней памятью, причем на этапе сжатия изображения кодер JPEG выполнен с возможностью получения по частям исходного изображения, с возможностью разбиения исходного изображения на микроблоки, каждый из которых состоит из заданного числа блоков MCU, с возможностью определения для каждого микроблока, исходя из его максимального размера, начального адреса и размера области расположения сжатого микроблока и области расположения информации о длине сжатого микроблока во внешней памяти, а также с возможностью сжатия микроблоков по стандарту JPEG, при этом формирования выходного битового потока сжатого изображения, с возможностью определения его длины и с возможностью сохранения выходного битового потока сжатого изображения в определенные области во внешней памяти, при этом сохранения в соседние области во внешней памяти сжатых микроблоков и информации об их длинах одного макроблока; на этапе загрузки сжатого изображения обработчик изображения выполнен с возможностью формирования запроса данных в кэше декодированных данных, кэша декодированных данных выполнен с возможностью определения наличия в нем запрашиваемых данных, и при наличии запрашиваемых данных кэш декодированных данных выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных, а при отсутствии запрашиваемых данных кэш декодированных данных выполнен с возможностью формирования запроса данных в кэш закодированных данных, который выполнен с возможностью определения наличия в нем запрашиваемых данных, при наличии запрашиваемых данных кэш закодированных данных выполнен с возможностью направления закодированных запрашиваемых данных в декодер JPEG, который выполнен с возможностью декодирования закодированных запрашиваемых данных и передачи декодированных запрашиваемых данных в кэш декодированных данных, который выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных, при отсутствии запрашиваемых данных кэш закодированных данных выполнен с возможностью формирования запроса данных в кэш длин микроблоков, который выполнен с возможностью определения наличия в нем длин запрашиваемых микроблоков, при наличии длин запрашиваемых микроблоков кэш длин микроблоков выполнен с возможностью направления данных длин запрашиваемых микроблоков в кэш закодированных, который выполнен с возможностью формирования запроса данных во внешнюю память по определенным адресам, с возможностью загрузки закодированных запрашиваемых данных из внешней памяти и направления в декодер JPEG, который выполнен с возможностью декодирования закодированных запрашиваемых данных и передачи декодированных запрашиваемых данных в кэш декодированных данных, который выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных, при отсутствии длин запрашиваемых микроблоков кэш длин микроблоков выполнен с возможностью формирования запроса длин микроблоков во внешнюю память по заданным адресам, с возможностью загрузки из внешней памяти запрошенных длин микроблоков и передачи их в кэш закодированных данных, который выполнен с возможностью формирования запроса данных во внешнюю память по определенным адресам, с возможностью загрузки из внешней памяти закодированных запрашиваемых данных и направления их в декодер JPEG, который выполнен с возможностью декодирования закодированных запрашиваемых данных и передачи декодированных запрашиваемых данных в кэш декодированных данных, который выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных.

В предпочтительном варианте осуществления системы источником исходного изображения является CMOS-сенсор или канал связи.

В предпочтительном варианте осуществления системы кодер JPEG выполнен с возможностью разбиения исходного изображения на микроблоки, каждый из которых состоит из заданного числа блоков MCU, число которых для каждого микроблока предварительно задано пользователем исходя из необходимой ширины макроблока.

В предпочтительном варианте осуществления системы кодер JPEG выполнен с возможностью сохранения выходного битового потока сжатого изображения в соседние ячейки во внешней памяти.

В предпочтительном варианте осуществления системы обработчик изображения выполнен в виде графического контроллера (GPU).

Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими графическими материалами.

Фиг.1. Схема системы обработки изображения, выполненная согласно изобретению.

Элементы:

1 - кодер JPEG;

2 - декодер JPEG;

3 - кэш декодированных данных;

4 - кэш закодированных данных;

5 - кэш длин микроблоков;

6 - обработчик изображения;

7 - внешняя память;

8 - источник изображения.

Фиг.2. Схема расположения данных сжатого изображения во внешней памяти, выполненная согласно изобретению.

Элементы:

9 - блок MCU:

10 - микроблок;

11 - макроблок.

Фиг.3. Схема электронно-вычислительной системы, в которой могут применяться заявленные способ и система обработки изображения.

Элементы: управляющий процессор (CPU), контроллер внешней памяти (DDR), графический контроллер (GPU), контроллер первичной обработки изображения (IPP). контроллер вывода изображения (LCD), обработчики изображения (DSP, Video Codec, Intelligent Video Processor).

В общем виде работу заявленных способа и системы обработки изображения можно описать следующим образом (Фиг.1, 2). Исходное изображение, поступающее из источника изображения (например, CMOS-сенсора, канала связи и т.д.), разбивают на микроблоки 10, состоящие из блоков 9 MCU (minimum coding unit - минимально кодированная единица). Блок 9 MCU является наименьшей областью изображения, подвергаемой сжатию по стандарту JPEG (обычно 8×8 или 16×16). Количество блоков 9 MCU задается пользователем и зависит от необходимой ширины макроблока 11. Микроблоки 10 сжимают по стандарту JPEG. До сжатия размер сжатого микроблока 10 предсказать невозможно. По этой причине до сжатия под каждый сжатый микроблок 10 во внешней памяти 7 выделяют область фиксированного размера, которая определяется максимально возможным размером микроблока. Сжатые микроблоки 10 сохраняют во внешней памяти 7, при этом группируют таким образом, что микроблоки 10 одного макроблока 11 располагаются в соседних блоках внешней памяти 7. По окончании сжатия последнего блока 9 MCU каждого микроблока 10 в битовый поток данных изображения вставляют маркер RST (restart) и сбрасывают предсказанную DC компоненту для сжатия следующего микроблока 10. Для оптимизации обращений к внешней памяти 7 при выгрузке сжатого изображения посредством обработчика 6 изображения во внешней памяти 7 выделяют также область под хранение информации о длинах битовых потоков сжатых микроблоков 10, определенных по результатам сжатия каждого микроблока 10. Как и сжатые микроблоки 10, информация об их длинах сгруппирована по макроблокам 11. Для различных применений заявленного способа возможны разные способы группировки закодированных данных и их длин во внешней памяти 7. Пользователь может задать зону перекрытия макроблоков 11. Размер зоны перекрытия измеряется в количестве блоков 9 MCU или пикселях. В случае перекрытия производят переформирование размеров микроблока 10 и макроблока 11 в соответствии с заданными значениями и информацию, попадающую в зону перекрытия макроблоков 11, дублируют во внешней памяти 7 в области закодированных данных и в области длин закодированных данных. Возможны и другие способы формирования зоны перекрытия.

Таким образом, чтение и декодирование произвольного макроблока 11 сжатого изображения может осуществляться без загрузки и декодирования предыдущих микроблоков 10 (что является ограничением при работе со сжатыми по стандарту JPEG изображениями), а также без загрузки лишних данных, расположенных во внешней памяти 7 (так как во внешней памяти расположены области длин сжатых микроблоков 10).

Рассмотрим более подробно работу заявленных способа и системы обработки изображения (Фиг.1-2).

Система обработки изображения содержит кодер 1 JPEG, который соединен с источником 8 исходного изображения и с внешней памятью 7, декодер 2 JPEG, который соединен с кэшем 3 декодированных данных, который соединен с обработчиком 6 изображения и с кэшем 4 закодированных данных, который соединен с внешней памятью 7, с декодером 2 JPEG и с кэшем 5 длин микроблоков, который соединен с внешней памятью 7. Обработчик 6 изображения может быть выполнен в виде графического контроллера (GPU).

Исходное изображение поступает на вход кодера 1 JPEG по частям (в зависимости от реализации кодера 1 JPEG части изображения представляют собой линии или блоки). В кодере 1 JPEG реализован двухбуферный режим, который позволяет производить сжатие и сохранение сжатого изображения и дополнительной информации во внешней памяти 7 одновременно с приемом следующей части изображения.

Посредством кодера 1 JPEG выполняют следующие операции. Разбивают исходное изображение на микроблоки 10, состоящие из блоков 9 MCU, при этом количество блоков 9 MCU в одном микроблоке 10 задается (программируется) пользователем в зависимости от необходимой ширины макроблока 11. Определяют для каждого микроблока 10, исходя из его максимального размера, начальный адрес и размер области расположения сжатого микроблока 10 и области расположения информации о длине сжатого микроблока 10 во внешней памяти 7. Размер в битах области, выделяемой во внешней памяти под один микроблок 10, рассчитывают по следующей формуле:

М=k·р·n;

где k - количество пикселей в блоке MCU, р - разрядность одного пикселя, n - количество блоков MCU в одном микроблоке.

Для минимизации аппаратных ресурсов размер области, выделяемой во внешней памяти 7, округляют до 32-разрядных слов в большую сторону.

Размер области, выделяемой во внешней памяти 7 под информацию о длине одного сжатого микроблока 10, выбирают в зависимости от размера микроблока 10. Для унификации и упрощения системы декодирования и чтения можно выбрать следующие размеры: 16 бит (полуслово) или 32 бита (слово) для длины одного микроблока. Общий размер в битах области, выделяемой во внешней памяти 7 под все длины сжатых микроблоков 10, вычисляют по следующей формуле:

где Wi - ширина изображения в блоке MCU, Hi - высота изображения в блоке MCU, Nw - количество блоков MCU в микроблоке, Wl - разрядность длины сжатого микроблока.

Размер области, выделяемой во внешней памяти 7 под информацию о длине сжатых микроблоков 10, в общем случае не превышает 5% от размера всего сжатого изображения. Микроблоки 10 сохраняют во внешней памяти 7 так, что микроблоки 10 одного макроблока 11 располагаются в соседних областях памяти 7. Таким образом происходит соединение нескольких микроблоков 10 в один макроблок 11. Начальные адреса микроблоков 10 вычисляют из координат макроблока 11 и номера микроблока 10 по вертикали.

Затем последовательно сжимают микроблоки 10 по стандарту сжатия JPEG. Результатом сжатия являются сжатое изображение и его длина в битах (или байтах, полусловах, словах в зависимости от потребности пользователя). Сжатые микроблоки 10 размещают в определенной области во внешней памяти 7.

Декодирование сжатого изображения выполняют следующим образом. Для осуществления чтения и декодирования сжатого изображения обработчик 6 изображения запрашивает у кэша 3 декодированных данных пиксель изображения с координатами X, Y или номер макроблока 11, необходимого для обработки. Кэш 3 декодированных данных, обработав запрос от обработчика изображения, выставляет признак попадания в кэш 3 декодированных данных. Признак попадания в кэш 3 декодированных данных сигнализирует о том, имеется в кэше 3 декодированных данных запрашиваемый пиксель или макроблок 11 или нет.

Если попадание пикселя или макроблока в кэш 3 декодированных данных произошло, тогда кэш 3 декодированных данных выдает пиксель или макроблок 11 обработчику 6 изображения. Если произошел промах (в кэше 3 декодированных данных не оказалось необходимого макроблока 11 или пикселя), тогда кэш 3 декодированных данных выставляет обработчику 6 изображения признак промаха и формирует запрос к кэшу 4 закодированных данных.

Если попадание пикселя или сжатого макроблока 11 в кэш 4 закодированных данных произошло, тогда кэш 4 закодированных данных выдает сжатый макроблок 11 декодеру 2 JPEG, после чего декодированные декодером 2 JPEG данные (пиксель или макроблок) поступают на вход кэша 3 декодированных данных. Если произошел промах (в кэше 4 закодированных данных не оказалось необходимого сжатого макроблока 11), тогда кэш 4 закодированных данных выставляет кэшу 3 декодированных данных признак промаха и формирует запрос к кэшу 5 длин сжатых микроблоков.

Если попадание необходимых длин микроблоков 10 в кэш 5 длин сжатых микроблоков произошло, тогда кэш 5 длин сжатых микроблоков выдает кэшу 4 закодированных данных все длины, необходимые для загрузки микроблоков 10, составляющих макроблок 11. После этого кэш 4 закодированных данных формирует запросы во внешнюю память 7 для загрузки сжатых микроблоков 10, которые после загрузки отправляет в декодер 2 JPEG и декодированные декодером 2 JPEG данные поступают на вход кэша 3 декодированных данных, который формирует ответ для обработчика 6 изображения. Если произошел промах (в кэше 5 длин сжатых микроблоков не оказалось необходимых длин микроблоков 10), тогда кэш 5 длин сжатых микроблоков выставляет кэшу 4 закодированных данных признак промаха и формирует запрос к внешней памяти 7 к области длин сжатых микроблоков. Затем кэш 5 длин сжатых микроблоков производит загрузку длин сжатых микроблоков 10 одного или нескольких макроблоков 11 из внешней памяти 7. После этого кэш 5 длин сжатых микроблоков передает длины сжатых микроблоков в кэш 4 закодированных данных. Посредством кэша 4 закодированных данных формируют запросы во внешнюю память 7 для загрузки сжатых микроблоков 10. После загрузки в кэш 4 закодированных данных сжатые микроблоки 10 отправляют в декодер 2 JPEG, после обработки в котором декодированные данные поступают на вход кэша 3 декодированных данных, который формирует ответ для обработчика 6 изображения.

После обработки изображения обработчиком 6 изображения, оно может быть сжато аналогичным способом и размещено во внешней памяти 7 для последующих операций над ним.

Заявленный способ обработки изображения можно разбить на два этапа, этап сжатия изображения и этап загрузки сжатого изображения.

Сжатие изображения выполняют посредством кодера 1 JPEG, при этом сохраняют сжатое изображение во внешней памяти 7 таким образом, который позволяет минимизировать обращения к внешней памяти 7 со стороны обработчика 6 изображения (процессоров обработки изображения) и обеспечивает доступ к произвольной части изображения во внешней памяти 7: поскольку размер сжатого изображения определить заранее невозможно, то посредством кодера 1 JPEG генерируют список длин микроблоков 10 изображения и сохраняют их во внешней памяти 7 в порядке следования в макроблоке 11.

Загрузку изображения выполняют путем загрузки из внешней памяти 7 сжатых макроблоков изображения, их декодирования и передачи обработчику 6 изображения. При этом обеспечиваюг оптимизацию обращений во внешнюю память 7 за счет загрузки из нее только полезной информации: загрузка и декодирование произвольного макроблока 11 сжатого изображения может осуществляться без загрузки и декодирования предыдущих микроблоков 11 (что является ограничением при работе со сжатыми по стандарту JPEG изображениями), а также без загрузки лишних данных, расположенных во внешней памяти 7 (так как во внешней памяти 7 расположены области длин сжатых микроблоков 11). Используемый метод загрузки предполагает кэширование длин микроблоков, сжатых образов микроблоков и декодированных данных, что позволяет сэкономить время доступа к исходному изображению при повторном запросе обработчика 6 изображения.

На Фиг.3 представлена схема электронно-вычислительной системы, в которой могут применяться заявленные способ и система обработки изображения и которая содержит следующие элементы: управляющий процессор (CPU), контроллер внешней памяти (DDR), графический контроллер (GPU), контроллер первичной обработки изображения (IPP), контроллер вывода изображения (LCD), обработчики изображения (DSP, Video Codec, Intelligent Video Processor).

Заявленные система и способ обработки изображения обладают следующими преимуществами: предоставляют произвольный доступ к изображению по MCU (или объединенным блокам); в процессе работы не осуществляют подкачки лишних данных; сокращают количество обращений к памяти при извлечении из нее изображения за счет кэширования; создают динамическую конфигурацию памяти путем объединения нескольких MCU в один блок, за счет чего уменьшают количество и длину макроблоков.

Хотя описанный выше вариант выполнения изобретения был изложен с целью иллюстрации настоящего изобретения, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла настоящего изобретения, раскрытого в прилагаемой формуле изобретения.

1. Способ обработки изображения, содержащий этап сжатия изображения и этап загрузки сжатого изображения, в котором на этапе сжатия изображения выполняют следующие операции: загружают исходное изображение в кодер JPEG по частям, посредством кодера JPEG разбивают исходное изображение на микроблоки, каждый из которых состоит из заданного числа блоков MCU, определяют для каждого микроблока, исходя из его максимального размера, начальный адрес и размер области расположения сжатого микроблока и области расположения информации о длине сжатого микроблока во внешней памяти, сжимают микроблоки по стандарту JPEG, при этом формируют выходной битовый поток сжатого изображения, определяют его длину и сохраняют выходной битовый поток сжатого изображения в определенные области во внешней памяти, при этом сжатые микроблоки и информацию об их длинах одного макроблока сохраняют в соседние области во внешней памяти; на этапе загрузки сжатого изображения выполняют следующие операции: посредством обработчика изображения формируют запрос данных в кэш декодированных данных, посредством кэша декодированных данных определяют наличие в нем запрашиваемых данных, при наличии запрашиваемых данных посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные, при отсутствии запрашиваемых данных посредством кэша декодированных данных формируют запрос данных в кэш закодированных данных, посредством кэша закодированных данных определяют наличие в нем запрашиваемых данных, при наличии запрашиваемых данных посредством кэша закодированных данных направляют закодированные запрашиваемые данные в декодер JPEG, посредством декодера JPEG декодируют закодированные запрашиваемые данные и передают декодированные запрашиваемые данные в кэш декодированных данных, посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные, при отсутствии запрашиваемых данных посредством кэша закодированных данных формируют запрос данных в кэш длин микроблоков, посредством кэша длин микроблоков определяют наличие в нем длин запрашиваемых микроблоков, при наличии длин запрашиваемых микроблоков посредством кэша длин микроблоков направляют в кэш закодированных данных длины запрашиваемых микроблоков, посредством кэша закодированных данных формируют запрос данных во внешнюю память по определенным адресам, загружают из внешней памяти закодированные запрашиваемые данные и направляют в декодер JPEG, посредством декодера JPEG декодируют закодированные запрашиваемые данные и передают декодированные запрашиваемые данные в кэш декодированных данных, посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные, при отсутствии длин запрашиваемых микроблоков посредством кэша длин микроблоков формируют запрос длин микроблоков во внешнюю память по заданным адресам, загружают из внешней памяти запрошенные длины микроблоков и передают их в кэш закодированных данных, посредством кэша закодированных данных формируют запрос данных во внешнюю память по определенным адресам, загружают из внешней памяти закодированные запрашиваемые данные и направляют в декодер JPEG, посредством декодера JPEG декодируют закодированные запрашиваемые данные и передают декодированные запрашиваемые данные в кэш декодированных данных, посредством кэша декодированных данных формируют ответ обработчику изображения и передают в него запрашиваемые данные.

2. Способ по п.1, отличающийся тем, что загружают исходное изображение в один из внутренних буферов кодера JPEG по частям, а именно по строкам или по блокам блоками.

3. Способ по п.1, отличающийся тем, что разбивают исходное изображение на микроблоки, каждый из которых состоит из блоков MCU, число которых для каждого микроблока предварительно задано пользователем исходя из необходимой ширины макроблока.

4. Способ по п.1, отличающийся тем, что информацию о длинах сжатых микроблоков одного макроблока сохраняют в соседние ячейки во внешней памяти.

5. Способ по п.1, отличающийся тем, что обработчик изображения выполнен в виде графического контроллера (GPU).

6. Система обработки изображения, содержащая кодер JPEG, который соединен с источником исходного изображения и с внешней памятью, декодер JPEG, который соединен с кэшем декодированных данных, который соединен с обработчиком изображения и с кэшем закодированных данных, который соединен с внешней памятью, с декодером JPEG и с кэшем длин микроблоков, который соединен с внешней памятью, причем на этапе сжатия изображения кодер JPEG выполнен с возможностью получения по частям исходного изображения, с возможностью разбиения исходного изображения на микроблоки, каждый из которых состоит из заданного числа блоков MCU, с возможностью определения для каждого микроблока, исходя из его максимального размера, начального адреса и размера области расположения сжатого микроблока и области расположения информации о длине сжатого микроблока во внешней памяти, а также с возможностью сжатия микроблоков по стандарту JPEG, при этом формирования выходного битового потока сжатого изображения, с возможностью определения его длины и с возможностью сохранения выходного битового потока сжатого изображения в определенные области во внешней памяти, при этом сохранения в соседние области во внешней памяти сжатых микроблоков и информации об их длинах одного макроблока; на этапе загрузки сжатого изображения обработчик изображения выполнен с возможностью формирования запроса данных в кэше декодированных данных, кэш декодированных данных выполнен с возможностью определения наличия в нем запрашиваемых данных, и при наличии запрашиваемых данных кэш декодированных данных выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных, а при отсутствии запрашиваемых данных кэш декодированных данных выполнен с возможностью формирования запроса данных в кэш закодированных данных, который выполнен с возможностью определения наличия в нем запрашиваемых данных, при наличии запрашиваемых данных кэш закодированных данных выполнен с возможностью направления закодированных запрашиваемых данных в декодер JPEG, который выполнен с возможностью декодирования закодированных запрашиваемых данных и передачи декодированных запрашиваемых данных в кэш декодированных данных, который выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных, при отсутствии запрашиваемых данных кэш закодированных данных выполнен с возможностью формирования запроса данных в кэш длин микроблоков, который выполнен с возможностью определения наличия в нем длин запрашиваемых микроблоков, при наличии длин запрашиваемых микроблоков кэш длин микроблоков выполнен с возможностью направления данных длин запрашиваемых микроблоков в кэш закодированных, который выполнен с возможностью формирования запроса данных во внешнюю память по определенным адресам, с возможностью загрузки закодированных запрашиваемых данных из внешней памяти и направления в декодер JPEG, который выполнен с возможностью декодирования закодированных запрашиваемых данных и передачи декодированных запрашиваемых данных в кэш декодированных данных, который выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных, при отсутствии длин запрашиваемых микроблоков кэш длин микроблоков выполнен с возможностью формирования запроса длин микроблоков во внешнюю память по заданным адресам, с возможностью загрузки из внешней памяти запрошенных длин микроблоков и передачи их в кэш закодированных данных, который выполнен с возможностью формирования запроса данных во внешнюю память по определенным адресам, с возможностью загрузки из внешней памяти закодированных запрашиваемых данных и направления их в декодер JPEG, который выполнен с возможностью декодирования закодированных запрашиваемых данных и передачи декодированных запрашиваемых данных в кэш декодированных данных, который выполнен с возможностью формирования ответа обработчику изображения и передачи в него запрашиваемых данных.

7. Система по п.6, отличающаяся тем, что источником исходного изображения является CMOS-сенсор или канал связи.

8. Система по п.6, отличающаяся тем, что кодер JPEG выполнен с возможностью разбиения исходного изображения на микроблоки, каждый из которых состоит из заданного числа блоков MCU, число которых для каждого микроблока предварительно задано пользователем исходя из необходимой ширины макроблока.

9. Система по п.6, отличающаяся тем, что кодер JPEG выполнен с возможностью сохранения выходного битового потока сжатого изображения в соседние ячейки во внешней памяти.

10. Система по п.6, отличающаяся тем, что обработчик изображения выполнен в виде графического контроллера (GPU).