B-tekisliklar P-tekisliklardan shu bilan farqlanadiki, unda kodlash uchun harakatni kompensiyalashda nafaqat avvalgi, balki keyingi I- va P- tekisliklar ham qo‘llaniladi. Ushbu tekislikning har bir makrobloki avvalgi tekislik makrobloki, keyingi tekislik makrobloki va ushbu makrobloklar superpozitsiyasi bo‘yicha bashorat qilinadi.
S-tekislik spraytlarga (MPEG-4 standartida sprayt deb, video ketma-ketlikning aniq intervali davomida ko‘rinib turadigan tasvir bo‘lagi ataladi) aloqador. Sprayt rolida ko‘pincha fon (yoki orqa plan) bo‘lishi mumkin. Spraytdan foydalanib dekodlashda, kadr qisman spraytning alohida xududlarini dekodlanayotgan kadrning u yoki bu xududidan, istiqbolli o‘zgartirishdan foydalangan holda, tiklanish amalga oshiriladi. Sprayt alohida saqlanadi va I-tekisliklardaka kodlanadi. Spraytlardan foydalanishning xususiy holi S-tekislik (GMC - global motion compensation) hisoblanadi; bu holatda sprayt sifatida avvalgi I- yoki P-tekisliklardan biri belgilanadi.
MPEG-1 kadrlari kabi navbat bilan keluvchi turli ko‘rinishdagi tekisliklar umumlashtirilgan kodlanuvchi guruhlariga bo‘linadi; guruh boshida doim I-tekislik bo‘lishi kerak, keyin esa odatda B-tekisliklar P- va S-turdagi tekisliklar bilan navbatma -navbat keladilar.
Yuqorida ko‘rsatilganidek, MPEG-4 videooqimlarini yuqori samarali siqilishi uchun sahna ob’ektlarini ajratib olishdan foydalaniladi, biroq ob’ektlarni bir jinsli bo‘lmagan fonda ajratib olish yetarlicha murakkab masala va u ko‘plab hisoblashlar talab qiladi. Shuning uchun MPEG-4-10 (H264) standartida tasvirlarni o‘zgaruvchan o‘lchamli to‘g‘ri to‘rtburchak bloklarga bo‘lish amalga oshiriladi, bu esa harakat kompensatsiyasi aniqligini oshirish imkonini beradi.
MPEG-4 video kodeki harakatning blokli kompensatsiyasida 16x16 pikselli bloklardan foydalanadi. Kodlashda video kodek videoni intra tizimi bo‘yicha I-qatlam va P-qatlamlarga bo‘lib oladi. Ularning asosiy farqi shundaki, I-qatlam shu kadr sempllar asosida kodlangan makrobloklardan tashkil topgan, R-qatlam esa avval ishlov berilgan rasmlarda kodlangan makrobloklardan iboratdir.
Qachonki R-qatlam ichidagi bitli oqimda tushirib qoldirilgan makroblok signali yuzaga kelsa, unda ushbu makroblok uchun keyingi ma’lumotlar bitli oqimga uzatilmaydi. Dekoder kadrni “birlamchi” rasmlardan tiklaydi va barcha ortiqcha rasmlarni e'tiborga olmaydi. Biroq, agar birlamchi rasm, buzilgan(shikastlangan) bo‘lsa, dekoder shikastlangan xududni dekodlangan ma’lumotlarning ortiqcha rasmlari orqali tiklashga harakat qiladi.
Har bir makroblok yorug‘lik komponenti (16x16 o‘lchamli) to‘rt xil yo‘l bilan (16x16, 16x8, 8x16 yoki 8x8) bo‘linishi mumkin yoki 8x8 bloklar ham (8x8, 8x4, 4x8 yoki 4x4) 4.24-rasmda ko‘rsatilgandek bo‘linadi.
4.24-rasm. Makrobloklarni kichik o‘lchamli bloklarga bo‘linishiga misol.
Har bir kichik o‘lcham xudud makroblok bo‘lagi hisoblanadi. Makrobloklarni bloklarga, mos holda ularni subbloklarga bo‘linishi har bir makroblok maydonida kombinatsiyalarning katta miqdorini olish imkonini beradi. Makroblok yoki subblokning har bir bo‘lagi uchun alohida harakat vektori belgilanishi kerak. Har bir vektor kodlanadi va aloqa kanali bo‘ylab uzatiladi. Undan tashqari, bitli oqimda tanlangan bo‘lish usulini kodlash kerak. Bo‘lish bo‘laklarining katta o‘lchamidan (16x16,16x8,8x16) foydalanish, harakat vektorlarini uzatish uchun kam bitlar talab qilinishi anglatadi, lekin bu qolgan bloklarni mayda detalli tasvirlar xududidagi harakatlanish kompensatsiyasining katta xatoliklariga olib keladi.
Bo‘lish bo‘laklarining kichik o‘lchamidan (8x4,4x4 va h.k.) foydalanish, qoldiq bloklarni mayda detalli tasvirlar xududidagi, harakatlanish kompensatsiyasidan so‘ng, kam xatoliklariga olib keladi, lekin bu harakat vektorlari va bo‘lish usullari haqida uzatilayotgan axborotning hajmining oshib ketishiga olib keladi. Shunday qilib, bo‘lish o‘lchamini tanlash videotasvirning siqish qiymatiga katta ta’sir qiladi.
Odatda, ma’lumotlar xatoliklari axborotlarni sun’iy yo‘ldoshdan qabul qilishda ko‘proq yuzaga keladi. Ob-havo sharoitlar yoki boshqa faktorlar sababli signal aniq vaqt oralig‘ida yo‘qolib qolsa, yangi kadrning mavjud bloklar bo‘laklari uzatiladi, ayrim bloklari, mavjudmaslari uzatilmaydi. Yangi mavjud bloklar koordinataga muvofiq ko‘chib o‘tadi, yo‘qlarining o‘rniga esa avvalgi kadr bloklari qo'yiladi.
Qaerdaki, joriy kadr bilan tayanch kadr orasida katta farq bo‘lsa(masalan sahna tasvirlari o‘zgarganda), shu yerda makroblokni harakat kompensatsiyasisiz kodlash mumkin. Shunday qilib, koder har bir makroblok uchun intra va inter rejimlardan birini tanlaydi.
H.264 standartidagi koder ishini namoyon qiluvchi tashkiliy chizma 4.25-rasmda ko‘rsatilgan va u deyarli MPEG-1, MPEG-2 kodeklaridagi elementlardan iborat.
Ushbu koder videooqimga ishlov berishning ikkita tarmog‘ini o‘z ichiga oladi:
to‘g‘ridan-to‘g‘ri kodlash kanali, bu yerda ma’lumotlarga ishlov berish chapdan o‘ngga amalga oshiriladi;
videotasvirni tiklash kanali, bu yerda ma’lumotlarga ishlov berish o‘ngdan chapga amalga oshiriladi.
Koder kirishiga Fn -kadri kelib tushadi. Kadrga ishlov berish boshlang‘ich tasvirning 16x16 piksel o‘lchamli makrobloklari yordamida amaga oshiriladi. Har bir makroblokga ikki rejimda ishlov berilishi mumkin: Intra (harakat kompensatsiyasisiz) yoki Inter (harakat kompensatsiyasi bilan). Har qaysi rejimda Pn -makroblokining bashorati tiklangan kadr asosida shakllanadi.
Do'stlaringiz bilan baham: |