Дискретное косинусное преобразование: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
ZéroBot (обсуждение | вклад) м r2.7.1) (робот добавил: eu:Kosinuaren transformatu diskretu |
Fraik rus (обсуждение | вклад) Ортонормированнных преобразований не существует, есть ортогональные. |
||
(не показано 14 промежуточных версий 11 участников) | |||
Строка 1: | Строка 1: | ||
'''Дискретное косинусное преобразование''' ({{lang-en|Discrete Cosine Transform }} |
'''Дискретное косинусное преобразование''' ({{lang-en|Discrete Cosine Transform, DCT}}) — одно из [[ортогональное преобразование|ортогональных преобразований]]. Вариант [[косинусное преобразование|косинусного преобразования]] для вектора действительных чисел. Применяется в алгоритмах сжатия информации с потерями, например, [[MPEG]] и [[JPEG]]. Это преобразование тесно связано с [[Дискретное преобразование Фурье|дискретным преобразованием Фурье]] и является [[гомоморфизм]]ом его векторного пространства. |
||
Данное преобразование является [[Линейное преобразование|линейным]], поэтому его результат можно вычислить при помощи умножения [[матрица (математика)|матрицы]] преобразования и вектора. Матрица ДКП является [[Ортогональная матрица|ортогональной]] (обратная матрица равна транспонированной), поэтому обратное преобразование вычисляется с помощью умножения транспонированной матрицы ДКП на вектор. На практике используется вариант ДКП с матрицей, пропорциональной ортогональной (получающейся из ортогональной умножением на константу). |
|||
Математически преобразование можно осуществить умножением вектора на [[матрица (математика)|матрицу]] преобразования. При этом матрица обратного преобразования с точностью до множителя равна [[транспонирование|транспонированной]] матрице. В математике матрицы выбирают так, чтобы преобразование было ортонормированным, а постоянный множитель равен единице. В компьютерных приложениях это не всегда так. |
|||
Различные периодические продолжения сигнала ведут к различным типам ДКП. Ниже приводятся матрицы для первых |
Различные периодические продолжения сигнала ведут к различным типам ДКП. Ниже приводятся матрицы для первых четырёх типов ДКП: |
||
<math>\mathrm{DCT}\text{-}1_n= \left[\cos kl\tfrac{\pi}{n-1}\right]_{0\leq k,l<n} </math> |
:<math>\mathrm{DCT}\text{-}1_n= \left[\cos (kl\tfrac{\pi}{n-1})\right]_{0\leq k,l<n} </math> |
||
<math>\mathrm{DCT}\text{-}2_n= \left[\cos k(l+\tfrac{1}{2})\tfrac{\pi}{n}\right]_{0\leq k,l<n} </math> |
:<math>\mathrm{DCT}\text{-}2_n= \left[\cos (k(l+\tfrac{1}{2})\tfrac{\pi}{n})\right]_{0\leq k,l<n} </math> |
||
<math>\mathrm{DCT}\text{-}3_n= \left[\cos (k+\tfrac{1}{2})l\tfrac{\pi}{n}\right]_{0\leq k,l<n} </math> |
:<math>\mathrm{DCT}\text{-}3_n= \left[\cos ((k+\tfrac{1}{2})l\tfrac{\pi}{n})\right]_{0\leq k,l<n} </math> |
||
<math>\mathrm{DCT}\text{-}4_n= \left[\cos (k+\tfrac{1}{2})(l+\tfrac{1}{2})\tfrac{\pi}{n}\right]_{0\leq k,l<n} </math> |
:<math>\mathrm{DCT}\text{-}4_n= \left[\cos ((k+\tfrac{1}{2})(l+\tfrac{1}{2})\tfrac{\pi}{n})\right]_{0\leq k,l<n} </math> |
||
Именно <math>\mathrm{DCT}\text{-}2</math> чаще всего встречается в практических приложениях благодаря свойству «уплотнения энергии». |
Именно <math>\mathrm{DCT}\text{-}2</math> чаще всего встречается в практических приложениях благодаря свойству «уплотнения энергии». |
||
Строка 19: | Строка 19: | ||
Существуют алгоритмы быстрого <math>\mathrm{DCT}</math>-преобразования, похожие на алгоритм [[Быстрое преобразование Фурье|быстрого преобразования Фурье]]. Для <math>\mathrm{DCT}\text{-}2_8</math> и других вариантов <math>\mathrm{DCT}</math> с фиксированной размерностью вектора существуют также алгоритмы, позволяющие свести количество операций умножения к минимуму. |
Существуют алгоритмы быстрого <math>\mathrm{DCT}</math>-преобразования, похожие на алгоритм [[Быстрое преобразование Фурье|быстрого преобразования Фурье]]. Для <math>\mathrm{DCT}\text{-}2_8</math> и других вариантов <math>\mathrm{DCT}</math> с фиксированной размерностью вектора существуют также алгоритмы, позволяющие свести количество операций умножения к минимуму. |
||
Существуют аналоги <math>\mathrm{DCT}</math>, приближающие косинус числами, легко получающимися путём небольшого количества операций сдвига и сложения, что позволяет избежать операций умножения и тем самым повысить |
Существуют аналоги <math>\mathrm{DCT}</math>, приближающие косинус числами, легко получающимися путём небольшого количества операций сдвига и сложения, что позволяет избежать операций умножения и тем самым повысить скорость вычислений. |
||
== Литература == |
|||
* C. Loeffler, A. Ligtenberg and G. Moschytz. Practical Fast 1-D DCT Algorithms with 11 Multiplications // Proc. Int’l. Conf. on Acoustics, Speech, and Signal Processing 1989 (ICASSP '89), pp. 988—991. |
|||
== Ссылки == |
== Ссылки == |
||
Строка 31: | Строка 32: | ||
1. Написать формулы. 2. Рассказать про shift-вариант подробнее и где исползуется, или дать ссылку. 3. Привести source code для быстрого варианта преобразования. |
1. Написать формулы. 2. Рассказать про shift-вариант подробнее и где исползуется, или дать ссылку. 3. Привести source code для быстрого варианта преобразования. |
||
--> |
--> |
||
{{compu-stub}} |
{{compu-stub}} |
||
{{math-stub}} |
{{math-stub}} |
||
Строка 41: | Строка 43: | ||
[[Категория:Математический анализ]] |
[[Категория:Математический анализ]] |
||
[[Категория:Цифровая обработка сигналов]] |
[[Категория:Цифровая обработка сигналов]] |
||
[[ar:تحويل جيب التمام المتقطع]] |
|||
[[ca:Transformada Cosinus Discreta]] |
|||
[[cs:Diskrétní kosinová transformace]] |
|||
[[de:Diskrete Kosinustransformation]] |
|||
[[en:Discrete cosine transform]] |
|||
[[es:Transformada de coseno discreta]] |
|||
[[eu:Kosinuaren transformatu diskretu]] |
|||
[[fr:Transformée en cosinus discrète]] |
|||
[[hu:Diszkrét koszinusz-transzformáció]] |
|||
[[it:Trasformata discreta del coseno]] |
|||
[[ja:離散コサイン変換]] |
|||
[[kn:ಡಿಸ್ಕ್ರೀಟ್ ಕೊಸೈನ್ ಟ್ರಾನ್ಸ್ಫಾರ್ಮ್]] |
|||
[[ko:이산 코사인 변환]] |
|||
[[nl:Discrete cosinustransformatie]] |
|||
[[pl:Dyskretna transformacja kosinusowa]] |
|||
[[pt:Transformada discreta de cosseno]] |
|||
[[ro:Transformata cosinus discretă]] |
|||
[[simple:Discrete cosine transform]] |
|||
[[sr:Дискретна косинус трансформација]] |
|||
[[sv:Diskret cosinustransform]] |
|||
[[te:వివిక్త కొసైన్ పరివర్తనం]] |
|||
[[th:การแปลงโคไซน์ไม่ต่อเนื่อง]] |
|||
[[zh:离散余弦变换]] |
Текущая версия от 23:24, 19 марта 2022
Дискретное косинусное преобразование (англ. Discrete Cosine Transform, DCT) — одно из ортогональных преобразований. Вариант косинусного преобразования для вектора действительных чисел. Применяется в алгоритмах сжатия информации с потерями, например, MPEG и JPEG. Это преобразование тесно связано с дискретным преобразованием Фурье и является гомоморфизмом его векторного пространства.
Данное преобразование является линейным, поэтому его результат можно вычислить при помощи умножения матрицы преобразования и вектора. Матрица ДКП является ортогональной (обратная матрица равна транспонированной), поэтому обратное преобразование вычисляется с помощью умножения транспонированной матрицы ДКП на вектор. На практике используется вариант ДКП с матрицей, пропорциональной ортогональной (получающейся из ортогональной умножением на константу).
Различные периодические продолжения сигнала ведут к различным типам ДКП. Ниже приводятся матрицы для первых четырёх типов ДКП:
Именно чаще всего встречается в практических приложениях благодаря свойству «уплотнения энергии».
для вектора из 8 чисел часто называют . Наиболее распространён двумерный вариант преобразования для матриц 8x8, состоящий из последовательности сначала для каждой строки, а затем для каждого столбца матрицы.
Существуют алгоритмы быстрого -преобразования, похожие на алгоритм быстрого преобразования Фурье. Для и других вариантов с фиксированной размерностью вектора существуют также алгоритмы, позволяющие свести количество операций умножения к минимуму.
Существуют аналоги , приближающие косинус числами, легко получающимися путём небольшого количества операций сдвига и сложения, что позволяет избежать операций умножения и тем самым повысить скорость вычислений.
Литература
[править | править код]- C. Loeffler, A. Ligtenberg and G. Moschytz. Practical Fast 1-D DCT Algorithms with 11 Multiplications // Proc. Int’l. Conf. on Acoustics, Speech, and Signal Processing 1989 (ICASSP '89), pp. 988—991.
Ссылки
[править | править код]- Список статей по ДКП и альтернативным преобразованиям
- About JPEG: Discrete Cosine Transform
- The Discrete Cosine Transform (DCT)
Это заготовка статьи об информационных технологиях и вычислительной технике. Помогите Википедии, дополнив её. |
Это заготовка статьи по математике. Помогите Википедии, дополнив её. |
Это заготовка статьи по информатике. Помогите Википедии, дополнив её. |