dct 예제

Posted on

실제로 일반 FFT를 사용하는 DCT 알고리즘조차도 실제 대칭 데이터의 더 큰 FFT에서 중복 작업을 가지치기하는 것과 동일하며 산술 개수의 관점에서도 최적일 수 있습니다. 예를 들어 형식-II DCT는 크기 4 N {displaystyle 4N}의 DFT와 동일하며, 짝수 인덱싱된 요소가 0인 실제 짝수 대칭입니다. FFT를 통해 이것을 계산하는 가장 일반적인 방법 중 하나 (예 : FFTPACK 및 FFTW에 사용되는 방법) Narasimha & Peterson (1978)과 Makhoul (1980)에 의해 설명되었으며, 이 방법은 뒤늦게 radix-4 데시메이션 – 인 타임 쿨리 – 투키의 한 단계로 볼 수 있습니다. 알고리즘은 DCT II에 해당하는 “논리”실제 – 짝수 DFT에 적용. (radix-4 단계는 크기 4 N {displaystyle 4N} DFT를 4 개의 크기로 줄입니다- N {displaystyle N} 실제 데이터의 DFT, 그 중 두 개는 0이고 두 개는 짝수 대칭에 의해 서로 동일하므로 실제 데이터 플러스 O의 단일 크기 N {displaystyle N} FFT를 제공합니다. N) {디스플레이 스타일 O(N)} 나비.) 짝수 인덱싱된 요소는 0이므로 이 radix-4 단계는 분할 라디ix 단계와 정확히 동일합니다. 후속 크기- N {displaystyle N} 실제 데이터 FFT도 실제 데이터 분할-radix 알고리즘에 의해 수행 되는 경우 (Sorensen 등. 1987에서와 같이), 다음 결과 알고리즘 실제로 2의 힘에 대 한 가장 낮은 게시 된 산술 수 일치 DCT-II (2 N 로그 2 N N + 2 {디스플레이 스타일 2Nlog _{2}N-N+2} 실제 산술 연산 [a]). 최근 작업 수가 17 9 N 로그 2 N + O (N) {frac {17}{9}}}log _{2}N+O(N)}로 최근 감소하면서 실제 데이터 FFT도 사용합니다. [36] 따라서 산술적 관점에서 FFT를 통해 DCT를 계산하는 것에 대해 본질적으로 나쁜 것은 없습니다. (실질적으로 별도의 FFT 루틴을 호출할 때 함수 호출 오버헤드는 작은 N {displaystyle N}에 중요할 수 있지만, 이는 언롤링/인라이닝을 통해 해결할 수 있기 때문에 알고리즘 문제가 아닌 구현입니다.) DFT와 마찬가지로 이러한 변환 정의 앞에 있는 정규화 계수는 단지 규칙일 뿐이며 치료 간에 다릅니다.

예를 들어 일부 작성자는 변환에 2/N {displaystyle {sqrt {2/N}}를 곱하여 역에 추가 곱셈 계수가 필요하지 않도록 합니다. √2의 적절한 요소와 결합하여(위 참조) 변환 행렬 직교를 만드는 데 사용할 수 있습니다. 이 예제에서는 DCT(이산 코사네 변환)를 사용하여 이미지를 압축하는 방법을 보여 주며, 이산 코사네 변환(DCT)을 사용하여 이미지를 압축하는 방법을 보여 주며, 이 예제에서는 입력 이미지에서 8차원 DCT를 계산하고 각 블록의 64개 DCT 계수 중 10개를 제외한 모든 블록을 삭제한 다음 각 블록의 2차원 역 DCT를 사용하여 이미지를 재구성합니다. 이 예제에서는 변환 행렬 계산 방법을 사용합니다. JPEG 기준선 압축 프로세스의 핵심은 이산 코신 변환(DCT)으로 알려진 수학적 변환입니다. DCT는 잘 알려진 빠른 푸리에 변환 (FFT)뿐만 아니라 많은 다른 사람을 포함하는 수학 연산의 클래스에 있습니다. 이러한 작업의 기본 목적은 신호를 받아 한 표현 유형에서 다른 표현으로 변환하는 것입니다. 예를 들어, 이미지는 인간의 시각 시스템에 의해 인식되는 2차원 신호입니다. DCT는 신호(공간 정보)를 숫자 데이터(“주파수” 또는 “스펙트럼” 정보)로 변환하여 이미지 정보가 압축을 위해 조작할 수 있는 정량적 형태로 존재하도록 하는 데 사용할 수 있습니다.

이산 코신 변환(DCT)은 다양한 크기와 주파수의 정현파의 합계로 이미지를 나타냅니다. dct2 함수는 이미지의 2차원 이산 코신 변환(DCT)을 계산합니다. DCT에는 일반적인 이미지의 경우 이미지에 대한 시각적으로 중요한 대부분의 정보가 DCT의 몇 계수에만 집중되는 속성이 있습니다. 이러한 이유로 DCT는 이미지 압축 응용 프로그램에서 자주 사용됩니다.