인코딩(코딩) / 디코딩
인코딩은 정보를 특정 형식으로 변환하는 과정을 의미한다. 이는 데이터를 효율적으로 저장하거나 전송하기 위해 주로 사용된다. 예를 들어, 비디오 인코딩은 큰 용량의 원본 비디오 데이터를 작은 크기로 압축하는 과정을 말한다.
반면, 디코딩은 인코딩된 데이터를 원래의 형태로 복구하는 과정이다. 디코딩을 통해 우리는 인코딩된 비디오 파일을 원래의 화질로 볼 수 있게 된다.
간단히 말해, 인코딩은 정보를 효율적으로 다루기 위해 변환하는 과정이고, 디코딩은 변환된 정보를 원래대로 복구하는 과정입니다.
코덱
'코덱'은 '코더'와 '디코더'의 합성어로, 미디어 파일을 압축(인코딩)하거나 압축을 풀어 원래의 상태로 되돌리는(디코딩) 기술을 의미한다.
코덱은 미디어 데이터를 효율적으로 다루기 위한 도구이자, 그 방법을 정의한 규칙이라고 이해하실 수 있습니다.
- 액세스 단위 인코딩 또는 디코딩을 위한 하드웨어 또는 소프트웨어 구성요소
- 오디오 또는 동영상 샘플 형식 사양
ABR
ABR이란 Adaptive Bitrate Streaming의 줄임말로, '적응형 비트레이트 스트리밍'이라는 뜻이다. 이는 네트워크 상태와 장비 성능에 따라 스트리밍하는 미디어의 품질을 실시간으로 변경하여 각 트랙은 동일한 미디어를 다른 비트 전송률로 제공하는 기술을 말한다. 예를 들어, 네트워크 연결 상태가 좋을 때는 고화질의 비디오를 스트리밍하다가, 네트워크 상태가 나빠지면 자동으로 저화질의 비디오로 스트리밍을 전환한다. 이렇게 함으로써 버퍼링 없이 원활한 스트리밍 경험을 제공하는 것이 목표이다.
ABR 기술이 적용된 주요 프로토콜로는 DASH, HLS, SmoothStreaming 등이 있습니다.
컨테이너
이름 그대로 여러 가지 데이터를 담을 수 있는 '용기'와 같은 개념이다. 미디어 컨테이너는 비디오, 오디오, 자막, 메타데이터 등 다양한 종류의 미디어 데이터를 하나의 파일로 묶어서 저장한다. 이런 컨테이너 형식에는 MP4, Matroska(MKV), AVI, MOV 등이 있다.
각각의 미디어 데이터는 특정 코덱을 이용해 압축되어 있다. 예를 들어, MP4 파일 하나 안에는 H.264로 압축된 비디오 트랙과 AAC로 압축된 오디오 트랙이 함께 저장 될 수 있다.
그러나 일 부 비디어 형식은 컨테이너 형식이자 동시에 코덱이기도 하다. MP3가 대표적인 예이다. MP3는 오디오 데이터를 압축하는 코덱이자, 압축된 오디오 데이터를 저장하는 파일 형식이기도 하다. 이런 경우, 컨테이너와 코덱이 분리되어 있지 않고 하나로 합쳐저 있다.
액세스 단위
'액세스 단위'는 미디어 컨테이너 내부의 데이터 조각을 의미한다. 이는 소비자에게 표현할 수 있는 압축된 미디어의 작은 부분을 가리킨다.
예를 들면, 동영상의 경우 '액세스 단위'는 한 장의 사진처럼 보여질 수 있는 비디오의 최소 단위를 의미하며, 오디오의 경우 '액세스 단위'는 재생이 가능한 오디오의 작은 부분을 가리킨다.
이렇게 액세스 단위로 나워진 데이터는 디코딩 과정을 거쳐, 사용자에게 표시되거나 소리로 들린다. 이를 통해 우리는 동영상을 볼 수 있고, 음악을 들을 수 있다.
AV1
AV1은 AOMedia Video 1의 약자로, 열린 영상 압축 포맷을 목표로 하는 미디어 코덱입니다. Alliance for Open Media라는 컨소시엄에 의해 개발되었으며, 이 컨소시엄에는 Google, Amazon, Cisco, Microsoft, Mozilla, Netflix 등이 포함되어 있습니다.
AV1은 이전 세대의 비디어 코덱인 VP9, HEVC(H.265)에 비해 약 30% 더 효율적인 비디오 압축을 제공하며, 이를 통해 같은 품질의 비디오를 더 적은 데이터로 전송 할 수 있다.
특히, AV1 코덱은 저작권료를 부과하지 않는 라이센스 정책을 가지고 있어, 이를 활용한 비디오 스트리밍 서비스 제공자나 하드웨어 제조사들이 추가 비용 없이 이 기술을 채택할 수 있게 만들었다.
하지만 AV1 코덱의 단점은 인코딩 속도가 느리다는 점이다. 이는 AV1 코덱이 높은 압축 효율을 위해 복잡한 알고리즘을 사용하기 때문이며, 이로 인해 높은 컴퓨팅 자원이 필요하다. 이런 이유로 AV1 코덱은 아직 일부 영상 서비스나 최신 하드웨어에서만 활용되고 있다.
※ 열린 영상 압축 포맷 : 디지털 자료 저장을 위한 규격으로 보통 사유가 아닌 표준 조직이 관리하며 사용에 법적 제한이 없다.
AVC
AVC는 Advanced Video Coding의 약자로, H264라고 불린다. 이는 동영상 데이터를 압축하여 효율적으로 저장하고 전송하기 위한 기술이다. AVC(H.264)는 우리 일상에서 많이 사용하는 동영상 포맷 중 하나로, 고화질 비디오를 상대적으로 작은 파일 크기로 압축 할 수 있어 인터넷을 통한 스트리밍등 다양한 분야에서 사용되고 있다.
간단히 말하면 AVC(H.264)는 동영상 파일을 작게 만들어 저장 공간을 절약하고, 빠르게 전송할 수 있도록 도와주는 동영상 압축 기술이다.
HEVC
HEVC는 High Efficiency Video Coding의 약자로, H.265라고도 알려져 있다.
HEVC(H.265)는 AVC(H.264)의 후속 버전으로 개발되었다. 그래서 AVC에 비해 더 효율적으로 동영상을 압축할 수 있다. 즉, 같은 화질의 동영상을 더 작은 파일 크기로 만들거나, 같은 파일 크기로 더 높은 화질의 동영상을 만들 수 있다.
하지만, HEVC는 압축 및 복원 과정이 조금 더 복잡하기 때문에 AVC보다 더 많은 컴퓨팅 자원을 필요로 합니다. 따라서, 재생 장치의 성능이나 코덱을 지원하는 소프트웨어에 따라 AVC를 사용하는 것이 더 적합할 수도 있습니다.
간단히 말하면, HEVC는 AVC의 업그레이드 버전으로, 더 효율적인 동영상 압축을 가능하게 하는 코덱입니다.
DASH
HTTP를 통한 동적 ABR 업계 중심의 적응형 스트리밍 프로토콜이며 자세한 내용는 링크를 참고
DRM
DRM이라는 것은 '디지털 권한 관리(Digital Rights Management)'의 약자이다.
이는 디지털 콘텐츠(예를 들어 음악, 영화, 책 등)의 저작원을 보호하기 위한 기술이다. DRM은 콘텐츠를 구매하거나 대여한 사용자만이 해당 콘텐츠를 이용할 수 있도록 제어한다. 예를 들어 온라인에서 음악을 구매하면 그 음악 파일을 재생할 수 있지만, DRM기술이 적용되어 있다면 그 파일을 다른 사람에게 공유하거나 복사하는 것을 제한할 수 있다.
간단히 말하면, DRM은 디지털 콘텐츠의 불법 복제를 막고, 저작권을 보호하기 위한 도구이다.
Gapless playback
'Gapless playback'은 음악 트랙 간의 중단 없는 재생을 의미한다.
일반적으로 음악 파일이나 CD를 재생할 때, 한 곡이 끝나고 다음 곡이 시작하기 전에 잠시의 정지나 '갭'이 발생한다. 하지만 'gapless playback' 기능이 있는 재생기를 사용하면, 이런 갭 없이 연속적으로 음악을 들을 수 있다.
HLS
"HLS(HTTP Live Streaming)"는 Apple이 개발한 동영상과 오디오를 스트리밍하는 방식이다.
"스트리밍"이라는 것은 영상이나 음악을 실시간으로 인터넷을 통해 보거나 듣는 것을 말한다. 그런데 실시간으로 데이터를 전송받으면서 품질이 좋은 영상을 보려면 많은 데이터를 빠르게 받아야 하는데, 이는 인터넷 환경에 따라 어려울 수 있다.
여기서 "적응형 스트리밍"이라는 기술이 사용된다. 이는 사용자의 인터넷 환경에 따라 영상의 품질을 자동으로 조절하는 기술이다. 이를 통해 끊김 없이 영상을 볼 수 있게 해주며, 이를 가능하게 하는 것이 바로 HLS 프로토콜이다.
즉, HLS는 Apple이 만든 기술로, 사용자의 인터넷 상태에 따라 자동으로 영상 품질을 조절하며, 이를 통해 끊김 없이 영상을 볼 수 있게 해주는 방식을 말한다. 이 기술은 다양한 스트리밍 서비스에서 사용되고 있다.
매니페스트(Manifast)
매니페스트는 인터넷에서 동영상을 보는데 필요한 구조와 위치를 정의하는 파일이다. 동영상을 인터넷에서 시청할 때, 하나의 큰 파일이 아니라 여러 작은 조각들로 이뤄져 있다. 이 작은 조각들을 당신의 기기가 내려받아 순서대로 재생할 수 있도록 도와주는 것이 매니페스트이다.
매니페스트는 동영상 조각들이 어디에 있는지, 어떻게 정리되어 있는지를 알려주는 안내서 역할을 한다. 이것은 DASH, HLS, 그리고 Smooth Streaming과 같은 다양한 스트리밍 기술에서 사용된다. 이러한 기술들은 인터넷을 통해 동영상을 전달하는 다양한 방법들을 나타낸다.
따라서 매니페스트는 동영상 조각들을 올바른 순서로 가져와 재생하는 방법을 기기에 알려주는 중요한 파일이다. AndroidManifest와 혼동되어서는 안 되는데, AndroidManifest는 안드로이드 앱에서 다른 목적으로 사용되는 파일이기 때문이다. 동영상 매니페스트는 주로 온라인 동영상의 조직과 재생을 위한 것이다.
MPD
DASH(동적 적응형 스트리밍)에서 사용되는 MPD는 매니페스트 파일 형식 중 하나이다. MPD는 미디어 프레젠테이션 설명이라 불리며, 간단히 말하면 동영상이 어떻게 조각나고 어떻게 재생되어야 하는지를 설명하는 파일이다.
MPD 파일은 동영상을 작은 조각들로 나누어서 제공하고, 이를 어떻게 조합하여 재생할지에 대한 정보를 담고 있다. 이는 네트워크 상황이나 디바이스의 성능에 따라 동영상 품질을 자동으로 조절하여 최적의 시청 경험을 제공하는 데 도움을 준다.
간단히 말하면, MPD 파일은 DASH 스트리밍에서 동영상을 재생하기 위한 사용자 가이드 역할을 하는 것이다. 이 파일을 통해 동영상이 어떻게 분할되고 어떻게 조절되는지에 대한 정보를 확인할 수 있다.
펄스 부호 변조(PCM)
"펄스 부호 변조(Pulse Code Modulation, PCM)"은 사운드나 음성과 같은 아날로그 신호를 디지털 신호로 변환하는 방식을 말한다.
이는 아날로그 신호를 일정한 간격으로 샘플링하고, 각 샘플링한 점을 디지털 코드로 변환하는 과정을 거쳐 이루어진다. 즉, 연속적인 아날로그 신호를 디지털 데이터로 바꾸는 방법이다.
이런 방식을 사용하면, 음성이나 사운드를 디지털 기기에서 처리하거나 저장하고, 전송할 수 있게 된다. 이 방식은 CD나 DVD, 디지털 오디오 방송, 음성 전화 등 다양한 분야에서 사용되고 있다.
간단히 말해서, PCM은 우리가 듣는 소리를 컴퓨터가 이해할 수 있는 디지털 정보로 바꾸는 기술이라고 할 수 있습니다.
미디어 파일의 구조(Category)
미디어 파일이란, 우리가 흔히 보는 동영상이나 음악 파일 등을 말한다. 이러한 파일은 여러 '트랙'이라는 요소로 구성되어 있다. 예를 들어, 동영상 파일은 영상을 담당하는 '비디오 트랙'과 소리를 담당하는 '오디오 트랙'으로 이루어져 있다. 또한, 언어에 따라 다른 오디오 트랙을 가질 수도 있다.
그리고 '적응형 스트리밍'이라는 기술을 사용하면, 같은 콘텐츠를 다른 품질로 제공하는 여러 트랙을 가질 수 있다. 이는 인터넷 환경에 따라 동영상의 품질을 조절하여 최적의 시청 경험을 제공하기 위한 방법이다.
즉, 미디어 파일은 여러 트랙으로 이루어져 있으며, 이 트랙들은 각각 다양한 역할을 해서 우리가 보고 듣는 미디어 콘텐츠를 만들어내는 것이다.
출처
https://developer.android.com/guide/topics/media/exoplayer/glossary?hl=ko
https://developer.android.com/reference/android/media/AudioTrack
'Android > 오디오 및 비디오' 카테고리의 다른 글
Jetpack Media3 (0) | 2023.11.15 |
---|---|
미디어 용어 사전2 - Android (0) | 2023.11.14 |
ExoPlayer / Player (0) | 2023.11.06 |
MPEG-DASH 란 (1) | 2023.11.03 |
DroidKnights - Jetpack Media3로 좋은 콘텐츠 소비 경험 구현하기 (0) | 2023.11.02 |