ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способу и устройству для кодирования/декодирования изображений.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
С ростом популярности сети Интернет и портативных терминалов, а также с развитием информационно-коммуникационных технологий использование мультимедийных данных быстро растет. Следовательно, для выполнения различных сервисов или задач посредством предсказания изображений в различных системах значительно возрастает необходимость улучшения производительности и эффективности системы обработки изображений. Однако в этой ситуации результаты исследований и разработок являются недостаточными.
Таким образом, в способе и устройстве для кодирования изображений/декодирования изображений в известном уровне техники необходимо улучшить обработку изображений, особенно должна быть улучшена производительность кодирования изображений или декодирования изображений.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Цель настоящего изобретения заключается в повышении эффективности кодирования/декодирования посредством адаптивного разделения блока.
Цель настоящего изобретения заключается в повышении эффективности кодирования/декодирования посредством внутреннего предсказания на основе матрицы.
В настоящем изобретении представлены способ и устройство для определения исходной выборки и матрицы для внутреннего предсказания на основе матрицы.
В настоящем изобретении представлены способ и устройство для осуществления понижающей выборки и повышающей выборки внутреннего предсказания на основе матрицы.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
В соответствии со способом и устройством для обработки видеосигналов согласно настоящему изобретению определяют режим внутреннего предсказания текущего блока, определяют исходную выборку, используемую для внутреннего предсказания текущего блока, определяют предварительно определенную матрицу на основании режима внутреннего предсказания и предсказывают текущий блок на основании исходной выборки и матрицы.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению определение исходной выборки может включать следующие операции. Определяют соседнюю область текущего блока и осуществляют понижающую выборку в определенной соседней области.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению соседнюю область разделяют на множество групп выборок. Группа выборок содержит одну или более выборок. Репрезентативное значение группы выборок определяют в качестве исходной выборки. Репрезентативное значение может быть одним из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению матрицу определяют посредством дополнительного рассмотрения информации о кодировании текущего блока. Информация о кодировании содержит размер и форму текущего блока и угол или направленность режима внутреннего предсказания.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению операция предсказания текущего блока может включать следующую операцию. Генерируют блок предсказания посредством применения матрицы к исходной выборке.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют перестановку всех или части выборок предсказания сгенерированного блока предсказания.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют интерполяцию в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком.
ПРЕИМУЩЕСТВЕННЫЕ ЭФФЕКТЫ
Согласно настоящему изобретению эффективность кодирования/декодирования может быть увеличена посредством сегментирования блока с древовидной структурой.
Согласно настоящему изобретению эффективность кодирования/декодирования может быть увеличена посредством внутреннего предсказания на основе матрицы.
Согласно настоящему изобретению эффективность кодирования/декодирования может быть увеличена посредством осуществления понижающей выборки или повышающей выборки, используемой для внутреннего предсказания на основе матрицы.
ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
На фиг. 1 изображена структурная схема устройства для кодирования согласно варианту осуществления настоящего изобретения.
На фиг. 2 изображена структурная схема устройства для декодирования согласно варианту осуществления настоящего изобретения.
На фиг. 3 изображены типы разделения блоков согласно варианту осуществления настоящего изобретения.
На фиг. 4 изображен способ сегментирования блока на основе древовидной структуры согласно варианту осуществления настоящего изобретения.
На фиг. 5 изображен процесс выполнения внутреннего предсказания в отношении текущего блока на основании матрицы согласно варианту осуществления настоящего изобретения.
На фиг. 6 изображен способ определения исходной выборки посредством осуществления понижающей выборки в отношении соседней области согласно варианту осуществления настоящего изобретения.
На фиг. 7 изображен способ осуществления понижающей выборки на основании взвешенного среднего согласно варианту осуществления настоящего изобретения.
На фиг. 8 изображены разделение первой выборки предсказания и способ интерполяции оставшихся областей согласно варианту осуществления настоящего изобретения.
На фиг. 9 изображено взвешенное значение для расстояния, присвоенное в операции интерполяции, согласно варианту осуществления настоящего изобретения.
На фиг. 10 изображена последовательность операций интерполяции согласно варианту осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
В соответствии со способом и устройством для обработки видеосигналов согласно настоящему изобретению определяют режим внутреннего предсказания текущего блока, определяют исходную выборку, используемую для внутреннего предсказания текущего блока, определяют предварительно определенную матрицу на основании режима внутреннего предсказания и предсказывают текущий блок на основании исходной выборки и матрицы.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению определение исходной выборки может включать следующие операции. Определяют соседнюю область текущего блока и осуществляют понижающую выборку в определенной соседней области.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению соседнюю область разделяют на множество групп выборок. Группа выборок содержит одну или более выборок. Репрезентативное значение группы выборок определяют в качестве исходной выборки. Репрезентативное значение может быть одним из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению матрицу определяют посредством дополнительного рассмотрения информации о кодировании текущего блока. Информация о кодировании содержит размер и форму текущего блока и угол или направленность режима внутреннего предсказания.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может включать следующую операцию. Генерируют блок предсказания посредством применения матрицы к исходной выборке.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют перестановку всех или части выборок предсказания сгенерированной выборки предсказания.
В способе и устройстве для обработки видеосигнала согласно настоящему изобретению предсказание текущего блока может дополнительно включать следующую операцию. Выполняют интерполяцию в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком.
Настоящее изобретение могут различным образом изменять и модифицировать, и настоящее изобретение может иметь различные варианты осуществления. Конкретные варианты осуществления показаны на графических материалах и подробно описаны. Однако следует понимать, что эти конкретные варианты осуществления не предназначены для ограничения настоящего изобретения в конкретных способах реализации, а толкуются как включающие все модификации, эквиваленты или замены, которые относятся к сущности и техническому объему настоящего изобретения. При описании каждого графического материала одинаковые ссылочные позиции относятся к одинаковым составляющим элементам.
Несмотря на то, что термины «первый», «второй» и т. д. могут использоваться для описания составляющих элементов, эти составляющие элементы не должны ограничиваться этими терминами. Эти термины используются только для того, чтобы отличать один составляющий элемент от другого составляющего элемента. Например, первый составляющий элемент может быть назван вторым составляющим элементом, и подобным образом второй элемент может быть назван первым элементом без отступления от идей настоящего изобретения. Термин «и/или» относится к комбинациям множества связанных перечисленных объектов или любому из множества связанных перечисленных объектов.
Следует понимать, что когда определенный составляющий элемент называется «соединенным» или «связанным» с другим составляющим элементом, составляющий элемент может быть непосредственно соединен или связан с другим элементом. Также могут присутствовать другие составляющие элементы между этим составляющим элементом и другим составляющим элементом. Напротив, когда определенный составляющий элемент называется «непосредственно соединенным» или «непосредственно связанным» с другим составляющим элементом, между этим составляющим элементом и другим составляющим элементом отсутствуют другие составляющие элементы.
Терминология, используемая в данном документе, предназначена только для целей описания конкретных вариантов осуществления и не предназначена для ограничения настоящего изобретения. Если другие значения явным образом не выражены в тексте, формы единственного числа включают в себя формы множественного числа. В настоящем описании также следует понимать, что термины «содержать» или «иметь» указывают на наличие перечисленных признаков, положительных целых чисел, этапов, операций, составляющих элементов, компонентов или их комбинаций, которые описаны в описании, но не исключают присутствия или добавления одного или более других признаков, положительных целых чисел, этапов, операций, элементов, компонентов и/или их групп.
Если отсутствует другое определение, все термины, включая технические или научные термины, имеют то же самое значение, что и значение, являющееся общепонятным для специалистов в данной области техники. Термины, определенные в широко используемых словарях, должны интерпретироваться как соответствующие значениям в соответствующих технических документах. Если они четко не определены в настоящем описании, их значения не должны интерпретироваться как идеальные или чрезмерно формальные.
Далее предпочтительные примерные варианты осуществления настоящего изобретения будут подробно описаны со ссылкой на прилагаемые графические материалы. Подобные ссылочные позиции на графических материалах относятся к подобным составляющим элементам по всему документу, и излишние описания подобных составляющих элементов будут опущены в данном документе.
На фиг. 1 изображена структурная схема устройства для кодирования согласно варианту осуществления настоящего изобретения.
Как показано на фиг. 1, устройство 100 для кодирования содержит часть 110 для разделения изображений, части 120 и 125 для предсказания, часть 130 для преобразования, часть 135 для квантования, часть 160 для перестановки, часть 165 для энтропийного кодирования, часть 140 для обратного квантования, часть 145 для обратного преобразования, часть 150 для фильтрации и запоминающее устройство 155.
Каждая из составных частей, показанных на фиг. 1, показана отдельно для представления разных характеристических функций в устройстве для кодирования изображений, и это может показывать, что каждая составная часть представлена отдельным аппаратным средством. Однако для простоты описания каждая составная часть указана в качестве отдельной составной части и включена. По меньшей мере две составные части во всех составных частях могут составлять одну составную часть, или одна составная часть может быть разделена на несколько составных частей для выполнения функций. Такие исчерпывающие варианты осуществления и отдельные варианты осуществления каждой составной части при условии, что они не отступают от сущности настоящего изобретения, также включены в объем прав по настоящему изобретению.
Некоторые составляющие элементы могут быть необязательными составляющими элементами только для улучшения производительности и могут не быть обязательными составляющими элементами для выполнения важных функций в настоящем изобретении. Настоящее изобретение может быть реализовано посредством включения только составных частей, которые являются важными для варианта осуществления настоящего изобретения, за исключением составных частей, используемых только для улучшения производительности. Структура, содержащая только важные составные части, за исключением видимых составных частей, используемых только для улучшения производительности, входит в объем настоящего изобретения.
Часть 110 для разделения изображений может разделять входное изображение на по меньшей мере один блок. В это время блок может представлять собой узел кодирования (CU), узел предсказания (PU) или узел преобразования (TU). Разделение может быть выполнено на основе по меньшей мере одного из следующего: четверичное дерево, двоичное дерево и троичное дерево. Четверичное дерево представляет собой метод разделения верхнего блока на нижние блоки, имеющие половину ширины и высоты верхнего блока, методом четверичного разделения. Двоичное дерево представляет собой метод разделения верхнего блока на нижние блоки, имеющие по меньшей мере одно из ширины или высоты половины верхнего блока, методом двоичного разделения. При разделении методом двоичного дерева блок может иметь не только форму квадрата, но и форму, отличную от квадрата, посредством разделения на основе приведенного выше двоичного дерева и иметь высоту половины верхнего блока.
Далее в вариантах осуществления настоящего изобретения узел кодирования может представлять собой узел для выполнения кодирования и также может представлять собой узел для выполнения декодирования.
Части 120 и 125 для предсказания могут содержать часть 120 для предсказания, осуществляемого между изображениями, для выполнения предсказания, осуществляемого между изображениями, и часть 125 для внутреннего предсказания для выполнения внутреннего предсказания. Определяют, какое из предсказания, осуществляемого между изображениями, и внутреннего предсказания выполняется в узле предсказания, и может быть определена конкретная информация (например, режим внутреннего предсказания, вектор движения, опорное изображение и т. п.) согласно каждому способу предсказания. В настоящем документе блок обработки для выполнения предсказания может отличаться от блока обработки для определения способа предсказания и конкретного содержимого. Например, способ предсказания, режим предсказания и т. п. может быть определен узлом предсказания, и предсказание также может быть выполнено узлом преобразования. Остаточное значение (остаточный блок) между сгенерированным блоком предсказания и первоначальным блоком может быть введено в часть 130 для преобразования. В дополнение, в части 165 для энтропийного кодирования информация о режиме предсказания, информация о векторе движения и т. п., которые используются для предсказания, могут быть закодированы вместе с остаточным значением и переданы на устройство для декодирования. Когда используется конкретный режим кодирования, первоначальный блок также может быть закодирован первоначальным способом и передан на часть для декодирования без необходимости генерирования блока предсказания посредством частей 120 и 125 для предсказания.
Часть 120 для предсказания, осуществляемого между изображениями, может предсказывать узел предсказания на основании информации о по меньшей мере одном из изображения, предшествующего текущему изображению, или изображения, следующего за текущим изображением, и также может предсказывать узел предсказания на основании информации о некоторых областях кодирования в текущем изображении согласно ситуации. Узел 120 предсказания, осуществляемого между изображениями, может содержать часть для интерполяции опорного изображения, часть для предсказания движения и часть для компенсации движения.
В части для интерполяции опорного изображения информация об опорном изображении предоставляется посредством запоминающего устройства 155, и для опорного изображения может генерироваться информация о пикселях, которые меньше или равны целочисленному пикселю. Для пикселя яркости с целью генерирования информации о пикселях, которые меньше или равны целочисленному пикселю в элементе 1/4 пикселя, могут использовать 8-отводный интерполяционный фильтр на основе DCT с разными коэффициентами фильтра. Для сигналов цветности с целью генерирования информации о пикселях, которые меньше или равны целочисленному пикселю в элементе 1/8 пикселя, могут использовать 4-отводный интерполяционный фильтр на основе DCT с разными коэффициентами фильтра.
Часть для предсказания движения может осуществлять предсказание движения на основании опорного изображения, интерполированного частью для интерполяции опорного изображения. Различные способы, такие как алгоритм сопоставления блоков на основе полного поиска (FBMA), трехступенчатый поиск (TSS), алгоритм нового трехступенчатого поиска (NTS) и т. п., могут использоваться для вычисления вектора движения. Вектор движения может иметь значение вектора движения в элементах 1/2 или 1/4 пикселя на основе интерполированного пикселя. Часть для предсказания движения может предсказывать текущий узел предсказания посредством разных способов предсказания движения. Различные способы, такие как способ пропуска, способ слияния, способ усовершенствованного предсказания вектора движения (AMVP) и т. п., могут использоваться в качестве способа предсказания движения.
Часть 125 для внутреннего предсказания может генерировать узел предсказания на основании информации об опорных пикселях, соседних с текущим блоком, причем информация об опорных пикселях, соседних с текущим блоком, представляет собой информацию о пикселях в текущем изображении. Поскольку соседний блок текущего узла предсказания представляет собой блок, для которого выполнено предсказание, осуществляемое между изображениями, когда опорные пиксели представляют собой пиксели, для которых выполнено предсказание, осуществляемое между изображениями, информация об опорных пикселях, содержащихся в блоке, для которого выполнено предсказание, осуществляемое между изображениями, может быть заменена информацией об опорных пикселях соседнего блока, для которого выполнено внутреннее предсказание. То есть, когда опорные пиксели являются недоступными, информация о недоступных опорных пикселях может быть заменена по меньшей мере одним опорным пикселем среди доступных опорных пикселей.
Режим предсказания для внутреннего предсказания может включать режим предсказания, основанный на информации об углах, при котором информация об опорном пикселе используется согласно направлению предсказания, и режим предсказания, не основанный на информации об углах, при котором информация об углах не используется при выполнении предсказания. Режим, используемый для предсказания компонента яркости, и режим, используемый для предсказания компонента цветности, могут отличаться. Компонент цветности может быть предсказан с использованием режима внутреннего предсказания для предсказания компонента яркости или с использованием предсказанного/восстановленного компонента яркости.
Посредством способа внутреннего предсказания можно генерировать блок предсказания после применения адаптивного фильтра внутрикадрового сглаживания (AIS) к опорным пикселям согласно режиму внутреннего предсказания. Типы фильтра AIS, применяемого к опорным пикселям, могут быть разными. Для осуществления способа внутреннего предсказания режим внутреннего предсказания для текущего узла предсказания может быть предсказан из режима внутреннего предсказания узла предсказания, соседнего с текущим узлом предсказания. Когда режим предсказания для текущего узла предсказания предсказывают с использованием информации о режиме, предсказанной из соседнего узла предсказания, если режим внутреннего предсказания для текущего узла предсказания является таким же, как и режим для соседнего узла предсказания, информация о предварительно определенном флаге может использоваться для передачи информации, указывающей, что режим внутреннего предсказания текущего узла предсказания является таким же, как и режим соседнего узла предсказания. Если режим внутреннего предсказания текущего узла предсказания отличается от режима соседнего узла предсказания, может выполняться энтропийное кодирование для кодирования информации о режиме внутреннего предсказания текущего блока.
В дополнение, части 120 и 125 для предсказания могут генерировать информацию об остаточном значении, включая значение разности между сгенерированным узлом предсказания и первоначальным блоком. Сгенерированный остаточный блок может быть введен в узел 130 преобразования.
Часть 130 для преобразования может использовать преобразование, такое как DCT, DST и т. п., для преобразования остаточного блока, включая остаточные данные. В данном документе тип преобразования может быть определен на основании режима внутреннего предсказания узла предсказания, используемого для генерирования остаточного блока.
Часть 135 для квантования может выполнять квантование в отношении значения, преобразованного в частотную область посредством части 130 для преобразования. Коэффициент квантования может изменяться в зависимости от блока или важности изображения. Значение, вычисленное из части 135 для квантования, может быть предоставлено в часть 140 для обратного квантования и часть 160 для перестановки.
Часть 160 для перестановки может выполнять перестановку в отношении значения коэффициента для квантованного остаточного блока. Часть 160 для перестановки может изменять коэффициенты двумерной блочной формы на одномерную векторную форму посредством способа сканирования коэффициентов. Например, часть 160 для перестановки может использовать предварительно определенный тип сканирования для сканирования от коэффициента DC до коэффициента в области высоких частот для его изменения на одномерную векторную форму.
Часть 165 для энтропийного кодирования может выполнять энтропийное кодирование на основании значения, вычисленного частью 160 для перестановки. Различные способы кодирования, такие как кодирование экспоненциальным способом Голомба, контекстно-адаптивное кодирование с переменной длиной слова (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т. п., могут использоваться для энтропийного кодирования.
Часть 165 для энтропийного кодирования может осуществлять кодирование различной информации, такой как информация об остаточном коэффициенте и информация о типе блока узла кодирования, информация о режиме предсказания, информация об узле разделения, информация об узле предсказания и информация об узле преобразования, информация о векторе движения, информация об опорном изображении, информация об интерполяции блока, информация о фильтрации и т. п., из части 160 для перестановки и частей 120 и 125 для предсказания.
Часть 165 для энтропийного кодирования может выполнять энтропийное кодирование в отношении значения коэффициента узла кодирования, вводимого из части 160 для перестановки.
Часть 140 для обратного квантования и часть 145 для обратного преобразования выполняют обратное квантование в отношении значения, квантованного посредством части 135 для квантования, и выполняют обратное преобразование в отношении значения, преобразованного частью 130 для преобразования. Остаточное значение, сгенерированное частью 140 для обратного квантования и частью 145 для обратного преобразования, может быть объединено с предсказанным узлом предсказания посредством части для анализа движения, части для компенсации движения и части для внутреннего предсказания, включенных в части 120 и 125 для предсказания, для генерирования восстановленного блока.
Часть 150 для фильтрации может содержать по меньшей мере одно из следующего: деблочный фильтр, часть для коррекции смещения и адаптивный контурный фильтр (ALF).
Деблочный фильтр может устранять искажение блока, вызванного границей между блоками в восстановленном изображении. Определение того, следует ли выполнять удаление блочности, применяется ли деблочный фильтр к текущему блоку, осуществляют на основании пикселей, содержащихся в нескольких столбцах или строках, содержащихся в блоке. Когда деблочный фильтр применяется к блоку, может применяться сильный фильтр или слабый фильтр согласно необходимой степени фильтрации для удаления блочности. В дополнение, при применении деблочного фильтра и выполнения вертикальной фильтрации и горизонтальной фильтрации, вертикальная фильтрация и горизонтальная фильтрация могут осуществляться одновременно.
Часть для коррекции смещения может корректировать смещение первоначального изображения в элементе пикселя для изображения, с которого была удалена деблочность. Для выполнения корректировки смещения для конкретного изображения применяют способ, в котором после разделения содержащихся в изображении пикселей на определенное количество областей определяют область, подлежащую смещению, и применяют смещение к области, или применяют способ, в котором используют соответствующее смещение в соответствии с информацией о крае каждого пикселя.
Адаптивная контурная фильтрация (ALF) может осуществляться на основании значения сравнения между фильтрованным восстановленным изображением и первоначальным изображением. После разделения пикселей, содержащихся в изображении, на предварительно определенные группы определяется фильтр, подлежащий применению к данной группе, и фильтрация может осуществляться для каждой группы по-разному. Для получения информации о том, применять ли ALF, каждый узел кодирования (CU) может передавать сигналы яркости, и форма и коэффициент фильтра ALF, подлежащего применению, могут быть изменены в соответствии с каждым блоком. В дополнение, фильтр ALF той же формы (фиксированной формы) может применяться независимо от характеристик применяемого блока.
Запоминающее устройство 155 может хранить восстановленные блоки или изображения, вычисленные частью 150 для фильтрации, и хранимые восстановленные блоки или изображения могут быть предоставлены в части 120 и 125 для предсказания при выполнении предсказания, осуществляемого между изображениями.
На фиг. 2 изображена структурная схема устройства для декодирования согласно варианту осуществления настоящего изобретения.
Как показано на фиг. 2, устройство 200 для декодирования может содержать часть 210 для энтропийного декодирования, часть 215 для перестановки, часть 220 для обратного квантования, часть 225 для обратного преобразования, части 230 и 235 для предсказания, часть 240 для фильтрации и запоминающее устройство 245.
Каждая из составных частей, показанных на фиг. 2, показана отдельно для представления разных характеристических функций в устройстве для декодирования, и это может показывать, что каждая составная часть представлена отдельным аппаратным средством. Однако для простоты описания каждая составная часть указана в качестве отдельной составной части и включена. По меньшей мере две составные части во всех составных частях могут составлять одну составную часть, или одна составная часть может быть разделена на несколько составных частей для выполнения функций. Такие исчерпывающие варианты осуществления и отдельные варианты осуществления каждой составной части при условии, что они не отступают от сущности настоящего изобретения, также включены в объем прав по настоящему изобретению.
Часть 210 для энтропийного декодирования может выполнять энтропийное декодирование в отношении входного битового потока. Например, для выполнения энтропийного декодирования могут применяться различные способы, такие как кодирование экспоненциальным способом Голомба, контекстно-адаптивное кодирование с переменной длиной слова (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т. п.
Часть 210 для энтропийного декодирования может выполнять декодирование в отношении информации, связанной с внутренним предсказанием и предсказанием, осуществляемым между изображениями, выполняемыми устройством для кодирования.
Часть 215 для перестановки может выполнять перестановку в отношении битового потока, декодированного энтропийным образом частью 210 для энтропийного декодирования. Коэффициент, представленный одномерной векторной формой, может быть восстановлен до коэффициента двумерной блочной формы для выполнения перестановки. Часть 215 для перестановки может принимать информацию относительно сканирования коэффициента, выполненного устройством для кодирования, и может выполнять перестановку посредством выполнения обратного сканирования на основании порядка сканирования, выполняемого устройством для кодирования.
Часть 220 для обратного квантования может выполнять обратное квантование на основании параметра квантования и значения коэффициента перестроенного блока.
Часть 225 для обратного преобразования может выполнять обратное преобразование в отношении коэффициента преобразования для обратного квантования согласно предварительно определенному типу преобразования. В данном документе тип преобразования может быть определен на основании информации по меньшей мере об одном из следующих элементов: режим предсказания (предсказание, осуществляемое между изображениями/внутреннее предсказание), размер/форма блока, режим внутреннего предсказания, тип компонента (компонент яркости/цветности), тип разделения (QT, BT, TT и т. д.) и т. п.
Части 230 и 235 для предсказания могут генерировать связанную информацию на основании блока предсказания, предусмотренного в части 210 для энтропийного декодирования, и генерировать блок предсказания на основании информации ранее декодированного блока или изображения, предоставленного запоминающим устройством 245.
Части 230 и 235 для предсказания могут содержать часть для определения узла предсказания, часть для предсказания, осуществляемого между изображениями, и часть для внутреннего предсказания. Часть для определения узла предсказания может принимать различную информацию, такую как информация об узле предсказания, введенная частью 210 для энтропийного декодирования, информация, связанная с режимом внутреннего предсказания способа внутреннего предсказания, информация, связанная с предсказанием движения способа предсказания, осуществляемого между изображениями, и т. п. Текущий узел кодирования (CU) выделяет узел предсказания и определяет, какое из предсказания, осуществляемого между изображениями, и внутрикадрового предсказания осуществляется в отношении узла предсказания. Часть 230 для предсказания, осуществляемого между изображениями, может использовать информацию, требуемую для предсказания, осуществляемого между изображениями, текущего узла предсказания, предоставленную устройством для кодирования, и выполнять предсказание, осуществляемое между изображениями, для текущего узла предсказания на основании информации, содержащейся в по меньшей мере одном из изображения, предшествующего текущему изображению, или изображения, следующего за текущим изображением, включая текущий узел предсказания. Или предсказание, осуществляемое между изображениями, также может выполняться в текущем изображении, содержащем текущий узел предсказания, на основании информации о некоторых из восстановленных областей. Для этой цели некоторые из восстановленных областей могут добавляться в список опорных изображений.
Для выполнения предсказания, осуществляемого между изображениями, можно определять на основании узла кодирования, является ли способ предсказания движения для узла предсказания, содержащегося в узле кодирования, режимом пропуска, режимом слияния, режимом AMVP и исходным режимом для текущего изображения.
Часть 235 для внутреннего предсказания может генерировать блок предсказания на основании информации о пикселях в текущем изображении. Когда узел предсказания представляет собой узел предсказания, для которого выполнено внутреннее предсказание, внутреннее предсказание может выполняться на основании информации о режиме внутреннего предсказания узла предсказания, предоставленного устройством для кодирования. Часть 235 для внутреннего предсказания может содержать адаптивный фильтр внутрикадрового сглаживания (AIS), часть для интерполяции опорного пикселя и фильтр DC. В качестве компонента для фильтрации опорных пикселей текущего блока фильтр AIS может определять, применять ли фильтр, согласно режиму предсказания текущего узла предсказания. Режим предсказания узла предсказания, предоставленного устройством для кодирования, и информация о фильтре AIS могут использоваться для выполнения фильтрации AIS в отношении опорных пикселей текущего блока. Когда режим предсказания текущего блока представляет собой режим, не выполняющий фильтрацию AIS, фильтр AIS может не применяться.
Когда режим предсказания узла предсказания представляет собой режим предсказания, в котором внутреннее предсказание выполняется на основании значения пикселей, полученного посредством выполнения интерполяции в отношении опорных пикселей, часть для интерполяции опорного пикселя может интерполировать опорные пиксели для генерирования опорных пикселей в элементе, меньшем чем целочисленное значение. Когда режим предсказания текущего узла предсказания представляет собой режим предсказания, в котором блок предсказания генерируется без интерполяции опорных пикселей, интерполяция может не выполняться в отношении опорных пикселей. Когда режим предсказания текущего блока представляет собой режим DC, фильтр DC может генерировать блок предсказания посредством фильтрации.
Восстановленный блок или изображение могут быть предоставлены в часть 240 для фильтрации. Часть 240 для фильтрации может содержать деблочный фильтр, часть для коррекции смещения и ALF.
Информация, относящаяся к тому, применять ли деблочный фильтр к блоку или изображению, может приниматься от устройства для кодирования. Когда применяется деблочный фильтр, принимается информация, относящаяся к тому, применять ли сильный фильтр или слабый фильтр. Информация, связанная с деблочным фильтром, предоставленная устройством для кодирования, может приниматься деблочным фильтром устройства для декодирования, и фильтрация для удаления блочности может выполняться в отношении блока устройством для декодирования.
При выполнении кодирования часть для коррекции смещения может выполнять коррекцию смещения в отношении восстановленного изображения на основании информации о типе коррекции смещения и значении смещения, применяемого к изображению.
ALF может применяться к узлу кодирования на основании информации о том, применялся ли ALF, информации о коэффициенте ALF и т. п., предоставленной кодером. Информация об ALF такого типа может предоставляться путем включения в набор конкретных параметров.
Запоминающее устройство 245 может хранить восстановленные изображения или блоки в качестве опорных изображений или опорных блоков и может предоставлять восстановленные изображения на часть вывода.
На фиг. 3 изображены типы разделения блоков согласно варианту осуществления настоящего изобретения.
Как показано на фиг. 3, блоки a–s могут быть получены согласно настройке разделения и методу разделения, и также могут быть получены формы дополнительных блоков, которые не показаны.
В качестве примера (1) для древовидного разделения может быть разрешено асимметричное разделение. Например, для двоичного дерева это может быть блок, такой как b или c, или это также может быть блок, такой как b~g. Когда флаг, разрешающий асимметричное разделение, не активирован в явном виде или в неявном виде согласно настройке кодирования/декодирования, доступный кандидатный блок может представлять собой b или c. Когда флаг, разрешающий асимметричное разделение, активирован, доступный кандидатный блок может представлять собой b, d, e (горизонтальное разделение в этом примере) или c, f, g (вертикальное разделение в этом примере).
В примере предполагается, что соотношение длин левого блока и правого блока или верхнего блока и нижнего блока при асимметричном разделении составляет 1:3 или 3:1, что этим не ограничено. Группа кандидатов с другими соотношениями (например, 1:2, 1:4, 2:3, 2:5, 3:5 и т. д.) также может существовать согласно настройке кодирования.
Далее представлены различные примеры информации о разделении, сгенерированной при разделении на основе двоичного дерева (группа кандидатов с соотношением 1:1, 1:3 и 3:1 в этом примере).
Например, в дополнение к флагу, указывающему, следует ли выполнять разделение, и флагу, указывающему направление разделения, также может быть сгенерирован флаг, указывающий тип разделения. В данном документе тип разделения может указывать на симметричное разделение или асимметричное разделение. Когда в качестве типа разделения определено асимметричное разделение, может быть сгенерирован флаг, указывающий соотношение разделения, и может быть присвоен индекс согласно предварительной установке. Если соотношение разделения 1:3 или 3:1 поддерживается в качестве группы кандидатов, соотношение разделения может быть выбрано посредством 1-битового флага.
Альтернативно в дополнение к флагу, указывающему, следует ли выполнять разделение, и флагу, указывающему направление разделения, также может быть сгенерирован флаг, указывающий соотношение разделения. В примере в качестве группы кандидатов для соотношения разделения может быть включен кандидат с симметричным отношением 1:1.
В настоящем изобретении предполагается (когда активируется флаг, позволяющий осуществлять асимметричное разделение), что разделение на основе двоичного дерева имеет структуру, упомянутую в предыдущем примере. Если не указано иное, двоичное дерево означает симметричное двоичное дерево.
В качестве примера (2) для древовидного разделения может быть разрешено дополнительное разделение на основе дерева. Например, можно выполнять разделение на основе троичного дерева, четверичного дерева, восьмеричного дерева и т. п., посредством чего может быть получено N блоков разделения (3, 4, 8 и n в этом примере – целые числа). Для троичного дерева поддерживаемый блок (при разделении на несколько блоков в этом примере) может представлять собой h~m. Для четверичного дерева поддерживаемый блок может представлять собой n~p. Для восьмеричного дерева поддерживаемый блок может представлять собой q. Может быть неявным образом определено согласно настройке кодирования/декодирования, следует ли поддерживать древовидное разделение или генерировать в явном виде связанную информацию. В дополнение, согласно настройке кодирования/декодирования оно может использоваться самостоятельно или может использоваться в сочетании с разделением на основе двоичного дерева, четверичного дерева или т. п.
Например, для двоичного дерева могут использоваться блоки, такие как b и c. Когда двоичное дерево и троичное дерево используются вместе (в примере предполагается, что диапазон применения двоичного дерева и диапазон применения троичного дерева частично перекрываются), могут использоваться блоки, такие как b, c, i или l. Когда флаг, позволяющий осуществлять дополнительное разделение, отличное от текущего дерева, деактивирован в явном или неявном виде согласно настройке кодирования/декодирования, доступный кандидатный блок может представлять собой b или c. Когда флаг активирован, доступные кандидатные блоки могут представлять собой b и i или b, h, i и j (горизонтальное разделение в этом примере) или доступные кандидатные блоки могут представлять собой c и l или c, k, l и m (вертикальное разделение в этом примере).
В примере, хотя описано предположение, что соотношение длин левого блока, среднего блока и правого блока или верхнего блока, среднего блока и нижнего блока составляет 2:1:1 или 1:2:1 или 1:1:2 при разбиении на основе троичного дерева, настоящее изобретение этим не ограничено, могут устанавливаться также другие соотношения согласно кодированию.
Далее представлен пример информации о разделении, сгенерированной при разделении на основе троичного дерева (кандидат с соотношением 1:2:1 в этом примере).
Например, в дополнение к флагу, указывающему, следует ли выполнять разделение, и флагу, указывающему направление разделения, также может быть сгенерирован флаг, указывающий тип разделения. В данном документе тип разделения может представлять собой разделение на основе двоичного дерева или разделение на основе троичного дерева.
В настоящем изобретении может применяться настройка адаптивного кодирования/декодирования согласно методу разделения.
К примеру, метод разделения может быть определен согласно типу блока. Например, метод разделения на основе четверичного дерева может использоваться для блока кодирования и блока преобразования, и методы четверичного дерева и двоичного дерева (или троичного дерева и т. д.) могут использоваться для блока предсказания.
К примеру, метод разделения может быть определен согласно размеру блока. Например, метод разделения на основе четверичного дерева может использоваться для некоторых диапазонов между максимальным значением и минимальным значением блока (например, a×b~c×d, когда последнее больше). В некоторых диапазонах (например, e×f~g×h) может выполняться разделение на основе двоичного дерева (или троичного дерева и т. д.). В данном документе информация о диапазоне согласно методу разделения может быть в явном виде сгенерирована или может быть в неявном виде определена, и она также может использоваться, когда эти диапазоны перекрываются.
К примеру, метод разделения может быть определен согласно форме блока (или блока до выполнения разделения). Например, когда блок имеет квадратную форму, может выполняться разделение на основе четверичного дерева и двоичного дерева (или троичного дерева и т. д.). Альтернативно, когда блок имеет прямоугольную форму, может выполняться разделение на основе двоичного дерева (или троичного дерева и т. д.).
К примеру, настройка разделения может быть определена согласно типу блока. Например, в древовидном разделении блок кодирования и блок предсказания могут использовать разделение на основе четверичного дерева, и блок преобразования может использовать разделение на основе двоичного дерева. Альтернативно допустимая глубина разделения для блока кодирования может быть установлена как m, допустимая глубина разделения для блока предсказания может быть установлена как n, и допустимая глубина разделения для блока преобразования может быть установлена как o, и m, n и o могут быть одинаковыми или разными.
К примеру, настройка разделения может быть определена согласно размеру блока. Например, разделение на основе четверичного дерева может использоваться в некоторых диапазонах блока (например, a×b~c×d), разделение на основе двоичного дерева может использоваться в некоторых диапазонах (например, e×f~g×h; предполагается, что c×d больше, чем g×h, в этом примере), и разделение на основе троичного дерева может использоваться в некоторых диапазонах (например, i×j~k×l; в этом примере предполагается, что g×h больше или равно k×l). В данном документе диапазоны могут включать все диапазоны от максимального значения блока до минимального значения блока, и диапазоны могут иметь настройки, которые не перекрываются, или настройки, которые перекрываются. Например, минимальное значение некоторых диапазонов может быть таким же, как и максимальное значение некоторых диапазонов, или минимальное значение некоторых диапазонов может быть меньше максимального значения некоторых диапазонов. Если диапазоны перекрываются, метод разделения с большим максимальным значением может быть в порядке приоритета, или может быть в явном виде сгенерирована информация о том, какой метод разделения следует использовать. То есть, среди методов разделения с порядком приоритета может быть определено, следует ли выполнять метод разделения с меньшим приоритетом согласно результату разделения, или метод разделения, подлежащий использованию, может быть определен согласно информации для выбора метода разделения.
К примеру, настройка разделения может быть определена согласно форме блока. Например, когда блок имеет квадратную форму, может использоваться разделение на основе четверичного дерева. Альтернативно, когда блок имеет прямоугольную форму, для разделения может использоваться двоичное дерево или троичное дерево.
К примеру, настройка разделения может быть определена согласно информации о кодировании/декодировании (например, типе среза, цветовом компоненте, режиме кодирования и т. д.). Например, если типом среза является I, разделение на основе четверичного дерева (или двоичного дерева, троичного дерева) может использоваться в некоторых диапазонах (например, a×b~c×d). Когда типом среза является P, оно может использоваться в некоторых диапазонах (например, e×f~g×h). Когда типом среза является B, оно может использоваться в некоторых диапазонах (например, i×j~k×l). В дополнение, когда типом среза является I, допустимая глубина разделения для разделения на основе четверичного дерева (или разделения на основе двоичного дерева или троичного дерева) может быть установлена как m, когда типом среза является P, допустимая глубина разделения может быть установлена как n, и когда типом среза является B, допустимая глубина разделения может быть установлена как o, при этом m, n и o могут быть одинаковыми или разными. Некоторые типы срезов могут иметь такую же настройку, что и другие срезы (например, срезы P и B).
В качестве других примеров, когда цветовой компонент представляет собой компонент яркости, допустимая глубина разделения четверичного дерева (или двоичного дерева, троичного дерева) может быть установлена как m. Когда цветовой компонент представляет собой компонент цветности, она может быть установлена как n, и при этом m и n могут быть одинаковыми или разными. В дополнение, диапазон разделения (например, a×b~c×d) четверичного дерева (или двоичного дерева, троичного дерева) в случае, когда цветовой компонент представляет собой компонент яркости, может быть таким же или отличным от диапазона разделения (например, e×f~g×h) четверичного дерева (или двоичного дерева, троичного дерева) в случае, когда цветовой компонент представляет собой компонент цветности.
В качестве других примеров, если режим кодирования является внутренним, допустимая глубина разделения четверичного дерева (или двоичного дерева, троичного дерева) может представлять собой m. Когда режим кодирования является межкадровым, она может представлять собой n (предполагается, что n больше m в этом примере), и при этом m и n могут быть одинаковыми или разными. В дополнение, диапазон разделения на основе четверичного дерева (или двоичного дерева, троичного дерева) в случае, если режим кодирования является внутренним, может быть одинаковым или отличным от диапазона разделения на основе четверичного дерева (или двоичного дерева, троичного дерева) в случае, если режим кодирования является межкадровым.
В этом примере информация о том, следует ли поддерживать адаптивную структуру группы кандидатов разделения, которая зависит от информации о кодировании/декодировании, может генерироваться в явном виде или определяться в неявном виде.
Случай определения метода разделения и настройки разделения согласно настройке кодирования/декодирования описан посредством примеров. В примерах показано, что могут присутствовать вариации в других ситуациях на основании некоторых случаев различных факторов. В дополнение, метод разделения и настройка разделения также могут определяться на основании комбинации нескольких факторов. Например, метод разделения и настройка разделения могут быть определены согласно типу, размеру и форме блока, информации о кодировании/декодировании и т. п.
В дополнение, факторы, связанные с методом разделения, настройкой разделения и т. п. в этом примере могут определяться в неявном виде, или информация может генерироваться в явном виде для определения, разрешены ли адаптивные ситуации, как упомянуто в вышеприведенных примерах.
Глубина разделения в настройке разделения указывает на количество пространственных разделений, выполненных на основании исходного блока (глубина разделения исходного блока в этом примере составляет 0). Чем больше глубина разделения, тем меньшие блоки могут быть получены в результате разделения. Настройки, связанные с глубиной, могут устанавливаться иным образом согласно методу разделения. Например, в методе выполнения древовидного разделения глубина разделения двоичного дерева может быть такой же, что и глубина разделения троичного дерева. Глубина разделения четверичного дерева может отличаться от глубины разделения двоичного дерева. Соответствующая глубина может использоваться согласно типу дерева.
В этом примере, когда соответствующая глубина разделения используется согласно типу дерева, глубина разделения для начального положения (блок до выполнения разделения в этом примере) разделения дерева может быть установлена как 0. Глубина разделения может быть вычислена путем принятия в качестве центра положения, в котором первоначально выполняется разделение, а не на основании диапазона разделения (максимального значения в этом примере) каждого дерева.
На фиг. 4 изображен способ сегментирования блока на основе древовидной структуры согласно варианту осуществления настоящего изобретения.
На данной фигуре жирной сплошной линией показан базовый блок кодирования, жирной пунктирной линией показаны границы разделения четверичного дерева, двойной сплошной линией показаны границы разделения симметричного двоичного дерева, сплошной линией показаны границы разделения троичного дерева, и тонкой сплошной линией показаны границы разделения асимметричного двоичного дерева. Линиями, за исключением жирной сплошной линии, показаны границы разделения при различных методах разделения. Настройки разделения, описанные ниже (например, тип разделения, информация о разделении, порядок конфигурации информации о разделении и т. д.), не ограничиваются случаем этого примера, и могут существовать различные измененные примеры.
Для простоты описания описание выполняют с предположением, что верхний левый блок, верхний правый блок, нижний левый блок и нижний правый блок (N×N; 64×64), которые основаны на базовом блоке кодирования (2N×2N; 128×128), имеют собственные настройки разделения блока. Во-первых, предполагают, что 4 подблока уже получены вследствие операции разделения (глубина разделения 0->1; то есть глубину разделения увеличивают на 1) для исходного блока, и для настройки разделения четверичного дерева в случае, когда максимальный блок кодирования составляет 128×128, минимальный блок кодирования составляет 8×8 и максимальная глубина разделения составляет 4, это является обычной настройкой для каждого блока.
(первый; верхние левые блоки; A1~A6)
В этом примере поддерживается метод разделения одного дерева (четверичное дерево в этом примере), размер и форму полученного блока могут быть определены посредством настройки разделения блока, такой как максимальный блок кодирования, минимальный блок кодирования и глубина разделения. В этом примере количество блоков, полученных посредством разделения, составляет один (выполняют деление на две части в горизонтальном и вертикальном направлениях), информация о разделении, необходимая для разового разделения (на основании блока 4M×4N до разделения, глубину разделения увеличивают на 1), представляет собой флаг, указывающий, следует ли выполнять разделение (в этом примере, если равно 0, разделение не выполняют; если равно 1, разделение выполняют), полученные кандидаты могут представлять собой 4M×4N и 2M×2N.
(второй; верхние правые блоки; A7~A11)
В этом примере поддерживается метод разделения на основе нескольких деревьев (четверичных деревьев и двоичных деревьев в этом примере), размер и форма полученного блока могут быть определены посредством настроек разделения нескольких блоков. В этом примере предполагают, что максимальный блок кодирования для двоичного дерева составляет 64×64, длина минимального блока кодирования составляет 4, и максимальная глубина разделения составляет 4.
В этом примере количество блоков, полученных посредством разделения, составляет 2 или более (в этом примере 2 или 4), информация о разделении, необходимая для разового разделения (глубину разделения четверичного дерева увеличивают на 1), представляет собой флаг, указывающий, следует ли выполнять разделение, флаг, указывающий тип разделения, и флаг, указывающий направление разделения. Доступными кандидатами могут являться 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N и 3M×4N/M×4N.
Если диапазон разделения на основе четверичного дерева перекрывается с диапазоном разделения на основе двоичного дерева (то есть диапазоны, при которых можно выполнять разделение на основе четверичного дерева и разделение на основе двоичного дерева на текущем этапе) и текущий блок (состояние перед выполнением разделения) представляет собой блок, полученный посредством разделения на основе четверичного дерева (блоки, полученные посредством разделения на основе четверичного дерева в порождающем блоке < глубина разделения меньше, чем текущая глубина разделения, на 1>), информацию о разделении могут отличать и конфигурировать в следующих случаях. То есть, когда блоки, поддерживаемые согласно различным настройкам разделения, могут быть получены посредством нескольких способов разделения, классификация может быть выполнена следующим образом для генерирования информации о разделении.
(1) Случай, когда разделение на основе четверичного дерева перекрывается с разделением на основе двоичного дерева.
Таблица 1
В таблице «a» представляет собой флаг, указывающий, следует ли выполнять разделение на основе четверичного дерева, и 1 указывает на выполнение разделения на основе четверичного дерева (QT). Если флаг равен 0, определяют флаг b, указывающий, следует ли выполнять разделение на основе двоичного дерева. Если b равен 0, разделение больше не выполняют в отношении блока (нет разбиения). Если b равен 1, выполняют разделение на основе двоичного дерева.
«c» представляет собой флаг, указывающий направление разделения. Если c равен 0, указывают, что выполняют горизонтальное разделение (hor). Если c равен 1, указывают, что выполняют вертикальное разделение (ver). «d» представляет собой флаг, указывающий тип разделения. Если d равен 0, указывают, что выполняют симметричное двоичное дерево (SBT). Если d равен 1, указывают, что выполняют асимметричное двоичное дерево (ABT). Только когда d равен 1, определяют подробную информацию о соотношении разделения (1/4 или 3/4) для асимметричного двоичного дерева. Если d равен 0, в левом/правом блоке или верхнем/нижнем блоке соотношение левого блока и верхнего блока составляет 1/4, и соотношение правого блока и нижнего блока составляет 3/4. Если d равен 1, ситуация является противоположной вышеописанному.
(2) Случай, когда может быть выполнено разделение только на основе двоичного дерева.
В таблице информация о разделении может быть представлена посредством флагов, отличных от a, например b–e.
Для блока A7 на фиг. 4, поскольку разделение на основе четверичного дерева может быть выполнено в отношении блоков (A7~A11) до выполнения разделения (то есть, хотя может быть выполнено разделение на основе четверичного дерева, выполняют разделение на основе двоичного дерева вместо разделения на основе четверичного дерева), это соответствует случаю, в котором информацию о разделении генерируют в пункте (1).
Напротив, для A8–A11, поскольку разделение на основе двоичного дерева вместо разделения на основе четверичного дерева уже было выполнено в отношении блоков (A8~A11) до выполнения разделения (то есть в случае, когда в отношении блоков <A8~A11> больше не может быть выполнено разделение на основе четверичного дерева), это соответствует случаю, в котором информацию о разделении генерируют в пункте (2).
(третье; нижние левые блоки; A12~A15)
В этом примере поддерживается метод разделения на основе нескольких деревьев (четверичного дерева, двоичного дерева и троичного дерева в этом примере), размер и форма полученного блока могут быть определены посредством настроек разделения нескольких блоков. В этом примере предполагают, что максимальный блок кодирования для двоичного дерева/троичного дерева составляет 64×64, длина минимального блока кодирования составляет 4, и максимальная глубина разделения составляет 4.
В этом примере количество блоков, полученных посредством разделения, составляет 2 или более (в этом примере 2, 3 или 4), информация о разделении, необходимая для разового разделения, представляет собой флаг, указывающий, следует ли выполнять разделение, флаг, указывающий тип разделения, и флаг, указывающий направление разделения. Доступным кандидатом может является 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×2N/4M×N и M×4N/2M×4N/M×4N.
Если диапазон разделения на основе четверичного дерева перекрывается с диапазоном разделения на основе двоичного дерева/троичного дерева и текущий блок представляет собой блок, полученный посредством разделения на основе четверичного дерева, информацию о разделении могут отличать и конфигурировать в следующих случаях.
(1) Случай, когда разделение на основе четверичного дерева перекрывается с разделением на основе двоичного дерева/четверичного дерева.
Таблица 2
В таблице «a» представляет собой флаг, указывающий, следует ли выполнять разделение на основе четверичного дерева. Если a равен 1, это указывает на выполнение разделения на основе четверичного дерева. Если флаг равен 0, определяют флаг b, указывающий, следует ли выполнять разделение на основе двоичного дерева или разделение на основе троичного дерева. Если b равен 0, разделение больше не выполняют в отношении блока. Если b равен 1, выполняют разделение на основе двоичного дерева или разделение на основе троичного дерева.
«c» представляет собой флаг, указывающий направление разделения, причем если c равен 0, указывают, что выполняют горизонтальное разделение. Если c равен 1, указывают, что выполняют вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения. Если d равен 0, указывают, что выполняют разделение на основе двоичного дерева (BT). Если d равен 1, указывают, что выполняют разделение на основе троичного дерева (TT).
(2) Случай, когда может быть выполнено разделение только на основе двоичного дерева.
В таблице информация о разделении может быть представлена посредством флагов, отличных от a, например b–d.
Для блоков A12 и A15 на фиг. 4, поскольку разделение на основе четверичного дерева может быть выполнено в отношении блоков A12~A15 до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (1).
Напротив, для блоков A13 и A14, поскольку разделение на основе троичного дерева вместо разделения на основе четверичного дерева уже было выполнено в отношении блоков (A13 и A14) до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (2).
(четвертое; нижние левые блоки; A16~A20)
В этом примере поддерживается метод разделения на основе нескольких деревьев (четверичного дерева, двоичного дерева и троичного дерева в этом примере), размер и форма полученного блока могут быть определены посредством настроек разделения нескольких блоков. В этом примере предполагают, что максимальный блок кодирования для двоичного дерева/троичного дерева составляет 64×64, длина минимального блока кодирования составляет 4, и максимальная глубина разделения составляет 4.
В этом примере количество блоков, полученных посредством разделения, составляет 2 или более (в этом примере 2, 3 или 4), информация о разделении, необходимая для разового разделения, представляет собой флаг, указывающий, следует ли выполнять разделение, флаг, указывающий тип разделения, и флаг, указывающий направление разделения. Доступным кандидатом могут являться 4M×4N, 4M×2N, 2M×4N, 4M×N/4M×3N, 4M×3N/4M×N, M×4N/3M×4N, 3M×4N/M×4N, 4M×N/4M×2N/4M×N и M×4N/2M×4N/M×4N.
Если диапазон разделения на основе четверичного дерева перекрывается с диапазоном разделения на основе двоичного дерева/троичного дерева и текущий блок представляет собой блок, полученный посредством разделения на основе четверичного дерева, информацию о разделении могут отличать и конфигурировать в следующих случаях.
(1) Случай, когда разделение на основе четверичного дерева перекрывается с разделением на основе двоичного дерева/троичного дерева.
Таблица 3
В таблице «a» представляет собой флаг, указывающий, следует ли выполнять разделение на основе четверичного дерева. Если a равен 1, это указывает на выполнение разделения на основе четверичного дерева (QT). Если флаг равен 0, определяют флаг b, указывающий, следует ли выполнять разделение на основе двоичного дерева. Если b равен 0, разделение больше не выполняют в отношении блока. Если b равен 1, выполняют разделение на основе двоичного дерева или разделение на основе троичного дерева.
«c» представляет собой флаг, указывающий направление разделения. Если c равен 0, указывают, что выполняют горизонтальное разделение. Если c равен 1, указывают, что выполняют вертикальное разделение. «d» представляет собой флаг, указывающий тип разделения. Если d равен 0, указывают, что выполняют разделение на основе троичного дерева. Если d равен 1, указывают, что выполняют разделение на основе двоичного дерева. Если d равен 1, определяют флаг e, указывающий тип разделения. Симметричное разделение на основе двоичного дерева выполняют, когда e равен 0. Асимметричное разделение на основе двоичного дерева выполняют, когда e равен 1. Если e равен 1, определяют информацию о подробном соотношении разделения при асимметричном разделении на основе двоичного дерева, которая является такой же, что и в предыдущем примере.
(2) Случай, когда может быть выполнено разделение только на основе двоичного дерева.
В таблице информация о разделении может быть представлена посредством флагов, отличных от a, например b–f.
Поскольку блок A20 на фиг. 4 относится к случаю, когда разделение на основе четверичного дерева может быть выполнено в отношении блоков (A16~A19) до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (1).
Напротив, для блоков A16-A19, поскольку разделение на основе двоичного дерева вместо разделения на основе четверичного дерева уже выполнили в отношении блоков (A16-A19) до выполнения разделения, это относится к случаю, когда информацию о разделении генерируют в пункте (2).
На фиг. 5 изображен процесс выполнения внутреннего предсказания в отношении текущего блока на основании матрицы согласно варианту осуществления настоящего изобретения.
Как показано на фиг. 5, определяют режим внутреннего предсказания, используемый для внутреннего предсказания текущего блока.
Когда внутреннее предсказание выполняют в отношении текущего блока, устройство для кодирования/декодирования может определять режим внутреннего предсказания. Текущий блок может представлять собой блок кодирования (CU), блок предсказания (PU), блок преобразования (TU) или любой из этих подблоков.
(Вариант осуществления 1) Режим внутреннего предсказания может быть определен на основании информации о переданном сигнале. Информация может обозначать любой из N режимов внутреннего предсказания, предварительно заданных в устройстве для кодирования/декодирования. Предварительно заданный режим внутреннего предсказания указывает на все режимы внутреннего предсказания текущего блока, которые могут быть использованы. N может представлять собой натуральное число, меньшее или равное 67 и большее или равное 11 (например, 67, 35 и 11). В дополнение, значение N может быть определено на основании размера текущего блока. Например, когда текущий блок меньше 8×8, определяют, что N составляет 35. В противном случае может быть определено, что N составляет 19 или 11.
(Вариант осуществления 2) Режим внутреннего предсказания также могут определять посредством режима по умолчанию или индекса, предварительно определенного в устройстве для кодирования/декодирования. Режим по умолчанию может представлять собой по меньшей мере одно из планарного режима (индекс 0), режима DC (индекс 1), горизонтального режима (индекс 18), вертикального режима (индекс 50) и диагонального режима (индекс 2, 34, 66). Индекс соответствует случаю, когда имеются 67 предварительно заданных режимов внутреннего предсказания, и каждому режиму могут присвоить разный индекс в соответствии со значением N.
(Вариант осуществления 3) Режим внутреннего предсказания могут определять переменным образом на основании информации о кодировании. Информация о кодировании может содержать не только информацию, которая закодирована и использована для передачи сигнала в устройство для кодирования, но и информацию, полученную на основании информации для передачи сигнала в устройство для декодирования. Информация о кодировании может представлять собой информацию, связанную с по меньшей мере одним из текущего блока или соседнего блока. Соседний блок содержит пространственный и/или временной соседний блок текущего блока, и пространственный соседний блок может представлять по меньшей мере одно из левого, верхнего, верхнего левого, нижнего левого или верхнего правого блока, смежного с текущим блоком.
Информация о кодировании может содержать следующее: размер/форма блока, доступность блока, тип разделения, количество разделений, тип компонента, режим предсказания, информация о режиме внутреннего предсказания, межкадровый режим, информация о движении, тип преобразования, режим пропуска преобразования, информация о ненулевом остаточном коэффициенте, порядок сканирования, формат цвета, информация о фильтре в контуре и т. п. Размер блока может быть представлен шириной или высотой, минимальным/максимальным значением ширины и высоты, суммой ширины и высоты, количеством выборок, относящихся к блоку, и т. п. Доступность блока может быть определена с учетом положения блока, диапазона участка параллельной обработки, порядка декодирования и т. п. Режим предсказания может указывать информацию для указания на внутренний режим или межкадровый режим. Информация о режиме внутреннего предсказания может содержать следующее: является ли режим внутреннего предсказания режимом предсказания, не основанным на информации об углах, является ли режим внутреннего предсказания вертикальным/горизонтальным режимом, направленность режима внутреннего предсказания и информацию, связанную с количеством предварительно заданных режимов внутреннего предсказания в устройстве для кодирования/декодирования. Межкадровый режим может указывать информацию для указания на режим слияния/пропуска, режим AMVP или исходный режим текущего изображения. Исходный режим текущего изображения указывает на способ предсказания текущего блока с использованием восстановленных областей текущего изображения. Текущее изображение может представлять собой изображение, к которому относится текущий блок. Текущее изображение может быть добавлено в список опорных изображений для выполнения предсказания, осуществляемого между изображениями, и текущее изображение может быть расположено рядом с кратковременным опорным изображением или долговременным опорным изображением в списке опорных изображений. Информация о движении может содержать следующее: флаг направления предсказания, вектор движения, индекс опорного изображения и т. д.
(Вариант осуществления 4) Режим внутреннего предсказания также могут получать на основании списка MPM и индекса MPM. Список MPM содержит несколько MPM, и MPM может быть определен на основании режима внутреннего предсказания пространственного и/или временного соседнего блока текущего блока. Количество MPM составляет x, и x может представлять собой 3, 4, 5, 6 или большее целое число.
Например, список MPM может содержать по меньшей мере одно из режима внутреннего предсказания соседнего блока, режима A, (режима A-n), (режима A+n) или режима по умолчанию. Значение n может составлять 1, 2, 3, 4 или большее целое число. Соседние блоки могут представлять блоки, смежные с левым и/или верхним боковым текущим блоком. Режим по умолчанию может представлять собой по меньшей мере одно из планарного режима, режима DC или режима предварительно определенной направленности. Режим предварительно определенной направленности может включать по меньшей мере одно из горизонтального режима (режим V), вертикального режима (режим H), (режима V-k), (режима V+k), (режима H-k) или (режима H+k).
Индекс MPM может обозначать MPM, который является таким же, как и режим внутреннего предсказания текущего блока, в списке MPM. То есть MPM, обозначенный индексом MPM, может быть установлен как режим внутреннего предсказания текущего блока.
Необязательно режим внутреннего предсказания текущего блока может быть определен с использованием любого из приведенных выше вариантов осуществления 1–4, и режим внутреннего предсказания текущего блока может быть определен на основании комбинаций по меньшей мере двух из вариантов осуществления 1–4. Предварительно определенный флаг может быть использован для выбора. В данном документе флаг может быть закодирован посредством устройства для кодирования и использован для передачи сигнала.
Как показано на фиг. 5, определяют исходную выборку, используемую для внутреннего предсказания текущего блока (S510).
Исходную выборку могут получать от соседней области текущего блока. Соседняя область текущего блока может содержать по меньшей мере одно из левого участка, правого участка, верхнего участка, нижнего левого участка, верхнего левого участка, нижнего правого участка или верхнего правого участка, смежного с текущим блоком.
Соседняя область может содержать одну или более линий выборок. В частности, количество линий выборок, относящихся к соседней области, составляет k, при этом k может составлять 1, 2, 3, 4 или может представлять собой натуральное число, большее чем эти числа. Значение k может представлять собой фиксированное значение, предварительно определенное в устройстве для кодирования/декодирования, или может быть переменным образом определено на основании приведенной выше информации о кодировании. Например, когда текущий блок имеет первый размер (например, 4×4, 4×8, 8×4), соседняя область может быть сконфигурирована на 1 линию выборок. Когда текущий блок имеет второй размер (например, 8×8, 16×16 и т. д.), соседняя область может быть сконфигурирована на 2 линии выборок. Линия выборок может быть определена в вертикальном направлении или горизонтальном направлении согласно положению соседней области. В дополнение, линия выборок может находиться в контакте с текущим блоком или может быть удалена от текущего блока на предварительно определенное расстояние в вертикальном и/или горизонтальном направлении.
Несколько линий выборок существуют непрерывно в вертикальном и/или горизонтальном направлении с текущим блоком в качестве исходного элемента или могут быть отделены друг от друга на предварительно определенное расстояние. В качестве варианта осуществления, если имеются две линии выборок в верхнем участке, смежном с текущим блоком, их соответствующим образом называют первой линией выборок и второй линией выборок в направлении от нижней линии выборок из двух линий к верхней. В данном документе первая линия выборок и вторая линия выборок могут находиться в контакте друг с другом или могут быть отделены друг от друга на предварительно определенное расстояние. Предварительно определенное расстояние может быть представлено значениями длины линии i (т. е. шириной или высотой). i может составлять 0, 1, 2, 3 или представлять собой большее натуральное число. В качестве варианта осуществления, если имеются три линии выборок в верхнем участке, смежном с текущим блоком, их соответствующим образом называют первой линией выборок, второй линией выборок и третьей линией выборок в направлении от нижней линии выборок из множества линий выборок к верхней. В данном документе первая линия выборок может находиться в контакте со второй линией выборок, и вторая линия выборок может находиться в контакте с третьей линией выборок. Альтернативно первая линия выборок также может быть удалена от третьей линии выборок на описанное выше предварительно определенное расстояние. В данном документе расстояние (d1) между первой линией выборок и второй линией выборок может быть таким же, что и расстояние (d2) между второй линией выборок и третьей линией выборок. Альтернативно d1 может быть установлено большим, чем d2, и, напротив, d1 также может быть установлено меньшим, чем d2. В качестве варианта осуществления, если имеются более 4 линий выборок в верхнем участке, смежном с текущим блоком, 4 линии выборок могут быть определены таким же образом, что и в случае с 3 линиями выборок. В дополнение, вариант осуществления может быть применен не только к линии выборок, расположенной в верхнем участке, но и к линии выборок, расположенной на левой стороне, и подробное описание здесь опущено.
Исходную выборку могут получать с использованием всех или части выборок, относящихся к соседней области.
(Вариант осуществления 1) Некоторые выборки в соседней области могут представлять собой выборки в положениях, предварительно определенных в устройстве для кодирования/декодирования. Предварительно определенные положения могут включать по меньшей мере одну из самой левой выборки, самой правой выборки или средней выборки верхней линии выборок. Предварительно определенные положения могут включать по меньшей мере одну из самой верхней выборки, самой нижней выборки или средней выборки левой линии выборок. Альтернативно предварительно определенные положения могут включать по меньшей мере одну из выборок с нечетными номерами верхней линии выборок и/или левой линии выборок или по меньшей мере одну из выборок с нечетными номерами. Альтернативно предварительно определенные положения также могут включать выборки, x-координаты которых представляют собой кратное j, среди выборок верхней линии выборок, или выборки, y-координаты которых представляют собой кратное j, среди выборок левой линии выборок. При этом j может составлять 2, 3, 4 или представлять собой большее натуральное число.
(Вариант осуществления 2) Некоторые выборки соседней области определяют на основании информации о кодировании. Информация о кодировании представляет собой информацию, описанную выше, и подробные описания здесь опущены.
Необязательно некоторые выборки могут быть обозначены посредством использования любого из приведенных выше варианта осуществления 1 или варианта осуществления 2, или на основании комбинации варианта осуществления 1 и варианта осуществления 2. В данном документе, как описано выше, расстояния между некоторыми выборками могут быть установлены одинаковыми, но этим не ограничены, и расстояния между некоторыми выборками также могут быть установлены разными.
Количество некоторых выборок может составлять 1, 2, 3, 4 или более, что предварительно задано в устройстве для кодирования/декодирования. В дополнение, количества выборок могут быть определены разными для левого участка соседней области и верхнего участка соседней области текущего блока. Например, когда ширина текущего блока больше, чем высота текущего блока, количество выборок (numSamA), относящихся к верхнему участку соседней области, может быть больше количества выборок (numSamL), относящихся к левому участку соседней области. Напротив, когда ширина текущего блока меньше высоты, numSamA может быть меньше numSamL. Альтернативно количество некоторых выборок также могут переменным образом определять на основании приведенной выше информации о кодировании.
Выборки в соседней области могут представлять собой выборки предсказания или восстановленные выборки. Выборки предсказания могут получать посредством внутреннего предсказания или предсказания, осуществляемого между изображениями. Восстановленные выборки могут представлять собой восстановленные выборки до применения фильтра в контуре или могут представлять собой восстановленные выборки после применения фильтра в контуре.
С другой стороны, исходные выборки могут получать непосредственно из выборок соседней области (случай 1) или могут получать посредством осуществления понижающей выборки для выборок соседней области (случай 2). Необязательно могут использовать любой из случая 1 и случая 2. Выбор могут осуществлять на основании приведенной выше информации о кодировании. Например, когда размер текущего блока меньше предварительно определенного порогового значения, исходная выборка может быть получена на основании случая 1, в противном случае исходная выборка может быть получена на основании случая 2. При этом размер может быть представлен любым из ширины, высоты, максимального/минимального значения ширины и высоты, соотношения ширины к высоте или произведения ширины на высоту текущего блока. К примеру, когда текущий блок меньше чем 8×8, исходную выборку можно получать из выборок соседней области; в противном случае исходную выборку можно получать путем осуществления понижающей выборки в отношении выборок соседней области. Способ осуществления понижающей выборки может быть более понятен со ссылкой на фиг. 6 и фиг. 7.
Как показано на фиг. 5, может быть определена матрица, используемая для внутреннего предсказания текущего блока (S520).
Матрица может быть определена на основании по меньшей мере одного из режима внутреннего предсказания или размера текущего блока, определенного на этапе S500. Альтернативно может существовать ограничение относительно того, что матрица может быть определена с учетом только режима внутреннего предсказания текущего блока. Или матрица может быть определена с учетом только размера текущего блока. Размер может быть представлен любым из ширины или высоты, минимального/максимального значения ширины и высоты, суммы ширины и высоты, количества выборок, относящихся к текущему блоку, и т. п. Однако этим не ограничивается, и матрица может быть определена дополнительно с учетом информации о кодировании текущего блока. Информация о кодировании представляет собой информацию, описанную выше, и подробные описания здесь опущены.
В частности, матрицу, предварительно определенную в устройстве для кодирования/декодирования, могут разделять на множество групп матриц. Множество групп матриц могут быть сконфигурированы посредством первой группы матриц, второй группы матриц, …, m-ной группы матриц. При этом m может составлять 2, 3, 4, 5 или представлять собой большее натуральное число. Необязательно текущий блок может использовать любую из множества групп матриц на основании размера текущего блока. Например, первую группу матриц могут использовать, когда размер текущего блока составляет 4×4, вторую группу матриц могут использовать, когда размер текущего блока составляет 8×4, 4×8 и 8×8, а в иных случаях могут использовать третью группу матриц. Группа матриц, выбранная на основании размера текущего блока, может содержать одну или более кандидатных матриц. Любая из множества кандидатных матриц может быть определена посредством матрицы текущего блока. Определение может быть выполнено на основании информации о кодировании (например, режим внутреннего предсказания) текущего блока.
Количество предварительно определенных матриц может быть таким же, что и количество представленных выше предварительно заданных режимов внутреннего предсказания. В дополнение, количество предварительно определенных матриц может быть меньше количества предварительно заданных режимов внутреннего предсказания. В данном документе одна матрица может быть соотнесена со множеством режимов внутреннего предсказания. Например, одна матрица может быть соотнесена с 2 режимами внутреннего предсказания. В данном документе количество предварительно определенных матриц может иметь значение, которое составляет 1/2 от количества предварительно заданных режимов внутреннего предсказания. Однако этим не ограничивается, и количество режимов внутреннего предсказания, соотнесенных с одной матрицей, может составлять 3, 4, 5, 6 или более.
В качестве варианта осуществления соотнесение может быть определено с учетом направленности и/или симметричности режима внутреннего предсказания.
Предварительно заданный режим внутреннего предсказания может включать режим направленности, имеющий предварительно определенный угол. Режимы направленности могут быть разделены на первую группу режимов с горизонтальной направленностью и вторую группу режимов с вертикальной направленностью. Полагают, что количество режимов, основанных на информации об углах, составляет 65, первую группу режимов могут сконфигурировать в качестве режимов с индексом от 2 до 34, и вторую группу режимов могут сконфигурировать в качестве режимов с индексом от 34 до 66.
Устройство для кодирования/декодирования определяет матрицу только для первой группы режимов, и вторая группа режимов также может использовать матрицу, определенную для первой группы режимов. Напротив, устройство для кодирования/декодирования определяет матрицу только для второй группы режимов, и первая группа режимов также может использовать матрицу, определенную для второй группы режимов. В данном документе количество определенных матриц может иметь значение, которое составляет 1/2 от количества предварительно заданных режимов внутреннего предсказания. В качестве варианта осуществления, если количество групп режимов, имеющих симметрию, составляет x, то количество предварительно определенных матриц может иметь значение 1/x от количества предварительно заданных режимов внутреннего предсказания. При этом x может составлять 3, 4 или более.
Симметрия может включать с учетом режима внутреннего предсказания с углом -45° в качестве исходного элемента симметрию угла предсказания между режимом с вертикальной направленностью и режимом с горизонтальной направленностью. Режим внутреннего предсказания с направленностью имеет угол предсказания (PredAngle), который зависит от различных направленностей. Режим с вертикальной направленностью может включать с учетом режима внутреннего предсказания с углом -45° в качестве исходного элемента этот режим и режим с углом -45°<(PredAngle)≤45° вдоль направления по оси x от режима. Режим с горизонтальной направленностью может включать с учетом режима внутреннего предсказания с углом -45° в качестве исходного элемента режимы, отличные от этого режима, и имеющий угол -45°<(PredAngle)≤45° вдоль направления по оси y от режима.
Как показано на фиг. 5, на основании исходной выборки и матрицы может быть предсказан текущий блок (S530).
Когда исходную выборку определяют на этапе S510 и матрицу определяют на этапе S520, устройство для кодирования/декодирования может предсказывать текущий блок на основании исходной выборки и матрицы.
Этап предсказания текущего блока может включать следующую операцию. Матрицу применяют к исходной выборке для получения выборки предсказания (далее в данном документе называемой первой выборкой предсказания) блока DS. Блок DS может представлять текущий блок или текущий блок с пониженной выборкой. То есть блок DS может иметь тот же размер, что и текущий блок, и блок DS также может иметь размер, составляющий 1/2, 1/4, 1/8 или 1/16 от размера (по меньшей мере одного из ширины или высоты) текущего блока. Например, когда текущий блок представляет собой блок 4×4, 4×8 или 8×4, блок DS может представлять собой блок 4×4. Или, когда текущий блок представляет собой блок 8×8, 8×16 или 16×8, блок DS может представлять собой блок 4×4 или 8×8. Или, когда текущий блок больше или равен 16×16, блок DS может представлять собой блок 8×8 или 16×16. Однако блок DS не ограничен квадратной формой блока и также может представлять собой блок отличной от квадрата формы. Альтернативно блок DS может быть ограничен квадратной формой блока. Применение матрицы может включать умножение исходной выборки на взвешенное значение, полученное из матрицы.
Операция получения первых выборок предсказания может включать по меньшей мере одну из операции добавления значения смещения или операции фильтрации.
Операция получения первых выборок предсказания может дополнительно включать следующую операцию. Выполняют перестановку в отношении первых выборок предсказания. Перестановка может быть выполнена, только когда множество режимов внутреннего предсказания соотнесены с одной матрицей.
Альтернативно перестановка может быть выполнена, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с горизонтальной направленностью. Например, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с горизонтальной направленностью, выполняют перестановку для первых выборок предсказания блока DS. И, когда режим внутреннего предсказания текущего блока относится ко второй группе режимов с вертикальной направленностью, могут не выполнять перестановку для первых выборок предсказания блока DS.
Напротив, перестановка может быть выполнена, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с вертикальной направленностью. Например, когда режим внутреннего предсказания текущего блока относится к первой группе режимов с горизонтальной направленностью, могут не выполнять перестановку для первых выборок предсказания блока DS. Когда режим внутреннего предсказания текущего блока относится ко второй группе режимов с вертикальной направленностью, может быть выполнена перестановка для первых выборок предсказания блока DS.
Перестановка может быть выполнена посредством уравнения 1, представленного ниже. В уравнении x может представлять значение координаты на оси x, а y может представлять значение координаты на оси y. То есть перестановка может представлять процесс присвоения первой выборки предсказания с координатами (x, y) координатам (y, x).
Уравнение 1
First_prediction_sample[x][y] = First_prediction_sample[y][x]
Альтернативно перестановка согласно настоящему изобретению также может представлять процесс, в котором блок DS, состоящий из первых выборок предсказания, поворачивают под предварительно определенным углом. Предварительно определенный угол может указывать 90 градусов или 180 градусов в направлении по часовой стрелке или может указывать 90 градусов или 180 градусов в направлении против часовой стрелки.
Этап предсказания текущего блока может дополнительно включать следующую операцию. Выполняют повышающую выборку в отношении текущего блока на основании по меньшей мере одного из соседних восстановленных выборок или первых выборок предсказания с получением второй выборки предсказания.
В процессе осуществления повышающей выборки может быть определено по меньшей мере одно из того, следует ли выполнять повышающую выборку, или способа выполнения повышающей выборки, на основании информации о кодировании текущего блока. Например, может быть определено по меньшей мере одно из того, следует ли выполнять повышающую выборку, или способа выполнения повышающей выборки, на основании размера блока DS, состоящего из первых выборок предсказания, и размера текущего блока. Размер блока может быть представлен шириной или высотой, минимальным/максимальным значением ширины и высоты, суммой ширины и высоты, количеством выборок, относящихся к блоку, и т. п.
Может быть определено, следует ли выполнять повышающую выборку, только когда размер блока DS, состоящего из первых выборок предсказания, меньше размера текущего блока.
Способ выполнения повышающей выборки может включать следующие операции. Используют соотношение размера блока DS, состоящего из первых выборок предсказания, к размеру текущего блока. Первые выборки предсказания распределяют в предварительно определенных положениях в текущем блоке. Выполняют интерполяцию в отношении оставшихся областей в текущем блоке. Оставшиеся области могут представлять области в текущем блоке за исключением областей, разделенных для первых выборок предсказания. Разделение для первых выборок предсказания и способ интерполяции для оставшихся областей будут подробно описаны со ссылкой на фиг. 8–10.
На фиг. 6 изображен способ определения исходной выборки посредством осуществления понижающей выборки в отношении соседней области согласно варианту осуществления настоящего изобретения.
Как показано на фиг. 6, на изображении (a) фиг. 6 изображен случай, когда соседняя область, используемая для внутреннего предсказания, расположена на левой стороне и верхнем участке, смежном с текущим блоком. В дополнение, в качестве варианта осуществления, линия выборок, расположенная на левой стороне текущего блока, находится в контакте с текущим блоком и состоит из одной линии выборок в вертикальном направлении. Линия выборок, расположенная на верхнем участке текущего блока, находится в контакте с текущим блоком и состоит из одной линии выборок в горизонтальном направлении.
Исходная выборка может содержать область понижающей выборки, образованную посредством выполнения понижающей выборки в отношении соседней области текущего блока.
Область понижающей выборки могут получать из среднего, максимального, минимального значения, значения режима или подвергнутого фильтрации значения всех или некоторых выборок, относящихся к соседней области.
При получении из среднего значения область понижающей выборки могут образовывать посредством способа присвоения среднего значения N разных выборок выборкам в области понижающей выборки.
N разных выборок могут представлять собой последовательно расположенные выборки или могут быть разделены посредством определенного интервала. Определенный интервал может представлять собой интервал одного или более размеров выборки. Когда имеется множество интервалов, множество интервалов может быть равномерным или неравномерным (где N больше 2 и меньше общего количества выборок, относящихся к соседней области). В дополнение, комбинацию из N разных выборок называют группой выборок. В данном документе первая группа выборок может перекрываться со второй группой выборок или может не перекрываться со второй группой выборок.
К примеру, на фиг. 6 показано, что N составляет 2, две группы выборок не перекрываются друг с другом, и среднее значение двух выборок, относящихся к каждой группе выборок, присваивают одной выборке в области понижающей выборки для выполнения понижающей выборки.
Альтернативно 3 последовательные выборки (S1, S2 и S3) могут составлять первую группу выборок, и среднее значение трех выборок, относящихся к первой группе выборок, может быть присвоено выборкам (DS1) в области понижающей выборки. Три последовательные выборки (S2, S3 и S4) могут составлять вторую группу выборок, и среднее значение трех выборок, относящихся ко второй группе выборок, может быть присвоено выборкам (DS2) в области понижающей выборки.
Альтернативно после определения минимального или максимального значения двух выборок (S1, S2), относящихся к первой группе выборок, оно может быть присвоено выборке (DS1) в области понижающей выборки. Аналогичным образом, после определения минимального или максимального значения двух выборок (S3, S4), относящихся ко второй группе выборок, оно может быть присвоено выборке (DS2) в области понижающей выборки. Это может быть выполнено аналогичным образом, когда первая/вторая группа выборок состоит из трех выборок.
Альтернативно в верхней части соседней области выборки в предварительно заданных положениях среди нескольких выборок, относящихся к первой группе выборок, могут быть присвоены выборке (DS1) в области понижающей выборки, и выборки в предварительно заданных положениях среди нескольких выборок, относящихся ко второй группе выборок, могут быть присвоены выборке (DS2) в области понижающей выборки. Предварительно заданные положения могут представлять фиксированные положения, предварительно определенные в устройстве для кодирования/декодирования. К примеру, оно может представлять собой любое положение из самого левого, самого правого или среднего положений. В левой части соседней области выборки в предварительно заданных положениях среди нескольких выборок, относящихся к каждой группе выборок, также могут быть присвоены соответствующей выборке в области понижающей выборки. В данном документе предварительно заданные положения могут представлять собой любое положение из самого верхнего, самого нижнего или среднего положений.
На фиг. 7 изображен способ осуществления понижающей выборки на основании взвешенного среднего согласно варианту осуществления настоящего изобретения.
В варианте осуществления среднее значение могут вычислять посредством следующего уравнения (далее называемого первым уравнением вычисления среднего):
сумма выборок, относящихся к группе выборок / количество выборок;
или среднее значение могут вычислять посредством следующего уравнения (далее называемого вторым уравнением вычисления среднего):
сумма (взвешенное значение × выборка, относящаяся к группе выборок) / количество выборок.
На фиг. 7 (a) показан случай, когда представленная выше группа выборок состоит из трех выборок. В данном документе взвешенные значения, применяемые для 3 выборок, могут быть определены как соотношение 1:2:1. Как показано на фиг. 7 (b), когда группа выборок состоит из 5 выборок, взвешенные значения могут быть определены как соотношение 1:1:4:1:1. Как показано на фиг. 7 (c), когда группа выборок состоит из 6 выборок, взвешенное значение может быть определено как соотношение 1:2:1:2:2:1 или 1:2:2:1:2:1 в направлении Z с верхней левой частью в качестве начальной точки. В дополнение, хотя на фиг. 7 (a) и фиг. 7 (c) показаны взвешенные значения, применяемые к верхней части соседней области, они также могут быть применены к левой части соседней области.
Среднее значение также может включать полученное в результате значение, полученное посредством применения предварительно определенной операции ко множеству средних значений, вычисленных посредством первого уравнения вычисления среднего или второго уравнения вычисления среднего. Предварительно определенная операция может представлять собой приведенное выше первое уравнение вычисления среднего или второе уравнение вычисления среднего. Например, если 3 выборки (т. е. от первой выборки до третьей выборки) относятся к группе выборок, среднее значение (первое значение) первой выборки и второй выборки и среднее значение (второе значение) второй выборки и третьей выборки могут быть вычислены соответствующим образом. Среднее значение может быть получено из среднего значения вычисленных первого значения и второго значения.
Приведенный выше способ осуществления понижающей выборки может быть применен только к верхней части соседней области. С другой стороны, он также может быть применен только к левой части соседней области. Альтернативно способ осуществления понижающей выборки (далее называемый первым способом) по фиг. 6 может быть применен к любой из верхней части или левой части соседней области. Способ осуществления понижающей выборки (далее называемый вторым способом) по фиг. 7 может быть применен к другой из верхней части или левой части соседней области.
В дополнение, с учетом размера/формы текущего блока опционально может быть использован по меньшей мере один из первого способа или второго способа. Например, когда ширина текущего блока больше предварительно определенного порогового значения, первый способ может быть применен к верхней части соседней области текущего блока. В противном случае может быть применен второй способ. Понижающая выборка также может быть выполнена в отношении высоты текущего блока таким же образом. Или, когда текущий блок имеет форму, отличную от квадрата, первый способ может быть применен к любой из верхней части или левой части соседней области, и второй способ может быть применен к другому участку. В данном документе, когда ширина текущего блока больше высоты, первый способ может быть применен к верхней части соседней области, и второй способ может быть применен к левой части соседней области. С другой стороны, когда ширина текущего блока меньше высоты, второй способ может быть применен к верхней части соседней области, и первый способ может быть применен к левой части соседней области. Когда текущий блок имеет квадратную форму, может быть использован тот же самый способ осуществления понижающей выборки для верхней части и левой части соседней области, при этом способ осуществления понижающей выборки может быть ограничен первым способом.
На фиг. 8 изображены разделение первой выборки предсказания и способ интерполяции оставшихся областей согласно варианту осуществления настоящего изобретения.
Как показано на фиг. 8 (a), выборки предсказания блока DS могут быть присвоены выборкам предсказания в предварительно определенных положениях в текущем блоке. Предварительно определенные положения могут быть определены с учетом соотношения размера текущего блока к размеру блока DS. Например, соответствующее взаимоотношение выборок предсказания между блоком DS и текущим блоком может быть определено посредством следующего уравнения 2.
Уравнение 2
First Prediction_Sample_curBLK[(x+1)×r-1][(y+1)×r-1]=First_Prediction_Sample_dsBLK[x][y]
В данном документе r представляет соотношение размера текущего блока к размеру блока DS, а x и y представляют собой координаты по оси x и оси y первой выборки предсказания в каждом блоке DS. First Prediction_Sample_curBLK может указывать положение первой выборки предсказания в текущем блоке, и First_Prediction_Sample_dsBLK может указывать положение первой выборки предсказания в блоке DS.
Что касается интерполяции, как показано на фиг. 8 (b), по меньшей мере один элемент (далее называемый интерполированной исходной выборкой) из первых выборок предсказания, разделенных для текущего блока, или восстановленных выборок, смежных с текущим блоком, может быть использован для получения выборок, которые не разделены для первых выборок предсказания в текущем блоке (далее называемых интерполированными целевыми выборками). В дополнение, интерполированная исходная выборка также может содержать выборку предсказания, сгенерированную посредством интерполяции до текущей интерполированной целевой выборки (т. е. предыдущую интерполированную целевую выборку).
Положение и диапазон восстановленной выборки, смежной с текущим блоком, являются такими же, как и для приведенной выше исходной выборки, и, следовательно, подробные описания здесь опущены.
В соответствии с положением интерполированной целевой выборки, интерполированная исходная выборка может состоять из множества первых выборок предсказания или может состоять из по меньшей мере одной первой выборки предсказания и по меньшей мере одной восстановленной соседней выборки. Необязательно восстановленные соседние выборки могут использовать любую из выборок, имеющих такую же x-координату или такую же y-координату, как и у интерполированной целевой выборки, или могут использовать выборки, в которых по меньшей мере одна из x-координаты или y-координаты является такой же, как и у интерполированной целевой выборки. Выбор может быть произведен на основании положения интерполированной целевой выборки. Например, если интерполированная целевая выборка имеет такую же x-координату, что и первая выборка предсказания, восстановленные соседние выборки могут включать только выборки с такой же x-координатой, как и у интерполированной целевой выборки. Напротив, если интерполированная целевая выборка имеет такую же y-координату, что и первая выборка предсказания, восстановленные соседние выборки могут включать только выборки с такой же y-координатой, как и у интерполированной целевой выборки. Альтернативно восстановленные соседние выборки также могут включать несколько выборок, расположенных на тех же горизонтальных и вертикальных линиях, что и интерполированные целевые выборки.
Интерполированную целевую выборку можно получать из репрезентативного значения множества интерполированных исходных выборок, при этом репрезентативное значение может включать одно из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.
Среднее значение может быть вычислено посредством следующего уравнения (далее называемого первым уравнением вычисления среднего):
сумма разностных исходных выборок / количество разностных исходных выборок
Или среднее значение может быть вычислено посредством следующего уравнения (далее называемого вторым уравнением вычисления среднего):
сумма (взвешенное значение × разностная исходная выборка) / количество разностных исходных выборок
Взвешенное значение в соответствии со вторым уравнением вычисления среднего может быть определено на основании относительного/абсолютного расстояния между интерполированной целевой выборкой и интерполированной исходной выборкой, что подробно описано со ссылкой на фиг. 9.
На фиг. 9 изображено взвешенное значение для расстояния, присвоенное в операции интерполяции, согласно варианту осуществления настоящего изобретения.
Взвешенное значение согласно настоящему изобретению может включать взвешенное значение, определенное на основании расстояния между интерполированной целевой выборкой и интерполированной исходной выборкой. В качестве варианта осуществления, как показано на фиг. 9, если интерполяцию выполняют в отношении первой интерполированной целевой выборки 910, поскольку соотношение расстояния между первой интерполированной целевой выборкой 910 и первой интерполированной исходной выборкой 911 к расстоянию между первой интерполированной целевой выборкой 910 и второй интерполированной исходной выборкой 912 составляет 3:1, соотношение соотношений взвешенных значений, применяемых к первой интерполированной исходной выборке 911 и второй интерполированной исходной выборке 912, может составлять 1:3. Если интерполяцию выполняют в отношении второй интерполированной целевой выборки 920, поскольку соотношение расстояния между второй интерполированной целевой выборкой 920 и второй интерполированной исходной выборкой 921 к расстоянию между второй интерполированной целевой выборкой 920 и второй интерполированной исходной выборкой 922 составляет 1:1, соотношение взвешенных значений, применяемых к первой интерполированной исходной выборке 921 и второй интерполированной исходной выборке 922, может составлять 1:1.
В дополнение, интерполяционный фильтр согласно настоящему изобретению может иметь направленность. Направленность может быть вертикальной, горизонтальной, в форме z, диагональной и т. п.
Интерполяцию можно выполнять на основании предварительно определенного порядка приоритета. Порядок приоритета может представлять собой либо случай выполнения интерполяции в горизонтальном направлении после выполнения интерполяции в вертикальном направлении (первый порядок) или случай выполнения интерполяции в вертикальном направлении после выполнения интерполяции в горизонтальном направлении (второй порядок). Или интерполяцию можно выполнять в вертикальном направлении и горизонтальном направлении одновременно (третий порядок).
Только один из приведенных выше порядков с первого порядка по третий порядок может быть использован для выполнения интерполяции, или для выполнения интерполяции могут быть использованы комбинации по меньшей мере двух из порядков с первого порядка по третий порядок. Последовательность интерполяции смотрите на фиг. 10.
На фиг. 10 изображена последовательность операций интерполяции согласно варианту осуществления настоящего изобретения.
На фиг. 10 (a) показан первый порядок по фиг. 9. В частности, интерполяцию можно сначала выполнять в отношении вертикальной линии, принадлежащей первым выборкам предсказания, и затем интерполяцию можно выполнять в отношении горизонтальной линии на основании интерполированной линии и интерполированной исходной выборки на левой стороне текущего блока.
На фиг. 10 (b) показан второй порядок по фиг. 9. В частности, интерполяцию можно сначала выполнять в отношении горизонтальной линии, принадлежащей первым выборкам предсказания, и затем интерполяцию можно выполнять в отношении вертикальной линии на основании интерполированной линии и интерполированной исходной выборки на верхней части текущего блока.
На фиг. 10 (c) показан третий порядок по фиг. 9. Сначала интерполяцию можно выполнять в отношении вертикальной линии и горизонтальной линии, принадлежащих первым выборкам предсказания. Затем интерполяцию можно выполнять в отношении оставшихся выборок, которые не были интерполированы. В данном документе интерполяцию можно выполнять в отношении только вертикальной линии или только горизонтальной линии, или интерполяцию можно выполнять в отношении вертикальной линии и горизонтальной линии одновременно. Если интерполяцию выполняют в отношении вертикальной линии и горизонтальной линии одновременно, одна интерполированная целевая выборка может иметь первое интерполированное значение в отношении вертикальной линии и второе интерполированное значение в отношении горизонтальной линии одновременно. В данном документе репрезентативное значение для первого интерполированного значения и второго интерполированного значения могут присваивать интерполированной целевой выборке. При этом репрезентативное значение может быть получено из среднего значения, минимального значения, максимального значения, значения режима или промежуточного значения.
Порядок интерполяции может представлять собой порядок, предварительно определенный в устройстве для кодирования/декодирования, или он необязательно может быть определен на основании информации о кодировании текущего блока. Информация о кодировании представляет собой информацию, описанную выше, и, следовательно, подробные описания опущены.
Порядок может быть определен на основании размера блока. Размер блока может быть представлен шириной или высотой, минимальным/максимальным значением ширины и высоты, суммой ширины и высоты, количеством выборок, относящихся к блоку, и т. п.
Например, когда размер текущего блока больше предварительно определенного порогового значения, может быть выполнена первая интерполяция. В противном случае может быть выполнена вторая интерполяция. Напротив, когда размер текущего блока меньше предварительно определенного порогового значения, может быть выполнена вторая интерполяция. В противном случае может быть выполнена первая интерполяция. Пороговое значение может составлять 8, 16, 32 или представлять собой большее натуральное число.
Изобретение относится к кодированию и декодированию изображений. Технический результат заключается в повышении эффективности кодирования и декодирования изображений. Такой результат обеспечивается за счет определения режима внутреннего предсказания текущего блока, определения исходной выборки для внутреннего предсказания текущего блока, определения матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания и предсказания текущего блока на основании исходной выборки и матрицы. 6 н. и 8 з.п. ф-лы, 10 ил., 3 табл.
1. Способ обработки видеосигнала, выполняемый устройством для декодирования, включающий:
определение режима внутреннего предсказания текущего блока;
определение исходной выборки, используемой для внутреннего предсказания текущего блока;
определение матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и
предсказание текущего блока на основании исходной выборки и матрицы, при этом предсказание текущего блока на основании исходной выборки и матрицы включает:
генерирование блока предсказания путем применения матрицы к исходной выборке.
2. Способ по п. 1, отличающийся тем, что определение исходной выборки включает:
определение соседней области текущего блока и
выполнение понижающей выборки в отношении определенной соседней области, при этом соседнюю область разделяют на множество групп выборок, группа выборок содержит одну или более выборок, репрезентативное значение группы выборок определяют в качестве исходной выборки и репрезентативное значение представляет собой одно из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.
3. Способ по п. 1, отличающийся тем, что матрицу определяют дополнительно с учетом информации о кодировании текущего блока и
информация о кодировании содержит размер и форму текущего блока.
4. Способ по п. 1, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает:
выполнение перестановки всех или части выборок предсказания сгенерированного блока предсказания.
5. Способ по п. 1, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает:
выполнение интерполяции в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком.
6. Способ обработки видеосигнала, выполняемый устройством для кодирования, включающий:
определение режима внутреннего предсказания текущего блока;
определение исходной выборки, используемой для внутреннего предсказания текущего блока;
определение матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и
предсказание текущего блока на основании исходной выборки и матрицы, при этом предсказание текущего блока на основании исходной выборки и матрицы включает:
генерирование блока предсказания путем применения матрицы к исходной выборке.
7. Способ по п. 6, отличающийся тем, что определение исходной выборки включает:
определение соседней области текущего блока и
выполнение понижающей выборки в отношении определенной соседней области, при этом соседнюю область разделяют на множество групп выборок, группа выборок содержит одну или более выборок, репрезентативное значение группы выборок определяют в качестве исходной выборки, и репрезентативное значение представляет собой одно из следующего: среднее, минимальное, максимальное значение, значение режима и промежуточное значение.
8. Способ по п. 6, отличающийся тем, что матрицу определяют дополнительно с учетом информации о кодировании текущего блока и
информация о кодировании содержит размер и форму текущего блока.
9. Способ по п. 6, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает:
выполнение перестановки всех или части выборок предсказания сгенерированного блока предсказания.
10. Способ по п. 6, отличающийся тем, что предсказание текущего блока на основании исходной выборки и матрицы дополнительно включает:
выполнение интерполяции в отношении текущего блока на основании по меньшей мере одного из следующего: блок предсказания или восстановленные выборки, смежные с текущим блоком.
11. Устройство для декодирования для обработки видеосигнала, содержащее:
первый узел определения, выполненный с возможностью определения режима внутреннего предсказания текущего блока;
второй узел определения, выполненный с возможностью определения исходной выборки, используемой для внутреннего предсказания текущего блока;
третий узел определения, выполненный с возможностью определения матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и
узел генерирования, выполненный с возможностью генерирования блока предсказания путем применения матрицы к исходной выборке.
12. Декодер, содержащий:
процессор и
запоминающее устройство, при этом запоминающее устройство выполнено с возможностью хранения компьютерных программ, способных запускаться на процессоре, и когда компьютерные программы запускаются процессором, процессор выполнен с возможностью реализации способа по любому из пп. 1–5.
13. Устройство для кодирования для обработки видеосигнала, содержащее:
первый узел определения, выполненный с возможностью определения режима внутреннего предсказания текущего блока;
второй узел определения, выполненный с возможностью определения исходной выборки, используемой для внутреннего предсказания текущего блока;
третий узел определения, выполненный с возможностью определения матрицы из множества предварительно сохраненных групп матриц на основании режима внутреннего предсказания; и
узел генерирования, выполненный с возможностью генерирования блока предсказания путем применения матрицы к исходной выборке.
14. Кодер, содержащий:
процессор и
запоминающее устройство, при этом запоминающее устройство выполнено с возможностью хранения компьютерных программ, способных запускаться на процессоре, и когда компьютерные программы запускаются процессором, процессор выполнен с возможностью реализации способа по любому из пп. 6–10.
US 20170359595 A1, 14.12.2017 | |||
KR 2018001479 A, 04.01.2018 | |||
МИКРОМЕХАНИЧЕСКИЙ ГИРОСКОП (ВАРИАНТЫ) И СПОСОБЫ ЕГО НАСТРОЙКИ, ОСНОВАННЫЕ НА ИСПОЛЬЗОВАНИИ АМПЛИТУДНО-МОДУЛИРОВАННОГО КВАДРАТУРНОГО ТЕСТОВОГО ВОЗДЕЙСТВИЯ | 2008 |
|
RU2388999C1 |
US 20080219576 A1, 11.09.2008 | |||
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ ВЕКТОРА ДВИЖЕНИЯ | 2012 |
|
RU2586017C2 |
Авторы
Даты
2023-08-16—Публикация
2019-09-06—Подача