코덱의 이해:복잡성, 하드웨어 지원, MOS 및 협상