공부/프로그래밍관련 2014. 2. 14. 14:12

압축 알고리즘

 

압축의 분류 (크게 2개로 나누어 진다.)

-    비손실 압축(Non-lossy Compression) -> 일반압축

-    손실 압축(Lossy Compression) -> JPEG,MPEG

 

 

대표적인 압축 방법

 

* Run-Length :

-    동일한 문자가 이어서 반복되는 경우 그것을 문자와 개수의 쌍으로 치환하는 방법

-    동일한 문자열 반속이 작으면 압축률이 거의 없음, 파일이 더 커질수도 있음

                  원래 문자열 : ABAAAAABCBDDDDDDDABC
                 
압축 문자열 : AB*A5BCB*D7ABC 

* Lempel-Ziv : 

-     실제에서 가장 많이 사용되는 매우 우수한 압축 알고리즘

-     기존의 패턴과 가까운 상재적 위치와 그 패턴의 길이를 구해서

       <탈출 문자, 상대 위치, 길이>로 패턴을 대치하는 방법이다  (LZH) 

       일반적인 동작 은 패턴 추출, 추출된 패턴으로 변경

원래 문자열 : CDEFABABABABABAJKL
압축 문자열 : CDEFAB<2,9>JKL 

               

* Variable Length : 

-     영문 TEXT 압축방법, 100개 내외의 문자가 존재하기 때문에 상위 7bit 형태로 표기하도록

       하는 방법

 

* Huffman Tree : 

-     압축 방법 보다는 암호책을 대입?, 사전과 같은 자주 사용되는 패턴을 일종의 테이블로

      만들어 압축하는 법 (ZIP  Huffman 압축법이나 Lempel-Ziv 압축법 중 하나를 사용하거나

      또는 둘 다 사용하거나,혹은 그 응용을 사용)

      INDEX ENCODE 사전은 압축 프로그램 내에 보관됨

 

 

 

* JPEG : 국제 표준화 기구 ISO(International Standard Organization)는 정지 영상의 압축 표준을 만들기 위해 PEG(Photographic Exports Group:영상 전문가 그룹)을 만들었다. JPEG기술은 사진과 같은 자연 영상을 약 20:1이상 압축할 수 있는 성능최고의 압축률 ,영상의 일부 정보를 손실 시키기 때문에 의료 영상이나 기타 중요한 영상 혹은 자연 영상 등에는 사용하는데 무리가 있다.

 

 

* JPEG 추가사항

1.DCT(Discrete Cosine Transform) 압축 방법 :  일반적으로 JPEG영상이라고 하면 통용되는 압축 알고리즘이다. (가장일반적이며 다른 말로 Baseline 압축 알고리즘 으로 불린다.)

 

2. 점진적 전송이 가능한 압축 방법 : 영상 파일을 읽어 오는 중에도 화면 출력을 할 수 있는 것을 의미하며 전송 속도가 낮은 네트워크를 통해 영상을 전송 받아 화면에 출력할 때 유용한 모드라고 할 수 있다. , 영상의 일부를 전송 받아 저해상도의 영상을 출력할 수 있으며, 영상 데이터가 전송됨에 따라서 영상의 화질을 개선시키면서 화면에 출력이 가능하다는 것이다.

 

3. 계층 구조적 압축 알고리즘 : 피라미드 코딩 방법이라고도 하며, 하나의 영상 파일에 여러 가지 해상도를 갖는 영상을 한번에 저장하는 방법이다.

 

4. 손실 압축 :  JPEG압축이라고 하여 손실 압축만 존재하는 것은 아니다. 이 경우에는 DCT압축 알고리즘을 사용하지 않고  2D-DPCM이라고 하는 압축방법을 이용하게 된다.

 

 

 

 

 

 

 

 

'공부 > 프로그래밍관련' 카테고리의 다른 글

저가 WIFI  (0) 2015.06.25
압축이란 무엇일까?  (0) 2014.02.14
GUI 플레폼  (0) 2013.12.30
엑셀 IF 명령, OFFSET 명령 사용 법  (0) 2013.12.11
로봇 전용 OS -- ROS  (0) 2013.08.26
CRC 검사 사이트  (0) 2013.08.06
posted by 큰파도

댓글을 달아 주세요