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("๋ฉ์ธ" ํ๋กํ), x5869("ํ์ด" ํ๋กํ) ๋ฐ libvpx-vp658 ์ธ์ฝ๋์ ๋นํด 264, 264 ๋ฐ 9๋ฐฐ ๋ ๋ง์ ๊ณ์ฐ์ด ํ์ํฉ๋๋ค.
์๋ก์ด SVT-AV1 ๋ฆด๋ฆฌ์ค์ ๋ณ๊ฒฝ ์ฌํญ:
- ์ ๋ฒ์ ๋ฒํธ๋ก ์ ํ๋์์ผ๋ฉฐ, ์ด์ ๋ฐ๋ผ ๋ฒ์ ์ ์ฒซ ๋ฒ์งธ ์ซ์๊ฐ API/ABI๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ณ๊ฒฝ๋ฉ๋๋ค.
- ๋น ํ๋ ์์ ์ฌ์ฉํ๋ ๋์ ๋ง์ง๋ง ํ๋ ์์์ ์คํธ๋ฆผ ๋ ํ์(EOS - End Of Stream)๋ก ์ ํํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ API๊ฐ ๋ณ๊ฒฝ๋์ด ์ถ๊ฐ ํ๋ ์์ ๊ธฐ๋ค๋ฆฌ๋ ์ง์ฐ์ด ์ ๊ฑฐ๋์์ต๋๋ค. API ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ฏธ FFmpeg ์ฝ๋๋ฒ ์ด์ค์ ๋ฐ์๋์์ต๋๋ค.
- 3ํจ์ค ๊ฐ๋ณ ๋นํธ ์ ์ก๋ฅ ๋ชจ๋(XNUMXํจ์ค VBR)๊ฐ ์ ๊ฑฐ๋์์ผ๋ฉฐ ์ด์ ๋ค์ค ํจ์ค VBR ๋ฉ์ปค๋์ฆ์ผ๋ก ๋์ฒด๋ฉ๋๋ค. FFmpeg์์ ํตํฉ์ ๋ณด์ฅํ๊ธฐ ์ํด VBR ๋ค์ค ํจ์ค ๋ชจ๋๊ฐ XNUMX๊ฐ์ ํจ์ค๋ก ์ถ์๋์์ต๋๋ค.
- ์ธ์ฝ๋์ ์ต์ ํ๊ฐ ์ถ๊ฐ๋์ด M9-M13 ์ฌ์ ์ค์ ์ ์์ถ ํจ์จ์ฑ์ด 1~4% ์ฆ๊ฐํ๊ณ M5 ์ฌ์ ์ค์ ์ ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ LP 20 ๋ชจ๋์์ 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 ์์คํ
์์ 6tap ํํฐ ์๋์ ๊ฐ์ํํ๊ณ ๋ฉํฐ ์ค๋ ๋ ์์
์ ํจ์จ์ฑ์ ๋์ด๊ณ ARM64, ARM32 ๋ฐ RISC ์์คํ
V์ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ ํฌ๊ธฐ. ๋งค์ฐ ํฐ ํ๋ ์ ํฌ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ์ ์ค๋ฒํ๋ก๋ก ์ธํด ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ฐ๊ธฐ๋ฅผ ๋ฐ์์ํค๋ ์ทจ์ฝ์ CVE-2024-1580์ด ์์ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru