Какова причина/использование / причина блоков, которые появляются в видео с высоким сжатием?
Будьте терпеливы, так как я не очень много работал с алгоритмами сжатия, поэтому это может быть очевидно для некоторых из вас. Что-то я всегда замечал, когда какое-то потоковое видео начинает отставать. Я понял, что мне было любопытно, только когда посмотрел на этот вопрос:
Twitter image encoding challenge
Я говорю не о самих пикселях, а скорее о сетке, которая является результатом сжатия. О каком алгоритме или технике идет речь? Что ты можешь расскажи мне об этом?
3 ответа:
Взгляните на эту статью Википедии ОMPEG-2 . Процитируем его часть:
Другими словами, сетчатая структура, которую вы видите, является прямым следствием применения этого DCT к блокам пикселей 8x8.Короче говоря, необработанный кадр разделен на 8 пиксельных блоков по 8 пикселей. Данные в каждом блоке преобразуются дискретным косинусным преобразованием. В результате получается матрица коэффициентов 8 на 8. Преобразование преобразует пространственные вариации в частотные, но не изменяет информацию в блоке; исходный блок может быть воссоздан точно, применяя обратный Косинус преобразиться.
Обоснование блоков связано с компромиссом между местоположением и частотой. Изображение разбивается на блоки перед сжатием в спектральной области (DCT ) так, чтобы артефакты, вызванные сжатием, были более локализованы. В стандартном JPEG блоки имеют постоянный размер на всей картинке. Для более поздних форматов, таких как JPEG2000, блоки адаптируются к изображению, используя вейвлеты. Я не знаком с подробностями видеоформатов, но обоснование то же самое.
Это это то же самое явление для кодирования Аудио (mp3): вместо вычисления спектра на весь аудиофайл, вы разделяете файл на несколько секций нескольких сэмплов (несколько сотен, как правило, для сигналов 44,1 кГц). И точно так же, если есть повреждение сжатых данных (сеть, поврежденный файл), вы услышите шумы, которые связаны с отсутствующими окнами.
Это называется Макроблокирование.