코덱(영어: codec)은 어떠한 데이터 스트림이나 신호에 대해, 인코딩이나 디코딩, 혹은 둘 다를 할 수 있는 하드웨어나소프트웨어를 일컫는다. 또, 이를 위한 알고리즘을 가리키는 용어로도 쓰인다. 전기 통신분야의 용어로는 디지털 회신, 곧 송수신 장치를 뜻하였으며, "부호기", "복호기"를 합쳐 불렀다.
코덱에는 데이터 압축 기능을 사용하여 자료를 압축하거나 압축을 푸는 소프트웨어나, 소리, 동영상 등의 자료를 다른 형식으로 변환하는 장치 및 소프트웨어가 포함된다.
코덱의 어원은 다음의 세 가지를 들 수 있다[출처 필요]:
- Compressor/Decompressor
- Coder/Decoder
- Compression/Decompression algorithm
- 손실 코덱: 대부분의 유명한 코덱들이 손실 코덱을 사용하는데, 이는 품질을 떨어뜨려 압축을 수행하는 것을 뜻한다. 사용되는 코덱과 설정에 따라 압축되지 않은 원음과 실제로 차이를 느끼기가 쉽지 않다.[1]
데이터 압축 구현 | |||||||||
영상
코덱 |
| ||||||||
음성
코덱 |
| ||||||||
압축 |
| ||||||||
압축 형식에서는 형식에 대해서, 압축 방식에서는 방식에 대해서 확인하세요. |
코덱 ( Codec )은 인코딩 방식 을 사용하여 데이터 의 인코딩 (encode) 및 디코딩 (암호)를 양방향으로있는 장치 및 소프트웨어 등 수 [1] [2] [3] [4] [5] . 또한이를위한 알고리즘 을 지칭하는 용어로 사용되고있다 [6] [7] [8] [9] .
코덱은 데이터 압축 기능을 사용하여 데이터를 압축 · 신장하는 소프트웨어 또는 음성 이나 동영상 등의 데이터를 다른 형식으로 변환하는 장치 및 소프트웨어가 포함된다.
코덱은 원래 데이터를 디지털 통신 회선 에서 송수신하기위한 장치를 의미하는 통신 분야의 용어였다. 어원은 Co der /dec oder의 약어이다.
다양한 코덱 [ 편집 ]
현재는 디지털 기기와 개인용 컴퓨터 (PC) 등의 발달로 코덱이라고하면 디지털 신호 사이와 디지털 데이터 간의 변환을 실시하는 것을 가리키는 경우가 많다. 옛날에는, 예를 들면, 음성 코덱, 오디오 코덱라고 부르는 경우, 디지털 신호와 아날로그 신호를 변환하는 DA 컨버터 , AD 컨버터 를 말합 있었다.
1980 년대 에 디지털 이미지를 압축하여 모뎀을 통해 아날로그 회선 통신 기술과 디지털 회선을 사용하여 음성이나 화상 등의 통신 기술이 본격적으로 실용화되고 이러한 작업을 수행 집적 회로 (IC)가 등장했다. 음성 부호 · 해독에 사용되는 IC를 음성 코덱, 이미지 압축 · 신장하는 IC를 이미지 코덱이라고 부르게되었다. 전자에는 예를 들어 ISDN 음성 통신에 사용 G.711 코덱, 후자는 G3, G4 팩시밀리 이미지 압축 및 압축을 사용 코덱 등이있다.
1990 년대 에 들어가면, PC 주변 하드웨어 영상 압축 · 신장을 실시할 수있는 코덱도 등장했다. 이후 컴퓨터 의 급속한 발전으로 화상이나 음성 등의 압축 · 신장을 소프트웨어적으로 할 수있게 소프트웨어만으로 처리하는 소프트웨어 코덱도 등장했다. 현재는 코덱이라고하면 디지털 신호의 데이터 압축 · 신장하는 장치 및 소프트웨어를 가리키는 경우가 많다.
그러나 데이터 압축 · 신장하는 코덱은 코덱 무리 중 한 카테고리에 해당하며, 좁은 의미의 코덱을 가리키고있다. 일반적으로 코덱라는 말은별로 사용되지 않지만,보다 넓은 의미에서는 다음과 같은 것도 코덱이다.
- URL 문자열을 % xx 같은 문자열 인코딩 (URL 인코딩된)가 반대로 복호화 (URL 디코딩)하는 것
데이터 압축 코덱은 원래의 데이터에 완전 복원할 수 무손실 압축 (Lossless라고도 함)를 이용하는 것과, 압축 단계에서 원래의 데이터는 복구할 수없는 처리를 가하는 대신 높은 압축을 손실 압축 (Lossy라고도 함)를 이용하는 것이있다. 전자는 완벽하게 복원하는 것이 필수 문서 파일과 일부 화상 · 음성 파일에 사용된다. 후자는 가역 압축은 데이터 크기가 상대적으로 커지기 쉽다 화상, 음성, 동영상의 고능률 압축에 사용된다. → 데이터 압축 을 참조하십시오.
데이터 압축 · 신장하는 코덱 [ 편집 ]
예를 들어, Microsoft Windows 의 표준 형식은 음성 은 PCM , 이미지 는 BMP 와 같은 무압축 (비압축) 상태 파일 데이터가 존재한다. 시스템에서 자주 사용되는 짧은 음성이나 동영상, 작은 이미지 등을 처리하려면 압축되지 않은에서 다루는 것이 적합한 경우도 있지만, 큰 영상과 음성을 압축되지 않은 채 다루려하면 대용량 메모리 와 하드 디스크 등이 필요하거나 트래픽이 증가한다. 그것을 피하기 위해 파일을 압축하여 크기를 줄일 수 필요하다. 이때 필요한 것이 데이터 압축 · 신장을위한 코덱이다.
영상 압축 코덱 [ 편집 ]
- ERINA - 손실 압축
- GIF - 256 색까지 무손실 압축
- JPEG - 손실 압축
- JPEG 2000 - 지정에 따라 손실 압축, 무손실 압축 의 선택이 가능
- PNG - 최대 48bit (각 색 16bit) 컬러 (약 280 조 색상)의 무손실 압축, 8bit (256 단계)의 알파 채널 ( 투명도 )이 가능
- WebP - 손실 압축, 무손실 압축의 선택이 가능. Google이 개발했다.
음성 압축 코덱은 인간의 발성을 주요 대상으로 코딩 하는 음성 대역을위한 코덱과 그것에 한정하지 않고 음악 등도 대상으로 코덱이있다. 전자는 사람의 발성 특성을 이용하고 있기 때문에 후자보다 낮은 코딩 속도 음성 코딩이 가능하다.
음성 대역을위한 코덱의 대표적인 것으로는 ITU -G 시리즈 권고의 각종 코덱 (아래)이 휴대 전화 와 IP 전화 등으로 널리 이용되고 있으며, 음성을 4 ~ 13k bps 정도로 압축하고있다. 음악도 대상으로 코덱의 대표적인 것으로는 1990 년대전반에 등장한 미니 디스크 (MD)에 사용되고있는 ATRAC 과 1990 년대말 무렵부터 PC 오디오 넓게 침투하기 시작했다MP3 가있다. 예를 들어, 128kbps 스테레오 오디오 압축 오디오는 콤팩트 디스크 (CD)에 비해 1 / 10 이하로 압축되고있다. 이들은 원래 오디오는 완전히 복원할 수없는 손실 압축 방식을 이용하고있다.
한편, 최근 기록 미디어 의 용량이 비약적으로 증가함에 따라 데이터의 크기가 커지지만, 전혀 열화를 일으키지 않는 가역 압축을 이용한 코덱도 많아지고있다. 이곳은 대략 60 %에서 70 % 정도의 압축이 가능하다.
- 압축하지 않은 코덱
- LPCM - 음악 CD , DVD-Video / Audio , Blu-ray Disc 등에 사용되는
- 손실 압축 손실 압축을 선택할 수있는 코덱
- Windows Media Audio (WMA) - Windows Media Player 에 탑재되고있는 코덱
- Dolby Digital Plus - 돌비 디지털 플러스 (DD +)
- DTS-HD Master Audio - DTS가 개발한 DTS 확장 규격. BD에 채용되고있다.
- WavPack - 무손실 모드, 손실 모드, 그리고 독특한 하이브리드 모드를 갖추고있다
- MIO - 순수한 일본제 오디오 압축 형식
- 손실 압축 코덱
- ADPCM - 드림 캐스트 등에 사용되는 코덱
- AC-3 - 돌비 디지털
- DRA - 중국 기업이 개발한 코덱
- ATRAC3plus - Hi-MD 와 UMD 에서 사용되는 코덱
- DivX Audio - WMA 해적판
- ITU -G 시리즈 권고에 따라 국제 규격화된 코덱
- MPEG 오디오 코덱
- HE-AAC - 원세그 , 컬러링 등에서 사용되는 코덱
- MP2 - 많은 MPEG1가 사용하는 코덱
- MP3 - 오디오 기기 등 폭넓게 사용되는 코덱
- Mp3Surround 다중 채널 버전
- MP3 # mp3HD 무손실 압축을 지원 버전. 기존의 MP3 스트림도 포함된다.
- Musepack (MPC)
- Speex - 오픈 소스 음성 대역을위한 코덱, Ogg 프로젝트에도 채용되고있다
- SoundVQ - YAMAHA에서 개발한 코덱
- UEMCLIP - ITU-T G.711 전화 음성 부호화 표준 방식을 확장하여 고음질의 광대역 음성 통신을 가능하게하는 encode 방식, NTT 연구소에서 개발된 기술
- 무손실 압축 코덱
- AAL (ATRAC Advanced Lossless) - 손실 압축 부분을 내포하고 용도에 따라 꺼내 이용한다.
- Apple Lossless (Apple Lossless Audio Codec, Apple 무손실) - iTunes 와 QuickTime 등에 탑재되는 코덱
- MPEG-4 ALS (MPEG-4 Audio Lossless) - 국제 표준
- DTS-HD - Blu-ray Disc · HD DVD 를위한 코덱
- FLAC (Free Lossless Audio Codec) - 오픈 소스로 개발되고 Ogg 프로젝트 무손실 압축 용도로 사용되는 코덱
- Monkey 's Audio - 프리웨어 하면서 높은 압축과 평이한 조작을 실현
- TTA (The True Audio)
- TAK (Tom 's lossless Audio Kompressor)
동영상 압축 코덱 [ 편집 ]
동영상은 대용량 데이터를 처리하므로, 고효율 손실 압축이 필수가되고있다. 대표적인 것은 DVD 에 사용되는 MPEG-2가있다.
- AVS (Advanced Audio Video Coding Standard in Information Technology) - 중국 자체 코덱
- Canopus HQ Codec - 카노푸스 가 개발한 동영상 편집을위한 코덱
- Dirac - 영국 방송 협회 (BBC)의 연구 개발 부문이 개발한 코덱
- DV CODEC - 디지털 비디오 카메라 에서 사용되는 코덱
- ITU-T 권고 H 시리즈를 통해 국제 규격화된 코덱
- Indeo Video - 인텔 사가 개발한 코덱
- MEI - 동영상 ERI
- Motion JPEG - 디지털 카메라 에서 사용되는 코덱
- MPEG 에서 표준화된 코덱
- MPEG-4에서 파생된 코덱
- MS-MPEG4 (Microsoft MPEG-4 Video Codec) - MPEG과 무관하지만 MPEG-4와 호환 있음
- DivX ;-) - MS-MPEG4 해적판
- AngelPotion - MS-MPEG4 해적판
- Windows Media Video MS-MPEG4를 기준으로 만들어진
- RMP4 (REALmagic MPEG-4 Video Codec) - 미국 Sigma Designs社가 개발한 코덱. Xvid의 소스 코드 를 유용한 것으로 밝혀졌다.
- H.263보다 파생 코덱
- DivX - DivX, Inc. 가 개발하고있는 코덱. MPEG-4 ASP에 따릅니다.
- Xvid - 오픈 소스 H.263 (MPEG-4) 코덱. MPEG-4 ASP에 따릅니다.
- 3ivx - DivX와 마찬가지 쉐어웨어이며, 시험 기간이있다. MPEG-4 ASP에 따릅니다.
- On2가 개발한 코덱 (TrueMotion)
- On2VP3 - 오픈 소스화된 무료로 사용할 수있는 코덱
- On2VP5 - 상기에 따릅니다.
- TrueMotion VP6 - Adobe Flash 에서 사용되는 코덱입니다.
- TrueMotion VP7 - VP6보다 고화질 압축 코덱
- RealVideo - RealNetworks에서 개발한 코덱. 낮은 속도에 강한
- Rududu - 잔물결 기술을 사용한 코덱
- Sorenson Video - QuickTime 동영상을위한 코덱
- 무손실 압축 코덱
- Alparysoft Lossless Video Codec - Alparysoft 사가 제공하는 코덱
- AMV Video Codec - 손실 손실 압축 코덱
- AVImszh - 단색 애니메이션용으로
- CorePNG - 현재 문제가 많다
- Fast Codec - 색상 왜곡을 일으키는 경우가
- Huffyuv - TV 프로그램의 고화질 기록 등에 사용되는 코덱입니다. 멀티 스레드 비대응.
- huffyuvs - Huffyuv의 개량 판
- huffyuv-mt - Huffyuv 개량 버전. 멀티 코어 대응.
- Luna - 순수 국산 코덱.
- YUY2 lossless codec - Aviutl 저자의 코덱.
각주 · 참조 [ 편집 ]
관련 항목 [ 편집 ]
- 컨테이너 형식 - 오디오 파일 포맷
'Project > Streaming Server' 카테고리의 다른 글
Streaming - iptv (0) | 2012.06.11 |
---|---|
컨테이너 포맷 (0) | 2012.06.11 |
HTTP를 사용하는 라이브 스트리밍 (0) | 2012.06.11 |
Streaming Server - 스트리밍이란 (0) | 2012.06.09 |
Streaming - 구축 가이드 1 - 오픈소스 활용 (0) | 2012.06.09 |