정보통신일반 (5)
차례 제 5 장 전송효율 전송효율의 필요성 주파수 분할 다중화 동기식 시분할 다중화 통계적 시분할 다중화 데이터 압축 다중화와 압축의 결합
전송 효율의 필요성 heterogeneous 환경에서 발생하는 전송비용 문제 한정된 매체에서 얼마나 많은 정보를 보낼 수 있는가 ? Multiplexing, compression 다수의 데이터 스트림을 하나의 고속 데이터 스트림으로 집중화 하는 것을 다중화라 하고, 그 반대를 역 다중화라 한다 다중화 기술은 자원 ( 전송채널 ) 의 사용효율을 높이기 위해 통신 링크를 공유하자는 시도
전송 효율의 필요성 대역폭 개발과 활용 컴퓨터에서의 중요자원 중앙처리장치 (CPU), 주기억장치, 보조기억장치, 데이터베이스, 파일 통신에서의 중요 자원 : 대역폭 (Bandwidth) 대역폭 : 정보의 전송채널이 얼마만큼의 정보 전송능력을 갖느냐 하는 능력이고 도로에 비유한다면 도로 폭 통신의 전송설비는 일반적으로 비싸다. 따라서 대역폭을 효율적으로 나누어 쓰는 방법을 개발하여 어떻게 통신비용을 줄일 것인가 대역폭과의 싸움 대역폭과의 싸움 어떻게 더 넓은 대역폭을 확보하느냐 같은 대역폭을 어떻게 효율적으로 나누어 쓰느냐
전송 효율의 필요성 어떻게 더 넓은 대역폭을 확보하느냐 ? 결국 어떻게 높은 주파수의 신호를 만들고 이를 멀리까지 원형 그대로 보낼 수 있느냐 하는 것으로 귀결 높은 주파수를 안정적으로 만들어낼 수 있는 소자의 개발과 최근의 광통신기술로 해결 같은 대역폭을 어떻게 효율적으로 나누어 쓰느냐 대역폭의 넓히기 : 주로 하드웨어적인 기술에 의존 대역폭 나누어 쓰기 : 하드웨어 기술로 출발하여 최근에는 소프트웨어 의존도가 매우 커짐, 하드웨어 보다는 소프트웨어가 훨씬 융통성을 발휘하기가 쉽기 때문 정보를 전송 : 전기 혹은 광 신호를 이용 주파수 영역과 시간 영역들로 구분 대역폭 나누어 쓰기도 결국 이 두 가지 관점에서 출발 주파수 영역을 나누어 쓰는 방법이 주파수 분할 다중화 (FDM : Frequency Division Multiplexing) 시간 영역을 나누어 쓰는 방법이 시분할 다중화 (TDM : Time Division Multiplexing)
주파수 분할 다중화 (FDM) FDM (Frequency-Division Multiplexing) 마치 넓은 도로를 몇 개의 차선으로 나누는 것과 똑같이 넓은 대역폭을 몇 개의 좁은 대역폭으로 나누어 사용 이는 하나의 큰 공간을 몇 개의 방으로 나누어 사용하는 것과도 같은 개념 Radio 와 TV 방송 같은 안테나로 수신 하면서도 여러 프로그램을 선택하여 들을 수 있는 것 각 방송국의 프로그램이 주파수 분할 다중화 다이얼과 채널 스위치를 돌리는 것은 필터의 주파수를 바꾸는 것과 같은 원리 Ex> telephone 사람의 음성대역폭 (Voice Grade Bandwidth) 은 3KHz 이다. 따라서 48KHz 의 대역폭을 갖는 채널이 있다면 이를 주파수 분할하여 12 명이 동시에 통화할 수 있다.
주파수 분할 다중화 (FDM) FDM (Frequency-Division Multiplexing)
주파수 분할 다중화 (FDM) 세 개의 음성 채널의 FDM 의 예
주파수 분할 다중화 (FDM) 디지털 신호인 경우 보통 다중화 장치가 주파수 편이 변조 (FSK:frequency shift keying) 방식을 사용하여 아날로그 신호로 변조하게 된다. FDM 의 장점 TDM 에 비해 비교적 간단한 구조를 갖는다 경제적 주파수 분할 다중화기 자체가 주파수 분할 편이 변복조기의 역할을 수행하므로 별도의 변복조기가 필요 없다 단점 보호 밴드는 결국 대역폭을 낭비하는 결과를 가져와 채널의 이용률을 낮추게 된다.
시 분할 다중화 (TDM) TDM (Time-Division Multiplexing) 시간을 조각 내어 이 조각 낸 시간 단위 (time slot) 를 여러 이용자에게 할당하여 음성 혹은 데이터를 전송 하게 하는 방법
시 분할 다중화 (TDM) 동기식 TDM (Time-Division Multiplexing) 각 단말 장치로부터 들어오는 데이터 신호 [M i (t), I=1,N] 는 버퍼에 입력 각 버퍼는 한 비트나 한 문자의 길이를 가짐 단말 장치와 시분할 장치의 내부 동작 속도와의 차이를 보상 하기 위해 사용 각 버퍼들이 차례로 스캔 (scan) 되어 전송할 데이터 M c (t) 가 만들어 짐 이때, 버퍼에 실제로 전송할 데이터가 없는 경우에도 타임 슬롯은 배정되며, 이러한 타임 슬롯은 무의미하게 지나감 스캔하여 만들어진 M c (t) 의 형식 그림 4.5(b) 그림 (b) 의 타임 슬롯의 길이는 전송측의 버퍼 길이와 동일하며, 일반적으로 한 비트나 한 문자로 구성 수신측은 전송되어온 데이터 M c (t) 를 역 다중화하여 적절한 수신측 버퍼에 입력
시 분할 다중화 (TDM)
비 동기식 TDM (Time-Division Multiplexing) 지능 시분할 다중화 방식 (intelligent TDM) 또는 통계적 시분할 다중화 방식 (statistical TDM) 이라고 함 동기식 시분할 다중화 정적 방법으로 각 채널에 타임 슬롯을 할당하는 것 비 동기식 시분할 다중화 실제로 보낼 데이터가 있는 단말 장치에만 동적으로 각 채널에 타임 슬롯을 할당하는 방식 장점 실제로 보낼 데이터가 있는 단말 장치에만 타임 슬롯을 할당하므로 전송효율이 높다
시 분할 다중화 (TDM) 비동기식 시분할 다중화와 동기식 시분할 다중화를 비교 A 단말 장치가 t0 와 t3, B 단말 장치가 t0 와 t1, C 단말 장치가 t1 과 t4, D 단말 장치가 t3 의 시간에 실제로 보낼 데이터를 가지고 있는 경우 동기식 시분할 다중화의 경우 각 단말 장치에서 균일하게 타임슬롯을 할당하기 때문에 두 전송 사이클이 진행되는 동안 C1,D1,A2,D2 의 타임 슬롯을 실제 데이터 없이 낭비하고 있다. 비동기식 시분할 다중화의 경우 실제 보낼 데이터가 있는 단말 장치에만 슬롯이 할당되므로 나머지 시간에 새로운 전송 사이클을 이룰 수 있어 같은 시간대에 더 많은 데이터를 전송할 수 있다.
시 분할 다중화 (TDM) 비동기식 시분할 다중화의 경우, 임의의 한 타임 슬롯 동안의 데이터가 어느 단말 장치에서 왔는가를 예측할 수 없다. 그러므로 송신 처에 대한 주소 영역이 추가로 데이터에 첨가되어야 하는데, 이것은 동기식 시분할 다중화 방식에 비해 타임 슬롯 당 데이터 효율은 약간 떨어지게 한다. 전체적으로 동기식 시분할 다중화 방식에 비해 전체 효율은 향상된다. 비 동기식 시분할 다중화의 프레임구조
데이터 압축 (Data compression) 압축 (Compression) Data 의 저장 혹은 전송을 위해 파일의 크기를 줄이는 것 무손실 압축 Compression 후 decompression 했을 때 source data 를 100% 복원 가능한 기법 손실 압축 Source data 를 완전하게 복원은 불가능하나 압축률을 높이는데 사용 Run-Length Coding 반복되는 문자열의 압축에 사용 송신기는 압축할 수 있는 반복되는 문자열을 찾아서 3 개의 code 로 대체 압축을 나타내는 특수 문자, 반복되는 문자, 반복 문자의 개수 Fax 압축에서 많이 사용 흑백 검은색 : 1, 흰색 : 0 로 가정 입력 문자의 특성에 따라 최대 1.5 배의 압축률
데이터 압축 (Data compression) Run-Length Coding (a) 압축 형식 ScXCc Sc : 압축을 나타내는 특수문자 X : 압축된 문자 Cc : 압축된 문자의 개수 압축되기 전 데이터압축후 데이터 $****** KOREA …..KUMI $Sc* Sc-9 KOREA Sc.5KUMI (b) 압축의 예
데이터 압축 (Data compression) Run-Length Coding 예 예 1 원문 “AAAAAAABCCCC”(13 bytes) “AAAAAAABCCCC”(13 bytes) 압축 후 “A!7 BC!4”( 7 bytes) “A!7 BC!4”( 7 bytes) 예 2 원문 “TABBBBBBBBBBBBBBBBBBCGLM” (17 bytes) “TABBBBBBBBBBBBBBBBBBCGLM” (17 bytes) 압축 후 bytes)
데이터 압축 (Data compression) Fax 에서의 Run-Length Coding 예 길이 : 200 비트 (a) 부호화하지 않았을 때 43W 4B 16W 1B 12W 1b 16W 4B 19W 1B 19W 1B 16W 4B 53W or (b) 단순 실행길이 부호화 길이 : 120 비트 (=15 문자 )
데이터 압축 (Data compression) Huffman encoding 알파벳을 코드화 하는 방법 문자가 나타나는 회수에 따라 코드의 길이가 달라짐 사용빈도가 높은 문자 : 짧은 코드 사용빈도가 낮은 문자 (L, R, S, N, T 등 ) : 긴 코드
데이터 압축 (Data compression) Huffman algorithm 각 문자가 한 개의 노드를 가지는 2 진 트리 생성, 각 문자의 빈도 할당 weight 가 가장 작은 2 개의 2 진 트리를 선택하여 새로운 트리의 좌 / 우 부 트리가 되도록 merge, 두 노드의 빈도 합이 새 트리의 빈도가 됨 2 단계 전체가 하나의 트리가 될 때 까지 반복
데이터 압축 (Data compression) Huffman encoding 의 한계 문자의 사용빈도를 미리 알아야 함 부호화 위해 메시지를 문자단위 혹은 비트 단위로 그룹화 그래픽 및 이진 데이터의 경우 문제 Huffman 코드의 압출률 일반적으로 5 문자를 표현하기 위해서는 3 비트가 필요 Huffman code 의 경우 평균 비트 수 : 2* * * * *0.3 = 2.25bit 압축률 : 2.25 / 3 = 0.75 약 75%
데이터 압축 (Data compression) V.42 bis compression Dictionary 방식 (Lempel-Ziv 알고리즘 ): 송수신지 간에 공동의 단어 사전을 지정하고 어떤 단어를 그대로 전송하는 대신 단어의 위치 (index) 를 전송 사전의 내용을 응용에 따라서 적응적으로 바꾸는 방식이 널리 사용 ( 예 UNIX 의 compress, GIF 압축 ) 원리 자주 반복되는 문자열을 찾아 처음에 한 번만 저장하고, 그 이후에는 해당 코드로 대치해 준다 자주 반복되는 문자열을 찾아 처음에 한 번만 저장하고, 그 이후에는 해당 코드로 대치해 준다 방법 1 : 문자열에 따라 어떤 특수 문자로 대치한다 방법 1 : 문자열에 따라 어떤 특수 문자로 대치한다 방법 2 : 사전에 등록해 둔 다음, 이후에 발생한 때는 방법 2 : 사전에 등록해 둔 다음, 이후에 발생한 때는 포인터를 나타내는 값으로 대치 포인터를 나타내는 값으로 대치
데이터 압축 (Data compression) Lempel-Ziv 부호화의 예 원문 “The tropical rain fell in drenching sheets, hammering the corrugated roof of the clinic building roaring down the metal gutters, splashing on the ground” splashing on the ground” 압축 방법 'the’, 'ro', 'ing’ 를 특수문자 ‘ ’, ‘ ’, ‘ ’ 로 대치 압축된 문자열 “ t pical rain fell in drench sheets, hammer corrugated of clinic build , ar down metal gutters, splash on g und in 'a torrent”