Научная статья на тему 'АРХИТЕКТУРА ПРОЦЕССОРА ВЫЧИСЛЕНИЯ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ СИСТЕМ СЖАТИЯ ИЗОБРАЖЕНИЯ ПО СХЕМЕ LOSLESS-TO-LOSSY'

АРХИТЕКТУРА ПРОЦЕССОРА ВЫЧИСЛЕНИЯ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ СИСТЕМ СЖАТИЯ ИЗОБРАЖЕНИЯ ПО СХЕМЕ LOSLESS-TO-LOSSY Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
67
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДКП / ДИСКРЕТНОЕ КОСИНУСНОЕ ПРЕОБРАЗОВАНИЕ / L2L / LOSSLESS-TO-LOSSY / АРХИТЕКТУРА / FPGA (FIELD-PROGRAMMABLE GATE ARRAY) / БЛОЧНАЯ ЛЕСТНИЧНАЯ СТРУКТУРНАЯ ПАРАМЕТРИЗАЦИЯ / БЛСП

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ключеня В. В.

Аппаратные реализации блоков дискретного косинусного преобразования (ДКП) на арифметике с фиксированной запятой, известные как IntDCT [1] и BinDCT [2], требуют решения некоторых вопросов. Один из главных вопросов - выбор между реализацией преобразования на ПЛИС или реализацией на цифровом сигнальном процессоре (Digital Signal Processor, DSP). Каждая из реализаций имеет как свои плюсы, так и минусы. Одним из самых главных достоинств реализации на DSP является наличие специальных инструкций, используемых в DSP, в частности, возможность перемножения двух чисел за один такт. Поэтому с появлением DSP было снято ограничение на количество умножений в алгоритмах. С другой стороны, при реализации блока на ПЛИС можно не ограничивать себя разрядностью данных (в разумных пределах), имеется возможность параллельной обработки всех поступающих данных и реализации специализированных вычислительных ядер для различных задач. По сути, проектирование систем мультимедиа на ПЛИС напоминает проектирование схожих систем на логике малой и средней степени интеграции. Такая реализация имеет те же ограничения: относительно малое количество доступной памяти, необходимость проектировать базовые элементы конструкции (умножители, делители) и т. д. Именно неравнозначность операций сложения и умножения при реализации их на ПЛИС и обусловила поиски алгоритмов ДКП с наименьшим числом множителей. Однако даже этого недостаточно, поскольку структура умножителя во много раз сложнее структуры сумматора, что заставило искать способы преобразования без использования умножений вообще. В статье показано, как на основе целочисленного прямого и обратного ДКП и распределенной арифметики создать новую универсальную архитектуру декоррелирующего преобразования на ПЛИС типа FPGA без операций умножения для систем трансформационного кодирования изображений, которые работают по принципу lossless-to-lossy (L2L), и получить лучшие экспериментальные результаты по аппаратным ресурсам по сравнению с аналогичными системами сжатия.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ARCHITECTURE OF THE DISCRETE SOSINE TRANSFORMATION PROCESSOR FOR IMAGE COMPRESSION SYSTEMS ON THE LOSLESS-TO-LOSSY CIRCUIT

The hardware implementations of fixed-point DCT blocks, known as IntDCT [1] and BinDCT [2], require some solutions. One of the main issues is the choice between the implementation of the conversion on FPGA, or the implementation on a digital signal processor (Digital Signal Processor, DSP). Each of the implementations has its own pros and cons. One of the most important advantages of the DSP implementation is the presence of special instructions used in DSP, in particular, the ability to multiply two numbers in one clock cycle. Therefore, with the advent of DSP, the limitation on the number of multiplications in algorithms was removed. On the other hand, when implementing a block on an FPGA, we can limit not ourselves to the bitness of the data (within reasonable limits), we have the ability to parallelize all incoming data and implement specialized computing cores for various tasks. In fact, designing multimedia systems on FPGAs reminds the design of similar systems based on the logic of a small and medium degree of integration. Such an implementation has the same limitations: a relatively small amount of available memory, the need to design basic structural elements (multipliers, divisors), etc. It is the inequality of the addition and multiplication operations when they are implemented on FPGAs that caused the search for DCT algorithms with the smallest number of factors. However, even this is not enough, since the structure of the multiplier is many times more complex than the structure of the adder, which made it necessary to look for ways to transform without using multiplications at all. This article shows how, on the basis of integer direct and inverse DCT and distributed arithmetic, to create a new universal architecture of decorrelated transform on FPGAs without multiplication operations for image transformation coding systems that operate on the principle of lossless-to-lossy (L2L), and to obtain the best experimental results in terms of hardware resources compared to comparable compression systems.

