Способ и устройство для кодирования/декодирования видеоданных
Иллюстрации
Показать всеИзобретение относится к технологиям кодирования/декодирования видеоданных. Техническим результатом является повышение эффективности декодирования видеосигнала. Предложен способ декодирования видеосигнала. Способ содержит этап приема информации о режиме обхода при преобразовании, соответствующей текущему блоку, при этом информация о режиме обхода при преобразовании указывает режим обхода при преобразовании для текущего блока. Далее, согласно способу, осуществляют энтропийное декодирование информации о режиме обхода при преобразовании, осуществляют получение разностных коэффициентов преобразования, относящихся к текущему блоку, из видеосигнала. А также осуществляют получение прошедших обратное квантование разностных коэффициентов преобразования посредством выполнения обратного квантования разностных коэффициентов преобразования. 3 з.п. ф-лы, 11 ил., 5 табл.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к обработке изображений и, более конкретно, к способу преобразования и к устройству преобразования.
Уровень техники
В последнее время выросла потребность в использовании видеоизображений с большим разрешением и высоким качеством, например видеоизображений высокого (high-definition, HD) и сверхвысокого (ultrahigh-definition, UHD) разрешений.
По мере повышения разрешения и качества изображений возрастает и объем видеоданных. Соответственно, по сравнению с обычными способами обработки видеоданных, при предоставлении высококачественных видеоданных возрастают затраты на их передачу и хранение. Для устранения указанных недостатков, сопровождающих рост разрешения и качества видеоданных, могут использоваться высокоэффективные способы сжатия видеоданных.
В качестве способов сжатия видеоданных используются различные схемы, например межкадровое предсказание, использующее элементы данных изображений, отличных от текущего изображения, внутрикадровое предсказание, использующее только элементы данных из одного декодированного сегмента, и энтропийное кодирование/декодирование, в котором более часто встречающимся сигналам назначают более короткие коды.
Раскрытие изобретения
Недостаток, устраняемый изобретением.
В аспекте настоящего изобретения предлагается способ кодирования видеоданных и устройство для кодирования видеоданных, дающие возможность повысить эффективность кодирования видеоданных.
В еще одном аспекте настоящего изобретения предлагается способ декодирования видеоданных и устройство для декодирования видеоданных, дающие возможность повысить эффективность декодирования видеоданных.
В еще одном аспекте настоящего изобретения предлагается способ преобразования и устройство преобразования, дающие возможность повысить эффективность кодирования видеоданных.
В еще одном аспекте настоящего изобретения предлагается способ обратного преобразования и устройство обратного преобразования, дающие возможность повысить эффективность декодирования видеоданных.
В еще одном аспекте настоящего изобретения предлагается способ сканирования и устройство сканирования, дающие возможность повысить эффективность кодирования видеоданных.
В еще одном аспекте настоящего изобретения предлагается способ обратного сканирования и устройство обратного сканирования, дающие возможность повысить эффективность декодирования видеоданных.
Техническое решение.
В варианте осуществления настоящего изобретения предлагается способ декодирования видеоданных. Способ может включать прием информации об изображении, соответствующей целевому блоку декодирования, энтропийное декодирование указанной информации об изображении, определение режима обхода при преобразовании (transform skip mode, TSM, РОП) для целевого блока декодирования из числа возможных режимов TSM на основании прошедшей энтропийное декодирование информации об изображении и обратное преобразование целевого блока декодирования на основании определенного таким образом режима TSM. При этом в число возможных режимов TSM может входить по меньшей мере один из следующих режимов: режим двумерного (2D) преобразования, в котором выполняется как горизонтальное преобразование, так и вертикальное преобразование, режим горизонтального преобразования, в котором выполняется горизонтальное преобразование, режим вертикального преобразования, в котором выполняется вертикальное преобразование, и режим без преобразования, в котором преобразование не выполняется.
Информация об изображении может содержать информацию о режиме предсказания, соответствующем целевому блоку декодирования, и тип элемента предсказания (ЭП, prediction unit, PU), соответствующего целевому блоку декодирования.
Если режимом предсказания, соответствующим целевому блоку декодирования, является межкадровый режим, а типом ЭП, соответствующего целевому блоку декодирования, является N×2N, где N является натуральным числом, то режиму вертикального преобразования может быть назначено более короткое кодовое слово, чем режиму горизонтального преобразования.
Если режимом предсказания, соответствующим целевому блоку декодирования, является межкадровый режим, а типом ЭП, соответствующего целевому блоку декодирования, является 2Ν×Ν, где N является натуральным числом, то в число возможных режимов TSM могут входить режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования, но не режим вертикального преобразования.
Если режимом предсказания, соответствующим целевому блоку декодирования, является межкадровый режим, а типом ЭП, соответствующего целевому блоку декодирования, является Ν×2Ν, где N является натуральным числом, то в число возможных режимов TSM могут входить режим двумерного преобразования, режим вертикального преобразования и режим без преобразования, но не режим горизонтального преобразования.
Если режимом предсказания, соответствующим целевому блоку декодирования, является режим ближнего внутрикадрового предсказания (short distance intra prediction, SDIP), а типом элемента предсказания, соответствующего целевому блоку декодирования, является 2N×(1/2)N, где N является натуральным числом, большим или равным 2, то в число возможных режимов TSM могут входить режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования, но не режим вертикального преобразования.
Если режимом предсказания, соответствующим целевому блоку декодирования, является режим SDIP (short distance intra prediction, режим ближнего внутрикадрового предсказания), а типом ЭП, соответствующего целевому блоку декодирования, является (1/2)N×2N, где N является натуральным числом, большим или равным 2, то в число возможных режимов TSM могут входить режим двумерного преобразования, режим вертикального преобразования и режим без преобразования, но не режим горизонтального преобразования.
Информация об изображении может содержать информацию о режиме предсказания, соответствующем целевому блоку декодирования, и направление предсказания ЭП, соответствующего целевому блоку декодирования.
Если режимом предсказания, соответствующим целевому блоку декодирования, является внутрикадровый режим, а направлением предсказания ЭП, соответствующего целевому блоку декодирования, является вертикальное направление, то режиму вертикального преобразования может быть назначено более короткое кодовое слово, чем режиму горизонтального преобразования.
Способ декодирования видеоданных может дополнительно включать определение режима сканирования для целевого блока декодирования на основании определенного таким образом режима TSM и обратное сканирование целевого блока декодирования на основании определенного таким образом режима сканирования.
При определении режима сканирования в качестве режима сканирования может быть определен вертикальный режим сканирования, если определенным таким образом режимом TSM является режим горизонтального преобразования.
При определении режима сканирования в качестве режима сканирования может быть определен горизонтальный режим сканирования, если определенным таким образом режимом TSM является режим вертикального преобразования.
В еще одном варианте осуществления настоящего изобретения предлагается устройство для декодирования видеоданных (видеодекодер). Устройство для декодирования видеоданных может содержать модуль энтропийного декодирования для приема информации об изображении, соответствующей целевому блоку декодирования, и для энтропийного декодирования указанной информации об изображении, и модуль обратного преобразования для определения режима TSM для целевого блока декодирования из числа множества возможных режимов TSM на основании прошедшей энтропийное декодирование информации об изображении и для обратного преобразования целевого блока декодирования на основании определенного таким образом режима TSM. При этом в число возможных режимов TSM входит по меньшей мере один из следующих режимов: режим двумерного преобразования, в котором выполняется как горизонтальное преобразование, так и вертикальное преобразование, режим горизонтального преобразования, в котором выполняется горизонтальное преобразование, режим вертикального преобразования, в котором выполняется вертикальное преобразование, и режим без преобразования, в котором преобразование не выполняется.
В еще одном варианте осуществления настоящего изобретения предлагается способ кодирования видеоданных. Способ может включать формирование разностного блока, соответствующего целевому блоку кодирования; определение режима TSM для целевого блока кодирования из числа множества возможных режимов TSM и преобразование разностного блока на основании определенного таким образом режима TSM. При этом в число возможных режимов TSM может входить по меньшей мере один из следующих режимов: режим двумерного преобразования, в котором выполняется как горизонтальное преобразование, так и вертикальное преобразование, режим горизонтального преобразования, в котором выполняется горизонтальное преобразование, режим вертикального преобразования, в котором выполняется вертикальное преобразование, и режим без преобразования, в котором преобразование не выполняется.
Режимом предсказания, соответствующим целевому блоку кодирования, может быть межкадровый режим, и при определении режима TSM режим TSM может определяться на основании типа ЭП, соответствующего целевому блоку кодирования.
Режимом предсказания, соответствующим целевому блоку кодирования, может быть режим SDIP, и при определении режима TSM режим TSM может определяться на основании типа ЭП, соответствующего целевому блоку кодирования.
Режимом предсказания, соответствующим целевому блоку кодирования, может быть внутрикадровый режим, и при определении режима TSM режим TSM может определяться на основании направления режима внутрикадрового предсказания ЭП, соответствующего целевому блоку кодирования.
Способ кодирования видеоданных может дополнительно включать определение режима сканирования для целевого блока кодирования на основании определенного таким образом режима TSM и сканирование целевого блока кодирования на основании определенного таким образом режима сканирования.
В еще одном варианте осуществления настоящего изобретения предлагается устройство для кодирования видеоданных (видеокодер). Устройство для кодирования видеоданных может содержать модуль формирования разностного блока для формирования разностного блока, соответствующего целевому блоку кодирования, и модуль преобразования для определения режима TSM для целевого блока кодирования из числа множества возможных режимов TSM и для преобразования разностного блока на основании определенного таким образом режима TSM. При этом в число возможных режимов TSM может входить по меньшей мере один из следующих режимов: режим двумерного преобразования, в котором выполняется как горизонтальное преобразование, так и вертикальное преобразование, режим горизонтального преобразования, в котором выполняется горизонтальное преобразование, режим вертикального преобразования, в котором выполняется вертикальное преобразование, и режим без преобразования, в котором преобразование не выполняется.
Технический результат.
Согласно способу кодирования видеоданных настоящего изобретения может быть повышена эффективность кодирования видеоданных.
Согласно способу декодирования видеоданных настоящего изобретения может быть повышена эффективность декодирования видеоданных.
Согласно способу преобразования/обратного преобразования настоящего изобретения может быть повышена эффективность кодирования/декодирования видеоданных.
Согласно способу сканирования/обратного сканирования настоящего изобретения может быть повышена эффективность кодирования/декодирования видеоданных.
Краткое описание чертежей
На фиг. 1 показана функциональная схема, иллюстрирующая конфигурацию устройства для кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 2 показана функциональная схема, иллюстрирующая конфигурацию устройства для декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 3 схематично показан способ преобразования на основании режима преобразования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 4 показана блок-схема, схематично иллюстрирующую операцию преобразования, выполняемую устройством для кодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 5 показана блок-схема, схематично иллюстрирующая операцию обратного преобразования, выполняемую устройством для декодеирования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 6 показан способ определения возможного режима обхода при преобразовании и способ назначения кодового слова режиму обхода при преобразовании в соответствии с формой ЭП в межкадровом режиме.
На фиг. 7 показан способ определения возможного режима обхода при преобразовании и способ назначения кодового слова режиму обхода при преобразовании в соответствии с формой ЭП в режиме SDIP.
На фиг. 8 показан способ назначения кодового слова режиму обхода при преобразовании в соответствии с направлениями режима внутрикадрового предсказания.
На фиг. 9 схематично показан способ сканирования коэффициента преобразования на основании режима обхода при преобразовании в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 10 показана блок-схема, схематично иллюстрирующая способ кодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 11 показана блок-схема, схематично иллюстрирующая способ декодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
Осуществление изобретения
Хотя с целью пояснения различных особенностей и функций устройства для кодирования видеоданных и устройства для декодирования видеоданных элементы на чертежах показаны независимыми, данная конфигурация не означает, что каждый элемент представляет собой отдельный аппаратный компонент или программный компонент. Иными словами, элементы показаны независимыми для удобства описания, но для выполнения функций два или более элементов могут быть объединены в один элемент, либо один элемент может быть разделен на несколько элементов. Варианты осуществления изобретения, в которых некоторые элементы объединены в один составной элемент и/или один элемент разделен на несколько самостоятельных элементов, входят в объем охраны настоящего изобретения без выхода за пределы сущности настоящего изобретения.
Далее со ссылкой на сопровождающие чертежи подробно описываются примерные варианты осуществления настоящего изобретения. Одинаковые обозначения позиций на чертежах относятся к аналогичным элементам, и повторное описание аналогичных элементов не приводится.
На фиг. 1 показана функциональная схема, иллюстрирующая конфигурацию устройства для кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения. Как показано на фиг. 1, устройство для кодирования видеоданных может содержать модуль 110 разбиения изображения, модуль 120 межкадрового предсказания, модуль 125 внутрикадрового предсказания, модуль 130 преобразования, модуль 135 квантования (квантизации), модуль 140 деквантования (деквантизации), модуль 145 обратного преобразования, модуль 150 фильтрации, память (запоминающее устройство) 155, модуль 160 переупорядочения и модуль 165 энтропийного кодирования.
Модуль 110 разбиения изображения может разбивать входное изображение на один или более элементов кодирования. Элемент кодирования (coding unit, CU, ЭК) представляет собой элемент изображения, над которым устройство для кодирования видеоданных выполняет операцию кодирования; ЭК может быть последовательно разбит на более мелкие ЭК до некоторой глубины в соответствии со структурой дерева квадрантов. ЭК может иметь размер 8×8, 16×16, 32×32 и 64×64. Элемент кодирования с наибольшим размером называется наибольшим элементом кодирования (largest coding unit, LCU), а элемент кодирования с наименьшим размером называется наименьшим элементом кодирования (smallest coding unit, SCU).
Модуль 110 разбиения изображения может разбивать ЭК и формировать элемент предсказания (prediction unit, PU, ЭП) и элемент преобразования (transform unit, TU). ЭП может быть меньше, чем ЭК, или может совпадать с ЭК, и не обязательно должен представлять собой квадратный блок, а может представлять собой прямоугольный блок.
Как правило, внутрикадровое предсказание может осуществляться с использованием блоков размером 2N*2N или N*N. Здесь N является натуральным числом, обозначающим количество пикселов, а обозначение 2N*2N или N*N может использоваться для представления размера ЭП (и/или режима разбиения). Однако с целью повышения эффективности внутрикадрового предсказания при внутрикадровом предсказании на малом расстоянии (short distance intra prediction, SDIP) может использоваться не только ЭП размером 2N*2N, но и разделенный ЭП размером hN*2N/2N*hN (здесь h=1/2). При использовании ЭП размером hN*2N/2N*hN может быть лучше учтена направленность границы в блоке, и, соответственно, может быть снижена энергия сигнала ошибки предсказания, в результате чего можно снизить количество битов, необходимых для кодирования, и тем повысить эффективность кодирования.
Межкадровое предсказание может осуществляться с использованием блоков размером 2N*2N, 2N*N, N*2N или N*N. Здесь N является натуральным числом, обозначающим количество пикселов, а обозначение 2Ν*2Ν, 2Ν*Ν, Ν*2Ν или Ν*Ν может использоваться для представления размера ЭП (и/или режима разбиения). Для повышения эффективности межкадрового предсказания межкадровое предсказание может осуществляться с использованием, в дополнение к ЭП размером 2Ν*2Ν, 2Ν*Ν, Ν*2Ν и Ν*Ν, ЭП с размером 2N×nU, 2N×nD, nL×2N и nR×2N. Здесь обозначения 2N×nU, 2N×nD, nL×2N и nR×2N могут использоваться для представления размера ЭП (и/или режима разбиения). В режимах разбиения 2N×nU и 2N×nD ЭП может иметь размер 2N×(1/2)N или 2N×(3/2)N, а в режимах разбиения nL×2N и nR×2N ЭП может иметь размер (1/2)N×2N или (3/2)N×2N.
В режиме межкадрового предсказания используется модуль 120 межкадрового предсказания, выполненный с возможностью выполнять измерение перемещения (motion estimation, ME) и выполнять компенсацию перемещения (motion compensation, МС). Модуль 120 межкадрового предсказания выполнен с возможностью формировать блок предсказания на основании информации о по меньшей мере одном из предшествующих и последующих кадров текущего изображения.
Модуль 120 межкадрового предсказания может выполнять измерение перемещения на основании разделенного целевого блока предсказания и по меньшей мере одного опорного блока, хранимого в памяти 155. В результате измерения перемещения модуль 120 межкадрового предсказания может формировать информацию о перемещении, содержащую вектор перемещения (motion vector, MV), индекс опорного блока и режим предсказания.
Затем, используя информацию о перемещении и опорный блок, модуль 120 межкадрового предсказания может выполнять компенсацию перемещения. При этом модуль 120 межкадрового предсказания может формировать из опорного блока и выдавать блок предсказания, соответствующий входному блоку.
В режиме внутрикадрового предсказания используется модуль 125 внутрикадрового предсказания, выполненный с возможностью формировать блок предсказания на основании информации о пикселах текущего изображения. В режиме внутрикадрового предсказания модуль 125 внутрикадрового предсказания может выполнять предсказание для текущего блока на основании целевого блока предсказания и восстановленного блока, ранее восстановленного посредством преобразования и квантования. При этом восстановленный блок может представлять собой восстановленное изображение, которое не подвергалось обработке в модуле 150 фильтрации.
В описанных выше режиме межкадрового предсказания и режиме внутрикадрового предсказания по целевому блоку предсказания может осуществляться предсказание и в результате может формироваться блок предсказания. При этом путем нахождения разности между целевым блоком предсказания и сформированным блоком предсказания может формироваться разностный блок.
Модуль 130 преобразования выполнен с возможностью поэлементно на уровне элементов преобразования преобразовывать разностный блок и формировать коэффициент преобразования. Элемент преобразования может иметь древовидную структуру с наибольшим и наименьшим размерами. О факте разбиения текущего блока на субблоки каждым элементом преобразования может сообщаться посредством флага. Модуль 130 преобразования выполнен с возможностью выполнять преобразование, используя дискретное косинусное преобразование (discrete cosine transform, DCT) и/или дискретное синусное преобразование (discrete sine transform, DST).
Модуль 135 квантования (квантизации) выполнен с возможностью выполнять квантование значений, выдаваемых из модуля 130 преобразования. Коэффициент квантования может меняться соответственно конкретному блоку или значимости изображения. Прошедший квантование коэффициент преобразования может передаваться в модуль 160 переупорядочения и в модуль 140 деквантования (деквантизации).
Модуль 160 переупорядочения выполнен с возможностью с целью повышения эффективности энтропийного кодирования переупорядочивать путем сканирования двумерный (2D) блок прошедших квантование коэффициентов преобразования в одномерный (1D) вектор коэффициентов преобразования. С целью повышения эффективности энтропийного кодирования модуль 160 переупорядочения может менять порядок сканирования на основании стохастической статистики.
Модуль 165 энтропийного кодирования выполнен с возможностью выполнять энтропийное кодирование значений, выдаваемых модулем 160 переупорядочения. При энтропийном кодировании чаще встречающемуся значению синтаксического элемента может быть назначено кодовое слово с меньшим количеством битов, а реже встречающемуся значению синтаксического элемента может быть назначено кодовое слово с большим количеством битов. Указанным образом с целью повышения эффективности сжатия при кодировании видеоданных может быть сокращен размер строки битов для символов, подлежащих кодированию. Для энтропийного кодирования могут использоваться различные способы кодирования, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование с переменной длиной (context-adaptive variable length coding, CAVLC) и/или контекстно-адаптивное двоичное арифметическое кодирование (context-adaptive binary arithmetic coding, CABAC). Кодированная информация может преобразовываться в сжатый битовый поток и сохраняться либо передаваться через абстрактный уровень сети (network abstraction layer, NAL).
Модуль 140 деквантования (деквантизации) выполнен с возможностью выполнять деквантование коэффициентов преобразования, квантование которых выполнено модулем 135 квантования (квантизации), а модуль 145 обратного преобразования выполнен с возможностью формировать восстановленный разностный блок для обратного преобразования прошедших деквантование коэффициентов преобразования. Восстановленный разностный блок может быть объединен с блоком предсказания, сформированным модулем 120 межкадрового предсказания или модулем 125 внутрикадрового предсказания, с целью формирования восстановленного блока. Восстановленный блок может быть передан в модуль 125 внутрикадрового предсказания и в модуль 150 фильтрации.
Модуль 150 фильтрации выполнен с возможностью фильтровать восстановленный разностный блок, используя фильтр подавления блочности, фильтр с адаптивным сдвигом отсчетов (sample adaptive offset, SAO) и/или адаптивный петлевой фильтр (adaptive loop filter, ALF). Фильтр подавления блочности выполнен с возможностью фильтровать восстановленный блок таким образом, чтобы устранялись искажения на границах между блоками, возникающие вследствие кодирования и декодирования. Фильтрация SAO представляет собой операцию петлевой фильтрации, выполняемую над разностным блоком, получаемым после фильтра подавления блочности, с целью попиксельного восстановления разности сдвига относительно исходного изображения. В SAO могут использоваться режимы полосового сдвига и краевого сдвига. При полосовом сдвиге пикселы распределяют по 32 диапазонам в соответствии с их интенсивностью, а затем применяют сдвиги к пикселам, попавшим в центральную группу, содержащую 16 диапазонов, и в две крайние группы, содержащие в сумме 16 диапазонов. ALF выполнен с возможностью выполнять фильтрацию так, чтобы минимизировать ошибку между целевым блоком предсказания и окончательно восстановленным блоком. ALF может выполнять фильтрацию на основании значения, получаемого путем сравнения восстановленного блока, прошедшего фильтрацию в фильтре подавления блочности, с текущим целевым блоком предсказания, а информация о коэффициентах фильтра ALF может записываться в заголовок сегмента и передаваться из устройства для кодирования в устройство для декодирования.
Память 155 выполнена с возможностью хранить окончательно восстановленный блок, прошедший модуль 150 фильтрации, и указанный окончательно восстановленный блок может быть передан в модуль 120 межкадрового предсказания, выполняющий межкадровое предсказание.
На фиг. 2 показана функциональная схема, иллюстрирующая конфигурацию устройства для декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения. Как показано на фиг. 2, устройство для декодирования видеоданных может содержать модуль 210 энтропийного декодирования, модуль 215 переупорядочения, модуль 220 деквантования (деквантизации), модуль 225 обратного преобразования, модуль 230 межкадрового предсказания, модуль 235 внутрикадрового предсказания, модуль 240 фильтрации и память (запоминающее устройство) 245.
Модуль 210 энтропийного декодирования выполнен с возможностью принимать сжатый битовый поток из абстрактного уровня сети. Модуль 210 энтропийного декодирования выполнен с возможностью выполнять энтропийное декодирование принятого битового потока, а также выполнять энтропийное декодирование режима предсказания и информации о векторе перемещения, если битовый поток содержит режим предсказания и информацию о векторе перемещения. При использовании энтропийного декодирования чаще встречающемуся значению синтаксического элемента может быть назначено кодовое слово с меньшим количеством битов, а реже встречающемуся значению синтаксического элемента может быть назначено кодовое слово из большего количества битов. Таким образом, размер строки битов для символов, подлежащих кодированию, может быть снижен с целью повышения эффективности сжатия при кодировании видеоданных.
Прошедший энтропийное декодирование коэффициент преобразования или разностный сигнал могут быть переданы в модуль 215 переупорядочения. Модуль 215 переупорядочения выполнен с возможностью выполнять обратное сканирование декодированного коэффициента преобразования или разностный сигнал с целью формирования двумерного блока коэффициентов преобразования.
Модуль 220 деквантования (деквантизации) выполнен с возможностью выполнять деквантование переупорядоченных коэффициентов преобразования. Модуль 225 обратного преобразования выполнен с возможностью выполнять обратное преобразование прошедших деквантование коэффициентов преобразования с целью формирования разностного блока.
Разностный блок может быть объединен с блоком предсказания, сформированным модулем 230 межкадрового предсказания или модулем 235 внутрикадрового предсказания с целью формирования восстановленного блока. Восстановленный блок может быть передан в модуль 235 внутрикадрового предсказания и в модуль 240 фильтрации. Модуль 230 межкадрового предсказания и модуль 235 внутрикадрового предсказания выполняют такие же операции, что и модуль 120 межкадрового предсказания и модуль 125 внутрикадрового предсказания устройства для кодирования видеоданных, либо эквивалентные операции, поэтому описание указанных модулей здесь не приводятся.
Модуль 240 фильтрации выполнен с возможностью фильтровать восстановленный блок с использованием фильтра подавления блочности, SAO и/или ALF. Фильтр подавления блочности может выполнять фильтрацию восстановленного блока с целью устранения искажений на границах между блоками, возникающих вследствие кодирования и декодирования. Фильтрация SAO может попиксельно применяться к восстановленному блоку, прошедшему фильтрацию в фильтре подавления блочности, с целью снижения отличия от исходного изображения. ALF может фильтровать восстановленный блок, используя SAO, так, чтобы минимизировать ошибку между целевым блоком предсказания и окончательно восстановленным блоком.
Память 245 может сохранять указанный окончательно восстановленный блок, выдаваемый модулем 240 фильтрации, а сохраненный восстановленный блок может передаваться в модуль 230 межкадрового предсказания, выполняющий межкадровое предсказание.
В дальнейшем изложении под блоком может пониматься элемент кодирования и декодирования видеоинформации. Таким образом, в данном раскрытии «блок» может означать элемент кодирования, элемент предсказания, элемент преобразования и т.п. Аналогично, под целевым блоком кодирования/ декодирования может обобщенно пониматься целевой блок преобразования/ обратного преобразования, если выполняется преобразование/ обратное преобразование; целевой блок предсказания, если выполняется предсказание; и т.п.
Как указано выше со ссылкой на фиг. 1 и 2, устройство для кодирования выполнено с возможностью выполнять преобразование над разностным блоком поэлементно на уровне элементов преобразования, а устройство для декодирования выполнено с возможностью выполнять обратное преобразование над прошедшими деквантование коэффициентами преобразования с целью формирования восстановленного разностного блока. В дальнейшем описании обратное преобразование иногда для удобства может называться просто преобразованием, что легко может быть понято специалистом обычного уровня в данной области техники.
Устройство для кодирования и устройство для декодирования выполнены с возможностью выполнять двумерное (2D) преобразование, в том числе вертикальное преобразование и горизонтальное преобразование. Однако если вертикальный и горизонтальный сигналы имеют существенно отличающиеся характеристики, то вертикальное преобразование или горизонтальное преобразование могут быть исключены. Кроме того, для малосодержательного сигнала может быть исключена вся операция преобразования. Такие способы преобразования могут упростить устройство для декодирования и повысить эффективность кодирования.
Далее режим преобразования, в котором используется как горизонтальное преобразование, так и вертикальное преобразование, называется режимом двумерного преобразования. Режим преобразования, в котором используется только горизонтальное преобразование без вертикального преобразования, называется режимом горизонтального преобразования, а режим преобразования, в котором используется только вертикальное преобразование без горизонтального преобразования, называется режимом вертикального преобразования. Режим преобразования, в котором не используется ни горизонтальное преобразование, ни вертикальное преобразование, называется режимом без преобразования. Здесь режим без преобразования также может называться режимом исключения преобразования.
На фиг. 3 схематично показан способ преобразования на основании режима преобразования в соответствии с примерным вариантом осуществления настоящего изобретения.
Квадратные блоки 310-340 на фиг. 3 представляют собой целевые блоки преобразования. Здесь целевыми блоками преобразования могут быть элементы преобразования и/или элементы кодирования. Стрелки на блоках 310-330 могут означать направления преобразования.
Целевой блок 310 преобразования может подвергаться как вертикальному преобразованию, так и горизонтальному преобразованию. Соответственно, режим преобразования для блока 310 может соответствовать режиму двумерного преобразования. Целевой блок 320 преобразования может подвергаться только горизонтальному преобразованию без вертикального преобразования. Соответственно, режим преобразования для блока 320 может соответствовать режиму горизонтального преобразования. В этом случае, поскольку преобразование осуществляется над строками, но не над столбцами, способ преобразования в режиме горизонтального преобразования также может называться преобразованием только над строками. Целевой блок 330 преобразования может подвергаться только вертикальному преобразованию без горизонтального преобразования. Соответственно, режим преобразования для блока 330 соответствует режиму вертикального преобразования. В этом случае, поскольку преобразование осуществляется над столбцами, но не над строками, способ преобразования в режиме вертикального преобразования также может называться преобразованием только над столбцами. Целевой блок преобразования 340 может не подвергаться преобразованию. Соответственно, режимом преобразования для блока 340 является режим без преобразования.
Из числа вышеперечисленных режимов преобразования могут исключаться или могут не исключаться вертикальное преобразование и/или горизонтальное преобразование. Данные режимы преобразования также могут совокупно называться режимом обхода при преобразовании (transform skip mode, TSM, РОП). Иными словами, в число режимов обхода при преобразовании могут входить режим двумерного преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим без преобразования. Режим двумерного преобразования, режим горизонтального преобразования, режим вертикального преобразования и/или режим без преобразования могут использоваться в качестве возможных режимов обхода при преобразовании для целевого блока преобразования.
В одном примерном варианте осуществления в качестве возможного режима обхода при преобразовании для целевого блока преобразования может использоваться по меньшей мере один режим из режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и режима без преобразования. При этом к одному целевому блоку преобразования может быть применен один режим обхода при преобразовании, выбранный из числа возможных режимов обхода при преобразовании. Из числа возможных режимов обхода при преобразовании устройство для кодирования может выбирать режим обхода при преобразовании с наименьшим значением стоимости с точки зрения оптимизации по скорости передачи и искажениям (rate-distortion optimization, RDO). При этом устройство для кодирования может преобразовывать целевой блок преобразования, используя выбранный режим обхода при преобразовании. Иными словами, устройство для кодирования может применять к целевому блоку преобразования один режим обхода при преобразовании, выбранный из числа режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и режима без преобразования.
Кроме того, устройство для кодирования может кодировать информацию о выбранном режиме обхода при преобразовании и передавать указанную информацию в устройство для декодирования. Режим обхода при преобразовании может выбираться для каждого элемента кодирования или элемента преобразования. Если при этом режим обхода при преобразовании выбирается для каждого элемента кодирования, то указанная информация может передаваться для каждого элемента кодирования. Если режим обхода при преобразовании выбирается для каждого элемента преобразования, то указанная информация может передаваться для каждого элемента преобразования.
Например, информация о режиме обхода при преобразовании