Кіріспе
Сигналды өңдеуде қолданылатын математикалық трансформация. Модификацияланған дискретті косинус трансформациясы (MDCT) – IV типті дискретті косинус трансформациясына (DCT IV) негізделген трансформация, оның қосымша қасиеті – жабысу: ол үлкен деректер жиынтығының тікелей келесі блоктарында орындалуға арналған, мұнда келесі блоктардың арасында жамылу жасалады, сонда бір блоктың соңғы жартысы келесі блоктың бірінші жартысымен сәйкес келеді. Бұл жамылу, DCT-нің энергияны шоғырландыру қасиеттерімен қатар, MDCT-ні сигналды сығымдау үшін ерекше тартымды етеді, себебі ол блок шекараларынан туындайтын бұрмалаулардан (артефакттардан) сақтануға көмектеседі. Осы артықшылықтарының нәтижесінде MDCT аудио деректерін сығымдауда ең көп қолданылатын жоғалтулы сығыстыру әдісі болып табылады. Ол MP3, Dolby Digital (AC 3), Vorbis (Ogg), Windows Media Audio (WMA), ATRAC, Cook, Advanced Audio Coding (AAC), High Definition Coding (HDC), LDAC, Dolby AC 4 және MPEG H 3D Audio сияқты қазіргі заманғы аудио кодтау стандарттарында, сондай-ақ AAC LD (LD MDCT), G.722.1, G.729.1, CELT және Opus сияқты сөйлеу кодтау стандарттарында қолданылады. Дискретті косинус трансформациясын (DCT) алғаш рет Насыр Ахмед 1972 жылы ұсынды, ал Ахмед Т. Натаражан мен К. Р. Раомен бірге 1974 жылы көрсетті. MDCT кейіннен Джон П. Принсен, А. В. Джонсон және Алан Б. Брэдли 1987 жылы Суррей университетінде ұсынды, бұған дейін Принсен мен Брэдли (1986) MDCT-нің негізгі принципі – уақыт доменіндегі қате сигналдарды жою (TDAC) әдісін әзірлеген болатын, ол төменде сипатталған. (Дискретті синустық трансформацияға негізделген MDST және DCT немесе DCT/DST комбинацияларының басқа, сирек қолданылатын түрлеріне негізделген MDCT-нің басқа да ұқсас трансформациялары бар.) MP3-де MDCT тікелей аудио сигналына емес, 32 жолақты полифазды квадраттау сүзгісі (PQF) банкінің шығысына қолданылады. Бұл MDCT шығысы PQF сүзгі банкіне тән қате сигналдарды азайту үшін арнайы формуламен өңделеді. Сүзгі банкі мен MDCT-нің мұндай комбинациясы гибридті сүзгі банкі немесе субдиапазонды MDCT деп аталады. AAC, керісінше, әдетте таза MDCT қолданады; тек (сирек қолданылатын) MPEG 4 AAC SSR нұсқасы (Sony) төрт жолақты PQF банкін және одан кейін MDCT қолданады. MP3-ке ұқсас, ATRAC қатарланған квадраттық айна сүзгілерін (QMF) және одан кейін MDCT қолданады.
The modified discrete cosine transform (MDCT) is a transform based on the type IV discrete cosine transform (DCT IV), with the additional property of being lapped: it is designed to be performed on consecutive blocks of a larger dataset, where subsequent blocks are overlapped so that the last half of one block coincides with the first half of the next block. This overlapping, in addition to the energy compaction qualities of the DCT, makes the MDCT especially attractive for signal compression applications, since it helps to avoid artifacts stemming from the block boundaries. As a result of these advantages, the MDCT is the most widely used lossy compression technique in audio data compression. It is employed in most modern audio coding standards, including MP3, Dolby Digital (AC 3), Vorbis (Ogg), Windows Media Audio (WMA), ATRAC, Cook, Advanced Audio Coding (AAC), High Definition Coding (HDC), LDAC, Dolby AC 4, and MPEG H 3D Audio, as well as speech coding standards such as AAC LD (LD MDCT), G.722.1, G.729.1, CELT, and Opus. The discrete cosine transform (DCT) was first proposed by Nasir Ahmed in 1972, and demonstrated by Ahmed with T. Natarajan and K. R. Rao in 1974. The MDCT was later proposed by John P. Princen, A. W. Johnson and Alan B. Bradley at the University of Surrey in 1987, following earlier work by Princen and Bradley (1986) to develop the MDCT's underlying principle of time domain aliasing cancellation (TDAC), described below. (There also exists an analogous transform, the MDST, based on the discrete sine transform, as well as other, rarely used, forms of the MDCT based on different types of DCT or DCT/DST combinations.) In MP3, the MDCT is not applied to the audio signal directly, but rather to the output of a 32 band polyphase quadrature filter (PQF) bank. The output of this MDCT is postprocessed by an alias reduction formula to reduce the typical aliasing of the PQF filter bank. Such a combination of a filter bank with an MDCT is called a hybrid filter bank or a subband MDCT. AAC, on the other hand, normally uses a pure MDCT; only the (rarely used) MPEG 4 AAC SSR variant (by Sony) uses a four band PQF bank followed by an MDCT. Similar to MP3, ATRAC uses stacked quadrature mirror filters (QMF) followed by an MDCT.
Анықтама
Лаппен түрлендіру ретінде MDCT, басқа Фурьеге байланысты түрлендірулермен салыстырғанда, кіріс деректер санына қарағанда екі есе аз шығыс деректерге ие болғандықтан, сәл ерекше. Атап айтқанда, бұл – сызықтық функция (мұнда R нақты сандар жиынын білдіреді). 2N санындағы x0, ..., x2N-1 нақты сандары, мына формула бойынша N санындағы X0, ..., XN-1 нақты сандарына түрлендіріледі: (Бұл түрлендіру алдындағы нормалау коэффициенті, мұндағы бірлік, кездейсоқ шарттылық болып табылады және әртүрлі нұсқаулықтарда өзгеше болуы мүмкін. Тек MDCT және IMDCT нормалауларының көбейтіндісі ғана белгілі бір шектеуге бағынады.)
(The normalization coefficient in front of this transform, here unity, is an arbitrary convention and differs between treatments. Only the product of the normalizations of the MDCT and the IMDCT, below, is constrained.)
Кері түрлендіру
Кері MDCT IMDCT деп аталады. Кірістер мен шығыстардың саны әртүрлі болғандықтан, көз тартарлықтай, MDCT кері айналдырылмайтын сияқты көрінеді. Дегенмен, толық кері айналдыруға жетеді, себебі келесі бір-бірімен жапсарлас блоктардың IMDCT-лерін қосу арқылы қателер өзара жойылып, бастапқы деректер қалпына келтіріледі; бұл техника уақыт доменіндегі қателерді жою (TDAC) деп аталады. IMDCT N нақты санды X0, …, XN-1 2N нақты санға y0, …, y2N-1 формуласы бойынша түрлендіреді: (DCT IV сияқты, ортогональды түрлендіруде кері түрлендіру алға түрлендірумен бірдей формада болады.) Терезеленген MDCT үшін, әдеттегі терезе нормалауда (төменде қараңыз), IMDCT алдындағы нормалау коэффициентін 2-ге көбейту керек (яғни, ол 2/N-ге тең болады).
(Like for the DCT IV, an orthogonal transform, the inverse has the same form as the forward transform.) In the case of a windowed MDCT with the usual window normalization (see below), the normalization coefficient in front of the IMDCT should be multiplied by 2 (i. e., becoming 2/N).
Есептеу
MDCT формуласын тікелей қолдану O(N²) операцияларды талап етеді, бірақ есептеуді рекурсивті түрде бөліп, жылдам Фурье түрлендіруіндегідей (FFT) жасаса, оны O(N log N) күрделілігімен есептеуге болады. MDCT-ны DFT (FFT) немесе DCT сияқты басқа түрлендірулер арқылы, O(N) көлемді алдын ала және кейін өңдеу қадамдарымен біріктіре отырып есептеуге де болады. Сонымен қатар, төменде сипатталғандай, DCT IV үшін кез келген алгоритм MDCT және IMDCT-ны есептеу әдісін бірден ұсынады.