Opus 1.5 ์˜ค๋””์˜ค ์ฝ”๋ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๋ฌด๋ฃŒ ๋น„๋””์˜ค ๋ฐ ์˜ค๋””์˜ค ์ฝ”๋ฑ ๊ฐœ๋ฐœ์— ์ „๋…ํ•˜๋Š” ์กฐ์ง์ธ Xiph.Org๋Š” ์•ฝ 1.5๋…„์˜ ๊ฐœ๋ฐœ ๋์— ๋†’์€ ๋น„ํŠธ์œจ ์ŠคํŠธ๋ฆฌ๋ฐ ์˜ค๋””์˜ค ๋ชจ๋‘์— ๋Œ€ํ•ด ๊ณ ํ’ˆ์งˆ ์ธ์ฝ”๋”ฉ๊ณผ ์ตœ์†Œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜๋Š” Opus 6716 ์˜ค๋””์˜ค ์ฝ”๋ฑ์˜ ์ถœ์‹œ๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์—ญํญ์ด ์ œํ•œ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ VoIP ์ „ํ™” ํ†ต์‹ ์˜ ์••์ถ• ๋ฐ ์Œ์„ฑ ์••์ถ•. ์ธ์ฝ”๋” ๋ฐ ๋””์ฝ”๋” ์ฐธ์กฐ ๊ตฌํ˜„์€ BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ผ์ด์„ ์Šค๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค. Opus ํ˜•์‹์˜ ์ „์ฒด ์‚ฌ์–‘์€ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ๋ฌด๋ฃŒ์ด๋ฉฐ ์ธํ„ฐ๋„ท ํ‘œ์ค€(RFC XNUMX)์œผ๋กœ ์Šน์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฝ”๋ฑ์€ Xiph.org์˜ CELT ์ฝ”๋ฑ๊ณผ Skype์˜ ์˜คํ”ˆ ์†Œ์Šค SILK ์ฝ”๋ฑ์˜ ์ตœ๊ณ ์˜ ๊ธฐ์ˆ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. Skype ๋ฐ Xiph.Org ์™ธ์—๋„ Mozilla, Octasic, Broadcom ๋ฐ Google๊ณผ ๊ฐ™์€ ํšŒ์‚ฌ๋„ Opus ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜คํ‘ธ์Šค์— ๊ด€๋ จ๋œ ํŠนํ—ˆ๋Š” ๋กœ์—ดํ‹ฐ ์ง€๋ถˆ ์—†์ด ๋ฌด์ œํ•œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•œ ํšŒ์‚ฌ์— ์˜ํ•ด ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค. Opus์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ง€์  ์žฌ์‚ฐ๊ถŒ ๋ฐ ํŠนํ—ˆ ๋ผ์ด์„ ์Šค๋Š” ์ถ”๊ฐ€ ์Šน์ธ ์—†์ด Opus๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์ œํ’ˆ์— ์ž๋™์œผ๋กœ ์œ„์ž„๋ฉ๋‹ˆ๋‹ค. ๋Œ€์ฒด ํƒ€์‚ฌ ๊ตฌํ˜„์˜ ๋ฒ”์œ„ ๋ฐ ์ƒ์„ฑ์—๋Š” ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Opus ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด Opus ๊ธฐ์ˆ ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ํŠนํ—ˆ ์ ˆ์ฐจ๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๊ฒฝ์šฐ ๋ถ€์—ฌ๋œ ๋ชจ๋“  ๊ถŒ๋ฆฌ๊ฐ€ ์ทจ์†Œ๋ฉ๋‹ˆ๋‹ค.

