본문 바로가기

Study/Networking

11. 멀티미디어

728x90

1. 오디오와 비디오의 디지털화

오디오나 비디오 신호를 인터넷으로 보내기 전 우리는 그것들을 디지털화를 할 필요가 있다. 

 

오디오파는 1차원 음향파이다. 음파가 귀에 들어오면 고막이 진동하여 귀 내부의 작은 뼈가 함께 진동하여 뇌에 신경 펄스를 보낸다. 이러한 펄스는 청취자에 의해 소리로 인식된다.

비슷한 방식으로 음파가 마이크에 부딪힐 때, 마이크는 소리의 진폭을 시간의 함수로 나타내는 전기신호를 생성한다. 이러한 오디오 신호의 표현, 처리, 저장 및 전송은 멀티미디어 시스템 연구의 주요 부분이다.

 

- 오디오 디지털화

마이크에 소리가 입력되면 소리 진폭을 시간의 함수로 나타내는 전자 아날로그 신호가 생성된다. 이 신호를 아날로그 오디오 신호라고 한다. 이 신호는 ADC(Analog to Digital Converter)로 디지털화 하여 디지털 신호를 생성할 수 있다.

 

- 전화기와 CD

PCM(Pulse Code Modulation)을 사용하여 샘플당 8비트로 초당 8000개의 샘플로 음성을 샘플링한다. 음악은 초당 44,100개의 샘플로 샘플링되며 초당 16비트로 샘플링된다.

 

- 음악과 말하기

또 다른 중요한 경우는 말하기이다. 인간의 말은 600 ~ 6000Hz 범위에 있는 경향이 있다. 언어는 모음과 자음으로 구성되어 있는데, 이는 다른 특성을 가지고 있다.

2. 오디오와 비디오의 압축

오디오 압축은 음성 또는 음악에 사용할 수 있다. 오디오 압축에는 두 가지 범주의 기술이 사용된다.

  • Predictive Encoding
  • Perceptual Encoding

- Predictive Encoding

샘플 간의 차이는 모든 샘플링 값을 인코딩하는 대신 인코딩된다. 이러한 유형의 압축은 일반적으로 음성에 사용된다.

 

- Perceptual Encoding

이 방식은 CD에서 퀄리티있는 오디오를 제공할 때 보통적으로 사용하는 방식이다.

ex) MP3

 

- MP3

MP3는 주파수 및 시간 마스킹을 사용하여 오디오 신호를 압축한다. 이 기술은 스펙트럼을 분석하고 여러 그룹으로 나눈다.

0 비트는 완전히 마스킹된 주파수 범위에 속한다.

부분적으로 마스킹된 주파수 범위에 소수의 비트가 할당된다.

마스킹되지 않은 주파수 범위에 더 많은 비트가 할당된다.

 

MP3는 원래 아날로그 신호의 주파수 범위에 따라 3가지 데이터 레이트를 생성한다.

96kbps, 128kbps, 160kbps

 

- 디지털 비디오: 픽셀

디지털 비디오를 생각하는 가장 쉬운 방법은 각 프레임이 직사각형 모양의 그림 요소 또는 픽셀로 구성된 일련의 프레임이다. 순수 흑백 비디오의 경우 각 픽섹을 단일 비트로 표시된다(0은 검정색, 1은 흰색). 회색스케일 비디오의 경우 픽셀당 8비트를 사용하여 256개의 회색 레벨을 나눌 수 있다. 대부분의 경우에 적합하다.

좋은 컬러 비디오의 경우, 각 RGB 색상에 대해 8비트가 사용되여 픽셀당 24비트가 생성된다.

 

- Jerky Motion and Flicker

부드로운 움직임을 제공하기 위해서는 디지털 비디오를 적어도 초당 25프레임이 표시되어야 한다. 이보다 적은 프레임을 제공한다면 jerky motion이 발생할 것이다.

대부분의 모니터는 초당 75번 혹은 그 이상 메모리로부터 비디오를 초기화한다.

 

- 디지털 비디오의 포멧

대부분의 디지털 비디오의 형태는 비디오를 표현하는데 RGB값을 사용하기 쉽지 않다.

포멧 ex) 4:2:2 format, 4:2:0 format, SIF, CIF, QCIF...

 

- 비디오 압축

이전에 말햇듯, 비디오는 몇몇의 프레임으로 이루어져 있다. 현재 시장에는 두개의 표준이 보존되어지고 있다.

  • 압축된 이미지를 사용하는 JPEG
  • 움직이는 그림을 그룹화하는 MPEG

- JPEG Gray Scale

