Lecture #6 멀티미디어 데이터 압축 & 복원.

Slides:



Advertisements
Similar presentations
- 정경훈, 전민철 - 1 Codec 이란 ? 멀티미디어 저작시스템 전민철 정경훈
Advertisements

디지털코드와 압축 구미 1 대학 컴퓨터정보전자계열 3 디지털 코드의 압축 - 문자, 음성, 영상 등 모든 정보가 디지털 코드로 표시 - 제한된 크기의 메모리에 많은 정보를 저장 - 제한된 전송선로를 통해 많은 정보를 전송 -
제 10장 멀티미디어.
12장. 음성 신호처리 12.1 개 요 12.2 음성생성 모델 12.3 음성 합성 12.4 음성 부호화 12.5 음성 인식
졸업 프로젝트 중간보고서 12조 Spot Browser.
7장 멀티미디어 기술과 활용 7.1 멀티미디어의 개념과 환경 7.2 멀티미디어의 활용 분야 7.3 멀티미디어 데이터의 처리
1. Concept of Digital Image Processing
좋은 강의 국제관계학과 정연식.
사운드.
Project Goal..! Milestone Role Division Achievement Result
디지털 영상처리 목포과학대학 방사선과 오 태 석.
사용자 메뉴얼 차량용 4CH 블랙박스 매뉴얼 버전 : Version 2.1 Hardware Version : 2.0
Computer Architecture and Design Lecture 14
12. 방송융합 서비스.
3장 이미지와 그래픽 3.1 이미지와 그래픽의 기본 개념 3.2 입출력장치 3.3 이미지의 처리와 압축
[학생용] 학생 여러분 안녕하세요 오늘은 저작권에 대해 알아보겠습니다..
(Digital Transmission)
【코인스금융서비스】 7월 KB손해보험 대표시상
사용자 메뉴얼 차량용 4CH 블랙박스 매뉴얼 버전 : Version 1.1 Hardware Version : 1.0
10장 기본 비디오 압축 기술 10.1 비디오 압축 소개 10.2 움직임 보상에 기반한 비디오 압축
Lecture #4 멀티미디어 데이터: 사운드(Sound).
방송접목형 참여형방송기술 ETRI Technology Marketing Strategy IT R&D Global Leader
제 9 장의 구성 9.1 원천부호화 (Source Coding) 9.2 채널부호화 (Channel Coding) 연습문제
제 9 장의 구성 9.1 원천부호화(source coding) 9.2 채널부호화(channel coding)
7장 비디오.
<소스코딩(Source Coding)> 제5장 상관관계와 자료압축
제7장 비디오 멀티미디어의 이해.
02장 ㅎㅎ 디지털 영상 빛과 색, 시각 컬러 모델 디지털 영상의 생성 디지털 영상의 종류 한빛미디어(주)
Chap 1. MPEG-2 서론 Chap 2. MPEG-2 기본 압축 알고리즘
제 5장. MPEG.
MPEG-4 Overview 소프트웨어전문대학원 이상은.
멀티미디어 데이터 압축 & 복원: 영상 코딩 기법 (1)
멀티미디어 처리 4장 : 정보압축의 원리 및 기본이론.
비디오.
정보이론 PARSONS/OJA 데이터의 표현 1.
발표제목 발표제목 둘째 줄 2000년 11월 송 홍 엽 연세대학교 전기전자공학과 송 홍 엽
안녕하십니까? 저는 컴퓨터 응용과학부 98학번 이민호 입니다.
Motor And Control 하늘소 19기 한승욱.
Mega Pixel IP Camera WebEye HDC730C 제품 특징 • 1ch MPEG-4 고해상도 네트워크 카메라
PLC를 이용한 제어로직에 관한 연구 김 재 은.
Chapter 1 디지털 영상처리의 개념.
Accelerometer Data Collection and Preprocessing
Computer Graphics Study for Game
데이터 압축 알고리즘 컴퓨터과학부 조 산 컴퓨터과학부 김형주.
1 장 서론 목원대학교 정보통신공학과.
5장. 센서활용 전자회로 설계 및 제작 1. Digital Clock Board
PCM(Pulse Code Modulation)
28장 멀티미디어 28.1 디지털 AV 28.2 AV압축 28.3 스트리밍 저장형 AV 28.4 스트리밍 생방송 AV
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
<정보이론(Information Theory)> 제6장 정보의 특성과 Entropy
Data Communications 제 6 장 신호변환과 신호변환기.
Windows 10 업그레이드 방지 관련 메뉴얼 목차 [1] Windows 10 업그레이드 예약 확인 / 취소
“정보의 표현” 이 점 숙 컴퓨터와 인터넷 “정보의 표현” 이 점 숙
“소프트웨어의 표현” 이 점 숙 컴퓨터와 소프트웨어 “소프트웨어의 표현” 이 점 숙
전자기 유도실험 구성원:손재완,변준성,이지홍,김승길.
Ch 5 영상압축.
톡톡 튀고, 개성 넘치는 우유팩으로 새롭게 꾸며봐요!
영상 압축 방법에 관한 연구 컴퓨터응용과학부 유정숙.
SOC Design Lecture 2 Video Codec Overview.
기술가정 2학년 1학기 4. 컴퓨터와 생활 > 1) 소프트웨어의 활용 > 4-6/11 소리 자료는 어떻게 만들까?
1장. 디지털 영상처리의 개념(1) 임은경 2주차 - 디지털영상처리의개념.
2-3-1 민주 시민의 경제적 구실 3 (3)민주시민의 다양한 경제적 역할 주요 학습 내용 민주 시민의 다양한 경제적 역할
MPEG-4 로의 표준화 동향과 방법 A 유준석 A 박민호
제1장 정리 컴퓨터소프트웨어과 2-A반 주세호.
어떤 금속이 열전도가 빠른지 찾기 평택여자중학교 김수민.
M P E G MPEG 1 Overview 제어인식연구실 이 찬 우 10월 19일 1998년.
6장: 기억장치 대화성, 멀티미디어에 대한 기반들.
자전거발전기 만들기 자전거 발전기 부품 조립에서 완제품까지.
2-3-1 민주 시민의 경제적 구실 2 (2)민주 시민으로서의 생산자 역할 바람직한 기업의 활동 주요 기업의 사회적 책임 학습
제12장 멀티미디어 개론.
Presentation transcript:

