본문 바로가기
Server

Live & VOD Streaming Media server 구축 (3) - 디지털 동영상이란

by 오늘도 깨달았다 2022. 2. 26.
반응형

미디어서버를 구축하기전에 디지털동영상에 대한 것도 자세히 모르는 것 같아서 정리해놓는다.

 

이미지를(사진)을 연속적으로 보여주면 마치 움직이는 것처럼 보이는 것이 동영상이다.

 

이 때 보여주는 이미지를 프레임이라고 부르며, 초당 몇 장의 이미지를 보여주는지는 프레임의 수에 따라 달라진다. 단위는 FPS(Frame Per Second)이다.

 

동영상을 우리가 컴퓨터로 볼 수 있다면

결국에 우리가 인터넷이나 컴퓨터를 통해 볼 수 있는 동영상은 아날로그 신호를 디지털 신호로 변환, 즉 컴퓨터가 읽을 수 있는 포맷을 가지고 있는 디지털 파일이다.

이러한 아날로그 신호를 디지털로 변환시켜줄 수 있는 컴퓨터 소프트웨어가 ‘코덱’이다.

 

코덱

‘코덱’은 음성 또는 영상의 아날로그 신호를 디지털 신호로 변환하는 코더(coder)와 디지털신호를 음성 또는 영상으로 변환하는 디코더(decorder)의 합성어이다.

동영상,음악을 압축하고 그것을 해제하는데 필요한 것이라고 보면 된다.

  • 아날로그 신호나 스트림 데이터로 이루어진 비디오와 오디오를 압축된 부호로 변환하기 위한 규격 → 인코딩(Encoding)
  • 압축된 데이터를 본래의 아날로그 신호나 스트림 데이터로 복원하기 위한 규격 → 디코딩(Decoding)

어떠한 코덱을 사용해서 동영상을 압축했으면 그 동영상을 재생하기 위해서는 그 동영상이 제작될 때 사용된 코덱이 해당 컴퓨터에 설치되어 있어야 한다.

또한 영상과 음성정보가 하나의 컨테이너 포맷(ex avi) 로 이루어져 있을지라도 음성과 영상 코덱은 따로 존재한다.

코덱의 압축방식

  • 손실압축
  • 무손실압축

 

 


그렇다면 컴퓨터가 읽을 수 있는 포맷이라고 하는건 어떤 것들이 있는지 알아보면

한글 포맷(확장자 - hwp), PDF 파일 포맷 (확장자 - pdf), 그림 파일 포맷(확장자 - jpg,bmp,gif) , 음성 파일 포맷 (확장자 - mp3, wav, AAC 등) , 동영상 파일 포맷 (확장자 - avi, mxf, mp4, mov 등 ) 을 포함한 여러가지들이 존재한다.

이러한 파일 포맷들은 헤더, 바디 구조를 가지고 있다.

 

헤더 : 파일 전체의 내용을 식별하기 위한 모든 정보를 포함하고 있는 부분

바디 : 정보(콘텐츠)를 담고 있는 부분이다.

 

결국 포맷이란 정보를 감싸고 있는 상자이다.

 

 

이러한 파일 포맷을 컴퓨터가 해석하여 화면으로 보여주고, 내용을 수정, 추가하기 위해서는 포맷별로 전용의 응용 소프트웨어가 그 역할을 수행한다.

따라서 해당 포맷에 해당하는 응용 소프트웨어가 없다면 파일을 읽거나 수정하는건 매우 어렵다.

포맷에 대해 알아봤고 동영상에서는 이 포맷을 컨테이너 라고 부른다.

 

컨테이너

컨테이너는 단순히 재생시켜주는 소프트웨어가 인식할 수 있도록 형태(확장자)를 알려주는 것일 뿐, 구성요소인 영상과 음성을 재생시켜주진 못한다. 즉 영상과 음성을 담고있는 그릇이라고 생각하면 될 것 같다.

 

컨테이너 포맷의 종류

 

영상

 

픽셀(Pixel)

  • 픽셀은 화면을 표현하기 위한 가장 작은 요소이다.
  • 일부 디바이스에서는 가로,세로의 비율이 다른 픽셀을 사용하기도 함
  • 픽셀의 가로, 세로의 비율을 픽셀 종횡비(Pixel Aspect Ratio) 라고 함

해상도(Display Resolution)

  • 픽셀의 개수를 나타내는 것이 해상도 이다.
  • 해상도는 픽셀 단위의 가로*세로 형식
  • 480p, 720p, 1080p의 p는 progressive 영상 → 순차 주사방식
  • 480i, 720i, 1080i의 i는 interlaced 영상→ 비월 주사방식

