Media

미디어 기초

SALEE 2023. 3. 30. 14:29
728x90

미디어

2017년 전체 IP 트래픽의 75%는 Video

동영상 압축 원리

  • 동영상 압축 원리의 가장 기본은 픽셀은 옆에 픽셀과 유사하고 프레임은 이전 프레임과 유사하다동영상 원리
  • 조금씩 변하는 화면을 빠르게 보여줌으로써 마치 연속된 것처럼 느끼게 하는 것

 

코덱 (Codec)

  • 동영상을 압축하고 해제하는 애플리케이션
  • Coder와 Decoder의 합성어
  • Ex) H.264, DivX, XviD, Windows Media Codec, MPEG 1~4, On2 VP6, VP8, MP3, AAC

 

컨테이너 (Container)

  • 코덱으로 압축된 동영상 데이터를 담는 그릇, 동영상 파일 형식 포맷, 확장자
  • Ex) wmv, asf, avi, mkv, mov, webm, mp4

 

해상도 (Resolution)

  • 가로 세로에 관한 정의
  • SD / HD / Full HD / UHD (4K)
  • SD, HD, UHD는 화질이 아니라 해상도를 정의
    • SD720 * 480
    • HD1280 * 720
    • Full HD1920 * 1080
    • UHD(4K)는 3840 * 2160

 

Bitrate

  • 전송률, 동영상에서 초당 사용되는 data (bps). 대역폭(Bandwidth)와 유사
  • 동영상의 화질을 결정하는 중요한 부분

 

프레임(Frame)

  • 동영상에 있어 하나의 정지 된 화면

 

Frame Rate

  • 동영상에서 초당 표현되는 화면의 수 (fps)

 

Encoding

  • 동영상을 압축하여 만드는 기술

 

Transcoding

  • 동영상을 서로 다른 Container와 Codec으로 변환하는 기술

 

Transrating

  • 동영상의 Bitrate와 Resolution 만을 변경하는 기술

 

Transmuxing (Packaging, Transwrapping)

  • 동영상의 Container 만을 변환하는 기술
  • HTTP 기반 HLS가 보편화 되면서 널리 활용

 

동영상 종류

 

JPEG

  • 사진이나 그림과 같은 이미지를 디지털화하여 압축

 

MPEG-1

  • CD-ROM과 같은 디지털 저장 매체에 비디오 테이프(VHS) 수준의 동영상과 오디오를 압축 저장할 수 있도록 설계
  • 상용화한 대표적인 분야는 Video CD (VCD)와 MP3
    • MP3는 MPEG-1 오디오의 LAyer3를 의미

 

MPEG-2

  • ISO와 ITU가 최초 합작아여 만든 표준 (= H.262)
  • 디지털 TV, DVD 등 높은 화질과 음질을 필요로 하는 분야에 사용되기 위해서 설계

 

MPEG-4

  • 멀티미디어 통신 전제로 만들어져서 인터넷이나 모바일 환경과 같은 낮은 전송률로 동영상을 구현하기 위해 설계
  • DivX(XviD)나 Windows Media도 MPEG-4에 기반을 두고 만들어짐

 

MPEG-7

  • 멀티미디어 정보에 대한 빠르고 효율적인 검색에 대한 표준
  • 비디오 / 오디오 압축과는 관련성이 작음

 

MPEG-21

  • 멀티미디어 컨텐츠 제작, 배급, 사용 시의 보호에 대한 표준
  • MPEG-1, 2, 3, 7을 통합해서 전체의 프레임워크를 구성하고자 하는 표준
  • MPEG-7과 마찬가지로 산술적인 계산이나 알고리즘보다는 전반적인 통합의 개념

 

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

  • ITU와 ISO가 공동 결성한 JVT(Joint Video Team)에 의해 MPEG-2, MPEG-4, H.263을 개선한 코덱
  • MPEG-4 AVC, MPEG-4 Part10 이라고도 함

 

HEVC

  • H.264/AVC를 이을 차세대 비디오 코덱
  • H.264에 비해 35% - 40% 효율 향상

 

