VideoLAN ๋ฐ FFmpeg ํ”„๋กœ์ ํŠธ์˜ AV1 ๋””์ฝ”๋”์ธ dav1d์˜ ์„ธ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

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

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

์ƒˆ ๋ฒ„์ „์—๋Š” SSSE3, SSE4.1 ๋ฐ AVX2 ์ง€์นจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋””์˜ค ๋””์ฝ”๋”ฉ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ์ตœ์ ํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SSSE3์„ ํƒ‘์žฌํ•œ ํ”„๋กœ์„ธ์„œ์˜ ๋””์ฝ”๋”ฉ ์†๋„๋Š” 24%, AVX2๋ฅผ ํƒ‘์žฌํ•œ ์‹œ์Šคํ…œ์—์„œ๋Š” 4% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. SSE4.1 ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์†์„ ์œ„ํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์ ํ™”๋˜์ง€ ์•Š์€ ๋ฒ„์ „์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด 26% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(SSSE3 ๋ช…๋ น์–ด ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”์™€ ๋น„๊ตํ•˜๋ฉด ์ด๋“์€ 1.5%์ž…๋‹ˆ๋‹ค).

VideoLAN ๋ฐ FFmpeg ํ”„๋กœ์ ํŠธ์˜ AV1 ๋””์ฝ”๋”์ธ dav1d์˜ ์„ธ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

ARM64 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ํ”„๋กœ์„ธ์„œ๋ฅผ ํƒ‘์žฌํ•œ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์˜ ๋””์ฝ”๋” ์„ฑ๋Šฅ๋„ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. NEON ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์„ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ์ด์ „ ๋ฆด๋ฆฌ์Šค์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด ์•ฝ 12% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

VideoLAN ๋ฐ FFmpeg ํ”„๋กœ์ ํŠธ์˜ AV1 ๋””์ฝ”๋”์ธ dav1d์˜ ์„ธ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

์ฐธ์กฐ ๋””์ฝ”๋” aomdec(libaom)๊ณผ ๋น„๊ตํ•  ๋•Œ dav1d์˜ ์žฅ์ ์€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๋ชจ๋“œ์—์„œ ์ž‘์—…ํ•  ๋•Œ ๊ฐ€์žฅ ๊ฐ•ํ•˜๊ฒŒ ๋Š๊ปด์ง‘๋‹ˆ๋‹ค(์ผ๋ถ€ ํ…Œ์ŠคํŠธ์—์„œ๋Š” dav1d๊ฐ€ 2-4๋ฐฐ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค). ๋‹จ์ผ ์Šค๋ ˆ๋“œ ๋ชจ๋“œ์—์„œ๋Š” ์„ฑ๋Šฅ์ด 10~20% ์ •๋„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

VideoLAN ๋ฐ FFmpeg ํ”„๋กœ์ ํŠธ์˜ AV1 ๋””์ฝ”๋”์ธ dav1d์˜ ์„ธ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

VideoLAN ๋ฐ FFmpeg ํ”„๋กœ์ ํŠธ์˜ AV1 ๋””์ฝ”๋”์ธ dav1d์˜ ์„ธ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” dav1d๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ธฐ๋ณธ๊ฐ’์€ dav1d์ž…๋‹ˆ๋‹ค. ์ ์šฉ๋œ Chromium/Chrome 74 ๋ฐ Firefox 67(์ด์ „ dav1d๋Š” ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค Windows์šฉ์ด์ง€๋งŒ ์ง€๊ธˆ์€ ํ™œ์„ฑํ™” Linux ๋ฐ macOS์˜ ๊ฒฝ์šฐ). FFmpeg ๋ฐ VLC์—์„œ dav1d๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๊ณ  dav1d ํŠธ๋žœ์Šค์ฝ”๋”๋กœ ์ „ํ™˜ํ•  ๊ณ„ํš ์ˆ˜๋™ ๋ธŒ๋ ˆ์ดํฌ.

๋น„๋””์˜ค ์ฝ”๋ฑ์€ AV1 ์–ผ๋ผ์ด์–ธ์Šค์—์„œ ๊ฐœ๋ฐœํ•œ ์—ด๋ฆฐ ๋ฏธ๋””์–ด (AOMedia)์—๋Š” Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, 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

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