RU2684193C1 - Устройство и способ для компенсации движения в видеоизображении - Google Patents

Устройство и способ для компенсации движения в видеоизображении Download PDF

Info

Publication number
RU2684193C1
RU2684193C1 RU2017144790A RU2017144790A RU2684193C1 RU 2684193 C1 RU2684193 C1 RU 2684193C1 RU 2017144790 A RU2017144790 A RU 2017144790A RU 2017144790 A RU2017144790 A RU 2017144790A RU 2684193 C1 RU2684193 C1 RU 2684193C1
Authority
RU
Russia
Prior art keywords
block
frame
motion
filter
motion vector
Prior art date
Application number
RU2017144790A
Other languages
English (en)
Inventor
Чжицзе ЧЖАО
Ицюнь ЛЮ
Йорн ОСТЕРМАНН
Original Assignee
Хуавэй Текнолоджиз Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хуавэй Текнолоджиз Ко., Лтд. filed Critical Хуавэй Текнолоджиз Ко., Лтд.
Application granted granted Critical
Publication of RU2684193C1 publication Critical patent/RU2684193C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

Изобретение относится к области вычислительной техники для обработки видеоизображений. Технический результат заключается в повышении точности обработки видеоизображений. Технический результат достигается за счет сохранения опорного кадра видеопотока, где упомянутый опорный кадр является отличным от текущего кадра видеопотока, оценки движения, содержащей формирование вектора движения путем оценивания движения между опорным блоком опорного кадра и текущим блоком текущего кадра, выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения, этап формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку, компенсации движения, содержащей формирование фильтрованного блока предсказания текущего блока на основе текущего блока и фильтрованного опорного блока. 6 н. и 13 з.п. ф-лы, 10 ил.

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в целом относится к области обработки видеоизображений и к устройству для компенсации движения в видеоизображении, и конкретно относится к кодеру видео и к декодеру видео, чтобы поддерживать компенсацию движения для предсказания кадров в видеоизображении. Настоящее изобретение кроме того относится к способу для кодирования и к способу для декодирования видеопотока с использованием компенсации движения. В заключение, настоящее изобретение относится к компьютерной программе с наличием программного кода, чтобы выполнять такой способ.
УРОВЕНЬ ТЕХНИКИ
В области обработки видеоизображений, и конкретно в области гибридного кодирования и сжатия видеоизображений, является известным использование межкадрового и внутрикадрового предсказания, а также кодирования с преобразованием. Такие гибридные технологии кодирования видео используются в известных стандартах сжатия видеоизображения, подобных стандартам H.261, H.263, MPEG 1, 2, 4, H.264/AVC или HEVC.
Фиг.1 иллюстрирует кодер видео согласно уровню техники. кодер 100 видео содержит вход для приема входных изображений и выход для формирования кодированного видеопотока. Кодер 100 видео приспособлен для применения предсказания, преобразования, квантования и энтропийного кодирования к видеопоследовательности. Преобразование, квантование и энтропийное кодирование выполняются соответственно посредством модуля 101 преобразования и квантования и посредством энтропийного кодера 103. Между модулем 101 преобразования и квантования и энтропийным кодером 103 обеспечивается модуль 102 сканирования.
Видеопоследовательность соответствует множеству входных изображений (видеокадров), причем каждое изображение разделяется на блоки некоторого размера, которые кодируются либо внутрикадрово (в режиме intra), либо межкадрово (в режиме inter). Блоки первого изображения (видеокадра) видеопоследовательности кодируются внутренне (без ссылок) с помощью модуля 109 внутрикадрового предсказания. Изображение с внутренним кодированием кодируется с использованием только информации внутри того же изображения, так что оно может быть декодировано независимо, и оно может обеспечивать в битовом потоке точку входа для произвольного доступа.
Относительно изображений с межкадровым кодированием, информация из предыдущих и/или будущих кодированных изображений, называемых опорными изображениями, используется для уменьшения временной избыточности. Опорные изображения обрабатываются посредством модуля 104 обратного сканирования, обращенного квантования, обратного преобразования, посредством деблокирующего и SAO (адаптивного смещения выборки) фильтров 105 и сохраняются в буфере 106 кадров. Каждый блок изображения с межкадровым кодированием предсказывается на основе блока такого же размера в опорных изображениях.
Оценка движения применяется модулем 107 оценки движения, чтобы выбрать данные движения, такие как, например, вектор движения (MV), решение о режиме и опорные кадры. Модуль 107 оценки движения содержит в качестве входного, изображение, подлежащее внутреннему кодированию, и опорное изображение. Данные движения выбираются на основании некоторой (целевой) функции стоимости, чтобы минимизировать разность между исходным блоком и его предсказанным блоком. Модуль 110 управления кодером выбирает информацию движения, такую как вектор движения или индекс опорного кадра, на основании процедуры оптимизации по критерию «скорость кодирования - искажение».
Компенсация движения, выполняемая модулем 108 компенсации движения, использует данные движения, которые кодируются и передаются в виде дополнительной информации на декодер, чтобы формировать сигналы предсказания или сигналы кадра с компенсированным движением. Разность между исходным блоком и его предсказанием, которую называют остатком или ошибкой предсказания, затем преобразовывают. Коэффициенты преобразования обычно квантуют, сканируют, энтропийно кодируют и передают вместе с данными движения.
Обработка в декодере, которая является частью кодера 100 видео, представлена в показанном пунктиром прямоугольнике 111 на Фиг.1. Фиг.2 показывает декодер 200 видео согласно уровню техники. Видео декодер 200 подобно кодеру 100 видео содержит энтропийный декодер 203, модуль 204 обратного сканирования, обращенного квантования, обратного преобразования, модуль 205 деблокирующего и SAO фильтров, буфер 206 кадров, модуль 208 компенсации движения и модуль 209 внутрикадрового предсказания.
И кодер 100 видео, и декодер 200 видео формируют идентичные предсказания. Остаточные данные восстанавливаются посредством модуля 204 обратного сканирования, обращенного квантования, обратного преобразования. Аппроксимированное входное изображение восстанавливается поблочно путем сложения остатка с предсказанием. Результат сложения может дополнительно подаваться в контурные фильтры для сглаживания артефактов. Окончательное восстановленное изображение затем сохраняется в буфере 206 изображений или кадров, который может использоваться для предсказания подпоследовательности изображений.
Компенсация движения, такая как, например, применяемая в кодере 100 видео по Фиг.1 и в декодере видео по Фиг.2, является одним из важнейших элементов в гибридном кодировании/декодировании видео. Компенсация движения использует временную информацию, чтобы предсказывать текущий блок, и снижает, таким образом, избыточность видеоданных. Точность предсказания зависит от сходства содержимого между опорным блоком и текущим блоком. При изменении скорости камеры или некоторых объектов в сцене, каковое обычно ожидается в динамичных и спортивных фильмах, размытость из-за движения изменяется от кадра к кадру, приводя к сниженной точности предсказания.
Обычный способ компенсации движения из стандартов кодирования видеоизображений работает хорошо со стационарными объектами или движущимися с постоянной скоростью объектами. Однако его точность ограничена в случае изменяющейся размытости из-за движения. Размытость, вызванная движением, происходит в направлении движения объекта, если объект перемещается в течение времени выдержки. Ускоренный объект выглядит более расплывчатым в текущем кадре, чем в предыдущем опорном кадре, тогда как замедленный объект кажется более резким. Изменяющаяся степень размытости между последовательными кадрами обычно увеличивает ошибку предсказания. Таким образом, это приводит к сниженной эффективности сжатия и, следовательно, к увеличенной интенсивности передачи данных для остатка межкадрово-предсказанных блоков.
В этом контексте, известна возможность уменьшения ошибки предсказания путем фильтрации опорного кадра для компенсации изменяющейся размытости, вызванной движением. Например, известно предварительное задание множества фильтров размытия и применения этих фильтров размытия к опорному кадру, сохраненному в буфере 106 кадров. Путем итеративного испытания рабочей характеристики каждого фильтра в терминах оптимизации «скорость кодирования - искажение», кодером видео выбирается лучший фильтр размытости. Для позволения декодеру видео декодировать сформированный битовый поток, фильтр размытия, который был выбран кодером видео, сигнализируется на декодер в виде дополнительной информации в битовом потоке.
Однако даже если такой прием может приводить к снижению ошибки предсказания в случае изменения размытости между опорным кадром и текущим межкадрово-кодируемым кадром, сигнализация выбранного фильтра размытия от кодера видео на декодер видео требует дополнительных битов в кодированном битовом потоке. Эта дополнительная сигнализация в свою очередь сокращает число битов, которые могут использоваться для кодирования ошибки предсказания в кодированном битовом потоке.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Признав вышеуказанные недостатки и проблемы, настоящее изобретение имеет целью усовершенствовать уровень техники. Конкретно объект настоящего изобретения состоит в том, чтобы обеспечить кодер видео, способ кодирования, декодер видео и способ декодирования для усовершенствованного кодирования и декодирования видеопотока последующих кадров.
Настоящее изобретение конкретно предполагает повысить качество кодирования с межкадровым предсказанием путем повышения точности сигнала предсказания. Изобретение также предполагает снизить количество битов сигнализации в кодированном битовом потоке.
Вышеуказанный объект настоящего изобретения достигается посредством решения, представленного в приложенных независимых пунктах формулы изобретения. Полезные реализации настоящего изобретения дополнительно определены в соответственных зависимых пунктах формулы изобретения.
Первый аспект настоящего изобретения обеспечивает кодер видео для кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения в кодированный битовый поток видеоданных. Кодер видео содержит буфер кадров, приспособленный для сохранения, по меньшей мере, одного опорного кадра видеопотока, упомянутый опорный кадр является отличным от текущего кадра видеопотока. Кодер видео содержит модуль оценки движения, приспособленный для формирования вектора движения путем оценивания движения между опорным блоком опорного кадра и текущим блоком текущего кадра. Кодер видео содержит модуль выбора фильтра, приспособленный для выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения. Кодер видео содержит модуль фильтрации, приспособленный для формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку. Кодер видео содержит модуль компенсации движения, приспособленный для формирования фильтрованного блока предсказания текущего блока на основе текущего блока и фильтрованного опорного блока.
Посредством этого, хотя известный уровень техники требует, чтобы дополнительная информация кодировалась в битовый поток для видеопотока последующих кадров, настоящее изобретение использует вектор движения, который уже является частью битового потока для поддержки межкадрового предсказания. Следовательно, дополнительная сигнализация не является необходимой, чтобы поддерживать фильтрацию опорного кадра/блока. В последующем признаки "кадр" и "блок" являются взаимозаменяемыми поскольку фильтрация и предсказание могут применяться к блоку кадра или даже к кадру непосредственно.
В первой форме реализации кодера видео согласно первому аспекту модуль компенсации движения приспособлен, чтобы дополнительно формировать нефильтрованный предсказанный блок текущего блока на основе текущего блока и опорного блока, и выводить, из числа фильтрованного блока предсказания и нефильтрованного блока предсказания, блок предсказания, который минимизирует ошибку предсказания, упомянутая ошибка предсказания является разностью между текущим блоком и соответственным блоком предсказания.
Посредством этого, оптимизация «скорость кодирования - искажение» может делаться так, что используется фильтрованный или нефильтрованный опорный блок для формирования закодированной ошибки предсказания.
В дополнительной форме реализации кодера видео согласно первому аспекту, модуль оценки движения приспособлен для формирования второго вектора движения путем оценивания движения между фильтрованным опорным блоком и текущим блоком. В зависимости от сравнения второго вектора движения и вектора движения между опорным блоком и текущим блоком, фильтрованный опорный блок принимается в рассмотрение или игнорируется, чтобы формировать кодированный битовый поток видеоданных.
Посредством этого, предсказание блока может быть более точным путем оценивания второй оценки движения.
В дополнительной форме реализации кодера видео согласно первому аспекту, кодер видео содержит кодирующее средство, приспособленное для формирования кодированного битового потока видеоданных на основе ошибки предсказания, соответствующей блоку предсказания, выводимому модулем компенсации движения.
Посредством этого может быть реализовано эффективное кодирование с предсказанием.
В дополнительной форме реализации кодера видео согласно первому аспекту, кодер видео содержит кодирующее средство, приспособленное для формирования кодированного битового потока видеоданных таким образом, что кодированный битовый поток видеоданных содержит информацию движения и информацию фильтра. Информация движения содержит вектор движения, и информация фильтра указывает, основан ли кодированный битовый поток видеоданных на ошибке предсказания между текущим блоком и фильтрованным блоком предсказания или на ошибке предсказания между текущим блоком и нефильтрованным блоком предсказания.
Посредством этого, информация фильтра позволяет декодеру видео быстро определять, должна или не должна делаться дополнительная фильтрация опорного блока для выполнения декодирования с предсказанием.
В дополнительной форме реализации кодера видео согласно первому аспекту кодирующее средство приспособлено добавлять информацию фильтра в кодированный битовый поток видеоданных на уровне блока для каждого кодированного с предсказанием текущего блока, на уровне кадра, на уровне GOP (группы видеокадров), на уровне PPS (набора параметров видеокадра) или на уровне SPS (набора параметров последовательности).
Посредством этого, является возможным адаптивно задавать информацию фильтра с требуемой гранулярностью, так что сигнализация может быть оптимизирована.
В дополнительной форме реализации кодера видео согласно первому аспекту, кодер видео содержит модуль преобразования и квантования, приспособленный преобразовывать ошибку предсказания с помощью линейного пространственного преобразования с тем, чтобы сформировать коэффициенты преобразования, и квантовать коэффициенты преобразования, и модуль сканирования и энтропийный кодер, соответственно приспособленные сканировать и энтропийно кодировать квантованные коэффициенты преобразования с тем, чтобы сформировать кодированный битовый поток видеоданных.
Посредством этого, количество битов для передачи ошибки предсказания в битовом потоке видео может быть дополнительно снижено.
В дополнительной форме реализации кодера видео согласно первому аспекту, модуль выбора фильтра приспособлен для получения значения угла вектора движения относительно положительной горизонтальной оси и для выбора упомянутого одного фильтра из множества фильтров в зависимости от угла.
Посредством этого, выбор фильтра, подлежащего применению к опорному блоку, упрощается и может выполняться без дополнительных битов сигнализации.
В дополнительной форме реализации кодера видео согласно первому аспекту, кодер видео является кодером видео для одноуровневого кодирования видеопотока.
В дополнительной форме реализации кодера видео согласно первому аспекту, модуль выбора фильтра приспособлен выбирать один фильтр из множества фильтров размытия и/или устранения размытия в зависимости от ориентации вектора движения.
Посредством этого, возможно добавлять или удалять размытость из опорного блока в случаях ускорения или замедления движения в видеопотоке.
Дополнительный аспект настоящего изобретения обеспечивает гибридный видеокодер для внутри- и меж-кадрового предсказания, содержащий такой кодер видео.
Дополнительный аспект настоящего изобретения обеспечивает способ для кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения в кодированный битовый поток видеоданных. Способ содержит: этап сохранения, по меньшей мере, одного опорного кадра видеопотока, упомянутый опорный кадр является отличным от текущего кадра видеопотока, этап оценки движения, содержащий формирование вектора движения путем оценивания движения между опорным блоком опорного кадра и текущим блоком текущего кадра, этап выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения, этап формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку, этап компенсации движения, содержащий формирование фильтрованного блока предсказания текущего блока на основе текущего блока и фильтрованного опорного блока.
Дополнительный аспект настоящего изобретения обеспечивает декодер видео для декодирования кодированного битового потока видеоданных, полученного кодированием с предсказанием видеопотока последующих кадров согласно компенсации движения, причем кодированный битовый поток видеоданных содержит кодированный с предсказанием текущий кадр и кодированный вектор движения, отражающий движение между опорным блоком опорного кадра и текущим блоком текущего кадра, упомянутый опорный кадр является отличным от текущего кадра. Декодер видео содержит декодер, приспособленный для декодирования кодированного опорного кадра и кодированного вектора движения, чтобы формировать опорный кадр и вектор движения, буфер кадров, приспособленный для сохранения опорного кадра, модуль выбора фильтра, приспособленный для выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения, модуль фильтрации, приспособленный для формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку, модуль компенсации движения, приспособленный для формирования текущего блока кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока.
Посредством этого, хотя известный уровень техники требует, чтобы добавочная информация кодировалась в битовый поток для видеопотока последующих кадров, настоящее изобретение использует вектор движения, который уже является частью битового потока, для поддержки меж-кадрового предсказания. Следовательно, дополнительная сигнализация не является необходимой для поддержки фильтрации опорного кадра/блока. Кроме того, не требуется информация вне текущего кадра, чтобы выбирать фильтр и применять выбранный фильтр к опорному кадру/блоку.
В форме реализации декодера видео согласно дополнительному аспекту кодированный битовый поток видеоданных содержит информацию фильтра, связанную с текущим блоком. Декодер приспособлен для декодирования информации фильтра. Модуль компенсации движения приспособлен, чтобы, в зависимости от значения информации фильтра, формировать текущий блок кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока, или на основе вектора движения и опорного блока, который соответствует нефильтрованному опорному блоку, то есть, опорному блоку, который не был обработан выбранным фильтром.
В форме реализации декодера видео согласно дополнительному аспекту, модуль выбора фильтра приспособлен для получения значения угла вектора движения, например, относительно положительной горизонтальной оси, и для выбора упомянутого одного фильтра из множества фильтров в зависимости от угла.
В форме реализации декодера видео согласно дополнительному аспекту декодер видео является декодером видео для одноуровневого кодирования видеопотока.
В форме реализации декодера видео согласно дополнительному аспекту, модуль выбора фильтра приспособлен для выбора одного фильтра из множества фильтров размытия и/или устранения размытия в зависимости от ориентации вектора движения.
Дополнительный аспект настоящего изобретения обеспечивает гибридный декодер видео для внутри- и меж-кадрового предсказания, содержащий такой декодер видео.
Дополнительный аспект настоящего изобретения обеспечивает способ для декодирования кодированного битового потока видеоданных, полученного кодированием с предсказанием видеопотока последующих кадров согласно компенсации движения. Кодированный битовый поток видеоданных содержит, по меньшей мере, один кодированный опорный кадр, кодированный с предсказанием текущий кадр, упомянутый опорный кадр является отличным от текущего кадра, и кодированный вектор движения, отражающий движение между опорным блоком опорного кадра и текущим блоком текущего кадра. Способ содержит декодирование кодированного опорного кадра и кодированного вектора движения, чтобы сформировать опорный кадр и вектор движения, сохранение опорного кадра, выбор одного фильтра из множества фильтров в зависимости от ориентации вектора движения, формирование фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку, компенсацию движения, содержащую формирование текущего блока кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока.
Дополнительный аспект настоящего изобретения обеспечивает компьютерную программу с наличием программного кода, чтобы выполнять такой способ кодирования и/или декодирования, когда компьютерная программа исполняется на вычислительном устройстве.
Нужно отметить, что все устройства, элементы, модули и средства, описанные в настоящей заявке, могут быть реализованы в программных или аппаратных элементах или в их комбинации любого вида. Все этапы, которые выполняются посредством различных объектов, описанных в настоящей заявке, а также функциональности, описанные подлежащими выполнению различными объектами, предназначены означать, что соответственный объект приспособлен или сконфигурирован, чтобы выполнять соответственные этапы и функциональности. Даже если, в последующем описании конкретных вариантов осуществления, конкретная функциональность или этап, подлежащая полному формированию внешними объектами, не отраженными в описании конкретного подробного элемента этого объекта, который выполняет этот конкретный этап или функциональность, специалисту в данной области техники должно быть ясно, что эти способы и функциональности могут быть реализованы в соответственных программных или аппаратных элементах, или их комбинации любого вида.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеупомянутые аспекты и формы реализации настоящего изобретения будут пояснены в последующем описании конкретных вариантов осуществления в отношении приложенных чертежей, на которых
Фиг.1 - кодер видео согласно уровню техники.
Фиг.2 - декодер видео согласно уровню техники.
Фиг.3 - кодер видео согласно варианту осуществления настоящего изобретения.
Фиг.4 - декодер видео согласно варианту осуществления настоящего изобретения.
Фиг.5(a) - вариант осуществления компенсации размытости, вызванной движением, согласно настоящему изобретению.
Фиг.5(b) - вариант осуществления компенсации размытости, вызванной движением, согласно настоящему изобретению.
Фиг.6 - примеры векторов движения, полученных по варианту осуществления по Фиг.5(a).
Фиг.7 - вариант осуществления фильтра согласно настоящему изобретению.
Фиг.8 - вариант осуществления фильтра согласно настоящему изобретению.
Фиг.9 - вариант осуществления коэффициентов фильтра согласно настоящему изобретению.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Фиг.3 показывает кодер видео согласно варианту осуществления настоящего изобретения, и конкретно гибридный кодер 300 видео для кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения в кодированный битовый поток видеоданных.
Кодер 300 видео содержит конкретно буфер 306 кадров, модуль 307 оценки движения, модуль 313 выбора фильтра, модуль 314 фильтрации и модуль 308 компенсации движения.
Буфер 306 кадров приспособлен для сохранения, по меньшей мере, одного опорного кадра видеопотока. Упомянутый опорный кадр отличается от текущего кадра видеопотока. В контексте изобретения текущий кадр является кадром видеопотока, который в настоящий момент кодируется. Текущий кадр кодируется с использованием методики с межкадровым кодированием, то есть, текущий кадр предсказывают исходя из одного или множества опорных кадров. Опорный кадр может быть предыдущим кадром, то есть, кадром, который находится до текущего кадра внутри видеопотока последовательных кадров. Альтернативно, если используется прямое предсказание, опорный кадр может быть будущим кадром, то есть, кадром, который находится после текущего кадра. В случае множества опорных кадров, по меньшей мере, один может быть предыдущим кадром, и, по меньшей мере, один из них может быть будущим кадром. Опорный кадр может быть с внутренним кодированием, то есть, может быть закодирован без использования какого-либо последующего кадра и без какой-либо зависимости от других кадров, так что он может быть декодирован независимо и может служить точкой входа для произвольного доступа к видео.
Модуль 307 оценки движения приспособлен для формирования вектора движения путем оценивания движения между опорным блоком опорного кадра и текущим блоком текущего кадра. Фиг.3 соответственно показывает, что модуль 307 оценки движения содержит вход для опорного кадра, сохраненного в буфере 306 кадров, и вход для входного изображения, которое соответствует текущему кадру.
Вектор движения формируется с использованием оценки движения блока. Опорный блок и текущий блок являются предпочтительно соответственными областями или подобластями опорного кадра и текущего кадра. Такой блок может иметь регулярную, прямоугольную форму или неправильную форму. Альтернативно, блоки могут иметь такой же размер, как и кадры. И текущий блок, и опорный блок имеют одинаковый размер. Размер блоков задается с помощью режима блоков. Блок может соответствовать элементу кодирования (CU), который является базовой структурой кодирования видеопоследовательности предварительно заданного размера, содержащей часть кадра, например, 64×64 пикселей.
Текущий блок текущего кадра, являющийся межкадрово-кодируемым, предсказывается исходя из опорного блока опорного кадра. Процесс кодирования для межкадрового предсказания содержит отбор данных движения, которые содержат опорный индекс и вектор движения, подлежащий применению для предсказания текущего блока. Опорный индекс является индексом опорного блока и/или опорного кадра.
Модуль 313 выбора фильтра приспособлен для выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения. Модуль 314 фильтрации приспособлен для формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку. Модуль 308 компенсации движения приспособлен для формирования фильтрованного блока предсказания текущего блока на основе текущего блока и фильтрованного опорного блока.
Фиг.3 показывает соответственно, что модуль 307 оценки движения передает вектор движения на модуль 313 выбора фильтра. Выводимая информация модуля 313 выбора фильтра идентифицирует выбранный фильтр. Модуль 314 фильтрации затем применяет фильтр, выбранный модулем 313 выбора фильтра, к опорному блоку опорного кадра, сохраненного в буфере 306 кадров, чтобы сформировать фильтрованный опорный блок, передаваемый на модуль 308 компенсации движения. Модуль 308 компенсации движения затем формирует фильтрованный блок предсказания на основе текущего блока текущего кадра и фильтрованного опорного блока. Предпочтительно, фильтрованный блок предсказания формируется на основе текущего блока, вектора движения и фильтрованного опорного блока.
Конкретно, для гибридного кодирования видео, упомянутую оценку движения 307 выполняют в ходе кодирования, чтобы найти вектор движения, указывающий лучший блок предсказания в опорном кадре. Компенсация 308 движения использует данные движения, которые кодируются и передаются на декодер в виде дополнительной информации, чтобы генерировать сигналы предсказания. Сигналы предсказания ссылаются на блоки предсказания, которые могут быть объединены, чтобы получить кадр предсказания.
Кодер 300 видео по Фиг.3 содержит дополнительные модули подобно кодеру 100 видео по Фиг.1. Конкретно, кодер 300 видео содержит сходные модули, которыми являются модуль 301 преобразования и квантования, модуль 302 сканирования, энтропийный кодер 103, модуль 304 обратного сканирования, обращенного квантования, обратного преобразования, модуль 305 деблокирующего и SAO фильтров. Кодер 300 видео содержит дополнительные подобные модули, которыми являются модуль 307 оценки движения, модуль 308 компенсации движения, модуль 309 внутрикадрового предсказания, который отвечает за внутрикадровое предсказание, например, опорного кадра, и модуль 310 управления кодером.
В гибридном кодере 300 видео, показанном на Фиг.3, на основании вектора движения, сформированного в ходе оценки 307 движения, например, для блока или элемента кодирования, предварительно заданный фильтр выбирают на этапе 313 согласно ориентации упомянутого вектора движения, и конкретно согласно углу упомянутого вектора движения относительно горизонтальной оси. Угол вычисляют на основании вектора движения текущего блока. Затем, выбранный фильтр применяется к опорному кадру, сохраненному в буфере 306 кадров.
В кодере 300 видео, модуль 308 компенсации движения приспособлен для дополнительного формирования нефильтрованного блока предсказания текущего блока на основе текущего блока и опорного блока и конкретно на основе текущего блока, вектора движения и опорного блока. Опорный блок, рассматриваемый здесь, является нефильтрованным опорным блоком опорного кадра, сохраненного в буфере 306 кадров. Модуль 308 компенсации движения кроме того приспособлен, чтобы выводить, из числа фильтрованного блока предсказания и нефильтрованного блока предсказания, блок предсказания, который минимизирует ошибку предсказания, упомянутая ошибка предсказания является разностью между текущим блоком и соответственным блоком предсказания.
Это означает, что будет сравниваться рабочая характеристика «скорость кодирования - искажение» фильтрованного блока предсказания и нефильтрованного блока предсказания. Затем выбирают возможный вариант, который представляет лучшую рабочую характеристику «скорость кодирования - искажение». Это сравнение и этот выбор могут выполняться посредством блока 310 управления кодером. Управление 310 кодером может выбирать информацию движения, такую как вектор движения и опорный индекс, и информацию фильтра, подобную флагу размытия, на основании процедуры оптимизации «скорость кодирования - искажение».
Энтропийный кодер 303 приспособлен для формирования кодированного битового потока видеоданных таким образом, что кодированный битовый поток видеоданных содержит информацию движения и информацию фильтра. Информация движения содержит вектор движения, выбранный модулем, и предпочтительно также опорный индекс, который является индексом для идентификации опорного блока и/или опорного кадра, используемого для кодирования с предсказанием текущего блока и/или текущего кадра. Информация фильтра указывает, основан ли кодированный битовый поток видеоданных на ошибке предсказания между текущим блоком и фильтрованным блоком предсказания, или на ошибке предсказания между текущим блоком и нефильтрованным блоком предсказания. Конкретно, информация фильтра определяет, был ли кодированный битовый поток сформирован на основании фильтрованного блока предсказания и нефильтрованного блока предсказания.
Модуль 313 выбора фильтра приспособлен для выбора одного фильтра из множества фильтров размытия или устранения размытия в зависимости от ориентации вектора движения. Фильтры могут быть предварительно заданными фильтрами, которые размещаются и на кодере 300, и на соответствующем декодере, подобному декодеру 400, показанному на Фиг.4. Альтернативно, определение фильтров может передаваться от кодера 300 на декодер 400 посредством сигнализации соответствующего фильтра в битовом потоке. Это означает, что либо фиксированные фильтры используются для всех видеопоследовательностей, так что нет необходимости посылать предварительно заданные фильтры, или задаются настроенные фильтры, например, для различных категорий видеоизображений. В последнем случае фильтры могут посылаться на декодер через сообщение SEI (дополнительная расширенная информация).
Информацией фильтра, передаваемой в битовом потоке, может быть флаг фильтра. Например, флаг размытия может быть задан для каждого блока, который был кодирован с межкадровым предсказанием, то есть, согласно режиму inter (межкадрового предсказания). Флаг на уровне блока может использоваться, чтобы указать, использовался ли фильтр размытия или устранения размытия для текущего блока. Кроме того, флаг размытия, добавленный в заголовке слоя (смежных макроблоков, slice), может использоваться, чтобы указать, использовался ли фильтр размытия/устранения размытия для текущего слоя. Такой флаг в SPS (набор параметра последовательности) может использоваться, чтобы указать, использовался ли фильтр размытия/устранения размытия для кодированной видеопоследовательности. Такой флаг в PPS (набор параметров видеокадра) может использоваться, чтобы указать, использовался ли фильтр размытия/устранения размытия для кодированного изображения. Альтернативно, флаг размытия может использоваться, чтобы указать, использовался ли фильтр размытия для текущего блока, и флаг устранения размытия может использоваться, чтобы указать, использовался ли фильтр устранения размытия для текущего блока.
В дополнение к известным стандартным способам кодирования, которыми являются внутри-кадровое и меж-кадровое предсказание (включая пропуск (skip)), настоящее изобретение предлагает дополнительный режим, которым является режим компенсации размытости из-за движения для гибридного кодирования видео. Эту компенсацию размытости из-за движения можно рассматривать в качестве дополнения межкадрового режима (включая пропуск) гибридного кодирования видео, такого как HEVC, в ходе кодирования некоторого блока. Изобретение предлагает создавать временные опорные кадры путем фильтрации 314 восстановленного кадра, сохраненного в буфере 306 кадров, фильтром угла θ, значение которого выводят исходя из вектора движения, полученного путем оценки 307 движения.
Эти фильтрованные опорные кадры и/или опорные блоки затем используются для компенсации размытости, вызванной движением. В случае если фильтр размытия применяется к опорному кадру, фильтрованный опорный кадр и исходный опорный кадр, сохраненные в буфере 306 кадров, совместно используют одинаковый опорный индекс. А именно, опорный индекс будет ссылаться либо на восстановленный кадр в общей оценке движения в гибридном кодировании видео, либо на размытый временной кадр, используемый для оценки движения в предлагаемой компенсации размытости, вызванной движением.
Оценка движения в компенсации размытости, вызванной движением, согласно настоящему изобретению исполняется после традиционной оценки движения в гибридном кодировании видео, такой как оценка движения в HEVC.
Флаг размытия может задаваться для каждого блока или элемента кодирования, который кодируют с помощью межкадрового режима (включая пропуск) для всех размеров разбиения (2N×2N, 2N×N, 2N×Nu, 2N×Nd...). Декодер 400 способен определять, размывается ли опорный кадр в ходе восстановления CU, и тиражировать размытие опорного кадра, используя угол θ, выведенный из кодированного MV. Флаг размытия рассматривается в рамках оптимизации по критерию «искажение - скорость передачи» (RD).
Флаг на уровне блока или элемента кодирования может использоваться, чтобы указывать, использовался ли фильтр размытия/устранения размытия для элемента кодирования. В дополнение к этому, флаг в SPS может использоваться, чтобы указывать, использовался ли фильтр размытия/устранения размытия для кодированной видеопоследовательности. Флаг в PPS также может использоваться, чтобы указать, использовался ли фильтр размытия/устранения размытия для кодированного изображения.
Фиг.4 иллюстрирует декодер видео согласно варианту осуществления настоящего изобретения. Этот декодер 400 видео соответствует кодеру 300 видео в том, что содержит компоненты кодера 300 видео, расположенные в показанном пунктиром прямоугольнике 311 на Фиг.3. Декодер 400 приспособлен для декодирования битового потока, формируемого кодером 300 видео, и оба декодер 400 и кодер формируют идентичные предсказания.
Декодер 400 видео является декодером для декодирования кодированного битового потока видеоданных, полученного путем кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения. Кодированный битовый поток видеоданных содержит кодированный с предсказанием текущий кадр, который соответствует ошибке предсказания, и кодированный вектор движения, отражающий движение между опорным блоком опорного кадра и текущим блоком текущего кадра, упомянутый опорный кадр является отличным от текущего кадра.
Декодер 400 видео содержит декодер 403, буфер 406 кадров, модуль 413 выбора фильтра, модуль 414 фильтрации и модуль 408 компенсации движения. Декодер 403 приспособлен для декодирования кодированного опорного кадра и кодированного вектора движения, чтобы формировать опорный кадр и вектор движения. Буфер 406 кадров приспособлен для сохранения опорного кадра. Модуль 413 выбора фильтра приспособлен для выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения. Модуль 414 фильтрации приспособлен для формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку. Модуль 408 компенсации движения приспособлен для формирования текущего блока для кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока.
В продолжение, кодированный битовый поток видеоданных содержит информацию фильтра, связанную с текущим блоком. Декодер 403 приспособлен для декодирования информации фильтра, и модуль 408 компенсации движения приспособлен, чтобы, в зависимости от значения информации фильтра, формировать текущий блок кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока или на основе вектора движения и опорного блока. Упомянутый опорный блок фактически соответствует нефильтрованному опорному блоку, то есть, опорному блоку, который не был обработан выбранным фильтром.
Модуль 413 выбора фильтра приспособлен для получения значения угла вектора движения относительно положительной горизонтальной оси и для выбора упомянутого одного фильтра из множества фильтров в зависимости от угла.
Фиг.4 показывает, что кодированный видеопоток, то есть, битовый поток, подается на энтропийный декодер 403, который декодирует опорный кадр и ошибку предсказания для текущего блока/кадра с помощью модуля 404 обратного сканирования, обращенного квантования, обратного преобразования, и деблокирующего и SAO фильтров 405. Опорный кадр сохраняется в буфере 406 кадров. С другой стороны, декодер 403 передает информацию движения и информацию фильтра, которая содержит соответственно вектор движения и флаг размытия/устранения размытия, на модуль 413 выбора фильтра и на модуль 408 компенсации движения.
Информация фильтра, такая как флаг размытия/устранения размытия, может задаваться для каждого блока или элемента кодирования, который был кодирован с помощью межкадрового режима (включая пропуск) для всех размеров разбиения, включая, например, 2N×2N, 2N×N, 2N×Nu, 2N×Nd.... Флаг размытия/устранения размытия может присутствовать в заголовке слоя, PPS или SPS. Декодер 400 способен определять, размывается ли опорный кадр в ходе восстановления блока, и тиражировать размытие опорного кадра, используя угол θ, выведенный из кодированного вектора движения. Чтобы убедиться, что декодированные кадры в декодере 400 являются идентичными восстановленным, такой же фильтр применяется к текущему блоку декодером 400 и кодером 300, причем фильтр, определяемый с использованием ориентации декодированного вектора движения. Затем фильтр размытия движения применяется к опорному кадру/блоку. Компенсация движения использует фильтрованный сигнал размытия в зависимости от информации фильтра, и конкретно, если флаг размытия/устранения размытия указывает, что фильтр, например, фильтр размытия, был применен в кодере 300.
Два варианта осуществления предлагаемой компенсации движения, то есть, компенсация в кодере размытости, вызванной движением, поясняются в последующем.
Фиг.5(b) иллюстрирует вариант осуществления компенсации размытости, вызванной движением, согласно настоящему изобретению. Этот вариант осуществления содержит одну оценку движения в том, что при кодировании 500 текущего блока или элемента кодирования (CU), оценка 501 движения выполняется посредством модуля 307 оценки движения, чтобы формировать вектор движения путем оценивания движения между опорным блоком и текущим блоком. В ходе генерации фильтра 503, модуль 313 выбора фильтра выбирает фильтр, соответствующий ориентации вектора движения, то есть, углу θ вектора движения относительно, например, горизонтали. Диапазон значений [0,π] для угла θ подразделяется на поддиапазоны [0,θ1], [θ12]...[θn-1n],[θn,π], при n имеющим целочисленное значение, и каждый поддиапазон связывается с одним предварительно заданным фильтром.
Как только фильтр сформирован или выбран, этот фильтр применяется к опорному блоку или кадру, чтобы формировать фильтрованный опорный блок/кадр, подобный, например, размытому опорному блоку/кадру 504. Фиг.5(b) показывает, что фильтрованный опорный блок/кадр формируется для флага фильтра, то есть, флага размытия, имеющего значение «истина» 502, тогда как опорный блок/кадр не фильтруется для флага фильтра, то есть флага размытия, имеющего значение «ложь» 505. Компенсация 506 движения применяется и к фильтрованному опорному блоку/кадру, и к нефильтрованному опорному блоку/кадру. На основании последующей оптимизации 507 «искажение - скорость передачи» принимается решение, используется ли фильтрованный или нефильтрованный опорный блок для формирования ошибки предсказания.
Фиг.5(a) иллюстрирует дополнительный вариант осуществления компенсации размытости, вызванной движением, согласно настоящему изобретению. В отличие от варианта осуществления по Фиг.5(b), размытый опорный блок/кадр 504 не посылается на компенсацию 506 движения, но используется для выполнения второй оценки движения.
Соответственно, модуль 307 оценки движения приспособлен, чтобы выполнять вторую оценку 510 движения на основе фильтрованного опорного блока 504, и таким образом формировать второй вектор движения путем оценивания движения между фильтрованным опорным блоком 504 и текущим блоком. Затем выполняется сравнение 511 между вторым вектором движения, сформированным по второй оценке движения 510, и первым вектором движения, сформированным по первой оценке движения 501, между опорным блоком и текущим блоком. В зависимости от этого сравнения 511, фильтрованный опорный блок учитывается или не учитывается для формирования кодированного битового потока видеоданных.
Итак, вариант осуществления по Фиг.5(a) содержит два цикла оценки 501, 510 движения, причем вторая оценка 510 движения выполняется на основании фильтрованного опорного блока/кадра. Способ фильтрации/размытия тем самым игнорируется 512 в случае, если первый и второй векторы движения не находятся в том же заданном угловом секторе согласно алгоритму на основе секторе.
В ходе кодирования 501 некоторого блока или элемента кодирования, одной частью по-секторного алгоритма в процессе кодирования является проверка действительности предсказываемого вектора движения, который соответствует второму вектору движения, после выполнения второй оценки 510 движения на основании фильтрованного/размытого опорного блока/кадра.
Проверка действительности имеет следующие три критерия:
1) первый вектор движения и второй вектор движения находятся в одном и том же секторе.
2) второй вектор движения является ненулевым вектором.
3) вектор движения находится внутри заданного диапазона поиска, то есть, ±64 в горизонтальном и вертикальном направлениях.
Фиг.6 показывает примеры векторов движения, полученных по варианту осуществления по Фиг.5(a) с использованием по-секторного алгоритма. Фиг.6 показывает четыре различных угловых секторов, являющихся [0,π/4], [π/4,π/2], [π/2,3π/4] и [3π/4,π]. Первый вектор движения, полученный по первой оценке 501 движения, помечен "1.MV" и расположен в первом секторе.
Согласно первому примеру, затем применяется вторая оценка 510 движения и имеет результатом второй вектор движения, помеченный "действительный 2.MV". Поскольку второй вектор движения расположен в том же секторе, что и первый вектор движения, флаг размытия имеет значение «истина» 513. Это означает, что компенсация движения на основании фильтрованного опорного блока является возможной. В этом случае, выполняется компенсация 506 движения и для фильтрованного опорного блока, и для нефильтрованного опорного блока из буфера кадров. Последующая оптимизация «скорость кодирования - искажение» выполняется, чтобы выбрать либо фильтрованную, либо нефильтрованную версию.
Согласно второму примеру, второй вектор движения, помеченный "недействительный 2.MV", расположен в секторе, отличном от сектора первого вектора движения. Как следствие, фильтрация игнорируется 512, и компенсация движения применяется только для нефильтрованного опорного блока.
Другими словами, после операции 504 размытия, флаг размытия устанавливается в истину 513 только в случае, если первый вектор движения и второй вектор движения расположены в одном и том же заданном секторе. Иначе, флаг размытия устанавливается в «ложь» 512. Напротив, в варианте осуществления по Фиг.5(b) не является необходимым второй цикл оценки движения. Флаг размытия устанавливается в «истину» 502, если выполняется размытие 504. Эти варианты осуществления являются связанными с кодером вариантами осуществления относительно того, каким образом принимать решение, следует ли использовать фильтр размытия.
Возвращаясь к варианту осуществления по Фиг.5(a), первый критерий предпочтительно означает, что представительное направление задается для каждого предварительно заданного сектора. Представительное направление предпочтительно находится в середине сектора. Например, Фиг.6 показывает представительное направление для первого сектора, упомянутое направление помечено "представитель MV". Фильтры размытия формируются на основании этих представительных направлений. Число секторов может задаваться в соответствии с различным требованием к точности, и такое же число соответствующих фильтров размытия вычисляют до того, как начинается кодирование.
Если первый и второй векторы движения принадлежат одному и тому же сектору, такое же представительное направление, а также одинаковый фильтр размытия используется кодером и декодером. Декодер только должен найти направление, несомое переданным вектором движения, и выполняет точную фильтрацию, чтобы иметь одинаковый восстановленный блок или элемент кодирования.
В примере по Фиг.6 каждый фильтр охватывает угол π/4=45°, если выбрано число секторов «четыре». Поскольку первый вектор движения попадает в первый сектор, представительный вектор движения указывает на направление в середине сектора. Если второй вектор движения "действительный 2.MV" попадает в тот же сектор, проверкой действительности дается значение «истина», и декодер находит тот же представительный вектор движения.
Предпочтительно, второй вектор движения затем передается на декодер. Это означает, что кодер видео содержит кодирующее средство 303, приспособленное для формирования кодированного битового потока видеоданных таким образом, что кодированный битовый поток видеоданных содержит информацию движения, причем информация движения содержит второй вектор движения.
Если второй вектор движения "недействительный 2.MV" приводит к другому представительному вектору движения для второго вектора, то проверкой действительности будет даваться значение «ложь».
Предпочтительно, второй критерий состоит в том, что второй вектор движения является ненулевым вектором. Этот критерий основывается на факте, что размытость из-за движения происходит, если имеется относительное движение между объектами и камерами во время выдержки. Нулевой вектор движения означает, что не найдено движение для блока или элемента кодирования, таким образом, размытости не должно быть, и проверка действительности дает «ложь» в результате. Какой-либо фильтр затем не применяется 314 к опорному блоку. Этот второй критерий может рассматриваться в дополнение к первому критерию или отдельно.
В заключение, согласно третьему критерию, второй вектор движения должен находиться в диапазоне поиска оценки движения для проверки действительности, имеющей значение «истина». Этот третий критерий может рассматриваться в дополнение к первому и/или второму критерию.
С повышением числа секторов направление размытия будет более точным, тогда как степень действительности второго вектора движения уменьшается, каковое может приводить к снижению эффективности сжатия и эффективности схемы кодирования. Следовательно, имеется компромиссное соотношение между точностью фильтра и степенью действительности.
По сравнению с вариантом осуществления по Фиг.5(a) структура кодирования по варианту осуществления Фиг.5(b) упрощается путем применения того же вектора движения к компенсации движения (MC) на основании фильтрованного опорного кадра вместо второй оценки движения и посекторной проверки действительности. Вариант осуществления по Фиг.5(b), таким образом, может снизить время исполнения. Действительно этот вариант осуществления обходится без не только одной дополнительной оценки движения, но также и области размытия. Вместо размытия целой площади, охватываемой стандартной оценкой движения, требуется размыть только блок или элемент кодирования в опорном кадре, указанном вектором движения, и его окружение, которое будет использоваться интерполяцией далее. По той же причине, как и выше в варианте осуществления по Фиг.5(a), здесь также нулевой вектор движения исключается из компенсации размытости, вызванной движением.
Вариант осуществления по Фиг.5(a) вводит вторую оценку движения на фильтрованных опорных кадрах и посекторную проверку действительности, чтобы убедиться, что кодер и декодер совместно используют идентичное направление размытия. В варианте осуществления по Фиг.5(a) предсказание блока или элемента кодирования становится более точным с увеличением числа фильтров, то есть, с увеличенным числом секторов, поскольку сформированные фильтры являются более точными в направлениях. С другой стороны, более высокое число фильтров означает, что диапазон действительных углов для второго вектора движения уменьшается, и компенсация вызванной движением размытости игнорируется чаще. Использование 9 фильтров является хорошим компромиссным решением.
В последующем будет показан вариант осуществления фильтров размытия, которые могут использоваться для компенсации размытости, вызванной движением.
Обычно используемая линейная однородная функция рассеяния точки размытости (PSF), вызванной движением, в непрерывной временной области описывается с помощью линейного сегмента L и угла θ относительно горизонтальной оси, как дано в следующей формуле:
Figure 00000001
причем L является пропорциональным скорости движения и продолжительности выдержки, θ указывает направление движения и (x,y) является позицией в декартовой системе координат. Эта функция является, например, известной из работы "Photo consistent motion blur modeling for realistic image synthesis", H. Lin и C. Chang, PSIVT 2006.
Дискретную версию уравнения (1) получают путем рассмотрения яркого пятна, обходящего в поперечном направлении датчики, охватываемые линейным сегментом, в течение выдержки с постоянной скоростью, как известно из работы "Parametric Blur Estimation for Blind Restoration of Natural Images: Linear Motion and Out-of-Focus", J. Oliveira, M. Figueiredo и J. Bioucas-Dias, Image Processing, IEEE Transactions on Image Processing, 2014. Каждый коэффициент ядра размытости пропорционален времени, проведенного на каждом сенсорном элементе. С допущением постоянного движения коэффициенты фильтра имеют вид нормализованной длины пересечения линейного сегмента с каждым пикселем в сетке, как проиллюстрировано посредством Фиг.7. На упомянутой Фиг.7 показана дискретная версия линейной размытости из-за движения при θ=arctan 4/5.
В случае изменяющейся размытости, вызванной движением, фильтрованный эталон (опорный кадр) может повысить рабочую характеристику кодирования. Полагается, что размытость из-за движения, а также изменение размытости, вызванной движением, может быть описано уравнением (1). Движение можно считать постоянным в течение выдержки одиночного кадра. Поскольку временной интервал между двумя соседними кадрами составляет только 0,02 секунды для видео последовательности с 50 кадр/с, предлагается, что изменение степени размытости, вызванной движением, является небольшим в большинстве случаев. Следовательно, используется фиксированный экстент в 3 пикселя, чтобы описывать явление изменения в размытии, то есть, L=3. Отсюда, двумерный фильтр размытия для компонента яркости имеет размерность 3×3.
Другую степень свободы для фильтра размытия составляет угол θ. Он выводится из вектора движения, используемого в гибридном кодировании видео, таком как HEVC. Следовательно, стандартный поиск движения для гибридного кодирования видео выполняется прежде, чем устанавливают фильтр размытия. Размытый опорный кадр формируется путем использования направлений векторов движения.
Общая дискретная версия фильтра 3×3 имеет 5 различных коэффициентов a, b, c, d и e благодаря симметрии и вычисляется согласно произвольному углу θ, используя Фиг.8. Предлагаемый фильтр является фильтром нижних частот. В виде примера, коэффициенты фильтра для θ=15° и θ=60° перечислены на Фиг.9.
В варианте осуществления будет размываться только компонент яркости опорного кадра путем использования такого фильтра 3×3, если испытательная последовательность будет иметь формат 4:2:0. Пиксели цветности лежат в каждой другой пиксельной позиции компонента [6] яркости. При экстенте размытости только в 3 пикселя, рассмотрению подлежат три соседних пикселя яркости, но только 1 пиксель цветности. Расположенный рядом пиксель цветности находится вне области влияния размытия, следовательно, фильтр не требуется. В случае последовательности цветовой субдискретизации в 4:4:4, такой же фильтр для компонента яркости будет применяться для компонентов цветности.
Предложенная модель размытости, вызванной движением, и предложенный фильтр размытия являются примерами. Другой фильтр размытия также может применяться согласно предлагаемому изобретению, причем вектор движения текущего элемента/блока кодирования используется, чтобы выбирать предварительно заданные фильтры для повышения эффективности кодирования в гибридном кодировании видео.
Настоящее изобретение было описано вместе с различными вариантами осуществления в виде примеров, а также реализаций. Однако другие разновидности могут быть осознаны и осуществлены специалистами в данной области техники и применяющими на практике заявленное изобретение, на основании изучения чертежей, этого раскрытия и независимых пунктов формулы изобретения. В пунктах формулы изобретения, а также в описании термин "содержащий" не исключает другие элементы или этапы, и использование единственного числа не исключает множественного. Единственный элемент или другой модуль могут выполнять функции нескольких объектов или признаков, изложенных в пунктах формулы изобретения. Простой факт, что некоторые меры изложены во взаимно различных зависимых пунктах формулы изобретения, не означает, что комбинацию этих мер нельзя использовать в полезной реализации.

