EA041592B1 - Кодирование и декодирование видео - Google Patents
Кодирование и декодирование видео Download PDFInfo
- Publication number
- EA041592B1 EA041592B1 EA202092359 EA041592B1 EA 041592 B1 EA041592 B1 EA 041592B1 EA 202092359 EA202092359 EA 202092359 EA 041592 B1 EA041592 B1 EA 041592B1
- Authority
- EA
- Eurasian Patent Office
- Prior art keywords
- motion
- samples
- compensated prediction
- encoder
- filter
- Prior art date
Links
Description
Область техники
Данное изобретение относится к кодированию и декодированию видео, в частности, в тех случаях, когда используется предсказание с компенсацией движения.
Уровень техники
В кодировании видео широко распространен принцип формирования остатка путем вычитания из текущего кадра предсказания, основанного на предыдущем (или следующем) кадре. В данной так называемой методике межкадрового (inter) кодирования для эффективности кодирования требуется, чтобы предсказание было с компенсацией движения. В кодере измеряются векторы движения между соответствующими блоками в разнесенных по времени кадрах, и они доставляются в битовом потоке декодеру. В нем декодированные векторы движения используются для извлечения предсказания с компенсацией движения из ранее декодированного кадра, которое затем складывается с декодированными остатками.
Затруднения возникают в ситуации, когда видео, которое должно быть кодировано, содержит размытие в движении, т.е. там, где движение в лежащей в основе сцене достаточно быстрое, чтобы смещение в рамках апертуры затвора камеры было существенным. Хорошо известно, что это явление может быть смоделировано в качестве применения низкочастотного фильтра к исходному изображению на всю апертуру затвора камеры. В предположении поступательного движения импульсная характеристика фильтра размытия в движении пропорциональна составляющим движения в горизонтальном и вертикальном направлениях. Вследствие этого, если в заданном кадре возникает размытие в движении, то для каждого блока кодирования опорный кадр, который используется (декодером) для компенсации движения, будет содержать более резкую версию текущего блока. В итоге получается, что более резкие края в опорном кадре по-прежнему будут присутствовать в остатках, что приводит к более широкому спектру и менее эффективному кодированию.
Одна попытка решить данную проблему обсуждается в заявке на патент США 2006/0171569, в которой предлагается применение фильтра размывания к более резкому кадру перед тем, как измеряются векторы движения. Поскольку затем векторы движения будут идентифицироваться между блоком в кадре с размытием в движении и соответствующим блоком в искусственно размытом кадре (а не резком кадре), то ожидается лучшее предсказание с компенсацией движения с меньшими остатками. В настоящее время принято предоставлять кодеру возможность выбора из некоторого количества разных кадров, используемых при формировании предсказания с компенсацией движения, и в документе US2006/0171569 предлагается, чтобы искусственно размытый кадр включался в список кадров, из которого кодер делает выбор. Использование размытого кадра сигнализируется декодеру и поскольку могут присутствовать опции по форме фильтра размывания, который используется кодером, то также необходимо предоставлять декодеру информацию об использованном фильтре размывания.
При том, что использование фильтра размывания из предшествующего уровня техники обладает некоторыми преимуществами, видны возможности для улучшения.
Сущность изобретения
В соответствии с одним аспектом способ декодирования битового потока видео содержит этапы, на которых принимают битовый поток, представляющий собой остаточные выборки, созданные путем вычитания отфильтрованных кодером выборок предсказания с компенсацией движения из выборок изображения; и векторы движения, которые использовались при формировании выборок предсказания с компенсацией движения; процесс фильтрации кодера, который проводится над выборками предсказания с компенсацией движения в кодере, по меньшей мере с одним параметром; используют упомянутые векторы движения, чтобы предоставлять выборки предсказания с компенсацией движения из ранее восстановленного изображения; осуществляют фильтрацию декодера упомянутых выборок предсказания с компенсацией движения в соответствии с упомянутым по меньшей мере одним параметром и складывают упомянутые отфильтрованные выборки предсказания с компенсацией движения с упомянутыми остаточными выборками для восстановления изображений.
Преимущественно способ содержит этап, на котором анализируют выборки предсказания с компенсацией движения (или ранее восстановленное изображение), чтобы логически вывести по меньшей мере один параметр процесса фильтрации кодера, причем упомянутая фильтрация декодера выборок предсказания с компенсацией движения выполняется в соответствии с упомянутым по меньшей мере одним логически выведенным параметром.
В другом аспекте способ кодирования видео содержит этапы, на которых формируют выборки предсказания с компенсацией движения с использованием векторов движения и восстановленного изображения; проводят процесс фильтрации кодера над выборками предсказания с компенсацией движения; вычитают выборки предсказания с компенсацией движения из выборок изображения, чтобы сформировать остаточные выборки; и формируют битовый поток, представляющий собой остаточные выборки, векторы движения и, необязательно, по меньшей мере один параметр процесса фильтрации кодера.
Преимущественно способ дополнительно содержит этап, на котором анализируют выборки предсказания с компенсацией движения (или ранее восстановленное изображение), чтобы определить по меньшей мере один параметр процесса фильтрации кодера.
Предпочтительно этап, на котором анализируют, содержит этап, на котором определяют наличие
- 1 041592 любого преобладающего направления в выборках предсказания с компенсацией движения или ранее восстановленном изображении, чтобы логически вывести параметр или параметры, относящиеся к наличию или подробностями любой анизотропии в процессе фильтрации кодера.
Фильтрация кодера и декодера может использовать апертуру фильтра, определяющую взвешенные вклады текущей выборки предсказания с компенсацией движения и соседних выборок предсказания с компенсацией движения в блоке или другом наборе выборок предсказания с компенсацией движения. Упомянутые или один из упомянутых параметров и предпочтительно упомянутые или один из упомянутых логически выведенных параметров могут относиться к анизотропии апертуры фильтра и могут быть двоичным флагом, обозначающим изотропию или анизотропию апертуры фильтра и/или могут обозначать преобладающее направление анизотропной апертуры фильтра и предпочтительно одно из набора квантованных направлений. Упомянутые или один из упомянутых параметров и предпочтительно упомянутые или один из упомянутых логически выведенных параметров могут обозначать количество выборок в упомянутой апертуре фильтра и/или весовой коэффициент вклада текущей выборки предсказания с компенсацией движения.
В другом аспекте способ декодирования битового потока видео содержит этапы, на которых: принимают битовый поток, представляющий собой: остаточные выборки, созданные путем вычитания выборок предсказания с компенсацией движения из выборок изображения; и векторы движения, которые использовались при формировании выборок предсказания с компенсацией движения; процесс фильтрации кодера, который проводится в кодере, по меньшей мере с одним параметром; используют упомянутые векторы движения чтобы предоставлять выборки предсказания с компенсацией движения из ранее восстановленных выборок изображения; и складывают упомянутые выборки предсказания с компенсацией движения с упомянутыми остаточными выборками, чтобы восстановить изображения; причем способ, отличающийся тем, что: проводят анализ в декодере, чтобы логически вывести по меньшей мере один параметр процесса фильтрации кодера; и осуществляют фильтрацию декодера упомянутых выборок предсказания с компенсацией движения или упомянутых ранее восстановленных выборок изображения в соответствии с упомянутым по меньшей мере одним логически выведенным параметром и, необязательно, в соответствии по меньшей мере с одним параметром, представленным в битовом потоке.
Преимущественно этап, на котором анализируют, содержит этап, на котором определяют наличие и/или направление любого преобладающего направления в массиве выборок, чтобы логически вывести параметр или параметры, относящиеся к любой анизотропии в процессе фильтрации кодера.
В другом аспекте способ кодирования битового потока видео содержит этапы, на которых формируют выборки предсказания с компенсацией движения с использованием векторов движения и восстановленных выборок изображения; вычитают выборки предсказания с компенсацией движения из выборок изображения, чтобы сформировать остаточные выборки; и формируют битовый поток, представляющий собой остаточные выборки и векторы движения; причем способ, отличающийся тем, что проводят анализ, чтобы определить по меньшей мере один параметр процесса фильтрации кодера, который не представляется в битовом потоке; и осуществляют фильтрацию кодера упомянутых выборок предсказания с компенсацией движения или упомянутых ранее восстановленных выборок изображения в соответствии с упомянутым по меньшей мере одним параметром.
Преимущественно этап, на котором анализируют, содержит этап, на котором определяют наличие и/или направление любого преобладающего направления в массиве выборок, чтобы определить параметр или параметры, относящиеся к любой анизотропии.
Массив выборок может содержать выборки предсказания с компенсацией движения или ранее восстановленное изображение.
Фильтрация кодера или декодера может использовать апертуру фильтра, определяющую взвешенные вклады текущей выборки и соседних выборок в блоке или другом наборе выборок, при этом упомянутые или один из упомянутых параметров и предпочтительно упомянутые или один из упомянутых логически выведенных параметров относятся к анизотропии апертуры фильтра и могут быть двоичным флагом, обозначающим изотропию или анизотропию апертуры фильтра. Упомянутые или один из упомянутых параметров и предпочтительно упомянутые или один из упомянутых логически выведенных параметров могут обозначать преобладающее направление анизотропной апертуры фильтра и предпочтительно одно из набора квантованных направлений. Упомянутые или один из упомянутых параметров и предпочтительно упомянутые или один из упомянутых логически выведенных параметров могут обозначать количество выборок в упомянутой апертуре фильтра и/или весовой коэффициент вклада текущей выборки предсказания с компенсацией движения.
Может быть предоставлен компьютерный программный продукт, выполненный с возможностью предписания программируемому устройству реализации любого из этих способов.
Может быть предоставлено устройство, выполненное с возможностью реализации способа в соответствии с любым из этих способов.
Краткое описание чертежей
Теперь изобретение будет описано в качестве примера при обращении к сопроводительным чертежам, на которых:
фиг. 1 является структурной схемой кодера;
- 2 041592 фиг. 2 показывает таблицу ядер фильтра, которые могут быть использованы; и фиг. 3 показывает способ обнаружения преобладающего направления градиента (GDD) изображения; и фиг. 4 является структурной схемой декодера.
Подробное описание определенных вариантов осуществления
На фиг. 1 показан кодер, в котором предсказание с компенсацией движения вычитается из текущего кадра, чтобы предоставить остаток, который преобразуется 14, квантуется 16 и энтропийно кодируется 18, чтобы сформировать кодированный битовый поток. После преобразования 14 и квантования 16 текущий входной кадр подвергается обратному квантованию 42 и обратному преобразованию 44 (как известно в соответствующей области техники). Результирующий кадр является тем, который будет получен в декодере; затем он используется в качестве базового кадра для следующего кадра. Данный кадр объединяется с текущим кадром предсказания МС, чтобы получить опорный кадр (буфер 46 декодированной картинки), для которого может быть определено подходящее предсказание с компенсацией движения для следующего кадра.
Когда принимается следующий входной кадр, данный следующий входной кадр объединяется с опорным кадром (из буфера 46 декодированной картинки), чтобы получить оценку 48 движения. Это определяет подходящие векторы движения, чтобы отобразить блоки в опорном кадре в соответствующих блоках в (следующем) входном кадре. Опорный кадр (из буфера 46 декодированной картинки) и векторы из оценки 48 движения затем используются, чтобы получить предсказание 12 с компенсацией движения. Затем оптимальное предсказание МС вычитается из следующего входного кадра, чтобы сформировать остаток, который преобразуется 14, квантуется 16, энтропийно кодируется 18 и передается.
В этом смысле кодер на фиг. 1 является обычным.
В соответствии с одним аспектом данного изобретения предсказание с компенсацией движения пропускается к сглаживающему фильтру, который предоставляет альтернативное, сглаженное предсказание с компенсацией движения.
Таким образом, общая структурная схема гибридного кодера видео с предсказанием с компенсацией движения модифицируется путем добавления сглаживающего фильтра. Сглаживающий фильтр работает с предсказателем Р (предоставленным посредством компенсации движения), чтобы получить альтернативный предсказатель PMCPS. При условии, что применяемое сглаживание может не быть полезным для всех блоков кодирования, например, потому что Р уже обеспечивает хорошую эффективность кодирования, то требуется присутствие флага в битовом потоке для его корректного декодирования. Вследствие этого, на стороне кодера для каждого блока кодирования остатки вычисляются с и без сглаживания, и в конечном итоге выбирается режим, который минимизирует лагранжевые затраты по скоростиискажению. Этапы последовательности выполняемых действий кодера в данном аспекте изложены ниже с использованием - для эффективности - псевдокода, в котором MCPS обозначает процесс сглаживания.
Для (For) каждого режима m межкадрового кодирования выполнить
Установить Р равным предсказателю, вычисленному как указано ш
Применить MCPS к Р и установить полученный предсказатель в Pmcps
Вычислить остатки R, ассоциированные с Р
Вычислить остатки Rmcps, ассоциированные с Pmcps
Кодировать (т.е. применить частотное преобразование, квантование и энтропийное кодирование) R и Rmcps
Измерить скорость г и rMcps, ассоциированную с R и Rmcps, соответственно
Вычислить распределение D и Dmcps для R и Rmcps, соответственно
Вычислить лагранжевые затраты J и Jmcps
Если J<Jmcps, записать в битовый поток флаг со значением ноль, иначе записать флаг со значением один
Конец для (Endfor)
Процесс сглаживания может быть представлен пространственным фильтром с апертурой или ядром, которые определяют, какие выборки вносят свой вклад в вывод и с каким взвешиванием.
В одном примере процесс сглаживания MCPS использует два типа из следующих: ядро с функцией подобной Скользящей Средней (МА) и симметричное ядро. Первый тип является 2D и крестообразным фильтром при том, что второй соответствует ID фильтру, который применяется по четырем направлениям: горизонтальному, вертикальному, под 45 и 135°. Также могут быть использованы другие размеры, как, впрочем, и другие фильтры, и другие направления. Поскольку первый тип фильтра соответствует 2D, который работает по горизонтальным и вертикальным измерениям, то он далее будет обозначаться как изотропный при том, что ядра второго типа далее обозначаются как направленные. Как упомянуто выше величина размытия зависит от активности движения в разных зонах изображения. Соответственно размер разных используемых ядер может варьироваться, чтобы дополнительно повысить эффективность кодирования. Применительно к способу MCPS используются два примерных размера для ядер: 3 и 5, где
- 3 041592 составляющая цветности использует только размер 3. В целом (примерные) ядра, указанные в MCPS, перечислены на фиг. 2.
Сглаживание использует целочисленную арифметику с 6-битной внутренней точностью, что приводит к тому, что каждое ядро имеет усиление равное 64. Следует отметить, что значение из 6 битов для внутренней точности было выбрано в данном примере, чтобы соответствовать той же самой точности, которая используется для представления коэффициентов ядер, указанных в HEVC для компенсации движения. Другие значения могут быть подходящими для будущих стандартов.
Всего существует восемь разных ядер и если кодер должен выполнить исчерпывающий поиск наилучшего режима во время оптимизации скорости-искажения, то восемь полных кодирований результирующих остатков должны быть оценены в дополнение к случаю отсутствия сглаживания. Однако результирующая сложность может быть непомерно высокой в некоторых приложениях. Чтобы облегчить вычислительную нагрузку и/или обеспечить преимущества, подробно описанные ниже, кодер в соответствии с данным примером выбирает только тип фильтра (т.е. изотропный или направленный) и связанный размер (т.е. 3 или 5). Оставшийся параметр, т.е. направленность, определяется путем предварительного анализа - в данном случае - предсказания с компенсацией движения, чтобы идентифицировать преобладающее направление. Это может быть выполнено путем измерения и анализа градиентов.
Например, и как показано на фиг. 3, когда выбирается направленное сглаживание, решение в отношении направления, в котором должно быть применено ядро, принимается на основании Преобладающего Направления Градиента (GDD) для блока Р предсказателя. GDD определяется как направление из четырех указанных (т.е. горизонтального, вертикального, диагонального под 45 и диагонального под 135), которое имеет наивысшую распространенность среди всех выборок, принадлежащих заданному предсказателю Р с компенсацией движения. Предполагая предсказатель размера NxN, 3x3 оператор Собеля применяется 32 по всем выборкам Р(х, у) для х, y=1,...,N-1. Оператор предпочтительно не вычисляется по внешним границам Р (т.е. верхней, нижней, левой и правой) с тем, чтобы избежать заполнения, и 4xN-4 операций может быть опущено. Оператор применяется как горизонтально, так и вертикально, чтобы получить Gx и Gy. Направление, на которое указывает вектор-градиент, образует угол α с горизонталью, который задается как
где знак - учитывает другую систему координат, которая используется в изображениях, относительно декартовой 2D плоскости. Функция arctan аппроксимируется с помощью целочисленной арифметики и точностью до 10 бит. Угол α тогда равномерно квантуется 34 на вышеупомянутые направления с шагом квантования в 45° и мертвая зона устанавливается в 22.5°. После квантования 34 вычисляется 36 гистограмма из четырех столбцов и GDD определяется 38 пиком гистограммы. Применительно к примеру, изображенному на фиг. 3, горизонтальное направление выбирается в качестве преобладающего.
С введением направленных и переменного размера ядер общая последовательность выполняемых действий, представленная выше, расширяется следующим образом.
Для каждого (Foreach) режима ш межкадрового кодирования выполнить
Установить Р равным предсказателю, вычисленному как указано ш
IВычислить остатки R, ассоциированные с Р
Вычислить остатки Rmcps, ассоциированные с Pmcps
Кодировать (т.е. применить частотное преобразование, квантование и энтропийное кодирование)R
Измерить скорость г и распределение D ассоциированные с R и вычислить лагранжевые затраты J
Установить Jbest*-J
Для каждого (Foreach) режима s сглаживания в {Изотропный или Направленный}
- 4 041592 выполнить
Для каждого размера ks ядра в {3,5} выполнить
Если 8==Изотропный
Применить сглаживание с крестообразной фильтрацией с размером ks, чтобы получить
Pmcps
Иначе (8==Направленный)
Вычислить GDD d
Применить сглаживание с 1D ks-размерной фильтрацией по d, чтобы получить Pmcps
Конец если (Endif)
Вычислить остатки Rmcps ассоциированные с Pmcps
Кодировать Rmcps и измерить Fmcps, вычислить Dmcps и Jmcps
Если Jbest<Jmcps
Установить Jbest^Jmcps, sBest^s и ksBEsr^ks
Конец для (Endfor)
Конец для (Endfor)
Если JBest==J
Записать в битовый поток флаг со значение ‘0’
Иначе
Записать в битовый поток флаг со значение Т и sBest и ksBEsr
Конец если (Endif)
Конец для (Endfor)
На стороне декодера просигнализированные метаданные указывают информацию о том, применяется ли сглаживание, и, если применяется, какой тип и размер был выбран. В примере HEVC метаданные могут быть переданы на основе Единицы Кодирования и обращаться к трем составляющим цвета: следовательно, если метаданные сигнализируют, что используется MCPS, то он будет применен к Y, Cb и Cr. Информация, ассоциированная с MCPS, переносится с помощью трех двоичных флагов, обозначенных следующим образом в таблице.
Флаг для сигнализации метаданных, которые требуются MCPS
Имя флага | Описание |
use_mcps_flag | Указывает, используется или нет MCPS |
mcps_type | Указывает, какой тип фильтра используется (изотропный или направленный) |
mcps_size | Указывает, какой размер использовать для сглаживания (3 или 5) |
В примере HEVC каждый флаг кодируется с помощью САВАС с использованием одного контекста из расчета на флаг. В заключение, использование MCPS может быть просигнализировано как в Наборе Параметров Последовательности (SPS), так и заголовке слайса. Флаг на уровне слайса передается только если MCPS разрешено на уровне SPS. Решение в отношении значения флага на уровне слайса принимается после того, как завершается сжатие всех CTU, принадлежащих тому слайсу. Если ни одна из CU не имеет флаг usemcpsflag равный 1, тогда флаг заголовка слайса устанавливается в ноль, или в единицу в ином случае. Стоит отметить, что решение в отношении значения для флага на уровне слайса должно быть принято в смысле RDO, но это потребует сжатия слайса дважды, что может быть недопустимо с точки зрения сложности кодера. Специалисту в соответствующей области техники будет понятно, что могут быть использованы другие методики сигнализации, в частности, в контексте будущих стандартов.
Учитывая использование целочисленной арифметики и ядер короткого размера, дополнительная сложность - обработка, которая требуется базовым алгоритмом MCPS, - привнесенная MCPS, является весьма ограниченной.
В декодере, как показано, например, на фиг. 4, соответствующий фильтр 64 сглаживания работает над предсказанием 62 с компенсацией движения, чтобы предоставить альтернативное, сглаженное предсказание для сложения с обратно квантованными и обратно преобразованными остатками.
Декодер определяет из описанных двоичных флагов: должно ли быть использовано сглаживание; является ли фильтр изотропным или направленным; и какой размер фильтра. Однако в случае, когда используется направленный фильтр сглаживания, декодер может логически вывести, в каком направлении должен быть использован фильтр. Это достигается путем применения по сути точно такого же процесса GDD к предсказанию с компенсацией движения.
Важное преимущество достигается в том, что за незначительное увеличение сложности в декодере, служебная нагрузка, которая накладывается на битовый поток этой методикой, ограничивается в данном примере тремя двоичными флагами.
Должно быть понятно, что направление фильтрации может быть квантовано более тонко с помощью большего количества ядер фильтра. Поскольку направление фильтрации логически выводится в декодере, а не сигнализируется в битовом потоке.
В модификациях, другие параметры фильтра могут выводиться или определяться путем измерения
- 5 041592 в кодере и затем логически выводиться в декодере, тем самым дополнительно сокращая объем информации, сигнализация которой требуется в битовом потоке.
Например, процесс, аналогичный процессу GDD, может быть использован, чтобы определять степень анизотропии в выборках и, таким образом, должен ли быть использован изотропный или направленный фильтр. В частности, описанная гистограмма может быть использована, чтобы логически выводить тип фильтра для использования. Аналогичный процесс будет проводиться в декодере, чтобы логически выводить то, какой тип фильтра использовать.
В другом примере размер фильтров для использования может быть основан на пространственном разрешении последовательности; направлении фильтра или гистограмме направлений градиента, в частности относительном количестве направлений.
Количество и качество используемых фильтров могут быть расширены, например, чтобы включать дополнительные направления и чтобы включать более сложные формы ядра. Вес коэффициентов, в частности центрального коэффициента в ядрах фильтра, может быть выбран в зависимости, например, от визуальных характеристик контента.
В соответствующих случаях декодер может быть выполнен с возможностью логического вывода всех существенных параметров (включая наличие) процесса фильтрации кодирования. Тогда не будет необходимости в представлении параметра в битовом потоке.
Существуют другие модификации, которые могут иметь полезное применение, в частности, когда ограничены вычислительные ресурсы. Конечно, такие ограничения чаще будут применяться в декодере.
Например, учитывая, что MCPS является дополнительной фильтрацией, каскадно-включенной по отношению к компенсации движения, можно предположить возможность объединения как компенсации движения, так и сглаживания путем свертки ассоциированных ядер. В частности, учитывая то, что присутствует некоторое количество дискретных, разных режимов MCPS, некоторые предварительно вычисленные ядра могут быть сохранены в памяти для использования позже. Однако по описанию из предыдущих разделов и при обращении к фиг. 1, можно отметить, что в случае направленной фильтрации, компенсация движения и MCPS не могут быть связаны вместе, поскольку GDD вычисляется по выборкам, полученным после компенсации движения. Чтобы устранить эту зависимость чередования, MCPS может использовать в качестве предсказателя Р кадр, полученный в предположении точности вектора движения в целый пиксель - а не той, которая получается с использованием суб-пиксельной интерполяции. Сглаживание и суб-пиксельная компенсация движения тогда объединяются путем свертки ассоциированных ядер. В данном случае доступность GDD может быть обеспечена после компенсации движения с целочисленной точностью, но до того, как применяется суб-пиксельная компенсация движения, и вследствие этого доступность PMCPS может быть обеспечена после одного единственного этапа фильтрации.
В кодере процесс GDD тогда будет отделен от фильтра сглаживания и будет работать с выходом буфера декодированной картинки. Аналогичным образом, в декодере процесс GDD будет работать с ранее декодированной картинкой.
Будет видно, что текущие и предложенные стандарты обеспечивают выбор опорных кадров блок за блоком, как, впрочем, и векторов движения. Таким образом, MCPS может быть выполнен отдельно для каждого вектора движения или каждого сочетания вектора движения и опорного кадра.
Различные другие модификации будут очевидны специалистам в соответствующей области техники, например, при том, что подробное описание первоначально рассматривало способ, который используется для размывания, данный способ также может быть использован для устранения размывания кадров. Это может включать использование известных методик обнаружения размытия, вместо GDD, и фильтра устранения размывания вместо фильтра сглаживания. В более общем смысле данное изобретение может быть полезно для уменьшения остатков в любом наборе изображений, при этом определенный эффект присутствует только в одном из изображений.
Расширения способа, например использование для устранения размывания, могут включать изменение отправляемых флагов, при этом могут быть отправлены отличающиеся флаги в зависимости от фильтра, который должен быть применен. В соответствии с примером устранения размывания может присутствовать выбор флагов для следующего: фильтр отсутствует; фильтр размывания; фильтр устранения размывания (конечно, это может быть расширено для включения дополнительных флагов). Признаки применения фильтра, например вычисление преобладающего направления градиента, могут оставаться как вычисляемые декодером, чтобы минимизировать затраты на передачу.
В качестве альтернативы тип фильтра, который должен быть применен, может быть логически выведен из фильтруемого изображения, например размытое изображение может приводить к применению фильтра устранения размывания. Может присутствовать флаг, который отправляется только когда должен быть применен необычный фильтр - как, например, использование фильтра размывания для уже размытого изображения.
Фильтр также может зависеть от исторических данных, например, если был применен к предыдущим блокам или кадрам, то соответственно могут быть выбраны направление или величина примененного фильтра.
-
Claims (6)
- Следует отметить, что сглаживание и связанные решения, описанные в данном документе, могут быть применены на любом уровне степени разбиения в цикле кодирования, будь то Единицы Кодирования или Единицы Предсказания (в случае стандарта HEVC) или любого вида разбиения в других возможных будущих стандартах.Хотя до сих пор внимание в данном изобретении было сконцентрировано на сглаживании или другой фильтрации предсказания с компенсацией движения, возможность выбора из широкого диапазона фильтров - без соответствующего увеличения нагрузки от сигнализации, возлагаемой на битовый поток может быть преимуществом в случае, когда сглаживание или другая фильтрация проводятся над опорным кадром до компенсации движения, например, как показано в документе US2006/0171569.ФОРМУЛА ИЗОБРЕТЕНИЯ1. Способ декодирования битового потока видео, содержащий этапы, на которых принимают битовый поток, представляющий собой остаточные выборки, созданные путем вычитания отфильтрованных кодером выборок предсказания с компенсацией движения из выборок изображения; и векторы движения, которые использовались при формировании выборок предсказания с компенсацией движения;процесс фильтрации кодера, проводимый в кодере по меньшей мере с одним параметром;используют упомянутые векторы движения, чтобы предоставлять выборки предсказания с компенсацией движения из ранее восстановленных выборок изображения; и складывают упомянутые выборки предсказания с компенсацией движения с упомянутыми остаточными выборками, чтобы восстановить изображения;причем способ содержит этапы, на которых проводят анализ в декодере, чтобы логически вывести по меньшей мере один параметр процесса фильтрации кодера, при этом анализ содержит этап, на котором определяют наличие и/или направление любого преобладающего направления в выборках предсказания с компенсацией движения или ранее восстановленных выборках изображения; и осуществляют фильтрацию декодера упомянутых выборок предсказания с компенсацией движения или упомянутых ранее восстановленных выборок изображения в соответствии с упомянутым по меньшей мере одним логически выведенным параметром.
- 2. Способ по п.1, в котором осуществляют фильтрацию декодера упомянутых выборок предсказания с компенсацией движения или упомянутых ранее восстановленных выборок изображения в соответствии по меньшей мере с одним параметром, представленным в битовом потоке.
- 3. Способ по любому из предшествующих пунктов, в котором фильтрация декодера использует апертуру фильтра, определяющую взвешенные вклады текущей выборки предсказания с компенсацией движения и соседних выборок предсказания с компенсацией движения в блоке или другом наборе выборок предсказания с компенсацией движения.
- 4. Способ по п.3, в котором упомянутые или один из упомянутых параметров и предпочтительно упомянутые или один из упомянутых логически выведенных параметров относятся к анизотропии апертуры фильтра.
- 5. Способ по п.3 или 4, в котором упомянутые или один из упомянутых параметров и предпочтительно упомянутые или один из упомянутых логически выведенных параметров являются двоичным флагом, обозначающим изотропию или анизотропию апертуры фильтра; и/или обозначают преобладающее направление анизотропной апертуры фильтра и предпочтительно одно из набора квантованных направлений; и/или обозначают количество выборок в упомянутой апертуре фильтра; и/или обозначают весовой коэффициент вклада текущей выборки предсказания с компенсацией движения.
- 6. Способ кодирования видео, содержащий этапы, на которых фо рмируют выборки предсказания с компенсацией движения с использованием векторов движения и восстановленного изображения;пр оводят процесс фильтрации кодера над выборками предсказания с компенсацией движения на основании одного или более параметров;вычитают выборки предсказания с компенсацией движения из выборок изображения, чтобы сформировать остаточные выборки; и формируют битовый поток, представляющий собой остаточные выборки, векторы движения, при этом способ дополнительно содержит этапы, на которых пр оводят анализ выборок предсказания с компенсацией движения и/или ранее восстановленного изображения для определения упомянутого по меньшей мере одного из упомянутых параметров процесса фильтрации кодера;при этом этап анализа содержит этап, на котором определяют наличие и/или направление любого-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1805569.9 | 2018-04-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
EA041592B1 true EA041592B1 (ru) | 2022-11-10 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11849110B2 (en) | Apparatus for encoding and decoding image by skip encoding and method for same | |
JP6356912B2 (ja) | 最適化関数を用いてグラフベース予測を実行する方法及び装置 | |
US9253507B2 (en) | Method and device for interpolating images by using a smoothing interpolation filter | |
JP6592086B2 (ja) | 一般化されたグラフパラメータを用いてグラフ基盤変換を行う方法及び装置 | |
US20220239901A1 (en) | Video picture component prediction method and apparatus, and computer storage medium | |
US11202082B2 (en) | Image processing apparatus and method | |
EA041592B1 (ru) | Кодирование и декодирование видео | |
CN112154667B (zh) | 视频的编码和解码 | |
EP3711297A1 (en) | Image and video processing apparatuses and methods | |
KR20120129629A (ko) | 루프 내 전처리 필터링을 이용한 움직임 추정 및 보상 방법 | |
US20230044603A1 (en) | Apparatus and method for applying artificial intelligence-based filtering to image | |
GB2580036A (en) | Bitstream decoding |