Текст научной работы на тему «АРХИТЕКТУРА ПРОЦЕССОРА ВЫЧИСЛЕНИЯ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ СИСТЕМ СЖАТИЯ ИЗОБРАЖЕНИЯ ПО СХЕМЕ LOSLESS-TO-LOSSY»

(ее)

http://dx.doi.org/10.35596/1729-7648-2021-19-5-86-93

Оригинальная статья Original paper

УДК 004.031.6; 004.627

АРХИТЕКТУРА ПРОЦЕССОРА ВЫЧИСЛЕНИЯ ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ ДЛЯ СИСТЕМ СЖАТИЯ ИЗОБРАЖЕНИЯ ПО СХЕМЕ LOSLESS-TO-LOSSY

В.В. КЛЮЧЕНЯ

Белорусский государственный университет информатики и радиоэлектроники (г. Минск, Республика Беларусь)

Поступила в редакцию 22 июня 2021

© Белорусский государственный университет информатики и радиоэлектроники, 2021

Аннотация. Аппаратные реализации блоков дискретного косинусного преобразования (ДКП) на арифметике с фиксированной запятой, известные как IntDCT [1] и BinDCT [2], требуют решения некоторых вопросов. Один из главных вопросов - выбор между реализацией преобразования на ПЛИС или реализацией на цифровом сигнальном процессоре (Digital Signal Processor, DSP). Каждая из реализаций имеет как свои плюсы, так и минусы. Одним из самых главных достоинств реализации на DSP является наличие специальных инструкций, используемых в DSP, в частности, возможность перемножения двух чисел за один такт. Поэтому с появлением DSP было снято ограничение на количество умножений в алгоритмах. С другой стороны, при реализации блока на ПЛИС можно не ограничивать себя разрядностью данных (в разумных пределах), имеется возможность параллельной обработки всех поступающих данных и реализации специализированных вычислительных ядер для различных задач. По сути, проектирование систем мультимедиа на ПЛИС напоминает проектирование схожих систем на логике малой и средней степени интеграции. Такая реализация имеет те же ограничения: относительно малое количество доступной памяти, необходимость проектировать базовые элементы конструкции (умножители, делители) и т. д. Именно неравнозначность операций сложения и умножения при реализации их на ПЛИС и обусловила поиски алгоритмов ДКП с наименьшим числом множителей. Однако даже этого недостаточно, поскольку структура умножителя во много раз сложнее структуры сумматора, что заставило искать способы преобразования без использования умножений вообще. В статье показано, как на основе целочисленного прямого и обратного ДКП и распределенной арифметики создать новую универсальную архитектуру декоррелирующего преобразования на ПЛИС типа FPGA без операций умножения для систем трансформационного кодирования изображений, которые работают по принципу lossless-to-lossy (L2L), и получить лучшие экспериментальные результаты по аппаратным ресурсам по сравнению с аналогичными системами сжатия.

Ключевые слова: ДКП, дискретное косинусное преобразование, L2L, lossless-to-lossy, архитектура, FPGA (Field-Programmable Gate Array), блочная лестничная структурная параметризация, БЛСП.

Конфликт интересов. Автор заявляет об отсутствии конфликта интересов.

