본문 바로가기
공부/데이터통신

Formatting and Source Coding(2)

by 맑은청이 2020. 6. 12.
728x90
반응형

https://com24everyday.tistory.com/139

 

Formatting and Source Coding

안녕하세요. 옆집 컴공생입니다. 많은 과목이 그러하듯 열심히 들어온 데이터통신도 뒤로 갈 수록 너무 어렵네요. 수식이 등장해서 그런걸까요.. 점점 수업이 무서워집니다. 그래도 좋은 점수를

com24everyday.tistory.com

 

안녕하세요. 옆집 컴공생입니다. 오늘은 지난번 배운 영상처리를 마무리하고 오디오 압축에 대해 마무리하겠습니다.

 


영상 압축(Video Compression)의 방법

 

지난 시간에 사람은 RGB보다 명도에 예민하기 때문에 명도 비율을 더 높여서 정보량을 줄인다는 'RGB-YUV Convert' 이야기를 했습니다.

 

오늘은 영상 압축의 3요소인 

 

1) 공간적 압축(Spatial Model)

2) 시간적 압축(Temporal Model)

3) 확률적 압축(Entropy Model) 

 

에 대해 배워보겠습니다. 

 

 

▶ 시간적 압축(Temporal Model)

 

시간적 압축은 시간적 중복(Temporal Redundancy) 의 개념에서 착안됩니다. 만약 다음 그림과 같이 똑같은 배경에서 사람이 인터뷰하는 영상이라면 사실 입술을 제외한 나머지 부분은 크게 움직이지 않습니다. 그렇기 때문에 그럼 '입술'과 같이 동작이 많은 부분에 집중하자, '움직임이 많이 없는 부분들은 압축하자.' 라는 뜻입니다.

 

 텔레비전 약 30 FPS(Frame Per Second) , 영화는 약 24FPS입니다. 1초에 넘어가는 frame (사진과 같은) 의 수를 말합니다. 그러니 사물의 움직임은 느린데 이를 표현하는 같은 Frame 이 많겠죠. 1 frame 이 동작하는 시간은 매우 짧기 때문입니다. 따라서 영상에는 시간적 중복이 많이 일어나게 됩니다. 

 

 

공간적 압축(Spatial model) 

 

 - 움직임 예측(Motion Estimation) : 현재의 블록을 과거 프레임에서 찾는 과정입니다. 영상에서 많이 움직이지 않기 때문에 찾으면 좀 더 확률적으로 압축을 할 수 있습니다 .

 - 움직임 보상(Motion Compensation) : 움직임 벡터(Motion Vector)를 구하는 거 (이 부분은 깊게 배우지 않아서 설명을 잘 못해드리지만 아마 영상이 입체형이라 벡터를 이용한 게 아닌가 싶습니다. 아시는 분 있으시다면 댓글 달아주세요) 

 

-> 시간적 압축에서 위 움직임 벡터와 기준 프레임을 사용하여 현재의 프레임을 복구 시킵니다.  

공간모델에서 복구 과정


Group of Pictures 

 

아래 그림은 Frame의 종류에 대해 나타낸 겁니다 .

느낌이 오시나요? 

▶I-frame기준이미지 입니다. 이 기준점을 가지고 나머지 Frame 은 차이점을 압축하게 됩니다.

P-frame이전 frame 과의 차이이고 B-frame앞뒤 프레임과 비교합니다. 

 

이 프레임의 재생순서가 다음과 같다고 생각해봅시다. 

 

재생순서

2번 프레임을 코딩한다고 합시다. B-frame 은 앞뒤 프레임을 다 비교해야하기 때문에 1번 프레임과 5번 프레임이 필요합니다. (2,3,4 같은 프레임입니다.) 그럼 5번 생기기 전에는 2,3,4 프레임이 제대로 만들어 지지 않겠죠? 그러므로 코딩 순서와 전송 순서는 다음과 같아야합니다.

이처럼 프레임의 코딩순서와 재생속도가 다르다는 것을 알 수 가 있습니다. 

 


확률적 압축(Entropy Model)오디오 압축(Audio Compression)에 대해 간단하게 알아보겠습니다. 

 

 엔트로피(Entropy)의 개념은 정보론(Information Theory)에서 온거라고 합니다.

다음과 같은 수신이 적용이 됩니다. 

 

확률적 코딩은 다음과 같이 진행하게 되는데요.

이는 나올 확률이 높은 수는 짧은 Output 으로 표현합니다. (그래야 정보량을 줄일 수 있겠죠?) 

여기서 이용되는게 지난번에 배운 RLE(Run-Length Encoding) 입니다.  

 

ex) 000000001122222     (0;8)(1;2)(2;5)

생각해보면 0이 제일 자주 나오니깐 0을 가장 짧은 방식으로 표현하면 정보량을 줄 수 있습니다. 

 

 

이로서 영상 압축에 대해 배워 봤습니다. 

 


오디오(Audio) 압축 기술에 대해 간략하게 배워보겠습니다. 압축 방식에는 두 가지가 있습니다. 

 

1.Digital Speech Coding 

이는 표현처럼 발표같은걸 할 때 쓰이는 오디오 코딩인데 이때는 굳이 품질에 그렇게 까지 신경쓸 필요가 없기 때문에 (이를 Human Vocal System의 특성을 활용한거라 해서 Vocoder이라고 합니다.)

 

->낮은 전송 자원 소모가 주목적으로 높은 압축율이 중요  

 

2. Digital Audio Coding 

이는 위의 Human Vocal System과 달리 Human Auditory System의 특성을 활용하는데요. 이는 가수의 콘서트라고 할 수 있겠습니다. 콘서트 장에 갔는데 음질이 안 좋으면 안되겠죠? 그래서 이 방식은 

-> 높은 압축율이 좋지만 좋은 음질을 재생해 낼 수 있는 것이 중요 

 

 

 

 


이렇게 Formatting and Source Coding 에 대해 알아보았습니다.

다음 단원은 Wireless Transmission & Network 입니다.

728x90
반응형

'공부 > 데이터통신' 카테고리의 다른 글

Wireless Transmission & Network(1)  (0) 2020.06.16
HW4 리뷰  (0) 2020.06.15
Formatting and Source Coding  (0) 2020.06.11
데이터통신-Signal Encoding/Modulation(2)  (0) 2020.06.03
Routing  (0) 2020.05.26