Opus๋Š” ๋Œ€์—ญํญ์ด ์ œํ•œ๋œ VoIP ์ „ํ™” ํ†ต์‹  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ๋†’์€ ๋น„ํŠธ ์ „์†ก๋ฅ  ์ŠคํŠธ๋ฆฌ๋ฐ ์˜ค๋””์˜ค ์••์ถ• ๋ฐ ์Œ์„ฑ ์••์ถ• ๋ชจ๋‘์— ๋Œ€ํ•ด ๋†’์€ ์ฝ”๋”ฉ ํ’ˆ์งˆ๊ณผ ์ตœ์†Œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— Opus๋Š” 64Kbit์—์„œ ์ตœ๊ณ ์˜ ์ฝ”๋ฑ์œผ๋กœ ์„ ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Opus๋Š” Apple HE-AAC, Nero HE-AAC, Vorbis ๋ฐ AAC LC์™€ ๊ฐ™์€ ๊ฒฝ์Ÿ์‚ฌ๋ฅผ ๋Šฅ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค). ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Opus๋ฅผ ์ง€์›ํ•˜๋Š” ์ œํ’ˆ์—๋Š” Firefox ๋ธŒ๋ผ์šฐ์ €, GStreamer ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ FFmpeg ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Opus์˜ ์ฃผ์š” ๊ธฐ๋Šฅ:

  • 5 ~ 510 Kbit/s์˜ ๋น„ํŠธ ์ „์†ก๋ฅ ;
  • 8์—์„œ 48KHz๊นŒ์ง€์˜ ์ƒ˜ํ”Œ๋ง ์ฃผํŒŒ์ˆ˜;
  • 2.5~120๋ฐ€๋ฆฌ์ดˆ์˜ ํ”„๋ ˆ์ž„ ์ง€์† ์‹œ๊ฐ„
  • ์ƒ์ˆ˜(CBR) ๋ฐ ๊ฐ€๋ณ€(VBR) ๋น„ํŠธ ์ „์†ก๋ฅ  ์ง€์›
  • ํ˜‘๋Œ€์—ญ ๋ฐ ๊ด‘๋Œ€์—ญ ์˜ค๋””์˜ค ์ง€์›
  • ์Œ์„ฑ ๋ฐ ์Œ์•… ์ง€์›
  • ์Šคํ…Œ๋ ˆ์˜ค ๋ฐ ๋ชจ๋…ธ ์ง€์›;
  • ๋น„ํŠธ ์ „์†ก๋ฅ , ๋Œ€์—ญํญ ๋ฐ ํ”„๋ ˆ์ž„ ํฌ๊ธฐ์˜ ๋™์  ์„ค์ • ์ง€์›
  • ํ”„๋ ˆ์ž„ ์†์‹ค ์‹œ ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆผ์„ ๋ณต์›ํ•˜๋Š” ๊ธฐ๋Šฅ(PLC)
  • ์ตœ๋Œ€ 255๊ฐœ ์ฑ„๋„ ์ง€์›(๋ฉ€ํ‹ฐ ์ŠคํŠธ๋ฆผ ํ”„๋ ˆ์ž„)
  • ๋ถ€๋™ ๋ฐ ๊ณ ์ • ์†Œ์ˆ˜์  ์‚ฐ์ˆ ์„ ์‚ฌ์šฉํ•œ ๊ตฌํ˜„์˜ ๊ฐ€์šฉ์„ฑ.

Opus 1.5์˜ ์ฃผ์š” ํ˜์‹ :

  • ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ๊ธฐ์ˆ ์˜ ์‚ฌ์šฉ์„ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๊ณ„ ํ•™์Šต์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ท ์†์‹ค๋กœ ์ธํ•ด ์†์‹ค๋œ ์˜ค๋””์˜ค ์กฐ๊ฐ์„ ๋ณต๊ตฌํ•˜๋Š” DRED(Deep Redundancy) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Deep PLC(Packet Loss Concealment) ๊ธฐ๊ณ„ ํ•™์Šต ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ ˆ์ž„ ์†์‹ค ์‹œ ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆผ ๋ณต์›์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‚ฎ์€ ๋น„ํŠธ ์ „์†ก๋ฅ (~ 6Kbps)์—์„œ ์Œ์„ฑ ํ’ˆ์งˆ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • AVX2(x86) ๋ฐ Neon(ARM) ๋ช…๋ น์–ด ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ตœ์ ํ™”๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆ˜ํ‰๋ฉด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ˆ˜์ง(์œ„ ๋˜๋Š” ์•„๋ž˜์—์„œ ์Œ์›์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด)์—์„œ์˜ ์‚ฌ์šด๋“œ ์ „ํŒŒ๋ฅผ ๊ณ ๋ คํ•˜๋Š” 4์ฐจ ๋ฐ 5์ฐจ Ambisonics ์„œ๋ผ์šด๋“œ ์‚ฌ์šด๋“œ ํ˜•์‹์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ณง๋ฐ”๋กœ Opus 1.5.1์ด ์ถœ์‹œ๋˜์–ด Meson ๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค(CMake๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œํ•˜๋Š” ๊ฒฝ์šฐ ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ).

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€