수정된 이산 코사인 변환

Modified discrete cosine transform

수정 이산 코사인 변환(MDCT)은 타입 IV 이산 코사인 변환(DCT-IV)에 기초한 변환으로 래핑되는 추가 특성이 있습니다.이 변환은 큰 데이터 세트의 연속된 블록에서 수행되도록 설계되어 있습니다.이 경우 1개 블록의 후반 절반이 n개의 전반과 일치하도록 후속 블록이 중복됩니다.ext 블록이러한 오버랩은 DCT의 에너지 압축 품질과 더불어 블록 경계에서 발생하는 아티팩트를 방지하는 데 도움이 되기 때문에 MDCT를 신호 압축 애플리케이션에 특히 매력적으로 만듭니다.이러한 장점 때문에 MDCT는 오디오 데이터 압축에서 가장 널리 사용되는 손실 압축 기술입니다.그것은 대부분의 현대 오디오 부호화 표준에서, MP3, 돌비 디지털(AC-3), Vorbis(Ogg)WindowsMedia오디오(WMA), ATRAC, 쿡, 고급 오디오 부호화 LDAC, 돌비 AC-4,[3]과 MPEG-H 3DAudio,[4](헬기 지시 본부)[2]의 비디오 테이프 부호화(AAC)[1]뿐만 아니라 AAC-LD(LD-MDCT)[5]G.722.1,[6]G.729.1,[7]CELT, 같은 연설 코딩 표준[8등 취업이다.]와 오푸스.[9][10]

이산 코사인 변환(DCT)은 1972년 [11]Nasir Ahmed에 의해 처음 제안되었고,[12] 1974년 Ahmed와 T. 나타라잔 및 K. R. Rao에 의해 시연되었다.MDCT는 나중에 John P. Princen, A.W. Johnson 및 Alan B에 의해 제안되었습니다.1987년 [13]서리 대학의 Bradley는 아래에 설명된 MDCT의 시간 영역 에일리어싱 취소(TDAC)의 기본 원칙을 개발하기 위한 Princen과 Bradley(1986)[14]의 이전 연구에 이어 다음과 같은 연구를 수행했습니다.(또한 다른 유형의 DCT 또는 DCT/DST 조합에 기초한 MDCT의 다른 거의 사용되지 않는 형식을 기반으로 하는 유사한 변환인 MDST도 존재합니다).

MP3에서는 MDCT는 오디오 신호에 직접 적용되는 것이 아니라 32밴드 PQF 뱅크의 출력에 적용됩니다.이 MDCT의 출력은 에일리어스 감소 공식에 의해 후처리되어 PQF 필터 뱅크의 일반적인 에일리어스를 줄입니다.이러한 필터 뱅크와 MDCT의 조합을 하이브리드필터 뱅크 또는 서브밴드 MDCT라고 부릅니다.반면 AAC는 보통 순수 MDCT를 사용합니다.소니MPEG-4 AAC-SSR 배리언트만이 4밴드 PQF 뱅크에 이어 MDCT를 사용합니다.MP3와 마찬가지로 ATRAC는 스택형 직교 미러 필터(QMF)에 이어 MDCT를 사용합니다.

정의.

