티스토리 뷰
728x90
반응형
인턴쉽을 진행하며, iOS에서의 비디오 처리기술에 대한 공부를 진행하고 있습니다.
그 중 가장 먼저 알아봐야 할, 코덱에 대해 개인적으로 공부하고 정리한 글입니다.
코덱이란?
코덱은 coder-decoder의 약자이다.
오디오 & 비디오 신호와 같은 디지털 데이터를 특정 형식으로 인코딩 및 디코딩 하는 SW & HW 장치
인코딩. 디코딩 개념
[ 인코딩 ]
- 인코딩이란 전송 or 저장을 용이하게 하기 위해 정보를 한 형식에서 다른 형식으로 변환하는 process 이다.
- 변환 하고자하는 data의 종류와, 인코딩의 목적에 따라 다른 방식으로 수행 가능하다.
- ex1) 라디오 신호와 같은 노이즈가 가득한 소통 채널을 통해 text를 전송하는 과정.
- 데이터를 전송하는 과정에서 노이즈로 인한 오류를 방지하기 위해 text에 중복성을 추가하는 인코딩 방식을 사용할 수 있다.
- feat. 중복성 추가란?
- → 오류에 대한 안정성 또는 복원력을 향상시키기 위해 data에 추가정보를 도입하는 것
- 데이터를 전송하는 과정에서 노이즈로 인한 오류를 방지하기 위해 text에 중복성을 추가하는 인코딩 방식을 사용할 수 있다.
- ex2) 이미지의 효율적인 저장을 위해 이미지를 인코딩 하는 경우
- 이때, 이미지 파일의 크기를 줄이는 압축 알고리즘을 사용할 수 있다.
→ 중복성을 제거하고, 나머지 데이터를 최적화하여 압축하는 JPEG 방식
- 이때, 이미지 파일의 크기를 줄이는 압축 알고리즘을 사용할 수 있다.
[ 디코딩 ]
- data를 실제 사용자가 사용할 수 있도록, 인코딩 프로세스를 역으로 수행하는 프로세스
- 인코딩된 정보는 수신자가 직접 이해하거나, 사용할 수 있는 형식이 아닐 수 있으므로 디코딩이 필요
- ex1) 이메일 text를 받으면 client가 메시지를 해독하여 원본 text를 표시함
- ex2) 스트리밍 서비스에서, 서버에서 받은 data를 디코딩하여 사람이 보고 들을 수 있는 시각적&청각적 콘텐츠를 생성한다
- 인코딩된 정보는 수신자가 직접 이해하거나, 사용할 수 있는 형식이 아닐 수 있으므로 디코딩이 필요
코덱과 컨테이너의 관계
[ 컨테이너 ]
- 오디오, 비디오 또는 자막과 같은 하나 이상의 digital data stream을 포함하는 파일형식이다.
- 비디오의 해상도, 오디오의 형식 및 자막의 언어와 같이
Stream의 Contents를 설명하는 META-DATA 뿐 아니라 Data Stream을 유지하고 구성하는 역할을 한다
[ 코덱과 컨테이너의 연관성]
- 코덱은, data를 압축 및 압축해제하는 데 사용되는 반면, 컨테이너는 압축된 data stream을 유지하고 구성해준다.
- 즉, 컨테이너가 코덱을 사용하여 압축된 데이터를 Stream으로 유지시켜주고 이렇게 연결되어 있는 Stream의 data를 다시 디코딩 하는데 코덱을 사용해준다.
728x90
반응형
댓글