반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

코딩하기 좋은날

ExoPlayer Glossary(용어 정리) 본문

ExoPlayer

ExoPlayer Glossary(용어 정리)

huiung 2022. 2. 23. 23:09
반응형

https://exoplayer.dev/glossary.html

 

Glossary - ExoPlayer

 

exoplayer.dev

위의 공식문서에 나오는 media 및 Android에서 영상 처리를 위해 사용되는 용어에 대해 정리(번역)해보려고 한다.

General - Media

ABR

Adaptive Bitrate의 약어. ABR 알고리즘은 playback 동안 여러 track중 선택하는 알고리즘으로, 각각의 track은 동일한 media를 표시하지만 bitrate는 다르다.

 

Adaptive streaming

Adaptive streaming에서는 multiple track을 사용할 수 있다. 선택된 track은 playback 동안 ABR 알고리즘을 이용하여 동적으로 선택된다.

 

Access unit

media container 내의 하나의 data item. 일반적으로 decoding되어 사용자에게 제공될 수 있는 압축된 media bitstream의 작은 조각(a video picture or fragment of playable audio)을 나타낸다.

 

AV1

AOMedia Video 1 codec

 

feat) MP4, AVI, MKV 등은 컨테이너 포맷(미디어 코덱과 오디오 코덱 자막을 위한 데이터 등을 모아놓은 컨테이너) AV1 은 Video 코덱의 한종류, 오디오 코덱또한 여러가지가 있다.

VP9 및 H.265 대비 약 30%의 데이터 레이트 절감이라는 목표로 개발이 진행되었는데 해당 목표는 달성했다.

다만 인코딩 시간이 HV9에 비해 16배 오래 걸린다. H.265다음으로 나온 H.266은 데이터 레이트 50% 절감 및 인코딩 시간이 10배 수준이나, 유로 라이선스이기 때문에 AV1이 대중화 할만한 시간은 남아 있는 걸로 보고 있다.

참조

https://namu.wiki/w/AV1

 

AVC

Advanced Video Coding, also known as the H.264 video codec

 

Codec

이 용어는 상황에 따라, 여러가지 의미를 가질 수 있다. 다음의 두 정의는 가장 흔히 사용되어지는 정의다.

  • access unit을 encoding 하거나 decoding 하는 Hardware 또는 Software component
  • Audio 또는 Video sample format specification(사양)

Container

MP4 나 Matroska(MKV)와 같은 media container format

이러한 format은 각 track이 특정 codec(예: MP4 파일의 AAC audio 및 H.264 video)을 사용하는 하나 이상의 미디어 track을 포함하기 때문에 container foramt이라고 부른다.

일부 media format은 container format이자 codec이다(예: MP3).

 

DASH

HTTP를 통한 Dynamic Adaptive Streaming. 업계 중심의 adaptive streaming protocol이다. ISO/IEC 23009에 의해 정의된다.

 

DRM

Digital Rights Management

 

Gapless playback(끊김없는 재생)

track 사이의 silent gap을 피하기 위해 track의 끝 및/또는 다음 트랙의 시작을 건너뛰는 프로세스

 

HEVC

H.265 Video codec이라고도 하는 High efficiency Video coding

 

HLS

HTTP Live Streaming. Apple’s adaptive streaming protocol

 

ManiFest

adaptive streaming protocol에서 meida의 구조와 위치를 정의하는 파일. 예로는 DASH MPD 파일, HLS 마스터 재생 목록 파일 및 Smooth Streaming 매니페스트 파일이 있다. Android의 ManiFest 파일과 혼동하지 말것.

 

MPD

Media Presentation Description의 약어. DASH adaptive streaming protocol에서 사용되는 ManiFest 파일 형식.

 

PCM

Pulse-Code Modulation의 약어.

 

Smooth Streaming

Microsoft의 adpative streaming protocol.

 

Track

media 조각내의 단일 audio, video, text 또는 metadata stream. 한 media file은 종종 multiple tracks을 포함한다. 예를 들어, video file 내의 video track 과 audio track, 또는 다국어를 위한 multiple audio track.