Lecture #6 멀티미디어 데이터 압축 & 복원

강의 개요 데이터 압축 개요 데이터 압축 기법 종류 엔트로피 코딩 기법 소스 코딩 기법 하이브리드 코딩 기법 RLE(Run-Length Encoding) Huffmann Coding Arithmetic Coding 소스 코딩 기법 변환 코딩 : DCT Coding 차분 코딩 : DPCM Coding 하이브리드 코딩 기법

압축과 복원 개요(1) 멀티미디어 데이터 압축의 필요성 멀티미디어 데이터의 대용량성  대용량의 기억 장치를 요구 멀티미디어 데이터의 실시간성  기존의 네트워크의 대역폭이나 저장장치의 입출력 대역폭이 멀티미디어 데이터의 실시간 재생에 부적합 결론 : 저장 및 전송되는 데이터 양을 줄이기 위해 데이터 압축 기술이 필요

압축과 복원 개요(2) 640*480 해상도, 24-bit 칼라의 비디오 데이터의 요구대역폭: 데이터 전송 대역폭 : 1) 한 프레임에 필요한 데이터: 640 * 480 * 24 bits = 7.03 Mbps 2) 초당 필요한 대역폭: 30 fps 전제 640 * 480 * 24 bits * 30 frames = 210.9 Mbps 3) 90분 상영 데이터의 저장공간: 210.9 Mbps * 90 분 * 60 초 = 1112.2 Gbits 데이터 전송 대역폭 : 4) 저속의 인터넷 대역폭: 10Mbps or 100Mbps 5) 24 배속 CD-ROM의 입출력 대역폭: 153.6KB * 24 배속 * 8 bits = 28.8 Mbps

압축과 복원 개요(3) 압축 및 복원의 원리 멀티미디어 데이터는 데이터 중복성(Data Redundancy)을 갖는다 중복 데이터를 제거하면 멀티미디어 정보를 표현하는 데이터를 줄일 수 있다 데이터 중복성 공간적(spatial) 중복 시간적(temporal) 중복 심리시각(psyco-visual) 중복 낮은 주파수에 민감하고 높은 주파수에 둔감 인간의 인지 능력을 고려한 중복 데이터 제거 데이터 코딩(Data Coding) 중복 데이터를 제거하여 새롭게 줄여 데이터를 표현한다는 의미 데이터 압축(data compression) 보다는 일반적인 개념

