News: |
A дискретный косинус преобразовывает (DCT) выражает последовательность небесконечно много частных значений in terms of сумма косинус функции осциллируя на по-разному частоты. DCTs важно к многочисленнDp применениям в науке и инженерстве, от обжатие lossy тональнозвуково и изображения (где мало высокочастотные компоненты можно сбросить), к спектральные методы для численного разрешения частично дифференциальные уравнения. Польза косинуса rather than синус функции критически в этих применениях: для обжатия, оно turn out что функции косинуса очень эффективне (как объяснено ниже, менее необходимы для того чтобы приблизиться типичная сигнал), тогда как для дифференциальных уравнений косинусы выражают определенный выбор ограничивающие условия.
В частности, DCT будет a Fourier-родственн преобразуйте подобно к дискретное fourier transform (DFT), но использующ только действительные числа. DCTs соответствующе к DFTs грубо дважды длины, работая на реальных данных с ровно симметрия (в виду того что fourier transform реального и даже функции реально и ровно), куда в некоторые варианты входной сигнал and/or данные об объеме продукции перенесены половиной образца. 8 стандартных вариантов DCT, of which 4 общее.
Самым общим вариантом дискретного косинуса преобразовывает будет тип-Ii DCT, который часто вызван просто «DCT»; свой inverse, тип-CIIi DCT, соответственно часто вызван просто «обратным DCT» или «IDCT». Отнесенное 2 преобразовывают дискретный синус преобразовывает (DST), который соответствующе к DFT реального и сверхсчетно функции, и доработанный дискретный косинус преобразовывает (MDCT), которого основывает на DCT перекрывать данные.
Содержание |
DCT, и в частности DCT-II, часто использованы в сигнале и обработке изображений, специально для уплотнений данных lossy, потому что оно имеет сильное «свойство уплотнения энергии» (Rao и Yip, 1990): большой часть из данных по сигнала клонит быть сконцентрированным в немного низкочастотных компонентов DCT, причаливать Karhunen-Loève преобразовывает (оптимально в чувстве decorrelation) для сигналов основал на некоторых пределах Процессы Markov. Как объяснено ниже, это stem from ограничивающие условия подразумеваемые в функциях косинуса.
Родственное преобразовывает, доработано дискретный косинус преобразовывает, или MDCT (основанное на DCT-IV), использовано внутри AAC, Vorbis, WMA, и MP3 тональнозвуковое обжатие.
DCTs также широко использовано в разрешать частично дифференциальные уравнения спектральными методами, где по-разному варианты DCT соответствуют к небольш по-разному даже/сверхсчетные ограничивающие условия на 2 концах блока.
DCTs также близко отнесено к Многочленн Chebyshev, и быстрые алгоритмы DCT (ниже) использованы внутри Приближение Chebyshev произвольных функций сериями многочленн Chebyshev, например внутри Квадрирование Clenshaw-Кертис.
DCT использовано внутри JPEG обжатие изображения, MJPEG, MPEG, и DV видео- обжатие. Там, плоское DCT-II блоки вычислены и результаты quantized и энтропия закодировала. In this case, N типично 8 и формула DCT-II приложена к каждым рядку и колонке блока. Результат 8, котор × 8 преобразовывает блок коэффициента в (0,0) элементом (верхн-левым) будет компонентом и входами DC (нул-частоты) with increasing вертикальные и горизонтальные значения индекса представляет более высокие вертикальные и горизонтальные spatial частоты.
Как VS Fourier-родственные преобразуйте, дискретный косинус преобразовывает (DCTs) выражает функцию или сигнал in terms of сумма sinusoids с по-разному частоты и амплитуды. Как дискретное fourier transform (DFT), DCT приводится в действие дальше функцию на небесконечном количестве дискретных частных значений. Очевидное различение между DCT и DFT что бывшие функции косинуса польз только, пока последние косинусы и синусы польз и (in the form of сложные exponentials). Однако, этой видимой разницей будет просто последствие более глубокого различения: DCT подразумевает по-разному ограничивающие условия чем отнесенные DFT или другое преобразовывает.
Fourier-родственное преобразовывает приводится в действие дальше функцию над небесконечным домен, such as DFT или DCT или a Серия Fourier, смогите быть подумано как подразумеваем определять выдвижение той функции вне домена. That is, как только вы пишете функцию f(x) как сумма sinusoids, вы можете оценить ту сумму на любых x, выровняйтесь для x где оригинал f(x) не определил. DFT, как серия Fourier, подразумевает a периодическо выдвижение первоначально функции. DCT, как a косинус преобразовывает, подразумевает ровно выдвижение первоначально функции.
Однако, потому что DCTs работает дальше небесконечно, дискретно последовательности, 2 вопроса возникают который для непрерывного косинуса не преобразовывают. Во первых, одно должно определить ли функция ровна или сверхсчетна на оба left and right границы домена (т.е. минутаn и максимумn границы в определениях ниже, соответственно). Во-вторых, одно должно определить вокруг что пункт функция ровна или сверхсчетна. В частности, рассматривайте последовательность abcd 4 equally spaced частных значений, и скажите что мы определяем ровную лево граница. 2 здравых возможности: любо данные ровны о образце a, in which case ровное выдвижение dcbabcd, или данные ровны о пункте halfway между a и ранее пункт, in which case ровное выдвижение dcbaabcd (a повторяет).
Эти выборы водят к всем стандартным изменениям DCTs и также дискретный синус преобразовывает (DSTs). Каждая граница может быть или ровна или сверхсчетна (2 выбора в границу) и может быть симметрична около частное значение или пункт halfway между 2 частными значениями (2 выборами в границу), для итога возможности. Половина этих возможностей, тех где лево граница ровна, соответствует к 8 типам DCT; другой половиной будет 8 типов DST.
Эти по-разному ограничивающие условия сильно влияют на применения преобразовывать, и водят к уникально полезным свойствам для различных типов DCT. Наиболее сразу, когда использование Fourier-родственное преобразовывает для того чтобы разрешить частично дифференциальные уравнения спектральные методы, ограничивающие условия сразу определены по мере того как часть будучи разрешанными проблемы. Или, для MDCT (основано на типе-CIv DCT), ограничивающие условия плотно включаются в свойство MDCT критически отмены элиайсинга врем-домена. В более subtle способе, ограничивающие условия ответственн для «свойств уплотнения энергии» которые делают DCTs полезно для изображения и тональнозвукового обжатия, потому что границы влияют на тариф схождения любых Fourier-как серии.
В частности, оно хороше - известно что любые скачкообразност в функцию уменьшите тариф схождения серии Fourier, TAK, CTO больше sinusoids будут необходимы для того чтобы представить функцию с, котор дали точностью. Такой же принцип управляет пользой DFT и другое преобразовывает для обжатия сигнала: выглаживатель функция, необходимы, что представляют немногие термины в своих DFT или DCT его точно, и больше они можно обжать. (Здесь, мы думаем DFT или DCT как приближения для Серия Fourier или серия косинуса функции, соответственно, talk about своя «гладкость. ») Однако, подразумеваемая периодичность середин DFT что скачкообразност обычно происходят на границах: любой случайно этап сигнала маловероятн для того чтобы иметь такое же значение на обеих left and right границах. (Проблема a подобная возникает для DST, в котором сверхсчетное левое ограничивающее условие подразумевает скачкообразность для любой функции которая не случается быть zero на той границе.) in contrast, DCT где оба границы ровны всегда производит непрерывное выдвижение на границах (XOT4 наклон будет вообще прерывно). This is why DCTs, и в частности DCTs типов iий, II, v, и CVI (типы которые имеют 2 даже границы) вообще выполнить более лучше для обжатия сигнала чем DFTs и DSTs. In practice, тип-Ii DCT обычно предпочесн для таких применений, в части for reasons of вычислительное удобство.
Официально, дискретным косинусом преобразовывает будет a линейно, invertible функция F : RN -> RN (где R обозначает комплект действительные числа), или соответствующе invertible N × N квадратная матрица. Будут несколько вариантов DCT с небольш доработанными определениями. N действительные числа x0, ..., xN-1 преобразуйте в N действительные числа X0, ..., XN-1 согласно одной из формул:
Некоторые авторы более дальнейшие умножат x0 и xN-1 термины √2, и соответственно умножат X0 и XN-1 термины 1/√2. Это делает матрицу DCT-I ортогонально, если одно более дальнейшее умножит общим коэффициентом эффекта масштаба , но ломает сразу корреспонденцию с реальн-ровным DFT.
DCT-I будет точно эквивалентом (до общего коэффициента эффекта масштаба 2), к DFT 2N − 2 действительные числа с ровной симметрией. Например, DCT-I Nдействительные числа =5 abcde точно эквивалент к DFT 8 действительных чисел abcdedcb (даже симметрия), разделенная 2. (In contrast, типы II-IV DCT включают перенос половин-образца в соответствующее DFT.)
Примечание, однако, что DCT-I не определено для N меньш чем 2. (Все другие типы DCT определены для нисколько позитва N.)
Таким образом, DCT-I соответствует к ограничивающим условиям: xn будет ровно вокруг n=0 и выравниваются вокруг n=N-1; подобно для Xk.
DCT-II будет вероятно само общ используемой формой, и часто просто refer to как «DCT».
Это преобразовывает будет точно эквивалентом (до общего коэффициента эффекта масштаба 2) к DFT 4N реальные входные сигналы ровной симметрии где ровн-индексированные элементы нул. That is, будет половиной DFT 4N входные сигналы yn, где y2n = 0, y2n + 1 = xn для , и y4N − n = yn для 0 < n < 2N.
Некоторые авторы более дальнейшие умножат X0 термина 1/√2 (см. ниже для соответствуя изменения в DCT-III). Это делает матрицу DCT-II ортогонально, если одно более дальнейшее умножит общим коэффициентом эффекта масштаба , но ломает сразу корреспонденцию с реальн-ровным DFT половин-перенесенного входного сигнала.
DCT-II подразумевает ограничивающие условия: xn будет ровно вокруг n=-1/2 и выравниваются вокруг n=N-1/2; Xk будет ровно вокруг k=0 и сверхсчетное вокруг k=N.
Потому что будет inverse DCT-II (до коэффициента эффекта масштаба, см. ниже), эта форма иногда просто refer to как «обратное DCT» («IDCT»).
Некоторые авторы более дальнейшие умножат x0 термина 1/√2 (см. выше для соответствуя изменения в DCT-II), TAK, CTO DCT-II и DCT-III будут транспонирует одного другое. Это делает матрицу DCT-III ортогонально, если одно более дальнейшее умножит общим коэффициентом эффекта масштаба , но ломает сразу корреспонденцию с реальн-ровным DFT половин-перенесенного выхода.
DCT-III подразумевает ограничивающие условия: xn будет ровно вокруг n=0 и сверхсчетное вокруг n=N; Xk будет ровно вокруг k=-1/2 и выравниваются вокруг k=N-1/2.
Матрица DCT-IV становит ортогонально если одно более дальнейшее умножит общим коэффициентом эффекта масштаба .
Вариант DCT-IV, где данные от по-разному преобразовывают перекрыли, вызывает доработанный дискретный косинус преобразовывает (MDCT).
DCT-IV подразумевает ограничивающие условия: xn будет ровно вокруг n=-1/2 и сверхсчетное вокруг n=N-1/2; подобно для Xk.
Типы I-IV DCT соответствующи к реальн-ровному DFTs ровного заказа (regardless of ли N будет ровно или сверхсчетно), в виду того что соответствуя DFT длины 2 (N−1) (для DCT-I) или 4N (для DCT-II/III) или 8N (для DCT-VIII). В принципе, фактическ 4 дополнительных типа дискретного косинуса преобразовывают (Martucci, 1994), соответствующ необходимо реальн-ровное DFTs логически сверхсчетного заказа, которого имейте факторы в знаменателях аргументов косинуса.
Соответствующе, DCTs типов I-IV подразумевает границы которые даже/сверхсчетно вокруг или частного значения для обеих границ или halfway между 2 частными значениями для обеих границ. DCTs типов V-VIII подразумевает границы выравниваются/сверхсчетно вокруг частного значения для одной границы и halfway между 2 частными значениями для другой границы.
Однако, кажется, что редк использованы эти варианты in practice. Одна причина, возможно, что алгоритмы FFT для сверхсчетн-длины DFTs вообще более осложненн чем алгоритмы FFT для ровн-длины DFTs (например. просто алгоритмы radix-2 только для ровных длин), и эта увеличенная замысловатость carry over к DCTs как описанно ниже.
(Тривиальный реальн-ровный блок, длина-одн DFT (сверхсчетная длина) одиночного номера a, соответствует к DCT-V длины N=1.)
Inverse DCT-I будет DCT-I умноженное 2 (N-1). Inverse DCT-IV будет DCT-IV умноженное 2N. Inverse DCT-II будет DCT-III умноженное 2N (и наоборот).
Как для DFT, фактором нормированности перед этими преобразовывает определения будет просто конвенция и отличает между обработками. Например, некоторые авторы умножат преобразовывают мимо TAK, CTO inverse не будет требовать NIKAKого дополнительного перемножительного фактора. Я совмещено с соотвествующими факторами √2 (см. выше), это можно использовать для того чтобы сделать матрицу преобразовывать ортогонально.
Многомерные варианты различных типов DCT следуют за straightforwardly от одноразмерных определений: они будет просто сепарабольным продуктом (соответствующе, состав) DCTs вдоль каждого размера.
Например, плоское DCT-II изображения или матрицы будет просто одноразмерным DCT-II, от выше, выполненным вдоль рядков и после этого вдоль колонок (или наоборот). That is, 2d DCT-II дается формулой (снимающ нормированность и другие коэффициенты эффекта масштаба, как выше):
Технически, вычислять 2 (или multi-) габаритных DCT последовательностями одноразмерного DCTs вдоль каждого размера известен как a рядк-колонка алгоритм (после плоского случая). Как с многомерные алгоритмы FFT, однако, существуют другие методы для того чтобы вычислить такую же вещь пока выполняющ вычисления в по-разному заказе (т.е. interleaving/совмещая алгоритмы для по-разному размеров). ``
Изображение к праву показывает комбинацию горизонтальных и вертикальных частот для 8 x 8 (N1 = N2 = 8) плоское DCT. Каждым шагом from left to right и верхней частью к дну будет увеличение в частоте циклом 1/2. Например, moving право одно от верхн-левого квадрата производит увеличение половин-цикла в горизонтальной частоте (идет от белого к черноте). Другое движение к праву производит 2 половин-цикла (белого к черноте к белизне). Двигать вниз производит 2 половин-цикла горизонтально и половин-цикл вертикальн. Данные по источника (8x8) преобразованы к a линейная комбинация этих квадратов 64 частот.
Хотя сразу применение этих формул требовало бы o (N2) деятельности, по возможности вычислить такую же вещь с только o (N журнал N) сложность путем факторизировать вычисление подобно к быстрое fourier transform (FFT). Одно может также вычислить DCTs через FFTs совмещенное с o (N) шаги pre- и постпроцессирования.
Самые эффективные алгоритмы, в принципе, обычно теми которые специализированы сразу для DCT, в отличие от использования обычного FFT плюс o (N) экстренные деятельности (см. ниже для исключения). Однако, даже «специализировал» алгоритмы DCT (включая все из тех которые достигают самых низких известных арифметических отсчетов, по крайней мере для сил--2 размеры) типично близко отнесены к FFT алгоритм-в виду того что DCTs будет необходимо DFTs реальн-ровных данных, одно могут конструировать быстрый алгоритм DCT путем принимать FFT и исключать резервные деятельности из-за этой симметрии. Это можно даже сделать автоматически (Frigo & Johnson, 2005). Алгоритмы основанные на Алгоритм Cooley-Tukey FFT будьте самый общий, но любой другой алгоритм FFT также применим. Например, алгоритм Winograd FFT водит к алгоритмам минимальн-умножения для DFT, albeit вообще на цене больше добавлений, и подобном алгоритме предложил Feig & Winograd (1992) для DCT. Потому что алгоритмы для DFTs, DCTs, и подобной преобразовывают близко отнесенные все настолько, любое улучшение в алгоритмах для одного преобразовывают теоретически ведут к немедленно увеличениям для другого преобразовывают также (Duhamel & Vetterli, 1990).
Пока алгоритмы DCT используют unmodified FFT часто имеют некоторые теоретические накладные расходы сравненные к самым лучшим специализированным алгоритмам DCT, бывшие также имеют определенное преимущество: высоки оптимизированные программы FFT широко имеющиеся. Таким образом, in practice, часто легке получить высокий класс исполнения для вообще длин N с FFT-основанными алгоритмами. (Представление на самомоднейшем оборудовании типично не преобладано просто арифметическими отсчетами, и оптимизирование требует существенного опытно-конструкторская работы.) специализированные алгоритмы DCT, с другой стороны, видят widespread польза для преобразовывает малых, фикчированных размеров such as DCT-II используемое внутри JPEG обжатие, или малое DCTs (или MDCTs) типично использовали в тональнозвуковом обжатии. (Уменьшенным размером Кодего может также быть причина использовать специализированное DCT для применений врезать-приспособления.)
В действительности, даже алгоритмами DCT используя обычное FFT будут иногда эквивалент к подрезать резервные деятельности от более большого FFT реальн-симметричных данных, и они могут даже быть оптимальны от перспективы арифметических отсчетов. Например, тип-Ii DCT соответствующ к DFT размера 4N с реальн-ровной симметрией ровн-индексировало элементы нул. Один из самых общих методов для вычислять это через FFT (например. метод используемый в FFTPACK и FFTW) из-за Makhoul (1980), и этот метод непредусмотрительно можно увидеть как один шаг алгоритма Cooley-Tukey децимаци-в-времени radix-4 приложенного к «логически» реальн-ровному DFT соответствуя к DCT CII. (Шаг radix-4 уменьшает размер 4N DFT к размеру 4N DFTs реальных данных, 2 of which нул и 2 of which будьте равно до одно другое ровной симметрией, следовательно дающ одиночный размерN FFT реальных данных плюс O(N) бабочки.) Потому что ровн-индексированные элементы нул, этот шаг radix-4 точно этим же как шаг разделять-radix; если затем размерN реальн-данные FFT также выполнены реальн-данными алгоритм разделять-radix (как в Sorensen et al., 1987), после этого приводя к алгоритм фактическ сопрягает самый низкий опубликованный арифметический отсчет для сил--2 DCT-II (2Nжурнал2N − N + 2 деятельности реальн-арифметики[1]). Так, ничего внутреннеприсуще плохое о вычислять DCT через FFT от арифметики, котор перспектив-оно будет иногда просто вопросом ли соответствуя алгоритм FFT оптимальн. (Как практически дело, функци-вызовите накладные расходы в invoking отдельно режим FFT могл быть значительно для малого N, только это будет вставкой rather than алгоритмическим вопросом в виду того что оно может быть разрешено путем разворачивать/inlining.)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Custom Search
|
© Авторское право 2011 WorldLingo. Все права защищены.