래핑된 변환으로서 MDCT는 (같은 수가 아닌) 입력의 절반의 출력을 가지고 있다는 점에서 다른 푸리에 관련 변환에 비해 조금 특이합니다.특히, 함수F : 2 N{\ \{R} \이다(여기서 R은 실수의 집합을 나타낸다).2N 실수0 x, ..., x2N-1 다음 공식에 따라 N 실수 X0, ..., XN-1 변환됩니다.

(이 변환 앞에 있는 정규화 계수(여기서는 단일성)는 임의 규칙이며 처리마다 다릅니다.아래 MDCT와 IMDCT의 정규화 곱만이 제약됩니다.)

역변환

역MDCT는 IMDCT라고 불립니다.입력과 출력의 수가 다르기 때문에 언뜻 보면 MDCT를 반전할 수 없는 것처럼 보일 수 있습니다.단, 완전한 반전성은 후속 오버랩블럭의 IMDCT를 추가하여 오류취소하고 원래 데이터를 취득함으로써 실현됩니다.이 기술은 Time-Domain Aliasing Cancelation(TDAC; 시간 도메인 에일리어스 취소)라고 불립니다.

IMDCT는 다음 공식에 따라 N개의 실수 X0, ..., XN-1 2N개의 실수0 y, ..., y2N-1 변환합니다.

(직교 변환인 DCT-IV의 경우와 마찬가지로 역변환의 형태는 순변환과 동일합니다).

통상적인 윈도 정규화를 수반하는 윈도 MDCT의 경우(아래 참조), IMDCT 앞의 정규화 계수에 2를 곱해야 합니다(즉, 2/N이 됩니다).

계산

MDCT 공식의 직접 적용에는 O(N2) 연산이 필요하지만 고속 푸리에 변환(FFT)과 같이 계산을 재귀적으로 인수분해함으로써 O(N log N) 복잡도만으로 동일한 것을 계산할 수 있습니다.MDCT는 O(N)의 전처리 단계와 후처리 단계를 조합한 다른 변환(일반적으로 DFT(FFT) 또는 DCT)을 통해 계산할 수도 있습니다.또, 이하와 같이, DCT-IV 의 알고리즘에 의해서, MDCT 와 IMDCT 의 사이즈를 균등하게 계산하는 방법이 즉시 제공됩니다.

창 기능

MDCT 창 기능:
파란색: 코사인, 빨간색: 사인-코사인, 녹색: 수정 카이저-베셀

일반적인 신호 압축 어플리케이션에서는 위의 MDCT 및 IMDCT 공식에서 x 및 ynn 곱한 윈도우 함수n w(n = 0, ..., 2N-1)를 사용하여 변환 특성을 더욱 개선하여 이들 0점의 함수를 원활하게 진행함으로써 n = 0 및 2N 경계에서의 불연속성을 방지한다.(즉, MDCT 전과 IMDCT 후에 데이터를 윈도우로 설정합니다).원칙적으로 x와 y는 서로 다른 윈도우 기능을 가질 수 있으며 윈도우 기능도 한 블록에서 다음 블록으로 변경될 수 있습니다(특히 크기가 다른 데이터 블록이 결합된 경우). 그러나 단순성을 위해 동일한 크기의 블록에 대해 동일한 윈도우 함수의 일반적인 경우를 고려합니다.

변환은 w2N−1−n Princen-Bradley 조건을 만족하는 대칭 창 wn = w에 대해 반전 가능한 상태로 유지됩니다(즉, TDAC가 작동합니다).

다양한 윈도우 기능이 사용됩니다.Modulated Laped Transform(MLT;[15][16] 변조 래핑 변환)이라고 하는 형식을 생성하는 창은 다음과 같습니다.

MP3 및 MPEG-2 AAC에 사용됩니다.

Vorbis를 위해.AC-3은 Kaiser-Besel derived(KBD) 창을 사용하며 MPEG-4 AAC도 KBD 창을 사용할 수 있습니다.

MDCT에 적용되는 창은 Princen-Bradley 조건을 충족해야 하므로 다른 유형의 신호 분석에 사용되는 창과는 다릅니다.이 차이의 이유 중 하나는 MDCT(분석)와 IMDCT(합성) 모두에 대해 MDCT 창이 두 번 적용되기 때문입니다.

DCT-IV와의 관계 및 TDAC의 원산지

정의 검사에서 알 수 있듯이 N에 대해 MDCT는 기본적으로 DCT-IV와 동등하며, 여기서 입력은 N/2만큼 시프트되고 2개의 데이터 블록이 동시에 변환됩니다.이 동등성을 보다 신중하게 검토함으로써 TDAC와 같은 중요한 특성을 쉽게 도출할 수 있습니다.

DCT-IV에 대한 정확한 관계를 정의하려면 DCT-IV가 짝수/홀수 경계 조건(왼쪽 경계(약 n = -1/2), 오른쪽 경계( n = N - 1/2), 기타 (DFT에 대한 주기 경계)에 대응한다는 을 알아야 한다.이것은 cos [ N( -- + ) (+ )] [ style \ \ left [ { \ \ } {N } \ ( - n -+ 2 )]( + + 2 ){\( the the the the the {\ {\ {\ {\ {\ {\ {\ {\ {\ {\ this this this {\ {\ this this this this this this this this this this this this this this this this this this this this this this this this this this { \ } 및 [ N ( N - - + ) ( + ) - ][ N( n+ ) k+ \ \ \ left [ { \ \ { \ } { N } \ 2 ( n + 1 ) \ 2 따라서 입력이 길이 N의 배열 x일 경우 이 배열을 (x, -xR, -x, xR, ...) 등으로 확장하는 것을 상상할 수 있습니다.여기R x는 역순으로 x를 나타냅니다.

2N의 입력과 N의 출력을 가진 MDCT를 생각해 봅시다.여기서 입력은 각각 N/2 크기의 4개의 블록(a, b, c, d)으로 나눕니다.이것들을 N/2(MDCT 정의의 +N/2 항에서) 오른쪽으로 이동하면 (b, c, d)가 N DCT-IV 입력의 끝을 지나 확장되므로 위에서 설명한 경계 조건에 따라 다시 "접힘"해야 합니다.

따라서 2N 입력(a, b, c, d)의 MDCT는 N 입력의 DCT-IV(-c-dR, a-bR)와 정확하게 동등합니다.여기서 R은 위와 같이 반전을 나타냅니다.

(이렇게 하면 DCT-IV를 계산하는 모든 알고리즘을 MDCT에 개별적으로 적용할 수 있습니다).

마찬가지로 위의 IMDCT 공식은 정확히 DCT-IV의 1/2(자체 역)입니다.여기서 출력은 (경계 조건을 통해) 길이 2N으로 연장되고 N/2만큼 왼쪽으로 다시 이동됩니다.역DCT-IV는 단순히 위에서 입력(-c-dR, a-bR)을 반환합니다.이 값이 경계 조건을 통해 확장되고 이동하면 다음과 같은 값이 얻어집니다.

IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR) / 2 。

따라서 IMDCT 출력의 절반은 b-aR = -(a-bR)R와 마찬가지로 마지막 두 항에 대해 중복됩니다.입력을 크기 N의 더 큰 블록 A,B(A = (a, b) 및 B = (c, d))로 그룹화하면 이 결과를 보다 간단한 방법으로 작성할 수 있습니다.

IMDCT (MDCT (A, B)) = (A-AR, B+BR) / 2

이제 TDAC의 구조를 이해할 수 있습니다.50% 중복된 후속 2N 블럭(B, C)의 MDCT를 계산한다고 가정합니다.그 후, IMDCT는 위와 같이 산출됩니다. (B-BR, CR+C) / 2. 이것을 이전의 IMDCT와 더하면, 상반된 항이 취소되고, 1개는 단순히 B를 취득해 원래의 데이터를 회복합니다.

TDAC의 원산지

"시간 도메인 에일리어싱 취소"라는 용어의 유래가 명확해졌습니다.논리 DCT-IV 의 경계를 넘는 입력 데이터를 사용하면, 나이키스트 주파수를 넘는 주파수가 낮은 주파수로 에일리어스 되는 것과 같은 방법으로 데이터가 에일리어스 됩니다.단, 이 에일리어스는 주파수 도메인이 아닌 시간 영역에서 발생합니다.a 와 bRth 에의 기여는 구별할 수 없습니다.(a, b, c, d) 또는 동등한 MDCT의 결과

IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR) / 2 。

조합 c-dR 등은 조합이 추가되었을 때 취소되는 정확한 기호를 가지고 있습니다.

(실제로 거의 사용되지 않는) 홀수 N의 경우 N/2는 정수가 아니기 때문에 MDCT는 단순히 DCT-IV의 시프트 순열이 아닙니다.이 경우 시료의 절반만 더 이동한다는 것은 MDCT/IMDCT가 DCT-III와 동등해지는 것을 의미하며 위와 같은 해석이다.

부드러움과 불연속성

위에서 2N 입력(a, b, c, d)의 MDCT는 N 입력(-c-dR, a-bR)의 DCT-IV와 동등하다는 것을 알 수 있었습니다.DCT-IV는 오른쪽 경계에 있는 함수가 홀수이기 때문에 오른쪽 경계 부근의 값이 0에 가까운 경우에 사용할 수 있도록 설계되어 있습니다.입력신호가 매끄러운 경우는 다음과 같습니다.aR b의 가장 오른쪽 성분은 입력 시퀀스(a, b, c, d)에 연속되기 때문에 그 차이는 작습니다.구간 중간을 살펴봅시다. 위의 식을 (-c-dR, a-bR) = (-d, a)-(b,c)R로 다시 쓰면 두 번째 항인 (b,c)R는 중간에서 원활한 전환을 제공합니다.그러나 첫 번째 항(-d, a)에서는 -d의 오른쪽 끝이 a의 왼쪽 과 만나는 잠재적 불연속성이 있다.이것이 입력 시퀀스의 경계(a, b, c, d) 부근의 컴포넌트를 0으로 줄이는 윈도 함수를 사용하는 이유입니다.

윈도 MDCT의 TDAC

앞에서 TDAC 속성은 일반 MDCT에 대해 증명되었으며, 이후 블록의 IMDCT를 중복되는 절반에 추가하면 원래 데이터가 복구된다는 것을 알 수 있습니다.윈도우 MDCT에 대한 이 역속성의 도출은 조금 더 복잡할 뿐입니다.

크기 N의 블록 A, B, C에 대해 연속된 2N 입력 세트(A, B)와 (B, C)가 중복되는 것을 합니다. 위에서 B {( { MDCT,})/원데이터).

이제 MDCT 입력과 IMDCT 출력 모두에 길이 2N의 윈도우 함수를 곱한다고 가정합니다.위와 같이 대칭창 함수를 상정하여 ( R{ W_ {displaystyle (W, {R}}} 형식으로 합니다.여기서 W는 길이-N 벡터이고 R은 이전과 같이 반전을 나타냅니다.다음으로 Princen-Bradley 조건은 W + (,1, W}=(쓸 수 있습니다.

따라서 MDCTing( { 대신 MDCT( { ( (모든 곱셈이 요소별로 실행됩니다)이것이 IMDCT이고 윈도우 함수에 의해 다시(요소적으로) 곱하면 마지막 N개의 절반은 다음과 같이 됩니다.

(창이 있는 경우 IMDCT 정규화는 2배 차이가 나기 때문에 1/2의 곱셈은 없습니다).

마찬가지로 (,) { 창 MDCT 및 IMDCT는 첫 번째 N개의 절반으로 다음과 같이 산출됩니다.

( B - ) B - R ( \ W \ ( WB - W { R } B _ { R } = W{RB_

이 2개의 반을 더하면 다음과 같은 결과를 얻을 수 있습니다.

원래 데이터 복구.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Luo, Fa-Long (2008). Mobile Multimedia Broadcasting Standards: Technology and Practice. Springer Science & Business Media. p. 590. ISBN 9780387782638.
  2. ^ Jones, Graham A.; Layer, David H.; Osenkowsky, Thomas G. (2013). National Association of Broadcasters Engineering Handbook: NAB Engineering Handbook. Taylor & Francis. pp. 558–9. ISBN 978-1-136-03410-7.
  3. ^ "Dolby AC-4: Audio Delivery for Next-Generation Entertainment Services" (PDF). Dolby Laboratories. June 2015. Retrieved 11 November 2019.
  4. ^ Bleidt, R. L.; Sen, D.; Niedermeier, A.; Czelhan, B.; Füg, S.; et al. (2017). "Development of the MPEG-H TV Audio System for ATSC 3.0" (PDF). IEEE Transactions on Broadcasting. 63 (1): 202–236. doi:10.1109/TBC.2017.2661258.
  5. ^ Schnell, Markus; Schmidt, Markus; Jander, Manuel; Albert, Tobias; Geiger, Ralf; Ruoppila, Vesa; Ekstrand, Per; Bernhard, Grill (October 2008). MPEG-4 Enhanced Low Delay AAC - A New Standard for High Quality Communication (PDF). 125th AES Convention. Fraunhofer IIS. Audio Engineering Society. Retrieved 20 October 2019.
  6. ^ Lutzky, Manfred; Schuller, Gerald; Gayer, Marc; Krämer, Ulrich; Wabnik, Stefan (May 2004). A guideline to audio codec delay (PDF). 116th AES Convention. Fraunhofer IIS. Audio Engineering Society. Retrieved 24 October 2019.
  7. ^ Nagireddi, Sivannarayana (2008). VoIP Voice and Fax Signal Processing. John Wiley & Sons. p. 69. ISBN 9780470377864.
  8. ^ Timothy B에 의한 CELT 코덱의 프레젠테이션.Terriberry (65분 분량의 비디오, PDF 형식의 프레젠테이션 슬라이드도 참조)
  9. ^ "Opus Codec". Opus (Home page). Xiph.org Foundation. Retrieved July 31, 2012.
  10. ^ Bright, Peter (2012-09-12). "Newly standardized Opus audio codec fills every role from online chat to music". Ars Technica. Retrieved 2014-05-28.
  11. ^ Ahmed, Nasir (January 1991). "How I Came Up With the Discrete Cosine Transform". Digital Signal Processing. 1 (1): 4–5. doi:10.1016/1051-2004(91)90086-Z.
  12. ^ Ahmed, Nasir; Natarajan, T.; Rao, K. R. (January 1974), "Discrete Cosine Transform", IEEE Transactions on Computers, C-23 (1): 90–93, doi:10.1109/T-C.1974.223784
  13. ^ Princen, John P.; Johnson, A.W.; Bradley, Alan B. (1987). "Subband/Transform coding using filter bank designs based on time domain aliasing cancellation". ICASSP '87. IEEE International Conference on Acoustics, Speech, and Signal Processing. 12: 2161–2164. doi:10.1109/ICASSP.1987.1169405.
  14. ^ 존 P. 프린슨, 앨런 B브래들리: 분석/합성 필터 뱅크 설계는 시간 영역 별칭 취소, IEEE Trans를 기반으로 합니다.어쿠스틱.음성 신호 처리, ASSP-34(5), 1153-1161, 1986.이산 코사인 변환과 사인 변환을 조합하여 MDCT의 전조를 설명.
  15. ^ H. S. Malvar, "효율적인 트랜스폼/서브밴드 부호화를 위한 랩된 트랜스폼", IEEE 트랜스. 음향, 음성, 신호 처리, vol. 38, no. 6, 페이지 969–978(등식 22), 1990년 6월.
  16. ^ H. S. Malvar, "완벽한 재구성을 갖춘 변조 QMF 필터 뱅크", 전자 서신, vol. 26, no. 13, 페이지 906-907(Equation 13), 1990년 6월.

참고 문헌

  • Henrique S. Malvar, Laped Transforms를 사용한 신호 처리(Artech House: Norwood MA, 1992).
  • A. W. 존슨과 A. B. 브래들리, "시간 영역 앨리어싱 취소를 포함하는 적응형 변환 부호화", Speech Comm. 6, 299-308(1987).
  • 알고리즘에 대해서는, 다음의 예를 참조해 주세요.
    • Li-Min Liu-Min 및 Wen-Chieh, "현행 오디오[permanent dead link] 표준에서의 코사인 변조 필터 뱅크의 통합 고속 알고리즘", J. Audio Engineering 47(12), 1061-1075(1999)
    • V. Britanak 및 K. Rao, "통합 순방향 및 역방향 MDCT/MDST 계산을 위한 새로운 고속 알고리즘", 신호 처리 82, 433-459 (2002)
    • Vladimir Nikolajevic과 Gerhard Fettweis, "Clenshaw의 반복식을 사용한 전진 및 역MDCT 계산", IEEE 트랜스. Sig. Proc. 51(5), 1439-1444 (2003)
    • Che-Hong Chen, Bin-Da Liu 및 Jar-Fer Yang, "수정된 이산 코사인 변환과 그 역수를 실현하기 위한 반복 아키텍처, IEEE 트랜스" 회선 시스템 II: 아날로그 디그 Sig. Proc. 50 (1) , 38-45 (2003)
    • J.S. Wu, H.Z.슈, L. 센하지, L.M.Luo, "Forward MDCT와 Inverse MDCT의 계산을 위한 혼합 기수 알고리즘", IEEE Trans. 회선 시스템 I: Reg. Papers 56 (4), 784-794 (2009)
    • V. Britanak, "MP3 오디오 코딩 표준에서의 효율적인 MDCT 구현에 대한 조사: 회고적 및 최첨단" Signal. 프로세스 91(4), 624-672 (2011)