Кіріспе

Видеоды сығыстыру техникасы, видео кадрларын тиімді болжау және жасау үшін қолданылады. Компьютердегі қозғалыс өтеуі – бұл видеодағы камераның және/немесе нысандардың қозғалысын ескере отырып, алдыңғы және/немесе келесі кадрлар негізінде кадрды болжауға арналған алгоритмдік техника. Ол видео деректерін сығыстыру үшін, мысалы, MPEG-2 файлдарын жасау үшін кодтауда қолданылады. Қозғалыс өтеуі – анықтамалық суреттің ағымдағы суретке түрленуі түрінде суретті сипаттайды. Анықтамалық сурет уақыт бойынша бұрынғы немесе тіпті болашақ кадр болуы мүмкін. Егер суреттерді бұрын берілген/сақталған суреттерден дәл синтездеуге болады, онда сығыстыру тиімділігі артады. Қозғалыс өтеуі – дискретті косинус түрлендіруімен (DCT) бірге видео кодтау стандарттарында қолданылатын екі негізгі видео сығыстыру техникасының бірі. H.26x және MPEG форматтары сияқты көптеген видео кодтау стандарттары әдетте қозғалыс өтеуі бар DCT гибридтік кодтауын қолданады. Қозғалыс өтеуін пайдаланып кадрларды болжағаннан кейін, кодтаушы қалдық мәнді табады, ол сығыстырылып, жіберіледі.

Блоктың өзгермелі өлшеміне байланысты қозғалыс компенсациясы

Өзгермелі блок өлшемі қозғалыс компенсациясы (VBSMC) – кодтаушыға блоктардың мөлшерін динамикалық түрде таңдау мүмкіндігі бар қозғалыс компенсациясының (BMC) қолданылуы. Видеоны кодтағанда, үлкен блоктарды пайдалану қозғалыс векторларын көрсетуге қажетті биттер санын азайтуға мүмкіндік береді, ал кіші блоктарды пайдалану болжамның қалдық ақпаратын кодтау үшін аз көлемде қалдыруы мүмкін. Басқа зерттеулер блок шекарасынан тыс, өзгермелі пішіндегі ерекшелік өлшемдерін пайдалануды қарастырды, олардың негізінде кадр аралық векторлар есептелуі мүмкін. H.261 және MPEG 1 бейне форматтары сияқты бұрынғы үлгілер әдетте белгілі бір блок мөлшерін қолданса, H.263, MPEG 4 Part 2, H.264/MPEG 4 AVC және VC 1 сияқты жаңа үлгілер кодтаушыға қозғалысты көрсету үшін қандай блок мөлшерін пайдалануды динамикалық түрде таңдау мүмкіндігін береді.

Қалқаланған блок қозғалысының өтелуі

Қалпына келтірілген блок қозғалысын өтеу (OBMC) осы мәселелерге тиімді шешім болып табылады, себебі ол болжамның дәлдігін ғана емес, сонымен қатар блокталған артефакттардың пайда болуын да болдырмайды. OBMC қолданғанда, блоктар әдетте әрбір өлшемде екі есе үлкен болады және барлық 8 көршілес блокпен төрттен бір бөліктей (квадрант бойынша) жабысады. Осылайша, әрбір пиксель 4 блокқа тиесілі болады. Мұндай схемада әр пиксель үшін 4 болжам жасалады, олар салмақталған орташа мәнге дейін қосылады. Бұл үшін блоктарға 4 жапсарлас терезелердің қосындысы кез келген нүктеде 1-ге тең болатын қасиеті бар терезе функциясы сәйкес келеді. OBMC-нің күрделілігін азайту әдістерін зерттеу, терезе функциясына диагональды түрде іргелес блок ең аз үлес қосатынын көрсетті. Бұл үлесті нөлге дейін азайту және қалған салмақтарды бірдей шамаға арттыру сапаға елеулі зиян келтірмей күрделілікті айтарлықтай төмендетуге мүмкіндік береді. Мұндай схемада әрбір пиксель енді 4 емес, 3 блокқа тиесілі болады, ал әрбір блок өтеу үшін 8 көршілес блоктардың орнына тек 4-і ғана қолданылады. Мұндай схема H.263 қосымшасы F-дегі Advanced Prediction режимінде кездеседі.

Төрт пиксел (QPel) және жарты пиксел қозғалыс компенсациясы

Қозғалыс компенсациясында, тоқсандық немесе жартылай үлгілер – бөлшекті қозғалыс векторларының нәтижесінде туындайтын интерполяцияланған қосалқы үлгілер болып табылады. Векторлар мен толық үлгілер негізінде, қосалқы үлгілер бикубтық немесе билинейлік 2D сүзгілеу арқылы есептелуі мүмкін. H.264 стандартының 8.4.2.2 "Бөлшектік үлгілерді интерполяциялау процесі" тармағына қараңыз.

3D бейнелерді кодтау әдістері

Қозғалыс өтеуі стереоскопиялық бейне кодтауда пайдаланылады. Бейнеде уақыт көбінесе үшінші өлшем ретінде қарастырылады. Дегенмен, кескін кодтау техникаларын қосымша өлшемге кеңейтуге болады. JPEG 2000 толқындықтарды қолданады, оларды да адаптивті түрде блоктар арасындағы үзілістерсіз қозғалысты кодтау үшін пайдалануға болады. Бөлшек пикселдік аффиндік түрлендірулер жақын пикселдер арасында араласуға (немесе боянуға) алып келеді. Егер жоғарырақ ішкі ажыратымдылық қолданылмаса, дельта кескіндері көбінесе кескіннің бүркелеуіне (немесе смазылуына) қарсы күреседі. Дельта кескінін де толқындықтар ретінде кодтауға болады, сонда адаптивті блоктардың шекаралары сәйкес келеді. 2D+Delta кодтау техникалары H.264 және MPEG 2 форматымен үйлесімді кодтауды пайдаланады және стереоскопиялық кескіндерді сығымдау үшін қозғалыс өтеуін қолдана алады.

Тарих

Қозғалыс өтемақысы тұжырымдамасының алғашқы идеясы 1929 жылға дейін жетеді, сол кезде Ұлыбританиядағы Р. Д. Келл аналогты бейне көрінісінің бір кадрдан екінші кадрға өзгерген бөліктерін ғана тарату тұжырымдамасын ұсынған болатын. 1959 жылы NHK зерттеушілері Y. Taki, M. Hatori және S. Tanaka кадраралық қозғалыс өтемақысы тұжырымдамасын ұсынды, олар уақыт бойынша бейне кодтауды болжау әдісін ұсынды.

Қозғалыспен өтелетін ДСТ

Практикалық қозғалыспен өтелетін бейне сығылу, қозғалыспен өтелетін DCT (MC DCT) кодтаудың дамуымен пайда болды, бұл блоктық қозғалыспен өтелетін (BMC) немесе DCT қозғалыспен өтелетін деп те аталады. Бұл гибридтік кодтау алгоритмі.

1974 жылы Оңтүстік Калифорния университетіндегі Али Хабиби гибридтік кодтауды енгізді, ол болжамдық кодтауды трансформациялық кодтаумен біріктіреді. Алайда, оның алгоритмі бастапқыда кеңістіктік өлшемдегі кадр ішіндегі кодтаумен шектелген. 1975 жылы Джон А. Роуз және Гуннер С. Робинсон Хабибидің гибридтік кодтау алгоритмін уақытша өлшемге кеңейтті, кеңістіктік өлшемдегі трансформациялық кодтауды және уақытша өлшемдегі болжамдық кодтауды қолдана отырып, кадраралық қозғалыспен өтелетін гибридтік кодтауды жасады. Ғарыштық түрлендіру кодтау үшін олар DCT және жылдам Фурье түрлендіруімен (FFT) тәжірибе жүргізді, екеуі үшін де кадраралық гибридті кодтаушыларды жасады және DCT өзінің күрделілігі төмендеуіне байланысты ең тиімді екенін анықтады, бейне телефон көрінісі үшін бейне деректерін 0,25 бит/пикселге дейін сығуға қабілетті, бейне сапасы кадр ішіндегі кодтаушымен салыстыруға болады, ол пикселге 2 бит қажет етеді. 1979 жылы Анил К. Джайн және Жасвант Р. Джайн қозғалыспен өтелетін DCT бейне сығылуын одан әрі дамытты. H.120 видео кодтау үшін тиімді емес қозғалыспен өтелетін DPCM кодтауын қолданды, сондықтан H.120 төмен өнімділікке байланысты практикалық емес болды. H.261 стандарты 1988 жылы қозғалыспен өтелетін DCT сығылуына негізделіп жасалды және бұл алғашқы практикалық бейне кодтау стандарты болды. Содан бері қозғалыспен өтелетін DCT сығылуы барлық негізгі бейне кодтау стандарттары (оның ішінде H.26x және MPEG форматтары) қабылдады.