rav1e 0.3-ի թողարկում, AV1 կոդավորիչ Rust-ում

տեղի ունեցավ թողարկում rav1e 0.3, բարձր արդյունավետությամբ վիդեո կոդավորման ֆորմատի կոդավորիչ AV1, развиваемого сообществами Xiph и Mozilla. Кодировщик написан на языке Rust и отличается от эталонного кодировщика libaom значительным увеличением скорости кодирования и повышенным вниманием к обеспечению безопасности. Код проекта տարածվում է BSD լիցենզիայի ներքո:

AV1-ի բոլոր հիմնական գործառույթներն ապահովված են, ներառյալ աջակցությունը
ներքին և արտաքին կոդավորված շրջանակներ (ներ- и inter-շրջանակներ), 64x64 սուպերբլոկներ, 4:2:0, 4:2:2 և 4:4:4 քրոմային ենթամեկուսիչ, 8-, 10- և 12-բիթ գույների խորության կոդավորում, RDO (Rate-աղավաղումների օպտիմալացում) օպտիմալացման աղավաղում, տարբեր ռեժիմներ միջկադրային փոփոխությունները կանխատեսելու և վերափոխումները հայտնաբերելու, հոսքի արագությունը վերահսկելու և տեսարանի կրճատումը հայտնաբերելու համար:

Նկատելի է AV1 ֆորմատը առջևում է H.264-ը և VP9-ը սեղմման հնարավորությունների առումով, սակայն դրանք իրականացնող ալգորիթմների բարդության պատճառով. պահանջում զգալիորեն ավելի շատ ժամանակ կոդավորման համար (կոդավորման արագության դեպքում libaom-ը հարյուրավոր անգամ զիջում է libvpx-vp9-ին և հազարավոր անգամ զիջում x264-ին):
rav1e կոդավորիչն առաջարկում է 11 կատարողական մակարդակ, որոնցից ամենաբարձրն ապահովում է կոդավորման գրեթե իրական ժամանակի արագություն: Կոդավորիչը հասանելի է և՛ որպես հրամանի տող, և՛ որպես գրադարան:

Նոր տարբերակում.

  • Առաջարկվում է ավելի արագ կոդավորման ռեժիմ Արագություն 10;
  • Երկուական հավաքների չափը կրճատվել է (x86_64/Linux հարթակում գրադարանը զբաղեցնում է մոտ 3 ՄԲ);
  • Հավաքման ժամանակը կրճատվել է մոտավորապես 14%-ով;
  • Ավելացվել է բազմաշերտ ֆիլտր՝ բլոկների արտեֆակտները տեսանյութից հեռացնելու համար (ապաբլոկավորում);
  • x86_64 ճարտարապետության համար լրացուցիչ օպտիմալացումներ են իրականացվել՝ օգտագործելով SIMD հրահանգները, և ընդլայնվել է ավտոմատ վեկտորացման օգտագործումը;
  • Հիշողության բաշխման գործողությունների թիվը կրճատվել է 1/6-ով;
  • RDO-ում (Rate-disstortion optimization) բարելավվել է ներկադրային աղավաղումները ճնշելու տրամաբանությունը.
  • Որոշ գործողություններ լողացող կետի թվաբանությունից տեղափոխվել են ամբողջ թվերի հաշվարկներ.
  • Երկրորդ արագության մակարդակում կոդավորման որակը բարելավվել է 1-2%-ով;
  • Ավելացված է շարժման ուղղության կանխատեսման նոր զտիչ (Intra edge);
  • Ավելացվել է «-S» տարբերակը (--switch-frame-interval)՝ շրջանակների միջև փոխարկման միջակայքը որոշելու համար;
  • Ավելացվեց կառուցման աջակցություն wasm32-wasi պլատֆորմի համար (WebAssembly համակարգի ինտերֆեյս).

Source: opennet.ru

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