СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО, А ТАКЖЕ СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ВИДЕО, СОПРОВОЖДАЕМОГО ВНУТРЕННИМ ПРОГНОЗИРОВАНИЕМ
METHOD AND DEVICE FOR ENCODING VIDEO, AND METHOD AND DEVICE FOR DECODING VIDEO WHICH IS ACCOMPANIED WITH INTERNAL PREDICTION

Область техники, к которой относится изобретение
Изобретение относится к кодированию и декодированию видео посредством внутреннего прогнозирования.
Уровень техники
По мере того как разрабатываются и предоставляются аппаратные средства для воспроизведения и сохранения высококачественного видеоконтента высокого разрешения, растет потребность в видеокодеке для эффективного кодирования или декодирования высококачественного видеоконтента высокого разрешения. В традиционном видеокодеке видео кодируется согласно ограниченному способу кодирования на основе макроблока, имеющего предварительно определенный размер.
Данные изображений пространственной области преобразуются в коэффициенты частотной области посредством использования преобразования частоты. Видеокодек разделяет изображение на блоки предварительно определенных размеров для быстрого выполнения преобразования частоты и выполняет дискретное косинусное преобразование (DCT) для каждого блока, чтобы кодировать частотный коэффициент единицы блоков. Нетрудно сжимать коэффициенты частотной области по сравнению со сжатием данных изображений пространственной области. В частности, поскольку пиксельные значения изображений в пространственной области могут представляться как прогнозированные ошибки через взаимное прогнозирование или внутреннее прогнозирование видеокодека, большой объем данных может быть преобразован в 0 при выполнении преобразования частоты для прогнозных ошибок. Видеокодек сокращает объем данных посредством замены данных, которые непрерывно и многократно формируются, на данные небольшой емкости.
Сущность изобретения
Техническая задача
Настоящее изобретение предоставляет способ и устройство для кодирования видео, которые выполняют прогнозное кодирование в режиме внутреннего прогнозирования посредством использования внутреннего прогнозирования, а также способ и устройство для декодирования видео.
Техническое решение
Согласно аспекту настоящего изобретения, предусмотрен способ декодирования видео, задействующий внутреннее прогнозирование, при этом способ включает в себя: синтаксический анализ флага наиболее вероятного режима (MPM) блока при синтаксическом анализе символов блока кодированного видео из принимаемого потока битов; определение того, используется ли множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, для того чтобы прогнозировать режим внутреннего прогнозирования блока, на основе MPM-флага; если определено то, что используется множество возможных вариантов режимов внутреннего прогнозирования, на основе MPM-флага, определение множества возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, на основе режимов внутреннего прогнозирования левого блока и верхнего блока, которые являются смежными с блоком при восстановлении режима внутреннего прогнозирования блока, посредством использования синтаксически проанализированных символов после окончания синтаксического анализа символов блока; прогнозирование режима внутреннего прогнозирования блока посредством использования определенного множества возможных вариантов режимов внутреннего прогнозирования; и выполнение внутреннего прогнозирования для блока посредством использования прогнозного режима внутреннего прогнозирования.
Преимущества изобретения
Согласно кодированию видео настоящего варианта осуществления и декодированию видео настоящего варианта осуществления, предполагается постоянное число возможных вариантов режимов внутреннего прогнозирования при прогнозировании режима внутреннего прогнозирования посредством использования возможных вариантов режимов внутреннего прогнозирования, и в силу этого MPM-флаг и информация текущего внутреннего режима могут быть синтаксически проанализированы без учета случая, в котором число возможных вариантов режимов внутреннего прогнозирования изменяется в ходе процесса синтаксического анализа символов, за счет этого снижая сложность операции синтаксического анализа.
Краткое описание чертежей
Вышеописанные и другие признаки и преимущества настоящего изобретения должны становиться более понятными посредством подробного описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи, на которых:
фиг. 1 является блок-схемой устройства для кодирования видео согласно варианту осуществления настоящего изобретения;
фиг. 2 является блок-схемой устройства для декодирования видео согласно варианту осуществления настоящего изобретения;
фиг. 3 является схемой, показывающей соседние единицы прогнозирования, к которым обращаются с тем, чтобы прогнозировать режим внутреннего прогнозирования, согласно варианту осуществления настоящего изобретения;
фиг. 4 является схемой, показывающей единицы прогнозирования, к которым обращаются с тем, чтобы прогнозировать режим внутреннего прогнозирования, при кодировании видео на основе единицы декодирования согласно древовидной структуре, согласно варианту осуществления настоящего изобретения;
фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей способ кодирования видео согласно варианту осуществления настоящего изобретения;
фиг. 6 является блок-схемой последовательности операций способа, иллюстрирующей способ декодирования видео согласно варианту осуществления настоящего изобретения;
фиг. 7 является блок-схемой устройства кодирования видео на основе единиц кодирования с древовидной структурой, согласно варианту осуществления настоящего изобретения;
фиг. 8 является блок-схемой устройства декодирования видео на основе единиц кодирования с древовидной структурой, согласно варианту осуществления настоящего изобретения;
фиг. 9 является схемой для описания принципа единиц кодирования согласно варианту осуществления настоящего изобретения;
фиг. 10 является блок-схемой кодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения;
фиг. 11 является блок-схемой декодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения;
фиг. 12 является схемой, иллюстрирующей единицы кодирования согласно глубинам и сегменты согласно варианту осуществления настоящего изобретения;
фиг. 13 является схемой для описания взаимосвязи между единицей кодирования и единицами преобразования, согласно варианту осуществления настоящего изобретения;
фиг. 14 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения;
фиг. 15 является схемой единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения;
фиг. 16-18 являются схемами для описания взаимосвязи между единицами кодирования, единицами прогнозирования и единицами преобразования, согласно варианту осуществления настоящего изобретения;
фиг. 19 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования или сегментом и единицей преобразования, согласно информации режима кодирования по таблице 1.
Оптимальные варианты осуществления изобретения
Согласно аспекту настоящего изобретения, предусмотрен способ декодирования видео, задействующий внутреннее прогнозирование, при этом способ включает в себя: синтаксический анализ флага наиболее вероятного режима (MPM) блока при синтаксическом анализе символов блока кодированного видео из принимаемого потока битов; определение того, используется ли множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, для того чтобы прогнозировать режим внутреннего прогнозирования блока, на основе MPM-флага; если определено то, что используется множество возможных вариантов режимов внутреннего прогнозирования, на основе MPM-флага, определение множества возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, на основе режимов внутреннего прогнозирования левого блока и верхнего блока, которые являются смежными с блоком при восстановлении режима внутреннего прогнозирования блока, посредством использования синтаксически проанализированных символов после окончания синтаксического анализа символов блока; прогнозирование режима внутреннего прогнозирования блока посредством использования определенного множества возможных вариантов режимов внутреннего прогнозирования; и выполнение внутреннего прогнозирования для блока посредством использования прогнозного режима внутреннего прогнозирования.
Определение множества возможных вариантов режимов внутреннего прогнозирования может включать в себя определение режимов внутреннего прогнозирования по умолчанию в качестве множества возможных вариантов режимов внутреннего прогнозирования на основе режима внутреннего прогнозирования левого блока, когда режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу.
Определение множества режимов внутреннего прогнозирования может включать в себя определение множества возможных вариантов режимов внутреннего прогнозирования посредством использования режима внутреннего прогнозирования левого блока, когда режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу.
Определение множества режимов внутреннего прогнозирования может включать в себя определение двух возможных вариантов режимов внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования в качестве режимов внутреннего прогнозирования левого блока и верхнего блока, когда режимы внутреннего прогнозирования левого блока и верхнего блока отличаются друг от друга.
Синтаксический анализ может включать в себя синтаксический анализ информации индекса, представляющей один из множества возможных вариантов режимов внутреннего прогнозирования, из потока битов, если определено то, что используется множество режимов внутреннего прогнозирования для того, чтобы определять режим внутреннего прогнозирования блока, на основе MPM-флага, и прогнозирование режима внутреннего прогнозирования блока может включать в себя определение одного из множества возможных вариантов режимов внутреннего прогнозирования, который выбирается на основе информации индекса, в качестве режима внутреннего прогнозирования блока.
Синтаксический анализ может включать в себя синтаксический анализ информации текущего внутреннего режима блока из потока битов, если определено то, что режим внутреннего прогнозирования блока отличается от режимов внутреннего прогнозирования левого блока и верхнего блока, на основе MPM-флага, и прогнозирование режима внутреннего прогнозирования блока может включать в себя интерпретацию взаимосвязи между режимом внутреннего прогнозирования блока и множеством возможных вариантов режимов внутреннего прогнозирования из синтаксически проанализированной информации текущего внутреннего режима блока и определение режима внутреннего прогнозирования блока на основе результата интерпретации.
Согласно другому аспекту настоящего изобретения, предусмотрен способ кодирования видео, задействующий внутреннее прогнозирование, при этом способ включает в себя: сравнение режима внутреннего прогнозирования блока, который определяется через внутреннее прогнозирование для блока в видео, с режимами внутреннего прогнозирования левого блока и верхнего блока, которые являются смежными с блоком; кодирование флага наиболее вероятного режима (MPM), представляющего то, существует ли режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования блока, между режимами внутреннего прогнозирования левого блока и верхнего блока; если существует режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования блока между режимами внутреннего прогнозирования левого блока и верхнего блока, определение множества возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, даже когда режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными или отличающимися друг от друга; и кодирование информации текущего внутреннего режима блока, который определяется на основе множества возможных вариантов режимов внутреннего прогнозирования.
Определение множества возможных вариантов режимов внутреннего прогнозирования может включать в себя определение режимов внутреннего прогнозирования по умолчанию в качестве множества возможных вариантов режимов внутреннего прогнозирования на основе режима внутреннего прогнозирования левого блока, когда режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу.
Определение множества возможных вариантов режимов внутреннего прогнозирования может включать в себя определение множества возможных вариантов режимов внутреннего прогнозирования посредством использования режима внутреннего прогнозирования левого блока, когда режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу.
Определение множества возможных вариантов режимов внутреннего прогнозирования может включать в себя определение двух возможных вариантов режимов внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования в качестве режимов внутреннего прогнозирования левого блока и верхнего блока, когда режимы внутреннего прогнозирования левого блока и верхнего блока отличаются друг от друга.
Кодирование информации текущего внутреннего режима блока может включать в себя кодирование информации индекса, представляющей возможный вариант режима внутреннего прогнозирования, соответствующий режиму внутреннего прогнозирования блока из множества возможных вариантов режимов внутреннего прогнозирования, в случае если существует режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования блока между режимами внутреннего прогнозирования левого блока и верхнего блока.
Кодирование информации текущего внутреннего режима блока может включать в себя: определение информации текущего внутреннего режима блока, которая представляет взаимосвязь между режимом внутреннего прогнозирования блока и возможными вариантами режимов внутреннего прогнозирования, когда режим внутреннего прогнозирования блока отличается от режимов внутреннего прогнозирования левого блока и верхнего блока; и кодирование информации текущего внутреннего режима блока.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство декодирования видео, задействующее внутреннее прогнозирование, причем устройство включает в себя: модуль синтаксического анализа, синтаксически анализирующий флаг наиболее вероятного режима (MPM) блока при синтаксическом анализе символов блока кодированного видео из принимаемого потока битов и определяющий то, используется ли множество режимов внутреннего прогнозирования, число которых является фиксированным, для того, чтобы определять режим внутреннего прогнозирования блока, на основе MPM-флага; и модуль внутреннего прогнозирования, когда определяется то, что используется множество возможных вариантов режимов внутреннего прогнозирования, на основе MPM-флага, определяющий множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, на основе режимов внутреннего прогнозирования левого блока и верхнего блока, которые являются смежными с блоком при восстановлении режима внутреннего прогнозирования блока, посредством использования синтаксически проанализированных символов после окончания синтаксического анализа символов блока, прогнозирующий режим внутреннего прогнозирования блока посредством использования определенного множества возможных вариантов режимов внутреннего прогнозирования и выполняющий внутреннее прогнозирование для блока посредством использования прогнозного режима внутреннего прогнозирования.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство кодирования видео, включающее в себя: модуль внутреннего прогнозирования, выполняющий внутреннее прогнозирование относительно блока для кодирования видео; и модуль кодирования символов для кодирования символов, сформированных через внутреннее прогнозирование блока, при этом модуль кодирования символов сравнивает режим внутреннего прогнозирования блока, который определяется через внутреннее прогнозирование для блока в видео, с режимами внутреннего прогнозирования левого блока и верхнего блока, которые являются смежными с блоком, и кодирует флаг наиболее вероятного режима (MPM), представляющий то, существует ли режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования блока, между режимами внутреннего прогнозирования левого блока и верхнего блока, и модуль кодирования символов, если существует режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования блока между режимами внутреннего прогнозирования левого блока и верхнего блока, определяет множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, даже когда режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными или отличающимися друг от друга, и кодирует информацию текущего внутреннего режима блока, который определяется на основе множества возможных вариантов режимов внутреннего прогнозирования
Согласно другому аспекту настоящего изобретения, предусмотрен компьютерночитаемый носитель записи, содержащий записанную на нем программу для исполнения вышеописанного способа.
Варианты осуществления изобретения
В дальнейшем в этом документе описываются способ кодирования видео и способ декодирования видео на основе способа прогнозирования режимов внутреннего прогнозирования, со ссылкой на фиг. 1-6 согласно варианту осуществления настоящего изобретения. Помимо этого, описываются варианты осуществления, в которых схема прогнозирования режима внутреннего прогнозирования используется в способе кодирования видео и способе декодирования видео на основе единиц кодирования древовидной структуры согласно варианту осуществления настоящего изобретения, со ссылкой на фиг. 7-19. В дальнейшем в этом документе "изображение" может означать неподвижное изображение видео или может означать движущееся изображение, т.е. само видео.
Во-первых, описываются способ кодирования видео и способ декодирования видео на основе способа прогнозирования режимов внутреннего прогнозирования согласно варианту осуществления настоящего изобретения, со ссылкой на фиг. 1-6.
Фиг. 1 является блок-схемой устройства 10 кодирования видео согласно варианту осуществления настоящего изобретения.
Устройство 10 кодирования видео может кодировать видеоданные пространственной области через внутреннее прогнозирование/взаимное прогнозирование, преобразование, квантование и кодирование символов. В дальнейшем в этом документе описываются операции для кодирования символов, которые формируются посредством внутреннего прогнозирования устройства 10 кодирования видео.
Устройство 10 кодирования видео включает в себя модуль 12 внутреннего прогнозирования и модуль 14 кодирования символов.
Устройство 10 кодирования видео настоящего варианта осуществления разделяет данные изображений видео на множество единиц данных и может выполнять кодирование для каждой единицы данных. Единица данных может формироваться в качестве квадрата, прямоугольника или произвольной геометрической формы. Настоящее изобретение не ограничено единицей данных предварительно определенного размера. Для удобства описания, описывается способ кодирования видео относительно "блока", который является видом единицы данных. Тем не менее, способ кодирования видео согласно вариантам осуществления настоящего изобретения не ограничивается способом кодирования видео относительно "блока", а может применяться к различным единицам данных.
Модуль 12 внутреннего прогнозирования выполняет внутреннее прогнозирование относительно блоков видео. Модуль 12 внутреннего прогнозирования может определять режим внутреннего прогнозирования, который представляет направление, в котором расположена опорная информация, из информации соседних элементов для выполнения внутреннего прогнозирования относительно каждого из блоков. Модуль 12 внутреннего прогнозирования может выполнять внутреннее прогнозирование относительно текущего блока согласно виду режима внутреннего прогнозирования.
Согласно способу внутреннего прогнозирования настоящего варианта осуществления, режим внутреннего прогнозирования текущего блока (в дальнейшем в этом документе текущий режим внутреннего прогнозирования) может быть прогнозирован в отношении режимов внутреннего прогнозирования соседних блоков. Модуль 14 кодирования символов может кодировать информацию прогнозирования текущего режима внутреннего прогнозирования.
Модуль кодирования символов 12 может сравнивать текущий режим внутреннего прогнозирования, который определяется через внутреннее прогнозирование текущего блока, с режимами внутреннего прогнозирования левого блока и верхнего блока из числа соседних блоков, смежных с текущим блоком, чтобы прогнозировать текущий режим внутреннего прогнозирования.
Например, модуль 14 кодирования символов может кодировать флаг наиболее вероятного режима (MPM), представляющий то, существует ли режим внутреннего прогнозирования, который является идентичным текущему режиму внутреннего прогнозирования, из числа режимов внутреннего прогнозирования левого блока и верхнего блока.
Например, если существует режим, который является идентичным текущему режиму внутреннего прогнозирования между режимами внутреннего прогнозирования левого блока и верхнего блока, модуль 14 кодирования символов может определять множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, даже когда режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными или отличающимися друг от друга. Например, модуль 14 кодирования символов может кодировать информацию текущего внутреннего режима при допущении, что существует три возможных варианта режимов внутреннего прогнозирования для текущего режима внутреннего прогнозирования, если существует режим, который является идентичным текущему режиму внутреннего прогнозирования между режимами внутреннего прогнозирования левого блока и верхнего блока. В качестве другого примера, информация текущего внутреннего режима может всегда кодироваться при допущении, что существует два возможных варианта режимов внутреннего прогнозирования. Модуль 14 кодирования символов определяет информацию текущего внутреннего режима текущего блока на основе множества возможных вариантов режимов внутреннего прогнозирования и кодирует информацию текущего внутреннего режима. Информация текущего внутреннего режима может быть информацией индекса, представляющей одни из возможных вариантов режимов внутреннего прогнозирования, или информацией индекса, представляющей текущий внутренний режим.
Модуль 14 кодирования символов может определять два или более возможных вариантов режимов внутреннего прогнозирования, которые используются для того, чтобы прогнозировать текущий режим внутреннего прогнозирования без учета того, являются ли левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования идентичными друг другу, если существует режим, который является идентичным текущему режиму внутреннего прогнозирования между режимами внутреннего прогнозирования левого блока и верхнего блока. Например, множество возможных вариантов режимов внутреннего прогнозирования, например, два, три или четыре возможных варианта режимов внутреннего прогнозирования, может быть использовано для того, чтобы определять текущий режим внутреннего прогнозирования.
Помимо этого, символы кодируются при допущении, что существует фиксированное число возможных вариантов режимов внутреннего прогнозирования без учета случая, в котором число возможных вариантов режимов внутреннего прогнозирования изменяется, и за счет этого может упрощаться операция кодирования внутреннего режима.
Модуль 14 кодирования символов настоящего варианта осуществления может определять режимы внутреннего прогнозирования по умолчанию в качестве множества возможных вариантов режимов внутреннего прогнозирования на основе режима внутреннего прогнозирования левого блока, если режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу. Согласно другому варианту осуществления, модуль 14 кодирования символов может определять множество возможных вариантов режимов внутреннего прогнозирования посредством модификации режима внутреннего прогнозирования левого блока, если режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу.
Согласно варианту осуществления, модуль 14 кодирования символов может определять два возможных варианта режимов внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования, соответственно, в качестве режимов внутреннего прогнозирования левого блока и верхнего блока, если режимы внутреннего прогнозирования левого блока и верхнего блока отличаются друг от друга.
Согласно варианту осуществления, модуль 14 кодирования символов может кодировать информацию, представляющую возможный вариант режима внутреннего прогнозирования, соответствующий текущему режиму внутреннего прогнозирования, на основе множества возможных вариантов режимов внутреннего прогнозирования.
Согласно варианту осуществления, модуль 14 кодирования символов может кодировать информацию индекса, представляющую возможный вариант режима внутреннего прогнозирования, соответствующий текущему режиму внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования, если существует режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования текущего блока между режимами внутреннего прогнозирования левого блока и верхнего блока.
Согласно варианту осуществления, модуль 14 кодирования символов может кодировать информацию текущего режима внутреннего прогнозирования, представляющую режим внутреннего прогнозирования текущего блока, если режим внутреннего прогнозирования текущего блока отличается от режимов внутреннего прогнозирования левого блока и верхнего блока.
Согласно другому варианту осуществления, модуль 14 кодирования символов может кодировать информацию текущего внутреннего режима, представляющую взаимосвязь между возможными вариантами режимов внутреннего прогнозирования и текущим режимом внутреннего прогнозирования, так что текущий режим внутреннего прогнозирования может логически выводиться из множества возможных вариантов режимов внутреннего прогнозирования, даже когда режим внутреннего прогнозирования текущего блока отличается от режимов внутреннего прогнозирования левого блока и верхнего блока. В этом случае, даже если режим внутреннего прогнозирования текущего блока отличается от режимов внутреннего прогнозирования левого блока и верхнего блока, модуль 14 кодирования символов определяет множество возможных вариантов режимов внутреннего прогнозирования и кодирует информацию текущего внутреннего режима на основе множества возможных вариантов режимов внутреннего прогнозирования.
Следовательно, модуль 14 кодирования символов может выводить информацию текущего внутреннего режима после MPM-флага, который кодируется для текущего блока.
Кроме того, модуль 14 кодирования символов может кодировать информацию, представляющую число возможных вариантов режимов внутреннего прогнозирования.
Модуль 14 кодирования символов варианта осуществления может кодировать квантованный коэффициент преобразования остаточных данных, которые формируются в результате внутреннего прогнозирования текущего блока.
Следовательно, устройство 10 кодирования видео настоящего варианта осуществления может кодировать и выводить символы, сформированные в результате внутреннего прогнозирования блоков видео.
Устройство 10 кодирования видео настоящего варианта осуществления может включать в себя центральный процессор (не показан) для общего управления модулем 12 внутреннего прогнозирования и модулем 14 кодирования символов. В противном случае модуль 12 внутреннего прогнозирования и модуль 14 кодирования символов управляются, соответственно, посредством специализированных процессоров (не показаны), и устройство 10 кодирования видео может управляться в целом посредством систематических операций процессоров (не показаны). В противном случае модуль 12 внутреннего прогнозирования и модуль 14 кодирования символов могут управляться посредством внешнего процессора (не показан) устройства 10 кодирования видео согласно варианту осуществления.
Согласно варианту осуществления, устройство 10 кодирования видео может включать в себя один или более модулей хранения данных (не показаны) для сохранения входных/выходных данных модуля 12 внутреннего прогнозирования и модуля 14 кодирования символов. Устройство 10 кодирования видео может включать в себя контроллер запоминающего устройства (не показан) для управления вводом/выводом данных модуля хранения данных (не показано).
Согласно настоящему варианту осуществления, устройство 10 кодирования видео может выполнять операцию кодирования видео, включающую в себя прогнозирование и преобразование, посредством совместной работы с процессором кодирования видео, установленным в нем, или внешним процессором кодирования видео, чтобы выводить результат кодирования видео. Внутренний процессор кодирования видео в устройстве 10 кодирования видео согласно варианту осуществления может включать в себя случай, в котором устройство 10 кодирования видео или центральное вычислительное устройство, или графическое вычислительное устройство включает в себя модуль обработки кодирования видео, чтобы выполнять базовые операции кодирования видео, а также отдельный процессор.
Фиг. 2 является блок-схемой устройства 20 декодирования видео, согласно варианту осуществления настоящего изобретения.
Устройство 20 декодирования видео может декодировать видеоданные, которые кодируются посредством устройства 10 кодирования видео, посредством синтаксического анализа, декодирования символов, обратного квантования, обратного преобразования или внутреннего прогнозирования/компенсации движения, чтобы восстанавливать видеоданные, которые являются аналогичными исходным видеоданным пространственной области. В дальнейшем в этом документе описываются процессы синтаксического анализа символов для внутреннего прогнозирования из потоков битов и восстановления режима внутреннего прогнозирования из синтаксически проанализированных символов.
Устройство 20 декодирования видео настоящего варианта осуществления включает в себя модуль 22 синтаксического анализа и модуль 24 внутреннего прогнозирования.
Устройство 20 декодирования видео может принимать поток битов, в который записываются кодированные данные видео. Модуль 22 синтаксического анализа может синтаксически анализировать символы из потока битов.
Модуль 22 синтаксического анализа настоящего варианта осуществления может синтаксически анализировать символы, которые формируются в качестве результата внутреннего прогнозирования относительно блоков видео из потока битов.
Модуль 22 синтаксического анализа может синтаксически анализировать MPM-флаги блоков во время синтаксического анализа символов видеоблоков из принимаемого потока битов.
Модуль 22 синтаксического анализа настоящего варианта осуществления может определять то, используется ли фиксированное число из множества возможных вариантов режимов внутреннего прогнозирования для того, чтобы прогнозировать режим внутреннего прогнозирования текущего блока, на основе синтаксически проанализированного MPM-флага текущего блока.
В случае если используются возможные варианты режимов внутреннего прогнозирования, поскольку предполагается постоянное число возможных вариантов режимов внутреннего прогнозирования, модуль 22 синтаксического анализа может синтаксически анализировать информацию текущего внутреннего режима без учета случая, в котором число возможных вариантов режимов внутреннего прогнозирования изменяется после синтаксического анализа MPM-флага. После синтаксического анализа символов, связанных с внутренним прогнозированием текущего блока, посредством модуля 22 синтаксического анализа, модуль 24 внутреннего прогнозирования может восстанавливать данные для внутреннего прогнозирования, например, режима внутреннего прогнозирования текущего блока, посредством использования синтаксически проанализированных символов. Квантованный коэффициент преобразования остаточных данных, сформированных в результате внутреннего прогнозирования текущего блока, может быть восстановлен из синтаксически проанализированных данных посредством модуля 22 синтаксического анализа.
В случае если определяется то, что используется множество возможных вариантов режимов внутреннего прогнозирования, на основе MPM-флага, модуль 24 внутреннего прогнозирования настоящего варианта осуществления может определять множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, для прогнозирования режима внутреннего прогнозирования текущего блока при восстановлении текущего режима внутреннего прогнозирования текущего блока посредством использования синтаксически проанализированных символов блоков. Например, модуль 24 внутреннего прогнозирования может прогнозировать текущий режим внутреннего прогнозирования посредством постоянного использования трех возможных вариантов режимов внутреннего прогнозирования. В качестве другого примера, модуль 24 внутреннего прогнозирования может допускать, что постоянно используются два возможных варианта режимов внутреннего прогнозирования.
Модуль 24 внутреннего прогнозирования настоящего варианта осуществления может определять множество возможных вариантов режимов внутреннего прогнозирования на основе режимов внутреннего прогнозирования левого блока и верхнего блока, которые являются смежными с текущим блоком.
Модуль 24 внутреннего прогнозирования настоящего варианта осуществления может восстанавливать режим внутреннего прогнозирования из синтаксически проанализированных символов текущего блока. Модуль 24 внутреннего прогнозирования может выполнять внутреннее прогнозирование для текущего блока посредством использования режима внутреннего прогнозирования.
Устройство 20 декодирования видео может восстанавливать остаточные данные пространственной области из квантованного коэффициента преобразования остаточных данных через обратное квантование и обратное преобразование, в случае если квантованный коэффициент преобразования остаточных данных текущего блока синтаксически анализируется из потока битов. Модуль 24 внутреннего прогнозирования может выполнять внутреннее прогнозирование относительно остаточных данных пространственной области текущего блока посредством использования режима внутреннего прогнозирования.
Режим 24 внутреннего прогнозирования согласно настоящему варианту осуществления может определять множество возможных вариантов режимов внутреннего прогнозирования, чтобы прогнозировать текущий режим внутреннего прогнозирования, даже когда режимы внутреннего прогнозирования левого блока и верхнего блока относительно текущего блока являются идентичными или отличающимися друг от друга. Следовательно, режим 24 внутреннего прогнозирования может определять множество режимов внутреннего прогнозирования без учета того, являются ли режимы внутреннего прогнозирования левого блока и верхнего блока идентичными друг другу.
Если режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу, модуль 24 внутреннего прогнозирования настоящего варианта осуществления может определять режимы внутреннего прогнозирования по умолчанию в качестве множества возможных вариантов режимов внутреннего прогнозирования на основе режима внутреннего прогнозирования левого блока. Например, когда режим внутреннего прогнозирования левого блока является предварительно определенным режимом внутреннего прогнозирования, может быть определено то, что множество возможных вариантов режимов внутреннего прогнозирования включают в себя множество режимов внутреннего прогнозирования по умолчанию.
В качестве другого примера, если режимы внутреннего прогнозирования левого блока и верхнего блока являются идентичными друг другу, режим 24 внутреннего прогнозирования может определять множество возможных вариантов режимов внутреннего прогнозирования посредством использования режима внутреннего прогнозирования левого блока. Например, когда режим внутреннего прогнозирования левого блока является предварительно определенным режимом внутреннего прогнозирования, может быть определено то, что множество возможных вариантов режимов внутреннего прогнозирования включают в себя значения, полученные или модифицированные из режима внутреннего прогнозирования левого блока.
Если режимы внутреннего прогнозирования левого блока и верхнего блока отличаются друг от друга, режим 24 внутреннего прогнозирования настоящего варианта осуществления может использовать режимы внутреннего прогнозирования левого блока и верхнего блока в качестве двух возможных вариантов режимов внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования.
Модуль 22 синтаксического анализа настоящего варианта осуществления может синтаксически анализировать информацию текущего внутреннего режима после MPM-флага при синтаксическом анализе символов текущего блока из потока битов.
Модуль 22 синтаксического анализа настоящего варианта осуществления может синтаксически анализировать информацию индекса, представляющую один возможный вариант режима внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования, в качестве информации текущего внутреннего режима, если определено то, что множество возможных вариантов режимов внутреннего прогнозирования используется для того, чтобы определять текущий режим внутреннего прогнозирования, на основе синтаксически проанализированного MPM-флага. Модуль 24 внутреннего прогнозирования может определять один возможный вариант режима прогнозирования, выбранный на основе информации индекса, из множества возможных вариантов режимов внутреннего прогнозирования в качестве текущего режима внутреннего прогнозирования.
Модуль 22 синтаксического анализа настоящего варианта осуществления может синтаксически анализировать индекс режима внутреннего прогнозирования, точно представляющий направление внутреннего прогнозирования текущего блока в качестве информации текущего внутреннего режима, в случае если режим внутреннего прогнозирования текущего блока отличается от режимов внутреннего прогнозирования левого блока и верхнего блока на основе MPM-флага. Следовательно, модуль 24 внутреннего прогнозирования может определять внутренний режим текущего блока непосредственно из информации текущего внутреннего режима.
В качестве другого примера, модуль 24 внутреннего прогнозирования может определять режим внутреннего прогнозирования блока на основе информации текущего внутреннего режима текущего блока и множества возможных вариантов режимов внутреннего прогнозирования. Например, взаимосвязь между возможными вариантами режимов внутреннего прогнозирования и текущим режимом внутреннего прогнозирования может быть интерпретирована из информации текущего внутреннего режима. В этом случае модуль 24 внутреннего прогнозирования определяет множество возможных вариантов режимов внутреннего прогнозирования, даже когда текущий режим внутреннего прогнозирования отличается от режимов внутреннего прогнозирования левого блока и правого блока, и может определять текущий режим внутреннего прогнозирования посредством логического вывода из возможных вариантов режимов внутреннего прогнозирования посредством использования информации текущего внутреннего режима.
Устройство 20 масштабируемого декодирования видео настоящего варианта осуществления может включать в себя центральный процессор (не показан), который управляет модулем 22 синтаксического анализа и модулем 24 внутреннего прогнозирования. В противном случае модуль 22 синтаксического анализа и модуль 24 внутреннего прогнозирования управляются, соответственно, посредством специализированных процессоров (не показаны), и устройство 20 декодирования видео может управляться в целом посредством систематических операций процессоров (не показаны). В противном случае модуль 22 синтаксического анализа и модуль 24 внутреннего прогнозирования могут управляться посредством внешнего процессора (не показан) устройства 20 декодирования видео согласно варианту осуществления.
Согласно варианту осуществления, устройство 20 декодирования видео может включать в себя один или более модулей хранения данных (не показаны) для сохранения входных/выходных данных модуля 22 синтаксического анализа и модуля 24 внутреннего прогнозирования. Устройство 20 декодирования видео может включать в себя контроллер запоминающего устройства (не показан) для управления вводом/выводом данных модуля хранения данных (не показан).
Согласно настоящему варианту осуществления, устройство 20 декодирования видео может выполнять операцию декодирования видео, включающую в себя обратное преобразование, посредством совместной работы с процессором декодирования видео, установленным в нем, или внешним процессором декодирования видео, чтобы восстанавливать видео через декодирование видео. Внутренний процессор декодирования видео в устройстве 20 декодирования видео согласно варианту осуществления может включать в себя случай, в котором устройство 20 декодирования видео или центральное вычислительное устройство, или графическое вычислительное устройство включает в себя модуль обработки декодирования видео, чтобы выполнять базовые операции декодирования видео, а также отдельный процессор.
Согласно устройству 10 кодирования видео и устройству 20 декодирования видео, описанным со ссылкой на фиг. 1 и 2, при восстановлении режима внутреннего прогнозирования посредством синтаксического анализа символов блоков из потока битов, символы блоков, включающие в себя MPM-флаг и информацию текущего внутреннего режима, синтаксически анализируются, и затем текущий режим внутреннего прогнозирования может быть восстановлен на основе MPM-флага и информации текущего внутреннего режима из синтаксически проанализированных символов. Следовательно, процесс синтаксического анализа символов блоков из потока битов и процесс восстановления режима внутреннего прогнозирования из синтаксически проанализированных символов могут разделяться друг от друга. Если процессы синтаксического анализа и восстановления символов не разделяются, символы должны быть восстановлены при синтаксическом анализе символов, и символы синтаксически анализируются снова, т.е. операции синтаксического анализа и восстановления символов блока повторяются, в силу этого снижая эффективность процесса декодирования. Следовательно, согласно устройству 10 кодирования видео и устройству 20 декодирования видео настоящего варианта осуществления, процессы синтаксического анализа и восстановления режима внутреннего прогнозирования разделяются во время синтаксического анализа символов, и, соответственно, может повышаться эффективность процесса декодирования.
Если число возможных вариантов режимов внутреннего прогнозирования варьируется в зависимости от случаев, даже когда существует множество возможных вариантов режимов внутреннего прогнозирования, процесс синтаксического анализа становится сложным, поскольку переменные согласно числу возможных вариантов режимов внутреннего прогнозирования должны рассматриваться при синтаксическом анализе внутренней связанной информации. Тем не менее, согласно устройству 20 декодирования видео настоящего варианта осуществления, предполагается постоянное число возможных вариантов режимов внутреннего прогнозирования при прогнозировании режима внутреннего прогнозирования посредством использования возможных вариантов режимов внутреннего прогнозирования, и в силу этого MPM-флаг и информация текущего внутреннего режима могут быть синтаксически проанализированы без учета случая, в котором число возможных вариантов режимов внутреннего прогнозирования изменяется в ходе процесса синтаксического анализа символов, за счет этого снижая сложность операции синтаксического анализа.
В дальнейшем в этом документе описываются варианты осуществления для прогнозирования режимов внутреннего прогнозирования, которые могут быть реализованы в устройстве 10 кодирования видео и устройстве 20 декодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 3 является схемой, показывающей блоки, к которым обращаются с тем, чтобы прогнозировать режимы внутреннего прогнозирования согласно варианту осуществления настоящего изобретения.
Единицы прогнозирования (PU) показаны как примеры блоков. PU являются единицами данных для выполнения прогнозирования посредством каждой единицы кодирования в способе кодирования видео на основе единицы кодирования согласно древовидной структуре. Устройство 10 кодирования видео и устройство 20 декодирования видео согласно настоящему варианту осуществления не ограничены PU, имеющей фиксированный размер, а могут выполнять прогнозирование относительно PU различных размеров. Ниже описывается способ декодирования видео и PU на основе единицы кодирования согласно древовидной структуре со ссылкой на фиг. 7-19. В дальнейшем в этом документе описываются варианты осуществления для прогнозирования режима внутреннего прогнозирования PU; тем не менее, вышеописанные варианты осуществления аналогично могут применяться к различным видам блоков.
Устройство 10 кодирования видео согласно настоящему варианту осуществления может определять то, существует ли режим внутреннего прогнозирования, который является идентичным текущему режиму прогнозирования текущей PU 30, из числа режимов внутреннего прогнозирования левой PU 32 и верхней PU 33, чтобы прогнозировать режим внутреннего прогнозирования текущей PU 30 согласно настоящему варианту осуществления. MPM-флаг может быть кодирован согласно результату определения.
Например, если режимы внутреннего прогнозирования левой PU 32 и верхней PU 33 отличаются от текущего режима внутреннего прогнозирования, MPM-флаг кодируется равным 0, а если, по меньшей мере, один из режимов внутреннего прогнозирования левой PU 32 и верхней PU 33 является идентичным текущему режиму внутреннего прогнозирования, MPM-флаг может быть кодирован равным 1.
В дальнейшем в этом документе режимы внутреннего прогнозирования левой и верхней PU 32 и 33 упоминаются в качестве левого и верхнего режимов внутреннего прогнозирования для удобства описания.
Если левый/верхний режимы внутреннего прогнозирования отличаются от текущего режима внутреннего прогнозирования, может кодироваться информация текущего внутреннего режима, представляющая текущий режим внутреннего прогнозирования.
Если существует режим внутреннего прогнозирования, который является идентичным текущему режиму внутреннего прогнозирования между левым и верхним режимами внутреннего прогнозирования, два или более различных возможных вариантов режимов внутреннего прогнозирования могут быть определены для прогнозирования текущего режима внутреннего прогнозирования. Возможные варианты режимов внутреннего прогнозирования могут быть режимами внутреннего прогнозирования, которые имеют высокую вероятность прогнозирования в качестве текущего режима внутреннего прогнозирования.
Два возможных варианта режимов внутреннего прогнозирования могут представлять собой левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования.
Уравнение 1 для определения MPM
MPM0=min (leftIntraMode, aboveInftraMode);
MPM1=max(leftIntraMode, aboveInftraMode).
В уравнении 1 для определения MPM, MPM0 и MPM1 являются, соответственно, возможными вариантами режимов внутреннего прогнозирования первого ранга и второго ранга min(A, B) является функцией для вывода меньшего значения между A и B, и max(A, B) является функцией для вывода большего значения.
В уравнении 1 для определения MPM, leftIntraMode и aboveInftraMode являются, соответственно, индексом левого режима внутреннего прогнозирования и индексом верхнего режима внутреннего прогнозирования. Меньший индекс выделяется режиму внутреннего прогнозирования с высокой вероятностью формирования, либо который используется предпочтительно.
Иными словами, согласно уравнению 1 для определения MPM, индекс левого режима внутреннего прогнозирования и верхнего режима внутреннего прогнозирования привязываются к возможным вариантам режимов внутреннего прогнозирования первого и второго ранга в порядке возрастания, и в силу этого левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования могут использоваться в качестве возможного варианта режима внутреннего прогнозирования в порядке вероятности формирования или приоритета.
Вышеописанный случай также применяется к устройству 20 декодирования видео. Левый и верхний режимы внутреннего прогнозирования отличаются от текущего режима внутреннего прогнозирования после синтаксического анализа MPM-флага из потока битов, информация текущего внутреннего режима, представляющая текущий режим внутреннего прогнозирования, синтаксически анализируется из потока битов, и когда режим внутреннего прогнозирования между левым и верхним режимами внутреннего прогнозирования является идентичным текущему режиму внутреннего прогнозирования, могут определяться два или более различных возможных вариантов режимов внутреннего прогнозирования для прогнозирования текущего режима внутреннего прогнозирования.
Тем не менее, когда левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования являются идентичными друг другу, множество возможных вариантов режимов внутреннего прогнозирования еще не определяются, даже если левый и верхний режимы внутреннего прогнозирования используются в качестве возможных вариантов режимов внутреннего прогнозирования.
В дальнейшем в этом документе при условии, что между левым и верхним режимами внутреннего прогнозирования существует режим внутреннего прогнозирования, который является идентичным текущему режиму внутреннего прогнозирования, и левый и верхний режимы внутреннего прогнозирования являются идентичными друг другу, описываются варианты осуществления для определения множества различных возможных вариантов режимов внутреннего прогнозирования.
1. Множество возможных вариантов режимов внутреннего прогнозирования может включать в себя различные режимы внутреннего прогнозирования по умолчанию. В качестве режима внутреннего прогнозирования по умолчанию согласно настоящему варианту осуществления может использоваться режим внутреннего прогнозирования, который имеет высокую вероятность формирования, режим внутреннего прогнозирования, имеющий превосходную функцию прогнозирования, или режим, аналогичный левому режиму внутреннего прогнозирования. Режим прогнозирования, имеющий высокую вероятность формирования или имеющий превосходную функцию прогнозирования, может включать в себя режим DC-прогнозирования, планарный режим и режим прогнозирования в вертикальном направлении (в дальнейшем в этом документе вертикальный режим).
В случае если внутреннее прогнозирование выполняется согласно планарному режиму из числа режимов внутреннего прогнозирования, яркость пикселов в PU имеет форму с градацией и может прогнозироваться как постепенно возрастающая или понижающаяся в предварительно определенном направлении.
Например, в случае если левый режим внутреннего прогнозирования представляет собой режим DC-прогнозирования или планарный режим, три возможных варианта режимов внутреннего прогнозирования представляют собой режимы внутреннего прогнозирования по умолчанию, т.е. режимом DC-прогнозирования, планарный режим и вертикальный режим.
2. Множество возможных вариантов режимов внутреннего прогнозирования может включать в себя левый режим внутреннего прогнозирования и режимы внутреннего прогнозирования по умолчанию.
Уравнение 2 для определения MPM
if(leftIntraMode == aboveIntraMode ==DC);
aboveIntramode=Planar mode {or 0 if no planar mode}
иначе
aboveIntraMode=DC.
Согласно уравнению 2 для определения MPM, после определения левого режима внутреннего прогнозирования и верхнего режима внутреннего прогнозирования, возможные варианты режимов внутреннего прогнозирования могут быть определены посредством уравнения 1 для определения MPM.
Согласно уравнению 2 для определения MPM, если левый и верхний режимы внутреннего прогнозирования представляют собой режимы внутреннего DC-прогнозирования, верхний режим внутреннего прогнозирования может быть изменен на планарный режим (или режим внутреннего прогнозирования, имеющий индекс 0). В этом случае возможные варианты режимов внутреннего прогнозирования могут включать в себя режим DC-прогнозирования, который является левым режимом внутреннего прогнозирования, либо планарный режим (или режим внутреннего прогнозирования индекса 0) согласно уравнению 1 для определения MPM.
Кроме того, согласно уравнению 2 для определения MPM, в случае если, по меньшей мере, один из левого режима внутреннего прогнозирования и верхнего режима внутреннего прогнозирования не представляет собой режим внутреннего DC-прогнозирования, верхний режим внутреннего прогнозирования может быть изменен на режим внутреннего DC-прогнозирования. В этом случае возможные варианты режимов внутреннего прогнозирования могут включать в себя левый режим внутреннего прогнозирования или режим внутреннего DC-прогнозирования согласно уравнению 1 для определения MPM.
3. Множество возможных вариантов режимов внутреннего прогнозирования может быть изменено на значения с использованием левого режима внутреннего прогнозирования или модифицировано из левого режима внутреннего прогнозирования.
Например, в случае если левый режим внутреннего прогнозирования представляет собой режим внутреннего прогнозирования предварительно определенного направления, возможные варианты режимов внутреннего прогнозирования включают в себя левый режим внутреннего прогнозирования и могут включать в себя режим внутреннего прогнозирования, соответствующий увеличению или снижению индекса от индекса, представляющего левый режим внутреннего прогнозирования, на предварительно определенное смещение.
Уравнение 1 для определения MPM
MPM0=leftIntraMode;
MPM1=leftIntraMode-n;
MPM2=leftIntraMode+n.
Согласно уравнению 3 для определения MPM, левый режим внутреннего прогнозирования может использоваться в качестве возможного варианта режима внутреннего прогнозирования первого ранга, режим внутреннего прогнозирования, имеющий индекс, который на n меньше индекса левого режима внутреннего прогнозирования, может использоваться в качестве возможного варианта режима внутреннего прогнозирования второго ранга, и режим внутреннего прогнозирования, имеющий индекс, который на n больше индекса левого режима внутреннего прогнозирования, может использоваться в качестве возможного варианта режима внутреннего прогнозирования третьего ранга. Здесь n может быть целым числом, например, 1, 2,...,.
4. Множество возможных вариантов режимов внутреннего прогнозирования может быть определено посредством использования таблицы поиска, показывающей корреляции между значением левого режима внутреннего прогнозирования и соответствующих возможных вариантов режимов внутреннего прогнозирования. Иными словами, множество возможных вариантов режимов внутреннего прогнозирования, привязанных к левому режиму внутреннего прогнозирования, может быть выбрано на основе таблицы поиска. Поскольку возможные варианты режимов внутреннего прогнозирования определяются согласно левому режиму внутреннего прогнозирования в вышеописанных пунктах 1, 2 и 3, могут извлекаться результаты, аналогичные результатам способа привязки на основе таблицы поиска согласно левому режиму внутреннего прогнозирования.
5. Таблица поиска возможных вариантов режимов внутреннего прогнозирования включает в себя левый режим внутреннего прогнозирования в качестве первого ранга и может включать в себя режимы внутреннего прогнозирования, имеющие высокие частоты формирования в порядке убывания, в качестве второго ранга и т.п.
6. Определяется частота формирования или статистическая вероятность каждого режима внутреннего прогнозирования, который кодируется (декодируется) до этого, и режимы внутреннего прогнозирования, имеющие высокие статистические вероятности, могут использоваться в качестве возможных вариантов режимов внутреннего прогнозирования.
7. Если режим внутреннего прогнозирования отличается от режимов внутреннего прогнозирования левой и верхней PU из числа соседних PU за исключением левой и верхней PU, возможные варианты режимов внутреннего прогнозирования могут включать в себя левый (верхний) режим внутреннего прогнозирования и обнаруженный режим внутреннего прогнозирования соседней PU.
Далее описываются вышеуказанные примеры 7 со ссылкой на фиг. 4.
Фиг. 4 показывает примеры PU, к которым обращаются с тем, чтобы прогнозировать режим внутреннего прогнозирования, при кодировании видео на основе единицы кодирования согласно древовидной структуре.
Чтобы прогнозировать режим внутреннего прогнозирования текущей PU 40, к левой PU 41 и верхней PU 42 можно обращаться с наивысшим приоритетом. Если существует много PU, смежных с левой или верхней границей текущей PU 40, к режимам внутреннего прогнозирования левой и верхней PU 41 и 42, которые являются смежными с верхней левой выборкой в текущей PU 40, можно обращаться с приоритетом.
Если режимы внутреннего прогнозирования левой PU 41 и верхней PU 42 являются идентичными друг другу, можно обращаться к режимам внутреннего прогнозирования соседних PU предварительно определенных местоположений за исключением левой и верхней PU 41 и 42 из числа соседних PU, смежных с текущей PU 40. Например, можно обращаться к режимам внутреннего прогнозирования верхней левой PU 45, верхней правой PU 47 и нижней левой PU 40. Если один из режимов внутреннего прогнозирования верхней левой PU 45, верхней правой PU 47 и нижней левой PU 49 отличается от режимов внутреннего прогнозирования левой и верхней PU 41 и 42, он может использоваться в качестве возможного варианта режима внутреннего прогнозирования.
Например, возможный вариант режима внутреннего прогнозирования первого ранга может представлять собой режимы внутреннего прогнозирования левой PU 41 и верхней PU 42. Обнаруживается то, существует ли режим внутреннего прогнозирования, который является отличным от режимов внутреннего прогнозирования левой и верхней PU 41 и 42, из числа режимов внутреннего прогнозирования верхней левой PU 45, верхней правой PU 47 и нижней левой PU 49 в предварительно определенном порядке, и режим внутреннего прогнозирования, который обнаруживается первым, может использоваться в качестве возможного варианта режима внутреннего прогнозирования второго ранга.
В качестве другого примера, если режимы внутреннего прогнозирования левой и верхней PU 41 и 42 являются идентичными друг другу, обнаруживается последовательно в предварительно определенном порядке то, существует ли режим внутреннего прогнозирования, который отличается от режимов внутреннего прогнозирования левой и верхней PU 41 и 42, из числа режимов внутреннего прогнозирования соседних PU 43, 44, 45, 47 и 49 за исключением левой и верхней PU, и режим внутреннего прогнозирования, который обнаруживается первым, может использоваться в качестве возможного варианта режима прогнозирования второго ранга.
Подробнее, режим внутреннего прогнозирования сравнивается с режимами внутреннего прогнозирования левой и верхней PU 41 и 42 начиная с верхней правой PU 47, и может быть определено посредством выполнения поиска то, существует ли PU, имеющая режим внутреннего прогнозирования, который отличается от режимов внутреннего прогнозирования левой и верхней PU 41 и 42 вдоль соседних PU 47, 44 и 45, расположенных сверху от текущей PU 40. Режим внутреннего прогнозирования, который обнаруживается первым, может использоваться в качестве возможного варианта режима внутреннего прогнозирования второго ранга.
После поиска верхней левой PU 45, если отсутствует режим внутреннего прогнозирования, который отличается от режимов внутреннего прогнозирования левой и верхней PU 41 и 42, может быть определено посредством выполнения поиска то, существует ли PU, имеющая режим внутреннего прогнозирования, который отличается от режимов внутреннего прогнозирования левой и верхней PU 41 и 42, начиная с нижней левой PU 49 вверх вдоль соседних PU, расположенных слева от текущей PU 40. Режим внутреннего прогнозирования, обнаруженный первым, может использоваться в качестве возможного варианта режима внутреннего прогнозирования второго ранга.
В вышеприведенном варианте осуществления, выполняется поиск соседних PU, расположенных сверху от текущей PU начиная с верхней правой PU 47, а затем выполняется поиск соседних PU, расположенных слева от текущей PU начиная с нижней левой PU 49; тем не менее, вышеуказанный порядок выполнения поиска может варьироваться.
В случае если один из левого и верхнего режимов внутреннего прогнозирования является идентичным текущему режиму внутреннего прогнозирования, и левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования являются идентичными друг другу, различные варианты осуществления для определения множества различных возможных вариантов режимов внутреннего прогнозирования описываются выше.
Как описано выше, устройство 10 кодирования видео и устройство 20 декодирования видео настоящего варианта осуществления могут прогнозировать текущий режим внутреннего прогнозирования посредством использования множества возможных вариантов режимов внутреннего прогнозирования, которые всегда отличаются друг от друга, в случае если существует один из левого и верхнего режима внутреннего прогнозирования, который является идентичным текущему режиму прогнозирования, и левый и верхний режимы внутреннего прогнозирования являются отличающимися или идентичными друг другу.
Соответственно, если режимы внутреннего прогнозирования соседних левого и верхнего блоков являются идентичными друг другу, устройство 10 кодирования видео не должно обязательно кодировать информацию, представляющую случай, в котором число возможных вариантов режимов внутреннего прогнозирования изменяется, и может кодировать MPM-флаг и информацию текущего внутреннего режима только в качестве информации, связанной с режимом внутреннего прогнозирования.
Следовательно, устройство 20 декодирования видео согласно настоящему варианту осуществления только синтаксически анализирует MPM-флаг и информацию текущего внутреннего режима в ходе процесса синтаксического анализа информации, связанной с внутренним прогнозированием текущего блока, и нет необходимости определять то, являются ли режимы внутреннего прогнозирования соседних левого и верхнего блоков идентичными друг другу. Поскольку нет необходимости определять то, являются ли режимы внутреннего прогнозирования левого и верхнего блоков идентичными друг другу, нет необходимости восстанавливать режимы внутреннего прогнозирования левого и верхнего блоков. Помимо этого, поскольку процесс восстановления режима внутреннего прогнозирования из синтаксически проанализированных символов во время синтаксического анализа символов и синтаксического анализа символов снова опускается, процесс синтаксического анализа режима внутреннего прогнозирования может быть выполнен быстро. В связи с этим, может быть повышена эффективность процесса декодирования, включающего в себя синтаксический анализ и восстановление режима внутреннего прогнозирования.
Кроме того, режим прогнозирования режима внутреннего прогнозирования для обработки только одного возможного варианта режима внутреннего прогнозирования опускается, и за счет этого может упрощаться процесс декодирования.
Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей способ кодирования видео согласно варианту осуществления настоящего изобретения.
На этапе S51 режим внутреннего прогнозирования, определенный через внутреннее прогнозирование текущего блока из числа видеоблоков, сравнивается с режимами внутреннего прогнозирования левого блока и верхнего блока, которые являются смежными с текущим блоком.
На этапе S53 кодируется MPM-флаг, представляющий то, существует ли режим внутреннего прогнозирования между режимами внутреннего прогнозирования левого и верхнего блоков относительно текущего блока, который является идентичным режиму внутреннего прогнозирования текущего блока.
На этапе S55, если существует режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования текущего блока между режимами внутреннего прогнозирования левого и верхнего блоков, определяется множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, даже если режимы внутреннего прогнозирования левого и верхнего блоков являются отличающимися или идентичными друг другу.
На этапе S57 кодируется информация текущего внутреннего режима текущего блока, который определяется на основе множества возможных вариантов режимов внутреннего прогнозирования.
Если режимы внутреннего прогнозирования левого и верхнего блоков являются идентичными друг другу на этапе S55, режимы внутреннего прогнозирования по умолчанию могут быть определены в качестве множества возможных вариантов режимов внутреннего прогнозирования на основе режима внутреннего прогнозирования левого блока.
Кроме того, в случае если режимы внутреннего прогнозирования левого и верхнего блоков являются идентичными друг другу, множество возможных вариантов режимов внутреннего прогнозирования может быть определено посредством использования режима внутреннего прогнозирования левого блока.
Кроме того, если режимы внутреннего прогнозирования левого и верхнего блоков отличаются друг от друга, два возможных варианта режимов внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования могут быть определены в качестве режимов внутреннего прогнозирования левого и верхнего блоков.
На этапе 57, если существует режим внутреннего прогнозирования, который является идентичным режиму внутреннего прогнозирования текущего блока между режимами внутреннего прогнозирования левого и верхнего блоков, может кодироваться информация индекса, представляющая возможный вариант режима внутреннего прогнозирования, соответствующий блоку внутреннего прогнозирования текущего блока из множества возможных вариантов режимов внутреннего прогнозирования.
Кроме того, текущий режим внутреннего прогнозирования текущего блока определяется на основе режима внутреннего прогнозирования текущего блока и множества возможных вариантов режимов внутреннего прогнозирования, даже когда режим внутреннего прогнозирования текущего блока отличается от режимов внутреннего прогнозирования левого и верхнего блоков на этапе S55, и, соответственно, информация текущего внутреннего режима, представляющая взаимосвязь между текущим режимом внутреннего прогнозирования и возможными вариантами режимов внутреннего прогнозирования, может быть кодирована на этапе S57.
Фиг. 6 является блок-схемой последовательности операций способа, иллюстрирующей способ декодирования видео согласно варианту осуществления настоящего изобретения.
На этапе S61 MPM-флаг текущего блока синтаксически анализируется при синтаксическом анализе символов текущего блока из числа блоков кодированных блоков из принимаемого потока битов.
На этапе S63 определяется то, используется ли множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, для того чтобы прогнозировать режим внутреннего прогнозирования текущего блока, на основе MPM-флага.
На этапе S65, после синтаксического анализа символов блока, режим внутреннего прогнозирования текущего блока восстанавливается посредством использования синтаксически проанализированных символов. В случае если определяется то, что используется множество возможных вариантов режимов внутреннего прогнозирования, на основе MPM-флага на этапе S63, на этапе S65 может быть определено множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, для того чтобы прогнозировать режим внутреннего прогнозирования текущего блока, на основе режимов внутреннего прогнозирования левого и верхнего блоков, которые являются смежными с текущим блоком. Режим внутреннего прогнозирования текущего блока может быть прогнозирован посредством использования определенного множества возможных вариантов режимов внутреннего прогнозирования.
На этапе S67 внутреннее прогнозирование для текущего блока выполняется посредством использования режима внутреннего прогнозирования, прогнозированного на этапе S65.
Когда множество возможных вариантов режимов внутреннего прогнозирования определяется на этапе S65, если режимы внутреннего прогнозирования левого и верхнего блоков являются идентичными друг другу, режимы внутреннего прогнозирования по умолчанию могут быть определены в качестве множества возможных вариантов режимов внутреннего прогнозирования на основе режима внутреннего прогнозирования левого блока.
Кроме того, если режимы внутреннего прогнозирования левого и верхнего блоков являются идентичными друг другу, множество возможных вариантов режимов внутреннего прогнозирования может быть определено посредством использования режима внутреннего прогнозирования левого блока.
Когда множество возможных вариантов режимов внутреннего прогнозирования определяется на этапе S65, если режимы внутреннего прогнозирования левого и верхнего блоков отличаются друг от друга, два возможных варианта режимов внутреннего прогнозирования из множества возможных вариантов режимов внутреннего прогнозирования могут быть определены в качестве режимов внутреннего прогнозирования левого и верхнего блоков.
Если определено то, что используется множество режимов внутреннего прогнозирования для того, чтобы прогнозировать режим внутреннего прогнозирования текущего блока, на основе MPM-флага на этапе S63, информация индекса, представляющая один из множества возможных вариантов режимов внутреннего прогнозирования, может быть синтаксически проанализирована из потока битов. В этом случае на этапе S65 один возможный вариант режима внутреннего прогнозирования, выбранный на основе информации индекса из множества возможных вариантов режимов внутреннего прогнозирования, может быть определен в качестве режима внутреннего прогнозирования текущего блока.
Кроме того, в случае если определяется то, что режим внутреннего прогнозирования текущего блока отличается от режимов внутреннего прогнозирования левого и верхнего блоков, на основе MPM-флага на этапе S63, информация текущего внутреннего режима текущего блока может быть дополнительно синтаксически проанализирована из потока битов. В этом случае на этапе S64 взаимосвязь между режимом внутреннего прогнозирования текущего блока и множеством возможных вариантов режимов внутреннего прогнозирования интерпретируется из синтаксически проанализированной информации текущего внутреннего режима текущего блока, и режим внутреннего прогнозирования блока может быть определен на основе интерпретированного результата.
В устройстве 10 кодирования видео согласно варианту осуществления и в устройстве 20 декодирования видео согласно другому варианту осуществления настоящего изобретения, блоки, отделенные от видеоданных, разделяются на единицы кодирования древовидной структуры, и PU используются для выполнения внутреннего прогнозирования относительно единиц кодирования, как описано выше. В дальнейшем в этом документе описываются способ и устройство для кодирования видео, а также способ и устройство для декодирования видео на основе единицы кодирования древовидной структуры и единицы преобразования, со ссылкой на фиг. 7-19.
Фиг. 7 является блок-схемой устройства 100 декодирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео, выполняющее прогнозирование видео на основе единицы кодирования древовидной структуры согласно настоящему варианту осуществления, включает в себя модуль 110 разбиения на максимальные единицы кодирования, модуль 120 определения единиц кодирования и модуль 130 вывода. В дальнейшем в этом документе устройство 100 кодирования видео, выполняющее прогнозирование видео на основе единицы кодирования древовидной структуры согласно настоящему варианту осуществления, упоминается в качестве "устройства 100 кодирования видео" для удобства описания.
Модуль 110 разбиения на максимальные единицы кодирования может разбивать текущую картинку изображения на основе максимальной единицы кодирования. Если текущее изображение превышает максимальную единицу кодирования, данные изображений для текущего изображения могут разбиваться, по меньшей мере, на одну максимальную единицу кодирования. Максимальная единица кодирования согласно варианту осуществления настоящего изобретения может быть единицей данных, имеющей размер 32×32, 64×64, 128×128, 256×256 и т.д., при этом форма единицы данных является квадратом, имеющим ширину и длину в квадратах по 2. Данные изображений могут выводиться в модуль 120 определения единиц кодирования согласно, по меньшей мере, одной максимальной единице кодирования.
Единица кодирования согласно варианту осуществления настоящего изобретения может отличаться посредством максимального размера и глубины. Глубина обозначает число раз, которое единица кодирования пространственно разбивается от максимальной единицы кодирования, и по мере того как увеличивается глубина, более глубокие единицы кодирования согласно глубинам могут разбиваться от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующей каждой глубине, снижается по мере того, как увеличивается глубина максимальной единицы кодирования, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих нижним глубинам.
Как описано выше, данные изображений для текущего изображения разбиваются на максимальные единицы кодирования согласно максимальному размеру единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разбиваются согласно глубинам. Поскольку максимальная единица кодирования согласно варианту осуществления настоящего изобретения разбивается согласно глубинам, данные изображений пространственной области, включенные в максимальную единицу кодирования, могут быть иерархически классифицированы согласно глубинам.
Может быть предварительно определена максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее число раз, сколько высота и ширина максимальной единицы кодирования иерархически разбиваются.
Модуль 120 определения единиц кодирования кодирует, по меньшей мере, одну область разбиения, полученную посредством разбиения области максимальной единицы кодирования согласно глубинам, и определяет глубину, чтобы выводить конечные кодированные данные изображений согласно, по меньшей мере, одной области разбиения. Другими словами, модуль 120 определения единиц кодирования определяет кодированную глубину посредством кодирования данных изображений в более глубоких единицах кодирования согласно глубинам, согласно максимальной единице кодирования текущего изображения и выбора глубины, имеющей наименьшую ошибку кодирования. Определенная кодированная глубина и данные изображений для каждой максимальной единицы кодирования выводятся в модуль 130 вывода.
Данные изображений в максимальной единице кодирования кодируются на основе более глубоких единиц кодирования, соответствующих, по меньшей мере, одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображений сравниваются на основе каждой из более глубоких единиц кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере, одна кодированная глубина может быть выбрана для каждой максимальной единицы кодирования.
Размер максимальной единицы кодирования разбивается по мере того, как единица кодирования иерархически разбивается согласно глубинам, и по мере того, как увеличивается число единиц кодирования. Кроме того, даже если единицы кодирования соответствуют идентичной глубине в одной максимальной единице кодирования, определяется то, разбивать ли каждую из единиц кодирования, соответствующих идентичной глубине, до нижней глубины посредством измерения ошибки кодирования данных изображений каждой единицы кодирования, отдельно. Соответственно, даже когда данные изображений включаются в одну максимальную единицу кодирования, данные изображений разбиваются на области согласно глубинам, ошибки кодирования могут отличаться согласно областям в одной максимальной единице кодирования, и, таким образом, кодированные глубины могут отличаться согласно областям в данных изображений. Таким образом, одна или более кодированных глубин могут быть определены в одной максимальной единице кодирования, и данные изображений максимальной единицы кодирования могут быть разделены согласно единицам кодирования, по меньшей мере, одной кодированной глубины.
Соответственно, модуль 120 определения единиц кодирования может определять единицы кодирования, имеющие древовидную структуру, включенные в максимальную единицу кодирования. "Единицы кодирования, имеющие древовидную структуру" согласно варианту осуществления настоящего изобретения включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких единиц кодирования, включенных в максимальную единицу кодирования. Единица кодирования кодированной глубины может быть иерархически определена согласно глубинам в идентичной области максимальной единицы кодирования и может быть независимо определена в различных областях. Аналогично, кодированная глубина в текущей области может быть независимо определена из кодированной глубины в другой области.
Максимальная глубина согласно варианту осуществления настоящего изобретения является индексом, связанным с числом разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина согласно варианту осуществления настоящего изобретения может обозначать общее число разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина согласно варианту осуществления настоящего изобретения может обозначать общее число уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, когда глубина максимальной единицы кодирования равна 0, глубина единицы кодирования, на которую максимальная единица кодирования разбивается один раз, может задаваться равной 1, а глубина единицы кодирования, на которую максимальная единица кодирования разбивается два раза, может задаваться равной 2. Здесь, если минимальная единица кодирования является единицей кодирования, на которую максимальная единица кодирования разбивается четыре раза, имеется 5 уровней глубины с глубинами 0, 1, 2, 3 и 4, и за счет этого первая максимальная глубина может задаваться равной 4, а вторая максимальная глубина может задаваться равной 5.
Прогнозирующее кодирование и преобразование может выполняться согласно максимальной единице кодирования. Прогнозирующее кодирование и преобразование также выполняются на основе более глубоких единиц кодирования согласно глубине, равной, или глубинам, меньшим максимальной глубины, согласно максимальной единице кодирования.
Поскольку число более глубоких единиц кодирования увеличивается каждый раз, когда максимальная единица кодирования разбивается согласно глубинам, кодирование, включающее в себя прогнозирующее кодирование и преобразование, выполняется для всех более глубоких единиц кодирования, сформированных по мере того, как увеличивается глубина. Для удобства описания, прогнозирующее кодирование и преобразование далее описываются на основе единицы кодирования текущей глубины в максимальной единице кодирования.
Устройство 100 кодирования видео может по-разному выбирать размер или форму единицы данных для кодирования данных изображений. Чтобы кодировать данные изображений, выполняются такие операции, как прогнозирующее кодирование, преобразование и энтропийное кодирование, и в это время идентичная единица данных может использоваться для всех операций, или различные единицы данных могут использоваться для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображений, но также и единицу данных, отличающуюся от единицы кодирования, с тем чтобы выполнять прогнозирующее кодирование для данных изображений в единице кодирования.
Чтобы выполнять прогнозирующее кодирование в максимальной единице кодирования, прогнозирующее кодирование может выполняться на основе единицы кодирования, соответствующей кодированной глубине, т.е. на основе единицы кодирования, которая более не разбивается на единицы кодирования, соответствующие нижней глубине. В дальнейшем в этом документе единица кодирования, которая более не разбивается и становится базисной единицей для прогнозирующего кодирования, далее упоминается как "единица прогнозирования". Сегмент, полученный посредством разбиения единицы прогнозирования, может включать в себя единицу данных, полученную посредством разбиения, по меньшей мере, одной из высоты и ширины единицы прогнозирования. Сегмент может быть единицей данных, полученной посредством разбиения единицы прогнозирования единицы кодирования, и единица прогнозирования может быть сегментом, имеющим размер, идентичный размеру единицы кодирования.
Например, когда единица кодирования в 2N×2N (где N является положительным целым числом) более не разбивается и становится единицей прогнозирования в 2N×2N, размер сегмента может составлять 2N×2N, 2N×N, N×2N или N×N. Примеры типа сегмента включают в себя симметричные сегменты, которые получаются посредством симметричного разбиения высоты или ширины единицы прогнозирования, сегменты, полученные посредством асимметричного разбиения высоты или ширины единицы прогнозирования, к примеру, 1:n или n:1, сегменты, которые получаются посредством геометрического разбиения единицы прогнозирования, и сегменты, имеющие произвольные формы.
Режим прогнозирования единицы прогнозирования может быть, по меньшей мере, одним из внутреннего режима, взаимного режима и режима пропуска. Например, внутренний режим или взаимный режим могут выполняться для сегмента в 2N×2N, 2N×N, N×2N или N×N. Кроме того, режим пропуска может выполняться только для сегмента в 2N×2N. Кодирование независимо выполняется для одной единицы прогнозирования в единице кодирования, в силу этого выбирая режим прогнозирования, имеющий наименьшую ошибку кодирования.
Устройство 100 кодирования видео также может выполнять преобразование для данных изображений в единице кодирования на основе не только единицы кодирования для кодирования данных изображений, но также и на основе единицы данных, которая отличается от единицы кодирования. Чтобы выполнять преобразование в единице кодирования, преобразование может выполняться на основе единицы данных, имеющей размер, меньший или равный единице кодирования. Например, единица данных для преобразования может включать в себя единицу данных для внутреннего режима и единицу данных для взаимного режима.
Аналогично единице кодирования, единица преобразования в единице кодирования может рекурсивно разбиваться на области меньших размеров, так что единица преобразования может быть определена независимо в единицах областей. Таким образом, остаточные данные в единице кодирования могут быть разделены согласно преобразованию, имеющему древовидную структуру согласно глубинам преобразования.
Глубина преобразования, указывающая число разбиений, чтобы достигать единицы преобразования посредством разбиения высоты и ширины единицы кодирования, также может задаваться в единице преобразования. Например, в текущей единице кодирования в 2N×2N, глубина преобразования может быть равна 0, когда размер единицы преобразования также составляет 2N×2N, может быть равна 1, когда размер единицы преобразования составляет N×N, и может быть равна 2, когда размер единицы преобразования составляет N/2×N/2. Т.е. единица преобразования может быть задана согласно древовидной структуре.
Информация кодирования согласно единицам кодирования, соответствующим кодированной глубине, требует не только информацию относительно кодированной глубины, но также и информацию, связанную с прогнозирующим кодированием и преобразованием. Соответственно, модуль 120 определения единиц кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но также и определяет тип сегмента в единице прогнозирования, режим прогнозирования согласно единицам прогнозирования и размер единицы преобразования для преобразования.
Ниже подробно описываются единицы кодирования согласно древовидной структуре в максимальной единице кодирования и способ определения единицы прогнозирования/сегмента и единицы преобразования согласно вариантам осуществления настоящего изобретения со ссылкой на фиг. 7-19.
Модуль 120 определения единиц кодирования может измерять ошибку кодирования более глубоких единиц кодирования согласно глубинам посредством использования оптимизации искажения в зависимости от скорости передачи на основе множителей Лагранжа.
Модуль 130 вывода выводит данные изображений максимальной единицы кодирования, которая кодируется на основе, по меньшей мере, одной кодированной глубины, определенной посредством модуля 120 определения единиц кодирования, и информации относительно режима кодирования согласно кодированной глубине в потоках битов.
Кодированные данные изображений могут быть получены посредством кодирования остаточных данных изображения.
Информация относительно режима кодирования согласно кодированной глубине может включать в себя информацию относительно кодированной глубины, относительно типа сегмента в единице прогнозирования, режима прогнозирования и размера единицы преобразования.
Информация относительно кодированной глубины может быть задана посредством использования информации разбиения согласно глубинам, которая указывает то, выполняется ли кодирование для единиц кодирования нижней глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, данные изображений в текущей единице кодирования кодируется и выводятся, и тем самым информация разбиения может быть задана так, чтобы не разбивать текущую единицу кодирования до нижней глубины. Альтернативно, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется для единицы кодирования нижней глубины, и тем самым информация разбиения может быть задана так, чтобы разбивать текущую единицу кодирования, чтобы получать единицы кодирования нижней глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется для единицы кодирования, которая разбивается на единицу кодирования нижней глубины. Поскольку, по меньшей мере, одна единица кодирования нижней глубины существует в одной единице кодирования текущей глубины, кодирование многократно выполняется для каждой единицы кодирования нижней глубины, и за счет этого кодирование может быть рекурсивно выполнено для единиц кодирования, имеющих идентичную глубину.
Поскольку единицы кодирования, имеющие древовидную структуру, определяются для одной максимальной единицы кодирования, и информация, по меньшей мере, относительно одного режима кодирования определяется для единицы кодирования кодированной глубины, информация, по меньшей мере, относительно одного режима кодирования может быть определена для одной максимальной единицы кодирования. Кроме того, кодированная глубина данных изображений максимальной единицы кодирования может отличаться согласно местоположениям, поскольку данные изображений иерархически разбиваются согласно глубинам, и тем самым информация относительно кодированной глубины и режима кодирования может задаваться для данных изображений.
Соответственно, модуль 130 вывода может назначать информацию кодирования относительно соответствующей кодированной глубины и режима кодирования, по меньшей мере, одной из единицы кодирования, единицы прогнозирования и минимальной единицы, включенной в максимальную единицу кодирования.
Минимальная единица согласно варианту осуществления настоящего изобретения является прямоугольной единицей данных, полученной посредством разбиения минимальной единицы кодирования, составляющей самую нижнюю кодированную глубину, на 4. Альтернативно, минимальная единица может быть максимальной квадратной единицей данных, которая может быть включена во все из единиц кодирования, единиц прогнозирования, единиц сегментирования и единиц преобразования, включенных в максимальную единицу кодирования.
Например, информация кодирования, выводимая через модуль 130 вывода, может классифицироваться на информацию кодирования согласно единицам кодирования и информацию кодирования согласно единицам прогнозирования. Информация кодирования согласно единицам кодирования может включать в себя информацию относительно режима прогнозирования и относительно размера сегментов. Информация кодирования согласно единицам прогнозирования может включать в себя информацию относительно оцененного направления взаимного режима, относительно индекса опорного изображения взаимного режима, относительно вектора движения, относительно компонента сигнала цветности внутреннего режима и относительно способа интерполяции внутреннего режима.
Кроме того, информация относительно максимального размера единицы кодирования, заданного согласно изображениям, сериям последовательных макроблоков или группам изображений (GOP), и информация относительно максимальной глубины могут вставляться в заголовок потока битов, набор параметров последовательности (SPS) или набор параметров изображения (PPS).
Кроме того, информация относительно максимального размера и минимального размера единицы преобразования, разрешенная для текущего видео, может выводиться через заголовок потока битов, SPS или PPS. Модуль 130 вывода может кодировать и выводить опорную информацию, связанную с прогнозированием, описанным со ссылкой на фиг. 1-6, информацию прогнозирования, информацию однонаправленного прогнозирования и информацию типов серий последовательных макроблоков, включающую в себя четвертый тип серии последовательных макроблоков.
В устройстве 100 кодирования видео, более глубокая единица кодирования может быть единицей кодирования, полученной посредством деления высоты или ширины единицы кодирования верхней глубины, которая на один слой выше, на два. Другими словами, когда размер единицы кодирования текущей глубины равен 2N×2N, размер единицы кодирования нижней глубины равен N×N. Кроме того, единица кодирования текущей глубины, имеющая размер 2N×2N, может включать в себя самое большее 4 единицы кодирования нижней глубины.
Соответственно, устройство 100 кодирования видео может формировать единицы кодирования, имеющие древовидную структуру, посредством определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой максимальной единицы кодирования, на основе размера максимальной единицы кодирования и максимальной глубины, определенной с учетом характеристик текущего изображения. Кроме того, поскольку кодирование может выполняться для каждой максимальной единицы кодирования посредством использования любого из различных режимов прогнозирования и преобразований, оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в традиционном макроблоке, число макроблоков в расчете на изображение чрезмерно увеличивается. Соответственно, число фрагментов сжатой информации, сформированной для каждого макроблока, увеличивается, и в силу этого трудно передавать сжатую информацию, и эффективность сжатия данных снижается. Тем не менее, посредством использования устройства 100 кодирования видео, эффективность сжатия изображений может быть повышена, поскольку единица кодирования регулируется с учетом характеристик изображения при увеличении максимального размера единицы кодирования с учетом размера изображения.
Устройство 100 кодирования видео по фиг. 7 может выполнять операции устройства 10 кодирования видео, описанного со ссылкой на фиг. 1.
Модуль 120 определения единиц кодирования может выполнять операции модуля 12 внутреннего прогнозирования устройства 10 кодирования видео. Единица прогнозирования для внутреннего прогнозирования определяется в каждой максимальной единице кодирования согласно единицам кодирования, имеющим древовидную структуру, и внутреннее прогнозирование может быть выполнено посредством каждой единицы прогнозирования.
Модуль 130 вывода может выполнять операции модуля 14 кодирования символов устройства 10 кодирования видео. MPM-флаг может быть кодирован для прогнозирования режима внутреннего прогнозирования в каждой PU. Если режим внутреннего прогнозирования текущей PU является идентичным, по меньшей мере, одному из режимов внутреннего прогнозирования левой и верхней PU, множество возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, определяется безотносительно того, являются левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования идентичными или отличающимися друг от друга, и информация текущего внутреннего режима для текущей PU определяется и кодируется на основе возможных вариантов режимов внутреннего прогнозирования.
Модуль 130 вывода может определять число возможных вариантов режимов прогнозирования для каждого изображения. Аналогично, число возможных вариантов режимов внутреннего прогнозирования может быть определено для каждой серии последовательных макроблоков, для каждой максимальной единицы кодирования, для каждой единицы кодирования или для каждой PU. Варианты осуществления не ограничены этим, число возможных вариантов режимов внутреннего прогнозирования может быть определено снова для каждой предварительно определенной единицы данных.
Модуль 130 вывода может кодировать информацию, представляющую число возможных вариантов режимов внутреннего прогнозирования в качестве параметра различных уровней единиц данных, таких как PPS, SPS, уровень максимальной единицы кодирования, уровень единицы кодирования и уровень PU, согласно уровню единицы данных, обновляющей число возможных вариантов режимов внутреннего прогнозирования. Тем не менее, даже если число возможных вариантов режимов внутреннего прогнозирования определяется для каждой единицы данных, информация, представляющая число возможных вариантов режимов внутреннего прогнозирования, не всегда кодируется.
Фиг. 8 является блок-схемой устройства 200 декодирования видео на основе единицы кодирования согласно древовидной структуре, согласно варианту осуществления настоящего изобретения.
Устройство 200 декодирования видео, выполняющее прогнозирование видео на основе единицы кодирования древовидной структуры согласно настоящему варианту осуществления, включает в себя приемное устройство 210, модуль 220 извлечения данных изображений и информации кодирования и декодер 230 данных изображений. В дальнейшем в этом документе устройство 200 декодирования видео, выполняющее прогнозирование видео на основе единицы кодирования древовидной структуры согласно настоящему варианту осуществления, упоминается в качестве "устройства 200 декодирования видео" для удобства описания.
Определения различных терминов, таких как единица кодирования, глубина, единица прогнозирования, единица преобразования и информация относительно различных режимов кодирования, для различных операций устройства 200 декодирования видео являются идентичными определениям, описанным со ссылкой на фиг. 1 и устройство 100 кодирования видео.
Приемное устройство 210 принимает и синтаксически анализирует поток битов кодированного видео. Модуль 220 извлечения данных изображений и информации кодирования извлекает кодированные данные изображений для каждой единицы кодирования из синтаксически проанализированного потока битов, при этом единицы кодирования имеют древовидную структуру согласно каждой максимальной единице кодирования, и выводит извлеченные данные изображений в декодер 230 данных изображений. Модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно максимального размера единицы кодирования текущего изображения из заголовка относительно текущего изображения, SPS или PPS.
Кроме того, модуль 220 извлечения данных изображений и информации кодирования извлекает информацию относительно кодированной глубины и режима кодирования для единиц кодирования, имеющих древовидную структуру, согласно каждой максимальной единице кодирования из синтаксически проанализированного потока битов. Извлеченная информация относительно кодированной глубины и режима кодирования выводится в декодер 230 данных изображений. Другими словами, данные изображений в потоке битов разбиваются на максимальные единицы кодирования так, что декодер 230 данных изображений декодирует данные изображений для каждой максимальной единицы кодирования.
Информация относительно кодированной глубины и режима кодирования согласно максимальной единице кодирования может задаваться для информации относительно, по меньшей мере, одной единицы кодирования, соответствующей кодированной глубине, и информация относительно режима кодирования может включать в себя информацию относительно типа сегмента соответствующей единицы кодирования, соответствующей кодированной глубине, относительно режима прогнозирования и размера единицы преобразования. Кроме того, информация разбиения согласно глубинам может быть извлечена в качестве информации относительно кодированной глубины.
Информация относительно кодированной глубины и режима кодирования согласно каждой максимальной единице кодирования, извлеченной посредством модуля 220 извлечения данных изображений и информации кодирования, является информацией относительно определенной кодированной глубины и режима кодирования, чтобы формировать минимальную ошибку кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование для каждой более глубокой единицы кодирования согласно глубинам согласно каждой максимальной единице кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображений согласно кодированной глубине и режиму кодирования, который формирует минимальную ошибку кодирования.
Поскольку информация кодирования относительно кодированной глубины и режима кодирования может назначаться предварительно определенной единице данных из соответствующей единицы кодирования, единицы прогнозирования и минимальной единицы, модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно кодированной глубины и режима кодирования согласно предварительно определенным единицам данных. Предварительно определенные единицы данных, которым назначается идентичная информация относительно кодированной глубины и режима кодирования, могут логически выводиться как единицы данных, включенные в идентичную максимальную единицу кодирования.
Декодер 230 данных изображений восстанавливает текущее изображение посредством декодирования данных изображений в каждой максимальной единице кодирования на основе информации относительно кодированной глубины и режима кодирования согласно максимальным единицам кодирования. Другими словами, декодер 230 данных изображений может декодировать кодированные данные изображений на основе извлеченной информации относительно типа сегмента, режима прогнозирования и единицы преобразования для каждой единицы кодирования из единиц кодирования, имеющих в себя древовидную структуру, включенных в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя прогнозирование, включающее в себя внутреннее прогнозирование и компенсацию движения, а также обратное преобразование.
Декодер 230 данных изображений может выполнять внутреннее прогнозирование или компенсацию движения согласно сегменту и режиму прогнозирования каждой единицы кодирования на основе информации относительно типа сегмента и режима прогнозирования единицы прогнозирования единицы кодирования согласно кодированным глубинам.
Кроме того, декодер 230 данных изображений может выполнять обратное преобразование согласно каждой единице преобразования в единице кодирования на основе информации относительно размера единицы преобразования единицы кодирования согласно кодированным глубинам, с тем чтобы выполнять обратное преобразование согласно максимальным единицам кодирования. Посредством обратного преобразования могут быть восстановлены пиксельные значения единицы кодирования в пространственной области.
Декодер 230 данных изображений может определять, по меньшей мере, одну кодированную глубину текущей максимальной единицы кодирования посредством использования информации разбиения согласно глубинам. Если информация разбиения указывает то, что данные изображений более не разбиваются при текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображений может декодировать кодированные данные, по меньшей мере, одной единицы кодирования, соответствующей каждой кодированной глубине в текущей максимальной единице кодирования, посредством использования информации относительно типа сегмента единицы прогнозирования, режима прогнозирования и размера единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, и выводить данные изображений текущей максимальной единицы кодирования.
Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя идентичную информацию разбиения, могут собираться посредством наблюдения набора информации кодирования, назначаемого для предварительно определенной единицы данных из единицы кодирования, единицы прогнозирования и минимальной единицы, и собранные единицы данных могут рассматриваться как одна единица данных, которая должна быть декодирована посредством декодера 230 данных изображений в одном режиме кодирования. Декодирование текущей единицы кодирования может быть выполнено посредством сбора информации относительно режима кодирования для каждой единицы кодирования, определенной как указано выше.
Кроме того, устройство 200 декодирования видео по фиг. 8 может выполнять операции устройства 20 декодирования видео, описанного со ссылкой на фиг. 2.
Приемное устройство 210 может выполнять операции модуля 22 синтаксического анализа устройства 20 декодирования видео. Модуль 220 извлечения данных изображений и информации кодирования и декодер 230 данных изображений могут выполнять операции модуля 24 внутреннего прогнозирования устройства 20 декодирования видео.
Модуль 22 синтаксического анализа может синтаксически анализировать MPM-флаг на предмет прогнозирования режима внутреннего прогнозирования из потока битов для каждой PU, когда PU для внутреннего прогнозирования определяется посредством единицы кодирования, имеющей древовидную структуру. Информация текущего внутреннего режима может быть синтаксически проанализирована из потока битов после MPM-флага без определения того, являются левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования идентичными или отличающимися друг от друга. Модуль 220 извлечения данных изображений и информации кодирования может восстанавливать текущий режим внутреннего прогнозирования из синтаксически проанализированной информации после окончания синтаксического анализа символов блока, включающих в себя MPM-флаг и информацию внутреннего режима. Текущий режим внутреннего прогнозирования может быть прогнозирован посредством использования множества возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным. Декодер 230 данных изображений может выполнять внутреннее прогнозирование текущей PU посредством использования восстановленного режима внутреннего прогнозирования и остаточных данных.
Модуль 220 извлечения данных изображений и информации кодирования может определять число возможных вариантов режимов внутреннего прогнозирования для каждого изображения.
Модуль 22 синтаксического анализа может синтаксически анализировать информацию, представляющую число возможных вариантов режимов внутреннего прогнозирования, число которых является фиксированным, из параметров различных уровней единиц данных, таких как PPS потока битов, SPS, уровень максимальной единицы кодирования, уровень единицы кодирования и уровень PU. В этом случае модуль 220 извлечения данных изображений и информации кодирования может определять возможные варианты режимов внутреннего прогнозирования столько раз, сколько составляет число, представленное посредством синтаксически проанализированной информации для каждой единицы данных, соответствующей уровню, из которого синтаксически анализируется информация.
Тем не менее, модуль 220 извлечения данных изображений и информации кодирования может обновлять число возможных вариантов режимов внутреннего прогнозирования для каждой серии последовательных макроблоков, максимальной единицы кодирования, единицы кодирования или PU, даже когда информация, представляющая число возможных вариантов режимов внутреннего прогнозирования, подвергается не синтаксическому анализу.
Устройство 200 декодирования видео может получать информацию относительно, по меньшей мере, одной единицы кодирования, которая формирует минимальную ошибку кодирования, когда кодирование рекурсивно выполняется для каждой максимальной единицы кодирования, и может использовать эту информацию для того, чтобы декодировать текущее изображение. Другими словами, могут быть декодированы единицы кодирования, имеющие древовидную структуру, определенные как оптимальные единицы кодирования в каждой максимальной единице кодирования.
Соответственно, даже если данные изображений имеют высокое разрешение и большой объем данных, данные изображений могут быть эффективно декодированы и восстановлены посредством использования размера единицы кодирования и режима кодирования, которые адаптивно определяются согласно характеристикам данных изображений, посредством использования информации относительно оптимального режима кодирования, принимаемой из кодера.
Фиг. 9 является схемой для описания принципа единиц кодирования согласно варианту осуществления настоящего изобретения.
Размер единицы кодирования может выражаться как "ширина×высота" и может составлять 64×64, 32×32, 16×16 и 8×8. Единица кодирования в 64×64 может разбиваться на сегменты в 64×64, 64×32, 32×64 или 32×32, и единица кодирования в 32×32 может разбиваться на сегменты в 32×32, 32×16, 16×32 или 16×16, единица кодирования в 16×16 может разбиваться на сегменты в 16×16, 16×8, 8×16 или 8×8, и единица кодирования в 8×8 может разбиваться на сегменты в 8×8, 8×4, 4×8 или 4×4.
В видеоданных 310, разрешение составляет 1920×1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 2. В видеоданных 320, разрешение составляет 1920×1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 3. В видеоданных 330, разрешение составляет 352×288, максимальный размер единицы кодирования равен 16, и максимальная глубина равна 1. Максимальная глубина, показанная на фиг. 9, обозначает общее число разбиений от максимальной единицы кодирования до минимальной единицы декодирования.
Если разрешение является высоким, или объем данных является большим, максимальный размер единицы кодирования может быть большим, с тем чтобы не только повышать эффективность кодирования, но также и точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может составлять 64.
Поскольку максимальная глубина видеоданных 310 равна 2, единицы 315 кодирования видеоданных 310 могут включать в себя максимальную единицу кодирования, имеющую размер по продольной оси равный 64, и единицы кодирования, имеющие размеры по продольной оси равные 32 и 16, поскольку глубины увеличиваются на два уровня посредством разбиения максимальной единицы кодирования два раза. Между тем, поскольку максимальная глубина видеоданных 330 равна 1, единицы кодирования 335 видеоданных 330 могут включать в себя максимальную единицу кодирования, имеющую размер продольной оси в 16, и единицы кодирования, имеющие размер продольной оси в 8, поскольку глубины увеличиваются на один уровень посредством разбиения максимальной единицы кодирования один раз.
Поскольку максимальная глубина видеоданных 320 равна 3, единицы 325 кодирования видеоданных 320 могут включать в себя максимальную единицу кодирования, имеющую размер продольной оси в 64, и единицы кодирования, имеющие размеры продольной оси в 32, 16 и 8, поскольку глубины увеличиваются на 3 уровня посредством разбиения максимальной единицы кодирования три раза. По мере того как увеличивается глубина, подробная информация может точно выражаться.
Фиг. 10 является блок-схемой кодера 400 изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Кодер 400 изображений выполняет операции модуля 120 определения единиц кодирования устройства 100 кодирования видео, чтобы кодировать данные изображений. Другими словами, модуль 410 внутреннего прогнозирования выполняет внутреннее прогнозирование для единиц кодирования во внутреннем режиме из текущего кадра 405, и модуль 420 оценки движения и модуль 425 компенсации движения выполняют взаимную оценку и компенсацию движения для единиц кодирования во взаимном режиме из текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выводимые из модуля 410 внутреннего прогнозирования, модуля 420 оценки движения и модуля 425 компенсации движения, выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через обратный квантователь 460 и обратный преобразователь 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки через модуль 480 удаления блочности и модуль 490 контурной фильтрации. Квантованный коэффициент преобразования может выводиться в качестве потока 455 битов через энтропийный кодер 450.
Для применения кодера 400 изображений в устройстве 100 кодирования видео, все элементы кодера 400 изображений, т.е. модуль 410 внутреннего прогнозирования, модуль 420 оценки движения, модуль 425 компенсации движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, модуль 480 удаления блочности и модуль 490 контурной фильтрации выполняют операции на основе каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждой максимальной единицы кодирования.
В частности, модуль 410 внутреннего прогнозирования, модуль 420 оценки движения и модуль 425 компенсации движения определяют сегменты и режим прогнозирования каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущей максимальной единицы кодирования, и преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из единиц кодирования, имеющих древовидную структуру.
В частности, модуль 410 внутреннего прогнозирования может выполнять операции модуля 12 внутреннего прогнозирования устройства декодирования видео 10. PU для внутреннего прогнозирования определяется посредством единицы кодирования, имеющей древовидную структуру для каждой максимальной единицы кодирования, и внутреннее прогнозирование может быть выполнено для PU.
В случае если текущая PU и левая/верхняя PU являются идентичными друг другу, и левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования являются идентичными или отличающимися друг от друга, определяется множество возможных вариантов режимов внутреннего прогнозирования, и в силу этого энтропийный кодер 450 кодирует MPM-флаг для каждой PU, а затем может кодировать информацию текущего внутреннего режима на основе возможных вариантов режимов внутреннего прогнозирования для текущей единицы прогнозирования.
Фиг. 11 является блок-схемой декодера 500 изображений на основе единицы кодирования согласно варианту осуществления настоящего изобретения.
Синтаксический анализатор 510 синтаксически анализирует кодированные данные изображений, которые должны быть декодированы, и информацию относительно кодирования, требуемую для декодирования, из потока 505 битов. Кодированные данные изображений выводятся в качестве обратно квантованных данных через энтропийный декодер 520 и обратный квантователь 530, и обратно квантованные данные восстанавливаются в данные изображений в пространственной области через обратный преобразователь 540.
Модуль 550 внутреннего прогнозирования выполняет внутреннее прогнозирование для единиц кодирования во внутреннем режиме относительно данных изображений в пространственной области, и модуль 560 компенсации движения выполняет компенсацию движения для единиц кодирования во взаимном режиме посредством использования опорного кадра 585.
Данные изображений в пространственной области, которые пропущены через модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения, могут выводиться в качестве восстановленного кадра 595 после постобработки через модуль 570 удаления блочности и модуль 580 контурной фильтрации. Кроме того, данные изображений, которые подвергаются постобработке через модуль 570 удаления блочности и модуль 580 контурной фильтрации, могут выводиться в качестве опорного кадра 585.
Чтобы декодировать данные изображений в декодере 230 данных изображений устройства 200 декодирования видео, декодер 500 изображений может выполнять операции над синтаксически проанализированными символами после синтаксического анализатора 510.
Для применения декодера 500 изображений в устройстве 200 декодирования видео, все элементы декодера 500 изображений, т.е. синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, модуль 550 внутреннего прогнозирования, модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 контурной фильтрации выполняют операции на основе единиц кодирования, имеющих древовидную структуру, для каждой максимальной единицы кодирования.
В частности, модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения выполняют операции на основе сегментов и режима прогнозирования для каждой из единиц кодирования, имеющих древовидную структуру, а обратный преобразователь 540 выполняет операции на основе размера единицы преобразования для каждой единицы кодирования.
В частности, синтаксический анализатор 510 может синтаксически анализировать MPM-флаг на предмет прогнозирования режима внутреннего прогнозирования из потока битов для каждой PU, в случае если PU для внутреннего прогнозирования определяется посредством единицы кодирования, имеющей древовидную структуру. Информация текущего внутреннего режима может быть синтаксически проанализирована из потока битов после MPM-флага без определения того, являются левый режим внутреннего прогнозирования и верхний режим внутреннего прогнозирования идентичными или отличающимися друг от друга. Энтропийный декодер 520 заканчивает синтаксический анализ символов блока, включающих в себя MPM-флаг и информацию текущего внутреннего режима, и может восстанавливать текущий режим внутреннего прогнозирования из синтаксически проанализированной информации. Модуль 550 внутреннего прогнозирования может выполнять внутреннее прогнозирование текущей PU посредством использования восстановленного текущего режима внутреннего прогнозирования и остаточных данных.
Фиг. 12 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегменты согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические единицы кодирования с тем, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут быть адаптивно определены согласно характеристикам изображения или могут быть по-другому заданы пользователем. Размеры более глубоких единиц кодирования согласно глубинам могут быть определены согласно предварительно определенному максимальному размеру единицы кодирования.
В иерархической структуре 600 единиц кодирования согласно варианту осуществления настоящего изобретения, максимальная высота и максимальная ширина единиц кодирования составляют 64, а максимальная глубина составляет 4. Здесь максимальная глубина означает общее число разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, разбиваются высота и ширина более глубокой единицы кодирования. Кроме того, единица прогнозирования и сегменты, которые являются базисами для прогнозирующего кодирования каждой более глубокой единицы кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, в которой глубина равна 0, а размер, т.е. высота на ширину, равен 64×64. Глубина увеличивается вдоль вертикальной оси, и существуют единица кодирования 620, имеющая размер 32×32 и глубину в 1, единица кодирования 630, имеющая размер 16×16 и глубину в 2, единица 640 кодирования, имеющая размер 8×8 и глубину 3, и единица кодирования 650, имеющая размер 4×4 и глубину 4. Единица 650 кодирования, имеющая размер 4×4 и глубину 4, является минимальной единицей кодирования.
Единица прогнозирования и сегменты единицы кодирования размещаются вдоль горизонтальной оси согласно каждой глубине. Другими словами, если единица 610 кодирования, имеющая размер 64×64 и глубину 0, является единицей прогнозирования, единица прогнозирования может разбиваться на сегменты, включенные в единицу 610 кодирования, т.е. на сегмент 610, имеющий размер 64×64, сегменты 612, имеющие размер 64×32, сегменты 614, имеющие размер 32×64, или сегменты 616, имеющие размер 32×32.
Аналогично, единица прогнозирования единицы 620 кодирования, имеющей размер 32×32 и глубину в 1, может разбиваться на сегменты, включенные в единицу 620 кодирования, т.е. на сегмент 620, имеющий размер 32×32, сегменты 622, имеющие размер 32×16, сегменты 624, имеющие размер 16×32, и сегменты 626, имеющие размер 16×16.
Аналогично, единица прогнозирования единицы 630 кодирования, имеющей размер 16×16 и глубину в 2, может разбиваться на сегменты, включенные в единицу 630 кодирования, т.е. на сегмент, имеющий размер 16×16, включенный в единицу 630 кодирования, сегменты 632, имеющие размер 16×8, сегменты 634, имеющие размер 8×16, и сегменты 636, имеющие размер 8×8.
Аналогично, единица прогнозирования единицы 640 кодирования, имеющей размер 8×8 и глубину 3, может разбиваться на сегменты, включенные в единицу 640 кодирования, т.е. на сегмент, имеющий размер 8×8, включенный в единицу 640 кодирования, сегменты 642, имеющие размер 8×4, сегменты 644, имеющие размер 4×8, и сегменты 646, имеющие размер 4×4.
Единица 650 кодирования, имеющая размер 4×4 и глубину 4, является минимальной единицей кодирования и единицей кодирования самой нижней глубины. Единица прогнозирования единицы 650 кодирования назначается только сегменту, имеющему размер 4×4.
Чтобы определять, по меньшей мере, одну кодированную глубину единиц кодирования, составляющих максимальную единицу 610 кодирования, модуль 120 определения единиц кодирования устройства 100 кодирования видео выполняет кодирование для единиц кодирования, соответствующих каждой глубине, включенной в максимальную единицу 610 кодирования.
Число более глубоких единиц кодирования согласно глубинам, включающим в себя данные в идентичном диапазоне и идентичного размера, увеличивается по мере того, как увеличивается глубина. Например, четыре единицы кодирования, соответствующие глубине 2, требуются для того, чтобы охватывать данные, которые включаются в одну единицу кодирования, соответствующую глубине 1. Соответственно, чтобы сравнивать результаты кодирования идентичных данных согласно глубинам, кодируются единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Чтобы выполнять кодирование для текущей глубины из глубин, наименьшая ошибка кодирования может быть выбрана для текущей глубины посредством выполнения кодирования для каждой единицы прогнозирования в единицах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. Альтернативно, минимальная ошибка кодирования может находиться посредством сравнения наименьших ошибок кодирования согласно глубинам, посредством выполнения кодирования для каждой глубины по мере того, как глубина увеличивается вдоль вертикальной оси иерархической структуры 600. Глубина и сегмент, имеющие минимальную ошибку кодирования в единице 610 кодирования, могут быть выбраны в качестве кодированной глубины и типа сегмента единицы 610 кодирования.
Фиг. 13 является схемой для описания взаимосвязи между единицей 710 кодирования и единицами 720 преобразования, согласно варианту осуществления настоящего изобретения.
Устройство 100 или 200 кодирования видео кодирует или декодирует изображение согласно единицам кодирования, имеющим размеры, меньшие или равные максимальной единице кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования во время кодирования могут быть выбраны на основе единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 или 200 кодирования видео, если размер единицы 710 кодирования составляет 64×64, преобразование может выполняться посредством использования единиц 720 преобразования, имеющих размер 32×32.
Кроме того, данные единицы 710 кодирования, имеющей размер 64×64, могут быть кодированы посредством выполнения преобразования для каждой из единиц преобразования, имеющих размер 32×32, 16×16, 8×8 и 4×4, которые меньше 64×64, а затем может быть выбрана единица преобразования, имеющая наименьшую ошибку кодирования.
Фиг. 14 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения.
Модуль 130 вывода устройства 100 кодирования видео может кодировать и передавать информацию 800 относительно типа сегмента, информацию 810 относительно режима прогнозирования и информацию 820 относительно размера единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, в качестве информации относительно режима кодирования.
Информация 800 включает в себя информацию относительно формы сегмента, полученного посредством разбиения единицы прогнозирования текущей единицы кодирования, при этом сегмент является единицей данных для прогнозирующего кодирования текущей единицы кодирования. Например, текущая единица кодирования CU_0, имеющая размер 2N×2N, может разбиваться на любой из сегмента 802, имеющего размер 2N×2N, сегмента 804, имеющего размер 2N×N, сегмента 806, имеющего размер N×2N, и сегмента 808, имеющего размер N×N. Здесь информация 800 относительно типа сегмента задается так, что она указывает одно из сегмента 804, имеющего размер 2N×N, сегмента 806, имеющего размер N×2N, и сегмента 808, имеющего размер N×N.
Информация 810 указывает режим прогнозирования каждого сегмента. Например, информация 810 может указывать режим прогнозирующего кодирования, выполняемого для сегмента, указываемого посредством информации 800, т.е. внутренний режим 812, взаимный режим 814 или режим 816 пропуска.
Информация 820 указывает единицу преобразования, на которой следует базироваться, когда преобразование выполняется для текущей единицы кодирования. Например, единица преобразования может быть первой единицей 822 внутреннего преобразования, второй единицей 824 внутреннего преобразования, первой единицей 826 взаимного преобразования или второй единицей 828 внутреннего преобразования.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию 800, 810 и 820 для декодирования согласно каждой более глубокой единице кодирования.
Фиг. 15 является схемой более глубоких единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения.
Информация разбиения может быть использована, чтобы указывать изменение глубины. Информация разбиения указывает то, разбивается ли единица кодирования текущей глубины на единицы кодирования нижней глубины.
Единица 910 прогнозирования для прогнозирующего кодирования единицы 900 кодирования, имеющей глубину 0 и размер 2N_0×2N_0, может включать в себя сегменты типа 912 сегмента, имеющего размер 2N_0×2N_0, типа 914 сегмента, имеющего размер 2N_0×N_0, типа 916 сегмента, имеющего размер N_0×2N_0, и типа 918 сегмента, имеющего размер N_0×N_0. Фиг. 15 иллюстрирует только типы 912-918 сегментов, которые получаются посредством симметричного разбиения единицы 910 прогнозирования, но тип сегмента не ограничен этим, и сегменты единицы 910 прогнозирования могут включать в себя асимметричные сегменты, сегменты, имеющие предварительно определенную форму, и сегменты, имеющие геометрическую форму.
Прогнозирующее кодирование многократно выполняется для одного сегмента, имеющего размер 2N_0×2N_0, двух сегментов, имеющих размер 2N_0×N_0, двух сегментов, имеющих размер N_0×2N_0, и четырех сегментов, имеющих размер N_0×N_0, согласно каждому типу сегмента. Прогнозирующее кодирование во внутреннем режиме и взаимном режиме может выполняться для сегментов, имеющих размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Прогнозирующее кодирование в режиме пропуска выполняется только для сегмента, имеющем размер 2N_0×2N_0.
Ошибки кодирования, включающего в себя прогнозирующее кодирование, в типах 912-918 сегментов сравниваются, и определяется наименьшая ошибка кодирования для типов сегментов. Если ошибка кодирования является наименьшей в одном из типов 912-916 сегментов, единица 910 прогнозирования может не разбиваться на нижнюю глубину.
Если ошибка кодирования является наименьшей в типе 918 сегмента, глубина изменяется с 0 на 1, чтобы разбивать тип 918 сегмента, на этапе 920, и кодирование многократно выполняется для единиц 930 кодирования, имеющих глубину в 2 и размер N_0×N_0, чтобы выполнять поиск минимальной ошибки кодирования.
Единица 940 прогнозирования для прогнозирующего кодирования единицы 930 кодирования, имеющей глубину в 1 и размер 2N_1×2N_1 (=N_0×N_0), может включать в себя сегменты типа 942 сегмента, имеющего размер 2N_1×2N_1, типа 944 сегмента, имеющего размер 2N_1×N_1, типа 946 сегмента, имеющего размер N_1×2N_1, и типа 948 сегмента, имеющего размер N_1×N_1.
Если ошибка кодирования является наименьшей в типе 948 сегмента, глубина изменяется от 1 до 2, чтобы разбивать тип 948 сегмента, на этапе 950, и кодирование многократно выполняется для единиц 960 кодирования, которые имеют глубину в 2 и размер N_2×N_2, чтобы выполнять поиск минимальной ошибки кодирования.
Когда максимальная глубина составляет d, операция разбиения согласно каждой глубине может выполняться до того, когда глубина становится d-1, и информация разбиения может быть кодирована до того, когда глубина составляет одно из 0-d-2. Другими словами, когда кодирование выполняется до того, когда глубина составляет d-1, после того как единица кодирования, соответствующая глубине d-2, разбивается на этапе 970, единица 990 прогнозирования для прогнозирующего кодирования единицы 980 кодирования, имеющей глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя сегменты типа 992 сегмента, имеющего размер 2N_(d-1)×2N_(d-1), типа 994 сегмента, имеющего размер 2N_(d-1)×N_(d-1), типа 996 сегмента, имеющего размер N_(d-1)×2N_(d-1), и типа 998 сегмента, имеющего размер N_(d-1)×N_(d-1).
Прогнозирующее кодирование может многократно выполняться для одного сегмента, имеющего размер 2N_(d-1)×2N_(d-1), двух сегментов, имеющих размер 2N_(d-1)×N_(d-1), двух сегментов, имеющих размер N_(d-1)×2N_(d-1), четырех сегментов, имеющих размер N_(d-1)×N_(d-1), из типов 992-998 сегментов, чтобы выполнять поиск типа сегмента, имеющего минимальную ошибку кодирования.
Даже когда тип 998 сегмента имеет минимальную ошибку кодирования, поскольку максимальная глубина составляет d, единица кодирования CU_(d-1), имеющая глубину d-1, более не разбивается до нижней глубины, и кодированная глубина для единиц кодирования, составляющих текущую максимальную единицу 900 кодирования, определяется как d-1, и тип сегмента текущей максимальной единицы 900 кодирования может быть определен как N_(d-1)×N_(d-1). Кроме того, поскольку максимальная глубина составляет d, информация разбиения для единицы 952 кодирования, имеющей глубину d-1, не задается.
Единица 999 данных может быть "минимальной единицей" для текущей максимальной единицы кодирования. Минимальная единица согласно варианту осуществления настоящего изобретения может быть прямоугольной единицей данных, полученной посредством разбиения минимальной единицы 980 кодирования на 4. Посредством многократного выполнения кодирования, устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибок кодирования согласно глубинам единицы 900 кодирования, чтобы определять кодированную глубину и задавать соответствующий тип сегмента и режим прогнозирования в качестве режима кодирования кодированной глубины.
Также, минимальные ошибки кодирования согласно глубинам сравниваются во всех глубинах 1-d, и глубина, имеющая наименьшую ошибку кодирования, может быть определена в качестве кодированной глубины. Кодированная глубина, тип сегмента единицы прогнозирования и режим прогнозирования могут быть кодированы и переданы в качестве информации относительно режима кодирования. Кроме того, поскольку единица кодирования разбивается от глубины в 0 до кодированной глубины, только информация разбиения кодированной глубины задается равной 0, а информация разбиения глубин за исключением кодированной глубины задается равной 1.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию относительно кодированной глубины и единицы прогнозирования единицы 900 кодирования, чтобы декодировать сегмент 912. Устройство 200 декодирования видео может определять глубину, при которой информация разбиения равна 0, в качестве кодированной глубины посредством использования информации разбиения согласно глубинам и использовать информацию относительно режима кодирования соответствующей глубины для декодирования.
Фиг. 16-18 являются схемами для описания взаимосвязи между единицами 1010 кодирования, единицами 1060 прогнозирования и единицами 1070 преобразования, согласно варианту осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования, имеющими древовидную структуру согласно кодированным глубинам, определенным посредством устройства 100 кодирования видео, в максимальной единице кодирования. Единицы 1060 прогнозирования являются сегментами единиц прогнозирования каждой из единиц 1010 кодирования, и единицы 1070 преобразования являются единицами преобразования каждой из единиц 1010 кодирования.
Когда глубина максимальной единицы кодирования равна 0 в единицах 1010 кодирования, глубины единиц 1012 и 1054 кодирования равны 1, глубины единиц 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины единиц 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, а глубины единиц 1040, 1042, 1044 и 1046 кодирования равны 4.
В единицах прогнозирования 1060, некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получаются посредством разбиения единиц кодирования в единицах 1010 кодирования. Другими словами, типы сегментов в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2N×N, типы сегментов в единицах 1016, 1048 и 1052 кодирования имеют размер N×2N, и тип сегмента единицы 1032 кодирования имеет размер N×N. Единицы прогнозирования и сегменты единиц 1010 кодирования меньше или равны каждой единицы кодирования.
Преобразование или обратное преобразование выполняется для данных изображений единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 кодирования. Кроме того, единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования отличаются от единиц кодирования в единицах 1060 прогнозирования с точки зрения размеров и форм. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут выполнять внутреннее прогнозирование, оценку движения, компенсацию движения, преобразование и обратное преобразование по отдельности для единицы данных в идентичной единице кодирования.
Соответственно, кодирование рекурсивно выполняется для каждой из единиц кодирования, имеющих иерархическую структуру в каждой области максимальной единицы кодирования, чтобы определять оптимальную единицу кодирования, и за счет этого могут быть получены единицы кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разбиения относительно единицы кодирования, информацию относительно типа сегмента, информацию относительно режима прогнозирования и информацию относительно размера единицы преобразования. Таблица 1 показывает информацию кодирования, которая может задаваться посредством устройств 100 и 200 кодирования и декодирования видео.
Таблица 1
Информация 0 разбиения(кодирование для единицы кодирования, имеющей размер 2N×2N и текущую глубину d)
Информация 1 разбиения
Режим прогнозирования
Тип сегмента
Размер единицы преобразования
Многократное кодирование единиц кодирования, имеющих нижнюю глубину d+1
ВнутреннийВзаимныйПропуск (только 2N×2N)
Тип симметричного сегмента
Тип асимметричного сегмента
Информация 0 разбиения единицы преобразования
Информация 1 разбиения единицы преобразования
2N×2N2N×NN×2NN×N
2N×nU2N×nDnL×2NnR×2N
2N×2N
N×N(симметричный тип)N/2×N/2(асимметричный тип)
Модуль 130 вывода устройства 100 кодирования видео может выводить информацию кодирования относительно единиц кодирования, имеющих древовидную структуру, и модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать информацию кодирования относительно единиц кодирования, имеющих древовидную структуру, из принимаемого потока битов.
Информация разбиения указывает то, разбивается ли текущая единица кодирования на единицы кодирования нижней глубины. Если информация разбиения текущей глубины d равна 0, глубина, при которой текущая единица кодирования более не разбивается в нижнюю глубину, является кодированной глубиной, и тем самым информация относительно типа сегмента, режима прогнозирования и размера единицы преобразования может быть задана для кодированной глубины. Если текущая единица кодирования дополнительно разбивается согласно информации разбиения, кодирование независимо выполняется для четырех единиц кодирования разбиения нижней глубины.
Режим прогнозирования может быть одним из внутреннего режима, взаимного режима и режима пропуска. Внутренний режим и взаимный режим могут быть заданы во всех типах сегментов, а режим пропуска задается только в типе сегмента, имеющем размер 2N×2N.
Информация относительно типа сегмента может указывать типы симметричных сегментов, имеющие размеры 2N×2N, 2N×N, N×2N и N×N, которые получаются посредством симметричного разбиения высоты или ширины единицы прогнозирования, и типы асимметричных сегментов, имеющих размеры 2N×nU, 2N×nD, nL×2N и nR×2N, которые получаются посредством асимметричного разбиения высоты или ширины единицы прогнозирования. Типы асимметричных сегментов, имеющие размеры 2N×nU и 2N×nD, могут быть, соответственно, получены посредством разбиения высоты единицы прогнозирования в 1:3 и 3:1, а типы асимметричных сегментов, имеющие размеры nL×2N, и nR×2N могут быть, соответственно, получены посредством разбиения ширины единицы прогнозирования в 1:3 и 3:1.
Размер единицы преобразования может задаваться как два типа во внутреннем режиме и два типа во взаимном режиме. Другими словами, если информация разбиения единицы преобразования равна 0, размер единицы преобразования может составлять 2N×2N, что является размером текущей единицы кодирования. Если информация разбиения единицы преобразования равна 1, единицы преобразования могут быть получены посредством разбиения текущей единицы кодирования. Кроме того, если типом сегмента текущей единицы кодирования, имеющей размер 2N×2N, является тип симметричного сегмента, размер единицы преобразования может составлять N×N, а если типом сегмента текущей единицы кодирования является тип асимметричного сегмента, размер единицы преобразования может составлять N/2×N/2.
Информация кодирования относительно единиц кодирования, имеющих древовидную структуру, может включать в себя, по меньшей мере, одну из единицы кодирования, соответствующей кодированной глубине, единицы прогнозирования и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя, по меньшей мере, одну из единицы прогнозирования и минимальной единицы, содержащей идентичную информацию кодирования.
Соответственно, определяется то, включаются ли смежные единицы данных в идентичную единицу кодирования, соответствующую кодированной глубине, посредством сравнения информации кодирования смежных единиц данных. Кроме того, соответствующая единица кодирования, соответствующая кодированной глубине, определяется посредством использования информации кодирования единицы данных, и за счет этого может быть определено распределение кодированных глубин в максимальной единице кодирования.
Соответственно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, можно обращаться непосредственно к информации кодирования единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования, и она может использоваться.
Альтернативно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, единицы данных, смежные с текущей единицей кодирования, ищутся с использованием кодированной информации единиц данных, и к искомым смежным единицам кодирования можно обращаться для прогнозирования текущей единицы кодирования.
Фиг. 19 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования или сегментом и единицей преобразования, согласно информации режима кодирования по таблице 1.
Максимальная единица 1300 кодирования включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодированных глубин. Здесь, поскольку единица 1318 кодирования является единицей кодирования кодированной глубины, информация разбиения может задаваться равной 0. Информация относительно типа сегмента единицы 1318 кодирования, имеющей размер 2N×2N, может задаваться как одно из типа 1322 сегмента, имеющего размер 2N×2N, типа 1324 сегмента, имеющего размер 2N×N, типа 1326 сегмента, имеющего размер N×2N, типа 1328 сегмента, имеющего размер N×N, типа 1332 сегмента, имеющего размер 2N×nU, типа 1334 сегмента, имеющего размер 2N×nD, типа 1336 сегмента, имеющего размер nL×2N, и типа 1338 сегмента, имеющего размер nR×2N.
Информация разбиения (флаг TU-размера) единицы преобразования представляет собой вид индекса преобразования, и размер единицы преобразования, соответствующий индексу преобразования, может варьироваться в зависимости от типа единицы прогнозирования единицы кодирования или типа сегмента.
Например, когда тип сегмента задается как симметричный, т.е. тип 2N×2N (1322), 2N×N (1324), N×2N (1326) или N×N (1328) сегмента, единица 1342 преобразования, имеющая размер 2N×2N, задается, если информация разбиения (флаг TU-размера) единицы преобразования равен 0, и единица преобразования 1344, имеющая размер N×N, задается, если флаг TU-размера равен 1.
Когда тип сегмента задается как асимметричный, т.е. тип 2N×nU (1332), 2N×nD (1334), nL×2N (1336) или nR×2N (1338) сегмента, единица 1352 преобразования, имеющая размер 2N×2N, задается, если флаг TU-размера равен 0, и единица 1354 преобразования, имеющая размер N/2×N/2 задается, если флаг TU-размера равен 1.
Ссылаясь на фиг. 19, флаг TU-размера является флагом, имеющим значение 0 или 1, но флаг TU-размера не ограничивается 1 битом, и единица преобразования может иерархически разбиваться при наличии древовидной структуры, в то время как флаг TU-размера увеличивается от 0. Информация разбиения единицы преобразования может быть использована в качестве примера индекса преобразования.
В этом случае размер единицы преобразования, которая фактически использована, может выражаться посредством использования флага TU-размера единицы преобразования, согласно варианту осуществления настоящего изобретения, вместе с максимальным размером и минимальным размером единицы преобразования. Согласно варианту осуществления настоящего изобретения, устройство 100 кодирования видео допускает кодирование информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера. Результат кодирования информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера может быть вставлен в SPS. Согласно варианту осуществления настоящего изобретения, устройство 200 декодирования видео может декодировать видео посредством использования информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера.
Например, (a) если размер текущей единицы кодирования равен 64×64, и размер максимальной единицы преобразования равен 32×32, то размер единицы преобразования может составлять 32×32, когда флаг TU-размера равен 0 (a-1), может составлять 16×16, когда флаг TU-размера равен 1 (a-2), и может составлять 8×8, когда флаг TU-размера равен 2 (a-3).
В качестве другого примера, (b) если размер текущей единицы кодирования равен 32×32, и размер минимальной единицы преобразования равен 32×32, то размер единицы преобразования может составлять 32×32, когда флаг TU-размера равен 0 (b-1). Здесь флаг TU-размера не может задаваться равным значению, отличному от 0, поскольку размер единицы преобразования не может составлять меньше 32×32.
В качестве другого примера, (c) если размер текущей единицы кодирования равен 64×64, и флаг максимального TU-размера равен 1, то флаг TU-размера может составлять 0 или 1. Здесь флаг TU-размера не может задаваться равным значению, отличному от 0 или 1.
Таким образом, если задается то, что флагом максимального TU-размера является MaxTransformSizelndex, размером минимальной единицы преобразования является MinTransformSize, а размером единицы преобразования является RootTuSize, когда флаг TU-размера равен 0, то текущий размер минимальной единицы преобразования CurrMinTuSize, который может быть определен в текущей единице кодирования, может быть задан посредством уравнения (1):
CurrMinTuSize
=max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex))… (1)
По сравнению с размером текущей минимальной единицы преобразования CurrMinTuSize, который может быть определен в текущей единице кодирования, размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, может обозначать размер максимальной единицы преобразования, который может быть выбран в системе. В уравнении (1), RootTuSize/(2^MaxTransformSizeIndex) обозначает размер единицы преобразования, когда размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, разбивается число раз, соответствующее флагу максимального TU-размера, а MinTransformSize обозначает минимальный размер преобразования. Таким образом, меньшее значение из RootTuSize/(2^MaxTransformSizeIndex) и MinTransformSize может быть размером текущей минимальной единицы преобразования CurrMinTuSize, который может быть определен в текущей единице кодирования.
Согласно варианту осуществления настоящего изобретения, размер максимальной единицы преобразования RootTuSize может варьироваться согласно типу режима прогнозирования.
Например, если текущим режимом прогнозирования является взаимный режим, то RootTuSize может быть определен посредством использования нижеприведенного уравнения (2). В уравнении (2), MaxTransformSize обозначает размер максимальной единицы преобразования, и PUSize обозначает размер текущей единицы прогнозирования.
RootTuSize=min(MaxTransformSize, PUSize)... (2)
Иными словами, если текущим режимом прогнозирования является взаимный режим, размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, может быть меньшим значением из размера максимальной единицы преобразования и размера текущей единицы прогнозирования.
Если режимом прогнозирования текущей единицы сегментирования является внутренний режим, RootTuSize может быть определен посредством использования нижеприведенного уравнения (3). В уравнении (3), PartitionSize обозначает размер текущей единицы сегментирования.
RootTuSize=min(MaxTransformSize, PartitionSize)... (3)
Иными словами, если текущим режимом прогнозирования является внутренний режим, размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, может быть меньшим значением из размера максимальной единицы преобразования и размера текущей единицы сегментирования.
Тем не менее, размер текущей максимальной единицы преобразования RootTuSize, который варьируется согласно типу режима прогнозирования в единице сегментирования, является просто примером, и настоящее изобретение не ограничено этим.
Согласно способу кодирования видео на основе единиц кодирования, имеющих древовидные структуры, описанные со ссылкой на фиг. 7-19, данные изображений пространственной области кодируются для каждой единицы кодирования, имеющей древовидную структуру, и декодирование выполняется для каждой максимальной единицы кодирования согласно способу декодирования видео на основе единиц кодирования древовидной структуры, чтобы восстанавливать данные изображений пространственной области, таким образом восстанавливая видео, которое включает в себя изображение и последовательность изображений. Восстановленное видео может воспроизводиться посредством устройства воспроизведения, сохраняться на носителе хранения данных или передаваться через сеть.
Варианты осуществления настоящего изобретения могут быть записаны в качестве компьютерной программы и могут быть реализованы в цифровых компьютерах общего назначения, которые выполняют программы с использованием компьютерночитаемого носителя записи. Примеры компьютерночитаемого носителя записи включают в себя магнитные носители хранения данных (например, ROM, гибкие диски, жесткие диски и т.д.) и оптические носители записи (например, CD-ROM или DVD).
Хотя это изобретение конкретно показано и описано со ссылкой на его предпочтительные варианты осуществления, специалисты в данной области техники должны понимать, что различные изменения по форме и содержанию могут быть сделаны без отступления от сущности и объема изобретения, заданных посредством прилагаемой формулы изобретения. Предпочтительные варианты осуществления должны рассматриваться только в описательном смысле, а не в целях ограничения. Следовательно, объем изобретения задается не посредством подробного описания изобретения, а посредством прилагаемой формулы изобретения, и любые отличия в пределах объема должны истолковываться как включенные в настоящее изобретение.