프레임 레이트(Frame Rate)와 화면 주사방식

  • 프레임 레이트 : 초 당 프레임 개 수, 단위로는 fps(frame per second) 사용
  • 비월 주사방식(Interlacing)
    • 한 번에 모든 화면을 보내지 않고 홀수 줄과 짝수 줄을 나누어 보내는 방식
    • 한 번에 보내는 프레임의 전송용량이 절반으로 줄어들어 낮은 성능으로도 지연없이 전송
    • 사람 눈의 착시 현상으로 인해 온전한 프레임을 보는 듯한 느낌
  • 인터레이스 노이즈(Interlace noise)
    • 비월 주사방식에서 영상이 급격한 움직임을 보일때 잔상이 남는 단점
  • 순차 주사방식 (progressive)
    • 한 번에 하나의 프레임으로 전송하는 방식

크로마 서브샘플링 (Chroma subsampling)

  • 사람의 눈은 밝기 차이에는 민감하지만 색상 차이에는 상대적으로 둔감
  • 색차 정보를 줄이고 민감한 명도를 기반으로 영상을 압축하는 방식을 크로마 서브샘플링이라 한다.
  • RGB
    • 빛의 3원색인 적색, 녹색, 청색을 조합하여 색을 표현하는 방식
    • 하나의 픽셀을 표현할 때 24bit(한 색당 8bit) 사용, 영상을 압축할 때 많은 비트가 사용 됨
  • YUV
    • 빛의 양을 정하는 휘도(Y)와 색차(U,V)를 이용
    • 디지털에서는 U,V 대신 RGB의 파랑(Cb)과 빨강(Cr)을 사용
    • 대표적으로 YUV444, YUV422, YUV420이 있음

비디오 압축

  • 비디오는 수많은 프레임(정지 이미지)이 시간 축을 기준으로 모여 저장된 것이다.
  • 비디오를 압축할때는 하나의 프레임과 주변 프레임과의 상관관계를 이용하여 압축한다.
  • 기준이 되는 프레임 : I-프레임, 상관관계에 있는 프레임 : P-프레임, B-프레임 (합쳐서 인터 프레임, 레퍼런스 프레임)
  • 기준이 되는 프레임 : I-프레임, 상관관계에 있는 프레임 : P-프레임, B-프레임 (합쳐서 인터 프레임, 레퍼런스 프레임)
  • Intra Frame (I-Frame)
    • 정지 영상처럼 화면의 모든 정보를 담고 있는 frame
    • 키 역할을 하기 때문에 key frame 이라고도 함
  • Prediction Frame (P-Frame)
    • 이전 화면에서 바뀐 부분의 내용을 담고 있는 frame
    • P-프레임을 디코딩하려면 반드시 P-프레임과 연결된 I-Frame이 필요하다.
  • Bi-directional (B-Frame)
    • 앞/뒤 화면에서 바뀐 부분의 내용을 담고 있는 frame
    • P또는 I프레임 다음 P프레임의 변경된 정보만을 담고있어 크기가 가장 적다
    • 디코딩할 때 가장많은 정보(P,I프레임)가 필요 함
  • 비디오 프레임은 GOP란 그룹을 단위로 압축 * 비디오 프레임은 GOP란 그룹을 단위로 압축

 

 

음성

 

오디오 샘플링(Sampling)

  • 샘플링은 아날로그 신호를 디지털 신호로 변환하는 과정이다.
  • sampling rate
    • 샘플링의 정교함에 대한 주파수(Frequency)를 의미하며 1초 단위 샘플링 횟수를 비율에 따라 표시한다.
    • 11kHz, 22kHz, 44kHz로 분류하는데, 44kHz는 입력되는 아날로그 데이터를 1초 동안 4만 4천번으로 세분하여 샘플링 했다는 것을 의미한다.
    • 샘플링레이트가 크면 클수록 원음과 가까운 음질을 가지지만 용량이 커질 수밖에 없다.
    • 일반 CD는 44.1kHz, DVD에 사용되는 오디오의 경우는 48kHz의 샘플링 레이트를 가진다.
  • bit depth
    • sampling rate는 시간 즉 x 축에 대한 함수이며 샘플링 신호를 표기하기 위해서는 음량 (Amplitude) 즉 y축에 해당하는 값이 동시에 필요하다.
    • 이를 "Bit Depth (비트 해상도)"라고 하며, 단위는 bit (비트)를 사용 한다.
    • 비트 깊이에 따른 표현 가능한 신호의 강도는 2의 N승과 같으며, 많은 비트를 사용할수록 정확한 신호의 강도를 표현
    • bit depth가 16이라면 65,536종류의 신호의 강도를 표현
    • 해상도 (비트수)가 높아질수록 원래의 아날로그 신호와 동일하게 샘플링 될 수 있다.
반응형

댓글