Media

컨테이너와 코덱

SALEE 2023. 4. 5. 15:44
728x90

동영상 컨테이너

MPEG-PS (.mpg, .mpeg)

  • MPEG-1/2를 담기 위한 표준 컨테이너
  • 효율적인 영상 보관과 데이터 손실을 최소화하기 위해 설계
  • 스트림이 패킷 단위로 나누어져 있어서, 데이터 일부 손실되어도 피해 최소화
  • 각각의 패킷에 시간 데이터가 있어서, 오디오 & 비디오 싱크 맞추기 쉬움

 

MPEG-TS (.ts)

  • MPEG-1/2 영상을 효율적으로 전송하기 위해 설계된 컨테이너
  • 수신 중 에러를 검출하기 위해 패킷에 에러를 검출하고 수정하는 플래그 추가
  • 여러 곳에 동시에 송출하기 위해 "프로그램"이라는 단위 사용
    • 하나의 프로그램에는 하나의 비디오와 여러 오디오 스트림 저장 가능

 

MPEG-4 Part 14 (.mp4m .m4v)

  • 현 세대에서 가장 일반적으로 사용하는 컨테이너
  • MPEG 계열 비디오와 오디오 스트림을 지원
  • 자막에서 썸네일 이미지, 메타데이터를 추가로 담을 수 있음
  • 애플에서는 MPEG-4 컨테이너에 DRM으로 보호하기 위한 수단으로 M4V 사용
  • MP4 컨테이너에는 영상의 재생 정보를 담고 있는 moov 메타 정보 있음
    • moov - 스트리밍 시 임의의 위치로 탐색하기 위해 필여한 정보

 

QuickTime (.mov)

  • 애플이 개발한 멀티미디어 컨테이너
  • MPEG-4 Part 14 규격 사용
  • MOV는 MPEG-4 규격으로 MP4보다 먼저 개발

 

3GPP, 3GPP2 (.3gp, 3g2)

  • 3G 휴대폰에서 사용하기 위한 컨테이너
  • MPEG-4 Part 12 규격 기반 설계
  • 안드로이드 휴대폰에서 촬영한 영상의 컨테이너로 자주 사용

 

Ogg (.ogg)

  • MP3 포맷 사용이 유료화된 이후 이를 대체하기 위해 Xiph.Org 재단에서 개발한 오픈 포맷 컨테이너
  • Xiph.Org에서 오디오 전용 컨테이너로 사용되도록 권유

 

Audio Video Interleave (.avi)

  • MS에서 개발한 컨테이너 규격
  • 오래된 컨테이너다 보니, 단순 저장을 제외한 용도로는 사용하기 힘듦
  • 공식적으로는 MPEG 계열 비디오 & 오디오 코덱 지원
  • 비공식적으로는 코덱 대부분 지원
  • 여러 프로그램이 기본으로 지원하는 컨테이너

 

Advanced Systems Format (.wmv, .wma, .asf)

  • AVI의 단점을 보완하고자 MS에서 개발한 컨테이너
  • DRM과 메타 정보 저장, 스트리밍과 같은 추가 기능 제공
  • 코덱 대부분 지원
  • 윈도우와 달리 리눅스나 맥에서는 호환성 문제가 자주 발생
    • .asf - 컨테이너 등장한 초반에 사용한 확장자
    • .wmv - 현재 대부분 사용하는 확장자
    • .wma - 오디오 스트림만 있는 파일일 경우 사용하는 확장자

 

Matroska (.mkv)

  • 비디오, 오디오, 썸네일 이미지, 자막 등을 제한 없이 담을 수 있음
  • 빠른 탐색, 스트리밍과 같은 기능 제공
  • 코덱의 종류와 상관 없이 모든 스트림을 담을 수 있음
    • 컨테이너 내부에서 사용하는 메타 포맷인 EBML은 XML과 같이 여러 종류의 메타 정보를 담을 수 있으며 바이너리에서 사용되도록 설계

 

