Внутрикадровое кодирование — это метод сжатия данных , используемый в видеокадре , позволяющий уменьшить размер файла и снизить битрейт с небольшой потерей качества или без нее. Поскольку соседние пиксели в изображении часто очень похожи, вместо того, чтобы хранить каждый пиксель независимо, изображение кадра делится на блоки, и обычно незначительное различие между каждым пикселем может быть закодировано с использованием меньшего количества бит.
Внутрикадровое предсказание использует пространственную избыточность, т. е. корреляцию между пикселями в пределах одного кадра, вычисляя значения предсказания посредством экстраполяции из уже закодированных пикселей для эффективного дельта-кодирования . Это один из двух классов методов предиктивного кодирования в видеокодировании . Его аналогом является межкадровое предсказание, которое использует временную избыточность. Временно независимо закодированные так называемые внутрикадровые кадры используют только внутрикодирование. Временно закодированные предсказанные кадры (например, P- и B-кадры MPEG) могут использовать как внутрикадровое, так и межкадровое предсказание.
Обычно для экстраполяции используются только несколько пространственно наиболее близких известных образцов. Форматы, которые работают по образцу, такие как Portable Network Graphics (PNG), обычно могут использовать один из четырех соседних пикселей (выше, выше левого, выше правого, слева) или некоторую их функцию, например, их среднее значение. Форматы на основе блоков (преобразование частоты) предварительно заполняют целые блоки значениями прогнозирования, экстраполированными обычно из одной или двух прямых линий пикселей, которые проходят вдоль их верхней и левой границ.
Впервые межкадровый формат был определен CCITT в 1988–1990 годах в стандарте H.261 . H.261 предназначался для телеконференций и телефонии ISDN.
Данные обычно считываются с видеокамеры или видеокарты в формате данных YCbCr (часто неформально называемом YUV для краткости). Процесс кодирования сильно различается в зависимости от типа используемого кодировщика (например, JPEG или H.264 ), но наиболее распространенные шаги обычно включают: разбиение на макроблоки , преобразование (например, с использованием DCT или вейвлета ), квантование и энтропийное кодирование .
Он используется в кодеках типа ProRes : группа кодеков изображений без промежуточных кадров .