پرش به محتوای اصلی

ارسال JPEG XL در کروم

هکرنیوز۱۴۰۵ مهر ۱۵, چهارشنبه، ساعت ۱۴:۵۵حدود 3 دقیقه مطالعه

آدرس مقاله: https://developer.chrome.com/blog/jpeg-xl-in-chrome آدرس نظرات: https://news.ycombinator.com/item?id=49991227 امتیاز: 249 # نظرات: 131

لوکا ورساری موریتز فیرشینگ فیلیپ یاگنشتد

ما مشتاقیم اعلام کنیم که Chrome از Chrome 155 پشتیبانی رمزگشایی را برای قالب تصویر JPEG XL ( .jxl ) ارسال می کند. JPEG XL یک قالب تصویر نسل بعدی است که برای رفع نیازهای توسعه دهندگان وب و عکاسان مدرن طراحی شده است. این فشرده سازی 30 تا 50 درصد بهتر از JPEG، فشرده سازی بدون تلفات، پشتیبانی داخلی HDR، رمزگذاری JPEG بدون تلفات و موارد دیگر ارائه می دهد.

به طور کلی، توصیه می کنیم هر دو AVIF و JPEG XL را امتحان کنید تا بهترین نتیجه را بگیرید. ما انتظار داریم که JPEG XL برای فشرده‌سازی با کیفیت بالا یا بدون تلفات، به‌ویژه تصاویر عکاسی یا در مواردی که رمزگشایی پیشرونده ریز دانه ترجیح داده می‌شود، بسیار مفید باشد.

در این پست، دلیل آوردن JPEG XL را به کروم، نحوه استفاده از Rust برای اطمینان از ایمنی حافظه، عملکرد گسترده که باعث سریع شدن آن می‌شود و آنچه سفر درباره بازخورد توسعه‌دهندگان و اکوسیستم استانداردهای وب به ما می‌گوید را به اشتراک می‌گذاریم.

رمزگشاهای تصویر یکی از حیاتی ترین و هدفمندترین سطوح حمله در هر مرورگر وب مدرنی هستند. آنها ساختارهای باینری پیچیده و غیرقابل اعتماد را مستقیما از شبکه پردازش می کنند و در داخل فرآیند رندر اجرا می شوند. از لحاظ تاریخی، رمزگشاهایی که به زبان‌های ناامن از نظر حافظه مانند C++ نوشته شده‌اند، مستعد آسیب‌پذیری‌هایی مانند خواندن‌های خارج از محدوده، سرریزهای پشته‌ای و باگ‌های بدون استفاده بوده‌اند.

مدل امنیتی ما مبتنی بر سندباکس و دفاع در عمق است که توسط قانون دو هدایت می شود. با این حال، sandboxing یک لایه ثانویه دفاعی است. برای از بین بردن این خطرات امنیتی در منبع، ما jxl-rs را یکپارچه کرده ایم، پیاده سازی Rust خالص از رمزگشای JPEG XL.

ایمنی حافظه بسیار مهم است، اما یک رمزگشای ایمن برای حافظه که تقریبا به همان سرعت بهترین جایگزین غیرایمن حافظه است، انتخاب بسیار واضح‌تری نسبت به انتخابی با کاهش عملکرد قابل توجه است.

بخش اساسی عملکرد کدک های مدرن استفاده کامل از سخت افزار SIMD موجود در دستگاه های مدرن است. برای انجام ایمن این کار، ویژگی target_feature_11 Rust باید تثبیت می‌شد، که امکان استفاده از دستورالعمل‌های SIMD را بدون نیاز به کد ناامن فراهم می‌کرد.

گام بعدی ساخت یک لایه انتزاعی SIMD (jxl_simd)، با الهام از کتابخانه C++ Highway (خود در اصل برای libjxl، پیاده‌سازی مرجع C++ JPEG XL توسعه یافته بود) بود. با هم، این پیشرفت‌ها امکان نوشتن یک کتابخانه چند پلتفرمی را فراهم می‌آورد که بهینه‌سازی عملکرد SIMD را به خطر نمی‌اندازد، در حالی که عملیات ناامن را به تعداد کمی از مکان‌های بسیار بررسی شده محدود می‌کند.

بهینه‌سازی‌های عملکرد در jxl-rs مبتنی بر مواردی است که در libjxl هستند. این شامل یک خط لوله پردازش عمومی برای مراحل عبور از مرزهای منطقه است، در حالی که کپی های داده را به حداقل می رساند تا عملکرد سخت افزار را به حداکثر برساند. ما عملکرد پیاده سازی مجدد Rust را در پلتفرم های سخت افزاری مختلف در داشبورد عملکرد jxl-rs ردیابی کرده ایم.

ما پیاده‌سازی jxl-rs را با تکنیک‌های پیشرفته مختلف، از جمله بررسی فازی و هوش مصنوعی کد، تأیید کردیم، و هیچ اشکال ایمنی حافظه را در طول کل تاریخ پیاده‌سازی پیدا نکردیم، که تأیید دیگری از پیشرفت‌های عظیمی است که Rust در ایمنی حافظه به ارمغان می‌آورد.

تیم Chrome بازخورد توسعه‌دهندگان وب را از طیف گسترده‌ای از کانال‌ها، مانند اشکالات، نظرسنجی‌ها، پروژه سیگنال‌های توسعه‌دهنده و پروژه Interop در نظر می‌گیرد. تصمیم ما برای ارسال JPEG XL بر اساس بازخوردها و درخواست‌های مستمر از توسعه‌دهندگان وب بود که بیشتر در فرآیند Interop قابل مشاهده بود، جایی که در سال 2026 و چندین سال قبل از آن یک پیشنهاد محبوب بود.

برای اطمینان از سازگاری قالب در بین مرورگرها، ما در بررسی Interop 2026 JPEG XL شرکت کرده‌ایم تا اطمینان حاصل کنیم که پوشش آزمایشی برای همه ویژگی‌های JPEG XL در مرورگرها وجود دارد و این آزمایش‌ها در Chrome با موفقیت انجام می‌شوند.

با ورود رسمی JPEG XL در کروم، وب سریع‌تر، غنی‌تر و ایمن‌تر می‌شود. ما توسعه‌دهندگان، سازندگان محتوا و صاحبان پلتفرم را تشویق می‌کنیم که از تصاویر و انیمیشن‌های jxl. در خط لوله خود استفاده کنند.

آن را امتحان کنید، اشکالات را ثبت کنید و به ما کمک کنید تا به ساختن یک وب سریعتر و ایمن برای همه ادامه دهیم.

مایلیم از همه افرادی که در jxl-rs یا ادغام آن در کروم کمک کردند، و به ویژه هلموت یانوشکا برای مشارکت قابل توجه در ادغام کروم و jxl-rs، و مارتین بروس، زولتان سابادکا، سامی بوکورت و وونو چوی برای مشارکت های قابل توجه خود در jxl تشکر کنیم.

خواندن متن کامل در هکرنیوزبه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

Shipping JPEG XL in Chrome

Article URL: https://developer.chrome.com/blog/jpeg-xl-in-chrome Comments URL: https://news.ycombinator.com/item?id=49991227 Points: 249 # Comments: 131

همه‌ی اخبار فناوری