WebM (.webm)

  • On2 테크놀로지와 Xiph.Org 재단에서 공동으로개발하는 오픈 포맷 컨테이너
  • 웹에서 사용하기 위해 개발 - HTML5에서 기본 지원
    • 비디오 코덱 - Vp8, Vp9
    • 오디오 코덱 - Vorbis, Opus

 

비디오 코덱

Moving Picture Experts Group Phase 1 - Part 2 (MPEG-1 Part 2)

  • 가장 초창기에 나온 코덱
  • 비디오와 오디오의 인코딩 규격 제공
  • 인코딩 형식으로 크로마 샘플링 사용
  • 최대 해상도 4095 X 4095까지 지정 가능
  • I, P, B 프레임 압축 방식 모두 지원

 

Moving Picture Experts Group Phase 2 - Part 2 (MPEG-2 Part 2)

  • 대부분의 영상매체 발전은 MPEG-2를 통해 이루어짐
  • MPEG-2 규격은 MPEG-1과 비슷하지만 비월 주사를 지원한다는 차이가 존재
  • 기존 하드웨어와 호환성 때믄에 현재도 방송업계에서 MPEG-2를 가장 많이 사용
    • 프로파일 - 사용할 수 있는 인코딩 방식 규격화
    • 레벨 - 프레임 레이트, 최대 해상도와 비트레이트 규격화

 

Moving Picture Experts Group Phase 4 (MPEG-4)

  • MPEG-2보다 2배 정도 효율적인 인코딩 지원
  • 가장 많은 Part (총 31 Part)를 가지고 있음
  • 방대한 표준 규격 때문에 프로파일과 레벨을 지정하여 사용

 

DivX

  • DivX사가 독자적으로 MPEG-4 Part 2 표준으로 개발한 영상 코덱
  • 원본 영상 크기의 약 15~20%까지 압축할 수 있는 압축률
  • DVD에 담긴 영상을 리핑하는 데 가장 널리 사용하는 코덱

 

MPEG-4 Part 10 (H.264 / AVC)

  • ITU-T의 VCEG와 MPEG이 공동으로 만든 비디오 코덱
  • MPEG-4 Part 2 보다 더낮은 비트레이트에서도 더 높은 화질을 얻을 수 있음
  • 다양한 환경을 고려하여 설계되었기 때문에 현재 가장 널리 사용됨
  • 기본적으로 연산량이 많으므로 실시간 스트리밍이나 스마트폰에서 재생하기 위해서는 프로파일과 레벨 조정해야 함

 

VC-1 (WMV9)

  • SMPTE 421M, WMV3, WMV9로도 알려진 코덱
  • MS에서 제공하는 WMV나 윈도우 SDK를 통해 인코딩 가능
    • 윈도우 이외의 운영체제에서는 WMV9 인코딩 불가능
  • 압축률 & 품질 면에서는 H.264와 유사, but 호환성 문제가 많아서 잘 사용하지 않음

 

Theora

  • Xiph.Org 재단에서 개발한 오픈소스 비디오 코덱
  • VP3 코덱을 기반으로 설계
  • 성능은 MPEG-4 Part2와 유사
  • B 프레임과 비월 주사 방식을 지원하지 않음

 

On2 / Google Vp8

  • On2 테크놀로지에서 개발한 오픈소스 코덱
  • 같은 세대 코덱인 H.264와 비슷한 품질 보여주기 위해서는 두 배 이상 용량 필요 (비효율)

 

오디오 코덱

MPEG 1 Audio Layer 3 (MP3)

  • 독일 프라운호퍼 연구소에서 MPEG-1의 오디오 규격으로개발한 손실 압축 포맷
  • 음향인지학적 압축 방식 사용 (오디오 데이터의 오느 부분을 폐기할 것인가를 결정)
    • MP3 포함한 대부분의 코덱에서도 사용
  • 일반적으로 MP3 파일은 .mp3 파일에 저장

 

Dolby Digital AC-3 (AC-3)

  • 돌비 연구소에서 개발한 코덱
  • 최대 5.1 채널까지 지원하는 손실 압축 코덱
  • 각각의 채널이 가진 음질은 낮은 편 - 영화 감상에 적합
  • 극장에서 가장 많이 사용하는 코덱

 

MPEG-2 Audio (AAC, Advanced Audio Coding)

  • 프라운호퍼 연구소 & 돌비 연구소 & 소니 공동 개발 표준
  • 플레이스테이션3 표준 오디오 코덱
  • MPEG-4 비디오 표준에도 사용됨
  • MP3보다 더 높은 샘플링 레이트 지원
  • 최대 48채널까지 사용 가능

 

Ogg Vorbis (Vorbis)

  • MP3 포맷 유료화 이후 대체하기 위해 Xiph.Org 재단에서 Ogg와 함께 개발한 오디오 코덱 (오픈소스)
  • MP3보다 더 좋은 음질 보장
  • 개발자에게 사용하기 쉬운 라이브러리 제공

 

Opus Codec (Opus)

  • IETF가 개발한 오픈소스 코덱
  • 높은 효율성을 목적으로 설계
    • 현존하는 오디오 코덱 중 높은 비트레이트를 제외한 구간에서 가장 높은 품질 보여줌
  • 최대 510kbps 비트레이트 지원
  • 실시간으로 샘플링 레이트와 채널을 변경할 수 있음
  • 호환성이 좋지 않고, 인코딩 속도가 느림

 

Free Lossless Audio Codec (FLAC)

  • Xiph.Org에서 개발한 오픈소스 코덱
  • 무손실 압축 사용, 데이터를 최대 절반까지 줄이지만 원본 그대로 정보 가지고 있음
  • 태깅, 앨범 아트 삽입, 빠른 탐색 기능 보유
  • 다른 코덱보다 낮은 압축률
  • 디코딩에 필요한 연산이 줄어듬

 

Windows Media Audio (WMA)

  • MS에서 개발한 오디오 코덱
  • WMV와 함께 사용
  • 윈도우가 아닌 플랫폼에서는 호환성 문제가 크기 때문에 잘 사용 X

 

4K 해상도와 차세대 코덱 이야기

  • 4K를 송출하기 위한 대역폭이 충분하지 않아 4K 해상도가 대중화되고 있지 X
  • 4K 지원하기 위해서는 1080p의 4배에 해당하는 대역폭 필요
  • 다가올 4K를 대비하기 위해 더 높은 압축률을 보여 주는 코덱을 개발 중

 

H.265 (HEVC, High Efficiency Video Coding)

  • MPEG-1부터 사용한 이산 코사인 변환을 기반으로 한 압축 기법 사용
  • 기존 H.264와 비슷한 화질을 유지하지만 두 배 높은 압축률 보유
  • 기존의 프로파일, 레벨에 "티어"라는 개념 추가
  • H.265 디코딩에 약 5배 더 많은 연산량 필요
    • 하드웨어 성능 개선이 이루어져야 함

 

Vp9

  • 구글이 On2를 인수하여 개발한 오픈소스 코덱
  • Vp8보다 높은 화질을 보장함과 동시에 50%에 가까운 압축률 목표
  • H.265와 동일한 이산 코사인 변환을 기반으로 한 압축 기법 사용
  • H.265보다 인코딩 & 디코딩 속도가 느린 편, 효율도 떨어짐

 

Daala

  • Xiph.Org 재단이 Mozilla 재단과 개발한 오픈소스 코덱
  • Vp9나 H.265와는 달리 중복 변환을 기반으로 한 압축 방식 이용
    • 기존 특허 기술을 이용하지 않으면서도 높은 화질 보여줌
728x90

'Media' 카테고리의 다른 글

동영상의 구성  (0) 2023.04.03
미디어 기초  (0) 2023.03.30