VideoLAN ๋ฐ FFmpeg ํ”„๋กœ์ ํŠธ์˜ AV1 ๋””์ฝ”๋”์ธ dav0.6d 1 ์ถœ์‹œ

VideoLAN ๋ฐ FFmpeg ์ปค๋ฎค๋‹ˆํ‹ฐ ์ถœํŒํ•˜๋‹ค ๋Œ€์ฒด ๋ฌด๋ฃŒ ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ํ˜•์‹ ๋””์ฝ”๋”๋ฅผ ๊ตฌํ˜„ํ•œ dav1d 0.6.0 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ์‹œ AV1. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” ์–ด์…ˆ๋ธ”๋Ÿฌ ์‚ฝ์ž…(NASM/GAS)๊ณผ ํ•จ๊ป˜ C ์–ธ์–ด(C99)๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌ์ž BSD ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ. x86, x86_64, ARMv7 ๋ฐ ARMv8 ์•„ํ‚คํ…์ฒ˜์™€ Linux, Windows, macOS, Android ๋ฐ iOS ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.

dav1d ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ณ ๊ธ‰ ๋ณด๊ธฐ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  AV1 ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ธŒ์ƒ˜ํ”Œ๋ง ์‚ฌ์–‘์— ๋ช…์‹œ๋œ ๋ชจ๋“  ์ƒ‰์‹ฌ๋„ ์ œ์–ด ๋งค๊ฐœ๋ณ€์ˆ˜(8, 10 ๋ฐ 12๋น„ํŠธ). ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” AV1 ํ˜•์‹์˜ ๋Œ€๊ทœ๋ชจ ํŒŒ์ผ ๋ชจ์Œ์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. dav1d์˜ ์ฃผ์š” ํŠน์ง•์€ ๊ฐ€๋Šฅํ•œ ์ตœ๊ณ ์˜ ๋””์ฝ”๋”ฉ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•˜๊ณ  ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ชจ๋“œ์—์„œ ๊ณ ํ’ˆ์งˆ ์ž‘์—…์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—์„œ:

  • 64๋น„ํŠธ ๋ฐ 10๋น„ํŠธ ์ƒ‰ ์‹ฌ๋„๋กœ ์ž‘์—…ํ•  ๋•Œ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ARM12 ์•„ํ‚คํ…์ฒ˜๋ณ„ ์ตœ์ ํ™”๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • prep_bilin, prep_512tap, cdef_filter ๋ฐ mc_avg/w_avg/mask ์ž‘์—…์— ๋Œ€ํ•œ AVX-8 ์ง€์นจ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋””์ง€ํ„ธ ๋…ธ์ด์ฆˆ๋ฅผ ์–ต์ œํ•˜๊ธฐ ์œ„ํ•ด SSSE3 ์ง€์นจ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • msac_adapt2 ์ž‘์—…์— ๋Œ€ํ•œ AVX16 ์ง€์นจ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ฐธ์กฐ AV1 ๋””์ฝ”๋” ๋™์ž‘์—์„œ ๋“œ๋ฌผ๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๋ถˆ์ผ์น˜๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ARM64์— ๋Œ€ํ•œ msac, cdef ๋ฐ ๋ฃจํ”„ ๋ณต์› ์ž‘์—…์— ๋Œ€ํ•œ ์ตœ์ ํ™”๊ฐ€ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • cdef_filter์— ๋Œ€ํ•œ ํ–ฅ์ƒ๋œ AVX2 ์ตœ์ ํ™”;
  • C ์–ธ์–ด์—์„œ itxfm ๋ฐ cdef_filter ์ž‘์—… ๊ตฌํ˜„์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋น„๋””์˜ค ์ฝ”๋ฑ์€ AV1 ์–ผ๋ผ์ด์–ธ์Šค์—์„œ ๊ฐœ๋ฐœํ•œ ์—ด๋ฆฐ ๋ฏธ๋””์–ด (AOMedia)์—๋Š” Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, Apple, CCN ๋ฐ Realtek๊ณผ ๊ฐ™์€ ํšŒ์‚ฌ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. AV1์€ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋กœ์—ดํ‹ฐ ํ”„๋ฆฌ ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ํ˜•์‹์œผ๋กœ ์••์ถ• ์ˆ˜์ค€ ์ธก๋ฉด์—์„œ H.264 ๋ฐ VP9๋ณด๋‹ค ๋ˆˆ์— ๋„๊ฒŒ ์•ž์„œ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋œ ํ•ด์ƒ๋„ ๋ฒ”์œ„์—์„œ ํ‰๊ท ์ ์œผ๋กœ AV1์€ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ํ’ˆ์งˆ์„ ์ œ๊ณตํ•˜๋Š” ๋™์‹œ์— ๋น„ํŠธ ์ „์†ก๋ฅ ์„ VP13์— ๋น„ํ•ด 9%, HEVC์— ๋น„ํ•ด 17% ๋‚ฎ์ท„์Šต๋‹ˆ๋‹ค. ๋†’์€ ๋น„ํŠธ ์ „์†ก๋ฅ ์—์„œ๋Š” ์ด๋“์ด VP22์˜ ๊ฒฝ์šฐ 27~9%, HEVC์˜ ๊ฒฝ์šฐ 30~43%๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Facebook ํ…Œ์ŠคํŠธ์—์„œ AV1์€ ์••์ถ• ์ˆ˜์ค€ ์ธก๋ฉด์—์„œ ๋ฉ”์ธ ํ”„๋กœํ•„ H.264(x264)๋ฅผ 50.3%, ํ•˜์ด ํ”„๋กœํ•„ H.264๋ฅผ 46.2%, VP9(libvpx-vp9)๋ฅผ 34.0% ๋Šฅ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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