AAC Audio Codec

  • MPEG-4 AAC LC (Low Complexity)
    • 흔히 우리가 알고 있는 AAC. MPEG-2 AAC에서 업그레이드
    • 높은 Bitrate에서 좋은 음질로 압축 가능
    • 높은 압축률에도 불구하고 채널 당 32kbps 이하로 압축할 경우 음질이 급격히 떨어지는 단점이 있음
  • HE-AAC(High Effeciency). AAC+
    • AAC의 낮은 bitrate에서 음질이 급격히 떨어지는 단점 개선
    • 높은 Bitrate보다는 낮은 Bitrate에서 주로 사용
  • OPUS
    • 국제 인터넷 표준화 기구인 IETF에서 표준화한 Audio Open Codec
    • VolP 기반으로 개발된 코덱으로 WebRTC를 통해 점차 보급되는 추세
  • AC3
    • MPEG 표준이 아님, 미국의 Dolby 연구소에서 개발. 5.1 채널 지원. DVD에서 사용

 

무손실 압축과 손실 압축

 

무손실 압축

  • 화질, 데이터 손실 없이 압축
  • 압축 데이터를 다시 복원했을 때, 압축되기 이전 원래 데이터와 모든 비트 일치

 

손실 압축

  • 화질이나 데이터의 손실을 가져오는 압축
  • 영상에서 중복되거나 상대적으로 덜 중요한 부분의 정보를 제거하여 압축

 

동영상 스트리밍 서비스 종류

 

레거시 스트리밍 서비스

  • Microsoft MMS 프로토콜, Adobe RTMP, 표준 RTSP 프로토콜 사용
  • 프로토콜 별 전용 서버 사용에 따른 비용 증가 및 방화벽, NAT, 공유기 환경에서의 재생 이슈로 인해 시장에서 점차 퇴출 (HTTP 기반 프로토콜만 살아남음)
  • Ex) MS의 WMS, Adobe의 FMS(AMS), Wowza, RED5 Pro

 

HTTP 기반 스트리밍 서비스 (Pseudo Streaming, HLS, DASH)

  • MP4 Progressive Download
    • MP4 동영상 파일을 별다른 가공 없이 그대로 전송
    • Adaptive Streaming 지원 X, Live 서비스에 적용 X
    • 광고나 Hot Clip 같은 짧은 미디어 컨텐츠 전송에 유리
  • Apple HLS (HTTP Live Streaming)
    • 하나의 동영상 파일을 물리적으로 여러 개의 파일로 나눈 후, 각각의 나눠진 파일을 HTTP 프로토콜 이용해 순차적 전송
    • Adaptive Streaming 및 Live 서비스에도 적용 가능

 

HLS 서비스

  • m3u8
    • Manifest 파일
    • MP3에서 사용되던 Playlist 파일인 m3u애서 동영상 Streaming 서비스를 위한 추가적인 정보를 포함하고 규격을 확장한 포맷
    • Live와 VOD의 m3u8 태그 차이는 마지막 라인에 #EXT-X-ENDLIST 태그 유무
    • Live의 경우는 Player가 m3u8 Playlist에 포함되어 있는 ts파일을 재생하면서 다시 서버에 새로운 m3u8 지속적으로 요청
  • TS
    • MPEG-2 기반의 비디오나 오디오, 방송 채널 정보 등을 전송하기 위해 정의한 규격
    • 재생에 필요한 최소한의 헤더 정보와 Video/Audio 스트림 만을 가지고 있어 MP4와 비교하여 동영상 컨테이너가 가벼움
    • HLS에서 사용하는 TS는 MPEG-2 컨테이너 방식을 따르나 압축에 사용되는 코덱은 MPEG-2가 아닌 H.264와 AAC를 사용
    • Apple이 권장하는 각 TS 파일 길이 단위는 (Duration) 10초

 

Progressive Download vs HLS

  • 동영상 파일은 사이즈가 크기 때문에 HLS 같이 여러 개로 나눈 후 순차적으로 전송하는 방식이 효율적
  • Progressive Download 재생을 위해서는 MP4 파일 moov(Header)가 먼저 전송되어야 하는데, moov 크기는 파일 사이즈와 비례
  • moov 사이즈 크면, moov 전송으로 인한 초기 지연 발생 (특히 모바일 환경)
  • HLS 경우, 재생을 위해서는 MSE 기반의 HTML5 플레이어 사용해야 함

 

Adaptive Streaming

  • 사용자의 네트워크 속도에 따라 적합한 Bitrate 선택하여 동영상을 끊기지 않고 재생할 수 있는 기술
  • 네트워크 속도의 변화에 따라 화질이나 해상도 등은 떨어질 수 있지만 끊기지 않고 지속적 서비스 가능

 

Adaptive Streaming을 지원하는 서비스 종류

  • Apple의 HTTP Live Streaming (HLS)
  • Adobe의 HTTP Dynamic Streaming (HDS)
  • Microsoft의 Smooth Streaming (SS, MSS)
  • MPEG의 Dynamic Adaptive Streaming over HTTP (DASH)

 

HTTP 기반 Live Service 특징

  • HTTP를 사용하여 Cache 구조가 가능하여 확장성 및 유연성 향상에 장점
  • Legacy 대비 아직 Live Latency가 긴 단점이 있으나 점차적으로 보완중
  • Apple의 HLS와 MPEG의 DASH가 대표적으로 HTTP 기반 Live 서비스 지원
  • 브라우저의 HTML5나 모바일의 Native를 활용하면 Player 구현이 비교적 용이
  • Adaptive Streaming 이용하면 Client 네트워크 환경에 적합한 화질로 서비스 가능

 

HTTP 기반 VOD Service 특징

  • HTTP를 사용하여 Cache 구조 가능, 확장성 및 유연성 향상에 장점
  • 브라우저의 HTML5나 모바일의 Native를 활용하면 Player 구현이 비교적 용이
  • Adaptive Streaming을 활용하면 Client 네트워크 환경에 적합한 화질로 서비스 가능

 

Encoder

  • 영상을 입력 받는 H/W 부분과, 입력 받은 영상을 실시간으로 압축해서 Origin으로 송출하는 S/W 부분으로 구분
  • Legacy 및 HTTP 기반 모두 Live 서비스에서 RTMP 프로토콜 많이 사용
  • Ex) S/W - Adobe의 FMLE, OBS, Wirecast, vMix

 

미디어 기술 Trend

 

CMAF (fMP4)

  • Apple과 Microsoft이 합작하여 표준화한 동영상 규격
  • HLS와 MPEG-DASH에서 함꼐 사용될 수 있는 표준화된 동영상 컨테이너

 

CMAF 구조

  • CMAF로 표준화되기 전까지는 fMP4로 명칭 (Fragmented MP4)
  • 하나의 동영상 파일 자체가 내부적으로 Fragmented된 구조
  • MP4의 경우 서버와 플레이어에서 moov를 직접 파싱하고 chunk 처리 해야 하는데, fMP$는 이미 파일이 Fragmented된 구조라 이부분에 대한 Load가 상대적으로 적음

 

CMAF 장점

  • HLS TS 컨테이너보다 CDN 비용 절감
  • Chunked Encoding 통해 Low Latency Live 서비스 가능
  • 표준 포맷 통일에 의한 미디어 환경 전반에 걸친 효율성 증가에 따른 비용 절감 (Storage 절감, Packaging 비용 절감, Cache 효율성 증가)

 

CBR (Constant-Bit-Rate)

  • 고정 전송률
  • 기준 Bitrate를 고정적으로 사용
  • Bitrate 사용이 효율적이지 X
  • 파일 사이즈를 비교적 정확하게 예측 가능

 

VBR (Variable-Bit-Rate)

  • 가변 전송률
  • Bitrate를 그 때 그 때 화면 상태에 맞게 변화시켜 사용
  • Bitrate 사용 효율 높아서 CBR에 비해 화질 우수
  • Bitrate가 Spike 치는 경우, 예상치 못한 불안정한 전송 초래
    • QVBR
      • 사용자가 지정한 절대 화질에 맞춰 Bitrate를 변화시킴
      • 컨텐츠가 처음부터 끝까지 고르게 유지
      • 인코딩 전, 컨텐츠 파일 크기나 대역폭 예측 X

 

WebRTC (Web Real-Time Communication)

  • 웹 표준 영상통화 및 화상회의 서비스
  • 영상통화나 화상회의를 브라우저 사용자들끼리, 별도 프로그램 설치 없이 대화할 수 있게 해주는 실시간 통신 웹 표준
  • 웹 표준으로 Chrome, Firefox, Edge, Safari, Opera 등 대부분 브라우저에서 지원

 

MSE

  • HTML5 확장팩
  • HTML5 비디오 재생을 위한 입력 소스 확대를 위해 W3C에서 규격화한 JavaScript API
  • Javascript API 기반으로 미디어를 핸들링 가능
728x90

'Media' 카테고리의 다른 글

컨테이너와 코덱  (0) 2023.04.05
동영상의 구성  (0) 2023.04.03