Universitet


Moslashuv ball o'ynamoqda



Yüklə 1,56 Mb.
səhifə46/58
tarix22.06.2022
ölçüsü1,56 Mb.
#62077
1   ...   42   43   44   45   46   47   48   49   ...   58
Cherdyncev maket (1)

Moslashuv ball o'ynamoqda


O'yin nuqtasini moslashtirish jarayoniga ikkita asosiy yondashuv mavjud: yoki ozgina o'zgartirish vaqt o'ynamoqda har bir ramka va harakat mavzular eng nuqta o'ynash, yoki qo'shimcha yoki etishmayotgan ramkalarni olib tashlang yoki qo'shing.


      1. Moslashuv ball ovozni tinglashni bostirish


Ovoz uzluksiz media formatidir, ya'ni har bir kadr ma'lum vaqt davomida o'ynaydi va keyingi kadr oldingisidan keyin darhol o'ynaydi. Agar jimlikni bostirish ishlatilmasa, keyin orasida ramkalar Yo'q vaqt ustida ular moslashish, shuning uchun mos keladigan moslashish algoritmlari bunday bostirishning mavjudligini sezilarli darajada hisobga oladi.
Da transfer nutqlar Gapirmoqda hosil qiladi davrlar ovoz sukunat davrlari bilan ajratilgan bir necha yuz millisekund davom etadigan tebranishlar. Shaklda. 6.16 bunday signalning tuzilishini ko'rsatadi.




Guruch. 6.16. Tuzilishi nutq signal
Yuboruvchi jimlik davrlarini o'z ichiga olgan kadrlarni aniqlaydi va bostiradi ular. DA natija keyingi ketma-ketlik paketlar RTP yorliqlarni o'z ichiga oladi vaqt hisobga olgan holda bular davrlar sukunat keyin u yerda kadrlarni ijro etish o'rtasida vaqt oralig'ida ba'zi bo'shliqlar mavjud. Bunday hollarda, qabul qiluvchi ijro etish nuqtasini faqat jimlik davrida moslashtirishga harakat qilishi kerak.
Qabul qiluvchining keyingi tovush davrining boshlanishini aniqlash juda oson, chunki jo'natuvchi jimlik davridan keyin birinchi paket uchun mos keladigan bitni bittaga o'rnatishi kerak. Biroq, ba'zida bu birinchi paket yo'qoladi. Biroq, ushbu davrni aniqlash imkoniyati saqlanib qolmoqda, chunki bu holda, rasmda ko'rsatilganidek, vaqt belgilarining raqamlari va qiymatlarining belgilangan ketma-ketligi buziladi. 6.17.





Guruch. 6.17. Aniqlash boshlash davri ovoz
Ovoz davrining boshlanishi aniqlanganda, siz nuqtani moslashingiz mumkin o'ynamoqda kichik o'zgartirish interval sukunat. Quyida ushbu amallarni amalga oshiradigan psevdokod keltirilgan.
int
should_adjust_playout(rtp_packet kori, rtp_packet oldingi, int qarshi) { if (curr->marker) {
qaytish TRUE; // Aniq ko'rsatma ning yangi gapirish otilish
}
delta_seq = curr->seq - oldingi->qator; delta_ts = curr->ts - oldingi->ts;
agar (delta_seq * paketlararo_bo'shliq != delta_ts) {
qaytish TRUE; // Yashirin ko'rsatma ning yangi gapirish otilish
}
agar (curr->pt == COMFORT_NOISE_PT) || qulaylik_shovqin (oqim)) { qaytish TRUE; // Gapirishlar orasida
}
agar (kurash > UNSECUTIVE_DROP_RESHOLD) { contdrop = 0;
qaytish TRUE; // Nimadur ega ketdi yomon noto'g'ri, shunday sozlash
}
qaytish FALSE;
}

      1. Yüklə 1,56 Mb.

        Dostları ilə paylaş:
1   ...   42   43   44   45   46   47   48   49   ...   58




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin