AV1 ๋น๋์ค ์ธ์ฝ๋ฉ ํ์์ ์ธ์ฝ๋ ๋ฐ ๋์ฝ๋๋ฅผ ๊ตฌํํ SVT-AV2.0 1(Scalable Video Technology AV1) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ถ์๋์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ์จ๋ํ๋ผ์ด ๋น๋์ค ํธ๋์ค์ฝ๋ฉ ๋ฐ VOD(๋น๋์ค ์จ๋๋งจ๋) ์๋น์ค์ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํ ์์ค์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๊ธฐ ์ํด ์ธํ ์ด Netflix์ ํ๋ ฅํ์ฌ ๋ง๋ค์์ต๋๋ค. ํ์ฌ AV1 ๋น๋์ค ์ธ์ฝ๋ฉ ํ์์ ๊ฐ๋ฐ์ ๊ฐ๋ ํ๋ Open Media Alliance(AOMedia)์ ํ์์ผ๋ก ๊ฐ๋ฐ์ด ์งํ๋๊ณ ์์ต๋๋ค. ์ด์ ์ ์ด ํ๋ก์ ํธ๋ SVT-HEVC ๋ฐ SVT-VP9 ์ธ์ฝ๋๋ ๊ฐ๋ฐํ๋ OpenVisualCloud ํ๋ก์ ํธ์ ํ๋ ์์ํฌ ๋ด์์ ๊ฐ๋ฐ๋์์ต๋๋ค. ์ฝ๋๋ BSD ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
SVT-AV1์ C99 ํ์ค์ ์ง์ํ๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋ ๋ชจ๋ ์ํคํ ์ฒ ๊ธฐ๋ฐ ์์คํ ์์ ์ปดํ์ผํ ์ ์์ง๋ง, SIMD ๋ช ๋ น์ด์ ๊ธฐ๋ฐํ ์ด์ ๋ธ๋ฌ ์ต์ ํ๋ฅผ ์ฌ์ฉํ๋ x86_64 ์์คํ ์์ ์ต์์ ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค(CPU์์ AVX2๋ฅผ ์ง์ํ๋ ๊ฒ์ด ๋ฐ๋์งํ์ง๋ง ์ต์ํ SS2๋ก ์ถฉ๋ถํฉ๋๋ค). ๋ฉ๋ชจ๋ฆฌ ์๋น๋์ ์ธ์ฝ๋ฉ์ ๊ด๋ จ๋ ํ๋ก์ธ์ ์ฝ์ด ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฉฐ, ์ด๋ "--lp" ์ต์ ์ผ๋ก ์ ์ด๋ฉ๋๋ค. AV1์ ์ฌ์ฉ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก์ฑ์ผ๋ก ์ธํด ์ด ํฌ๋งท์ ์ธ์ฝ๋ฉํ๋ ค๋ฉด ๋ค๋ฅธ ํฌ๋งท๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ๋ฉฐ, ์ด๋ก ์ธํด ํ์ค AV1 ์ธ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ํธ๋์ค์ฝ๋ฉ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, AV1 ํ๋ก์ ํธ์ ํ์ค ์ธ์ฝ๋๋ x5721(ํ๋กํ์ผ "main"), x5869(ํ๋กํ์ผ "high"), libvpx-vp658 ์ธ์ฝ๋์ ๋นํด 264๋ฐฐ, 264๋ฐฐ, 9๋ฐฐ ๋ ๋ง์ ๊ณ์ฐ์ด ํ์ํฉ๋๋ค.
์๋ก์ด SVT-AV1 ๋ฆด๋ฆฌ์ค์ ๋ณ๊ฒฝ ์ฌํญ:
- ์๋ก์ด ๋ฒ์ ๋ฒํธ๋ก ์ ํ๋์์ผ๋ฉฐ, ์ด์ ๋ฐ๋ผ API/ABI๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ฒ์ ์ ์ฒซ ๋ฒ์งธ ์ซ์๊ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค.
- ์ถ๊ฐ ํ๋ ์์ ๊ธฐ๋ค๋ฆฌ๋ ๋ฐ ๋ฐ๋ฅธ ์ง์ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํด ๋น ํ๋ ์์ ์ฌ์ฉํ๋ ๋์ ๋ง์ง๋ง ํ๋ ์์์ ์คํธ๋ฆผ ๋(EOS) ํ์๋ก์ ์ ํ๊ณผ ๊ด๋ จ๋ API๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. API ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ฏธ FFmpeg ์ฝ๋๋ฒ ์ด์ค์ ๋ฐ์๋์์ต๋๋ค.
- 3ํจ์ค ๊ฐ๋ณ ๋นํธ๋ ์ดํธ ๋ชจ๋(XNUMXํจ์ค VBR)๊ฐ ์ ๊ฑฐ๋๊ณ ๋ฉํฐํจ์ค VBR ๋ฉ์ปค๋์ฆ์ผ๋ก ๋์ฒด๋์์ต๋๋ค. ๋ฉํฐ ํจ์ค VBR ๋ชจ๋๋ FFmpeg์์ ํตํฉ์ ํ์ฉํ๊ธฐ ์ํด XNUMXํจ์ค๋ก ์ถ์๋์์ต๋๋ค.
- ์ธ์ฝ๋๋ ์ต์ ํ๋ฅผ ํตํด ๊ฐ์ ๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ํ๋ฆฌ์ M9-M13์ ์์ถ ํจ์จ์ฑ์ด 1-4% ์ฆ๊ฐํ๊ณ , LP 5 ๋ชจ๋์์ ํ๋ฆฌ์ M20์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋์ด 35-8% ๊ฐ์ํ๊ณ , ๋ค๋ฅธ ๋ชจ๋์์๋ 1-5% ๊ฐ์ํ์ต๋๋ค. ๋ค๋ฅธ ์ฌ์ ์ค์ ์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋์ 1~5% ๊ฐ์ํ์ต๋๋ค.
- ๊ณ ํ์ง ์์ค์ ์ค์ ํ๋ ์ฌ์ ์ค์ ์ ๋ํด ํ์ง/์๋ ๊ท ํ์ ์ต์ ํํ์ต๋๋ค. ์ฐธ์กฐ ํ์ง์ ์ ๊ณตํ๋ MR ์ฌ์ ์ค์ ์ด 100% ๊ฐ์ํ๋์์ต๋๋ค.
- ARM ์ํคํ ์ฒ์ ํนํ๋ ์ต์ ํ๊ฐ C ์ ์ฉ ํจ์์ ์ถ๊ฐ๋์์ต๋๋ค.
๋ํ, VideoLAN๊ณผ FFmpeg ์ปค๋ฎค๋ํฐ๊ฐ AV1 ๋น๋์ค ์ธ์ฝ๋ฉ ํ์์ ์ํ ๋์ฒด ๋ฌด๋ฃ ๋์ฝ๋ ๊ตฌํ์ ํฌํจํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ ํ๋ ์์ํฌ ๋ด์์ dav1.4.1d 1 ํ๋ก์ ํธ๊ฐ ์ถ์๋์๋ค๋ ์ ๋ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. dav1d ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ณ ๊ธ ํ์ ์ํ๋ง๊ณผ ์ง์ ๋ ๋ชจ๋ ์์ ์ฌ๋ ์ ์ด ์ต์ (1, 8, 10๋นํธ)์ ํฌํจํ ๋ชจ๋ AV12 ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. dav1d์ ์ฃผ์ ํน์ง์ ๊ฐ๋ฅํ ๊ฐ์ฅ ๋์ ๋์ฝ๋ฉ ์ฑ๋ฅ์ ๋ฌ์ฑํ๊ณ ๋ฉํฐ์ค๋ ๋ ๋ชจ๋์์ ๊ณ ํ์ง ์์ ์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ ์ด์ ๋ธ๋ฌ ์ฝ์ (NASM/GAS)์ด ํฌํจ๋ C(C99)๋ก ์์ฑ๋์์ผ๋ฉฐ BSD ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. x86, x86_64, ARMv7 ๋ฐ ARMv8 ์ํคํ ์ฒ์ FreeBSD, Linux, Windows, macOS, Android ๋ฐ iOS ์ด์ ์ฒด์ ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
dav1d 1.4๋ ์๋ก์ด Loongarch ๋ฐ RISC-V ์ํคํ
์ฒ์ ๋ํ ์ง์, AVX-512 ๋ช
๋ น์ด ๊ธฐ๋ฐ์ ์ถ๊ฐ ์ต์ ํ, ARM ์์คํ
์์ 6ํญ ํํฐ ๊ฐ์ํ, ๋ฉํฐ์ค๋ ๋ฉ ํจ์จ์ฑ ์ฆ๊ฐ, ARM64, ARM32 ๋ฐ RISC-V ์์คํ
์์์ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ ํฌ๊ธฐ ๊ฐ์ ๋ฑ์ ํน์ง์ผ๋ก ์ ๋ช
ํฉ๋๋ค. ๋งค์ฐ ํฐ ํ๋ ์์ ์ฒ๋ฆฌํ ๋ ์ ์ ์ค๋ฒํ๋ก๋ก ์ธํด ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ๋ ์ทจ์ฝ์ CVE-2024-1580์ด ์์ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru
