Способ получения вектора движения с временным предсказанием и устройство, использующее этот способ
Иллюстрации
Показать всеНастоящее изобретение относится к способу кодирования и декодирования видео. Техническим результатом изобретения является уменьшение объема требуемой памяти и уменьшение количества соответствующих вычислительных ресурсов. Устройство декодирования видео, использующее способ получения вектора движения временного предсказания, содержит модуль предсказания, выполненный с возможностью определения соотнесенного блока в соотнесенном изображении на основании того, прилегает ли граница целевого блока предсказания к границе наибольшего кодового блока (LCU), получения вектора движения временного предсказания целевого блока предсказания путем использования вектора движения определенного таким образом соотнесенного блока. 2 н. и 6 з.п. ф-лы, 10 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу кодирования и декодирования видео, более конкретно, настоящее изобретение относится к способу получения вектора движения временного предсказания и устройству, использующему этот способ.
Уровень техники
В последнее время в различных областях возрастает спрос на видео высокого качества с высоким разрешением, такое как HD-видео (видео высокой четкости) и UHD-видео (видео сверхвысокой четкости). Поскольку приходят к видеоданным с высоким разрешением и/или с высоким качеством, то объем видеоданных относительно возрастает по сравнению с существующими видеоданными, при этом, если видеоданные передаются через обычную проводную/беспроводную широкополосную сеть или сохраняются на существующей запоминающей среде, то затраты на передачу и хранение возрастают. Для решения этой задачи, которая возникает при переходе видеоданных к высокому разрешению и высокому качеству, могут быть использованы высокоэффективные технологии сжатия видео.
Разработан ряд схем, которые могут использоваться для сжатия видео, такие как схема межкадрового предсказания, которая предсказывает значения пикселей в текущем изображении, исходя из изображения до или после текущего изображения, схема внутрикадрового предсказания, которая предсказывает значения пикселей, содержащихся в текущем изображении, используя пиксельную информацию в текущем изображении, и схема энтропийного кодирования, которая назначает более короткие кодовые слова для значений, которые встречаются более часто, и назначает более длинные кодовые слова для значений, которые встречаются менее часто. Такие схемы сжатия видео могут использоваться для эффективного сжатия, передачи или сохранения видеоданных.
Сущность изобретения
Техническая задача
Целью настоящего изобретения является обеспечение способа получения вектора движения временного предсказания для блока, прилегающего к границе LCD.
Другой целью настоящего изобретения является обеспечение устройства для реализации способа получения вектора движения временного предсказания для блока, прилегающего к границе LCU.
Техническое решение
Для достижения первой цели настоящего изобретения в соответствии с аспектом настоящего изобретения, способ кодирования видеоданных включает в себя шаги определения индекса опорного изображения соотнесенного блока целевого блока предсказания; и определение вектора предсказания движения соотнесенного блока, причем соотнесенный блок является блоком, адаптивно определяемым по местоположению целевого блока предсказания в наибольшем кодовом блоке (LCU). Соотнесенный блок может определяться иначе, путем выяснения, прилегает ли нижняя граница целевого блока предсказания к границе LCU. Соотнесенный блок может определяться путем выяснения, прилегает ли нижняя граница целевого блока предсказания к границе LCU, и прилегает ли только правая граница целевого блока предсказания к границе LCU. Соотнесенный блок может определяться с помощью опорных положений пикселей в LCU. Если левая сторона или нижняя граница целевого блока предсказания не прилегает к границе LCD, то последовательно определяют первый соотнесенный блок и пятый соотнесенный блок в качестве соотнесенного блока в зависимости от доступности соотнесенного блока в соответствующем положении.
Для достижения второй цели настоящего изобретения в соответствии с аспектом настоящего изобретения, способ декодирования видео может включать в себя шаги определения того, прилегает ли граница целевого блока предсказания к границе LCD; и определение доступности первого соотнесенного блока в соответствии с определением того, прилегает ли граница целевого блока предсказания к границе LCU. Способ декодирования видео может дополнительно включать в себя шаг определения другого соотнесенного блока, помимо первого соотнесенного блока, как соотнесенного блока для получения вектора движения временного предсказания, если определено, что первый соотнесенный блок недоступен. Шаг определения другого соотнесенного блока, помимо первого соотнесенного блока, как соотнесенного блока для получения вектора движения временного предсказания, если установлено, что первый соотнесенный блок недоступен, является шагом по определению отличающегося соотнесенного блока для получения вектора движения временного предсказания для случая, когда нижняя граница целевого блока предсказания прилегает к границе LCU, и для случая, когда только правая граница целевого блока предсказания прилегает к границе LCU. Шаг определения доступности первого соотнесенного блока в соответствии с определением того, прилегает ли граница целевого блока предсказания к границе LCU, является шагом для определения первого соотнесенного блока как недоступного, если нижняя граница целевого блока предсказания прилегает к границе LCU. Дополнительно может содержаться шаг определения первого соотнесенного блока как соотнесенного блока для получения вектора движения временного предсказания, если первый соотнесенный блок доступен, или для определения доступности пятого соотнесенного блока, если первый соотнесенный блок недоступен.
Для достижения третьей цели настоящего изобретения в соответствии с аспектом настоящего изобретения, устройство декодирования видео содержит модуль энтропийного декодирования, декодирующий информацию о размере LCD, и модуль предсказания, определяющий индекс опорного изображения соотнесенного блока, причем соотнесенный блок является блоком, адаптивно определяемым по местоположению целевого блока предсказания в LCU. Соотнесенный блок может определяться путем определения того, прилегает ли нижняя граница целевого блока предсказания к границе LCU. Соотнесенный блок может определяться путем определения того, прилегает ли нижняя граница целевого блока предсказания к границе LCU, и прилегает ли только правая граница целевого блока предсказания к границе LCU. Соотнесенный блок может определяться с помощью опорных положений пикселей в LCU. Если левая сторона или нижняя граница целевого блока предсказания не прилегает к границе LCU, то последовательно определяют первый соотнесенный блок и пятый соотнесенный блок в качестве соотнесенного блока в соответствии с доступностью соотнесенного блока в соответствующем положении.
Для достижения четвертой цели настоящего изобретения в соответствии с аспектом настоящего изобретения, устройство декодирования видео может включать в себя модуль энтропийного декодирования, декодирующий информацию о размере LCU, и модуль предсказания, определяющий, прилегает ли граница целевого блока предсказания к границе LCU, а также определяющий доступность первого соотнесенного блока в соответствии с определением того, прилегает ли граница целевого блока предсказания к границе LCU. Модуль предсказания может определить другой соотнесенный блок, помимо первого соотнесенного блока, как соотнесенный блок для получения вектора движения временного предсказания, если определено, что первый соотнесенный блок недоступен. Модуль предсказания может определить другой соотнесенный блок для получения вектора движения временного предсказания в случае, если нижняя граница целевого блока предсказания прилегает к границе LCU, и в случае, если только правая граница целевого блока предсказания прилегает к границе LCU. Модуль предсказания может определить первый соотнесенный блок как недоступный, если нижняя граница целевого блока предсказания прилегает к границе LCU. Модуль предсказания может определить первый соотнесенный блок как соотнесенный блок для получения вектора движения временного предсказания, если первый соотнесенный блок доступен, или может определить доступность пятого соотнесенного блока, если первый соотнесенный блок недоступен.
Предпочтительные результаты
Как было раскрыто выше, способ получения вектора движения временного предсказания и устройство, в котором используется данный способ в соответствии с вариантом реализации настоящего изобретения, могут по-разному использовать соотнесенное (или сорасположенное или совмещаемое) изображение, исходя из которого, получают временной вектор движения, в зависимости от того, прилегает ли целевой блок предсказания к LCU. Применение этого способа позволяет уменьшить объем требуемой памяти и уменьшить количество соответствующих вычислительных ресурсов.
Краткое описание чертежей
На фиг. 1 показана блок-схема, иллюстрирующая устройство кодирования видео в соответствии с вариантом реализации настоящего изобретения.
На фиг. 2 показана блок-схема, иллюстрирующая видеодекодер в соответствии с другим вариантом реализации настоящего изобретения.
На фиг. 3 представлен концептуальный вид, иллюстрирующий способ получения вектора движения временного предсказания в соответствии с вариантом реализации настоящего изобретения.
На фиг. 4 показана блок-схема алгоритма, иллюстрирующая способ получения вектора движения временного предсказания в соответствии с вариантом реализации настоящего изобретения.
На фиг. 5 представлен концептуальный вид, иллюстрирующий положение соотнесенного блока для получения вектора движения временного предсказания в соответствии с вариантом реализации настоящего изобретения.
На фиг. 6 представлен концептуальный вид, иллюстрирующий способ определения соотнесенного блока для получения вектора движения временного предсказания в соответствии с вариантом реализации настоящего изобретения.
На фиг. 7 представлен концептуальный вид, иллюстрирующий случай, когда целевой блок предсказания прилегает к нижней границе LCU в соответствии с вариантом реализации настоящего изобретения.
На фиг. 8 показана блок-схема алгоритма, иллюстрирующая способ межкадрового предсказания, использующий режим слияния в соответствии с вариантом реализации настоящего изобретения.
На фиг. 9 представлен концептуальный вид, иллюстрирующий положения пространственных кандидатов на слияние в соответствии с вариантом реализации настоящего изобретения.
На фиг. 10 показана блок-схема алгоритма, иллюстрирующая способ межкадрового предсказания, использующий AMVP в соответствии с вариантом реализации настоящего изобретения.
Реализация изобретения
Для настоящего изобретения могут быть выполнены различные модификации, и настоящее изобретение может иметь несколько вариантов реализации. Частные примеры вариантов реализации раскрываются подробно со ссылкой на чертежи. Однако настоящее изобретение не ограничено частными вариантами реализации, и следует понимать, что настоящее изобретение включает в себя все модификации, эквиваленты или замены, входящие в объем и сущность настоящего изобретения. При пояснении чертежей для одинаковых элементов могут использоваться одинаковые номера.
Для описания различных элементов (или признаков) могут быть использованы термины «первый» и «второй». Однако эти элементы не ограничиваются этим. Эти термины используются только для отличия одного элемента от другого. Например, первый элемент может быть обозначен вторым элементом, а второй элемент может быть аналогично назван первым. Термин «и/или» включает в себя комбинацию множества соответствующих элементов, как здесь описано, или любой элемент из множества соответствующих элементов.
Если указано, что элемент (или признак) «подключен» или «присоединен» к другому элементу, то данный элемент может быть непосредственно присоединен или подключен к другому элементу. Напротив, если признак или элемент «непосредственно подключен или присоединен» к другому элементу, то промежуточные элементы отсутствуют.
Используемые здесь термины приведены для раскрытия вариантов реализации и не предназначены для ограничения настоящего изобретения. Единственная форма термина также включает в себя и множественную форму, если явно не указывается противоположное. Применяемые здесь термины «содержит» или «включает в себя», и т.п. служат для указания того, что имеются описываемые признаки, целые числа, шаги, операции, элементы, компоненты, части или их комбинации, но они не исключают наличие или возможность добавления одного или более признаков, целых чисел, шагов, операций, элементов, компонентов, частей или их комбинаций.
Далее подробно раскрываются предпочтительные варианты реализации настоящего изобретения со ссылкой на сопровождающие чертежи. Одинаковые числовые обозначения на чертежах относятся к одинаковым элементам, а описание одинаковых элементов не повторяется.
На фиг. 1 показана блок-схема, иллюстрирующая устройство кодирования видео в соответствии с вариантом реализации настоящего изобретения.
Согласно фиг. 1, устройство 100 кодирования видео может включать в себя модуль 110 разделения изображения, модуль 120 межкадрового предсказания, модуль 125 внутрикадрового предсказания, модуль 130 преобразования, модуль 135 квантования, модуль 160 переупорядочивания, модуль 165 энтропийного кодирования, модуль 140 расквантования, модуль 145 обратного преобразования, модуль 150 фильтрации и память 155.
Каждый модуль на фиг. 1 показан независимо для отображения отличающихся друг от друга функций устройства кодирования видео, но это не означает, что каждый модуль выполнен в виде отдельного аппаратного или программного модульного (компонентного) блока. То есть, для удобства описания, модули показаны как выполненные независимо, и по меньшей мере два из этих модулей могут быть объединены в один модуль, или один из модулей может быть разделен на множество модулей для реализации функций. Варианты реализации с комбинированием модулей или варианты реализации с разделением модулей также входят в объем настоящего изобретения без отступления от сущности настоящего изобретения.
Кроме того, некоторые из модулей могут не быть обязательными модулями для реализации существенной функции в настоящем изобретении, а быть лишь опциональными модулями для улучшения рабочих характеристик. Настоящее изобретение может включать в себя только обязательные модули, необходимые для реализации сущности настоящего изобретения, исключая модули, используемые лишь для улучшения рабочих характеристик, и эта конфигурация также входит в объем настоящего изобретения.
Модуль 110 разделения изображения может разделять входное изображение на по меньшей мере один блок обработки. При этом блок обработки может быть блоком предсказания (PU), блоком преобразования (TU) или кодовым блоком (CU). Модуль 110 разделения изображения может кодировать изображение путем разделения одного изображения на комбинацию из множества кодовых блоков, блоков предсказания и блоков преобразования, при этом комбинация одного кодового блока, блока предсказания и блока преобразования может быть выбрана в соответствии с заданным стандартом (или критерием), например, стоимостной функцией, и может быть закодирована.
Например, одно изображение может быть разделено на множество кодовых блоков. Для разделения изображения на кодовые блоки может использоваться рекурсивная древовидная структура, такая как счетверенная древовидная структура. С изображением или наибольшим кодовым блоком в качестве корневого, кодовый блок может быть разделен на другие кодовые блоки, при этом число младших узлов равно количеству разделенных кодовых блоков. Кодовый блок, который далее не разделяется в соответствии с заданным ограничением, считается листовым узлом. Другими словами, если подразумевается, что для кодового блока доступно только квадратное разделение, то данный кодовый блок может быть разделен максимум на четыре других кодовых блока.
Далее в вариантах реализации настоящего изобретения кодовый блок может означать блок, в котором выполняют как кодирование, так и декодирование.
Блок предсказания может быть разделен с формой по меньшей мере одного квадрата или прямоугольника, имеющего одинаковый размер с кодовым блоком.
При формировании блока предсказания, в котором выполняется внутрикадровое предсказание на основании кодового блока, если данный кодовый блок не является наименьшим кодовым блоком, то внутрикадровое предсказание может выполняться без разделения блока предсказания на множество блоков предсказания NxN.
Модуль предсказания может включать в себя модуль 120 межкадрового предсказания для выполнения межкадрового предсказания и модуль 125 внутрикадрового предсказания для выполнения внутрикадрового предсказания. В отношении блока предсказания можно определить, следует ли выполнять межкадровое предсказание или внутрикадровое предсказание, и в соответствии с каждым способом предсказания можно определить конкретную информацию (например, режим внутрикадрового предсказания, вектор движения, опорное изображение и т.д.). В то же время блок обработки для выполнения предсказания может отличаться от блока обработки для определения способа предсказания и его конкретных деталей. Например, способ предсказания и режим предсказания могут быть определены блоком предсказания, а осуществление предсказания может быть выполнено в блоке преобразования. Остаточное значение (остаточный блок) между сформированным блоком предсказания и исходным блоком может подаваться в модуль 130 преобразования. Далее информация режима предсказания и информация вектора движения и т.д., используемые для предсказания, также могут кодироваться в модуле 165 энтропийного кодирования вместе с остаточным значением и затем могут быть переданы в устройство декодирования. Если используется конкретный режим кодирования, а не формируется блок предсказания с помощью модулей 120, 125 предсказания, то исходный блок, как он есть, может быть закодирован и передан в устройство декодирования.
Модуль межкадрового предсказания может предсказывать блок предсказания на основании информации по меньшей мере одного изображения из изображений до текущего изображения или изображений после текущего изображения. Модуль межкадрового предсказания может включать в себя модуль интерполяции опорного изображения, модуль предсказания движения и модуль компенсации движения.
Модуль интерполяции опорного изображения может принимать информацию опорного изображения из памяти 155 и может формировать пиксельную информацию в блоке, меньшем, чем блок целочисленных пикселей в опорном изображении. В случае пикселей яркости может использоваться 8-выводной интерполяционный фильтр на основе DCT с различными коэффициентами фильтрации для каждого вывода для формирования пиксельной информации в блоке, меньшем, чем блок целочисленных пикселей, блоком в 1/4 пикселя. В случае цветного сигнала может использоваться 4-выводной интерполяционный фильтр на основе DCT с различными коэффициентами фильтрации для каждого вывода для формирования пиксельной информации в блоке, меньшем, чем блок целочисленных пикселей, блоком в 1/8 пикселя.
Модуль предсказания движения может осуществлять предсказание движения на основании опорного изображения, интерполированного модулем интерполяции опорного изображения. Для получения вектора движения могут использоваться различные способы, такие как FBMA (от англ. «Full search-based Block Matching Algorithm» - алгоритм поиска совпадающих блоков на основании полного поиска), TSS (от англ. «Three Step Search» - трехшаговый поиск) или NTS (от англ. «New Three-Step Search Algorithm» -новый алгоритм трехшагового поиска) и т.п. Вектор движения может иметь значение вектора движения в блоке 1/2 пикселя или в блоке 1/4 пикселя на основании интерполированного пикселя. Модуль предсказания движения может предсказывать текущий блок предсказания путем применения различных способов предсказания движения. В качестве способа предсказания могут использоваться различные способы, такие как способ пропуска, способ слияния или способ AMVP (от англ. «Advanced Motion Vector Prediction» - усовершенствованное предсказание вектора движения).
В соответствии с примерным вариантом реализации настоящего изобретения, модуль межкадрового предсказания может определять, прилегает ли граница целевого блока предсказания к границе LCU (наибольшего кодового блока), а также может определять, доступен ли первый соотнесенный (или сорасположенный или совмещенный) блок в соответствии с определением того, прилегает ли граница целевого блока предсказания к границе LCD. Например, если первый соотнесенный блок недоступен, то второй соотнесенный блок может быть определен как соотнесенный блок для получения вектора движения временного предсказания. Или, если первый соотнесенный блок недоступен, то положение первого соотнесенного блока может быть изменено, и первый соотнесенный блок с измененным положением может быть определен как соотнесенный блок для получения вектора движения временного предсказания.
Далее, модуль межкадрового предсказания может включать в себя модуль предсказания, который определяет индекс опорного изображения соотнесенного блока целевого блока предсказания и определяет вектор движения временного предсказания соотнесенного блока. Соотнесенный блок может адаптивно определяться в соответствии с положением целевого блока предсказания в LCU (наибольшем кодовом блоке). Далее подробно раскрывается работа модуля предсказания в соответствии с настоящим изобретением.
Модуль межкадрового предсказания может формировать блок предсказания на основании информации об опорных пикселях, соседних с текущим блоком, которая является пиксельной информацией о пикселях в текущем изображении. Если блок, соседний для текущего блока предсказания, является блоком, к которому применяется межкадровое предсказание и, таким образом, опорный пиксель является пикселем из межкадрового предсказания, то опорный пиксель, входящий в блок, к которому применяется межкадровое предсказание, может быть заменен с использованием информации опорного пикселя блока, к которому применяется внутрикадровое предсказание. То есть, если опорный пиксель недоступен, то информация недоступного опорного пикселя может быть заменена, по меньшей мере, одним из доступных опорных пикселей.
Что касается внутрикадрового предсказания, то режимы предсказания могут включать в себя режим направленного предсказания, в котором используют информацию об опорных пикселях в соответствии с направлением предсказания, и режим ненаправленного предсказания, в котором не используется информация о направлении при осуществлении предсказания. Режим для предсказания информации о яркости может отличаться от режима предсказания информации о цвете. Кроме того, информация о режиме внутрикадрового предсказания, в котором предсказана информация о яркости, или информация о предсказанном сигнале яркости может использоваться для предсказания информации цветности.
При выполнении внутрикадрового предсказания, если размер блока предсказания такой же, как размер блока преобразования, то внутрикадровое предсказание выполняется на основании пикселей, находящихся с левой стороны блока предсказания, пикселей, находящихся вверху слева блока предсказания, и пикселей, находящихся вверху блока предсказания. Однако, при выполнении внутрикадрового предсказания, если размер блока предсказания отличается от размера блока преобразования, то внутрикадровое предсказание может выполняться с использованием опорных пикселей, основанных на блоке преобразования. Кроме того, только для наименьшего кодового блока может выполняться внутрикадровое предсказание с использованием разделения NxN.
В способе внутрикадрового предсказания блок предсказания может формироваться после применения фильтра внутрикадрового сглаживания, зависящего от режима, (MDIS-фильтра) к опорным пикселям в соответствии с режимом предсказания. К опорным пикселям могут применяться различные типы MDIS-фильтров. Для реализации способа внутрикадрового предсказания режим внутрикадрового предсказания текущего блока предсказания может предсказываться из режима внутрикадрового предсказания блока предсказания, соседнего для текущего блока предсказания. В случае, когда режим предсказания текущего блока предсказания предсказан с использованием информации о режиме, предсказанной из соседнего блока предсказания, если режим внутрикадрового предсказания текущего блока предсказания совпадает с режимом внутрикадрового предсказания соседнего блока предсказания, то для передачи информации, указывающей на то, что текущий блок предсказания идентичен в режиме предсказания с соседним блоком предсказания, может использоваться заданная флаговая информация. И если режим предсказания текущего блока предсказания отличается от режима предсказания соседнего блока предсказания, то для кодирования информации о режиме предсказания текущего блока может применяться энтропийное кодирование.
Кроме того, можно получить остаточный блок, включающий в себя информацию об остаточном значении, которое представляет собой разность между исходным блоком блока предсказания и блоком предсказания, по которому осуществляется предсказание на основании блока предсказания, сформированного в модуле 120, 125 предсказания. Полученный остаточный блок может быть подан в модуль 130 преобразования. Модуль 130 преобразования может преобразовать остаточный блок с использованием способа преобразования, такого как DCT (дискретное косинусное преобразование) или DST (дискретное синусное преобразование). Остаточный блок включает в себя информацию остатка между блоком предсказания, сформированным с помощью модулей 120, 125 предсказания, и исходным блоком. Что следует применять, DCT или DST, для преобразования остаточного блока, можно определить на основании информации режима внутрикадрового предсказания блока предсказания, используемого для формирования остаточного блока.
Модуль 135 квантования может квантовать значения, преобразованные в частотную область модулем 130 преобразования. В зависимости от блока или важности изображения параметр квантования может меняться. Значение, полученное в модуле 135 квантования, может подаваться в модуль 140 расквантования и модуль 160 переупорядочивания.
Модуль 160 переупорядочивания может осуществлять переупорядочивание коэффициентов для квантованных остаточных значений.
Модуль 160 переупорядочивания может изменять коэффициенты формы двумерного (2D) блока в форму одномерного вектора с помощью способа сканирования коэффициента. Например, модуль 160 переупорядочивания может использовать способ диагонального сканирования от DC-коэффициентов до высокочастотных коэффициентов, тем самым упорядочивая коэффициенты в форме 2D-блока в форму одномерного вектора. В зависимости от размера модуля преобразования и режима внутрикадрового предсказания, вместо способа диагонального сканирования может использоваться способ вертикального сканирования, в котором коэффициенты в форме 2D-блока сканируются вдоль столбца или метод горизонтального сканирования, коэффициенты в форме 2D-блока сканируются вдоль ряда. Другими словами, в зависимости от размера блока преобразования и режима внутрикадрового предсказания может использоваться одно из диагонального сканирования, вертикального сканирования и горизонтального сканирования.
Модуль 165 энтропийного кодирования может осуществлять энтропийное кодирование на основании значений, полученных из модуля 160 переупорядочивания. Для энтропийного кодирования могут использоваться различные способы кодирования, такие как, например, экспоненциальный код Голомба, САВАС (бинарное арифметическое кодирование, адаптивное к контексту).
Модуль 165 энтропийного кодирования может кодировать различную информацию, предоставляемую модулем 160 переупорядочивания и модулями 120, 125 предсказания, такую как информация об остаточных коэффициентах и информация о типе блока кодового блока, информация режима предсказания, информация блока разделения, информация блока предсказания и информация блока передачи, информация вектора движения, информация опорного кадра, информация интерполяции для блока, информация фильтрации и информация о размере LCU.
Модуль 165 энтропийного кодирования может осуществлять энтропийное кодирование значений коэффициентов кодового блока, как входящего из модуля 160 переупорядочивания, с использованием способа энтропийного кодирования, такого как САВАС.
Модуль 140 расквантования может осуществлять расквантование значений, квантованных модулем 135 квантования, а модуль 145 обратного преобразования может осуществлять обратное преобразование значений, преобразованных модулем 130 преобразования. Остаточное значение, формируемое модулем 140 расквантования и модулем 145 обратного преобразования, может добавляться к блоку предсказания, предсказанному с помощью модуля оценки движения, модуля компенсации движения и модуля внутрикадрового предсказания, входящих в модуль 120, 125 предсказания, тем самым формируя восстановленный блок.
Модуль 150 фильтрации может включать в себя по меньшей мере одно из фильтра деблокирования, модуля коррекции смещения и ALF (адаптивный фильтр с обратной связью).
Фильтр деблокирования может устранять блочное искажение, возникающее из-за границы блока в восстановленном (или реконструированном) изображении. Следует ли применять фильтр деблокирования к текущему блоку, можно определить с помощью пикселя, входящего в несколько столбцов или рядов, входящих в блоки. При применении деблокирующего фильтра к блоку, может применяться сильный фильтр или слабый фильтр в зависимости от требуемой силы фильтрации деблокирования. Кроме того, при применении деблокирующего фильтра к блоку, фильтрация горизонтального направления и фильтрация вертикального направления могут осуществляться параллельно.
Модуль коррекции смещения может корректировать смещение между исходным изображением и изображением с деблокированием в пиксельном блоке (или попиксельно). Чтобы выполнить коррекцию смещения для конкретного изображения, пиксели, имеющиеся в изображении, делят на заданное число областей, одну из которых затем выбирают для выполнения смещения, при этом может использоваться способ применения смещения к соответствующей области, или способ применения смещения с учетом краевой информации каждого пикселя.
ALF (адаптивный фильтр с обратной связью) может выполнять фильтрацию на основании значения, полученного сравнением фильтрованного восстановленного (или реконструированного) изображения, и исходного изображения. Пиксели, содержащиеся в изображении, делят на заданные группы, и затем определяют один фильтр, применяемый к соответствующей группе, выполняя, тем самым, фильтрацию для каждой группы дискриминационным образом. В отношении информации о том, следует ли применять ALF, сигнал яркости может передаваться для каждого кодового блока, а применяемый размер и коэффициент ALF могут различаться для каждого блока. ALF может иметь различные формы, а количество коэффициентов в данном фильтре может меняться соответственно. Информация, относящаяся к фильтрации такого ALF (информация о коэффициентах фильтра, информация о включении/выключении ALF или информация о форме фильтра) может передаваться, будучи включенной в заданный набор параметров битового потока.
Память 155 может сохранять восстановленный блок или изображение, формируемое с помощью модуля 150 фильтрации, а сохраненный восстановленный блок или изображение могут передаваться в модуль 120, 125 предсказания при выполнении межкадрового предсказания.
На фиг. 2 показана блок-схема, иллюстрирующая видеодекодер в соответствии с другим вариантом реализации настоящего изобретения.
Согласно фиг. 2, видеодекодер может включать в себя модуль 210 энтропийного декодирования, модуль 215 переупорядочивания, модуль 220 расквантования, модуль 225 обратного преобразования, модуль 230 и 235 предсказания, модуль 240 фильтрации и память 245.
Если битовый поток видео поступает из видеокодера, то данный входящий битовый поток может быть декодирован в процессе, обратном происходящему в видеокодере.
Модуль 210 энтропийного декодирования может осуществлять энтропийное декодирование в процессе, обратном энтропийному кодированию, выполняемому в модуле энтропийного кодирования видеокодера. Из фрагментов информации, декодируемой модулем 210 энтропийного декодирования, информация, используемая для получения блока предсказания, такая как информация о размере LCU или информация о размере блока, подается в модуль 230 и 235 предсказания, а остаточные значения, полученные с помощью энтропийного декодирования в модуле энтропийного декодирования, могут подаваться в модуль 215 переупорядочивания.
Модуль 210 энтропийного декодирования может декодировать информацию, относящуюся к внутрикадровому предсказанию и межкадровому предсказанию, выполняемым в кодере. Как было раскрыто выше, при наличии заданного ограничения, если видеокодер осуществляет внутрикадровое предсказание и межкадровое предсказание, то энтропийное декодирование осуществляется на основании такого ограничения, с получением при этом информации, относящейся к внутрикадровому предсказанию и межкадровому предсказанию для текущего блока.
Модуль 215 переупорядочивания может осуществлять переупорядочивание на основании способа, которым кодер переупорядочивает битовый поток, который энтропийно декодирован в модуле 210 энтропийного декодирования. Такое переупорядочивание может быть выполнено путем восстановления коэффициентов, представленных в форме одномерных векторов, в форму 20-блока коэффициентов.
Модуль 220 расквантования может осуществлять расквантование на основании блока переупорядоченных коэффициентов и параметров квантования, полученных из кодера.
Модуль 225 обратного преобразования может осуществлять обратное DCT-преобразование и обратное DST-преобразование, по отношению к DCT- и DST-преобразованиям, выполненным модулем преобразования, над результатом квантования, выполненного видеокодером. Обратное преобразование может выполняться на основании блока преобразования, определенного видеокодером. Модуль преобразования видеокодера может выборочно осуществлять DCT- и DST-преобразования в зависимости от совокупности информации, такой как способ предсказания, размер текущего блока и направление предсказания, а модуль 225 обратного преобразования видеодекодера может осуществлять обратное преобразование на основании информации преобразования, выполненного в модуле преобразования видеокодера.
Модуль 230 и 235 предсказания может формировать блок предсказания на основании предварительно декодированного блока или предварительно декодированной информации изображения, полученных из памяти 245, и информации, относящейся к формированию блока предсказания, полученной из модуля 210 энтропийного декодирования.
Модуль 230 и 235 предсказания может включать в себя модуль определения блока предсказания, модуль межкадрового предсказания и модуль внутрикадрового предсказания. Модуль определения блока предсказания может принимать различную информацию, включая информацию о режиме предсказания в способе внутрикадрового предсказания, информацию, относящуюся к предсказанию движения в способе межкадрового предсказания и информацию блока предсказания, а также различную информацию, поступающую из модуля энтропийного декодирования. Модуль определения блока предсказания может выделять блок предсказания из текущего кодового блока, а также может определять, осуществляется межкадровое предсказание или осуществляется внутрикадровое предсказание для блока предсказания. Модуль межкадрового предсказания может осуществлять межкадровое предсказание для текущего блока предсказания в соответствии с информацией, содержащейся, по меньшей мере, в одном изображении из изображений до текущего изображения или изображений после текущего изображения. Модуль межкадрового предсказания может осуществлять межкадровое предсказание для текущего блока предсказания с использованием информации, необходимой для межкадрового предсказания текущего блока предсказания, полученного из видеокодер