Область техники
[1] Настоящее изобретение относится к способу и устройству для кодирования/декодирования сигнала видео и, более конкретно, к способу для кодирования/декодирования сигнала видео, который улучшает кодирование связанного с преобразованием синтаксиса, и к устройству для поддержки способа.
Предшествующий уровень техники
[2] Кодирование со сжатием обозначает последовательность методов обработки сигналов для передачи оцифрованной информации посредством линии связи или методов для хранения информации в форме, походящей для носителя хранения. Носитель, включающий в себя картинку, изображение, аудио и т.д., может представлять собой цель кодирования со сжатием, и, в частности, метод для выполнения кодирования со сжатием над картинкой упоминается как сжатие изображения видео.
[3] Предполагается, что контенты видео следующего поколения будут иметь характеристики высокого пространственного разрешения, высокой частоты кадров и высокой размерности представления сцены. Обработка таких контентов приведет в результате к существенному увеличению емкости памяти, скорости доступа к памяти и мощности обработки.
[4] Соответственно, требуется создать инструмент кодирования для эффективной обработки контентов видео следующего поколения.
Раскрытие
Техническая проблема
[5] Чтобы решить вышеуказанную проблему, задачей настоящего изобретения является обеспечить способ для эффективной сигнализации флага, который определяет, следует ли применять преобразование, и индекса, который определяет тип преобразования (или ядро преобразования).
[6] Также, задачей настоящего изобретения является обеспечить способ для эффективной сигнализации флага, который определяет, следует ли применить первичное преобразование, и флага, который определяет, следует ли применить пропуск преобразования.
[7] Также, задачей настоящего изобретения является обеспечить способ для ссылки на контекст, чтобы выполнять энтропийное кодирование над флагом, который определяет, следует ли применять первичное преобразование.
[8] Также, задачей настоящего изобретения является обеспечить способ для определения, следует ли передавать (или анализировать) флаг пропуска преобразования в соответствии со значением флага первичного преобразования в структуре сжатия, где единица кодирования не отличается от единицы преобразования.
[9] Технические задачи, подлежащие решению настоящим изобретением, не ограничены теми, которые описаны выше, и другие технические задачи, не упомянутые выше, могут также ясно пониматься из описаний, приведенных ниже, специалистами в области техники, к которой относится настоящее изобретение.
Техническое решение
[10] В соответствии с одним аспектом настоящего изобретения, способ для декодирования сигнала видео может содержать генерирование остаточного блока текущего блока путем выполнения энтропийного декодирования над сигналом видео; анализ флага пропуска преобразования, который указывает, применяется ли пропуск преобразования к текущему блоку, когда размер текущего блока меньше, чем предопределенный первый размер; определение, следует ли анализировать флаг первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку; анализ флага первичного преобразования, когда определено, что следует анализировать флаг первичного преобразования; и генерирование первичного обратно преобразованного блока преобразования текущего блока путем выполнения первичного обратного преобразования для остаточного блока, когда флаг первичного преобразования указывает, что первичное преобразование применяется к текущему блоку.
[11] Предпочтительно, этап определения, следует ли анализировать флаг первичного преобразования, может анализировать флаг первичного преобразования, когда флаг пропуска преобразования равен 0.
[12] Предпочтительно, этап определения, следует ли анализировать флаг первичного преобразования, может определить, что следует анализировать флаг первичного преобразования, когда размер текущего блока меньше, чем предопределенный второй размер, и флаг пропуска преобразования равен 0.
[13] Предпочтительно, этап определения, следует ли анализировать флаг первичного преобразования, может определить, что следует анализировать флаг первичного преобразования, когда текущий блок представляет собой блок яркости, размер текущего блока меньше, чем предопределенный второй размер, и флаг пропуска преобразования равен 0.
[14] Предпочтительно, этап анализа флага пропуска преобразования может включать в себя проверку, существует ли ненулевой коэффициент преобразования в текущем блоке, и если из результата проверки определено, что ненулевой коэффициент преобразования существует в текущем блоке, анализ флага пропуска преобразования.
[15] Предпочтительно, флаг первичного преобразования может быть энтропийно декодирован путем ссылки на контекст, определяемый в соответствии с глубиной текущего блока, размером текущего блока или числом пикселов в текущем блоке в структуре разбиения блока 'квадродерево плюс двоичное дерево' (QTBT).
[16] В соответствии с другим одним аспектом настоящего изобретения, способ для декодирования сигнала видео может содержать генерирование остаточного блока текущего блока путем выполнения энтропийного декодирования нал сигналом видео; анализ флага первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку; проверку, удовлетворяет ли текущий блок предопределенному конкретному условию; если из результата проверки определено, что конкретное условие удовлетворено, анализ флага пропуска преобразования, указывающего, применяется ли пропуск преобразования к текущему блоку; и если флаг пропуска преобразования указывает, что пропуск преобразования не применяется к текущему блоку, генерирование первичного обратно преобразованного блока преобразования текущего блока путем выполнения первичного обратного преобразования над остаточным блоком.
[17] Предпочтительно, конкретное условие может включать в себя то, равен ли 0 флаг первичного преобразования, и является ли размер текущего блока меньшим или равным максимальному размеру, к которому применяется пропуск преобразования.
[18] Предпочтительно, максимальный размер, к которому применяется пропуск преобразования, может быть определен в соответствии со слайсом текущего блока.
[19] Предпочтительно, конкретное условие может дополнительно включать в себя то, является ли текущий блок компонентом цветности.
[20] Предпочтительно, конкретное условие может дополнительно включать в себя то, является ли слайс текущего блока B-слайсом.
[21] Предпочтительно, конкретное условие может дополнительно включать в себя то, принадлежит ли размер текущего блока или число пикселов текущего блока конкретному диапазону.
[22] В соответствии с еще одним другим аспектом настоящего изобретения, устройство для декодирования сигнала видео может содержать модуль генерирования остаточного блока для генерирования остаточного блока текущего блока путем выполнения энтропийного декодирования над сигналом видео; модуль анализа флага первичного преобразования для анализа флага первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку; модуль проверки условия для проверки, удовлетворяет ли текущий блок предопределенному конкретному условию; модуль анализа флага пропуска преобразования для указания, применяется ли пропуск преобразования к текущему флагу, если конкретное условие удовлетворено; и модуль генерирования обратно преобразованного блока преобразования для генерирования первичного обратно преобразованного блока преобразования текущего блока путем выполнения первичного обратного преобразования над остаточным блоком, если флаг пропуска преобразования указывает, что пропуск преобразования не применяется к текущему блоку.
Полезные результаты
[23] В соответствии с вариантом осуществления настоящего изобретения, число битов сигнализации может быть уменьшено, и эффективность сжатия может быть повышена путем оптимизации условия для передачи флага для определения, следует ли применять преобразование, и индекса для определения типа преобразования.
[24] Также, в соответствии с вариантом осуществления настоящего изобретения, путем эффективной сигнализации первичного преобразования и пропуска преобразования можно избежать избыточного кодирования синтаксиса, и качество сжатого видео может поддерживаться при одновременном повышении эффективности сжатия.
[25] Технические результаты настоящего изобретения не ограничены техническими результатами, описанными выше, и другие технические результаты, не упомянутые здесь, могут быть понятны специалистам в области техники, которой принадлежит настоящее изобретение, из приведенного далее описания.
Описание чертежей
[26] Прилагаемые чертежи, которые включены в настоящий документ как часть описания, чтобы способствовать пониманию настоящего изобретения, обеспечивают варианты осуществления настоящего изобретения и описывают технические признаки настоящего изобретения с помощью приведенного ниже описания.
[27] Фиг. 1 иллюстрирует блок-схему кодера, в котором выполняется кодирование неподвижного изображения или сигнала видео, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[28] Фиг. 2 иллюстрирует блок-схему декодера, в котором выполняется декодирование неподвижного изображения или сигнала видео, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[29] Фиг. 3 представляет собой диаграмму для описания структуры разбиения единицы кодирования, которая может применяться в настоящем изобретении.
[30] Фиг. 4 иллюстрирует единицу предсказания, которая может применяться в настоящем изобретении.
[31] Фиг. 5 иллюстрирует способ для определения ядра преобразования в соответствии с режимом интра-предсказания, в качестве варианта осуществления, в котором может применяться настоящее изобретение.
[32] Фиг. 6 иллюстрирует условие для анализа флага AMT, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[33] Фиг. 7 иллюстрирует условие для анализа AMT, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[34] Фиг. 8 иллюстрирует блок-схему способа для декодирования флага первичного преобразования и флага пропуска преобразования, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[35] Фиг. 9 представляет собой таблицу, иллюстрирующую, следует ли передавать флаг пропуска преобразования для каждого компонента в соответствии с тем, применяется ли первичное преобразование, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[36] Фиг. 10 представляет собой таблицу, иллюстрирующую, следует ли передавать флаг пропуска преобразования для каждого компонента в соответствии с тем, применяется ли первичное преобразование, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[37] Фиг. 11 иллюстрирует способ для декодирования сигнала видео в соответствии с одним вариантом осуществления настоящего изобретения.
[38] Фиг. 12 иллюстрирует способ для декодирования сигнала видео в соответствии с одним вариантом осуществления настоящего изобретения.
[39] Фиг. 13 иллюстрирует устройство для декодирования сигнала видео в соответствии с одним вариантом осуществления настоящего изобретения.
Режим осуществления изобретения
[40] Далее в настоящем документе, предпочтительный вариант осуществления настоящего изобретения будет описан со ссылкой на прилагаемые чертежи. Описание, которое будет описано ниже при помощи прилагаемых чертежей, предназначено для описания примерных вариантов осуществления настоящего изобретения и не предназначено для описания единственного варианта осуществления, в котором может быть реализовано настоящее изобретение. Приведенное ниже описание включает в себя конкретные подробности, чтобы обеспечить полное понимание настоящего изобретения. Однако специалистам в данной области техники должно быть понятно, что настоящее изобретение может быть воплощено без этих конкретных подробностей.
[41] В некоторых случаях, чтобы предотвратить неясность технического принципа настоящего изобретения, структуры или устройства, которые общеизвестны, могут быть опущены или могут быть изображены на блок-схеме с акцентом на основных функциях структур или устройств.
[42] Дополнительно, хотя общие термины, широко используемые в настоящее время, выбраны в качестве терминов в настоящем изобретении в максимально возможной степени, в конкретном случае используется термин, который произвольно выбран заявителем. Поскольку в таком случае значение термина будет ясно описано в соответствующей части описания, понятно, что настоящее изобретение не должно просто интерпретироваться терминами, используемыми только в описании настоящего изобретения, но должно выясняться значение терминов.
[43] Конкретная терминология, используемая в описании ниже, может быть обеспечена, чтобы способствовать пониманию настоящего изобретения. Более того, конкретная терминология может быть модифицирована в другие формы в пределах объема технического принципа настоящего изобретения. Например, сигнал, данные, выборка, картинка, кадр, блок и т.д. могут быть надлежащим образом заменены и интерпретированы в каждом процессе кодирования.
[44] Далее, в этой спецификации, "единица обработки" обозначает единицу, в которой выполняется процесс обработки кодирования/декодирования, такой как предсказание, преобразование и/или квантование. Далее в настоящем документе, для удобства описания, единица обработки может также называться "блоком обработки" или "блоком".
[45] Единица обработки может быть истолкована как имеющая значение, включающее в себя единицу для компонента яркости и единицу для компонента цветности. Например, единица обработки может соответствовать единице дерева кодирования (CTU), единице кодирования (CU), единице предсказания (PU) или единице преобразования (TU).
[46] Более того, единица обработки может быть истолкована как единица для компонента яркости или единица для компонента цветности. Например, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку предсказания (PB) или блоку преобразования (TB) для компонента яркости. Альтернативно, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку предсказания (PB) или блоку преобразования (TB) для компонента цветности. Более того, настоящее изобретение не ограничено этим, и единица обработки может быть истолкована как значение, включающее единицу для компонента яркости и единицу для компонента цветности.
[47] Более того, единица обработки не обязательно ограничена квадратным блоком и может быть образована в форме многоугольника, имеющего три или более вершин.
[48] Более того, далее в этой спецификации, пиксел, элемент картинки и т.д. совместно называются выборкой. Более того, использование выборки может означать использование значения пиксела, значения элемента картинки или тому подобное.
[49] Фиг. 1 иллюстрирует блок-схему кодера, в котором выполняется кодирование неподвижного изображения или сигнала видео, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[50] Со ссылкой на фиг. 1, кодер 100 может включать в себя модуль 110 разбиения видео, вычитатель 115, модуль 120 преобразования, модуль 130 квантования, модуль 140 обратного квантования (деквантования), модуль 150 обратного преобразования, модуль 160 фильтрации, буфер 170 декодированной картинки (DPB), модуль 180 предсказания и модуль 190 энтропийного кодирования. Более того, модуль 180 предсказания может включать в себя модуль 181 интер-предсказания и модуль 182 интра-предсказания.
[51] Модуль 110 разбиения видео разбивает входной сигнал видео (картинку или кадр), введенный в кодер 100, на одну или несколько единиц обработки.
[52] Вычитатель 115 генерирует остаточный сигнал (или остаточный блок) путем вычитания сигнала предсказания (или блока предсказания), выведенного модулем 180 предсказания (т.е., модулем 181 интер-предсказания или модулем 182 интра-предсказания), из входного сигнала видео. Сгенерированный остаточный сигнал (или остаточный блок) передается на модуль 120 преобразования.
[53] Модуль 120 преобразования генерирует коэффициенты преобразования путем применения схемы преобразования (например, дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или преобразование Карунена-Лоэва (KLT)) к остаточному сигналу (или остаточному блоку). В этом случае, модуль 120 преобразования может генерировать коэффициенты преобразования путем выполнения преобразования с использованием режима предсказания, применяемого к остаточному блоку, и схемы преобразования, определяемой на основе размера остаточного блока.
[54] Модуль 130 квантования 130 квантует коэффициент преобразования и передает его на модуль 190 энтропийного кодирования, и модуль 190 энтропийного кодирования выполняет операцию энтропийного кодирования квантованного сигнала и выводит его как битовый поток.
[55] При этом, квантованный сигнал, выводимый модулем 130 квантования, может использоваться, чтобы генерировать сигнал предсказания. Например, остаточный сигнал может быть реконструирован путем применения деквантования и обратного преобразования к квантованному сигналу посредством модуля 140 деквантования и модуля 150 обратного преобразования. Реконструированный сигнал может генерироваться путем суммирования реконструированного остаточного сигнала с сигналом предсказания, выведенным модулем 181 интер-предсказания или модулем 182 интра-предсказания.
[56] При этом, во время такого процесса сжатия, соседние блоки квантуются посредством разных параметров квантования. Соответственно, может возникать артефакт, в котором проявляется граница блоков. Такой феномен называется артефактом блочности, который представляет собой один из важных факторов для оценивания качества изображения. Чтобы уменьшить такой артефакт, может выполняться процесс фильтрации. Посредством такого процесса фильтрации, артефакт блочности удаляется, и одновременно снижается ошибка текущей картинки, тем самым улучшая качество изображения.
[57] Модуль 160 фильтрации применяет фильтрацию к реконструированному сигналу и выводит его посредством устройства воспроизведения или передает его на буфер 170 декодированной картинки. Отфильтрованный сигнал, переданный на буфер 170 декодированной картинки, может использоваться в качестве опорной картинки в модуле 181 интер-предсказания. Как описано выше, скорость кодирования, а также качество изображения, можно улучшить с использованием отфильтрованной картинки в качестве опорной картинки в режиме межкадрового (интер-) предсказания.
[58] Буфер 170 декодированной картинки может хранить отфильтрованную картинку, чтобы использовать ее в качестве опорной картинки в модуле 181 интер-предсказания.
[59] Модуль 181 интер-предсказания выполняет временное предсказание и/или пространственное предсказание со ссылкой на реконструированную картинку, чтобы удалить временную избыточность и/или пространственную избыточность. В этом случае, может возникать артефакт блочности или артефакт "звона", поскольку опорная картинка, используемая для выполнения предсказания, представляет собой преобразованный сигнал, который испытывает квантование или деквантование в единице блока, когда она кодировалась/декодировалась ранее.
[60] Соответственно, чтобы решить проблему снижения эффективности вследствие прерывистости таких сигналов или квантования, сигналы между пикселами могут быть интерполированы в суб-пиксельной единице путем применения фильтра нижних частот к модулю 181 интер-предсказания. В этом случае, суб-пиксел означает виртуальный пиксел, сгенерированный путем применения фильтра интерполяции, а целый пиксел означает действительный пиксел, который присутствует в реконструированной картинке. Линейная интерполяция, билинейная интерполяция, фильтр Винера и тому подобное могут применяться в качестве способа интерполяции.
[61] Фильтр интерполяции может применяться к реконструированной картинке и может улучшать точность предсказания. Например, модуль 181 интер-предсказания может выполнять предсказание путем генерирования пиксела интерполяции путем применения фильтра интерполяции к целому пикселу и путем использования интерполированного блока, включающего в себя интерполированные пикселы, в качестве блока предсказания.
[62] Модуль 182 интра-предсказания предсказывает текущий блок со ссылкой на выборки, соседние с блоком, который следует кодировать в текущее время. Модуль 182 интра-предсказания может выполнять следующую процедуру, чтобы выполнить интера-предсказание. Сначала, модуль 182 интра-предсказания может подготовить опорную выборку, необходимую для генерации сигнала предсказания. Более того, модуль 182 интра-предсказания может генерировать сигнал предсказания с использованием подготовленной опорной выборки. Более того, модуль 182 интра-предсказания может кодировать режим предсказания. В этом случае, опорная выборка может быть подготовлена посредством заполнения опорной выборки и/или фильтрации опорной выборки. Может присутствовать ошибка квантования, поскольку опорная выборка испытывает процесс предсказания и реконструкции. Соответственно, чтобы уменьшить такую ошибку, процесс фильтрации опорной выборки может выполняться в каждом режиме предсказания, используемом для интра-предсказания.
[63] Сигнал предсказания (или блок предсказания), сгенерированный посредством модуля 181 интер-предсказания или модуля 182 интра-предсказания, может использоваться, чтобы генерировать реконструированный сигнал (или реконструированный блок), или может использоваться, чтобы генерировать остаточный сигнал (или остаточный блок).
[64] Фиг. 2 иллюстрирует блок-схему декодера, в котором выполняется декодирование неподвижного изображения или сигнала видео, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[65] Со ссылкой на фиг. 2, декодер 200 может включать в себя модуль 210 энтропийного декодирования, модуль 220 деквантования, модуль 230 обратного преобразования, сумматор 235, модуль 240 фильтрации, буфер 250 декодированной картинки (DPB) и модуль 260 предсказания. Кроме того, модуль 260 предсказания может включать в себя модуль 261 интер-предсказания и модуль 262 интра-предсказания.
[66] Кроме того, реконструированный сигнал видео, выведенный посредством декодера 200, может воспроизводиться посредством устройства воспроизведения.
[67] Декодер 200 принимает сигнал (т.е., битовый поток, выведенный устройством 100 кодирования, показанным на фиг. 1. Модуль 210 энтропийного декодирования выполняет операцию энтропийного декодирования над принятым сигналом.
[68] Модуль 220 деквантования получает коэффициенты преобразования из статистически декодированного сигнала с использованием информации о размере этапа квантования.
[69] Модуль 230 обратного преобразования получает остаточный сигнал (или остаточный блок) путем обратного преобразования коэффициентов преобразования путем применения схемы обратного преобразования.
[70] Сумматор 235 суммирует полученный остаточный сигнал (или остаточный блок) с сигналом предсказания (или блоком предсказания), выведенным модулем 260 предсказания (т.е., модулем 261 интер-предсказания или модулем 262 интра-предсказания), тем самым генерируя реконструированный сигнал (или реконструированный блок).
[71] Модуль 240 фильтрации применяет фильтрацию к реконструированному сигналу (или реконструированному блоку) и выводит отфильтрованный сигнал на устройство воспроизведения или передает отфильтрованный сигнал на буфер 250 декодированной картинки. Отфильтрованный сигнал, переданный на буфер 250 декодированной картинки, может использоваться в качестве опорной картинки в модуле 261 интер-предсказания.
[72] В этой спецификации, варианты осуществления, описанные в модуле 160 фильтрации, модуле 181 интер-предсказания и модуле 182 интра-предсказания кодера 100, могут идентично применяться к модулю 240 фильтрации, модулю 261 интер-предсказания и модулю 262 интра-предсказания декодера, соответственно.
[73]
[74] Структура разбиения единицы обработки
[75] В основном, способ сжатия изображения на блочной основе используется в методе сжатия (например, HEVC) неподвижного изображения или видео. Способ сжатия изображения на блочной основе представляет собой способ обработки изображения путем разбиения его на конкретные единицы блоков и может снизить использование памяти и вычислительную нагрузку.
[76] Фиг. 3 представляет собой диаграмму для описания структуры разбиения единицы кодирования, которая может применяться к настоящему изобретению.
[77] Кодер разбивает одно изображение (или картинку) на единицы дерева кодирования (CTU) четырехугольной формы и последовательно кодирует CTU одну за другой в соответствии с порядком растрового сканирования.
[78] В HEVC, размер CTU может быть определен как один из 64×64, 32×32 и 16×16. Кодер может выбрать и использовать размер CTU на основе разрешения входного сигнала видео или характеристик входного сигнала видео. CTU включает в себя блок дерева кодирования (CTB) для компонента яркости и CTB для двух компонентов цветности, которые соответствуют ему.
[79] Одна CTU может быть разбита в структуру квадродерева. То есть, одна CTU может быть разбита на четыре единицы, каждая из которых имеет квадратную форму и имеет половинный горизонтальный размер и половинный вертикальный размер, тем самым обеспечивая генерирование единиц кодирования (CU). Такое разбиение структуры квадродерева может выполняться рекурсивно. То есть, CU иерархически разбиваются из одной CTU в структуру квадродерева.
[80] CU обозначает базовую единицу для процесса обработки входного сигнала видео, например, кодирования, в котором выполняется интра-/интер-предсказание. CU включает в себя блок кодирования (CB) для компонента яркости и CB для двух компонентов цветности, соответствующих компоненту яркости. В HEVC, размер CU может быть определен как один из 64×64, 32×32, 16×16 и 8×8.
[81] Со ссылкой на фиг. 3, корневой узел квадродерева связан с CTU. Квадродерево разбивается до достижения листового узла. Листовой узел соответствует CU.
[82] Это описано более подробно. CTU соответствует корневому узлу и имеет наименьшее значение глубины (т.е., глубина=0). CTU не может разбиваться в зависимости от характеристик входного сигнала видео. В этом случае, CTU соответствует CU.
[83] CTU может разбиваться в форме квадродерева. В результате, генерируются более низкие узлы, то есть, глубины 1 (глубина=1). Более того, узел (т.е., листовой узел), который принадлежит более низким узлам, имеющим глубину 1, и который больше не разбивается, соответствует CU. Например, на фиг. 3(b), CU(a), CU(b) и CU(j), соответствующие узлам a, b и j, были однократно разбиты из CTU и имеют глубину 1.
[84] По меньшей мере один из узлов, имеющих глубину 1, может быть разбит в форме квадродерева. В результате, генерируются более низкие узлы, имеющие глубину 1 (т.е., глубина=2). Более того, узел (т.е., листовой узел), который принадлежит более низким узлам, имеющим глубину 2, и который больше не разбивается, соответствует CU. Например, на фиг. 3(b), CU(c), CU(h) и CU(i), соответствующие узлам c, h и i, были разбиты дважды из CTU и имеют глубину 2.
[85] Более того, по меньшей мере один из узлов, имеющих глубину 2, может быть снова разбит в форме квадродерева. В результате, генерируются более низкие узлы, имеющие глубину 3 (т.е., глубина=3). Более того, узел (т.е., листовой узел), который принадлежит более низким узлам, имеющим глубину 3, и который больше не разбивается, соответствует CU. Например, на фиг. 3(b), CU(d), CU(e), CU(f) и CU(g), соответствующие узлам d, e, f и g, были трижды разбиты из CTU и имеют глубину 3.
[86] В устройстве кодирования, максимальный размер или минимальный размер CU может быть определен на основе характеристик изображения видео (например, разрешения) или с учетом скорости кодирования. Более того, информация о максимальном или минимальном размере или информация, пригодная для получения информации, может быть включена в битовый поток. CU, имеющая максимальный размер, называется наибольшей единицей кодирования (LCU), и CU, имеющая минимальный размер, называется наименьшей единицей кодирования (SCU).
[87] Кроме того, CU, имеющая структуру дерева, может быть иерархически разбита при помощи информации о предопределенной максимальной глубине (или информации о максимальном уровне). Более того, каждая разбитая CU может иметь информацию глубины. Поскольку информация глубины представляет счетчик и/или степень разбиения CU, она может включать в себя информацию о размере CU.
[88] Поскольку LCU разбивается в форме квадродерева, размер SCU может быть получен с использованием размера LCU и информации о максимальной глубине. Или, наоборот, размер LCU может быть получен с использованием размера SCU и информации о максимальной глубине дерева.
[89] Для одной CU, информация (например, флаг разбитой CU (split_cu_flag)), которая представляет, разбита ли соответствующая CU, может направляться на декодер. Эта информация разбиения включена во все CU за исключением SCU. Например, когда значение флага, который представляет, осуществлять ли разбиение, равно '1', соответствующая CU дополнительно разбивается на четыре CU, а когда значение флага, который представляет, осуществлять ли разбиение, равно '0', соответствующая CU не разбивается больше, и может выполняться процесс обработки для соответствующей CU.
[90] Как описано выше, CU представляет собой базовую единицу кодирования, в которой выполняется интра-предсказание или интер-предсказание. HEVC разбивает CU в единицу предсказания (PU) для более эффективного кодирования входного сигнала видео.
[91] PU представляет собой базовую единицу для генерирования блока предсказания, и даже в одной CU, блок предсказания может быть сгенерирован различным образом посредством единицы PU. Однако интра-предсказание и интер-предсказание не используются вместе для PU, которые принадлежат одной CU, и PU, которые принадлежат одной CU, кодируются тем же самым способом предсказания (т.е., интра-предсказанием или интер-предсказанием).
[92] PU не разбивается в структуру квадродерева, но разбивается однократно в одну CU в предопределенной форме. Это будет описано ниже со ссылкой на чертеж.
[93] Фиг. 4 представляет собой диаграмму для описания единицы предсказания, которая может применяться в настоящем изобретении.
[94] PU по-разному разбивается в зависимости от того, используется ли режим интра-предсказания или используется режим интер-предсказания в качестве режима кодирования CU, которой принадлежит PU.
[95] Фиг. 4(a) иллюстрирует PU, если используется режим интра-предсказания, и фиг. 4(b) иллюстрирует PU, если используется режим интер-предсказания.
[96] Со ссылкой на фиг. 4(a), в предположении, что размер одной CU представляет собой 2N×2N (N=4, 8, 16 и 32), одна CU может быть разбита в два типа (т.е., 2N×2N или N×N).
[97] В этом случае, если одна CU разбита в PU формы 2N×2N, это означает, что только одна PU присутствует в одной CU.
[98] При этом, если одна CU разбивается в PU формы N×N, одна CU разбивается в четыре PU, и разные блоки предсказания генерируются для каждой единицы PU. Однако такое разбиение PU может выполняться, только если размер CB для компонента яркости CU представляет собой минимальный размер (т.е., случай, где CU представляет собой SCU).
[99] Со ссылкой на фиг. 4(b), в предположении, что размер одной CU представляет собой 2N×2N (N=4, 8, 16 и 32), одна CU может быть разбита в восемь типов PU (т.е., 2N×2N, N×N, 2N×N, N×2N, nL×2N, nR×2N, 2N×nU и 2N×nD).
[100] Как в интра-предсказании, разбиение PU в форме N×N может выполняться, только если размер CB для компонента яркости CU представляет собой минимальный размер (т.е., случай, когда CU представляет собой SCU).
[101] Интер-предсказание поддерживает PU, разбитую в форме 2N×N, которая разбита в горизонтальном направлении, и в форме N×2N, которая разбита в вертикальном направлении.
[102] К тому же, интер-предсказание поддерживает PU, разбитую в форме nL×2N, nR×2N, 2N×nU и 2N×nD, которая представляет собой ассиметричное разбиение движения (AMP). В этом случае, 'n' означает значение 1/4 от 2N. Однако AMP не может использоваться, если CU, которой принадлежит PU, представляет собой CU минимального размера.
[103] Чтобы эффективно кодировать входной сигнал видео в одной CTU, оптимальная структура разбиения единицы кодирования (CU), единицы предсказания (PU) и единицы преобразования (TU) может быть определена на основе минимального значения скорости-искажения посредством процесса обработки, как описано далее. Например, как для оптимального процесса разбиения CU в CTU 64×64, стоимость скорости-искажения может быть вычислена посредством процесса разбиения от CU размером 64×64 до CU размером 8×8. Подробный процесс является следующим.
[104] 1) Оптимальная структура разбиения PU и TU, которая генерирует минимальное значение скорости-искажения, определяется путем выполнения интер-/интра-предсказания, преобразования/квантования, деквантования/обратного преобразования и энтропийного кодирования над CU размером 64×64.
[105] 2) Оптимальная структура разбиения PU и TU определяется, чтобы разбивать CU 64×64 в четыре CU размером 32×32 и чтобы генерировать минимальное значение скорости-искажения для каждой CU 32×32.
[106] 3) Оптимальная структура разбиения PU и TU определяется, чтобы далее разбивать CU 32×32 в четыре CU размером 16×16 и чтобы генерировать минимальное значение скорости-искажения для каждой CU 16×16.
[107] 4) Оптимальная структура разбиения PU и TU определяется, чтобы далее разбивать CU 16×16 в четыре CU размером 8×8 и чтобы генерировать минимальное значение скорости-искажения для каждой CU 8×8.
[108] 5) Оптимальная структура разбиения CU в блоке 16×16 определяется путем сравнения значения скорости-искажения CU 16×16, полученной в процессе 3), с суммой значения скорости-искажения четырех CU 8×8, полученных в процессе 4). Этот процесс также выполняется для оставшихся трех CU 16×16 тем же самым образом.
[109] 6) Оптимальная структура разбиения CU в блоке 32×32 определяется путем сравнения значения скорости-искажения CU 32×32, полученной в процессе 2), с суммой значения скорости-искажения четырех CU 16×16, которая получена в процессе 5). Этот процесс также выполняется для оставшихся трех CU 32×32 тем же самым образом.
[110] 7) Наконец, оптимальная структура разбиения CU в блоке 64×64 определяется путем сравнения значения скорости-искажения CU 64×64, полученной в процессе 1), с суммой значений скорости-искажения четырех CU 32×32, полученной в процессе 6).
[111] В режиме интра-предсказания, режим предсказания выбирается как единица PU, и предсказание и реконструкция выполняются над выбранным режимом предсказания в действительной единице TU.
[112] TU означает базовую единицу, в которой выполняются действительное предсказание и реконструкция. TU включает в себя блок преобразования (TB) для компонента яркости и TB для двух компонентов цветности, соответствующих компоненту яркости.
[113] В примере на фиг. 3, как в примере, в котором одна CTU разбита в структуре квадродерева, чтобы сгенерировать CU, TU иерархически разбивается из одной CU, подлежащей кодированию, в структуру квадродерева.
[114] TU, разбитые из CU, могут быть разбиты в меньшие и более низкие TU, поскольку TU разбивается в структуру квадродерева. В HEVC, размер TU может быть определен как один из 32×32, 16×16, 8×8 и 4×4.
[115] Возвращаясь к фиг. 3, корневой узел квадродерева предполагается связанным с CU. Квадродерево разбивается до достижения листового узла, и листовой узел соответствует TU.
[116] Это описано более подробно. CU соответствует корневому узлу и имеет наименьшее значение глубины (т.е., глубина=0). CU не может разбиваться в зависимости от характеристик входного изображения. В этом случае, CU соответствует TU.
[117] CU может быть разбита в форме квадродерева. В результате, генерируются более низкие узлы, имеющие глубину 1 (глубина=1). Более того, узел (т.е., листовой узел), который принадлежит более низким узлам, имеющим глубину 1, и который больше не разбивается, соответствует TU. Например, на фиг. 3(b), TU(a), TU(b) и TU(j), соответствующие узлам a, b и j, однократно разбиты из CU и имеют глубину 1.
[118] По меньшей мере один из узлов, имеющих глубину 1, может быть снова разбит в форме квадродерева. В результате, генерируются более низкие узлы, имеющие глубину 2 (т.е., глубина=2). Более того, узел (т.е., листовой узел), который принадлежит более низким узлам, имеющим глубину 2. и который больше не разбивается, соответствует TU. Например, на фиг. 3(b), TU(c), TU(h) и TU(i), соответствующие узлу c, h и I, были разбиты дважды из CU и имеют глубину 2.
[119] Более того, по меньшей мере один из узлов, имеющих глубину 2, может быть снова разбит в форме квадродерева. В результате, генерируются более низкие узлы, имеющие глубину 3 (т.е., глубина=3). Более того, узел (т.е., листовой узел), который принадлежит более низким узлам, имеющим глубину 3, и который больше не разбивается, соответствует TU. Например, на фиг. 3(b), TU(d), TU(e), TU(f) и TU(g), соответствующие узлам d, e, f и g, были трижды разбиты из CU и имеют глубину 3.
[120] TU, имеющая структуру дерева, может быть иерархически разбита при помощи предопределенной информации максимальной глубины (или информации максимального уровня). Более того, каждая разбитая TU может иметь информацию глубины. Информация глубины может включать в себя информацию о размере TU, поскольку она указывает число и/или степень разбиения TU.
[121] Информация (например, флаг "split_transform_flag" разбиения TU), указывающая, была ли соответствующая TU разбита, в отношении одной TU, может переноситься на декодер. Информация разбиения включена во все TU, отличные от TU минимального размера. Например, если значение флага, указывающего, была ли TU разбита, равно "1", соответствующая TU разбивается в четыре TU. Если значение флага, указывающего, была ли TU разбита, равно "0", соответствующая TU больше не разбивается.
[122]
[123] Адаптивное множественное преобразование (AMT)
[124] Остаточный сигнал, получаемый через предсказание в кадре видео (или интра-предсказание), может представлять разные статистические характеристики в соответствии с режимом предсказания в кадре видео. Поэтому, для каждого режима интра- предсказания, кодер/декодер может применять различные преобразования вместо нормального преобразования, используемого для традиционных методов кодирования видео, таких как DCT-2.
[125] В настоящем изобретении, AMT относится к способу для определения преобразования адаптивно на основе режима интра-предсказания или режима интер-предсказания. AMT не ограничено этим термином, а может упоминаться как расширенное множественное преобразование (EMT), первичное преобразование или базовое преобразование.
[126] Фиг. 5 иллюстрирует способ для определения ядра преобразования в соответствии с режимом интра-предсказания, в качестве варианта осуществления, к которому может применяться настоящее изобретение.
[127] Со ссылкой на фиг. 5, когда число режимов интра-предсказания равно 35 (501) или 67 (502), кодер/декодер может группировать режимы интра-предсказания в группы режимов предсказания, включающие в себя один или несколько режимов предсказания, и определять (или отображать) набор преобразований для каждой группы режимов интра-предсказания. Иными словами, разный набор преобразований может применяться к каждой группе режимов интра-предсказания. В этом случае, каждый набор преобразований может быть составлен всего из четырех комбинаций преобразований по столбцам и по строкам. Например, в наборе 0 преобразований (503), поскольку DST-7 и DCT-5 могут применяться для всех преобразований по столбцам и по строкам, возможны всего четыре комбинации.
[128] Поскольку всего четыре комбинации ядер преобразования могут применяться для каждого режима интра-предсказания, кодер может преобразовывать индекс для выбора одной из четырех комбинаций (далее он называется 'индексом AMT') для декодера. Также, помимо ядер преобразования, показанных на фиг. 5, ввиду характера остаточного сигнала, часто может иметь место случай, когда DCT-2 представляет собой оптимальное преобразование для направлений как по строке, так и по столбцу. Поэтому, кодер может сигнализировать флаг, который указывает, применяется ли AMT (далее он называется 'флагом AMT'), на декодер.
[129] Если флаг AMT равен 0, декодер может применять DCT-2 для направлений как по строке, так и по столбцу, а если флаг AMT равен 1, декодер может анализировать индекс AMT, чтобы выбрать (или определить) одну из четырех комбинаций.
[130] Также, если флаг AMT равен 0, и число коэффициентов преобразования обрабатываемого в текущее время блока меньше, чем 3, декодер может применить DST-7 к направлениям как по строке, так и по столбцу, вместо применения ядер преобразования, показанных на фиг. 5. Иными словами, декодер сначала анализирует коэффициенты преобразования, и если подтверждено, что число коэффициентов преобразования меньше, чем 3, может применить DST-7 для направлений как по строке, так и по столбцу, вместо анализа индекса AMT. Таким образом, затраты на сигнализацию дополнительной информации, связанной с ядром преобразования, могут быть уменьшены.
[131] В одном варианте осуществления, AMT может применяться только к случаю, где размер обрабатываемого в текущее время блока меньше, чем предопределенный конкретный размер. Например, AMT может применяться только к случаю, где как ширина, так и высота обрабатываемого в текущее время блока меньше или равны 32.
[132] Далее описания настоящего изобретения приведены в основном для случая, где первичное преобразование (или базовое преобразование) используется как AMT, но настоящее изобретение не ограничено конкретными описаниями. Иными словами, при применении способа, предложенного в настоящей спецификации, различные методы первичного преобразования могут использоваться в дополнение к AMT.
[133]
[134] В традиционной технологии кодирования видео, в то время как флаг пропуска преобразования передается в модулях преобразования, флаг AMT передается в единицах кодирования. Здесь, флаг пропуска преобразования указывает, следует ли пропустить преобразование без выполнения преобразования в соответствующем блоке. Однако если два флага всегда передаются в структуре сжатия, такой как блочная структура квадродерево плюс двоичное дерево (QTBT), где единица кодирования не отличается от единицы преобразования, эффективность сжатия может ухудшаться из-за избыточной сигнализации синтаксиса.
[135] Поэтому, чтобы решить вышеуказанную проблему, настоящее изобретение предлагает способ для эффективной сигнализации флага, который определяет, следует ли применить преобразование, и индекса, который определяет тип для типа преобразования (или ядра преобразования).
[136] Также, настоящее изобретение предлагает способ для эффективной сигнализации флага, который определяет, следует ли применять первичное преобразование, и флага, который определяет, следует ли применить пропуск преобразования.
[137] Также, настоящее изобретение предлагает способ для ссылки на контекст, чтобы выполнять энтропийное кодирование над флагом, который определяет, следует ли применять первичное преобразование.
[138] Также, настоящее изобретение предлагает способ для определения, следует ли передавать (или анализировать) флаг пропуска преобразования в соответствии со значением флага первичного преобразования в структуре сжатия, где единица кодирования не отличается от единицы преобразования.
[139] Также, настоящее изобретение предлагает способ для определения, следует ли передавать флаг пропуска преобразования для каждого компонента, на основе флага первичного преобразования.
[140] В соответствии с вариантом осуществления настоящего изобретения, число битов сигнализации может быть уменьшено, и выполнение сжатия может быть улучшено путем оптимизации условия для передачи флага для определения, следует ли применять преобразование, и индекса для определения типа преобразования.
[141] Также, в соответствии с вариантом осуществления настоящего изобретения, путем эффективной сигнализации первичного преобразования и пропуска преобразования, можно избежать избыточного кодирования синтаксиса, и качество сжатого видео может поддерживаться при одновременном повышении эффективности сжатия.
[142] В дальнейшем, блок обработки относится к единице (или блоку), где выполняется процесс кодирования/декодирования, такой как предсказание, преобразование и/или квантование, и для удобства описаний, он может также называться блоком или единицей обработки. Также, когда процесс преобразования используется в качестве единицы обработки, блок обработки может называться блоком кодирования, единицей кодирования, блоком преобразования или единицей преобразования.
[143]
[144] Вариант осуществления 1
[145] В соответствии с вариантом осуществления настоящего изобретения, кодер/декодер может ограничивать условие для передачи флага, который определяет, следует ли применить первичное преобразование, с использованием флага пропуска преобразования.
[146] Как описано выше, кодер может сигнализировать флаг, который указывает, применяется ли AMT (далее он называется 'флагом AMT'), декодеру. При этом, как в традиционной технологии кодирования видео, если флаг AMT сигнализируется для всех блоков, биты потребляются излишне, что может приводить к ухудшению эффективности сжатия. Поэтому кодер может минимизировать величину использования битов путем передачи флага AMT только при конкретном условии.
[147]
[148] Вариант осуществления 1-1
[149] В одном варианте осуществления настоящего изобретения, кодер может сигнализировать флаг AMT на декодер для всех блоков, флаг пропуска преобразования которых равен 0. Здесь, флаг пропуска преобразования указывает, следует ли пропустить преобразование без выполнения преобразования над соответствующим блоком.
[150] Если флаг пропуска преобразования равен 1, остаточный сигнал, передаваемый от кодера, может представлять собой масштабированные данные YUV, а не квантованные данные YUV. В этом случае, поскольку преобразование не выполняется, кодеру не требуется дополнительно сигнализировать флаг AMT, который указывает, следует ли применять AMT, на декодер.
[151] Поэтому, если флаг пропуска преобразования равен 1, кодер может уменьшить количество дополнительной информации, которая должна передаваться дополнительно, не передавая флаг AMT. Способ, предложенный в настоящем варианте осуществления, может применяться не только к способу для сигнализации флага AMT, но также к другому способу для сигнализации первичного преобразования. Иными словами, когда флаг пропуска преобразования равен 1, кодер может не передавать флаг, который указывает, следует ли применить первичное преобразование, на декодер.
[152] Фиг. 6 иллюстрирует условие для анализа флага AMT, в качестве варианта осуществления, к которому применяется настоящее изобретение.
[153] Хотя настоящий вариант осуществления главным образом описывает декодер в целях удобства, способ для анализа флага AMT при конкретном условии, как предложено в настоящем варианте осуществления, может применяться как к кодеру, так и к декодеру.
[154] Со ссылкой на фиг. 6, декодер анализирует кодированный битовый флаг (CBF), который указывает существование ненулевого коэффициента в остаточном блоке обрабатываемого в текущее время блока S601.
[155] Декодер определяет, удовлетворяет ли обрабатываемый в текущее время блок первому условию S602, и если обрабатываемый в текущее время блок удовлетворяет первому условию, анализирует флаг пропуска преобразования, который указывает, применяется ли пропуск преобразования к обрабатываемому в текущее время блоку S603. Иными словами, флаг пропуска преобразования может анализироваться в соответствии с тем, удовлетворяет ли обрабатываемый в текущее время блок конкретному условию.
[156] Здесь, то, удовлетворено ли первое условие, может быть определено в соответствии с размером обрабатываемого в текущее время блока. Иными словами, если размер обрабатываемого в текущее время блока меньше или равен предопределенному размеру, первое условие может быть удовлетворено. Например, первое условие может включать в себя то, являются ли ширина и высота текущего блока меньшими или равными 4.
[157] Декодер определяет, удовлетворяет ли обрабатываемый в текущее время блок второму условию S604, и если обрабатываемый в текущее время блок удовлетворяет второму условию, анализирует флаг AMT, который указывает, применяется ли AMT S605. Иными словами, декодер может анализировать флаг AMT, только когда обрабатываемый в текущее время блок удовлетворяет конкретному условию. Здесь, второе условие может включать в себя то, равно ли 0 значение флага пропуска преобразования, анализируемого на этапе S603. Также, второе условие может включать в себя то, равно ли 1 значение CBF, анализируемое на этапе S601, и/или то, являются ли ширина и высота обрабатываемого в текущее время блока меньшими или равными 64.
[158] После этого декодер анализирует коэффициенты преобразования обрабатываемого в текущее время блока S606.
[159]
[160] Вариант осуществления 1-2
[161] Один вариант осуществления настоящего изобретения предлагает способ для определения, следует ли передавать флаг первичного преобразования, на основе флага пропуска преобразования, когда флаг пропуска преобразования передается для каждого компонента.
[162] Кодер может передавать флаг пропуска преобразования на декодер для каждого из компонента яркости (или компонента Y) и компонентов цветности (компонентов C и Cr). Поэтому, поскольку флаг пропуска преобразования может передаваться для каждого компонента, то, следует ли применять пропуск преобразования, может быть определено по-разному для каждого компонента. При этом, кодер может сигнализировать на декодер, только когда пропуск преобразования не применяется к компоненту, к которому действительно применяется первичное преобразование во время процесса, для сигнализации флага, который указывает, применяется ли первичное преобразование.
[163] Например, поскольку AMT может применяться только для компонента яркости, кодер может сигнализировать флаг AMT, только когда пропуск преобразования не применяется к компоненту яркости. С другой стороны, кодер может не сигнализировать флаг AMT независимо от применения пропуска преобразования в случае компонентов цветности (а именно, компонентов Cb и Cr).
[164] Фиг. 7 иллюстрирует условие для анализа AMT, в качестве варианта осуществления, к которому применяется настоящее изобретение.
[165] Хотя настоящий вариант осуществления главным образом описывает декодер для удобства, способ для анализа флага AMT при конкретном условии, как предложено в настоящем варианте осуществления, может применяться как к кодеру, так и декодеру.
[166] Со ссылкой на фиг. 7, декодер анализирует кодированный битовый флаг (CBF), который указывает существование ненулевого коэффициента в остаточном блоке обрабатываемого в текущее время блока S701.
[167] Декодер определяет, удовлетворяет ли обрабатываемый в текущее время блок первому условию S702, и, если обрабатываемый в текущее время блок удовлетворяет первому условию, анализирует флаг пропуска преобразования, который указывает, применяется ли пропуск преобразования к обрабатываемому в текущее время блоку S703. Иными словами, флаг пропуска преобразования может анализироваться в соответствии с тем, удовлетворяет ли обрабатываемый в текущее время блок конкретному условию.
[168] Здесь, то, удовлетворено ли первое условие, может быть определено в соответствии с размером обрабатываемого в текущее время блока. Иными словами, если размер обрабатываемого в текущее время блока меньше или равен предопределенному размеру, первое условие может быть удовлетворено. Например, первое условие может включать в себя то, являются ли ширина и высота текущего блока меньшими или равными 4.
[169] Декодер определяет, удовлетворяет ли обрабатываемый в текущее время блок второму условию S704, и, если обрабатываемый в текущее время блок удовлетворяет второму условию, анализирует флаг AMT, который указывает, применяется ли AMT S705. Иными словами, декодер может анализировать флаг AMT, только когда обрабатываемый в текущее время блок удовлетворяет конкретному условию. Здесь, второе условие может включать в себя то, соответствует ли обрабатываемый в текущее время блок компоненту яркости. Также, второе условие может включать в себя то, равно ли 0 значение флага пропуска преобразования, анализируемого на этапе S703. Также, второе условие может включать в себя то, равно ли 1 значение CBF, анализируемое на этапе S701, и/или то, являют ли ширина и высота обрабатываемого в текущее время блока меньшими или равными 64.
[170] После этого, декодер анализирует коэффициенты преобразования обрабатываемого в текущее время блока S706. Как описано выше, способ, предложенный в настоящем варианте осуществления, может применяться не только к способу для сигнализации флага AMT, а также к другому способу для сигнализации первичного преобразования.
[171]
[172] Вариант осуществления 1-3
[173] В одном варианте осуществления настоящего изобретения, кодер/декодер может ограничивать условие кодирования синтаксиса флага пропуска преобразования, который зависит от значения cbf.
[174] Более конкретно, кодер может сигнализировать флаг пропуска преобразования, который указывает, применяется ли пропуск преобразования, на декодер, только когда значение cbf равно 1. В этом случае, первое условие, применяемое одним и тем же путем на фиг. 6 и 7, может быть выражено посредством Ур. 1, как описано далее.
[175] [Ур. 1]
Условие 1: (Cbf && (ширина <= 4 && высота <= 4)
[176] Иными словами, первое условие, описанное со ссылкой на фиг. 6 и 7, может включать в себя то, равно ли 1 значение cbf, и являются ли ширина и высота обрабатываемого в текущее время блока равными 4.
[177] Также, в структуре QTBT, обрабатываемый в текущее время блок может иметь различные формы (а именно, неквадратный блок). Поэтому, в одном варианте осуществления, условие для передачи/анализа флага пропуска преобразования может быть выражено посредством Ур. 2 или 3 ниже с учетом различных размеров или форм блока.
[178] [Ур. 3]
Условие 1: (Cbf && (ширина <= M && высота <= N))
[179] Со ссылкой на Ур. 3, кодер/декодер может конфигурировать конкретное пороговое значение для каждого из ширины и высоты текущего блока и определять, являются ли ширина и высота большими, чем соответственные пороговые значения. Здесь, M и N представляют конкретные пороговые значения для ширины и высоты, соответственно, которые могут представлять собой предопределенные положительные целые числа.
[180] [Ур. 4]
Условие 1: (Cbf && (ширина*высота <= K))
[181] Со ссылкой на Ур. 4, кодер/декодер может определить, является ли произведение ширины и высота обрабатываемого в текущее время блока, а именно, число пикселов, принадлежащих обрабатываемому в текущее время блоку, большим, чем конкретное число, и определить, следует ли передавать или анализировать флаг пропуска преобразования. Здесь, K представляет конкретное число пикселов, принадлежащих обрабатываемому в текущее время блоку, которое может представлять собой предопределенное положительное целое число.
[182]
[183] Вариант осуществления 2
[184] В соответствии с одним вариантом осуществления настоящего изобретения, чтобы выполнить энтропийное кодирование/декодирование над флагом, который указывает, следует ли применить первичное преобразование, кодер/декодер может определить (или сослаться на) контекст (или контекстную модель) основанного на контексте адаптивного двоичного арифметического кодирования (CABAC) на основе структуры разбиения блока или информации о размере блока.
[185] Более конкретно, при выполнении CABAC над флагом, который определяет включение/отключение первичного преобразования, кодер/декодер может сослаться на контекст, определяемый в соответствии с глубиной разбиения обрабатываемого в текущее время блока.
[186] Чтобы привести пример в отношении структуры разбиения QTBT, индекс контекста может быть определен с использованием Ур. 5 ниже для флага пропуска преобразования или флага AMT, описанного в варианте осуществления 1.
[187] [Ур. 5]
Индекс контекста=((Глубина QT) << 1+(Глубина BT)) >>1
[188] Как показано в Ур. 5, контекст, используемый для энтропийного кодирования текущего флага, может быть выражен функцией глубин QT и BT. Здесь, глубина QT представляет глубину разбиения обрабатываемого в текущее время блока в структуре квадродерева. Корневой узел квадродерева может иметь значение 0 глубины QT. И глубина BT представляет глубину разбиения обрабатываемого в текущее время блока в структуре двоичного дерева. Таким же образом, корневой узел двоичного дерева может иметь значение 0 глубины BT. Блок корневого узла двоичного дерева может представлять собой блок листового узла структуры квадродерева.
[189] Статистически, наблюдается, что значение флага AMT имеет зависимость от глубин QT и BT. Эффективность кодирования может быть улучшена путем определения контекста, используемого для энтропийного кодирования флага AMT с учетом зависимости флага AMT от глубины разбиения.
[190] Также, при выполнении CABAC над флагом, который определяет включение/отключение первичного преобразования, кодер/декодер может определить контекст с использованием информации о размере обрабатываемого в текущее время блока. Например, как показано в Таблице 1 ниже, кодер/декодер может определить контекст в соответствии с числом пикселов в пределах обрабатываемого в текущее время блока и выполнить энтропийное кодирование/декодирование со ссылкой на определяемый контекст.
[191] [Таблица 1]
[192] Хотя описания настоящего варианта осуществления приведены главным образом в отношении структуры QTBT, настоящее изобретение не ограничено конкретными описаниями, а может применяться к различным другим структурам разбиения блока тем же самым образом.
[193]
[194] Вариант осуществления 3
[195] В одном варианте осуществления настоящего изобретения, кодер/декодер может определить сигнализацию флага пропуска преобразования на основе флага первичного преобразования, который указывает, следует ли применить первичное преобразование. В частности, в одном варианте осуществления, кодер/декодер может определить сигнализацию флага пропуска преобразования в соответствии с флагом первичного преобразования в структуре разбиения, где единица кодирования не отличается от единицы преобразования как в структуре QTBT.
[196] Более конкретно, когда флаг первичного преобразования в структуре QTBT равен 1, кодер может не преобразовывать флаг пропуска преобразования для декодера. Таким образом, может быть удалена избыточная сигнализация синтаксиса между флагом, который управляет включение/отключением первичного преобразования, и флагом, который управляет, чтобы не выполнять преобразование.
[197] Фиг. 8 иллюстрирует блок-схему способа для декодирования флага первичного преобразования и флага пропуска преобразования, в качестве варианта осуществления, к которому применяется настоящее изобретение.
[198] Декодер анализирует cbf, который указывает существование ненулевого коэффициента в остаточном блоке обрабатываемого в текущее время блока S801.
[199] Если cbf, анализируемый на этапе S801, равен 1, декодер анализирует флаг первичного преобразования, который указывает, применяется ли первичное преобразование S802. И декодер определяет, удовлетворяет ли обрабатываемый в текущее время блок первому условию S803.
[200] Если из результата определения этапа S803 установлено, что обрабатываемый в текущее время блок удовлетворяет первому условию, то анализируется флаг пропуска преобразования S804. Здесь, первое условие может включать в себя то, является ли обрабатываемый в текущее время блок меньшим или равным предопределенному размеру. Аналогично, первое условие может включать в себя то, является ли произведение ширины и высоты обрабатываемого в текущее время блока меньшим или равным предопределенному значению. И предопределенный размер или предопределенное значение может конфигурироваться по-разному для каждого слайса. Например, предопределенный размер или предопределенное значение может конфигурироваться по-разному для I и не-I слайсов.
[201] В соответствии с первым условием, может возникать проблема, состоящая в том, что флаг пропуска преобразования может избыточно сигнализироваться, даже когда первичное преобразование применяется к обрабатываемому в текущее время блоку. Поэтому, чтобы решить вышеуказанную проблему, первое условие может включать в себя то, равен ли 1 флаг первичного преобразования, анализируемый на этапе S802.
[202] Иными словами, если размер текущего блока меньше или равен предопределенному размеру, и значение принятого флага первичного преобразования не равно 1, кодер может анализировать флаг пропуска преобразования. Если размер текущего блока больше, чем предопределенный размер, или значение принятого флага первичного преобразования равно 1, декодер может не анализировать флаг пропуска преобразования.
[203]
[204] Вариант осуществления 3-1
[205] В одном варианте осуществления настоящего изобретения, кодер/декодер может определить сигнализацию флага пропуска преобразования на основе флага первичного преобразования в отношении компонента яркости. Когда первичное преобразование применяется, кодер/декодер не преобразует флаг пропуска преобразования компонента яркости, но может преобразовать флаг пропуска преобразования блока цветности.
[206] Фиг. 9 представляет собой таблицу, иллюстрирующую, следует ли передавать флаг пропуска преобразования для каждого компонента в соответствии с тем, применяется ли первичное преобразование, в качестве варианта осуществления, в котором применяется настоящее изобретение.
[207] Со ссылкой на фиг. 9, чтобы избежать избыточности кодирования синтаксиса, в случае компонента яркости, флаг пропуска преобразования не сигнализируется, если флаг первичного преобразования не равен нулю. Иными словами, если флаг преобразования, который указывает, следует ли применить первичное преобразование, равен 0, кодер может сигнализировать флаг пропуска преобразования на декодер для всех из компонентов. Если флаг первичного преобразования равен 1, кодер может сигнализировать флаг пропуска преобразования на декодер в отношении компонента цветности, но может не сигнализировать флаг пропуска преобразования в отношении компонента яркости.
[208]
[209] Вариант осуществления 3-2
[210] В одном варианте осуществления настоящего изобретения, кодер/декодер может определить сигнализацию флагов пропуска преобразования для всех из компонентов на основе флага первичного преобразования.
[211] В технологии кодирования видео, в которой флаг пропуска преобразования передается на каждую единицу компонента, структура компонента яркости может быть независима от структуры компонента цветности. Например, в структуре QTBT, I-слайс может быть структурно независимым, в то время как B-слайс может иметь структурную зависимость.
[212] Фиг. 10 представляет собой таблицу, иллюстрирующую, следует ли передавать флаг пропуска преобразования для каждого компонента в соответствии с тем, применяется ли первичное преобразование, в качестве варианта осуществления, к которому применяется настоящее изобретение.
[213] Со ссылкой на фиг. 10, если структуры компонентов независимы друг от друга (например, в случае I-слайса), кодер может не сигнализировать флаг пропуска преобразования для всех из компонентов, когда применяется первичное преобразование. Таким образом, количество дополнительной информации, подлежащей передаче, может быть уменьшено, и эффективность кодирования может быть улучшена.
[214]
[215] Вариант осуществления 3-3
[216] Один вариант осуществления настоящего изобретения предлагает способ для определения, следует ли передавать флаг пропуска преобразования в отношении компонента цветности кодером/декодером, когда первичное преобразование не применяется.
[217] Способ, описанный выше, может иметь различные условия для передачи флага пропуска преобразования. Если предполагается, что сигнализация флага пропуска преобразования ограничена случаем, где число пикселов в блоке равно 16 или менее, размер компонента цветности может быть 2×2, 2×4, 4×2, 8×2 или 4×4.
[218] В этом случае, если флаг пропуска преобразования передается, даже хотя размер блока чрезмерно мал, непроизводительные издержки битов могут быть увеличены. Поэтому, чтобы предотвратить упомянутую выше проблему, флаг пропуска преобразования может не передаваться, когда размер блока компонента цветности меньше, чем размер при конкретном условии, или когда полное число пикселов меньше, чем конкретное число.
[219] Например, кодер/декодер может определить, следует ли передавать флаг пропуска преобразования компонента цветности, с использованием условия Ур. 6, как показано ниже.
[220] [Ур. 6]
((Ширина*Высота)<=Thresholdmax)&&((Ширина*Высота)>=Thresholdmin))
[221] Со ссылкой на Ур. 6, кодер/декодер может определить, следует ли передавать флаг пропуска преобразования, только когда число пикселов цветового блока принадлежит конкретному диапазону. В Ур. 6, Thresholdmax представляет верхнее пороговое значение, и Thresholdmin представляет нижний порог. Thresholdmax и Thresholdmin могут быть предварительно сконфигурированы для кодера и декодера.
[222] Аналогично, например, кодер/декодер может определить, следует ли передавать флаг пропуска преобразования компонента цветности, с использованием условия, выраженного посредством Ур. 7 ниже.
[223] [Ур. 7]
&&(Ширина≥blockSizemin && Высота≥blockSizemin)
(Ширина≤blockSizemax && Высота≤blockSizemax)
[224] Со ссылкой на фиг. 7, кодер/декодер может определить, следует ли передавать флаг пропуска преобразования, только когда ширина и высота блока цветности принадлежат конкретному диапазону. В Ур. 7, blockSizemax представляет максимальный размер блока (или длину одной стороны блока максимального размера), и blockSizemin представляет минимальный размер блока (или длину одной стороны блока минимального размера). blockSizemax и blockSizemin могут быть предварительно сконфигурированы для кодера и декодера.
[225]
[226] Варианты осуществления, описанные выше, могут применяться независимо друг от друга или могут использоваться в их комбинации.
[227] Фиг. 11 иллюстрирует способ для декодирования сигнала видео в соответствии с одним вариантом осуществления настоящего изобретения.
[228] Хотя настоящий вариант осуществления главным образом описывает декодер для удобства, способ для декодирования сигнала видео в соответствии с настоящим изобретением может выполняться одним и тем же путем для кодера и декодера.
[229] Декодер генерирует остаточный блок текущего блока путем выполнения энтропийного декодирования над сигналом видео S1101. Более конкретно, декодер может извлекать квантованные коэффициенты преобразования путем выполнения энтропийного декодирования над битовым потоком, принятым от кодера, и генерировать двумерный массив квантованных блоков преобразования путем расположения квантованных коэффициентов преобразования в соответствии с предопределенным порядком сканирования. Декодер может генерировать деквантованные блоки преобразования путем выполнения деквантования над квантованными блоками преобразования.
[230] Когда размер текущего блока меньше, чем предопределенный первый размер, декодер анализирует флаг пропуска преобразования, который указывает, применяется ли пропуск преобразования к текущему блоку S1102.
[231] Как описано выше, декодер может определить, удовлетворяет ли текущий блок первому условию, и если обрабатываемый в текущее время блок удовлетворяет первому условию, анализировать флаг пропуска преобразования. То, удовлетворено ли первое условие, может быть определено в соответствии с размером обрабатываемого в текущее время блока. Иными словами, если размер обрабатываемого в текущее время блока меньше или равен предопределенному размеру, первое условие может быть удовлетворено. Предопределенный первый размер может быть определен на основе ширины и высоты текущего блока или числа пикселов в текущем блоке.
[232] Декодер определяет, следует ли анализировать флаг первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку S1103.
[233] Например, флаг первичного преобразования может представлять собой флаг AMT, который указывает, следует ли применять AMT. Если флаг AMT равен 1, как описано выше, этап для анализа индекса AMT может быть добавлен после этапа S1103.
[234] Как описано выше, если флаг пропуска преобразования равен 0, декодер может определить, что следует анализировать флаг первичного преобразования. Или если размер текущего блока меньше, чем предопределенный второй размер, и значение флага пропуска преобразования равно 0, декодер может определить, что следует анализировать флаг первичного преобразования.
[235] Также, как описано выше, кодер может сигнализировать на декодер, только когда пропуск преобразования не применяется к компоненту, к которому первичное преобразование действительно применяется во время процесса для сигнализации флага, который указывает, применяется ли первичное преобразование. При этом, если текущий блок представляет собой блок яркости, размер текущего блока меньше, чем предопределенный второй размер, и значение флага пропуска преобразования равно 0, декодер может определить, что следует анализировать флаг первичного преобразования.
[236] Также, как описано выше, кодер может сигнализировать флаг пропуска преобразования, который указывает, применяется ли пропуск преобразования, на декодер, только когда значение cbf равно 1. В этом случае, декодер может проверить, существует ли ненулевой коэффициент преобразования в текущем блоке. Если из результата проверки определено, что ненулевой коэффициент преобразования существует в текущем блоке, декодер может анализировать флаг пропуска преобразования.
[237] Также, как описано выше, флаг первичного преобразования может быть энтропийно декодирован со ссылкой на контекст, определяемый в соответствии с глубиной текущего блока, размером текущего блока или числом пикселов в текущем блоке в структуре разбиения блока квадродерево плюс двоичное дерево (QTBT). Как описано в Ур. 5 выше, контекст, используемый для энтропийного кодирования текущего флага, может быть выражен функцией глубин QT и BT.
[238] Если декодер определяет, что следует анализировать флаг первичного преобразования, декодер анализирует флаг первичного преобразования S1104.
[239] Также, при выполнении CABAC над флагом, который определяет включение/отключение первичного преобразования, кодер/декодер может определить контекст с использованием информации о размере обрабатываемого в текущее время блока.
[240] Если флаг первичного преобразования указывает, что первичное преобразование применяется к текущему блоку, декодер генерирует первичный обратно преобразованный блок преобразования текущего блока путем выполнения первичного обратного преобразования для остаточного блока S1105.
[241] Когда вторичное преобразование применяется к текущему блоку, остаточный блок может представлять собой блок преобразования, к которому было применено вторичное преобразование. В этом случае, декодер может выполнять вторичное обратное преобразование перед выполнением первичного обратного преобразования. Например, вторичное обратное преобразование может выполняться с использованием любого одного из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва, преобразования на основе графа или неразделяемого вторичного преобразования (NSST).
[242] Фиг. 12 иллюстрирует способ для декодирования сигнала видео в соответствии с одним вариантом осуществления настоящего изобретения.
[243] Декодер генерирует остаточный блок текущего блока путем выполнения энтропийного декодирования над сигналом видео, S1201. Более конкретно, декодер может извлекать квантованные коэффициенты преобразования путем выполнения энтропийного декодирования над битовым потоком, принятым от кодера, и генерировать двумерный массив квантованных блоков преобразования путем расположения квантованных коэффициентов преобразования в соответствии с предопределенным порядком сканирования. Декодер может генерировать деквантованные блоки преобразования путем выполнения деквантования над квантованными блоками преобразования.
[244] Декодер анализирует флаг первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку S1202. Например, флаг первичного преобразования может представлять собой флаг AMT, который указывает, следует ли применить AMT. Если флаг AMT равен 1, как описано выше, этап для анализа индекса AMT может быть добавлен после этапа S1202.
[245] Декодер проверяет, удовлетворяет ли текущий блок предопределенному конкретному условию S1203.
[246] Как описано выше, конкретное условие может включать в себя то, равен ли 0 флаг первичного преобразования, и то, является ли размер текущего блока меньшим или равным максимальному размеру, к которому применяется пропуск преобразования. При этом, максимальный размер, к которому применяется пропуск преобразования, может быть определен в соответствии со слайсом текущего блока. Или конкретное условие может дополнительно включать в себя то, является ли текущий блок компонентом цветности. Или конкретное условие может дополнительно включать в себя то, является ли слайс текущего блока B-слайсом. Или конкретное условие может дополнительно включать в себя то, принадлежит ли размер текущего блока или число пикселов текущего блока конкретному диапазону.
[247] Если из результата проверки определено, что конкретное условие удовлетворено, декодер анализирует флаг пропуска преобразования, который указывает, применяется ли пропуск преобразования к текущему блоку S1204.
[248] Если флаг пропуска преобразования указывает, что пропуск преобразования не применяется к текущему блоку, декодер генерирует первичный обратно преобразованный блок преобразования текущего блока путем выполнения первичного обратного преобразования над остаточным блоком S1205.
[249] Когда вторичное преобразование применяется к текущему блоку, остаточный блок может представлять собой блок преобразования, к которому было применено вторичное преобразование. В этом случае, декодер может выполнять вторичное обратное преобразование перед выполнением первичного обратного преобразования. Например, вторичное обратное преобразование может выполняться с использованием любого одного из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва, преобразования на основе графа или неразделяемого вторичного преобразования (NSST).
[250] Фиг. 13 иллюстрирует устройство для декодирования сигнала видео в соответствии с одним вариантом осуществления настоящего изобретения.
[251] Хотя фиг. 13 иллюстрирует модуль 1301 генерирования остаточного блока, модуль 1302 анализа флага первичного преобразования, модуль 1303 проверки условия, модуль 1304 анализа флага пропуска преобразования и модуль 1305 генерирования блока преобразования как отдельные блоки для удобства описаний, отдельные модули могут также быть реализованы как включенные в кодер и/или декодер.
[252] Со ссылкой на фиг. 13, устройство декодирования реализует функции, процессы и/или способы, предложенные на фиг. 5-15 выше. Более конкретно, устройство декодирования может быть сконструировано путем включения модуля 1301 генерирования остаточного блока, модуля 1302 анализа флага первичного преобразования, модуля 1303 проверки условия, модуля 1304 анализа флага пропуска преобразования и модуля 1305 генерирования блока преобразования.
[253] Модуль 1301 генерирования остаточного блока генерирует остаточный блок текущего блока путем выполнения энтропийного декодирования над сигналом видео S1101. Более конкретно, модуль 1301 генерирования остаточного блока может извлекать квантованные коэффициенты преобразования путем выполнения энтропийного декодирования над битовым потоком, принятым от кодера, и генерировать двумерный массив квантованных блоков преобразования путем расположения квантованных коэффициентов преобразования в соответствии с предопределенным порядком сканирования. Модуль 1301 генерирования остаточного блока может генерировать деквантованные блоки преобразования путем выполнения деквантования над квантованными блоками преобразования.
[254] Модуль 1302 анализа флага первичного преобразования анализирует флаг первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку. Например, флаг первичного преобразования может представлять собой флаг AMT, который указывает, следует ли применить AMT. Если флаг AMT равен 1, как описано выше, модуль 1302 анализа флага первичного преобразования может анализировать индекс AMT дополнительно после анализа флага AMT.
[255] Модуль 1303 проверки условия проверяет, удовлетворяет ли текущий блок предопределенному конкретному условию.
[256] Как описано выше, конкретное условие может включать в себя то, равен ли 0 флаг первичного преобразования, и то, является ли размер текущего блока меньшим или равным максимальному размеру, к которому применяется пропуск преобразования. При этом, максимальный размер, к которому применяется пропуск преобразования, может быть определен в соответствии со слайсом текущего блока. Или конкретное условие может дополнительно включать в себя то, является ли текущий блок компонентом цветности. Или конкретное условие может дополнительно включать в себя то, является ли слайс текущего блока B-слайсом. Или конкретное условие может дополнительно включать в себя то, принадлежит ли размер текущего блока или число пикселов текущего блока конкретному диапазону.
[257] Если из результата проверки определено, что конкретное условие удовлетворено, модуль 1304 анализа флага пропуска преобразования анализирует флаг пропуска преобразования, который указывает, применяется ли пропуск преобразования к текущему блоку.
[258] Если флаг пропуска преобразования указывает, что пропуск преобразования не применяется к текущему блоку, модуль 1305 генерирования блока преобразования генерирует первичный обратно преобразованный блок преобразования текущего блока путем выполнения первичного обратного преобразования над остаточным блоком.
[259] Когда вторичное преобразование применяется к текущему блоку, остаточный блок может представлять собой блок преобразования, к которому было применено вторичное преобразование. В этом случае, декодер может выполнять вторичное обратное преобразование перед выполнением первичного обратного преобразования. Например, вторичное обратное преобразование может выполняться с использованием любого одного из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва, преобразования на основе графа или неразделяемого вторичного преобразования (NSST). И декодер может генерировать остаточный блок путем выполнения первичного обратного преобразования для второго обратно преобразованного блока преобразования.
[260] В упомянутых выше вариантах осуществления, элементы и характеристики настоящего изобретения были скомбинированы в конкретных формах. Каждый из элементов или характеристик может рассматриваться как опциональный, если явно не описано иначе. Каждый из элементов или характеристик может быть реализован в форме, не комбинируемой с другим элементом или характеристикой. Кроме того, некоторые из элементов и/или характеристик могут комбинироваться для формирования варианта осуществления настоящего изобретения. Порядок операций, описанный в связи с вариантами осуществления настоящего изобретения, может быть изменен. Некоторые из элементов или характеристик варианта осуществления могут быть включены в другой вариант осуществления или могут быть заменены соответствующими элементами или характеристиками другого варианта осуществления. Очевидно, что вариант осуществления может быть создан путем комбинирования пунктов формулы изобретения, не имеющих явного отношения ссылки в пунктах формулы изобретения, или может быть включен как новый пункт формулы изобретения путем изменений после подачи заявки.
[261] Вариант осуществления настоящего изобретения может быть реализован различными средствами, например, аппаратными средствами, прошивкой, программным обеспечением или их комбинацией. В случае реализация посредством аппаратных средств, вариант осуществления настоящего изобретения может быть реализован с использованием одной или нескольких специализированных интегральных схем (ASIC), цифровых сигнальных процессоров (DSP), цифровых устройств обработки сигналов (DSPD), программируемых логических устройств (PLD), программируемых вентильных матриц (FPGA), процессоров, контроллеров, микроконтроллеров и/или микропроцессоров.
[262] В случае реализации посредством прошивки или программного обеспечения, вариант осуществления настоящего изобретения может быть реализован в форме модуля, процедуры или функции для выполнения вышеупомянутых функций или операций. Код программного обеспечения может храниться в памяти и приводиться в действие процессором. Память может располагаться внутри или снаружи процессора и может обмениваться данными с процессором через множество известных средств.
[263] Специалистам в данной области техники должно быть понятно, что настоящее изобретение может быть воплощено в других конкретных формах без отклонения от существенных характеристик настоящего изобретения. Соответственно, подробное описание не должно пониматься как ограничительное во всех аспектах, а должно пониматься как иллюстративное. Объем настоящего изобретения должен определяться разумным анализом приложенной формулы изобретения, и все изменения в пределах эквивалентного диапазона настоящего изобретения включаются в объем настоящего изобретения.
Промышленная применимость
[264] Как описано выше, предпочтительные варианты осуществления настоящего изобретения были раскрыты для иллюстративных целей, и специалисты в данной области техники могут улучшать, изменять, заменять или добавлять различные другие варианты осуществления без отклонения от технологической сущности и объема настоящего изобретения, раскрытого в приложенной формуле изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО ДЛЯ ЭТОГО | 2022 |
|
RU2783332C1 |
СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО ДЛЯ ЭТОГО | 2021 |
|
RU2769348C1 |
СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО ДЛЯ ЭТОГО | 2017 |
|
RU2745779C2 |
СПОСОБ КОДИРОВАНИЯ ВИДЕО, СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕО, УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕО, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕО И ПРОГРАММА | 2017 |
|
RU2720358C1 |
КОДИРОВАНИЕ ВИДЕОДАННЫХ, ИСПОЛЬЗУЯ ИНФРАСТРУКТУРУ ДВУХУРОВНЕВОГО МНОГОТИПНОГО ДЕРЕВА | 2017 |
|
RU2746935C2 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК | 2023 |
|
RU2824753C1 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК | 2022 |
|
RU2806878C2 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК | 2019 |
|
RU2775829C1 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК | 2019 |
|
RU2769959C1 |
ЭФФЕКТИВНОЕ ПО ПАМЯТИ МОДЕЛИРОВАНИЕ КОНТЕКСТА | 2012 |
|
RU2580066C2 |
Изобретение относится к области вычислительной техники. Технический результат заключается в эффективной обработке видеоконтента. Настоящее изобретение раскрывает способ для кодирования/декодирования сигнала видео и устройство для способа. Более конкретно, способ для декодирования сигнала видео содержит генерирование остаточного блока текущего блока путем выполнения энтропийного декодирования над сигналом видео; если размер текущего блока меньше, чем предопределенный первый размер, анализ флага пропуска преобразования, который указывает, применяется ли пропуск преобразования к текущему блоку; определение, следует ли анализировать флаг первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку; если определено, что следует анализировать флаг первичного преобразования, анализ флага первичного преобразования; и если флаг первичного преобразования указывает, что первичное преобразование применяется к текущему блоку, генерирование первичного обратно преобразованного блока преобразования текущего блока путем выполнения первичного обратного преобразования для остаточного блока. 3 н. и 10 з.п. ф-лы, 13 ил.
1. Способ для декодирования сигнала видео, содержащий:
генерирование остаточного блока текущего блока путем выполнения энтропийного декодирования и обратного квантования над сигналом видео;
анализ флага пропуска преобразования, указывающего, применяется ли пропуск преобразования к текущему блоку, когда размер текущего блока меньше, чем предопределенный первый размер;
определение, следует ли анализировать флаг первичного преобразования, указывающий, применяется ли адаптивное множественное преобразование в качестве первичного преобразования к текущему блоку;
анализ флага первичного преобразования, когда определено, что следует анализировать флаг первичного преобразования; и
генерирование первичного обратно преобразованного блока преобразования текущего блока путем выполнения первичного обратного преобразования для остаточного блока, когда флаг первичного преобразования указывает, что адаптивное множественное преобразование применяется к текущему блоку.
2. Способ по п. 1, причем этап определения, следует ли анализировать флаг первичного преобразования, анализирует флаг первичного преобразования, когда флаг пропуска преобразования равен 0.
3. Способ по п. 1, причем этап определения, следует ли анализировать флаг первичного преобразования, определяет, что следует анализировать флаг первичного преобразования, когда размер текущего блока меньше, чем предопределенный второй размер, и флаг пропуска преобразования равен 0.
4. Способ по п. 1, причем этап определения, следует ли анализировать флаг первичного преобразования, определяет, что следует анализировать флаг первичного преобразования, когда текущий блок представляет собой блок яркости, размер текущего блока меньше, чем предопределенный второй размер и флаг пропуска преобразования равен 0.
5. Способ по п. 1, причем этап анализа флага пропуска преобразования содержит
проверку, существует ли ненулевой коэффициент преобразования в текущем блоке,
анализ флага пропуска преобразования, когда из результата проверки определено, что ненулевой коэффициент преобразования существует в текущем блоке.
6. Способ по п. 1, причем флаг первичного преобразования энтропийно декодируется путем ссылки на контекст, определяемый в соответствии с глубиной текущего блока, размером текущего блока или числом пикселов в текущем блоке в структуре разбиения блока квадродерево плюс двоичное дерево (QTBT).
7. Способ для декодирования сигнала видео, содержащий:
генерирование остаточного блока текущего блока путем выполнения энтропийного декодирования над сигналом видео;
анализ флага первичного преобразования, который указывает, применяется ли первичное преобразование к текущему блоку;
проверку, удовлетворяет ли текущий блок предопределенному конкретному условию;
анализ флага пропуска преобразования, указывающего, применяется ли пропуск преобразования к текущему блоку, когда из результата проверки определено, что конкретное условие удовлетворяется; и
генерирование первичного обратно преобразованного блока преобразования текущего блока путем выполнения первичного обратного преобразования над остаточным блоком, когда флаг пропуска преобразования указывает, что пропуск преобразования не применяется к текущему блоку.
8. Способ по п. 7, причем конкретное условие включает в себя то, равен ли 0 флаг первичного преобразования и является ли размер текущего блока меньшим или равным максимальному размеру, к которому применяется пропуск преобразования.
9. Способ по п. 8, причем максимальный размер, к которому применяется пропуск преобразования, определяется в соответствии со слайсом текущего блока.
10. Способ по п. 8, причем конкретное условие дополнительно включает в себя то, является ли текущий блок компонентом цветности.
11. Способ по п. 8, причем конкретное условие дополнительно включает в себя то, является ли слайс текущего блока B-слайсом.
12. Способ по п. 10, причем конкретное условие дополнительно включает в себя то, принадлежит ли размер текущего блока или число пикселов текущего блока конкретному диапазону.
13. Устройство для декодирования сигнала видео, содержащее:
модуль генерирования остаточного блока для генерирования остаточного блока текущего блока путем выполнения энтропийного декодирования и обратного квантования над сигналом видео;
модуль анализа флага пропуска преобразования для анализа флага пропуска преобразования, указывающего, применяется ли пропуск преобразования к текущему блоку, когда размер текущего блока меньше, чем предопределенный первый размер;
модуль анализа флага первичного преобразования для определения, следует ли анализировать флаг первичного преобразования, указывающий, применяется ли адаптивное множественное преобразование в качестве первичного преобразования к текущему блоку, и анализа флага первичного преобразования, если определено, что следует анализировать флаг первичного преобразования; и
обратно преобразованный блок преобразования, генерирующий первичный обратно преобразованный блок преобразования текущего блока путем выполнения первичного обратного преобразования для остаточного блока, когда флаг первичного преобразования указывает, что первичное преобразование адаптивного множественного преобразования применяется к текущему блоку.
KR 20160041030 A, 15.04.2016 | |||
KR 20140092799 A, 24.07.2014 | |||
WO 2014002897 A1, 03.01.2014 | |||
RU 2014152112 A, 10.07.2016 | |||
KR 20160035096 A, 30.03.2016. |
Авторы
Даты
2020-04-23—Публикация
2017-12-27—Подача