디지털 신호처리(1)

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

디지털 신호 처리(Digital signal processing, DSP)는 디지털화된 신호를 원하는 방향으로 정보 신호를 수정하거나 개선할 목적으로 고리즘에 의해 수치적으로 처리하는 것을 말한다. 보통 아날로그 신호를 디지털화하는 과정에서 이산 신호가 되고 수치화 된다.

디지털 신호처리 개념도



디지털 신호처리의 응용분야

영상처리

패턴인식, Robotic vision, Image enhancement, Facsimile 위성 기상도, Animation

계측/제어
스펙트럼 분석, Noise reduction, 데이터 압축

음성/음향
음성인식, 음성합성, Digital audio,  등화기, 음성 부호화

군사용
비밀통신, 레이더 신호처리, Sonar 신호처리, 미사일 표적지시

통신
모뎀, Echo 제거기, 적응 등화기, ADPCM transcoders, Spread spectrum, Video conferencing, 데이터 통신

생체 의학(의료기기 응용)

환자 모니터링, Scanners, 심전도 해석, X-ray storage/enhancement




 압축을 하는 이유? 음성이나 영상같은 연속된 데이터 자료형은 정보의 양이 증가하면 증가할수록,
   이를 보존하거나 상대방에게 송할 때 소요되는 시간이 길어지기 때문에 보다 음성, 영상 정보를 쉽게 처리하기 위해 압축을 진행한다.

  ※ 압축 개념과 기법

  • 데이터 압축의 기본 개념은 데이터에 대한 중복성을 제거하여 대용량의 데이터를 압축하는 것.
  • 비 손실 압축 (가역압축)
-
장점 : 압축 후 복원하는 과정에서 원시영상을 거의 손실없이 복원
-
단점 : 압축률이 낮음
-
기법 : 반복억제 ⇒ Run-Length Encoding
          
통계적 인코딩   허프만 코드화, 렘펠지브웰치 코드화

  • 손실 압축 (비가역 압축)
-
디지털 비디오, 오디오에서 주로 사용되는 방식
-
장점 : 압축률이 높음 (불필요한 bit 제거)
  
단점 : 압축 후 복원하는 과정에서 원시영상에 대한 손실 발생
-
기법 : 반복 기법 푸리에 변환, 이산 코사인 변환
           
예측 기법 ⇒ DPCM, ADPCM, DM, ADM
           
양자화 스칼라, 양자화, 벡터 양자화
           
보간법
       ※ 주의사항   손실압축이란 인간의 시각 또는 귀의 특성을 이용해 비가청범위 부분을 솎아내거나 개변하는 방법으로 압축 전 전처리 과정에서 이루어지는 활동일 뿐 압축 시에 이루어지는 활동은 아니다.


 1) RLE(Run-Length Encoding)

- 자료의 반복성을 이용하는 가장 간단한 자료 압축 기법
-
Run-length 압축은 어느 값이 얼마나 지속되는지 run-length로 표현하는 기법으로 같은 값이 오래 지속될수록 데이터 압축률도 높아짐.
-
동일한 자료로 이루어진 스트림인 경우는 원자료처럼 표현, RLE반복된 자료에만 적용
-
Run은 자료의 개수와 원자료의 해당문자가 표현됨

         ) ABCDDDDDDDDEEEEEEEEE -> ABC8D9E




- RLE를 사용하는 파일 형식

        MacPaint, RLE, PCX(PC Paintbrush), JPEG(Graphics Interchange Format), TIFF(Tragged Image File Format) TGA(Targa)는 옵션으로 지정 가능.


2) 허프만 코딩(Huffman Coding)

- 허프만 코딩은 가변길이 코딩(variable length coding) 방식임 

- 가변길이 코딩 : 빈번하게 발생하는 값의 표현에 적은 수의 비트를 사용하고, 드물게 발생하는 자료의 경우 보다 많은 비트들을 사용

- 가장 빈번하게 발생하는 자료에 짧은 비트 스트림들을 할당

- 문자당 비트들의 평균 수치를 최소화할 수 있는 코드들을 생성하는 알고리즘

- 전치특성(prefix property)을 가진 코드를 보장하기 위해 이진 트리(binary tree)를 사용

장점 : 가변길이 코드가 고정길이 코드보다 높은 자료 밀집도를 보장

단점 : 소프트웨어를 사용하여 유지 관리하거나 byte 단위로 작업을 수행하기 어려움

인코딩에 두 단계를 필요로 하는데첫 번째 단계는 문자의 빈도수 자료를 축적하고 두 번째 단계에서 압축




3)LZW(Lempel Ziv Welch)

 - Abraham Lempel, Jacob Ziv, Terry Welche가 고안한 압축 알고리즘

 - 인코딩하면서 새로 나오는 값을 사전식으로 코드북(codebook)에 기억시켜 다음 값의 인코딩에 이용하는 'on-the-fly' 방식

 - 파일의 크기를 1.5:1에서 2:1의 비율로 압축하여 파일의 크기를 축소

 - 영상에 사용된 색의 수에 따라 파일의 크기가 결정

 - 빈번하게 발생하는 값들을 활용  

 ※ 장점

-단일 과정으로 입력 스트림을 압축

(허프만 코딩과 같은 통계량 축적 과정이 불필요)
   - 스트림 테이블을 압축과 복원 과정동안 구축하며 사전에 입력 스트림에 관한 정보가 불필요함
   - 단순하며, 빠른 실행이 가능



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

디지털 신호처리(2)  (4) 2015.05.18