2-D IDCT

Вычисление 2-D обратного дискретного косинусоидного преобразования (IDCT)

Библиотека

Преобразовывает

visiontransforms

  • 2-D IDCT block

Описание

Блок 2-D IDCT вычисляет двумерное обратное дискретное косинусное преобразование входного сигнала. Уравнение для двумерного IDCT является

f(x,y)=2MNm=0M1n=0N1C(m)C(n)F(m,n)cos(2x+1)mπ2Mcos(2y+1)nπ2N

где F (m, n) является DCT сигнала f (x, y) иC(m),C(n)=12 для m,n=0 и C(m),C(n)=1 в противном случае.

Количество строк и столбцов входного сигнала должно быть степеней двойки. Выходные данные этого блока имеют те же размеры, что и входные параметры.

ПортВвод/выводПоддерживаемые типы данныхКомплексные числа

Вход

Вектор или матрица значений интенсивности

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Фиксированная точка

  • 8-, 16-, 32-битное целое число со знаком

  • 8-, 16-, 32-битное беззнаковое целое число

Нет

Выход

2-D IDCT входного входа

То же, что Input port

Нет

Если тип данных входного сигнала с плавающей точкой, выход блока тот совпадающий тип данных.

Используйте параметр Sine and cosine computation, чтобы задать, как блок вычисляет условия синуса и косинуса в алгоритме IDCT. Если вы выбираете Trigonometric fcnблок вычисляет значения синуса и косинуса во время симуляции. Если вы выбираете Table lookupблок вычисляет и сохраняет тригонометрические значения перед началом симуляции. В этом случае блоку требуется дополнительная память.

Типы данных с фиксированной точкой

Следующая схема показывает типы данных, используемые в блоке 2-D IDCT для сигналов с фиксированной точкой. Входы сначала приводятся к типу данных выходов и хранятся в выходе буфере. Каждый каскад бабочки обрабатывает сигналы в типе данных аккумулятора, причем конечный выход бабочки переводится назад в тип выходных данных.

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

Параметры

Sine and cosine computation

Задайте, как блок вычисляет синус и косинус членов в алгоритме IDCT. Если вы выбираете Trigonometric fcnблок вычисляет значения синуса и косинуса во время симуляции. Если вы выбираете Table lookupблок вычисляет и сохраняет тригонометрические значения перед началом симуляции. В этом случае блоку требуется дополнительная память.

Rounding mode

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

Saturate on integer overflow

Выберите режим переполнения для операций с фиксированной точкой. См. «Точность и область значений». Значения синусоидальной таблицы не подчиняются этому параметру; вместо этого они всегда насыщены.

Sine table data type

Выберите способ задания размера слова для значений синусоидальной таблицы. Длина дроби значений синусоидальной таблицы всегда равна размеру слова минус единица. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Same word length as input

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16)

Значения синусоидальной таблицы не подчиняются параметрам Rounding mode и Saturate on integer overflow; вместо этого они всегда насыщены и округлены до Nearest.

Product output data type

Укажите тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных умножения для рисунков, описывающих использование типа выходных данных продукта в этом блоке. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Product output data type.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Accumulator data type

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

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Accumulator data type.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Output data type

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

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule.

    Когда вы выбираете Inherit: Inherit via internal ruleблок вычисляет выход размера слова и длину дроби автоматически. Внутреннее правило сначала вычисляет идеальный выход размера слова и длину дроби, используя следующие уравнения:

    WLideal output=WLinput+floor(log2(DCT length1))+1

    FLideal output=FLinput

    Используя эти идеальные результаты, внутреннее правило затем выбирает размеры слова и длины дробей, которые подходят для вашего оборудования. Для получения дополнительной информации см. раздел Наследование через внутреннее правило.

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Output data type.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Lock scaling against changes by the autoscaling tool

Выберите этот параметр, чтобы предотвратить переопределение любого масштаба с фиксированной точкой, заданного в этой маске блока, инструментом автомасштабирования в Fixed-Point Tool. Для получения дополнительной информации см. fxptdlg (Fixed-Point Designer), ссылочная страница на Fixed-Point Tool в Simulink® документация.

Lock data type settings against change by the fixed-point tools

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока. Для получения дополнительной информации см. fxptdlg (Fixed-Point Designer), справочная страница по инструменту Fixed-Point Tool в документации Simulink.

Ссылки

[1] Chen, W.H, C.H. Smith и S.C. Фралик, «Быстрый вычислительный алгоритм для дискретного косинусоидного преобразования», IEEE Trans. Commun., vol. COM-25, pp. 1004-1009. 1977.

[2] Wang, Z. «Быстрые алгоритмы для дискретного преобразования W и для дискретного преобразования Фурье», IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP-32, pp. 803-816, Augg. 1984.

См. также

2-D DCT

Программное обеспечение Computer Vision Toolbox™

2-D FFT

Программное обеспечение Computer Vision Toolbox

2-D IFFT

Программное обеспечение Computer Vision Toolbox

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Представлено до R2006a