12 января 2014 - Прогресс по MDEC IDCT

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

Преобразование осуществляется за 2 прохода:

1) На первом проходе осуществляется умножение результата RLE декомпрессии и Scale Table Matrix хранящейся в UNIT 00. Она хранится в виде 32 записей по 26 бит. После выхода данные попарно поступают на мультиплексоры где выбирается какие 13 бит использовать.



Входы:
 - RLE вход: 12 бит
 - Scale Table Matrix вход: 13 бит
 - Сумма предыдущего этапа вычисления: 17 бит

Схема сразу умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.

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

2) На втором проходе перемножается уже 13 бит результата первого прохода и 12 верхних бит Scale Table Matrix.



Входы:
 - Результат первого прохода: 13 бит
 - Scale Table Matrix вход: верхние 12 бит
 - Сумма предыдущего этапа вычисления: 17 бит

Схема вновь умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.

В конце вычисления старшие 10 бит результата передаются на схему знакового деления на 2 с клампингом -128, 127. На выходе мы получаем 8 бит со знаком.