압축과 복원 개요(4) 압축의 측도 압축률(Compression Rate) bpp(bits per pixel) 압축률 = 원래 데이터의 크기 / 압축된 데이터의 크기 압축 시스템의 효율을 측정하기 위해 사용 압축률과 화질 사이에는 반비례 관계 bpp(bits per pixel) bpp = 압축된 데이터의 비트 수 / 픽셀 수 화질(picture quality)의 측도 bpp와 화질 사이의 관계 : 표 4.1 참조

압축 기법 종류 (1) 정보 이론에서의 코딩(Coding) Shannon의 통신 시스템 모델 : 그림 4.1 2가지 형태의 정보 코딩이 필요 데이터 압축 : 엔트로피 코딩(Entropy Coding) / 소스 코딩(Source Coding) 에러 제어(Error Control) : 채널 코딩(Channel Coding) 인코더 채널 디코더 Source (송신측) Destination (수신측) 압축 에러제어

압축 기법 종류 (2) 압축 기법의 특성 : 표 4.2 무손실(Lossless) 압축 / 손실(Lossy) 압축 프레임내(Intraframe) 압축 / 프레임간(Interframe) 압축 대칭(Symmetrical) 압축 / 비대칭(Asymmetrical) 압축 실시간(Real-time) 압축 스케일러블(Scalable) 압축

압축 기법 종류 (3) 멀티미디어 시스템의 압축 기법 : 표 4.3 엔트로피 코딩(Entropy Coding) 손실없는(lossless) 압축기법 데이터의 semantic을 고려하지 않는다 멀티미디어 데이터의 매체별 특성을 고려하지 않고 단순히 비트나 바이트 스트림으로 간주하여 압축 소스 코딩(Source Coding) 손실있는(lossy) 압축기법 데이터의 semantic을 고려 원래 데이터를 표현하는데 적합한 데이터와 부적합 데이터로 분리하고 부적합한 데이터를 제거하여 압축 예측코딩(Predictive Coding) / 변환코딩(Transformation) 등

압축 기법 종류 (4) 멀티미디어 시스템의 압축 기법 (계속) 하이브리드 코딩(Hybrid Coding) 엔트로피 코딩 기법과 소스 코딩 기법을 결합하여 사용 그림 4.2 참조 소스 코딩의 결과를 엔트로피 코딩의 입력 데이터로 사용 예 : JPEG 압축 기법에서 DCT 코딩과 RLE 코딩 기법의 결합

엔트로피 코딩 엔트로피(Entropy) 코딩 엔트로피 코딩 종류 엔트로피(entropy) 엔트로피 코딩 불확실성에 대한 양(the amount of uncertainty) 주어진 심볼들에 의해 얻을 수 있는 평균 정보 양을 비트 수로 표현 엔트로피 코딩 원래의 자료를 좀더 효율적으로 표현하기 위해 통계적 중복성을 사용하는 인코딩 방법 엔트로피 코딩 종류 Run-Length Encoding Huffmann Coding Arithmetic Coding

RLE(Run-Length Encoding) Run-Length Encoding(RLE) 연속적으로 반복되는 데이터를 반복 정보와 데이터로 표현함으로써 데이터 양을 줄이는 코딩 기법 가장 기본적인 코딩 기법 GIF 형식 등에서 적용 예: 압축전의 데이터: 22 바이트 PRSSSSSSSSTTBVVVVVVVMM Run-Length Encoding: 13 바이트 PR!8STTB!7VMM

Huffman Coding (1) 허프만 코딩(Huffman Coding) 원래 데이터를 구성하는 요소에 대해 출현 빈도를 나타내는 확률이 주어지면 다음과 같은 코딩으로 최적의 압축을 구하는 코딩 기법 출현 빈도가 높은 문자에는 짧은 코드를 할당 출현 빈도가 높은 문자에는 긴 코드를 할당 가변 길이 코딩(VLC:Variable Length Coding) 방식 압축된 코드 길이가 다양하게 코딩

