კოდეკი არ არსებობს მანამ, სანამ მისი დეკოდირება ყველასთვის ხელმისაწვდომი არ გახდება. ამ პრინციპით ხელმძღვანელობს VideoLAN-ის გუნდი, რომელმაც ახალი AV2 ვიდეო კოდეკისთვის შექმნილი სწრაფი დეკოდერი, dav2d წარადგინა.

AV2 კოდეკი წარმოადგენს AV1-ის მემკვიდრეს და Alliance for Open Media-ს უახლეს, უფასო სტანდარტს. AV1-მა 2018 წლიდან მოყოლებული მსოფლიო ბაზარზე უდიდესი აღიარება მოიპოვა და დღეს ის ინტეგრირებულია თითქმის ყველა პოპულარულ ბრაუზერში, ოპერაციულ სისტემასა და სტრიმინგ პლატფორმაში.

რატომ არის dav2d მნიშვნელოვანი?

AV2-ის ტექნიკური მახასიათებლები წინამორბედთან შედარებით ბევრად კომპლექსურია. კოდეკი დაახლოებით ხუთჯერ უფრო რთულ გამოთვლებს მოითხოვს, რაც იმას ნიშნავს, რომ არსებული აპარატურული რესურსებით მისი რეალურ დროში გაშვება დიდ სირთულეებთანაა დაკავშირებული. სწორედ ამიტომ, VideoLAN-მა გადაწყვიტა, დეკოდერის შემუშავება ადრეულ ეტაპზევე დაეწყო.

პროექტი ეფუძნება dav1d-ის შემუშავებისას დაგროვილ მდიდარ გამოცდილებას. dav1d დღეს მსოფლიოში ყველაზე ფართოდ გამოყენებადი AV1 პროგრამული დეკოდერია, რომელიც საფუძვლად უდევს ისეთ აპლიკაციებს, როგორებიცაა VLC, FFmpeg, Chrome და Safari.

ტექნიკური პროგრესი და მხარდაჭერა

dav2d უკვე ფუნქციონირებად მდგომარეობაშია და მხარს უჭერს როგორც 8-ბიტიან, ისე 10-ბიტიან დეკოდირებას. განვითარების პროცესი მიმდინარეობს შემდეგი მიმართულებებით:

  • x86 არქიტექტურა: ინტეგრირებულია AVX2 ოპტიმიზაციები ტრანსფორმაციებისა და პროგნოზირების ალგორითმებისთვის.
  • ARM მხარდაჭერა: AArch64 NEON-ის გამოყენებით ოპტიმიზირებულია ენტროპიული დეკოდირება და მოძრაობის კომპენსაციის ფუნქციები.
  • RISC-V: დაწყებულია მუშაობა ახალი არქიტექტურის ადაპტაციაზე.

გუნდი აქტიურად იყენებს checkasm ინსტრუმენტს, რაც საშუალებას იძლევა, ოპტიმიზებული კოდი მუდმივად შედარდეს საეტალონო C იმპლემენტაციასთან. ეს მიდგომა პროექტს უფრო სწრაფსა და უსაფრთხოს ხდის.

ღია წყარო და მომავალი

ისევე როგორც dav1d, dav2d-იც ვრცელდება BSD-ს სტილის ღია ლიცენზიით. ეს ნაბიჯი დეველოპერებს აძლევს საშუალებას, მარტივად ინტეგრირონ დეკოდერი როგორც ღია, ისე კომერციულ პროდუქტებში. მიუხედავად იმისა, რომ წინ კიდევ ბევრი სამუშაოა — მათ შორის მაღალი ბიტიანობის მქონე ვიდეოების ოპტიმიზაცია და მეხსიერების მოხმარების შემცირება — საფუძველი უკვე მყარად არის მომზადებული.