rav1e 0.5, AV1 ์ธ์ฝ”๋” ์ถœ์‹œ

AV1 ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ํ˜•์‹์šฉ ์ธ์ฝ”๋”์ธ rav0.5.0e 1์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œํ’ˆ์€ Mozilla ๋ฐ Xiph ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์ฝ”๋”ฉ ์†๋„๋ฅผ ๋†’์ด๊ณ  ๋ณด์•ˆ์— ๋Œ€ํ•œ ๊ด€์‹ฌ์„ ๋†’์ž„์œผ๋กœ์จ C/C++ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ libaom์˜ ์ฐธ์กฐ ๊ตฌํ˜„๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค(์••์ถ• ํšจ์œจ์„ฑ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋’ค๋–จ์–ด์ง). ์ด ์ œํ’ˆ์€ ์–ด์…ˆ๋ธ”๋Ÿฌ ์ตœ์ ํ™”(72.2% - ์–ด์…ˆ๋ธ”๋Ÿฌ, 27.5% - Rust)์™€ ํ•จ๊ป˜ Rust ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์ฝ”๋“œ๋Š” BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. Windows ๋ฐ macOS์šฉ Ready ๋นŒ๋“œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(Linux์šฉ ๋นŒ๋“œ๋Š” ์ง€์†์  ํ†ตํ•ฉ ์‹œ์Šคํ…œ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ผ์‹œ์ ์œผ๋กœ ์ƒ๋žต๋จ).

rav1e๋Š” ์ธํŠธ๋ผ ๋ฐ ์ธํ„ฐ ํ”„๋ ˆ์ž„(์ธํŠธ๋ผ ๋ฐ ์ธํ„ฐ ํ”„๋ ˆ์ž„), 1x64 ์ˆ˜ํผ๋ธ”๋ก, 64:4:2, 0:4:2 ๋ฐ 2:4:4 ํฌ๋กœ๋งˆ ์„œ๋ธŒ์ƒ˜ํ”Œ๋ง ์ง€์›์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ์ฃผ์š” AV4 ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. 8 -, 10๋น„ํŠธ ๋ฐ 12๋น„ํŠธ ์ƒ‰ ์‹ฌ๋„ ์ธ์ฝ”๋”ฉ, RDO(Rate-distortion optimization) ์™œ๊ณก ์ตœ์ ํ™”, ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„ ๊ฐ„ ๋ณ€๊ฒฝ ์˜ˆ์ธก ๋ฐ ๋ณ€ํ™˜ ๊ฐ์ง€ ๋ชจ๋“œ, ๋น„ํŠธ๋ ˆ์ดํŠธ ์ œ์–ด ๋ฐ ์žฅ๋ฉด ์ž˜๋ฆผ ๊ฐ์ง€.

AV1 ํ˜•์‹์€ ์••์ถ• ๊ธฐ๋Šฅ ์ธก๋ฉด์—์„œ H.264 ๋ฐ VP9๋ณด๋‹ค ๋ˆˆ์— ๋„๊ฒŒ ์•ž์„œ ์žˆ์ง€๋งŒ ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก์„ฑ์œผ๋กœ ์ธํ•ด ์ธ์ฝ”๋”ฉ์— ํ›จ์”ฌ ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์ธ์ฝ”๋”ฉ ์†๋„ ์ธก๋ฉด์—์„œ libaom์€ ์ˆ˜๋ฐฑ ๋ฐฐ ๋’ค์ณ์ง) libvpx-vp9 ๋ฐ x264๋ณด๋‹ค ์ˆ˜์ฒœ ๋ฐฐ ๋’ค). rav1e ์ธ์ฝ”๋”๋Š” 11๊ฐ€์ง€ ์„ฑ๋Šฅ ์ˆ˜์ค€์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์—์„œ๋Š” ์‹ค์‹œ๊ฐ„ ์ธ์ฝ”๋”ฉ์— ๊ฐ€๊นŒ์šด ์†๋„๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”๋Š” ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฝ”๋ฑ์˜ ์ƒ๋‹นํ•œ ๊ฐ€์†;
    rav1e 0.5, AV1 ์ธ์ฝ”๋” ์ถœ์‹œ
  • ํŠน์ • ๋น„๋””์˜ค ํฌ๊ธฐ์—์„œ ์ธ์ฝ”๋” ์ถฉ๋Œ์„ ์ผ์œผํ‚ค๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •
  • ์ฑ„๋„๋‹น 2๋น„ํŠธ์— ๋Œ€ํ•œ Wiener ์ถ”์ •์„ ํฌ๊ฒŒ(์ตœ๋Œ€ 13๋ฐฐ) ๊ฐ€์†ํ™”ํ•˜๊ธฐ ์œ„ํ•ด AVX16 ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ SIMD ๋ช…๋ น์–ด ์‚ฌ์šฉ์ด ์ถ”๊ฐ€๋˜์–ด ์œ ์‚ฌํ•œ ์กฐ๊ฑด์—์„œ ์ตœ๋Œ€ 7๋ฐฐ๊นŒ์ง€ ๊ณ„์‚ฐ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • x86, arm32 ๋ฐ arm64 ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ˆ˜๋งŽ์€ ์‚ฌ์†Œํ•œ ์ˆ˜์ • ๋ฐ ์ตœ์ ํ™”.

์ถœ์ฒ˜ : opennet.ru

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