디지털 신호처리(2)

Posted by 알 수 없는 사용자
2015. 5. 18. 11:22 프로그래밍/ETC

• 손실 압축 (비가역 압축)
디지털 비디오오디오에서 주로 사용되는 방식
장점 압축률이 높음 (불필요한 bit 제거)
  
단점 : 압축 후 복원하는 과정에서 원시영상에 대한 손실 발생
기법 반복 기법 ⇒ 푸리에 변환이산 코사인 변환
           
예측 기법 ⇒ DPCM, ADPCM, DM, ADM
           
양자화 ⇒ 스칼라양자화벡터 양자화
           
보간법

    변환 기법 – PCM 변환 

  - 변환 기법은 자료의 영역을 적당한 변환을 통해 다른 영역으로 옮김으로써 자료를 구성하는 단위 정보의 개수를 줄이는 기법 

  - PCM(Pulse Code Modulation) 변환

  - 아날로그 신호로 들어오는 데이터를 표본화(sampling), 양자화(quantization)를 거쳐 디지털 신호로 변형하는 가장 기본적인 기법

 

  PCM

   음은 공기의 진동에 의해 발생한다. 그 진동을 microphone을 통해 전기 신호로 변환해 Analog 파형으로 기록할 수 있다

   Analog로부터 Digital 로 변환하는 방법으로서 가장 많이 사용되고 있는 것이 음악 CD에 사용되PCM(Pulse Code Modulation)이라는 방식이다.

       PCMAnalog 파형을 시간의 경과와 전기신호 level의 두 가지 요소를 사용해 수치화하여 Digital화 한다. 시간의 경과를 분할해 수치화 하는 것을 표본화(sampling)이라고 하며, 1초간에 몇 번 표본화하느냐 하는 빈도를 표본화주파(sampling rate, 단위는 Hz)라고 한다.

     

      음악 CD44.1kHz, 16-bit로 녹음되어 있다. 말하자면 1초간에 44,100으로 분할해 수치로 변환하고 각각의 전기신호 level216 =  65,536 단계(양자화)로 기록하게 된다. 인간이 보통 들을 수 있는 음성(가청음)20Hz ~ 20kHz 정도, 재생주파수는 기록주파수의 약 ½이  됨으로 44.1kHz로 기록한다. 인간은 가청영역을 초과한 음도 진동으로 느낀다고 한다. 따라서 DVD-Audio 에서는 96kHz로 기록하고 있다. 참고로 CD의 음질 (44kHz, 16bit, 2-channel)Bit rate로 환산하면 44,100 * 16 * 2 = 1,411,200 1411kbps가 된다.


위와 같이 전기신호를 분할하여 수치화 하는 것을 양자화라고 하며 단위는 bit로 표시한다. Analog 전기신호 level 값은 실수도 무방하지만 양자화한 디지털 신호는 정수로 표현해야 함으로 값의 근사치를 택하게 된다. 
 예 ) 전기신호 level 9.2인 경우 9(1001(2)) 이라는 값으로 처리한다.



Sampling이나 양자화의 단계가 많을수록 Analog 파형과 근접하여 원음에 가까운 높은 음질의 녹음이가능하지만 file size는 커지므로 적당한 조절이 필요하다.


사람의 귀에 들어오는 오디오는 Digital program과 달라 몇 bit 정도 삭제되어도 거부감이 없이 들을 수 있다. 따라서 인간의 그러한 귀의 특성을 이용해 음질 열화를 감지 못하는 범위 내에서 원래의 data 일부를 솎아 극적으로 압축률을 높이는 손실 압축기술방식을 많이 용하고 있다.


푸리에 변환 (Fourier transform)

시간영역에서의 신호를 주파수영역으로 변환해서 각각의 합성신호를 분석하는 방법

- 푸리에 변환을 통해 기본파와 고주파의 합으로 나타낼 수 있다. 따라서 하나의 파형이 이어지면 그 파형이 어떤 주파수 성분으로 구성되어 있는지를 알 수 있다. 기본파나 고주파도 파형으로서는 정현파(正弦波)이기 때문에 아무리 복잡한 파형이라도 각각의 주파수의 정현파 합성을 통해 만들어지는 것을 푸리에 변환이 나타내고 있다.

- 기본파와 고조파의 주파수 및 진폭을 알 수 있다면, 이것을 합성해서 하나의 파형으로 나타낼 수도 있다. 이것을 역푸리에 변환 또는 푸리에 합성이라고 한다.


1. DFT(Discrete Fourier Transform -이산(불연속) 푸리에 변환
:
연속적인 신호를 시간에 따라 sampling을 한 형태의 신호로 생각하여 퓨리에 변환식을 그대로 계산.


2. FFT (Fast Fourier Transform-고속 퓨리에 변환)
: DFT가 계산시간이 너무 오래 걸리기 때문에 고안된 방법sampling된 신호의 전부를 변환시키는 것이 아니라 필요한 신호만을 골라내어서 최소화하여 연산.
) 100개의 DFT신호가 있을경우 그중 10개를 골라낸후 10개의 신호를 단순히 연결함으로써 제외된 신호들의 예상치를 적용. 변환시간의 문제로 인해 실제적으로는 거의 대부분 FFT를 사용하고 있습니다. DFT를 사용할 경우보다 최고 1000배의 차이 발생.

연속 푸리에 변환은 컴퓨터가 Digital 이므로 사용 할 수 없기 때문에 불연속 푸리에 변환 사용. 보통 아날로그 신호를 받아 처리하는 기술 중 하나로 사용되기 때문에 항상 실시간으로 진행.


푸리에 변환을 하는 이유

1. 음성신호의 주파수 data를 분석하면 현저히 큰 음성 성분이 섞여 있다. 따라서 주파수 data를 큰 음성 성분과 그 이외의 음성 성분으로 나누어 분석함으로써 효율적인 압축이 가능.

2. 인간의 청각은 모든 음성 data를 인식하지 못한다. 인간의 귀로는 듣기 어려운 음을 식별하여 redundancy를 감소. 전형적으로는 고주(가청주파수 대역 밖의 음역)나 큰 소리와 함께 섞여 있는 작은 소리 등을 파악, 정확도를 감소하여 부호화 하거나 부호화 대상에서 제외한다.
결론 : 압축의 전처리 과정으로 효율적인 압축을 하기 위해

        압축률 ↑, 불필요한 중복↓




'프로그래밍 > ETC' 카테고리의 다른 글

디지털 신호처리(1)  (3) 2015.05.18