Claims (63)

1. Кодер видео для кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения в кодированный битовый поток видеоданных,
содержащий:
- буфер кадров, приспособленный для сохранения, по меньшей мере, одного опорного кадра видеопотока, упомянутый опорный кадр является отличным от текущего кадра видеопотока,
- модуль оценки движения, приспособленный для формирования вектора движения путем оценивания движения между опорным блоком опорного кадра и текущим блоком текущего кадра,
- модуль выбора фильтра, приспособленный для выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения,
- модуль фильтрации, приспособленный для формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку,
- модуль компенсации движения, приспособленный для формирования фильтрованного блока предсказания текущего блока на основе текущего блока и фильтрованного опорного блока.
2. Кодер видео по п.1,
в котором модуль компенсации движения приспособлен, чтобы дополнительно формировать нефильтрованный блок предсказания для текущего блока на основе текущего блока и опорного блока, и
выводить, из числа фильтрованного блока предсказания и нефильтрованного блока предсказания, блок предсказания, который минимизирует ошибку предсказания, упомянутая ошибка предсказания является разностью между текущим блоком и соответственным блоком предсказания.
3. Кодер видео по п.1 или 2,
в котором модуль оценки движения приспособлен для формирования второго вектора движения путем оценивания движения между фильтрованным опорным блоком и текущим блоком, и
в зависимости от сравнения второго вектора движения и вектора движения между опорным блоком и текущим блоком фильтрованный опорный блок принимают в рассмотрение или игнорируют, чтобы формировать кодированный битовый поток видеоданных.
4. Кодер видео по п.2,
содержащий кодирующее средство, приспособленное для формирования кодированного битового потока видеоданных на основе ошибки предсказания, соответствующей блоку предсказания, выводимому модулем компенсации движения.
5. Кодер видео по п.1,
содержащий кодирующее средство, приспособленное для формирования кодированного битового потока видеоданных таким образом, что кодированный битовый поток видеоданных содержит информацию движения и информацию о фильтре,
причем информация движения содержит вектор движения, и
информация фильтра указывает, основан ли кодированный битовый поток видеоданных на ошибке предсказания между текущим блоком и фильтрованным блоком предсказания или на ошибке предсказания между текущим блоком и нефильтрованным блоком предсказания.
6. Кодер видео по п.5,
в котором кодирующее средство приспособлено добавлять в кодированный битовый поток видеоданных информацию фильтра на уровне блока для каждого кодированного с предсказанием текущего блока, на уровне кадра, на уровне GOP (группы видеокадров), на уровне PPS (набора параметров видеокадра) или на уровне SPS (набора параметров последовательности).
7. Кодер видео по любому из пп.4-6,
содержащий модуль преобразования и квантования, приспособленный для преобразования ошибки предсказания с помощью линейного пространственного преобразования с тем, чтобы формировать коэффициенты преобразования, и для квантования коэффициентов преобразования, и
модуль сканирования и энтропийный кодер, соответственно приспособленные для сканирования и энтропийного кодирования квантованных коэффициентов преобразования, чтобы формировать кодированный битовый поток видеоданных.
8. Кодер видео по п.1,
в котором модуль выбора фильтра приспособлен для получения значения угла вектора движения, например, относительно положительной горизонтальной оси и для выбора упомянутого одного фильтра из множества фильтров в зависимости от угла.
9. Кодер видео по п.1 для одноуровневого кодирования видеопотока.
10. Кодер видео по п.1,
в котором модуль выбора фильтра приспособлен для выбора одного фильтра из множества фильтров размытия и/или устранения размытия в зависимости от ориентации вектора движения.
11. Гибридный видеокодер для внутри- и межкадрового предсказания, содержащий кодер видео по п.1.
12. Способ для кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения в кодированный битовый поток видеоданных,
содержащий:
- этап сохранения, по меньшей мере, одного опорного кадра видеопотока, упомянутый опорный кадр является отличным от текущего кадра видеопотока,
- этап оценки движения, содержащий формирование вектора движения путем оценивания движения между опорным блоком опорного кадра и текущим блоком текущего кадра,
- этап выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения,
- этап формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку,
- этап компенсации движения, содержащий формирование фильтрованного блока предсказания текущего блока на основе текущего блока и фильтрованного опорного блока.
13. Декодер видео для декодирования кодированного битового потока видеоданных, полученного путем кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения,
причем кодированный битовый поток видеоданных содержит кодированный с предсказанием текущий кадр и кодированный вектор движения, отражающий движение между опорным блоком опорного кадра и текущим блоком текущего кадра, упомянутый опорный кадр является отличным от текущего кадра,
содержащий:
- декодер, приспособленный для декодирования кодированного опорного кадра и кодированного вектора движения, чтобы сформировать опорный кадр и вектор движения,
- буфер кадров, приспособленный для сохранения опорного кадра,
- модуль выбора фильтра, приспособленный для выбора одного фильтра из множества фильтров в зависимости от ориентации вектора движения,
- модуль фильтрации, приспособленный для формирования фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку,
- модуль компенсации движения, приспособленный для формирования текущего блока кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока.
14. Декодер видео по п.13,
в котором кодированный битовый поток видеоданных содержит информацию фильтра, связанную с текущим блоком,
декодер приспособлен для декодирования информации фильтра, и
модуль компенсации движения приспособлен, чтобы, в зависимости от значения информации фильтра, формировать текущий блок кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока или на основе вектора движения и опорного блока.
15. Декодер видео по любому из пп.13-14,
в котором модуль выбора фильтра приспособлен для получения значения угла вектора движения, например, относительно положительной горизонтальной оси и для выбора упомянутого одного фильтра из множества фильтров в зависимости от угла.
16. Декодер видео по п.13 для одноуровневого кодирования видеопотока.
17. Декодер видео по п.13,
в котором модуль выбора фильтра приспособлен для выбора одного фильтра из множества фильтров размытия и/или устранения размытия в зависимости от ориентации вектора движения.
18. Гибридный видеодекодер для внутри- и межкадрового предсказания, содержащий декодер видео по п.13.
19. Способ декодирования кодированного битового потока видеоданных, полученного путем кодирования с предсказанием видеопотока последующих кадров согласно компенсации движения,
причем кодированный битовый поток видеоданных содержит, по меньшей мере, один кодированный опорный кадр, кодированный с предсказанием текущий кадр, упомянутый опорный кадр является отличным от текущего кадра и кодированный вектор движения отражает движение между опорным блоком опорного кадра и текущим блоком текущего кадра,
содержащий:
- декодирование кодированного опорного кадра и кодированного вектора движения, чтобы сформировать опорный кадр и вектор движения,
- сохранение опорного кадра,
- выбор одного фильтра из множества фильтров в зависимости от ориентации вектора движения,
- формирование фильтрованного опорного блока путем применения выбранного фильтра к опорному блоку,
- компенсацию движения, содержащую формирование текущего блока для кодированного с предсказанием текущего кадра на основе вектора движения и фильтрованного опорного блока.
RU2017144790A 2015-05-21 2015-05-21 Устройство и способ для компенсации движения в видеоизображении RU2684193C1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/061278 WO2016184527A1 (en) 2015-05-21 2015-05-21 Apparatus and method for video motion compensation

Publications (1)

Publication Number Publication Date
RU2684193C1 true RU2684193C1 (ru) 2019-04-04

Family

ID=53276093

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017144790A RU2684193C1 (ru) 2015-05-21 2015-05-21 Устройство и способ для компенсации движения в видеоизображении

Country Status (12)

Country Link
US (1) US10536716B2 (ru)
EP (1) EP3286917A1 (ru)
JP (1) JP6593934B2 (ru)
KR (1) KR102162856B1 (ru)
CN (1) CN107646194B (ru)
AU (1) AU2015395514B2 (ru)
CA (1) CA2986613C (ru)
HK (1) HK1244136A1 (ru)
MX (1) MX2017014914A (ru)
MY (1) MY190056A (ru)
RU (1) RU2684193C1 (ru)
WO (1) WO2016184527A1 (ru)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694181B2 (en) * 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
EP3468198A1 (en) 2017-10-05 2019-04-10 Thomson Licensing Method and apparatus for video encoding and decoding based on illumination compensation
EP3629427A4 (en) 2018-01-19 2020-07-22 Lg Chem, Ltd. DETACHABLE HIGH VOLTAGE CONNECTOR ASSEMBLY AND PRODUCTION METHOD THEREFOR
CN109348222B (zh) * 2018-11-22 2020-08-07 随锐科技集团股份有限公司 一种参考帧的选取方法
CN113170175A (zh) * 2018-11-27 2021-07-23 Op方案有限责任公司 用于不可用参考图像的自适应时间滤波器
US20220312004A1 (en) * 2021-03-23 2022-09-29 Tencent America LLC Method and apparatus for video coding
CN113259669B (zh) * 2021-03-25 2023-07-07 浙江大华技术股份有限公司 编码方法、装置、电子设备及计算机可读存储介质
CN117795974A (zh) * 2021-08-05 2024-03-29 三星电子株式会社 支持图像数据去模糊的电子装置和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006108654A2 (en) * 2005-04-13 2006-10-19 Universität Hannover Method and apparatus for enhanced video coding
WO2009131508A2 (en) * 2008-04-23 2009-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Template-based pixel block processing
RU2391720C2 (ru) * 2004-12-20 2010-06-10 Майкрософт Корпорейшн Способ и машиночитаемый носитель для верификации и сохранения электронного документа
US20100329344A1 (en) * 2007-07-02 2010-12-30 Nippon Telegraph And Telephone Corporation Scalable video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
RU2549162C1 (ru) * 2011-09-23 2015-04-20 Квэлкомм Инкорпорейтед Построение списка опорных картинок для кодирования видео
RU2550554C2 (ru) * 2011-01-27 2015-05-10 Квэлкомм Инкорпорейтед Выполнение предсказания вектора движения для видеокодирования

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2286740B (en) * 1994-02-21 1998-04-01 Sony Uk Ltd Coding and decoding of video signals
US7412002B2 (en) * 2000-04-28 2008-08-12 Texas Instruments Incorporated Image preprocessing with selective lowpass filtering from motion compensation
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US6965645B2 (en) * 2001-09-25 2005-11-15 Microsoft Corporation Content-based characterization of video frame sequences
DE602004022865D1 (de) * 2003-12-01 2009-10-08 Koninkl Philips Electronics Nv Bewegungskompensierte invers-filterung mit bandpassfiltern für die bewegungsverschmierungsreduktion
EP1578137A2 (en) 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
US20060171569A1 (en) 2005-01-10 2006-08-03 Madhukar Budagavi Video compression with blur compensation
WO2007020569A2 (en) * 2005-08-12 2007-02-22 Nxp B.V. Method and system for digital image stabilization
EP2041982A2 (en) 2006-07-11 2009-04-01 Thomson Licensing Methods and apparatus using virtual reference pictures
KR101392482B1 (ko) * 2007-08-30 2014-05-07 삼성전자주식회사 블록킹 효과 제거 시스템 및 방법
CN101965732B (zh) * 2008-01-07 2015-03-25 汤姆森特许公司 用于使用参数滤波进行视频编码和解码的方法和装置
JP4613990B2 (ja) * 2008-07-31 2011-01-19 ソニー株式会社 画像処理装置、画像処理方法、プログラム
BRPI0918478A2 (pt) * 2008-09-04 2015-12-01 Thomson Licensing métodos e aparelho para refinamento de previsão usando previsão de movimento implícito
CN101527847B (zh) * 2009-01-04 2012-01-04 炬力集成电路设计有限公司 运动补偿插值装置和方法
FR2952497B1 (fr) * 2009-11-09 2012-11-16 Canon Kk Procede de codage et de decodage d'un flux d'images; dispositifs associes
JP2011139208A (ja) * 2009-12-28 2011-07-14 Sony Corp 画像処理装置および方法
JP5047344B2 (ja) * 2009-12-28 2012-10-10 キヤノン株式会社 画像処理装置及び画像処理方法
JP5805991B2 (ja) * 2010-05-07 2015-11-10 トムソン ライセンシングThomson Licensing ピクチャ・シーケンスを符号化する方法、それに対応する再構築方法、および当該シーケンスを表す符号化データのストリーム
WO2011145763A1 (ko) * 2010-05-20 2011-11-24 갤럭시아커뮤니케이션즈 주식회사 선택적 움직임 검색영역을 이용한 움직임 보상기법이 적용되는 동영상 압축부호화장치및 복호화 장치와 움직임 보상을 위한 선택적 움직임 검색영역 결정방법
KR101373814B1 (ko) 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
JPWO2012066866A1 (ja) * 2010-11-17 2014-05-12 三菱電機株式会社 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法
US9560372B2 (en) * 2010-12-27 2017-01-31 Stmicroelectronics, Inc. Directional motion vector filtering
CN102547272B (zh) * 2010-12-30 2015-03-11 ***通信集团公司 一种解码方法、装置及终端
US8982960B2 (en) * 2011-02-23 2015-03-17 Qualcomm Incorporated Multi-metric filtering
WO2012147622A1 (ja) 2011-04-28 2012-11-01 ソニー株式会社 画像処理装置、及び、画像処理方法
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9270993B2 (en) * 2012-09-10 2016-02-23 Apple Inc. Video deblocking filter strength derivation
WO2015051011A1 (en) * 2013-10-02 2015-04-09 Arris Enterprises, Inc. Modified hevc transform tree syntax
TWI549489B (zh) * 2014-04-16 2016-09-11 智原科技股份有限公司 移動偵測電路與方法
FR3022724A1 (fr) * 2014-06-19 2015-12-25 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
CN108476319A (zh) * 2016-01-11 2018-08-31 三星电子株式会社 图像编码方法和设备以及图像解码方法和设备
US20190068967A1 (en) * 2016-02-03 2019-02-28 Sharp Kabushiki Kaisha Predicted-image generation device, video decoding device, and video coding device
EP3296950A1 (en) * 2016-09-15 2018-03-21 Thomson Licensing Method and device for blurring a virtual object in a video
IT201600094414A1 (it) * 2016-09-20 2018-03-20 St Microelectronics Srl Un procedimento per rilevare un veicolo in sorpasso, relativo sistema di elaborazione, sistema di rilevazione di un veicolo in sorpasso e veicolo

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2391720C2 (ru) * 2004-12-20 2010-06-10 Майкрософт Корпорейшн Способ и машиночитаемый носитель для верификации и сохранения электронного документа
WO2006108654A2 (en) * 2005-04-13 2006-10-19 Universität Hannover Method and apparatus for enhanced video coding
US20100329344A1 (en) * 2007-07-02 2010-12-30 Nippon Telegraph And Telephone Corporation Scalable video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
WO2009131508A2 (en) * 2008-04-23 2009-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Template-based pixel block processing
RU2550554C2 (ru) * 2011-01-27 2015-05-10 Квэлкомм Инкорпорейтед Выполнение предсказания вектора движения для видеокодирования
RU2549162C1 (ru) * 2011-09-23 2015-04-20 Квэлкомм Инкорпорейтед Построение списка опорных картинок для кодирования видео

