728x90
컨테이너
- 동영상 규격을 가진 파일
- 규격 - 재생과 편집을 원활하게 하기 위함
- 컨테이너는 하나 이상의 스트림을 가지고 있음
- 스트림 - 비디오, 오디오와 같이 시간에 따라 변하는 일련의 데이터
- 컨테이너는 오직 스트림을 제어하기 위한 정보 만을 가지고 있음
- 동영상 컨테이너가 스트림을 제어하는데 사용하는 정보들
- 동영상 촬영 당시, 또는 임의로 기록된 메타 정보(촬영 날짜, 위치 등)
- 컨테이너가 가지고 있는 스트림의 개수
- 동영상 전체 길이
- DVD에서 제공하는 메뉴와 자막 정보
- 인터넷을 통한 동영상 재생(스트리밍) 시 빠른 탐색이 필요한 스트림 위치 정보
- 동영상 컨테이너가 스트림을 제어하는데 사용하는 정보들
- 멀티플렉싱 ( = 먹싱)
- 컨테이너에 스트림을 담는 과정, 다양한 종류의 코덱으로 인코딩된 스트림 정보 담을 수 있음
- 디멀티플렉싱 ( = 디먹싱)
- 컨테이너에 있는 스트림을 컨테이너에서 분리하는 과정
- 컨테이너가 가지고 있는 비디오, 오디오 스트림들은 코덱을 통해 가공된 데이터
코덱
- 코덱 - 코더(Coder)와 디코더(Decoder)의 앞글자를 딴 합성어
- 용량이 큰 영상을 다른 곳으로 이동하거나 보관하기 쉽게 압축하고 후에 재생할 때 다시 복원
- 인코딩 (Encoding)
- 아날로그 신호나 스트림 데이터로 이루어진 비디오와 오디오를 압축된 부호로 변환하는 과정
- 디코딩 (Decoding)
- 압축된 데이터를 본래의 아날로그 신호나 스트림 데이터로 복원하는 과정
- 코덱 압축 방식
- 손실 압축 - 원본이 손상, 데이터를 더 많이 압축할 수 있음
- 무손실 압축 - 원본 손실 없이 그대로 보전됨
픽셀 (=화소)
- 화면을 표현하기 위해 사용되는 가장 작은 요소
- 디지털 화상을 구성하는 기본 단위
- 픽셀 종횡비
- 하나의 픽셀에 대한 가로 세로 비율
- PPI (Pixels Per Inch) - 디스플레이 1인치 당 픽셀 수
해상도
- 디스플레이의 세밀함 정도, 픽셀의 개수로 측정, 픽셀의 개수가 많을수록 해상도가 높고 화면이 선명
- 해상도 형식 : 픽셀 단위의 가로 X 세로
- Ex) 480p, 720p, 1080p - 숫자는 세로 픽셀 수를 의미
- 화면 종횡비 ( = Display Aspect Ratio, 그림 종횡비, 프레임 종횡비)
- 해상도를 표현하는 가로 세로 비율
프레임 레이트와 화면 주사방식
- 프레임 레이트 - 초 당 보여줄 프레임 갯수, 단위 : fps (1초당 프레임 수)
- 프레임 - 동영상을 이루는 여러 이미지 중 하나의 정지된 이미지
- 영화는 보통 24fps, TV는 보통 30fps, 스포츠는 보통 60fps
- 60fps (59.94fps)
- 미국 또는 한국과 같은 NTSC 포맷을 기본으로 하는 나라에서 사용하는 720P의 기본 프레임 레이트
- 30fps (29.97fps)
- 미국 또는 한국과 같은 NTSC 1080p 또는 1080i 방식으로 촬영할 때 사용하는 프레임 레이트
- 비월 주사 방식 (Interlaced Scanning)
- 한 번에 모든 화면을 보내지 않고, 홀수 줄과 짝수 줄을 나누어 보내는 방식
- 화면에 보내야 할 전송량을 줄이는 방식
- 영상이 급격한 움직임을 보일 때 잔상이 남는 단점이 있음 ( = 인터페이스 노이즈)
- 요즘은 사용하지 않음 (아날로그 시대에 브라운관 TV에 맞춰나온 기술)
- 순차 주사 방식 (Progressive Scanning)
- 영상을 한 번에 하나의 프레임으로 전송하는 방식
- (주사선을 1초에 60번씩 한꺼번에 순차적으로)
- 전송대역폭도 크고 데이터량도 많아짐, 화질도 좋아짐
- 영상을 한 번에 하나의 프레임으로 전송하는 방식
크로마 서브샘플링
- 사람의 눈에 둔감한 색차 정보를 줄이고 민감한 명도를 기반으로 영상을 압축하는 방식
- 색 정보를 샘플링이란 과정을 통해 실제로 영상을 볼때는 원본과의 격차를 줄여주는 것
- 루마 컴포넌트 - 밝기 정보
- 색차 컴포넌트 (크로마) - 색상에서 명도를 제외한 정보
- 프레임 색 표현 방법
- RGB - 적, 녹, 청 / 하나의 픽셀 당 24bit 사용햐서 많은 용량 필요
- YUV - 휘도(Y), 색차(U,V)
- Ex) YUV444, YUV422, YUV420
비디오 압축
- 비디오를 압축할 때는 하나의 프레임과 주변 프레임과의 상관관계를 이용하여 압축
- 비디오 프레임은 GOP 그룹 단위로 압축
- GOP : I 프레임 각각 사이 / 인코딩된 이미지 프레임 그룹
- 여러 장의 연속 나열된 이미지 프레임들 -> 하나의 이미지 프레임 그룹(GOP)로 인코딩
- I - 프레임 : 기준이 되는 프레임 ( = 키 프레임), 하나의 온전한 이미지를 저장
- P - 프레임, B - 프레임 : 상관관계에 있는 프레임 ( = 인터 프레임, 레퍼런스 프레임)
- P - 프레임 : I - 프레임 이후 다음 I - 프레임까지의 변경된 정보를 담음
- B - 프레임 : P 또는 I - 프레임과 다음 P - 프레임의 변경된 정보 만을 담음
- 비디오 프레임은 GOP 그룹 단위로 압축
오디오 샘플링
- 아날로그 신호로 된 소리를 디지털 장비에서 사용하기 위한 과정
- 샘플링 : 아날로그 신호를 일정 구간을 단위로 표본화하여 저장
- 샘플링 주기 (샘플링 레이트, T) : 오디오를 표본화하기 위해 나눈 구간, 단위 : Hz, kHz
- 샘플링 주기가 낮을 수록, 표본화된 데이터가 적기 때문에 압축률 높음, 잡음이 심해짐
- 비트 깊이 (Bit-depth) : 하나의 샘플이 가진 강도를 표현하는 데 사용하는 비트 수
비트레이트
- 특정한 시간 단위마다 처리할 수 있는 비트의 수
- 인코딩 시 비트레이트를 어떻게 할당하느냐에 따라 최종 결과물 품질이 크게 달라짐
- 비트레이트 할당 방식
- 가변 비트레이트 (VBR, Variable Bitrate)
- 영상 복잡도에 따라 할당하는 비트레이트 양 결정
- 전체적으로 품질이 고르게 됨
- 고정 비트레이트 (CBR, Constant Bitrate)
- 영상 복잡도와 관계 없이 항상 같은 비트레이트 할당
- 품질은 VBR에 비해 상대적으로 떨어짐
- 파일의 전체 크기를 미리 가늠할 수 있음
- 평균 비트레이트 (ABR, Average Bitrate)
- 영상 복잡도에 따라서 비트레이트를 할당하지만 평균으로 지정된 비트레이트 유지
- 고정 비트레이트에 비해 높은 품질 보여줌
- 품질 기반 가변 비트레이트 (QVBR)
- 비디오 소스의 모든 매크로블록, 프레임 및 장면을 분석하고 비트를 자동으로 할당하여 정보 차이를 다룸
- 복잡한 비디오 세그먼트에는 높은 비트레이트 사용
- 덜 복잡한 비디오 세그먼트에는 낮은 비트레이트 사용
- 가변 비트레이트 (VBR, Variable Bitrate)
※ 참고 자료 : FFmpeg 라이브러리 : 코덱과 영상 변환을 중심으로
728x90