Я узнал, что, если нужно осуществить DCT на изображении размера (Н, W), нужно матрицу А, которая имеет размер (8, 8), и нужно использовать это, чтобы вычислить с (8, 8 ) область Р на изображении. Это означает, если массив изображения м, нужно вычислить м [: 8,: 8], а затем м [8:16, 8:16], и так далее.
Как я мог реализовать этот DCT, когда размер входного изображения не масштаб 8. Например, если размер изображения (12, 12), которые не могут держать два (8, 8) окна, как я мог реализовать DCT? Я попробовал OpenCV и обнаружил, что OpenCV может справиться с этим сценарием, но я не знаю, как это реализовали.
8x8 называется «Минимальный кодированный блок» (MCU) в спецификации, хотя энтузиасты видео называют их «макроблоками» .
Малоимущие реализации будут подушечка для заполнения нулей - что может вызвать неприятные последствия.
Лучше реализаций площадки для заполнения, повторив предыдущий пиксель из влево, если обивки справа или сверху, если обивка вниз.
Обратите внимание, что только правая сторона и нижняя части изображения могут быть дополнены.