Для цитирования. Ключеня В.В. Архитектура процессора вычисления дискретного косинусного преобразования для систем сжатия изображения по схеме losless-to-lossy. Доклады БГУИР. 2021; 19(5): 86-93.

ARCHITECTURE OF THE DISCRETE SOSINE TRANSFORMATION PROCESSOR FOR IMAGE COMPRESSION SYSTEMS ON THE LOSLESS-TO-LOSSY CIRCUIT

VITALY V. KLIUCHENIA

Belarusian State University of Informatics and Radioelectronics (Minsk, Republic of Belarus)

Submitted 22 June 2021

© Belarusian State University of Informatics and Radioelectronics, 2021

Abstract. The hardware implementations of fixed-point DCT blocks, known as IntDCT [1] and BinDCT [2], require some solutions. One of the main issues is the choice between the implementation of the conversion on FPGA, or the implementation on a digital signal processor (Digital Signal Processor, DSP). Each of the implementations has its own pros and cons. One of the most important advantages of the DSP implementation is the presence of special instructions used in DSP, in particular, the ability to multiply two numbers in one clock cycle. Therefore, with the advent of DSP, the limitation on the number of multiplications in algorithms was removed. On the other hand, when implementing a block on an FPGA, we can limit not ourselves to the bitness of the data (within reasonable limits), we have the ability to parallelize all incoming data and implement specialized computing cores for various tasks. In fact, designing multimedia systems on FPGAs reminds the design of similar systems based on the logic of a small and medium degree of integration. Such an implementation has the same limitations: a relatively small amount of available memory, the need to design basic structural elements (multipliers, divisors), etc. It is the inequality of the addition and multiplication operations when they are implemented on FPGAs that caused the search for DCT algorithms with the smallest number of factors. However, even this is not enough, since the structure of the multiplier is many times more complex than the structure of the adder, which made it necessary to look for ways to transform without using multiplications at all. This article shows how, on the basis of integer direct and inverse DCT and distributed arithmetic, to create a new universal architecture of decorrelated transform on FPGAs without multiplication operations for image transformation coding systems that operate on the principle of lossless-to-lossy (L2L), and to obtain the best experimental results in terms of hardware resources compared to comparable compression systems.

Keywords: DCT, discrete cosine transform, L2L, lossless-to-lossy, architecture, FPGA (Field-Programmable Gate Array), block staircase structural parameterization, BLSP.

Conflict of interests. The author declare no conflict of interests.

For citation. Kliuchenia V.V. Architecture of the discrete sosine transformation processor for image compression systems on the losless-to-lossy circuit. Doklady BGUIR. 2021; 19(5): 86-93.

Введение

Как видно из статей [1-4] и структур блочной лестничной структурной параметризации (БЛСП) [3], постоянно приходится реализовывать прямое и обратное дискретное косинусное преобразование (ДКП и ОДКП), так как оно является основным компонентом декоррелирующего преобразовнаия в кодерах и декодерах обработки изображений и видеосигнала. Также обратная матрица ДКП, равная транспонированной матрице ДКП, является вторым блоком в двумерном 2D ДКП, который выполняет преобразование по столбцам. Для экономии аппаратных ресурсов на кристалле ПЛИС (программируемая логическая интегральная схема) целесообразно объединить модули прямого и обратного ДКП или использовать унифицированную структуру процессора, на основе которой можно вычислять как обратное, так и прямое преобразование.

Для построения математической модели воспользуемся формулами прямого и обратного преобразования ДКП 8 х 8 2D ДКП и 2D ОДКП, которые описываются следующими образом:

YUvV = 4ККЕ7=оЕ7=0Х.; ^((2 +1)"л/ 16)ос8((2] + 1)уп/16);

Х.; = 4X7=0X7=0^^ С08((2/ + 1)" V 16)со8((2] + 1>л/ 16),

(1) (2)

где ки = = 1Д/2 для и = V = 0; ки = = 1 для 1 < и,V< 7 .

В соответствии с методом построчно-столбцовой декомпозиции одномерное Ш 8-точечное ДКП и ОДКП представляются уравнениями (3):

1 7 1 7

2п = 2кп Ет=0 Хт С0Б((2т + 1)пЛ/16); Хт = 2Е т=0кпС0Б((2т + 1)пл/16),

(3)

где кп = -\/2 для п = 0 ; кп = 1 для ненулевых п, Хт и Zm - вектора входных и выходных данных:

Хт =[ Х0 Х1 Х2 Х3 Х4 Х5 Х6 Х7 ] ; Zm =[ ^ 0 ¿1 ^2 ^3 ¿4 ^5 ^7 ] . (4)

Произведение вектора х на матрицу коэффициентов ДКП раскладывается как:

Г г 0 ^ Г С 4 С4 С4 С4 С4 С4 С4 С 1 4 Г Х 1

С1 С3 С5 С7 - С7 С5 - С 3 -С1 Х1

г 2 С2 С6 -С6 - С2 - С2 -С6 С6 С2 Х2

1 С3 -С7 -С1 "С5 С5 С1 С7 - С3 Х3

г 4 2 С4 -С4 С4 С4 С4 - С4 С4 С4 Х4

г5 С5 -С1 С7 С3 - С3 - С7 С1 С5 Х5

г 6 С6 -С2 С2 -С6 - С6 С2 -С2 С6 Х6

1 ^ 7 V V С7 С5 С3 - С1 С1 - С3 С5 С7 V Х7 V

Г1 0 0 0 0 0 0 01 Г С4 С4 С4 С4 0 0 0 0 1 ГХ + Х7 ^

0 0 0 0 1 0 0 0 С2 С6 С6 С2 0 0 0 0 Х1 + Х6

0 1 0 0 0 0 0 0 С4 - С4 - С4 С4 0 0 0 0 Х2 + Х5

1 0 0 0 0 0 1 0 0 С6 - С2 С2 С6 0 0 0 0 Х3 + Х4

= 2 0 0 1 0 0 0 0 0 0 0 0 0 С1 С 3 С5 С7 Х0 - Х7

0 0 0 0 0 0 1 0 0 0 0 0 С3 -С 7 -С1 С5 Х1 - Х6

0 0 0 1 0 0 0 0 0 0 0 0 С5 -С 1 С7 С3 Х2 - Х5

V 0 0 0 0 0 0 0 ъ V 0 0 0 0 С7 -С 5 С3 -С1 V V Х3 Х4 V

(5)

где с = соБ^'л /16) для I = 1, 2 ... 7.

Масштабирующий коэффициент 1/2 и перестановочную матрицу можно опустить, и произведение на матрицу коэффициентов Zn прямого ДКП (3) раскладывается на четную часть Zч и нечетную Zнч [5]:

Z.. =

" ¿0"

¿2

¿4

_ ¿6 .

С

С

'4 4

С6 С6 С'

"6

С

4

СП С

= сча; ^ =

" ¿1 "

¿3

¿5

_ ¿7 .

С5 -С,

^г Со С

60

= Скч6,(6)

где а =

а0 Х0 1 7 Х0 7

а1 Х1 + Х6 • А = ь Х1 - Х6

а2 Х2 1 Х5 > — ь2 Х2 - Х5

а3 Х3 1 Х4 ь _ Х3 Х4

(7)

а

С

С

С

С

3

5

7

0

ь

С

а

2

ь

С4 С4 С4

а

С

С

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7

3

2

2

ь

а

3

3

Сч =

С4 С4 С4 С4

С2 С6 -С6 -С2

С4 -С4 -С4 С4

С6 -С2 С2 -С6

С... =

С1 С3 С5 С7

С3 -С7 -С1 -С5

С5 -С1 С С3

С7 -С5 С3 -С1

(8)

Аналогичным образом произведение выходного вектора I на матрицу коэффициентов ОДКП раскладывается на следующее произведение матриц:

(X Л 0 ( с С1 С2 С3 С4 С5 С6 С7 Л ( ^1

X1 С4 С3 С6 - С7 С4 -С1 - С2 С5

^ С4 С5 -С6 С1 С4 С7 С2 С3 Z 2

X3 1 С4 С7 -С2 - С5 С4 С3 -С6 -С1 ¿3

X4 ~ 2 С4 -С7 -С2 С5 С4 -С3 -С6 С1 Z 4

X5 С4 -С5 -С6 С1 С4 С7 С2 -С3 ¿5

X6 С4 -С3 С6 С7 С4 С1 С2 С5 ¿6

V X7 V С4 -С1 С2 С3 С4 С5 С6 С7 У V ¿7 У

(С 4 С2 С4 С6 0 0 0 0 1 (1 0 0 0 0 0 0 0 Л ( 1

С4 С6 -С4 -С2 0 0 0 0 0 0 1 0 0 0 0 0

С4 -С6 -С4 С2 0 0 0 0 0 0 0 0 1 0 0 0 ¿2

1 С4 -С2 С4 -С6 0 0 0 0 0 0 0 0 0 0 1 0

2 0 0 0 0 С1 С3 С5 С7 0 1 0 0 0 0 0 0

0 0 0 0 С3 -С7 -С1 С5 0 0 0 1 0 0 0 0 ¿5 11

0 0 0 0 С5 -С1 С7 С3 0 0 0 0 0 1 0 0 ¿6 111

V 0 0 0 0 С7 -С5 С3 -С1 У V 0 0 0 0 0 0 0 ъ V ¿7 У

(9)

где —а = 2

С4 С2 С4 С6 " " ¿0" "С1 С3 С5 С7 " " ¿1

С4 С6 -С4 - С2 Z 2 = СТI ; I ь = С3 -С7 -С1 - С5 ¿з

С4 -С6 С4 С2 Z 4 ч Ч " 2 С5 -С1 С7 С3 ¿5

С4 С2 С4 -С6 _ _ ¿6 . _С7 С5 С3 - С1 _ _ ¿7

Т

.. ..

= ст i

(10)

—(а+Ь);

= -(а - Ь).

2

(11)

Проанализировав формулы (5) - (11), можно выделить повторяющиеся элементы в матрицах ДКП и ОДКП и построить структуру вычисления прямого и обратного ДКП (рис. 1), состоящую из модулей пред- и постобработки данных, модулей четной и нечетной части вычисления ДКП и ОДКП, каждому модулю соответствует свое матричное представление.

Процессор вычисления прямого и обратного ДКП

Архитектура для вычисления прямого и обратного ДКП состоит из модулей четной и нечетной части вычисления ДКП и ОДКП, модулей пред- и постобработки данных и памяти для сохранения промежуточных значений Ш ДКП, которые в дальнейшем будут использоваться при вычислении двумерного 2D ДКП (рис. 1).

1

X

X

0

7

X

X

6

X

X

2

5

X

X

3

4

adZTL

Рис. 1. Архитектура процессора прямого и обратного ДКП Fig. 1. Direct and invers DCT processor architecture

Модули пред- и постобработки данных представляются в виде банка входных регистров и мультиплексоров, сумматоров и демультиплексоров, которые распределяют результаты вычислений ДКП и ОДКП в выходные регистры согласно формулам (7), (11). Вычисление модулей четной и нечетной части прямого и обратного ДКП происходит по следующим формулам:

¿0 Z2 Z4 Z6

a0 + a3 -(aj + a2)

Zo

- Z4

= c4

a0 + a3 - (aj + a2)

Z + Z

04

Z - Z

04

(12)

d2 " Z2 Z6 ~ d0 a0 + a3 a0 d0 + d2

d3 - Z6 Z2 "c2" dj _ J aJ + a2 J aj dJ + d3

Z2 a0 - a3 aj - a2 _c6 _ ? d 2 _ 4 a0 - a3 , 2 a2 dj d3

Z6 _ - (aj - a2) a0 - a3 d3 aJ - a2 a3 d 0 d 2

(13)

Структура четной части ДКП, представленная на рис. 2, состоит, согласно формулам (12), (13), из трех частей.

Часть предварительного вычисления значений множимого, которая состоит из сумматоров-вычитателей и наборов регистров, где хранятся предварительно рассчитанные значения или входные данные. Для расчета значений четной части ДКП потребуется семь тактов синхросигнала, а для расчета четной части ОДКП потребуется три такта.

Умножения на коэффициенты С2, С4 и Сб, реализованные при помощи метода распределенной арифметики, в основе которого лежат последовательные побитные вычислительные операции, осуществление которых позволяет получать выходной результат из пары входных векторов на каждом отдельном этапе вычисления. Так как необходимо получить перфективную реконструкцию и минимальные аппаратные затраты, то будем использовать схему, где данные обрабатываются по одному биту за такт (1-BAAT - one-bit-at-a-time) [б]. Для получения результатов умножения на константы С2, Сб и С4 потребуется 12 тактов синхросигнала, предварительные значения сумм коэффициентов с2 и сб и отдельно коэффициента с4, которые хранятся в памяти (ПЗУ). Все значения коэффициентов и входных данных представлены в дополнительном коде. На 19 такте синхросигнала формируется сигнал готовности ready значений ДКП.

Третья часть предназначена для постобработки произведений ОДКП согласно формуле (13), для этого потребуется 4 такта синхросигнала. На 19 такте синхросигнала формируется сигнал готовности ready значений четной части ОДКП. Временная задержка

a0 + a3

aj + a2

a0 + a3 + aj + a2

c

4

c

4

4

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0

определяется как ¿четной части ¿множимого + ¿ПА умножения + ¿постобработки где время ¿множимого и ¿постобработки

можно уменьшить за счет распараллеливания процесса вычисления, ¿па умножения = где N - разрядность входных данных, и зависит от количества L бит, обрабатываемых за такт, и время умножения на постоянные коэффициенты может быть уменьшено до одного такта синхросигнала. Минимальное время ¿множимого может быть уменьшено до двух тактов, т. е. один такт для вычисления (00 + оз) и (а1 + а2), второй такт для вычисления выражений (а0 + аз + а1 + а2) и (а0 + аз - (а1 + а2)), но для этого надо распараллелить вычисления и увеличить аппаратные ресурсы. Минимальное время ¿постобработки может быть равно одному такту синхросигнала после распараллеливания вычислений. Максимальная задержка и минимальная пропускная способность модуля будет равна 7 + 12 = 19 тактам для вычисления ДКП и 3 + 12 + 4 = 19 тактам для вычисления ОДКП.

Рис. 2. Структура четной части модуля ДКП-ОДКП Fig. 2. The structure of even part of the DCT-IDCT module

Нечетная часть прямого и обратного ДКП выражается формулами (14), для этого надо представить формулы (10), (11) в следующем виде:

Z7 ■ ~-Ьз b2 bo -b" c1 "bo" " Z1 Z3 Z7 Z5" c1

Z5 _ -b1 b3 b2 bo c3 ; 1 b _ -Z5 Z1 -Z3 - Z7 C3 . (14)

Z1 bo b1 b3 b2 C7 ' 2 6з -Z7 Z5 Z1 -Z3 C7

Z3 _ _-b2 bo -b1 -63 _ _c5 _ A_ _-Z3 Z7 Z5 Z1 _ _c5 _

Структура нечетной части ДКП представлена на рис. 3. Она состоит из модулей распределенной арифметики, все возможные значения множителей представлены в виде суммы коэффициентов С1, С3, С5 и С7 и хранятся в ПЗУ, вычисления производятся согласно формулам (14). Для получения результатов нечетной части ДКП и ОДКП понадобится 13 тактов синхросигнала, то есть один такт для получения отрицательного числа и 12 тактов для получения результатов умножения на константы С1, С3, С5 и с7. Временная задержка будет вычисляться как ¿нечетной части 1 + ¿па нечетной части, где ¿па нечетной части = (N/L+1)//max и зависит от

параметра ускорения L. Максимальная задержка и минимальная пропускная способность будет равна 1 + 12 = 13 тактам синхросигнала. Минимальная задержка и максимальная пропускная способность будет вычисляться как 1 + 1 = 2 такта синхросигнала.

Модуль распределенной арифметики

M3(c1, c3, c7, c5)

SWib

Регистр

сдвига

■L-H Z7 output I

Ql(0)

Модуль распределенной арифметики M3(c1, c3, c7, c5)

Модуль распределенной арифметики M3(c1, c3, c7, c5)

-H Z5_output~| -H Z1 output |

Node 18 node19

■Ц

ir-

---------------

. ' Модуль распределенной арифметики i M4(c1, c3, c7, c5)

ffi3_ J-q

Модуль распределенной арифметики M4(c1, c3, c7, c5)

Модуль распределенной арифметики M4(c1, c3, c7, c5)

Модуль распределенной арифметики M4(c1, c3, c7, c5)

b0_output |

b1_output |

b3 output |

b2 output |

i — J Модуль распределенной арифметики M3(c1, c3, c7, c5) |—H Z3 output |

Из

Рис. 3. Структура нечетной части модуля ДКП-ОДКП Fig. 3. The structure of odd part module DCT-IDCT

Для вычисления 2-D ДКП потребуется:

- 8 тактов синхросигнала в модуле предобработки данных, затем 19 тактов в модуле обработки четной части и 13 тактов для параллельной обработки нечетной части;

- после 27 тактов рассчитанные значения для первого 8-точечного вектора сохраняются в памяти, через 160 тактов задержки в памяти сохранится результат вычислений построчного преобразования для блока изображений размерностью 8 х 8, затем поступит на вход ОДКП предварительной обработки первый блок данных для постолбцового преобразования;

- далее происходит вычисление четной и нечетной части ОДКП или постолбцового 2D преобразования. В результате первый 8-точечный вектор для 2D ДКП получим на 187 такте синхросигнала (рис. 4).

0 4 8 12 16 20 24 28 152 156 160 164 168 172 176 180 184 188 192 196 200

clock

Предобработка данных

Четная часть ДКП/ОДКП

Нечетная часть ДКП/ОДКП

Постобработка данных

Block 1 Block 2 Block 3

KWWWV

Block 20

Block 21 Block 22 Block 23 Block 24 Block 25

| Block 1 Block 2 | Block 3 | Block 4 | ... |

1

Block 8 Block 9 Block 10

WW Block 1 Block 2 |

| Block 13 Block 14 Block 15

\\\\| Block 1 Block 2 Block 3 |

1

| Block 221 Block 23 | Block 241 •••

wwwww \\\Ч Block 1 1 Block 2 | •••

1-D операции

2-D операции

Отсутствие операции

Рис. 4. Временная диаграмма 1D и 2D преобразования Fig. 4. Timing diagram 1D and 2D conversion

Сравним реализацию универсального рекурсивного процессора ДКП-ОДКП с уже существующими [5, 7-9] на основе ПЛИС c архитектурой FPGA Spartan-2 (таблица).

Из таблицы видно, что предлагаемая реализация требует в два раза меньше аппаратных затрат в сравнении с аналогичной, описанной в [5], ив несколько раз меньше занимает площади кристалла в сравнении с [7-9], где представлена реализация только одного прямого ДКП. По скорости работы предлагаемая реализация не на много уступает решениям в [5, 9].

Таблица 1. Сравнение реализаций двумерного ДКП и модулей ДКП-ОДКП на Spartan-2 XC2VP3o Table 1. Comparison of implementations two-dimensional DCT and DCT-IDCT modules on Spartan-2

XC2VP3o

Архитектура Architecture Из [7] From [7] Из [8] From [8] Из [9] From [9] Из [5] From [5] Предлагаемая Proposed

Функция ДКП ДКП ДКП ДКП/ОДКП ДКП/ОДКП

Number of 4 input LUTs 2990 10310 2618 2237 1109

Number of Slices 1872 5729 2823 1352 627

Number of Slice Flip Flops 1837 3736 3431 1170 887

Clock Frequency (MHz) 99 149 107 168 120

Max. Delay (ns) 10,1 6,7 9,3 6,2 8,3

Заключение

Предложена архитектура универсального процессора вычисления 2D декоррелирующего преобразования для кодирования изображений по схеме L2L (2D ДКП-ОДКП), особенностью которой является параллельное выполнение прямого и обратного ДКП в цикле синхронизации процессора и сокращение аппаратных затрат по сравнению со стандартной архитектурой разделимого 2D декоррелирующего преобразования на основе ДКП в два раза. Данную архитектуру процессора можно рассматривать как структурное решение для реализации обратимого целочисленного 2D декоррелирующего преобразователя для систем кодирования изображений по схеме L2L.

Список литературы / References

1. Suzuki T. Integer DCT Based on Direct-Lifting of DCT-IDCT for Lossless-to-Lossy Image Coding. IEEE Transactions on image processing. November 2o1o;19(11):2958-2965.

2. Dang P.P. BinDCT and Its Efficient VLSI Architectures for Real-Time Embedded Applications. Journal of imaging science and technology. March/April 2oo5;49(2):124-137.

3. Suzuki T. Integer fast lapped transforms based on direct-lifting of DCTs for lossy-to-lossless image coding. EURASIP Journal on Image and Video Processing. 2o13; 1:1-9.

4. Suzuki T. Realization of lossless-to-lossy ima1ge coding compatible with JPEG standard by direct-lifting of DCT-IDCT. Proceedings of the 17th IEEE Intern. Conf. on Image Processing (ICIP'2010). Hong Kong. 26-29 Sept.; 2o1o: 389-392.

5. Chen Y.H. A High-Throughput and Area-Efficient Video Transform Core With a Time Division Strategy. IEEE Trans. VLSI Syst. 2o14;22(11):2268-2277.

6. White S.A. Applications of Distributed Arithmetic to Digital Signal Processing: A Tutorial Review. IEEE ASSP Magazine. 1989;6(3):4-19.

7. Chen Y.H. High throughput DA-based DCT with high accuracy error-compensated adder tree. IEEE Trans. VLSI Syst. Apr. 2o11;19(4):7o9-714.

8. Low-power and high-quality Cordic-based Loeffler DCT for signal processing. IET Circuit, Devices & System. December 2oo7;1:453-461.

9. Tumeo A. A pipelined fast 2D-DCT accelerator for FPGA-based SoCs. In Proc. IEEE Comput. SoC. Annu. SympVLSI. 2oo7: 331-336.

Сведения об авторах

Ключеня В.В., к.т.н., доцент кафедры электронных вычислительных средств Белорусского государственного университета информатики и радиоэлектроники.

Адрес для корреспонденции

22oo13, Республика Беларусь,

г. Минск, ул. П. Бровки, 6,

Белорусский государственный университет

информатики и радиоэлектроники;

тел. +375-29-7o1-54-89;

e-mail: vitaly.kliuchenia@gmail.com

Ключеня Виталий Васильевич

Information about the authors

Kliuchenia V.V., PhD, Associate Professor at the Electronic Computing Department of the Belarusian State University of Informatics and Radioelectronics.

Address for correspondence

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

220013, Republic of Belarus, Minsk, P. Brovka str., 6, Belarusian State University of Informatics and Radioelectronics; tel. +375-29-701-54-89; e-mail: vitaly.kliuchenia@gmail.com Kliuchenia Vitaly Vasilevich

i Надоели баннеры? Вы всегда можете отключить рекламу.