Кіріспе
Компьютерлік графикада қолданылатын жүйе. Блоктарды сәйкестендіру алгоритмі – қозғалыс бағалау мақсатында цифрлық бейне кадрлар тізбегіндегі сәйкес келетін макроблоктерді табудың әдісі. Қозғалыс бағалауының негізгі қағидасы – бейне тізбегінің кадрындағы объектілер мен фонға сәйкес келетін үлгілер, келесі кадрдағы сәйкес объектілерді құру үшін кадр ішінде қозғалады. Бұл бейне тізбегіндегі уақытша қайталануды анықтауға мүмкіндік береді, белгілі бір макроблоктің мазмұнына сілтеме арқылы макроблоктің мазмұнын анықтап, кадрлар арасындағы бейне сығылу тиімділігін арттырады, бұл макроблок минималды түрде өзгеше болады. Блоктарды сәйкестендіру алгоритмі видеоның ағымдағы кадрын макроблоктарға бөлуді және әр макроблокты жақын кадрдағы сәйкес блокпен және оның көршілес блоктарымен салыстыруды қамтиды (кейде тек алдыңғы кадрмен). Макроблоктің бір орналасқан жерден екінші орналасқан жерге қозғалысын модельдейтін вектор жасалады. Бұл қозғалыс, кадрды құрайтын барлық макроблоктар үшін есептелгенде, кадрдағы қозғалыс бағасын құрайды. Жақсы макроблокты іздеу аймағы «іздеу параметрі» p арқылы анықталады, мұнда p – алдыңғы кадрдағы сәйкес макроблоктың барлық төрт жағындағы пиксельдер саны. Іздеу параметрі – қозғалыстың өлшемі. p мәні неғұрлым үлкен болса, қозғалыс мүмкіндігі соғұрлым жоғары және жақсы сәйкестік табу ықтималдығы артады. Дегенмен, барлық мүмкін блоктарды толыққанды іздеу – есептеу ресурстарын көп қажет ететін тапсырма. Типик кіріс – 16 пикселдік макроблок және p = 7 пикселдік іздеу аймағы. Блоктарды сәйкестендіру және 3D сүзгілеу осы әдісті бейнелерді қалпына келтірудің әр түрлі кері проблемаларын шешу үшін пайдаланады, мысалы, шуды азайту және тұрақты бейнелер мен цифрлық бейнелердегі бұлыңғырлықты жою.
A Block Matching Algorithm is a way of locating matching macroblocks in a sequence of digital video frames for the purposes of motion estimation. The underlying supposition behind motion estimation is that the patterns corresponding to objects and background in a frame of video sequence move within the frame to form corresponding objects on the subsequent frame. This can be used to discover temporal redundancy in the video sequence, increasing the effectiveness of inter frame video compression by defining the contents of a macroblock by reference to the contents of a known macroblock which is minimally different. A block matching algorithm involves dividing the current frame of a video into macroblocks and comparing each of the macroblocks with a corresponding block and its adjacent neighbors in a nearby frame of the video (sometimes just the previous one). A vector is created that models the movement of a macroblock from one location to another. This movement, calculated for all the macroblocks comprising a frame, constitutes the motion estimated in a frame. The search area for a good macroblock match is decided by the ‘search parameter’, p, where p is the number of pixels on all four sides of the corresponding macro block in the previous frame. The search parameter is a measure of motion. The larger the value of p, larger is the potential motion and the possibility for finding a good match. A full search of all potential blocks however is a computationally expensive task. Typical inputs are a macroblock of size 16 pixels and a search area of p = 7 pixels. Block matching and 3D filtering makes use of this approach to solve various image restoration inverse problems such as noise reduction and deblurring in both still images and digital video.
Мотивация
Қозғалыс бағалауы – бір 2D кескіннен екіншісіне түрлендіруді сипаттайтын қозғалыс векторларын анықтау процесі; әдетте, бейне тізбегіндегі жақын орналасқан кадрлардан. Қозғалыс векторлары бүкіл кескінге (жалпы қозғалыс бағалауы) немесе тікбұрышты блоктарға, кездейсоқ пішіндес жапсырмаларға, тіпті пиксельдерге қатысты болуы мүмкін. Қозғалыс векторлары трансляциялық модельмен немесе нақты бейнекамераның қозғалысын шамалап бейнелейтін көптеген басқа модельдермен көрсетілуі мүмкін, мысалы, барлық үш өлшемде айналу және трансляция, сондай-ақ масштабтау. Қозғалыс векторларын кескінге қолданып, қозғалатын камера немесе нысанға байланысты басқа кескінге түрленуді болжау, қозғалыс өтемақысы деп аталады. Қозғалыс бағалауы мен қозғалыс өтемақысының үйлесімі MPEG 1, 2 және 4, сондай-ақ көптеген басқа бейне кодектерінде қолданылатын бейне қысудың маңызды бөлігі болып табылады. Қозғалыс бағалауына негізделген бейне қысу, толық кодталған кадрды жіберуге қарағанда ентропиясы төмен кодталған айырмашылық кескіндерін жіберу арқылы биттерді үнемдеуге көмектеседі. Дегенмен, бүкіл қысу процесіндегі ең көп есептеу ресурстарын қажет ететін операция – қозғалыс бағалауы. Сондықтан, бейне қысу үшін жылдам және есептеу жағынан тиімді алгоритмдер қажет.
Алгоритмдер
Блокты сәйкестендіру алгоритмдері 1980-жылдардың ортасынан бері зерттеле бастады. Көптеген алгоритмдер жасалды, бірақ төменде тек ең негізгілері немесе жиі қолданылатындары ғана сипатталған.
Толық іздеу
Бұл алгоритм іздеу терезесіндегі әр мүмкін орналасқан жердегі шығын функциясын есептейді. Бұл анықтамалық кадрдағы макроблокты басқа кадрдағы блокпен ең жақсы сәйкестіруге мүмкіндік береді. Нәтижесінде алынған қозғалыспен түзетілген кескіннің сигнал-шу қатынасы кез келген басқа блокқа сәйкестендіру алгоритмімен салыстырғанда ең жоғары болады. Дегенмен, бұл барлық блокқа сәйкестендіру алгоритмдерінің арасында ең көп есептеу ресурстарын қажет етеді. Іздеу терезесінің көлемі ұлғайған сайын, қажетті есептеулердің саны да артады.
Иерархиялық блоктарды сәйкестендіруді оңтайландыру (OHBM)
Оптимизацияланған иерархиялық блоктарды сәйкестендіру (OHBM) алгоритмі, оптимизацияланған кескін пирамидаларын пайдаланып, толық іздеуді жылдамдатады.