QOI şəkil sıxılma formatı təqdim edildi

RGB və RGBA rəng məkanlarında təsvirin çox sürətli sıxılmasına imkan verən yeni, yüngül, itkisiz şəkil sıxılma formatı QOI (Olduqca Tamam Şəkil) təqdim edildi. Performansı PNG formatı ilə müqayisə edərkən, SIMD təlimatlarını və assembler optimallaşdırmalarını istifadə etməyən C dilində QOI formatının tək yivli istinad tətbiqi kodlaşdırma sürətində libpng və stb_image kitabxanalarından 20-50 dəfə sürətlidir və Deşifrə sürətində 3-4 dəfə. Sıxılma səmərəliliyi baxımından əksər testlərdə QOI libpng-ə yaxındır (bəzi testlərdə bir qədər irəlidədir, digərlərində isə itirir), lakin ümumilikdə stb_image-dən nəzərəçarpacaq dərəcədə irəlidədir (20%-ə qədər qazanc).

C-də QOI istinad tətbiqi yalnız 300 sətir koddan ibarətdir. Mənbə kodu MIT lisenziyası altında paylanır. Bundan əlavə, həvəskarlar Go, Zig və Rust-da kodlayıcıların və dekoderlərin tətbiqlərini hazırladılar. Layihə MPEG1 video deşifrəsi üçün kitabxana yaratmaq təcrübəsi olan oyun tərtibatçısı Dominic Szablewski tərəfindən hazırlanır. Müəllif QOI formatından istifadə edərək, həddən artıq mürəkkəb olan müasir təsvir kodlaşdırma formatlarına effektiv və sadə alternativ yaratmağın mümkün olduğunu göstərmək istəyirdi.

QOI performansı kodlanmış təsvirin (O(n)) ayırdetmə qabiliyyətindən və təbiətindən asılı deyil. Kodlaşdırma və şifrələmə bir keçiddə həyata keçirilir - hər piksel yalnız bir dəfə işlənir və keçmiş piksellərin dəyərlərindən asılı olaraq seçilən 4 üsuldan biri ilə kodlaşdırıla bilər. Növbəti piksel əvvəlki ilə üst-üstə düşürsə, təkrar sayğacı yalnız artır. Əgər piksel keçmiş piksel buferində 64 dəyərlərindən birinə uyğun gəlirsə, dəyər əvəzinə keçmiş pikselə 6 bitlik ofset göstərilir. Son pikselin rəngi bir qədər fərqlənirsə, fərq qısa formada göstərilir (2,4 və 5 bitlərə uyğun gələn rəng komponentlərindəki fərqlərin qısaldılmış kodlaşdırılması). Optimallaşdırma tətbiq edilmirsə, tam rgba dəyəri müəyyən edilir.

Mənbə: opennet.ru

Добавить комментарий