Huffman Coding (2) 허프만 인코딩(Huffman Encoding) 허프만 인코딩 예: 허프만 코드 생성 알고리즘 : 알고리즘 4.1 허프만 코딩에서는 2진 트리를 이용하여 허프만 코드 테이블을 생성하고 이를 이용하여 코딩한다 다양한 데이터에 대해 허프만 테이블을 생성하는 경우에 코딩 비용이 커진다 허프만 코드를 이용하여 입력 데이터를 인코딩 허프만 인코딩 예: 그림 4.3 문자 A, B, C, D 에 대한 출현 빈도 확률이 P(A) = 1/16, P(B) = 1/16, P(C) = 1/8, P(D) = 3/4 일 때에 허프만 2진 트리는?

Huffman Coding (3) 허프만 2진 트리 생성 과정: P(AB)=1/8 1 1 1 P(A)=1/16 P(ABCD)=1 P(ABC)=1/4 P(AB)=1/8 1 1 1 P(A)=1/16 P(B)=1/16 P(C)=1/8 P(D)=3/4

Huffman Coding (4) 허프만 인코딩 예: 앞의 예에 대한 허프만 코드 테이블: 입력 문자 스트림에 대한 인코딩 : BDDCCDA  001 1 1 01 01 1 000 A 000 B 001 C 01 D 1

Huffman Coding (5) 허프만 디코딩 (Huffman Decoding): 디코딩 트리를 생성하여 허프만 코드 스트림을 디코딩 디코딩 예: 0011101011000 P(A)=1/16 P(B)=1/16 P(C)=1/8 P(D)=3/4 P(ABC)=1/4 P(ABCD)=1 P(AB)=1/8 1 B D D C C D A

Huffman Coding (6) 허프만 인코딩 & 디코딩 예 : 멀티미디어 데이터의 허프만 코딩 http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/huffman.html 멀티미디어 데이터의 허프만 코딩 표준화된 허프만 테이블 사용으로 테이블 구성에 따른 오버헤드를 줄여 압축시간을 단축 화질이 떨어질 가능성이 있다 고화질의 데이터에 대해서는 허프만 테이블을 원래의 데이터에 맞도록 재계산

Arithmetic Coding (1) 산술 코딩(Arithmetic Coding) 허프만 코딩 기법의 단점 데이터의 출현 빈도 확률이 변경되면 허프만 테이블을 재계산하여야 한다 코딩과 모델링이 하나의 프로세스 내에 통합되어 융통성 있는 코딩이 어렵다 산술코딩(Arithmetic Coding) 확률 집합 개념을 이용하여 코딩 [0,1) 사이의 열린 부분 구간을 이용 발생 확률이 높은 데이터는 긴 부분구간을, 발생 확률이 낮은 데이터는 짧은 부분구간을 할당하는 방법으로 압축할 데이터를 새로운 하나의 부동소숫점 값으로 압축

Arithmetic Coding (2) Arithmetic Coding의 부분구간 할당 알고리즘 데이터의 구성 요소의 발생 확률에 따라 비례하여 부분구간을 할당 예 : pp. 150 표 4.4 문 자 확 률 부분 구간 a 0.2 [0, 0.2) e 0.3 [0.2, 0.5) i 0.1 [0.5, 0.6) o [0.6, 0.8) u [0.8, 0.9) ! [0.9, 1.0)

Arithmetic Coding (3) Arithmetic Coding 알고리즘 pp. 151, 알고리즘 4.3 입력 데이터 : “eaii!” 초기 구간 : [0.0, 1.0) Processing ‘e’ : [0.2, 0.5) Processing ‘a’ : [0.2, 0.26) <- ‘e’ 구간을 10등분한 것의 1,2 구간 Processing ‘i’ : [0.23, 0.236) <- ‘a’ 구간을 10등분한 것의 5 구간 Processing ‘i’ : [0.233, 0.2336) <- ‘i’ 구간을 10등분한 것의 5 구간 Processing ‘!’ : [0.23354, 0.2336) <- ‘i’ 구간을 10등분한 것의 9 구간 Coding value = 0.233582 허프만 코딩에서는 문자를 개별적으로 취급하나, Arithmetic Coding은 압축할 데이터를 새로운 하나의 부동소숫점 값으로 압축함으로써 효율이 좋다