만약 그림이 색깔이 없다면, 각 픽셀은 8비트로 표현되어야 할 것이다. 만약 그림이 색깔이 있다면 각 픽셀은 24비트로 표현된다. 

JPEG에서 gray scale 이미지는 8*8 픽셀의 블록으로 나누어진다.

 

Case 1: Uniform Gray Scale

이 경우 우리는 각 픽셀을 20으로 표현된 그레이 블록을 볼 수 있다. 우리가 이것을 변환할 때 우리는 0이 아닌 값을 첯ㅅ 번째 요소로 가지고 남은 픽셀을 0의 값을 가지게 한다.

 

Case 2: Two Sections

이 경우 우리는 두개의 다른 gray 부분으로 표현된 블록을 볼 수 있다. 이 값은 20 ~ 50 사이의 값을 가지게 된다. 우리가 이것을 변환할 때 우리는 잘 알고 있는 값을 가지게 된다.

 

Case 3: Gradient Gray Scale

이 경우 각 이웃한 픽셀들의 값이 다르게 표현되는 것을 볼 수 있다. 우리가 이것을 변환할 때 우리는 많은 0이 아닌 값을 볼 수 있을 것이다.

 

- 비디오 압축

MPEG 방식은 비디오 압축의 기술로 사용되곤 한다. 원칙적으로 움직이는 그림은 빠르게 흐르는 프레임들의 집합이고, 각 프레임은 이미지이다. 

 

공간 압축

각 프레임의 공간 압축은 JPEG로 이루어지고, 각 프레임은 독립적으로 압축될 수 있다.

 

시간적 압축

시간적 압축에서는 중복 프레임이 제거된다. 시간적으로 데이터를 압축하기 위해서, MPEG 방법은 프레임을 세 가지 범주, 즉 I-프레임, P-프레임, B-프레임으로 나눈다.

 

I-프레임

어떤 다른 프레임과 관계되지 않는, 독립적인 프레임으로 규칙적인 간격이 존재한다. I-프레임은 앞과 뒤의 프레임에서 보여줄 수 없는 갑작스러운 변화를 다루기 위해 주기적으로 나타나야만 한다.

 

P-프레임

각 P-프레임은 이전의 프레임으로부터 단지 변화 값만을 포함한다. P-프레임들은 오직 이전의 I-프레임이나 P-프레임으로부터 구성될 수 있다. P-프레임은 다른 프레임의 형태보다 매우 작은 정보를 전달하고, 압축 후 더 작은 비트를 전달한다.

 

B-프레임

각 B-프레임은 지나간 것과 지나갈 것에 연관된다. B-프레임은 결코 다른 B-프레임과 연관되지 않음에 유의하자.

 

3. 인터넷상의 멀티미디어

- 웹 서버 이용

압축된 AV 파일은 텍스트파일로 다운로드될 수 있다. 클라이언트는 HTTP서비스를 사용할 수 있고, 파일을 다운로드하기 위해 GET 메시지를 보낼 수 있다. 웹 서버는 클라이언트에 압축된 파일을 보낼 수 있다. 그런 다음 클라이언트(브라우저)는 파일을 재생하기 위해, 매체 재생기라는 보조 프로그램을 사용할 수 있다.

 

- 메타파일을 가지는 웹 서버 이용

다른 접근 방법으로, AV 파일을 다운로드하기 위해 매체 재생기는 웹 서버에 직접 연결된다. 웹 서버는 두 가지 파일, 즉 실제 AV파일과 AV파일에 대한 정보를 갖는 메타파일을 저장한다.

 

- 메체 서버 이용

두 번째 접근 방법의 문제는 클라이언트와 매체 재생기 모두 HTTP 서비스를 사용한다는 것이다. HTTP는 TCP 위에서 동작되도록 설계되었다. 이것은 메타파일을 검색하기에 적절하지만 AV 파일을 검색하기엔 적절하지 못하다. TCP와 TCP오류 제어를 없앨 필요가 있고 UDP를 사용할 필요가 있다. 그러나 웹 서버로 접근하는 HTTP와 웹 서버 자체도 TCP를 위해 설계된 것이므로 또다른 서버, 즉 메체 서버가 필요하다.

 

- 매체 서버와 RTSP 이용

RTSP는 스트리밍 처리에 더 많은 기능을 추가하도록 설계된 제어 프로토콜로 RTSP를 사용하여 AV의 재생을 제어할 수 있다. RTSP는 FTP의 두 번째 연결과 유사한 대역외 제어 프로토콜이며,  매체 서버와 RTSP를 보여준다.

 

728x90