Also Published As

Publication number Publication date
MY190056A (en) 2022-03-23
KR20180006972A (ko) 2018-01-19
US20180160142A1 (en) 2018-06-07
JP2018520565A (ja) 2018-07-26
WO2016184527A1 (en) 2016-11-24
AU2015395514A1 (en) 2017-12-21
CA2986613C (en) 2020-04-28
US10536716B2 (en) 2020-01-14
EP3286917A1 (en) 2018-02-28
CN107646194B (zh) 2020-08-07
HK1244136A1 (zh) 2018-07-27
KR102162856B1 (ko) 2020-10-07
BR112017024902A2 (pt) 2018-07-31
AU2015395514B2 (en) 2019-10-10
CA2986613A1 (en) 2016-11-24
CN107646194A (zh) 2018-01-30
MX2017014914A (es) 2018-06-13
JP6593934B2 (ja) 2019-10-23

Similar Documents

Publication Publication Date Title
KR102668077B1 (ko) 영상 부호화 및 복호화 장치 및 그 방법
RU2684193C1 (ru) Устройство и способ для компенсации движения в видеоизображении
RU2696311C1 (ru) Устройство и способ для компенсации движения видео с выбираемым интерполяционным фильтром
JP5330647B2 (ja) 適応参照画像の発生
US10390038B2 (en) Methods and devices for encoding and decoding video pictures using a denoised reference picture
US9270993B2 (en) Video deblocking filter strength derivation
WO2021136375A1 (en) Video encoding or decoding methods and apparatuses related to high-level information signaling
KR20090098214A (ko) 영상의 부호화, 복호화 방법 및 장치
WO2009133845A1 (ja) 動画像符号化/復号化装置及び方法
US20230269399A1 (en) Video encoding and decoding using deep learning based in-loop filter
US11202082B2 (en) Image processing apparatus and method
CN113132734B (zh) 一种编码、解码方法、装置及其设备
KR20200134318A (ko) 비디오 인코딩 및 디코딩
JP2007116206A (ja) 画像評価方法、画像評価装置、画像符号化方法及び画像符号化装置