수정 이산 코사인 변환
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
수정 이산 코사인 변환(MDCT)은 입력의 절반 개수만큼의 출력을 갖는 겹쳐진 변환으로, 실수 집합에서 정의되는 선형 함수이다. MDCT는 시간 영역 에일리어싱 제거(TDAC) 기술을 사용하여 원래 데이터를 복원할 수 있는 역변환인 IMDCT를 갖는다. MDCT는 고속 푸리에 변환(FFT)과 유사한 방식으로 계산할 수 있으며, 윈도우 함수를 사용하여 변환 속성을 개선할 수 있다. MDCT는 DCT-IV와 밀접한 관련이 있으며, 오디오 압축 등 다양한 분야에서 사용된다.
더 읽어볼만한 페이지
- 이산 변환 - 이산 푸리에 변환
이산 푸리에 변환(DFT)은 길이 N의 복소수 수열을 동일한 길이의 다른 복소수 수열로 변환하는 연산으로, 이산적인 시간 신호를 주파수 성분으로 분해하여 표현하며, 역변환을 통해 원래 신호로 복원 가능하고 다양한 분야에 응용된다. - 이산 변환 - 고속 푸리에 변환
고속 푸리에 변환(FFT)은 이산 푸리에 변환(DFT)을 효율적으로 계산하는 알고리즘으로, 연산 횟수를 줄여 디지털 신호 처리, 이미지 처리, 음향 분석 등 다양한 분야에 활용되며 쿨리-튜키 알고리즘 등이 대표적이다. - 푸리에 해석학 - 라플라스 변환
라플라스 변환은 함수 f(t)를 복소수 s를 사용하여 적분을 통해 다른 함수 F(s)로 변환하는 적분 변환이며, 선형성을 가지고 미분방정식 풀이 등 공학 분야에서 널리 사용된다. - 푸리에 해석학 - 푸리에 변환
푸리에 변환은 복소 함수를 주파수 성분으로 분해하는 적분 변환으로, 푸리에 급수의 확장 개념이며, 시간-주파수 영역 변환, 선형성, 컨볼루션 정리, 불확정성 원리 등의 성질을 가지며 다양한 분야에 활용된다.
수정 이산 코사인 변환 | |
---|---|
개요 | |
종류 | 푸리에 변환 관련 변환 |
분야 | 신호 처리 |
속성 | 실수값 데이터에 적합 계산 효율성이 높음 오디오 코덱 및 데이터 압축에 널리 사용 |
관련 변환 | 이산 코사인 변환 (DCT) 고속 푸리에 변환 (FFT) |
정의 | |
정의 | 시간 영역 신호를 주파수 영역으로 변환하는 선형 변환 |
특징 | 입력 신호의 중복을 활용하여 압축 효율을 높임 |
용도 | 오디오 및 비디오 코덱에서 데이터 압축에 사용 |
응용 분야 | |
오디오 코덱 | AAC MP3 Vorbis Opus |
비디오 코덱 | H.264/MPEG-4 AVC H.265/MPEG-H HEVC |
기타 | 데이터 압축 신호 분석 특징 추출 |
장점 | |
장점 | 데이터 압축 효율이 높음 계산 복잡도가 낮음 실수 연산만 사용하므로 구현이 용이 |
단점 | |
단점 | 전처리 및 후처리 과정이 필요 블록 기반 처리로 인한 에일리어싱 발생 가능성 |
역사 | |
개발 | 존 프린센 (John P. Princen), 앨런 브래들리 (Alan B. Bradley), A.W. 존슨 (A.W. Johnson) |
발표 연도 | 1987년 |
배경 | 시간 영역 에일리어싱 제거 (TDAC) 기법 기반 |
2. 정의
MDCT는 다른 푸리에 관련 변환과 달리 입력의 절반 개수만큼의 출력을 갖는 겹쳐진 변환이다. 선형 함수 F : '''R'''2N → '''R'''N (여기서 '''R'''은 실수 집합)으로, 2''N''개의 실수 ''x''0, ..., ''x''2''N''-1은 다음 공식에 따라 ''N''개의 실수 ''X''0, ..., ''X''''N''-1로 변환된다.
:
(변환 앞의 정규화 계수는 규약에 따라 달라진다. 아래에서 설명할 MDCT와 IMDCT의 정규화 곱만이 제약된다.)
2. 1. 역변환
역 MDCT는 '''IMDCT'''로 알려져 있다. 입력과 출력의 수가 다르기 때문에, 언뜻 보면 MDCT가 가역적이지 않은 것처럼 보일 수 있다. 그러나 완벽한 가역성은 겹치는 블록들의 연속적인 겹침 IMDCT들을 ''더하여'' 달성되며, 이는 오류를 ''상쇄''시키고 원래의 데이터를 복원하게 한다. 이 기술은 ''시간 영역 에일리어싱 제거'' ('''TDAC''')로 알려져 있다.IMDCT는 ''N''개의 실수 ''X''0, ..., ''X''''N''-1을 다음 공식에 따라 2''N''개의 실수 ''y''0, ..., ''y''2''N''-1로 변환한다.
:
(DCT-IV와 같이, 직교 변환의 경우 역변환은 정변환과 동일한 형태를 갖는다.)
일반적인 윈도우 정규화(아래 참조)를 사용하는 윈도우 MDCT의 경우, IMDCT 앞에 있는 정규화 계수는 2를 곱해야 한다(즉, 2/''N''이 됨).
2. 2. 계산
고속 푸리에 변환(FFT)과 같이 재귀적으로 계산을 인수분해하여 O(''N'' log ''N'')의 복잡도로 MDCT 공식을 직접 적용하면 O(''N''2) 연산이 필요한 경우보다 계산 복잡도를 줄일 수 있다. 또한, O(''N'')개의 전처리 및 후처리 단계를 통해 DFT(FFT) 또는 DCT와 같은 다른 변환으로도 MDCT를 계산할 수 있다.3. 윈도우 함수
파란색: 코사인, 빨간색: 사인-코사인, 녹색: 수정된 카이저-베셀
일반적인 신호 압축에서, 변환 속성은 수정 이산 코사인 변환(MDCT)에서 ''x''''n''에 곱해지고, 역 MDCT(IMDCT) 공식에서 ''y''''n''에 곱해지는 윈도우 함수 ''w''''n'' (''n'' = 0, ..., 2''N''−1)을 사용하여 개선된다. 윈도우 함수는 ''n'' = 0 및 2''N'' 경계에서 0으로 부드럽게 수렴하여 불연속성을 피하게 한다. 즉, MDCT ''전'' 또는 IMDCT ''후''에 데이터에 윈도우 함수가 적용된다. 원칙적으로 ''x''와 ''y''는 서로 다른 윈도우 함수를 가질 수 있으며, 블록마다 변경될 수도 있지만, 단순성을 위해 동일한 크기의 블록에 동일한 윈도우 함수를 사용하는 경우를 고려한다.
대칭 윈도우 ''w''''n'' = ''w''2''N''−1−''n''에 대해, 윈도우가 Princen-Bradley 조건
:.
을 만족하면 변환은 가역적이다(TDAC가 작동한다).
3. 1. 윈도우 함수의 종류
다양한 윈도우 함수가 사용된다. 변조된 랩 변환(MLT)으로 알려진 형태를 생성하는 윈도우는 다음과 같다.[15][16]
:
이것은 MP3 및 MPEG-2 AAC에 사용된다.
:
위 식은 Vorbis에 사용된다. AC-3는 Kaiser–Bessel 유도(KBD) 윈도우를 사용하며, MPEG-4 AAC도 KBD 윈도우를 사용할 수 있다.
MDCT에 적용되는 윈도우는 다른 유형의 신호 분석에 사용되는 윈도우와 다르다는 점에 유의해야 한다. MDCT 윈도우는 Princen–Bradley 조건을 충족해야 하기 때문이다. 이러한 차이점의 한 가지 이유는 MDCT 윈도우가 MDCT(분석) 및 IMDCT(합성) 모두에 두 번 적용되기 때문이다.
4. DCT-IV와의 관계 및 TDAC의 기원
짝수 ''N''에 대해 수정 이산 코사인 변환(MDCT)는 기본적으로 DCT-IV(이산 코사인 변환#DCT-IV)와 동일하며, 입력은 ''N''/2만큼 이동하고 두 개의 ''N'' 블록 데이터가 한 번에 변환된다. 이러한 등가성을 통해 시간 영역 에일리어싱 제거(TDAC)와 같은 중요한 속성을 도출할 수 있다.
MDCT와 DCT-IV의 관계를 정확히 이해하려면, DCT-IV가 교대로 짝수/홀수 경계 조건을 가진다는 것을 알아야 한다. 왼쪽 경계(n = -1/2 부근)에서는 짝수, 오른쪽 경계(n = ''N'' - 1/2 부근)에서는 홀수이다. 이는 이산 푸리에 변환(DFT)와 같은 주기적 경계가 아니다. 입력 배열 ''x''를 (''x'', -''x''''R'', -''x'', ''x''''R'', ...) 등으로 확장할 수 있다. 여기서 ''x''''R''은 ''x''를 역순으로 나타낸다.
2''N''개의 입력과 ''N''개의 출력을 갖는 MDCT에서 입력을 크기가 ''N''/2인 네 개의 블록 (''a'', ''b'', ''c'', ''d'')으로 나눈다. MDCT 정의의 +''N''/2 항에서 이 블록들을 오른쪽으로 ''N''/2만큼 이동하면 (''b'', ''c'', ''d'')가 ''N''개의 DCT-IV 입력의 끝을 넘어 확장되므로, 경계 조건에 따라 "접어야" 한다.
따라서 2''N''개의 입력 (''a'', ''b'', ''c'', ''d'')의 MDCT는 ''N''개의 입력 (-''c''''R''-''d'', ''a''-''b''''R'')에 대한 DCT-IV와 같다. 여기서 ''R''은 역순을 나타낸다.
IMDCT 공식은 DCT-IV의 1/2이며, 출력은 경계 조건을 통해 길이 2''N''으로 확장되고 왼쪽으로 ''N''/2만큼 이동된다. 역 DCT-IV는 입력 (-''c''''R''-''d'', ''a''-''b''''R'')를 다시 제공하며, 경계 조건을 통해 확장되고 이동되면 IMDCT(MDCT(''a'', ''b'', ''c'', ''d'')) = (''a''-''b''''R'', ''b''-''a''''R'', ''c''+''d''''R'', ''d''+''c''''R'') / 2를 얻는다.
IMDCT 출력의 절반은 중복되며, ''b''-''a''''R'' = -(''a''-''b''''R'')''R''와 같다. 입력을 크기 ''N''의 블록 ''A'' = (''a'', ''b''), ''B'' = (''c'', ''d'')로 그룹화하면, IMDCT(MDCT(''A'', ''B'')) = (''A''-''A''''R'', ''B''+''B''''R'') / 2로 표현할 수 있다.
연속하는 50% 중첩된 2''N'' 블록 (''B'', ''C'')의 MDCT를 계산하면, IMDCT는 (''B''-''B''''R'', ''C''+''C''''R'') / 2를 생성한다. 이 값이 이전 IMDCT 결과와 중첩된 절반에서 더해지면 역순 항이 상쇄되고 ''B''를 얻어 원래 데이터를 복구한다.
"시간 영역 에일리어싱 제거"라는 용어는 논리적 DCT-IV의 경계를 넘어 확장되는 입력 데이터가 나이퀴스트 주파수를 초과하는 주파수가 낮은 주파수로 에일리어싱되는 것처럼, 데이터가 시간 영역에서 에일리어싱되기 때문에 붙여졌다. ''c''-''d''''R'' 등의 조합은 더할 때 취소되도록 정확한 부호를 갖는다.
홀수 ''N''의 경우, ''N''/2는 정수가 아니므로 MDCT는 DCT-IV의 시프트 순열이 아니다. 이 경우, 반 샘플만큼 추가 시프트하면 MDCT/IMDCT가 DCT-III/II와 동등해진다.
4. 1. TDAC for the windowed MDCT
위에서 TDAC(시간 영역 에일리어싱 제거) 속성은 일반적인 MDCT(수정 이산 코사인 변환)에 대해 증명되었으며, 겹치는 절반에서 연속적인 블록의 IMDCT(역 MDCT)를 더하면 원본 데이터를 복구할 수 있음을 보여주었다. 윈도우가 적용된 MDCT에 대한 이 역 속성의 유도는 약간 더 복잡하다.크기가 ''N''인 블록 ''A'', ''B'', ''C''에 대해, 2''N''개의 입력 (''A'',''B'')와 (''B'',''C'')의 겹치는 연속적인 집합을 고려해 보자. 위에서 와 가 MDCT되고, IMDCT되고, 겹치는 절반에서 더해지면 , 즉 원본 데이터를 얻는 것을 기억해야 한다.
이제 MDCT 입력 및 IMDCT 출력을 길이 2''N''의 윈도우 함수로 곱한다고 가정한다. 위와 마찬가지로 대칭 윈도우 함수를 가정하며, 따라서 ''W''가 길이 ''N'' 벡터이고 ''R''이 이전과 같이 반전을 나타내는 형태이다. 그러면 Princen-Bradley 조건은 로 쓸 수 있으며, 제곱과 덧셈은 요소별로 수행된다.
따라서 를 MDCT하는 대신, 이제 를 MDCT한다(모든 곱셈은 요소별로 수행됨). 이것이 IMDCT되고 다시 (요소별로) 윈도우 함수로 곱해지면, 마지막 ''N'' 절반은 다음과 같다.
:.
(IMDCT 정규화가 윈도우된 경우에 2의 인수로 다르기 때문에, 더 이상 1/2를 곱하지 않는다.)
마찬가지로, 의 윈도우 MDCT 및 IMDCT는 처음 ''N'' 절반에서 다음을 생성한다.
:.
이 두 절반을 더하면 다음을 얻는다.
:
원본 데이터를 복구한다.
참조
[1]
서적
Mobile Multimedia Broadcasting Standards: Technology and Practice
https://books.google[...]
Springer Science & Business Media
2008
[2]
서적
National Association of Broadcasters Engineering Handbook: NAB Engineering Handbook
https://books.google[...]
Taylor & Francis
2013
[3]
웹사이트
Dolby AC-4: Audio Delivery for Next-Generation Entertainment Services
https://www.dolby.co[...]
2015-06
[4]
논문
Development of the MPEG-H TV Audio System for ATSC 3.0
https://www.iis.frau[...]
2017
[5]
간행물
MPEG-4 Enhanced Low Delay AAC - A New Standard for High Quality Communication
https://www.iis.frau[...]
Audio Engineering Society
2008-10
[6]
간행물
A guideline to audio codec delay
https://www.iis.frau[...]
Audio Engineering Society
2004-05
[7]
서적
VoIP Voice and Fax Signal Processing
https://books.google[...]
John Wiley & Sons
2008
[8]
Webarchive
Presentation of the CELT codec
http://people.xiph.o[...]
2011-08-07
[9]
웹사이트
Opus Codec
http://opus-codec.or[...]
Xiph.org Foundation
[10]
웹사이트
Newly standardized Opus audio codec fills every role from online chat to music
https://arstechnica.[...]
2012-09-12
[11]
논문
How I Came Up With the Discrete Cosine Transform
https://www.cse.iitd[...]
1991-01
[12]
논문
Discrete Cosine Transform
1974-01
[13]
서적
ICASSP '87. IEEE International Conference on Acoustics, Speech, and Signal Processing
1987
[14]
문서
Analysis/synthesis filter bank design based on time domain aliasing cancellation
IEEE Trans. Acoust. Speech Signal Processing
1986
[15]
논문
Lapped Transforms for Efficient Transform/Subband Coding
IEEE Trans. on Acoustics, Speech, and Signal Processing
1990-06
[16]
논문
Modulated QMF Filter Banks with Perfect Reconstruction
Electronics Letters
1990-06
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com