adaptive straming에는 동일한 content를 포함하지만 다른 bitrate를 가지는 multiple track이 포함되어 있다.

General - Android

AudioTrack

An Android API for playing audio.

 

CDM

Content Decryption Module의 약어. DRM protected content의 decrypting을 담당하는 Android 플랫폼의 component다.

CDM은 Android의 MediaDrm API를 통해 액세스된다.

 

IMA

Interactive Media Ads의 약어. IMA는 멀티미디어 광고를 앱에 쉽게 통합할 수 있는 SDK다.

 

MediaCodec

플랫폼의 media codec(예: encoder 및 decoder components)에 액세스하기 위한 Android API.

 

MediaDrm

플랫폼에서 CDM에 액세스하기 위한 Android API다.

 

Audio offload

압축된 audio를 장치에서 제공하는 DSP(디지털 신호 프로세서)로 직접 보내는 기능. audio offload 기능은 low power audio playback에 유용하다.

 

Passthrough

먼저 decoding하지 않고 HDMI를 통해 직접 압축 audio를 보내는 기능. 예를 들어 Android TV에서 5.1 서라운드 사운드를 재생하는 데 사용됩니다.

 

Surface

Surface and SurfaceHolder

 

Tunneling

Android 프레임워크가 압축된 비디오 및 압축된 또는 PCM 오디오 데이터를 수신하고 이를 디코딩, 동기화 및 렌더링하는 책임을 지고 애플리케이션에서 일반적으로 처리하는 일부 작업을 인수하는 프로세스

터널링은 audio to video(AV) synchronization을 개선하고 비디오 재생을 원활하게 하며 애플리케이션 프로세서의 부하를 줄일 수 있습니다. Android TV에서 주로 사용됩니다

ExoPlayer

               Figure 1. ExoPlayer architecture overview

Figure 1. ExoPlayer rendering overview

 

BandwidthMeter

data 전송을 수신하는 것과 같은 network bandwith를 예상하는 component. adaptive streaming에서 bandwidth estimates는 재생중에 다른 bitrate track을 선택하는데 사용할 수 있다.

 

DataSource

data를 요청하기 위한(http, local file 등등) component

 

Extractor

media container format을 파싱하는 component. decoder에 의해 consumption 하기 적합한 각 track에 속하는 개별 access unit 및 track 정보를 출력하는 단계를 포함한다.

 

LoadControl

로딩 시작과 정지, 재생(playback) 시작 시점을 결정하는 component

 

MediaSource

media structure(timeline)에 대한 high-level information을 제공하고 재생을 위한 MediaPeriod 인스턴스(timeline의 period와 일치하는)를 생성한다.

 

MediaPeriod

단일 미디어(예: audio file, ad, 두 ad 사이에 삽입된 콘텐츠 등)를 로드하고 로드된 미디어를 읽을 수 있도록 한다(일반적으로 Renderers에 의해). 미디어 내의 어떤 track이 load되고 load start 및 stop 시점에 대한 결정은 각각 TrackSelector 및 LoadControl에 의해 이루어진다.

 

Renderer

media samples를 읽고, 디코딩하고, 렌더링하는 component. Surface와 AudioTrack은 Video와 Audio가 rendering되는 표준 Android platform의 component다.

 

Timeline

단일 미디어 파일과 같은 단순한 경우부터 재생 목록 및 삽입 광고가 있는 스트림과 같은 복잡한 미디어 구성에 이르기까지 media structure를 나타낸다.

 

TrackGroup

하나 또는 그이상의 동일한 video, audio, text content를 포함하는 Group, 일반적으로 adaptive streaming을 위한 다른 bitrate를 뜻한다.

 

TrackSelection

Adaptive streaming에서 TrackSelection은 새로운 media chunk가 로드를 시작할때마다 적절한 track을 선택할 책임이 있다.

 

TrackSelector

재생을 위한 track을 선택한다. player의 renderer기능과 함께 재생될 MediaPeriod에 대한 track 정보가 주어지면 TrackSelector는 각 renderer에 대한 TrackSelection을 생성한다.

반응형