Arithmetic Coding (4) Arithmetic Decoding 알고리즘 pp 152, 알고리즘 4.4 표 4.5와 같이 누적 확률 값으로 나타내는 디코딩 표를 이용 Arithmetic decoding 예: 입력 : 압축값= 0.233582 Step #1 초기값: Phigh=1, Plow=0, Range=1 Step #2 디코딩 문자 선택 : Cprobi <= (input – Plow) < Cprobi-1 을 만족하는 i을 결정하고 디코딩 표에서 문자를 선택 Step #3 변수 Update: Phigh = Plow + Range * Cprobi-1 Plow = Plow + Range * Cprobi Range = Phigh - Plow Step #4 마지막 문자가 아니면 goto Step #2

Arithmetic Coding (5) Arithmetic Coding 의 특징 허프만 코딩 기법보다는 효율적이다 허프만 코딩은 문자를 개별적으로 코딩 산술 코딩은 압축할 데이터 전체를 처리하여 하나의 압축 값을 생성 부동소숫점 계산에 따른 오버헤드와 구현과정의 복잡성으로 인해 허프만 코딩이 주로 이용된다 최근 하드웨어의 처리 속도가 빨라짐에 따라 멀티미디어 압축 기법에서 엔트로피 코딩 기법으로 산술 코딩을 선택한다

소스 코딩(Source Coding) 소스 코딩(Source Coding) 인간의 감각 기관의 특성을 이용한 압축 기법 원래의 데이터를 인간이 인식할 수 있는 부분과 인식할 수 없는 부분으로 나눈다 인간이 인식할 수 없는 부분을 축소 또는 제거하여 압축 손실 압축 기법(Lossy Compression) 인간이 인식할 수 없는 부분을 제거하고 인식할 수 있는 부분만으로 복원하더라도 인간은 차이를 알지 못한다 종 류: 예측 코딩(Predictive Coding) : DPCM, ADPCM 등 변환 코딩(Transformation Coding) : DCT, DWT 등

변환 코딩: DCT Coding (1) DCT(Discrete Cosine Transform) Coding 이미지 및 비디오 데이터 압축의 기반 기술 특 징 공간 영역을 주파수 영역으로 변환하여 인간의 시각 시스템의 특성을 반영하여 코딩한다 이미지 및 비디오 데이터의 공간 및 시간 중복 데이터를 효율적으로 제거 상관 관계가 높은 데이터의 경우에 압축 효율이 최적 직교성(orthogonal)을 가지고 있어 역함수가 간단 빠른 알고리즘 구현이 가능

변환 코딩: DCT Coding (2) DCT에 의한 압축 알고리즘: pp. 156, 그림 4.4 4 개의 주요 단계로 구성 Hybrid Coding DCT에 의한 압축 알고리즘: pp. 156, 그림 4.4 4 개의 주요 단계로 구성 단계 1: 전처리 단계로서 원래의 디지털 이미지를 8 X 8 블록 으로 분할 단계 2: DCT 변환단계로서 공간 영역을 주파수 영역으로 변환 단계 3: 양자화(Quantization) 단계로 중요하지 않은 정보를 축소 및 제거 단계 4: 엔트로피 코딩 단계로 양자화 된 DCT 상수를 압축

변환 코딩: DCT Coding (3) DCT 압축 시스템의 전처리 단계: pp. 156, 그림 4.5 압축할 데이터를 아날로그 형태에서 디지털 형태로 변환 소스 디지털 데이터를 2차원 행렬로 표현 흑백 데이터 : 하나의 2차원 행렬 칼라 데이터 : 여러 개의 2차원 행렬 압축할 데이터를 N x N 픽셀로 구성된 블록으로 분할 일반적으로 N = 8 을 적용 메모리을 적게 차지하며 계산이 단순 큰 블록을 적용하더라도 압축 효율이 개선되지 않는다 예제: 256 칼라의 8 비트 샘플링 데이터, 그림 4.6

변환 코딩: DCT Coding (4) DCT 압축 시스템의 DCT 변환 단계 공간 영역의 데이터를 주파수 영역의 데이터로 변환 1 차원 변환 : 오디오 데이터 코딩 2 차원 변환 : 이미지 데이터 코딩 순방향(Forward) DCT / 역방향(Backward) DCT DCT/IDCT(Inverse DCT) 함수 이용: pp158 DCT 변환 예제: pp 158, 그림 4.7

변환 코딩: DCT Coding (5) DCT 상수 DCT 변환으로 생성된 8 x 8 블록의 픽셀 값 DC(Direct Current) 상수 8 x 8 블록의 첫번째 원소 값 수평 및 수직으로 주파수대가 0인 값 8 x 8 블록의 64개 칼라 값에 대한 평균값 AC(Alternate Current) 상수 DC 상수를 제외한 나머지 상수 DCT 상수의 주파수 분포: pp 160, 그림 4.8 인간의 시각시스템은 저 주파수대에는 매우 민감하게 반응 고 주파수대에는 둔감하게 반응한다 이미지를 압축할 때에 높은 주파수대의 상수는 이미지 인식에 크게 영향을 주지 않으므로 축소 또는 제거 DC 상수만을 이용하여 압축, 복원하더라도 이미지 질에는 큰 영향을 미치지 않는다

변환 코딩: DCT Coding (6) DCT 압축 시스템의 양자화 단계 양자화를 통해 불필요한 정보를 제거 데이터 손실이 발생 DCT 상수를 양자화 행렬로 나누고 가까운 정수로 반올림한다 : 식 4.3, 그림 4.9, 그림 4.10 대부분의 값이 0으로 변환 DC 상수는 64개의 값의 평균으로 가장 크다 0이 아닌 낮은 주파수의 값은 대각선 위에 있다 높은 주파수에 속하는 AC 상수는 대부분 0이다 양자화 상수 / 양자화 행렬 인간의 시각심리적인 요소와 압축률을 고려하여 결정 대부분의 압축 표준에서는 기본값(Default)을 제공

변환 코딩: DCT Coding (7) DCT 압축 시스템의 엔트로피 코딩 단계 양자화된 데이터에 대하여 엔트로피 코딩을 통해 압축률을 높인다  Hybrid Coding 단계 DC 상수의 인코딩 DC 상수는 해당 블록의 기본 칼라를 결정 인접한 블록들 사이의 색상 변화는 크지 않다 DCi와 DCi-1값의 차이는 크지 않다 DC 상수에 대하여 차분 코딩을 적용 : 그림 4.11 AC 상수의 인코딩 지그재그 시퀀스(Zigzag Sequence)을 적용하여 Run-length Encoding 기법을 사용 : pp 163, 그림 4.12

차분 코딩: DPCM Coding (1) DPCM(Differential Pulse Coded Modulation) Coding 차분(Difference) 기반의 예측 코딩 기법 시간적인 중복성을 이용한 압축 기법 시간흐름에 따라 데이터 사이의 변화가 크지 않은 데이터에 적용 압축할 때에 실제 값과 예측 값의 차이를 코딩 오디오 데이터 압축에 주로 이용 기준 데이터 값은 그대로 코딩하고, 이후의 값은 기준 데이터 값에 대한 차분값을 코딩한다 엔트로피 코딩과 결합하는 경우 더욱 효율적으로 이용 DPCM 압축 기법: pp. 164~165

차분 코딩: DPCM Coding (2) PCM vs DPCM

차분 코딩: DPCM Coding (3) DPCM 확장 Delta Modulation ADPCM(Adaptive DPCM) 차분값에 대해 1 비트를 사용하여 증감 여부만을 코딩 차분값의 변화가 심한 경우에는 부정확 ADPCM(Adaptive DPCM) 차분값을 코딩하는 비트 수를 다양하게 사용 변화가 심한 경우에는 많은 비트 수를 사용 변화가 적은 경우에는 적은 비트 수를 사용 DPCM 코딩 기법보다 효율적 Audio coding에 많이 적용

하이브리드 코딩 하이브리드 코딩(Hybrid Coding) 엔트로피 코딩 기법과 소스 코딩 기법을 결합 소스 코딩의 결과를 엔트로피 코딩의 입력을 사용 종 류: JPEG H.261 / H.263 MPEG Wavelet image compression : JPEG2000 Fractal image compression 등

Report #4 Huffmann Coding Programming Report #1에서 작성한 문자 빈도수 계산 루틴을 이용하여 영문 텍스트 파일(*.txt)을 허프만 코딩하는 프로그램을 작성하여라 출력 파일의 확장자 이름을 *.huf로 지정한다 압축률을 산출하여 RLE coding 기법과 비교하여라 참고 사이트 : http://dogma.net/DataCompression/Huffman.shtml