코덱

코덱()은 데이터 스트림 또는 신호를 인코딩하거나 디코딩하는 컴퓨터 하드웨어 또는 소프트웨어 구성 요소이다. 코덱은 coder/decoder의 혼성어이다.

전자 통신에서 엔덱(endec)은 신호 또는 데이터 스트림에서 인코더와 디코더 모두의 역할을 하는 장치이며, 따라서 코덱의 일종이다. 엔덱은 encoder/decoder의 혼성어이다.

코더 또는 인코더는 전송 또는 저장을 위해 데이터 스트림 또는 신호를 암호화된 형태로 인코딩하며, 디코더 기능은 재생 또는 편집을 위해 인코딩을 역변환한다. 코덱은 화상 회의, 스트리밍, 영상 편집 애플리케이션에 사용된다.

 역사 

원래 20세기 중반에 코덱은 펄스 부호 변조 (PCM)를 사용하여 아날로그 신호를 디지털 형태로 코딩하는 하드웨어 장치였다. 나중에 이 용어는 압신 기능을 포함하여 디지털 신호 형식 간의 변환을 위한 소프트웨어에도 적용되었다.

 예시 
오디오 코덱은 아날로그 오디오 신호를 전송을 위해 디지털 신호로 변환하거나 저장을 위해 인코딩한다. 수신 장치는 재생을 위해 오디오 디코더를 사용하여 디지털 신호를 다시 아날로그 형태로 변환한다. 개인용 컴퓨터의 사운드 카드에 사용되는 코덱이 그 예이다. 영상 코덱은 비디오 신호에 대해 동일한 작업을 수행한다.

적외선 데이터 협회(IrDA) 프로토콜을 구현할 때, UART와 광전 시스템 사이에 엔덱이 사용될 수 있다.

 압축 

신호를 인코딩하는 것 외에도 코덱은 전송 대역폭이나 저장 공간을 줄이기 위해 데이터를 압축할 수도 있다. 압축 코덱은 주로 손실 압축 코덱과 비손실 압축 코덱으로 분류된다.

비손실 코덱은 원본 스트림에 있는 모든 정보를 유지하면서 데이터를 압축된 형태로 보관하는 데 자주 사용된다. 스트림의 원본 품질을 보존하는 것이 그에 상응하는 더 큰 데이터 크기를 제거하는 것보다 더 중요한 경우 비손실 코덱이 선호된다. 특히 데이터가 추가 처리(예: 편집)를 거쳐야 하는 경우에 해당한다. 이 경우 손실 코덱에 대한 처리(인코딩 및 디코딩)를 반복적으로 적용하면 결과 데이터의 품질이 저하되어 더 이상 식별할 수 없게 된다(시각적으로, 청각적으로 또는 둘 다). 두 개 이상의 코덱 또는 인코딩 방식을 연속적으로 사용하는 것도 품질을 크게 저하시킬 수 있다. 저장 용량 및 네트워크 대역폭 비용의 감소는 일부 미디어에 대한 손실 코덱의 필요성을 줄이는 경향이 있다.

많은 인기 있는 코덱은 손실 코덱이다. 이들은 압축을 최대화하기 위해 품질을 감소시킨다. 코덱과 사용된 설정에 따라 이러한 유형의 압축은 종종 원본 비압축 사운드 또는 이미지와 거의 구별할 수 없다. 디지털 미디어에서 가장 널리 사용되는 손실 데이터 압축 기술은 이산 코사인 변환(DCT)을 기반으로 하며, JPEG 이미지, H.26x 및 MPEG 비디오, MP3 및 AAC 오디오와 같은 압축 표준에 사용된다. 더 작은 데이터 세트는 비휘발성 메모리 및 하드 디스크와 같은 비교적 비싼 저장 서브 시스템뿐만 아니라 CD-ROM, DVD, 블루레이 디스크와 같은 WORM 디스크 포맷의 부담을 덜어준다. 낮은 비트레이트는 또한 데이터가 인터넷을 통해 전송될 때 비용을 절감하고 성능을 향상시킨다.

 미디어 코덱 

코덱에는 펄스 부호 변조와 델타 변조의 두 가지 주요 기술이 사용된다. 코덱은 종종 인코딩될 미디어의 특정 측면을 강조하도록 설계된다. 예를 들어, 스포츠 이벤트의 디지털 비디오(DV 코덱 사용)는 움직임을 잘 인코딩해야 하지만 정확한 색상은 필수가 아닐 수 있는 반면, 미술 전시회의 비디오는 색상과 표면 질감을 잘 인코딩해야 한다.

휴대폰용 오디오 코덱은 소스 인코딩과 재생 사이에 매우 낮은 지연 시간을 가져야 한다. 이와 반대로, 녹음 또는 방송용 오디오 코덱은 높은 지연 시간의 오디오 압축 기술을 사용하여 낮은 비트레이트에서 더 높은 충실도를 달성할 수 있다.

수천 개의 오디오 및 비디오 코덱이 있으며, 비용은 무료부터 수백 달러 이상까지 다양하다. 이러한 코덱의 다양성은 호환성 및 노후화 문제를 일으킬 수 있다. 오래된 형식의 경우 무료 또는 거의 무료인 코덱이 오랫동안 존재했기 때문에 그 영향이 덜하다. 그러나 오래된 형식은 작은 휴대용 장치에서 재생하는 것과 같은 최신 애플리케이션에는 적합하지 않은 경우가 많다. 예를 들어, 원시 비압축 PCM 오디오(44.1 kHz, 16비트 스테레오, 오디오 CD 또는 .wav 또는 .aiff 파일에 표현됨)는 오랫동안 여러 플랫폼에서 표준이었지만, 네트워크를 통한 전송은 오푸스 및 MP3와 같은 최신 압축 형식에 비해 느리고 비싸다.

많은 멀티미디어 데이터 스트림에는 소리와 비디오가 모두 포함되어 있으며, 종종 오디오와 비디오의 동기화를 허용하는 일부 메타데이터도 포함된다. 이 세 가지 스트림은 각각 다른 프로그램, 프로세스 또는 하드웨어에 의해 처리될 수 있지만, 저장되거나 전송된 형태로 멀티미디어 데이터 스트림이 유용하려면 컨테이너 형식으로 함께 캡슐화되어야 한다.

낮은 비트레이트 코덱은 더 많은 사용자를 허용하지만, 더 많은 왜곡을 발생시킨다. 초기 왜곡 증가 외에도 낮은 비트레이트 코덱은 미디어 및 패킷 손실률에 대한 특정 가정과 같은 더 복잡한 알고리즘을 사용하여 낮은 비트레이트를 달성한다. 다른 코덱은 동일한 가정을 하지 않을 수 있다. 낮은 비트레이트 코덱을 사용하는 사용자가 다른 코덱을 사용하는 사용자와 통신할 때, 각 트랜스코드로 인해 추가적인 왜곡이 발생한다.

오디오 비디오 인터리브(AVI)는 때때로 잘못 코덱으로 설명되지만, AVI는 실제로 컨테이너 형식이며, 코덱은 오디오 또는 비디오를 특정 오디오 또는 비디오 형식으로 인코딩하거나 디코딩하는 소프트웨어 또는 하드웨어 도구이다. 많은 코덱으로 인코딩된 오디오 및 비디오는 AVI 컨테이너에 넣을 수 있지만, AVI는 ISO 표준이 아니다. Ogg, ASF, 퀵타임, 리얼미디어, Matroska, DivX 미디어 포맷과 같은 다른 잘 알려진 컨테이너 형식도 있다. MPEG 트랜스포트 스트림, MPEG 프로그램 스트림, MP4, ISO 기본 미디어 파일 포맷은 ISO 표준화된 컨테이너 형식의 예이다.

 악성 소프트웨어 
가짜 코덱(fake codec)은 온라인 사용자가 특정 유형의 코덱을 사용하여 바이러스 및 기타 악성 소프트웨어를 압축되는 데이터에 설치하고 이를 위장으로 사용하는 경우에 사용된다. 이 위장은 팝업 알림 또는 광고를 통해 코덱 다운로드로 나타난다. 사용자가 해당 코덱을 클릭하거나 다운로드하면 악성 소프트웨어가 컴퓨터에 설치된다. 가짜 코덱이 일단 설치되면 종종 개인 데이터에 접근하거나 전체 컴퓨터 시스템을 손상시키거나 악성 소프트웨어를 계속 확산시키는 데 사용된다. 이전에 악성 소프트웨어를 확산시키는 가장 많이 사용된 방법 중 하나는 가짜 AV 페이지였으며, 코덱 기술의 발전과 함께 온라인 사용자를 악용하기 위해 두 가지 모두 함께 사용되었다. 이 조합을 통해 가짜 코덱은 팝업 광고, 바이러스/코덱 경고 또는 기사에 연결된 웹사이트를 통해 장치에 자동으로 다운로드될 수도 있다.

 같이 보기 
 모뎀
 데이터 압축

 각주 

 
분류:데이터 압축
분류:디지털 신호 처리