Google прСдставил Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ jpegli для Π±ΠΎΠ»Π΅Π΅ эффСктивного сТатия JPEG-ΠΈΠ·Ρ€Π±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Компания Google прСдставила Π½ΠΎΠ²ΡƒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ jpegli с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JPEG. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности кодирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π° 35% ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия высококачСствСнных ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠ°ΠΌΠΈ JPEG. Π’ сравнСнии с libjpeg-turbo Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° jpegli позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ уровня качСства ΠΏΡ€ΠΈ сниТСнии Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π° Π½Π° 32%. На ΡƒΡ€ΠΎΠ²Π½Π΅ API ΠΈ ABI Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстима с libjpeg62 ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для Π΅Ρ‘ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹. Код Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ написан Π½Π° языкС Π‘++ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD.

Google прСдставил Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ jpegli для Π±ΠΎΠ»Π΅Π΅ эффСктивного сТатия JPEG-ΠΈΠ·Ρ€Π±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ уровня сТатия достигаСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для сокращСния ΡˆΡƒΠΌΠΎΠ² Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈ увСличСния качСства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ эффСктивныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡΠΈΡ…ΠΎΠ²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ модСлирования для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ². Π’ частности, Π² jpegli задСйствована адаптивная эвристика квантования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ JPEG XL, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ† квантования ΠΈ расчёта ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° jpegli позволяСт ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния с Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ 10 ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±ΠΈΡ‚ΠΎΠ² Π½Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. ΠŸΡ€ΠΈ этом Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² кодирования адаптируСтся для Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JPEG ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 8 Π±ΠΈΡ‚ Π½Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Подобная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ позволяСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌΠΈ, рассчитанными Π½Π° 8-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ прСдставлСниС Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ….

ΠšΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ jpegli изобраТСния ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ стандарту JPEG, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ спСцифичных Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… просмотрщиках JPEG ΠΈ web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для распаковки ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, сТатых ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ jpegli, собствСнного Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сниТСния Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ². Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ кодирования ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ jpegli сопоставима с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ libjpeg-turbo ΠΈ MozJPEG.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru