Кіріспе
Видеоды сығыстыру техникасы, видео кадрларын тиімді болжау және жасау үшін қолданылады. Компьютердегі қозғалыс өтеуі – бұл видеодағы камераның және/немесе нысандардың қозғалысын ескере отырып, алдыңғы және/немесе келесі кадрлар негізінде кадрды болжауға арналған алгоритмдік техника. Ол видео деректерін сығыстыру үшін, мысалы, MPEG-2 файлдарын жасау үшін кодтауда қолданылады. Қозғалыс өтеуі – анықтамалық суреттің ағымдағы суретке түрленуі түрінде суретті сипаттайды. Анықтамалық сурет уақыт бойынша бұрынғы немесе тіпті болашақ кадр болуы мүмкін. Егер суреттерді бұрын берілген/сақталған суреттерден дәл синтездеуге болады, онда сығыстыру тиімділігі артады. Қозғалыс өтеуі – дискретті косинус түрлендіруімен (DCT) бірге видео кодтау стандарттарында қолданылатын екі негізгі видео сығыстыру техникасының бірі. H.26x және MPEG форматтары сияқты көптеген видео кодтау стандарттары әдетте қозғалыс өтеуі бар DCT гибридтік кодтауын қолданады. Қозғалыс өтеуін пайдаланып кадрларды болжағаннан кейін, кодтаушы қалдық мәнді табады, ол сығыстырылып, жіберіледі.
Motion compensation in computing is an algorithmic technique used to predict a frame in a video given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video data for video compression, for example in the generation of MPEG 2 files. Motion compensation describes a picture in terms of the transformation of a reference picture to the current picture. The reference picture may be previous in time or even from the future. When images can be accurately synthesized from previously transmitted/stored images, the compression efficiency can be improved. Motion compensation is one of the two key video compression techniques used in video coding standards, along with the discrete cosine transform (DCT). Most video coding standards, such as the H.26x and MPEG formats, typically use motion compensated DCT hybrid coding,
After predicting frames using motion compensation, the coder finds the residual, which is then compressed and transmitted.
Блоктың өзгермелі өлшеміне байланысты қозғалыс компенсациясы
Өзгермелі блок өлшемі қозғалыс компенсациясы (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 режимінде кездеседі.
blocks are typically twice as big in each dimension and overlap quadrant wise with all 8 neighbouring blocks. Thus, each pixel belongs to 4 blocks. In such a scheme, there are 4 predictions for each pixel which are summed up to a weighted mean. For this purpose, blocks are associated with a window function that has the property that the sum of 4 overlapped windows is equal to 1 everywhere. Studies of methods for reducing the complexity of OBMC have shown that the contribution to the window function is smallest for the diagonally adjacent block. Reducing the weight for this contribution to zero and increasing the other weights by an equal amount leads to a substantial reduction in complexity without a large penalty in quality. In such a scheme, each pixel then belongs to 3 blocks rather than 4, and rather than using 8 neighboring blocks, only 4 are used for each block to be compensated. Such a scheme is found in the H.263 Annex F Advanced Prediction mode
Төрт пиксел (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 форматтары) қабылдады.