СПОСОБ И УСТРОЙСТВО ДЛЯ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ Российский патент 2022 года по МПК H04N19/593 

Описание патента на изобретение RU2785106C2

Область техники, к которой относится изобретение

Настоящее изобретение относится к технической области кодирования и декодирования изображений и/или видео и, в частности, к способу и устройству для внутреннего предсказания.

Уровень техники

С момента появления DVD-дисков цифровое видео получило широкое распространения. Перед передачей видео кодируется и передается с использованием среды передачи. Зритель принимает видео и использует устройство просмотра для декодирования и отображения видео. С годами качество видео повысилось, например, благодаря более высоким разрешениям, глубинам цвета и частоты кадров. Это привело к увеличению потоков данных, которые в настоящее время обычно передаются через интернет и сетям мобильной связи.

В связи с тем, что видео с более высоким разрешением содержит больше информации, однако, обычно необходимо обеспечить большие полосы пропускания. Для снижения требования к полосе пропускания, были введены стандарты кодирования видео, включающие в себя сжатие видео. При кодировании видео требования к полосе пропускания (или соответствующие требования к памяти в случае хранения) снижаются. Часто это снижение происходит за счет снижения качества. Таким образом, стандарты кодирования видео предполагают баланс между требованиями к полосе пропускания и качеством.

Высокоэффективное кодирование видео (HEVC) является примером стандарта кодирования видео, который широко известен специалистам в данной области техники. В HEVC для разделения блока кодирования (CU) на блоки предсказания (PU) или блоки преобразования (TUs). Стандарт следующего поколения универсального кодирования видео (VVC) является самым последним совместным видеопроектом Группы экспертов по кодированию видео ITU-T (VCEG) и организаций по стандартизации ISO/IEC Группы экспертов по движущимся изображениям (MPEG), работающих вместе в известном партнерстве, как Объединенная группа исследования видео (JVET). VVC также называют ITU-T H.266/кодирование видео следующего поколения (NGVC) стандартом. В VVC должны быть удалены концепции множества типов разделов, то есть, разделение CU, PU и TU концепций, за исключением случаев, когда это необходимо для CUs, размер которых слишком велик для максимальной длины преобразования и поддерживает большую гибкость для форм раздела CU.

Обработка этих блоков кодирования (CUs) (также называемых блоками) зависит от их размера, пространственного положения и указанного кодером режима кодирования. Режимы кодирования можно разделить на две группы в соответствии с типом предсказания: режимы внутреннего предсказания и внешнего предсказания. В режимах внутреннего предсказания используются выборки одного и того же изображения (также называемого кадром или изображением) для генерирования опорных выборок для вычисления значений предсказания для выборок восстанавливаемого блока. Внутреннее предсказание также называется пространственным предсказанием. Режимы внешнего предсказания предназначены для временного предсказания и используют опорные выборки предшествующего или следующего изображения для предсказания выборок блока текущего изображения.

ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) изучается на предмет потенциальной необходимости в стандартизации будущей технологии кодирования видео с возможностью сжатия, которая значительно превосходит текущий HEVC стандарт (включающий в себя его текущие расширения и краткосрочные расширения для кодирования контента экрана и кодирования с расширенным динамическим диапазоном). Группы работают вместе над этой исследовательской деятельностью в рамках совместного проекта, известного как совместная группа исследования видео (JVET), для оценки проектов технологий сжатия, предложенных экспертами в этой области.

VTM (универсальная тестовая модель) стандарт использует 35 внутренних режимов, тогда как BMS (набор опорных показателей) использует 67 внутренних режимов.

Схема режима внутреннего кодирования, описанная в настоящее время в BMS, считается сложной, и недостатком невыбранного набора режимов является постоянство списка индексов.

Раскрытие сущности изобретения

Варианты осуществления настоящего изобретения обеспечивают устройства и способы для декодирования согласно независимым пунктам формулы изобретения.

Варианты осуществления настоящего изобретения обеспечивают, например, эффективную схему наиболее вероятных режимов (MPM) для внутреннего предсказания.

Предмет независимых пунктов формулы изобретения представляет решения вышеупомянутых и других задач. Из зависимых пунктов формулы изобретения, описания и чертежи очевидны дополнительные формы реализации.

Конкретные варианты осуществления изложены в прилагаемых независимых пунктах формулы изобретения и в зависимых пунктах формулы изобретения представлены другие варианты осуществления.

Первый аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов (Most Probable Modes, MPM), для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания вышеупомянутого соседнего блока текущего блока является планарным режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.

В возможной форме реализации способа согласно первому аспекту, в котором, когда значение MPM флага для текущего блока равно 1, и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта, первое смещение составляет -4.

В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта, второе смещение составляет +4.

Второй аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания вышеупомянутого соседнего блока текущего блока является DC режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.

В возможной форме реализации способа согласно второму аспекту, в котором, когда значение MPM флага для текущего блока равно 1, и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта первое смещение составляет -4.

В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта второе смещение составляет +4.

Третий аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащийся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда левый соседний блок текущего блока недоступен, и режим внутреннего предсказания вышеупомянутого соседнего блока текущего блока является планарным режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.

В возможной форме реализации способа согласно третьему аспекту, в котором, когда значение MPM флага для текущего блока равно 1, и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта первое смещение составляет -4.

В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта второе смещение составляет +4.

Четвертый аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащийся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда левый соседний блок текущего блока недоступен и вышеприведенный соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.

В возможной форме реализации способа согласно четвертому аспекту, в котором, когда значение MPM флага для текущего блока равно 1 и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта первое смещение составляет -4.

В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта второе смещение составляет +4.

Пятый аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащийся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом, и вышеупомянутый соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.

В возможной форме реализации способа согласно пятому аспекту, в котором, когда значение MPM флага для текущего блока равно 1 и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

В возможной форме реализации способа согласно любой предшествующей реализации пятого аспекта или пятого аспекта первое смещение составляет -4.

В возможной форме реализации способа согласно любой предшествующей реализации пятого аспекта или пятого аспекта второе смещение составляет +4.

Пятый аспект изобретения относится к устройству для декодирования видеопотока, которое включает в себя процессор и память. В памяти хранятся инструкции, которые вызывают выполнение, процессором, способа согласно способу с первого по четвертый аспект или любой возможной реализации или варианту осуществления с первого по четвертый аспекты.

Шестой аспект изобретения относится к машиночитаемому носителю данных, на котором хранятся инструкции, вызывающие, при исполнении одним или более процессорами, кодирование видеоданных. Инструкции вызывают выполнение одним или более процессорами выполнение способа согласно с первого по четвертый аспект или любой возможной реализации или варианту осуществления с первого по четвертый аспект.

Согласно седьмому аспекту изобретение относится к компьютерной программе, содержащей программный код для выполнения способа согласно первому-четвертому аспектам или при выполнении на компьютере любой возможной реализации или варианту осуществления первого-четвертого аспектов.

Кроме того, варианты осуществления настоящего изобретения обеспечивают, например, схему кодирования внутреннего режима, где невыбранный набор режимов является адаптивным на основании свойств текущего блока, например, адаптивным на основании INTRA режимов соседних блоков.

На прилагаемых чертежах и в описании изложены подробности одного или более вариантов осуществления. Другие признаки, объекты и преимущества будут очевидны из описания, чертежей и формулы изобретения.

Краткое описание чертежей

Со ссылкой на прилагаемые чертежи приведено подробное описание следующих вариантов осуществления, на которых:

Фиг.1 является блок-схемой, показывающей пример системы кодирования видео, выполненной с возможностью реализации вариантов осуществления изобретения.

Фиг.2 является блок-схемой, показывающей пример видеокодера, выполненного с возможностью реализации вариантов осуществления изобретения.

Фиг.3 является блок-схемой, показывающей примерную структуру видеодекодера, выполненного с возможностью реализации вариантов осуществления изобретения.

Фиг.4 показывает схему, иллюстрирующую 67 режимов внутреннего предсказания.

Фиг.5 показывает схему, иллюстрирующую соседние блоки для получения MPM.

Фиг.6 является схемой, иллюстрирующей внутренние режимы соседних блоков второго уровня, используемые для получения первых трех режимов в списке оставшихся режимов.

Фиг.7 показывает схему, иллюстрирующую пример первых трех режимов в процессе генерирования списка оставшихся режимов.

Фиг.8 показывает схему, иллюстрирующую пример способа декодирования видео.

Фиг.9 показывает другую схему, иллюстрирующую пример способа декодирования видео.

Фиг.10 показывает блок-схему устройства.

Осуществление изобретения

Раскрываются устройство и способ внутреннего предсказания. С целью упрощения процедуры вычисления для внутреннего предсказания для повышения эффективности кодирования устройство и способ используют процесс отображения. Объем защиты настоящего изобретения определяется формулой изобретения.

Определения сокращений и глоссарий

CTU/CTB - блок дерева кодирования/ блок дерева кодирования

CU/CB - блок кодирования/блок кодирования

PU/PB - блок предсказания/блок предсказания

TU/TB - блок преобразования/блок преобразования

HEVC-высокоэффективное кодирование видео

Схемы кодирования видео, такие как H.264/AVC и HEVC, разработаны в соответствии с успешным принципом гибридного кодирования видео на основании блоков. Используя этот принцип, изображение сначала разделяется на блоки и затем каждый блок предсказывается с использованием внутреннего или внешнего предсказания.

Несколько стандартов кодирования видео, начиная с H.261, принадлежат к группе «гибридных видеокодеков с потерями» (т.е. объединяют пространственное и временное предсказание в области выборки и кодирование с двумерным преобразованием для применения квантования в области преобразования). Каждое изображение видеопоследовательности обычно разделяется на набор неперекрывающихся блоков, и кодирование обычно выполняется на уровне блоков. Другими словами, для генерирования блока предсказания в кодере обычно обрабатывается видео, то есть, кодируется, на уровне блока (блока изображения), например с использованием пространственного (внутреннее изображение) предсказания и временного (внешнее изображение) предсказания, для получения остаточного блока выполняется вычитание блока предсказания из текущего блока (блока, который в настоящее время обрабатывается/должен быть обработан), для уменьшения объема данных, которые должны быть переданы (сжаты), выполняется преобразование остаточного блока и квантование остаточного блока в области преобразования, тогда как в декодере для восстановления текущего блока для представления к закодированному или сжатому блоку частично применяется обратная обработка по сравнению с кодером. Кроме того, кодер дублирует цикл обработки декодера, так что оба будут генерировать идентичные предсказания (например, внутреннее и внешнее предсказание) и/или восстановление для обработки, то есть, кодирование последующих блоков.

В настоящем раскрытии используется термин «блок», который может быть частью изображения или кадра. Для удобства описания варианты осуществления изобретения описаны со ссылкой на высокоэффективное кодирование видео (HEVC) или эталонное программное обеспечение универсального кодирования видео (VVC), разработанное Объединенной группой сотрудничества по кодированию видео (JCT-VC) Группы экспертов ITU-T по кодированию видео (VCEG) и Группы экспертов ISO/IEC по движущимся изображениям (MPEG). Для специалиста в данной области техники очевидно, что варианты осуществления изобретения не ограничиваются HEVC или VVC. Стандарт может относиться к CU, PU и TU. В HEVC CTU разделяется на CUs с использованием структуры дерева квадрантов, обозначаемой как дерево кодирования. Решение о том, кодировать ли область изображения с использованием внешнего (временного) или внутреннего (пространственного) предсказания, принимается на CU уровне. Каждый CU может быть дополнительно разделен на один, два или четыре PUs в соответствии с типом разделения PU. Внутри одного PU применяется тот же процесс предсказания, и в декодер передается соответствующая информация на основании PU. После получения остаточного блока путем применения процесса предсказания на основании типа PU разделения, CU может быть разделен на блоки преобразования (TUs) в соответствии с другой структурой дерева квадрантов, аналогичной дереву кодирования для CU. В новейших разработках технологии сжатия видео для разделения блока кодирования используется разделение на дерево квадрантов и двоичное дерево (QTBT). В QTBT блочной структуре CU может иметь либо квадратную, либо прямоугольную форму. Например, блок дерева кодирования (CTU) сначала разделяется структурой дерева квадрантов. Листовые узлы дерева квадрантов дополнительно разделяются структурой двоичного дерева. Листовые узлы двоичного дерева называются блоками кодирования (CUs), и эта сегментация используется для предсказания и обработки преобразования без какого-либо дополнительного разделения. Это означает, что CU, PU и TU имеют одинаковый размер блока в QTBT структуре блока кодирования. Параллельно с QTBT блочной структурой было также предложено использовать множественное разделение, например, разделение тройного дерева.

ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) изучается на предмет потенциальной необходимости в стандартизации будущей технологии кодирования видео с возможностью сжатия, которая значительно превосходит текущий HEVC стандарт (включающий в себя его текущие расширения и краткосрочные расширения для кодирования контента экрана и кодирования с расширенным динамическим диапазоном). Группы работают вместе над этой исследовательской деятельностью в рамках совместного проекта, известного как совместная группа исследования видео (JVET), для оценки проектов технологий сжатия, предложенных экспертами в этой области.

В нижеследующем описании делается ссылка на сопроводительные чертежи, которые составляют часть настоящего изобретения и на которых в качестве иллюстрации показаны конкретные аспекты реализации настоящего изобретения.

Например, понятно, что в настоящем раскрытии описанный способ также может быть применим для соответствующего устройства или системы, выпаленной с возможностью выполнять способ, и vice versa. Например, если описан конкретный этап способа, соответствующее устройство может включать в себя блок для выполнения описанного этапа способа даже, если такой блок явно не описан или не проиллюстрирован на чертежах. Кроме того, понятно, что признаки различных иллюстративных аспектов, описанных в данном документе, могут быть объединены друг с другом, если специально не указано иное.

Кодирование видео обычно относится к обработке последовательности изображений, которые образуют видео или видеопоследовательность. Термин «изображение» или «кадр» может использоваться/ может быть использован как синоним в области кодирования видео, а также в настоящем раскрытии. Каждое изображение обычно разбивается на набор неперекрывающихся блоков. Кодирование/декодирование изображения обычно выполняется на уровне блока, где, например, для генерирования блока предсказания используется внешнее предсказание или внутреннее предсказание, из текущего блока (блок, который в настоящее время обрабатывается/должен быть обработан) вычитается блок предсказания для получения остаточного блока, который дополнительно преобразуется и квантуется для уменьшения количества данных, которые должны быть переданы (сжаты), тогда как на стороне декодера для восстановления блока для представления выполняется обратная обработка кодированного/сжатого блока.

Фиг.1 представляет собой концептуальную или схематическую блок-схему, иллюстрирующую пример системы 10 кодирования, например, системы 10 кодирования видео, которая может использовать способы настоящего изобретения (present disclosure). Кодер 20 (например, видеокодер 20) и декодер 30 (например, видеодекодер 30) системы 10 кодирования видео представляют примеры устройств, которые могут быть выполнены с возможностью выполнять способы в соответствии с различными примерами, описанными в настоящем раскрытии. Как показано на фиг.1, система 10 кодирования содержит устройство 12 источника, выполненное с возможностью предоставлять закодированные данные 13, например, закодированное изображение 13, например, в устройство 14 назначения для декодирования закодированных данных 13. Устройство 12 источника содержит кодер 20 и может дополнительно, т.е. возможно, содержать источник 16 изображения, блок 18 предварительной обработки, например, блок 18 предварительной обработки изображения и интерфейс связи или блок 22 связи.

Источник 16 изображения может содержать или быть устройством захвата изображения любого типа, например, для захвата реального изображения и/или любого вида изображения или комментария (для кодирования контента экрана, некоторые тексты на экране являются также частью изображения или кадра, которое должно быть закодировано) устройства для генерирования, например, процессор компьютерной графики для генерирования компьютерного анимированного изображения, или любое устройство для получения и/или предоставления реального изображения, компьютерного анимированного изображения (например, контент экрана, изображение виртуальной реальности (VR)) и/или любая их комбинация (например, изображение дополненной реальности (AR)).

(Цифровое) изображение является или может рассматриваться как двумерный массив или матрица выборок со значениями интенсивности. Выборка в массиве также может называться пикселем (сокращенная форма элемента изображения) или пикселем. Количество выборок в горизонтальном и вертикальном направлении (или по оси) массива или изображения определяет размер и/или разрешение изображения. Для представления цвета обычно используются три цветовых компонента, то есть, изображение может быть представлено или включать в себя три массива выборок. В формате RBG или цветовом пространстве изображение содержит соответствующий массив выборок красного, зеленого и синего цветов. Однако при кодировании видео каждый пиксель обычно представлен в формате яркости/цветности или цветовом пространстве, например YCbCr, который содержит компонент яркости, обозначенный Y (иногда вместо него также используется L), и два компонента цветности, обозначенные Cb и Cr. Компонент Y яркости (или для краткости яркость) представляет яркость или интенсивность уровня серого (например, как в полутоновом изображении), в то время как два компонента цветности (или кратко цветность) Cb и Cr представляют компоненты информации цветности или цвета. Соответственно, изображение в формате YCbCr содержит массив выборок яркости из значений выборок яркости (Y) и два массива выборок цветности значений цветности (Cb и Cr). Изображения в формате RGB могут быть преобразованы в формат YCbCr, и наоборот, этот процесс также известен как преобразование цвета. Если изображение является монохромным, оно может содержать только массив выборок яркости.

Источник 16 изображения (например, источник 16 видео) может быть, например, камерой для захвата изображения, памятью, например, память изображения, содержащая или хранящая ранее захваченное или сгенерированное изображение, и/или интерфейс любого типа (внутренний или внешний) для получения или приема изображения. Камера может быть, например, локальной или интегрированной камерой, интегрированной в устройство источника, память может быть локальной или интегрированной памятью, например, интегрирована в устройство источника. Интерфейс может быть, например, внешним интерфейсом для приема изображения от внешнего источника видео, например, внешнего устройства захвата изображения, такого как камера, внешней памяти или внешнего устройства формирования изображения, например, внешнего компьютерного графического процессора, компьютера или сервера. Интерфейс может быть любым, например, проводным или беспроводным интерфейсом, оптическим интерфейсом в соответствии с любым проприетарным или стандартизованным протоколом интерфейса. Интерфейс для получения данных 17 изображения может быть тем же интерфейсом, что и интерфейс 22 связи, или являться его частью.

В отличие от блока 18 предварительной обработки и обработки, выполняемой блоком 18 предварительной обработки, изображение или данные 17 изображения (например, видеоданные 16) также могут называться необработанным изображением или данными 17 необработанного изображения.

Блок 18 предварительной обработки выполнен с возможностью принимать (необработанные) данные 17 изображения и выполнять предварительную обработку данных 17 изображения для получения предварительно обработанного изображения 19 или предварительно обработанных данных 19 изображения. Выполнена предварительная обработка блоком 18 предварительной обработки может, например, включать в себя обрезку, преобразование цветового формата (например, из RGB в YCbCr), цветокоррекцию или устранение шумов. Можно понять, что блок 18 предварительной обработки может быть возможным компонентом.

Кодер 20 (например, видеокодер 20) выполнен с возможностью принимать предварительно обработанные данные 19 изображения и предоставления данных 21 закодированного изображения (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг. 2).

Интерфейс 22 связи устройства 12 источника может быть выполнен с возможностью принимать данные 21 закодированного изображения и передавать их в другое устройство, например, устройство 14 назначения или любое другое устройство для хранения или прямого восстановления или для обработки данных 21 закодированного изображения соответственно перед сохранением кодированных данных 13 и/или передачей кодированных данных 13 в другое устройство, например, устройство 14 назначения или любое другое устройство для декодирования или сохранения.

Устройство 14 назначения содержит декодер 30 (например, видеодекодер 30) и может дополнительно, то есть, возможно, содержать интерфейс связи или блок 28 связи, блок 32 постобработки и устройство 34 отображения.

Интерфейс 28 связи устройства 14 назначения выполнен с возможностью принимать данные 21 кодированного изображения или кодированные данные 13, например, непосредственно из устройства 12 назначения или из любого другого источника, например, запоминающее устройство, например, устройство для хранения данных закодированного изображения.

Интерфейс 22 связи и интерфейс 28 связи могут быть выполнены с возможностью передавать или принимать данные 21 кодированного изображения или закодированные данные 13 через прямую линию связи между устройством 12 источника и устройством 14 назначения, например, прямое проводное или беспроводное соединение или через любую сеть, например, проводная или беспроводная сеть или любая их комбинация, или любая частная сеть и сеть общего пользования, или любая их комбинация.

Интерфейс 22 связи может быть, например, выполнен с возможностью упаковки данных 21 закодированного изображения в соответствующий формат, например, пакеты для передачи по каналу связи или сети связи.

Интерфейс 28 связи, образующий аналог интерфейса 22 связи, может быть, например, выполнен с возможностью распаковки закодированных данных 13 для получения данных 21 закодированного изображения.

Как интерфейс 22 связи, так и интерфейс 28 связи могут быть сконфигурированы как однонаправленные интерфейсы связи, как показано стрелкой для данных 13 кодированного изображения на фиг.1, указывающей от устройства 12 источника к устройству 14 назначения, или двунаправленные интерфейсы связи, и может быть выполнен с возможностью, например, отправлять и принимать сообщения, например, для установки соединения, подтверждения и обмена любой другой информацией, относящейся к каналу связи и/или передаче данных, например, передаче данных закодированного изображения.

Декодер 30 выполнен с возможностью принимать данные 21 кодированного изображения и предоставления данных 31 декодированного изображения или декодированного изображения 31 (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг.3).

Блок 32 постобработки устройства 14 назначения выполнен с возможностью пост-обработки данных 31 декодированного изображения (также называемых данными восстановленного изображения), например, декодированное изображение 31, для получения данных 33 изображения после обработки, например, пост-обработанное изображение 33. Постобработка, выполняемая блоком 32 постобработки, может включать в себя, например, преобразование цветового формата (например, из YCbCr в RGB), цветокоррекцию, обрезку или повторную выборку, или любую другую обработку, например, для подготовки данных 31 декодированного изображения для отображения, например, с помощью устройства 34 отображения.

Устройство 34 отображения устройства 14 назначения выполнено с возможностью принимать данные 33 изображения после постобработки для отображения изображения, например, пользователю или зрителю. Устройство 34 отображения может быть или содержать любой вид дисплея для представления восстановленного изображения, например, встроенный или внешний дисплей или монитор. Дисплеи могут, например, состоят из жидкокристаллических дисплеев (LCD), дисплеев на органических светодиодах (OLED), плазменных дисплеев, проекторов, микро-светодиодных дисплеев, жидких кристаллов на кремнии (LCoS), цифрового светового процессора (DLP) или любого другого дисплея.

Хотя фиг.1 изображает устройство 12 источника и устройство 14 назначения как отдельные устройства, варианты осуществления устройств также могут содержать оба или обе функциональные возможности устройства 12 источника или соответствующие функциональные возможности устройства 14 назначения или соответствующие функциональные возможности. В таких вариантах осуществления устройство 12 источника или соответствующие функциональные возможности и устройство 14 назначения или соответствующие функциональные возможности могут быть реализованы с использованием одного и того же аппаратного и/или программного обеспечения или с помощью отдельного аппаратного и/или программного обеспечения или любой их комбинации.

Как будет очевидно для специалиста на основании описания, существование и (точное) разделение функциональных возможностей различных блоков или функций в устройстве 12 источника и/или устройстве 14 назначения, как показано на фиг.1, может отличаться в зависимости от реального устройства и реализации.

Кодер 20 (например, видеокодер 20) и декодер 30 (например, видеодекодер 30), каждый может быть реализован как любая из множества подходящих схем, таких как один или более микропроцессоров, процессоров цифровых сигналов (DSP), специализированные интегральные схемы (ASIC), программируемые пользователем вентильные матрицы (FPGA), дискретная логика, аппаратное обеспечение или любые их комбинации. Если способы частично реализованы в программном обеспечении, устройство может хранить инструкции для программного обеспечения на подходящем постоянном машиночитаемом носителе данных и может выполнять инструкции в аппаратных средствах с использованием одного или более процессоров для выполнения способов этого настоящего изобретения. Любой из вышеперечисленных (включающие в себя оборудование, программное обеспечение, комбинацию оборудования и программного обеспечения и т.д.) может рассматриваться как один или более процессоров. Каждый из видеокодера 20 и видеодекодера 30 может содержаться в один или более кодеров или декодеров, каждый из которых может быть интегрирован как часть комбинированного кодера/декодера (CODEC) в соответствующем устройстве.

Фиг.2 показывает схематическую/концептуальную блок-схему примерного видеокодера 20, который выполнен с возможностью реализации способов настоящего изобретения. В примере на фиг.2, видеокодер 20 содержит блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 210 обратного квантования и блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, блок 220 контурного фильтра, буфер 230 декодированных изображений (DPB), блок 260 обработки предсказания и блок 270 энтропийного кодирования. Блок 260 обработки предсказания может включать в себя блок 244 внешнего предсказания, блок 254 внутреннего предсказания и блок 262 выбора режима. Блок 244 внешнего предсказания может включать в себя блок оценки движения и блок компенсации движения (не показаны). Видеокодер 20, показанный на фиг. 2, также может называться гибридным видеокодером или видеокодером согласно гибридному видеокодеку.

Например, блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 260 обработки предсказания и блок 270 энтропийного кодирования образуют прямой путь сигнала кодера 20, тогда как, например, блок 210 обратного квантования, блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер 230 декодированных изображений (DPB), блок 260 обработки предсказания образуют обратный путь прохождения сигнала кодера, в котором обратный путь сигнала кодера соответствует пути сигнала декодера (см. декодер 30 на фиг.3).

Кодер 20 выполнен с возможностью принимать, например, посредством ввода 202 изображение 201 или блок 203 изображения 201, например, изображение последовательности изображений, образующих видео или видеопоследовательность. Блок 203 изображения также может называться блоком текущего изображения или блоком изображения, подлежащим кодированию, и изображение 201 как текущего изображения или изображение, которое должно быть кодировано (в частности, при кодировании видео, чтобы отличать текущее изображение от других изображений, например, ранее закодированных и/или декодированные изображения одной и той же видеопоследовательности, т.е. видеопоследовательности, которая также содержит текущее изображение).

Блок 260 обработки предсказания, также называемый блоком 260 обработки предсказания блока, выполнен с возможностью принимать или получать блок 203 (текущий блок 203 текущего изображения 201) и данные восстановленного изображения, например, опорных выборок одного и того же (текущего) изображения из буфера 216 и/или данных 231 опорного изображения из одного или множества ранее декодированных изображений из буфера 230 декодированного изображения, и обрабатывать эти данные для предсказания, то есть, чтобы обеспечить блок 265 предсказания, который может быть блоком 245 внешнего предсказания или блоком 255 внутреннего предсказания.

Блок 262 выбора режима может быть выполнен с возможностью выбирать режим предсказания (например, режим внутреннего или внешнего предсказания) и/или соответствующего блока 245 или 255 предсказания, который будет использоваться в качестве блока 265 предсказания для вычисления остаточного блока 205 и для восстановления восстановленного блока 215.

Варианты осуществления блока 262 выбора режима могут быть выполнены с возможностью выбирать режим предсказания (например, из тех, которые поддерживаются блоком 260 обработки предсказания), который обеспечивает наилучшее совпадение или, другими словами, минимальный остаток (минимальный остаток означает лучшее сжатие для передачи или хранилище), или минимальные служебные данные сигнализации (минимальные служебные данные сигнализации означают лучшее сжатие для передачи или хранения), или который учитывает или уравновешивает и то, и другое. Блок 262 выбора режима может быть выполнен с возможностью определять режим предсказания на основании оптимизации искажения скорости (RDO), то есть, выбора режима предсказания, который обеспечивает оптимизацию искажения с минимальной скоростью, или какое ассоциированное искажение скорости, по меньшей мере, удовлетворяет критерию выбора режима предсказания.

Блок 254 внутреннего предсказания дополнительно выполнен с возможностью определять на основании параметра внутреннего предсказания, например, выбранный режим внутреннего предсказания, блок 255 внутреннего предсказания. В любом случае, после выбора режима внутреннего предсказания блока, блок 254 внутреннего предсказания также выполнен с возможностью предоставлять параметр внутреннего предсказания, то есть, информацию, указывающую выбранный режим внутреннего предсказания блока, в блок 270 энтропийного кодирования. В одном примере блок 254 внутреннего предсказания может быть выполнен с возможностью выполнять любую комбинацию способов внутреннего предсказания, описанных ниже.

Фиг.3 показывает примерный видеодекодер 30, который выполнен с возможностью реализации способов настоящего изобретения. Видеодекодер 30, выполненный с возможностью принимать данные 21 кодирования изображения (например, кодированного битового потока), например, кодируется кодером 100, чтобы получить декодированное изображение 131. Во время процесса декодирования видеодекодер 30 принимает видеоданные, например, кодированный битовый поток видео, который представляет блоки изображения кодированного сегмента видео и ассоциированные элементы синтаксиса из видеокодера 100.

В примере на фиг.3, декодер 30 содержит блок 304 энтропийного декодирования, блок 310 обратного квантования, блок 312 обработки обратного преобразования, блок 314 восстановления (например, сумматор 314), буфер 316, контурный фильтр 320, буфер 330 декодированных изображений и блок 360 обработки предсказания. Блок 360 обработки предсказания может включать в себя блок 344 внешнего предсказания, блок 354 внутреннего предсказания и блок 362 выбора режима. Видеодекодер 30 может, в некоторых примерах, выполнять проход декодирования, в целом обратный к этапу кодирования, описанный применительно к видеокодеру 100 на фиг.2.

Блок 304 энтропийного декодирования выполнен с возможностью выполнять энтропийное декодирование данных 21 кодированного изображения для получения, например, квантованных коэффициентов 309 и/или декодированных параметров кодирования (не показаны на фиг.3), например, (декодированный) любой или все параметры внешнего предсказания, параметр внутреннего предсказания, параметры контурного фильтра и/или другие элементы синтаксиса. Блок 304 энтропийного декодирования дополнительно выполнен с возможностью пересылать параметры внешнего предсказания, параметр внутреннего предсказания и/или другие элементы синтаксиса в блок 360 обработки предсказания. Видеодекодер 30 может принимать элементы синтаксиса на уровне сегмента видео и/или уровне видеоблока.

Блок 310 обратного квантования может быть идентичен по функциям блоку 110 обратного квантования, блок 312 обработки обратного преобразования может быть идентичным по функциям блоку 112 обработки обратного преобразования, блок 314 восстановления может быть идентичным функциям блоку 114 восстановления, буфер 316 может быть идентичен по функциям буферу 116, контурный фильтр 320 может быть идентичен по функциям контурному фильтру 120, и буфер 330 декодированного изображения может быть идентичен по функции буферу 130 декодированного изображения.

Блок 360 обработки предсказания может содержать блок 344 внешнего предсказания и блок 354 внутреннего предсказания, в котором блок 344 внешнего предсказания может напоминать блок 144 внешнего предсказания по функциям, и блок 354 внутреннего предсказания может напоминать блок 154 внутреннего предсказания по функциям. Блок 360 обработки предсказания обычно выполнен с возможностью выполнять предсказание блока и/или получать блок 365 предсказания из закодированных данных 21, а также принимать или получать (явно или неявно) связанных с предсказанием параметры и/или информацию о выбранном режиме предсказания, например, из блока 304 энтропийного декодирования.

Когда сегмент видео кодируется как сегмент (I) внутреннего кодирования, блок 354 внутреннего предсказания блока 360 обработки предсказания выполнен с возможностью генерировать блок 365 предсказания для блока изображения текущего сегмента видео на основании сигнализированного режима внутреннего предсказания и данные из ранее декодированных блоков текущего кадра или изображения. Когда видеокадр кодируется как внешне кодированный (то есть, B или P) сегмент, блок 344 внешнего предсказания (например, блок компенсации движения) блока 360 обработки предсказания выполнен с возможностью генерировать блок 365 предсказания для видеоблока текущего сегмента видео на основании векторов движения и других элементов синтаксиса, принятых из блока 304 энтропийного декодирования. Для внешнего предсказания блоки предсказания могут быть получены из одного из опорных изображений в одном из списков опорных изображений. Видеодекодер 30 может составлять списки опорных кадров, список 0 и список 1, используя способы построения по умолчанию на основании опорных изображений, хранящихся в DPB 330.

Блок 360 обработки предсказания выполнен с возможностью определять информацию предсказания для видеоблока текущего сегмента видео путем анализа векторов движения и других элементов синтаксиса и использует информацию предсказания для построения блоков предсказания для текущего декодируемого видеоблока. Например, блок 360 обработки предсказания использует некоторые из принятых элементов синтаксиса для определения режима предсказания (например, внутреннее или внешнее предсказание), используемого для кодирования видеоблоков сегмента видео, типа сегмента внешнего предсказания (например, B-сегмент, P-сегмент или GPB-сегмент), информации составления одного или более списков опорных изображений для сегмента, векторы движения для каждого внешне кодированного видеоблока сегмента, статуса внешнего предсказания для каждого внешне кодированного видеоблока сегмента и другую информацию для декодирования видеоблоков в текущем сегменте видео.

Блок 310 обратного квантования выполнен с возможностью обратного квантования, то есть, деквантования квантованных коэффициентов преобразования, предоставленных в битовом потоке и декодированных блоком 304 энтропийного декодирования. Процесс обратного квантования может включать в себя использование параметра квантования, вычисленного видеокодером 100 для каждого видеоблока в сегменте видео, чтобы определить степень квантования и, аналогично, степень обратного квантования, который должен применяться.

Блок 312 обработки обратного преобразования выполнен с возможностью применять обратное преобразование, например, обратное DCT, обратное целочисленное преобразование или концептуально аналогичный процесс обратного преобразования, к коэффициентам преобразования для получения остаточных блоков в области пикселей.

Блок 314 восстановления (например, сумматор 314) выполнен с возможностью добавлять блок 313 обратного преобразования (т.е. восстановленный остаточный блок 313) к блоку 365 предсказания, чтобы получить восстановленный блок 315 в области выборки, например, путем сложения значений выборок восстановленного остаточного блока 313 и значений выборок блока 365 предсказания.

Блок 320 контурной фильтрации (либо в контуре кодирования, либо после контура кодирования) выполнен с возможностью фильтрации восстановленного блока 315 для получения отфильтрованного блока 321, например, для сглаживания переходов пикселей или иного улучшения качества видео. В одном примере блок 320 контурного фильтра может быть выполнен с возможностью выполнять любую комбинацию способов фильтрации, описанных ниже. Блок 320 контурного фильтра предназначен для представления одного или более контурных фильтров, таких как фильтр деблокинга, фильтр с адаптивным смещением (SAO) или другие фильтры, например, двусторонний фильтр или адаптивный контурный фильтр (ALF), или фильтры повышения резкости или сглаживания, или коллаборативные фильтры. Хотя блок 320 контурного фильтра показан на фиг.3, как контурный фильтр, в других конфигурациях блок 320 контурного фильтра может быть реализован как пост-контурный фильтр.

Декодированные видеоблоки 321 в данном кадре или изображении затем сохраняются в буфере 330 декодированных изображений, в котором хранятся опорные изображения, используемые для последующей компенсации движения.

Декодер 30 выполнен с возможностью выводить декодированное изображение 331, например, через выход 332 для представления или просмотра пользователю.

Другие варианты видеодекодера 30 могут использоваться для декодирования сжатого битового потока. Например, декодер 30 может формировать выходной видеопоток без блока 320 контурной фильтрации. Например, декодер 30 без преобразования может выполнять обратное квантование остаточного сигнала непосредственно без блока 312 обработки обратного преобразования для конкретных блоков или кадров. В другой реализации видеодекодер 30 может иметь блок 310 обратного квантования и блок 312 обработки обратного преобразования, объединенные в один блок.

Согласно HEVC/H.265 стандарту доступно 35 режимов внутреннего предсказания. Как показано на фиг.4, этот набор содержит следующие режимы: планарный режим (индекс режима внутреннего предсказания равен 0), DC режим (индекс режима внутреннего предсказания равен 1) и направленные (угловые) режимы, которые охватывают диапазон 180° и имеют диапазон значений индекса режима внутреннего предсказания от 2 до 34, показанный черными стрелками на фиг.4. Для захвата произвольных направлений краев, присутствующих в естественном видео, количество направленных внутренних режимов увеличено с 33, как используется в HEVC, до 65. Дополнительные направленные режимы изображены пунктирными стрелками на фиг. 4, и планарный режим и DC режим остаются прежними. Стоит отметить, что диапазон, охватываемый режимами внутреннего предсказания, может быть шире 180°. В частности, 62 режима направленности со значениями индекса от 3 до 64 охватывают диапазон приблизительно 230°, т.е. несколько пар режимов имеют противоположную направленность. В случае эталонной модели HEVC (HM) и платформ JEM только одна пара угловых режимов (а именно, режимы 2 и 66) имеет противоположную направленность, как показано на фиг.4. Для построения предиктора обычные угловые режимы используют опорные выборки и (при необходимости) фильтруют их для получения предиктора выборки. Количество опорных выборок, необходимых для построения предиктора, зависит от длины фильтра, используемого для интерполяции (например, билинейные и кубические фильтры имеют длину 2 и 4, соответственно).

VTM (универсальная тестовая модель) использует 35 внутренних режимов, тогда как BMS (набор опорных показателей) использует 67 внутренних режимов. Для кодирования 67 внутренних режимов текущая схема кодирования внутреннего режима в BMS использует следующий способ:

С целью использования увеличенного количества направленных внутренних режимов в BMS, используется способ кодирования внутреннего режима с 6 наиболее вероятными режимами (MPMs). Здесь задействованы два основных технических аспекта.

1) получение 6 MPMs, и

2) энтропийное кодирование 6 MPMs и non-MPMs режимов.

В BMS режимы, включенные в MPM списки, подразделяются на три группы: соседние внутренние режимы, полученные внутренние режимы и внутренние режимы по умолчанию.

Пять соседних режимов внутреннего предсказания используются для построения MPM списка. Эти местоположения 5 соседних блоков такие же, как и те, которые используются в режиме слияния, то есть, слева (L), вверху (A), внизу слева (BL), вверху справа (AR) и вверху слева (AL), как показано на фиг.5. Начальный MPM список формируется путем вставки 5 соседних внутренних режимов, планарного режима и DC режима в MPM список. Используется процесс отсечения для удаления дублированных режимов, так что в MPM список включаются только уникальные режимы. Порядок добавления начальных режимов является: левый, верхний, плоский, DC, нижний левый, верхний правый и верхний левый.

Если MPM список все еще является не полный (т.е. имеет менее 6 MPMs кандидатов в списке), добавляются полученные режимы, эти внутренние режимы получаются путем добавления -1 или +1 к угловым режимам, которые уже включены в MPM список. К неугловым режимам получение не применяется, т.е. DC или планарный.

Наконец, если MPM список все еще не завершен, добавляются режимы по умолчанию в следующем порядке: вертикальный, горизонтальный, внутренний режим 2 и диагональный режим. В результате этого процесса генерируется уникальный список из 6 MPM режимов.

Для энтропийного кодирования 6 MPMs используется усеченная унарная бинаризация MPMs. Первые три бина кодируются контекстами, которые зависят от MPM режима, относящегося к бину, который в данный момент сигнализируется. MPM режим подразделяется на одну из трех категорий: (a) принадлежит ли режим к горизонтальному (MPM режим меньше или равен диагональному направлению), (b) вертикальному (режим MPM больше, чем диагональное направление) или (с) не угловому (DC и планарный) классу. Соответственно, для сигнализации MPM индекса используются три контекста.

Кодирование оставшегося 61 non-MPMs выполняется следующим образом. 61 non-MPMs сначала делятся на два набора: набор выбранных режимов и набор невыбранных режимов. Набор выбранных режимов содержит 16 режимов и остальные (45 режимов) назначены набору невыбранных режимов. Набор режимов, которому принадлежит текущий режим, указывается в битовом потоке с помощью флага. Затем режим из выбранного набора сигнализируется 4-битным кодом фиксированной длины, и режим из невыбранного набора кодируется усеченным двоичным кодом. Выбранный набор режимов генерируется путем суб-выборки всего 61 non-MPMs со следующими индексами:

Набор выбранных режимов = {0, 4, 8, 12, 16, 20… 60}

Набор невыбранных режимов = {1, 2, 3, 5, 6, 7, 9, 10… 59}

В таблице 1 показан обзор различных механизмов сигнализации внутреннего режима.

Таблица 1: сигнализация текущего внутреннего режима LUMA в BMS

Режимы внутреннего предсказания МРМ флаг Выбранный флаг Строка бин МРМ режимы (6) 1 0 10 110 1110 11110 11111 Выбранные режимы (16) 0 1 4 бита фиксированной длины кода Невыбранные режимы (45) 0 0 Усеченный двоичный код

В другом примере используется способ кодирования внутреннего режима с 3 наиболее вероятными режимами (MPMs). В примере элементы intra_luma_mpm_flag [x0] [y0], intra_luma_mpm_idx [x0] [y0] и intra_luma_mpm_remainder [x0] [y0] синтаксиса определяют режим внутреннего предсказания для выборок яркости. Индексы x0, y0 массива определяют местоположение (x0, y0) верхней левой выборки яркости рассматриваемого блока предсказания относительно верхней левой выборки яркости изображения. Когда intra_luma_mpm_flag [x0] [y0] равно 1, получают режим внутреннего предсказания из соседнего блока внутреннего предсказания.

Внутреннее предсказание для текущего блока (IntraPredModeY [xPb] [yPb]) реализуется с помощью следующих упорядоченных этапов:

Соседние местоположения (xNbA, yNbA) и (xNbB, yNbB) устанавливаются равными (xPb - 1, yPb) и (xPb, yPb - 1) соответственно.

Если X заменяется либо на A, или B, переменные candIntraPredModeX выводятся следующим образом:

Процесс определения доступности для блока инициируется местоположением (xCurr, yCurr), установленным равным (xPb, yPb), и соседним местоположением (xNbY, yNbY), установленным равным (xNbX, yNbX), в качестве входных данных, и вывод равен availableX.

Кандидат режима candIntraPredModeX внутреннего предсказания получается следующим образом:

Если одно или более из следующих условий истинны, CandIntraPredModeX устанавливается равным INTRA_DC.

Переменная availableX равна FALSE.

CuPredMode [xNbX] [yNbX] не равно MODE_INTRA.

X равно B и yPb - 1 меньше, чем ((yPb >> CtbLog2SizeY) << CtbLog2SizeY).

В противном случае CandIntraPredModeX устанавливается равным IntraPredModeY [xNbX] [yNbX].

CandModeList [x] с x = 0..2 выводится следующим образом:

Если CandIntraPredModeB равен candIntraPredModeA, применяется следующее:

Если candIntraPredModeA меньше 2 (т.е. равно INTRA_PLANAR или INTRA_DC), candModeList [x] с x = 0..2 выводится следующим образом:

candModeList [0] = INTRA_PLANAR

candModeList [1] = INTRA_DC

candModeList [2] = INTRA_ANGULAR50

В противном случае candModeList [x] с x = 0..2 получается следующим образом:

candModeList [0] = candIntraPredModeA

candModeList [1] = 2 + ((candIntraPredModeA + 61) % 64)

candModeList [2] = 2 + ((candIntraPredModeA - 1) % 64)

В противном случае (candIntraPredModeB не равно candIntraPredModeA) применяется следующее:

CandModeList [0] и candModeList [1] выводятся следующим образом:

candModeList [0] = candIntraPredModeA

candModeList [1] = candIntraPredModeB

Если ни один из candModeList [0] и candModeList [1] не равен INTRA_PLANAR, candModeList [2] устанавливается равным INTRA_PLANAR,

В противном случае, если ни один из candModeList [0] и candModeList [1] не равен INTRA_DC, candModeList [2] устанавливается равным INTRA_DC,

В противном случае candModeList [2] устанавливается равным INTRA_ANGULAR50.

IntraPredModeY [xPb] [yPb] получается путем применения следующей процедуры:

Если intra_luma_mpm_flag [xPb] [yPb] равно 1, IntraPredModeY [xPb] [yPb] устанавливается равным candModeList [intra_luma_mpm_idx [xPb] [yPb]].

В противном случае IntraPredModeY [xPb] [yPb] получается путем выполнения следующих упорядоченных этапов:

Массив candModeList [x], x = 0..2 модифицируется путем выполнения следующих упорядоченных этапов:

Когда candModeList [0] больше, чем candModeList [1], оба значения меняются местами следующим образом:

(candModeList [0], candModeList [1]) = Swap(candModeList [0], candModeList [1])

Когда candModeList [0] больше, чем candModeList [2], оба значения меняются местами следующим образом:

(candModeList [0], candModeList [2]) = Swap(candModeList [0], candModeList [2])

Когда candModeList [1] больше, чем candModeList [2], оба значения меняются местами следующим образом:

(candModeList [1], candModeList [2]) = Swap (candModeList [1], candModeList [2]) (8 11)

IntraPredModeY [xPb] [yPb] выводится с помощью следующих упорядоченных этапов:

IntraPredModeY [xPb] [yPb] устанавливается равным intra_luma_mpm_remainder [xPb] [yPb].

Для i, равного от 0 до 2 включительно, когда IntraPredModeY [xPb] [yPb] больше или равно candModeList [i], значение IntraPredModeY [xPb] [yPb] увеличивается на единицу.

В одной форме реализации настоящего изобретения кадр такой же, как изображение.

В одном аспекте настоящего изобретения раскрывается способ построения списка наиболее вероятного режима, MPM, причем способ содержит:

определение, доступен ли левый блок текущего блока кодирования или нет, если доступен левый блок текущего блока кодирования, добавление режима внутреннего предсказания левого блока в MPM список;

определение, доступен ли верхний блок текущего блока кодирования или нет, если верхний блок текущего блока кодирования доступен, добавление режима внутреннего предсказания верхнего блока в MPM список;

если планарный режим не содержится в MPM списке, добавление планарного режима в MPM список;

если DC режим не содержится в MPM списке, добавление DC режима в MPM список.

В одной форме реализации настоящего изобретения, если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока не содержится в MPM списке, добавление режима внутреннего предсказания верхнего блока в MPM список.

В одной форме реализации настоящего изобретения, если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока содержится в MPM списке, выполняется «добавление», или мы можем сказать результат процесса «добавления» не изменяет MPM список.

В одной форме реализации настоящего изобретения, когда режим предсказания левого блока не является режимом внутреннего предсказания, левый блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, когда текущий блок кодирования является блоком кодирования, расположенным в самой левой части кадра, левый блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, в которой поддерживается параллельная обработка и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, левый блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, в которой параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, но не в самой левой части кадра, левый блок текущего блока кодирования доступен.

В одной форме реализации настоящего изобретения, в которой поддерживается параллельная обработка и текущий блок кодирования является блоком кодирования, расположенным в самой левой части сегмента, левый блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, в которой параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части сегмента, но не в крайней левой части кадра, левый блок текущего блока кодирования доступен.

В одной форме реализации настоящего изобретения, когда режим предсказания верхнего блока не является режимом внутреннего предсказания, верхний блоктекущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, когда текущий блок кодирования является блоком кодирования, расположенным в самой верхней части кадра, верхний блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, в которой поддерживается параллельная обработка и текущий блок кодирования является блоком кодирования, расположенным на самой верхней стороне плитки, верхний блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, в которой параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным на самой верхней стороне плитки, но не на самой верхней стороне кадра, верхний блок текущего блока кодирования является доступным.

В одной форме реализации настоящего изобретения, в которой поддерживается параллельная обработка и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, верхний блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, в которой параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, но не в самой верхней части кадра, верхний блок текущего блока кодирования является доступным.

В одной форме реализации настоящего изобретения, когда размер линейного буфера ограничен и текущий блок кодирования является блоком кодирования, расположенным на самой верхней части текущего CTU, верхний блок текущего блока кодирования недоступен.

В одной форме реализации настоящего изобретения, в которой, когда текущий блок кодирования является блоком кодирования, не расположенным в самой левой части кадра, левый блок текущего блока кодирования является доступным.

В одной форме реализации настоящего изобретения, в которой, когда текущий блок кодирования является блоком кодирования, не расположенным на самой верхней части кадра, верхний блок текущего блока кодирования доступен.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

В одной форме реализации настоящего изобретения, способ дополнительно содержит: добавление вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX) в MPM список.

В одной форме реализации настоящего изобретения, способ дополнительно содержит список кандидатов углового режима, содержащий или состоящий из: вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX) в MPM списке; и способ дополнительно включает: итеративное определение в соответствии с их порядком в списке, находится ли угловой режим списка в MPM списке и, если соответствующий угловой режим отсутствует в MPM списке, добавление соответствующего углового режима в MPM список.

В одной форме реализации настоящего изобретения, в которой построение списка MPM начинается с этапа определения, доступен ли левый блок текущего блока кодирования или нет, например, на основании пустого MPM списка.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если левый блок текущего блока кодирования недоступен и доступен другой блок в общем левом направлении (например, BL или AL на фиг.5), вставку режима внутреннего предсказания другого блока в MPM список, если левый блок доступен, не вставку режима внутреннего предсказания другого блока в MPM список.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если верхний блок текущего блока кодирования недоступен и доступен другой блок в общем верхнем направлении (например, AR или AL на фиг.5), вставку режима внутреннего предсказания другого блока в MPM список, если верхний блок доступен, не вставку режима внутреннего предсказания другого блока в MPM список.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: добавление вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX) в MPM список, при их отсутствии в MPM списке.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если и левый, и верхний блок текущего блока кодирования являются не угловыми, дополнительную проверку еще одного другого соседнего блока (например, BL, AL или AR на фиг.5). Если какой-либо из них (BL, или AL, или AR) является угловым, то тогда использование этого углового режима в качестве начального углового режима для -1 + 1 процесса получения, как описано ранее.

В одной форме реализации настоящего изобретения значение, соответствующее VER_IDX, равно 50; значение, соответствующее HOR_IDX, равно 18; значение, соответствующее VDIA_IDX, равно 66, и это значение может быть наибольшим значением из значений, соответствующих угловым режимам; значение 2, которое соответствует внутреннему режиму 2, может быть наименьшим значением из значений, соответствующих угловым режимам; значение, соответствующее DIA_IDX, равно 34.

В одной форме реализации настоящего изобретения, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверка, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM списке, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не будет равняется пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения,

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.

В одной форме реализации настоящего изобретения режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, использует значение, соответствующее VER_IDX, для добавления смещения -4 и получения значения соответствующего режима внутреннего предсказания, например, поскольку значение VER_IDX равно 50, режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, является режимом 46 внутреннего предсказания, режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, является режимом 54 внутреннего предсказания. Другие примеры со смещением имеют аналогичные этому примеру процессы.

Следует отметить, что при выполнении -1 или +1 или других значений смещения это может включать в себя операцию перехода вверх и вниз, например, поскольку значение внутреннего режима (2) равно 2 (наименьшее значение в значениях, соответствующих угловым режимам), тогда внутренний режим (2)-1 будет 66 (случай перехода вверх) или, поскольку значение VDIA_IDX равно 66 (наибольшее значение в значениях, соответствующих угловым режимам), тогда VDIA_IDX +1 будет равен 2 (случай перехода вниз).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, согласно вышеупомянутому порядку для списка MPM, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, в соответствии с вышеупомянутым порядком для MPM списка, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:

вертикальный режим (VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 4; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением +1; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1; или

вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;

в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:

вертикальный режим (VER_IDX), вертикальный диагональный режим(VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или же

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением +1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным,

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (в качестве первого режима внутреннего предсказания), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным,

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4 согласно вышеупомянутому порядку, в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения,

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -4, и HOR_IDX добавляют смещение 4; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1; или

горизонтальный режим (HOR_IDX) (как первый режим внутреннего предсказания), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;

в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -4, и HOR_IDX добавляют смещение 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим(VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не будет равняется пороговому значению.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2).

В одной форме реализации настоящего изобретения способ дополнительно содержит: если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

В одной форме реализации настоящего изобретения можно понять, что добавление режима внутреннего предсказания в MPM список добавляет значение, соответствующее режиму внутреннего предсказания, в MPM список.

В одной из форм реализации настоящего изобретения пороговое значение равно 6.

В одной форме реализации настоящего изобретения способ дополнительно содержит: если левый блок текущего блока кодирования доступен и режим внутреннего предсказания левого блока является угловым режимом, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания, если новый режим предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.

В примере смещение равно -1; в другом примере смещение равно 1. В некоторых примерах смещение может быть 2 или -2.

В одной реализации настоящего изобретения способ дополнительно содержит: если верхний блоктекущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление в MPM список режима предсказания со смещением вверх.

В примере смещение равно -1; в другом примере смещение равно 1. В некоторых примерах смещение может быть 2 или -2.

В одном аспекте настоящего изобретения для выполнения вышеупомянутых способов кодер содержит схему обработки.

В одном аспекте настоящего изобретения для выполнения вышеупомянутых способов декодер содержит схему обработки.

В одном аспекте настоящего изобретения для выполнения вышеуказанных способов компьютерный программный продукт содержит программный код.

В одном аспекте настоящего изобретения декодер для составления списка наиболее вероятного режима, MPM, содержащий: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы при выполнении процессорами, конфигурирует декодер выполнить вышеуказанные способы.

В одном аспекте настоящего изобретения кодер для составления списка наиболее вероятного режима, MPM, содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы при выполнении процессорами, конфигурирует кодер выполнить вышеуказанные способы.

В примере,

Первый этап: определение, доступен ли левый блок текущего блока кодирования или нет.

Если левый блок текущего блока кодирования доступен, добавление режима внутреннего предсказания левого блока в MPM список. MPM список может быть пустым списком, если левый блок текущего блока кодирования доступен, режим внутреннего предсказания левого блока добавляется в MPM список, тогда MPM список включает в себя один режим внутреннего предсказания; и, если левый блок текущего блока кодирования недоступен, MPM список все еще остается пустым списком после первого этапа.

Второй этап: определение, доступен ли верхний блок текущего блока кодирования или нет.

Если верхний блок текущего блока кодирования доступен, добавление режима внутреннего предсказания верхнего блока в MPM список. MPM список может включать в себя режим внутреннего предсказания левого блока или еще пустой список.

Если верхний блок текущего блока кодирования доступен и MPM список включает в себя режим внутреннего предсказания левого блока, дополнительно необходимо определить, является ли режим внутреннего предсказания верхнего блока таким же, как режим внутреннего предсказания для левого блока, если они одинаковы, результат этапа «добавление режима внутреннего предсказания верхнего блока в MPM список» не изменяет количество режимов внутреннего предсказания в MPM списке, MPM список включает в себя только один режим внутреннего предсказания; если режим внутреннего предсказания верхнего блока не совпадает с режимом внутреннего предсказания левого блока, то добавление режима внутреннего предсказания верхнего блока в MPM список, и затем MPM список включает в себя два режима внутреннего предсказания.

Если верхний блок текущего блока кодирования доступен и MPM список все еще является пустым списком, добавление режима внутреннего предсказания верхнего блока в MPM список, MPM список включает в себя только один режим внутреннего предсказания.

Если верхний блок текущего блока кодирования недоступен и MPM список включает в себя режим внутреннего предсказания левого блока, MPM список по-прежнему будет включать в себя только режим внутреннего предсказания левого блока.

Если верхний блок текущего блока кодирования недоступен и MPM список по-прежнему является пустым списком, MPM список по-прежнему будет пустым списком.

Третий этап: если планарный режим отсутствует в MPM списке, добавление планарного режима в MPM список.

Если после второго этапа MPM список не включает в себя планарный режим, то добавление планарного режима в MPM список.

Если и режим внутреннего предсказания левого блока, и режим внутреннего предсказания верхнего блока недоступны, или доступный режим внутреннего предсказания не является планарным режимом, MPM список не включает в себя планарный режим.

Если в MPM списке включает в себя планарный режим, необходимо перейти к четвертому этапу.

Четвертый этап: если DC режим отсутствует в MPM списке, добавление DC режима в MPM список.

Если после второго этапа или третьего этапа MPM список не включает в себя DC режим, то необходимо добавить DC режим в MPM список.

Если и режим внутреннего предсказания левого блока, и режим внутреннего предсказания верхнего блока недоступны, или доступный режим внутреннего предсказания не является DC режимом, MPM список не включает в себя DC режим.

Если DC режим находится в MPM списке, необходимо перейти к следующим этапам или завершить построение MPM списка.

В одной форме реализации настоящего изобретения на каждом этапе процесса добавления режима предсказания в MPM список необходимо убедиться, что в MPM списке отсутствуют дублированные режимы предсказания. Следовательно, если режим внутреннего предсказания, который необходимо добавить в MPM список, такой же, как один режим внутреннего предсказания в MPM списке, процесс «добавления» не изменяет MPM список или процесс «добавления» не выполняется.

В одной форме реализации настоящего изобретения, после 4-го этапа только при наличии углового режима, выполняются angular-1, angular + 1.

В примере, если количество режимов внутреннего предсказания в MPM списке равно шести. После четвертого этапа есть три случая, касающихся длины MPM:

Случай 1: длина MPM равна 2: → оба и L, и A не угловые (> DC) или недоступны, только планарный и DC → использовать все четыре режима по умолчанию.

Случай 2: длина MPM равна 3: → один из L и A является угловым, или они одинаковые угловые. → использовать один режим по умолчанию.

Случай 3: длина MPM равна 4: → оба L и A угловые, и они разные → режим по умолчанию не используется, так как будет добавлен по меньшей мере один из L-1, L + 1. Если один из них является дубликатом верхнего (diff (L-A) = 1), то будет вставлен дополнительно, по меньшей мере, один из A-1 и A + 1.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если левый блок текущего блока кодирования доступен и режим внутреннего предсказания левого блока является угловым режимом, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания, если новый режим предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.

В другом примере MPM список включает в себя шесть режимов внутреннего предсказания, поскольку в самом лучшем случае вышеупомянутые четыре этапа могли получить только четыре режима внутреннего предсказания. Способ дополнительно содержит:

Пятый этап: если левый блок текущего блока кодирования доступен и режим внутреннего предсказания левого блока является угловым режимом, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания и, если новый режим предсказания режима предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.

Например, если левый блок текущего блока кодирования представляет собой угловой режим 27 (значение, соответствующее этому режиму углового внутреннего предсказания, равно 27), и MPM список после вышеуказанных четырех этапов равен (27, 15, 0, 1). Добавление смещения к режиму предсказания левого блока для получения нового режима предсказания, если новый режим предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список. В примере смещение равно -1, поэтому новый режим предсказания – 26 и обновленный MPM список представляет собой (27, 15, 0, 1, 26). В другом примере смещение равно 1, поэтому новый режим предсказания – 28 и обновленный MPM список является (27, 15, 0, 1, 28). В другом примере на пятом этапе можно добавить два смещения к режиму внутреннего предсказания левого блока, сначала добавить -1 и затем добавить 1 или сначала добавить 1 и затем добавить -1, поэтому обновленный MPM список может представлять собой (27, 15, 0, 1, 26, 28) или (27, 15, 0, 1, 28, 26).

После пятого этапа проверить, заполнен ли MPM список (если количество режимов внутреннего предсказания в MPM списке равно пороговому значению, например, пороговое значение равно 6, то MPM список заполнен. Если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, значит, MPM список не полон). Если MPM список полон, завершить построение MPM списка; если MPM список не полон, перейти к следующим этапам.

И, если левый блок текущего блока кодирования недоступен, пятый этап не выполняется и переходят к следующим этапам.

Следует отметить, что при добавлении смещения (например, -1 или +1) к режиму углового предсказания может включать в себя операцию перехода вверх и вниз, например, если режим углового предсказания angularLeft равен 2, тогда angularLeft -1 будет 66 (случай перехода вверх) или, если angularLeft равен 66, тогда angularLeft + 1 будет 2 (случай перехода вниз).

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление в MPM список режима предсказания со смещением вверх.

В одном примере способ дополнительно содержит:

Шестой этап: если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх и, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление нового режима предсказания в MPM список.

Например, если верхний блок текущего блока кодирования представляет собой угловой режим 26 (значение, соответствующее этому угловому режиму внутреннего предсказания, равно 26) и MPM список после вышеупомянутого пятого этапа равен (27, 26, 0, 1, 28). Добавление смещения к режиму предсказания левого блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление режима предсказания со смещением вверх в MPM список. В примере смещение равно -1, поэтому режим предсказания со смещением вверх равен 25, обновленный MPM список равен (27, 26, 0, 1, 28, 25). В другом примере смещение равно 1, поэтому режим предсказания со смещением вверх равен 27, и вставка режима 27 со смещением вверх блокируется, поскольку режим 27 был вставлен. В другом примере на шестом этапе к режиму внутреннего предсказания верхнего блока может быть добавлено два смещения, сначала добавить -1 и затем добавить 1 или сначала добавить 1, и затем добавить -1, если MPM список все еще не заполнен после добавления одного смещения.

И, если верхний блок текущего блока кодирования недоступен, шестой этап не выполняется и переходят к следующим этапам. После шестого этапа необходимо проверить, заполнен ли MPM список (количество режимов внутреннего предсказания в MPM списке равно 6). Если MPM список полон, завершить построение MPM списка; если MPM список не заполнен (количество режимов внутреннего предсказания в MPM списке меньше 6), перейти к следующим этапам.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения (например, пороговое значение равно 6), для составления MPM списка использовать список по умолчанию.

В примере, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, список по умолчанию содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

В примере, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, список по умолчанию содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), VER_IDX добавить смещение -4 или VER_IDX добавить смещение 4.

В примере, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, список по умолчанию содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), VER_IDX добавить смещение 4 или VER_IDX добавить смещение -4.

В примере, если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, список по умолчанию содержит:

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2); или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VER_IDX добавить смещение -1, VER_IDX добавить смещение 1; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VER_IDX добавить смещение -4, VER_IDX добавить смещение 4; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VDIA_IDX добавить смещение -4, VER_IDX добавить смещение -1; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VDIA_IDX добавить смещение -4, VER_IDX добавить смещение +1; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VDIA_IDX добавить смещение -1, VER_IDX добавить смещение -1; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VDIA_IDX добавить смещение -1, VER_IDX добавить смещение 1; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VER_IDX добавить смещение -1, VDIA_IDX добавить смещение -4; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VER_IDX добавить смещение 1, VDIA_IDX добавить смещение -4; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VER_IDX добавить смещение -1, VDIA_IDX добавить смещение -1; или

вертикальные режимы (VER_IDX), вертикальный диагональный режим (VDIA_IDX), VER_IDX добавить смещение 1, VDIA_IDX добавить смещение -1.

В примере, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, список по умолчанию содержит:

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

В примере, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным, список по умолчанию содержит:

вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX); или

вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), VER_IDX добавить смещение -4 или VER_IDX добавить смещение 4; или

вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), VER_IDX добавить смещение 4 или VER_IDX добавить смещение -4.

В одном из примеров, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения и верхний блок текущего блока кодирования недоступен, список по умолчанию содержит:

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение -1, HOR_IDX добавить смещение 1; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение -4, HOR_IDX добавить смещение 4; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 4, HOR_IDX добавить смещение -1; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 4, HOR_IDX добавить смещение 1; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 1, HOR_IDX добавить смещение -1; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 1, HOR_IDX добавить смещение 1; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение -1, внутренний режим 2 (2) добавить смещение 4; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение 1, внутренний режим 2 (2) добавить смещение 4; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение -1, внутренний режим 2 (2) добавить смещение 1; или

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение 1, внутренний режим 2 (2) добавить смещение 1.

В одной форме реализации настоящего изобретения, когда левый блок текущего блока кодирования недоступен, верхний блок текущего блока кодирования может быть доступен или может быть недоступен.

В одной форме реализации настоящего изобретения, когда верхний блок текущего блока кодирования недоступен, левый блок текущего блока кодирования может быть доступен или может быть недоступен.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX).

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит: если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) согласно вышеупомянутому порядку в MPM список, когда режим внутреннего предсказания отсутствует в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.

В примере после шестого этапа, если MPM список все еще не заполнен (количество режимов внутреннего предсказания в MPM списке меньше порогового значения), упорядоченное добавление режима внутреннего предсказания в список режимов по умолчанию в MPM список, если этот режим или эти режимы отсутствуют в MPM списке, повторить данный этап, пока MPM список не будет заполнен.

Седьмой этап: добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX).

Например, при отсутствии вертикального режима в MPM списке и MPM список не полон, добавить вертикальный режим в MPM список, если MPM список заполнен после добавления вертикального режима, завершить построение MPM списка.

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие горизонтального режима в MPM списке. Если горизонтальный режим находится в MPM списке, дополнительно проверить, находится ли внутренний режим 2 в MPM списке; при отсутствии горизонтального режима в MPM списке, добавить горизонтальный режим в MPM список. Повторить данный этап до тех пор, пока MPM список не будет заполнен.

В одной форме реализации настоящего изобретения на седьмом этапе со списками режимов по умолчанию каждая вставка режима по умолчанию в MPM список должна гарантировать отсутствие дублированного режима. Если вставка прошла успешно, выполняется еще одна проверка для определения полноты MPM списка. Если да, то процесс построения MPM прекращается; в противном случае продолжить вставку с другим режимом по умолчанию в указанном порядке.

В одной форме реализации настоящего изобретения способ дополнительно содержит: если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

В примере после шестого этапа, если MPM список все еще не заполнен и левый блок текущего блока кодирования недоступен, добавить в MPM список режим внутреннего предсказания в список режимов по умолчанию упорядоченно, если этот режим или эти режимы отсутствуют в MPM списке, повторить данный этап до тех пор, пока MPM список не будет заполнен.

Седьмой этап: добавление в MPM список вертикального режима (VER_IDX), вертикального диагонального режима (VDIA_IDX), диагонального режима (DIA_IDX) или внутреннего режима 2 (2).

Например, при отсутствии вертикального режима в MPM списке и MPM список не полон, добавить вертикальный режим в MPM список, если MPM список заполнен после добавления вертикального режима, завершить построение MPM списка.

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие вертикального диагонального режима в MPM списке. Если вертикальный диагональный режим находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Повторить данный этап итеративно, пока MPM список не будет заполнен.

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

В примере после шестого этапа, если MPM список все еще не заполнен, верхний блок текущего блока кодирования недоступен, упорядоченно добавить в MPM список режим внутреннего предсказания в список режимов по умолчанию, если этот режим или эти режимы отсутствуют в MPM списке, итеративно повторить данный этап, пока MPM список не будет заполнен.

Седьмой этап: добавить в MPM список горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

Например, если горизонтальный режим отсутствует в MPM списке и MPM список не полон, добавить в MPM список горизонтальный режим, если MPM список заполнен после добавления горизонтального режима, завершить построение MPM списка.

И, если MPM список все еще не заполнен после добавить в MPM список горизонтальный режим, проверить наличие внутреннего режима 2. Если внутренний режим 2 находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Итеративно повторить данный этап, пока MPM список не будет заполнен.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущий блок кодирования доступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, включающего в себя вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим ( DIA_IDX) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.

В примере, после шестого этапа, если MPM список все еще не заполнен, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования также доступен, добавить режим внутреннего предсказания по умолчанию в MPM список, если этот режим или эти режимы отсутствуют в MPM списке, итеративно повторить данный этап, пока MPM список не будет заполнен.

Седьмой этап: добавить в MPM список вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

Например, при отсутствии вертикального режима в MPM списке и MPM список не полон, добавить вертикальный режим в MPM список, если MPM список заполнен после добавления вертикального режима, завершить построение MPM списка.

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие горизонтального режима в MPM списке. Если горизонтальный режим находится в MPM списке, дополнительно проверить, находится ли внутренний режим 2 в MPM списке; если внутренний режим 2 отсутствует в MPM списке, добавить внутренний режим 2 в MPM список. Итеративно повторить данный этап, пока MPM список не будет заполнен.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: добавление вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), VER_IDX добавление смещения -4 или VER_IDX добавление смещение 4 в MPM список.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: добавление вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), VER_IDX добавление смещение 4 или VER_IDX добавление смещение -4 в MPM список.

В примере после шестого этапа, если MPM список все еще не полон, добавить в MPM список режим внутреннего предсказания в список режимов по умолчанию, если этот режим или эти режимы отсутствуют в MPM списке, итеративно повторить данный этап до тех пор, пока MPM список не будет полон.

Седьмой этап: добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), VER_IDX добавление смещения -4 или VER_IDX добавление смещения 4; или добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), VER_IDX добавление смещения 4 или VER_IDX добавление смещения -4.

Например, при отсутствии вертикального режима в MPM списке и MPM список не полон, добавить вертикальный режим в MPM список, если MPM список заполнен после добавления вертикального режима, завершить построение MPM списка.

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие горизонтального режима в MPM списке. Если горизонтальный режим находится в MPM списке, дополнительно проверить, находится ли режим предсказания, значение которого равно значению VER_IDX, добавить смещение -4 в MPM список; если режим предсказания, значение которого равно значению VER_IDX, добавить смещение -4, отсутствует в MPM списке, добавить в MPM список режим предсказания, значение которого равно значению VER_IDX, добавить смещение -4. Итеративно повторить данный этап, пока MPM список не будет заполнен.

В примере после шестого этапа, если MPM список все еще не заполнен и левый блок текущего блока кодирования недоступен, добавить в MPM список режим внутреннего предсказания в список режимов по умолчанию, если этот режим или эти режимы отсутствуют в MPM списке, итеративно повторить данный этап, пока MPM список не будет заполнен.

Седьмой этап: добавить в MPM список вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2).

Например, при отсутствии вертикального режима в MPM списке и MPM список не полон, добавить вертикальный режим в MPM список, если MPM список заполнен после добавления вертикального режима, завершить построение MPM списка.

И если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие вертикального диагонального режима в MPM списке. Если вертикальный диагональный режим находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Итеративно выполнить данный этап, пока MPM список не будет заполнен.

В примере после шестого этапа, если MPM список все еще не заполнен, верхний блок текущего блока кодирования недоступен, добавить в MPM список режим внутреннего предсказания в список режимов по умолчанию, если этот режим или эти режимы не находятся в MPM списке, итеративно выполнить данный этап, пока MPM список не будет заполнен.

Седьмой этап: добавить в MPM список горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

Например, если горизонтальный режим отсутствует в MPM списке и MPM список не полон, добавить горизонтальный режим в MPM список, если MPM список заполнен после добавления горизонтального режима, завершить построение MPM списка.

И, если MPM список все еще не заполнен после добавления горизонтального режима, проверить наличие внутреннего режима 2 в MPM списке. Если внутренний режим 2 находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Итеративно выполнить данный этап, пока MPM список не будет заполнен.

В примере после шестого этапа, если MPM список все еще не заполнен, левый блок текущего блока кодирования доступен, и верхний блок текущего блока кодирования доступен, добавить в MPM список режим внутреннего предсказания в режиме по умолчанию, если этот режим или эти режимы отсутствуют в MPM списке, итеративно выполнить этап, пока MPM список не будет заполнен.

Седьмой этап: добавить в MPM список вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), VER_IDX добавить смещение -4 или VER_IDX добавить смещение 4.

В примере для построения MPM списка обеспечиваются предварительно определенные режимы по умолчанию: а именно, вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX), если он не полный. Предлагаются два дополнительных подхода к этим режимам по умолчанию. Они являются адаптивным подходом по умолчанию и измененным подходом по умолчанию.

Подход, использующий адаптивные режимы, рассматривает блоки, которые располагаются в самой левой и самой верхней части кадра. Для блоков, расположенных на левой границе кадра, использование горизонтального режима маловероятно, поскольку исходные выборки предсказания, расположенные в левом блоке текущего блока отсутствуют. Кроме того, рассматривают режимы, в которых обычно используются горизонтальные режимы (например, DIA_IDX, режим 2), как маловероятные.

Для блоков, расположенных на верхней границе кадра, вертикальный режим маловероятен, потому что исходные выборки предсказания, которые находятся в верхнем блоке текущего блока, отсутствуют. Кроме того, режимы, обычно использующие вертикальные режимы (например, VDIA_IDX, DIA_IDX), являются маловероятными.

Поэтому используется следующий подход с учетом границ:

Если левый блок текущего блока кодирования отсутствует, то используются следующая последовательность режимов в качестве кандидатов режима по умолчанию: VER_IDX, VDIA_IDX, DIA_IDX, режим 2.

В противном случае (при наличии левого блока):

если верхний блок текущего блока кодирования отсутствует, то используются следующие режимы по порядку в качестве кандидатов режимов по умолчанию: HOR_IDX, режим 2, DIA_IDX, VDIA_IDX.

В противном случае (при наличии верхнего блока) использовать обычные режимы по умолчанию: VER_IDX, HOR_IDX, внутренний режим 2 (2), VDIA_IDX или DIA_IDX

Измененный подход по умолчанию добавляет следующие кандидаты режима в MPM список: VER, HOR, VER-4, VER + 4. Последовательность VER-4, VER + 4 может быть изменена.

Одна комбинация этих двух способов может представлять собой следующее:

Если левый блок текущего блока кодирования отсутствует, то используются следующие режимы по порядку в качестве кандидатов режимов по умолчанию: VER_IDX, VDIA_IDX, DIA_IDX, режим 2.

В противном случае (при наличии левого блока):

если верхний блок текущего блока кодирования отсутствует, то используются следующие режимы по порядку в качестве кандидатов режимов по умолчанию: HOR_IDX, режим 2, DIA_IDX, VDIA_IDX.

В противном случае (при наличии верхнего блока) использовать измененные режимы по умолчанию: VER_IDX, HOR_IDX, VER, HOR, VER-4, VER + 4.

В одном аспекте настоящего изобретения предлагается упрощенный способ построения списка MPM из 6 записей, содержащий: проверку доступности левого блока текущего блока кодирования. Положение левого блока показано на фиг.5, где левый блок обозначен буквой «L».

Левый блок недоступен при отсутствии информации внутреннего предсказания (то есть режим внутреннего предсказания) из левого блока. Что включает в себя следующие случаи:

левый блок не является блоком внутреннего предсказания; левый блок отсутствует, например, текущий блок является блоком кодирования, расположенным в самой левой части кадра; если кодер или декодер поддерживают параллельную обработку, левый блок может считаться отсутствующим (или недоступным), если расположен в разных плитках текущего блока или с текущим блоком, т.е. текущий блок кодирования находится или расположен в самой левой стороне плитки.

В другом примере, если параллельная обработка не поддерживается в кодере или декодере, левый блок может считаться доступным, если он расположен в разных плитках текущего блока, то есть, текущий блок кодирования находится в самой левой стороне плитки.

Если в кодере или декодере поддерживается параллельная обработка, левый блок можно рассматривать как отсутствующий, если он расположен в разных сегментах с текущим блоком, то есть, текущий блок кодирования располагается в самой левой части сегмента.

В другом примере, если параллельная обработка не поддерживается в кодере или декодере, левый блок может считаться доступным, если он расположен в разных сегментах с текущим блоком, то есть, текущий блок кодирования находится в самой левой части сегмента.

В противном случае (то есть доступен левый блок) включать в MPM список с 6 записями режим внутреннего предсказания левого блока.

Проверить доступность верхнего блока текущего блока кодирования. Положение верхнего блока показано на фиг.5, где верхний блок помечен буквой «A».

Верхний блок недоступен, если никакая информация внутреннего предсказания (то есть, режим внутреннего предсказания) не может быть получена из верхнего блока. Что включает в себя следующие случаи:

Верхний блок не является блоком внутреннего предсказания.

Верхний блок отсутствует. Например, текущий блок является блоком кодирования, расположенным в самой верхней части кадра.

Если в кодере или декодере поддерживается параллельная обработка, верхний блок может считаться отсутствующим, если он расположен в разных плитках с текущим блоком, то есть, текущий блок кодирования находится в самой верхней части плитки.

В другом примере, если параллельная обработка не поддерживается в кодере или декодере, верхний блок может считаться доступным, если он расположен в разных плитках с текущим блоком, то есть, текущий блок кодирования расположен в самой верхней части плитки.

Если в кодере или декодере поддерживается параллельная обработка, верхний блок можно рассматривать как отсутствующий, если он расположен в разных сегментах с текущим блоком, то есть, текущий блок кодирования находится в самой верхней части сегмента.

В другом примере, если параллельная обработка не поддерживается в кодере или декодере, верхний блок может считаться доступным, если он расположен в разных сегментах с текущим блоком, т.е. текущий блок кодирования располагается в самой верхней части сегмента.

Если необходимо ограничить размер линейного буфера в кодере или декодере, верхний блок может считаться отсутствующим, если он расположен в другом CTU с текущим блоком, то есть, текущий блок кодирования находится в самой верхней стороне текущего CTU.

В примере, если сторона декодера или сторона кодера поддерживают ограничение линейного буфера, то верхний блок, расположенный на другом CTU с текущим блоком CTU, считается отсутствующим. Если ограничение линейного буфера не поддерживается, то рассматривается его наличие.

В противном случае (то есть доступен левый блок) в MPM список с 6 записями добавить режим внутреннего предсказания верхнего блока.

Проверить, вставлен ли в MPM список планарный (PLANAR_IDX = 0) режим (т.е. проверить, является ли внутренний режим левого и верхнего блока планарным режимом) только, если планарный режим не был вставлен в MPM список, затем вставить планарный режим в MPM список. Проверить, был ли режим DC (DC_IDX = 1) вставлен в MPM список (т.е. проверить, что режимы левого и верхнего блока являются DC режимами), только если DC режим не был вставлен в MPM список, затем вставить DC режим в MPM список.

Если левый блок доступен и, если его режим внутреннего предсказания является угловым режимом, то есть, (режим> DC_IDX, и режим является angularLeft), получить два его ближайших угловых режима, выполняя angularLeft-1, angularLeft + 1. Обратите внимание, что при выполнении -1 или +1 может включать в себя операцию переходв вверх и перехода вниз, например,

Если angularLeft равно 2, тогда angularLeft-1 будет 66 (случай перехода вверх), или, если angularLeft равен 66, то angularLeft + 1 будет 2 (случай перехода вниз).

Если режим предсказания angularLeft-1 не был вставлен в MPM список, вставить его в MPM список.

Если режим предсказания angularLeft + 1 не был вставлен в MPM список, вставить его в MPM список.

Если MPM список не полон и, если верхний блок доступен и, если его режим внутреннего предсказания является угловым, то есть, (режим> DC_IDX, и режим является angularAbove), получить два ближайших угловых режима, выполнив angularAbove-1, angularAbove+1. Обратите внимание, что при выполнении -1 или +1 это может включать в себя операцию перехода вверх и перехода вниз, в примере, если angularLeft равно 2, тогда angularLeft-1 будет 66 (случай перехода вверх) или, если angularLeft равен 66, то angularLeft +1 будет 2 (случай перехода вниз).

Если режим предсказания angularAbove-1 не был вставлен в MPM список, вставить его в MPM список.

Если MPM список не полон (например, количество режимов предсказания в MPM списке меньше 6) и, если режим предсказания angularAbove + 1 не был вставлен в MPM список, вставить его в MPM список.

Если MPM список не заполнен, вставить следующие режимы в MPM список, пока он не будет заполнен (например, количество режимов предсказания в MPM списке равно 6):

вертикальный режим (VER_IDX),

горизонтальный режим (HOR_IDX),

внутренний режим 2 (2),

вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

Краткое изложение вариаций предлагаемого способа:

Доступность левого блока должна учитывать как поддержку, так и не поддержку параллельной обработки.

Доступность верхнего блока должна учитывать как поддержку, так и не поддержку параллельной обработки.

Порядок получения двух ближайших режимов левого и верхнего блока также может быть сначала +1 и затем -1.

Последним кандидатом в MPM списке может быть VIDA_IDX или DIA_IDX.

Порядок вставки также может быть левым, верхним, планарным, DC и режимами по умолчанию (VER_IDX, HOR_IDX, 2, VDIA_IDX или DIA_IDX).

Для сигнализации mpm_idx используется усеченная унарная бинаризация. Первым трем бинам mpm_idx разрешено использовать три разных независимых контекста, или все бины mpm_idx закодированы, используя CABAC.

Настоящее изобретение направлено на улучшение схемы сигнализации внутреннего режима. В настоящем раскрытии предложены способ декодирования видео и видеодекодер.

Фиг.7 показывает пример 67 режимов внутреннего предсказания, например, как предложено для VVC, множество режимов внутреннего предсказания из 67 режимов внутреннего предсказания, содержащих: планарный режим (индекс 0), DC режим (индекс 1) и угловые режимы с индексами 2 по 66, в котором левый нижний угловой режим на фиг.7 относится к индексу 2, и нумерация индексов увеличивается до тех пор, пока индекс 66 не станет самым верхним правым угловым режимом на фиг. 7.

В другом аспекте настоящего изобретения раскрывается декодер, содержащий схему обработки, выполненную с возможностью выполнять вышеупомянутые способы декодирования.

В другом аспекте настоящего изобретения раскрыт компьютерный программный продукт, который содержит программный код для выполнения вышеупомянутых способов декодирования.

В другом аспекте настоящего изобретения раскрывается декодер для декодирования видеоданных, причем декодер содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует декодер выполнять вышеупомянутые способы декодирования.

Схема обработки может быть реализована аппаратным обеспечением или в сочетании аппаратного и программного обеспечения, например, с помощью программируемого процессора или т.п.

В другом аспекте настоящего изобретения раскрывается способ кодирования, который содержит:

получение режима внутреннего предсказания блока изображения из множества режимов внутреннего предсказания, множество режимов внутреннего предсказания для блока изображения содержит набор наиболее вероятных режимов, MPMs и набор non-MPMs, в котором набор non-MPMs содержит первый набор режимов внутреннего предсказания и второй набор режимов внутреннего предсказания;

если режим внутреннего предсказания блока изображения находится в наборе non-MPMs, генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs;

кодирование режима внутреннего предсказания блока изображения для получения кодового слова режима внутреннего предсказания согласно отношению отображения.

В одной форме реализации настоящего изобретения процесс получения режима внутреннего предсказания блока изображения может относиться к относительному раскрытию в приведенном ниже подробном описании части вариантов осуществления или относительному раскрытию в области технологии кодирования видео, например, в ITU-T H.264, ITU-T H.265.

В одной форме реализации настоящего изобретения, способ кодирования дополнительно содержит: генерирование набора MPMs, определение, находится ли режим внутреннего предсказания блока изображения в наборе MPMs. Следовательно, если режим внутреннего предсказания блока изображения отсутствует в наборе MPMs, то режим внутреннего предсказания блока изображения находится в наборе non-MPMs.

Процесс генерирования набора MPMs может относиться к относительному раскрытию в части описания или относительному раскрытию в области технологии кодирования видео, например, в ITU-T H.264, ITU-T H.265.

В одной форме реализации настоящего изобретения процесс генерирования отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs может относиться к относительному раскрытию на стороне декодирования.

В одной форме реализации настоящего изобретения первый набор режимов внутреннего предсказания кодируется с использованием 5 битов и второй набор режимов внутреннего предсказания кодируется с использованием 6 битов.

В другом аспекте настоящего изобретения раскрывается кодер, содержащий схему обработки, выполненную с возможностью выполнять вышеупомянутые способы кодирования.

В другом аспекте настоящего изобретения раскрыт компьютерный программный продукт, который содержит программный код для выполнения вышеуказанных способов кодирования.

В другом аспекте настоящего изобретения раскрывается кодер для кодирования видеоданных, причем кодер содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняются процессорами, конфигурирует кодер выполнить вышеупомянутые способы кодирования.

Схема обработки может быть реализована аппаратным обеспечением или в сочетании аппаратного и программного обеспечения, например, с помощью программируемого процессора или т.п.

В одной форме реализации настоящего изобретения согласно фиг.8, настоящее изобретение предлагает способ декодирования видео, который содержит:

S801: декодирование кодированных данных блока изображения для получения режима внутреннего предсказания из множества режимов внутреннего предсказания для блока изображения;

множество режимов внутреннего предсказания для блока изображения содержит набор наиболее вероятных режимов, MPMs и набор non-MPMs, в котором набор non-MPMs содержит первый набор режимов внутреннего предсказания и второй набор режимов внутреннего предсказания, в которых режим в первом наборе режимов внутреннего предсказания кодируется с использованием N битов, и режим во втором наборе режимов внутреннего предсказания кодируется с использованием M битов, N и M являются положительными целыми числами, N меньше M,

в котором декодирование кодированных данных блока изображения для получения режима внутреннего предсказания из множества режимов внутреннего предсказания для блока изображения (S801) содержит:

S802: декодирование кодированных данных для получения указания, указывающего, находится ли режим внутреннего предсказания для блока изображения в наборе MPMs или нет; если указание указывает, что режим внутреннего предсказания для блока изображения отсутствует в наборе MPMs,

S803: генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs;

S804: декодирование кодированных данных для получения кодового слова режима внутреннего предсказания для блока изображения;

S805: получение режима внутреннего предсказания для блока изображения согласно отношению отображения и кодовому слову режима внутреннего предсказания.

Согласно способу декодирования видео настоящего изобретения, для кодирования режимов предсказания в наборе non-MPMs используется усеченная схема бинаризации, и генерируется отношение отображения, следовательно, режим предсказания для текущего блока имеет более высокую возможность кодирования при использовании меньше битов и вычислительная сложность на стороне декодера снижается.

В одной форме реализации настоящего изобретения согласно фиг.9 настоящее изобретение предлагает способ декодирования видео, содержащий:

S901: прием закодированных данных блока изображения;

Сторона декодера может быть выполнена с возможностью принимать данные закодированного изображения через прямую линию связи между стороной кодера и стороной декодера, например, прямое проводное или беспроводное соединение, или через любую сеть, например, проводная или беспроводная сеть или любая их комбинация, или любая частная и общественная сеть, или любая их комбинация.

S902: декодирование закодированных данных для получения указания, указывающего, находится ли режим внутреннего предсказания для блока изображения в наборе MPMs или нет.

Указание, указывающее, что режим внутреннего предсказания для блока изображения находится в наборе MPMs или нет, может быть флагом, когда значение флага равно 1, может указывать, что режим внутреннего предсказания для блока изображения находится в наборе MPMs, когда значение флага равно 0, может указывать, что режим внутреннего предсказания для блока изображения в наборе MPMs отсутствует. Например, на стороне кодера, если MPM список (набор MPMs) является набором внутренних режимов, скажем [25, 42, 63] и текущее значение внутреннего режима блоков равно 42, тогда указание MPM флага устанавливается на 1 в качестве внутреннего режима для текущего блока находится во второй записи списка MPM. Если, например, текущий внутренний режим блоков - 41 вместо 42, тогда указание MPM флага устанавливается на 0, флаг MPM отправляется на сторону декодирования в закодированных данных.

Если указание указывает, что режим внутреннего предсказания для блока изображения находится в наборе MPMs, выполнить этап S903;

Если указание указывает, что режим внутреннего предсказания для блока изображения находится в наборе MPMs, выполнить этап S904;

S903: декодирование закодированных данных для получения режима внутреннего предсказания для блока изображения согласно набору MPMs;

В одном примере, если указание, указывающее режим внутреннего предсказания для блока изображения, находится в наборе MPMs. Процесс вывода для режима внутреннего предсказания для блока (IntraPredModeY [xPb] [yPb]) изображения определяется следующим образом:

IntraPredModeY [xPb] [yPb] получается путем применения следующей процедуры:

Если intra_luma_mpm_flag [xPb] [yPb] равно 1 (что указывает, что режим внутреннего предсказания для блока изображения находится в наборе MPM), IntraPredModeY [xPb] [yPb] устанавливается равным candModeList [intra_luma_mpm_idx [xPb] [ yPb]], где (xPb, yPb) указывает верхнюю левую выборку текущего блока предсказания яркости относительно верхней левой выборки яркости текущего изображения и candModeList является фактическим списком MPM, декодирование закодированных данных для получения MPM индекса, получение режима внутреннего предсказания блока изображения согласно MPM индексу и MPM списку.

В конкретном примере набор MPMs равен (15, 0, 20), значение MPM индекса равно 2, поэтому режим внутреннего предсказания блока изображения является планарным режимом (значение 0). В другом конкретном примере набор MPMs равен (15, 36, 0, 1, 21, 19), значение MPM индекса равно 5, поэтому режим внутреннего предсказания блока изображения является угловым режимом 21.

S904: генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs;

В примере, если указание указывает, что режим внутреннего предсказания для блока изображения не входит в набор MPMs, составляются два списка: а именно, список кодовых слов и список полученных режимов.

Первый список кодовых слов составлен следующим образом:

1. Найти наименьший режим в MPM списке, предположим, что наименьший режим является Ms.

2. Установить переменную начального приращения Inc = 1.

3. Установить кандидата режима Mc как (Ms + Inc), проверить также наличие режима Mc в MPM списке.

При отсутствии Mc в MPM списке, добавить Mc в список кодовых слов в противном случае перейти к пункту 4.

4. Проверить, заполнены ли вставленные записи в списке кодовых слов (длина вставки равна длине списка кодовых слов):

Если заполнено, прекратить;

В противном случае установить Inc = Inc + 1 и перейдите к пункту 3.

Подводя итог, список кодовых слов будет содержать наименьшие режимы, кроме тех, которые находятся в MPM списке. Учитывая, что длина MPM списка равна L, то длина списка кодовых слов составляет 64-(67-L) = L-3. Например, если MPM список равен (15, 36, 0, 1, 21, 19), то построенное кодовое слово будет (2, 3, 4).

Второй список полученных режимов составляется следующим образом:

1. Найти первые два угловых режима в MPM списке, предполагая, что найденными являются angular0 и angular1.

2. Установить переменную начального приращения Inc = 1.

3. Получить новый режим M0minus = angular0 - Inc. Необходимо отметить, что M0minus должен быть гарантирован также угловой режим (т.е. 66> = M0minus> = 2). Следовательно, если angular0 равно 2, Inc равно 1; тогда полученный M0minus будет 66; если Inc равно 2, то M0minus будет 65 и т.д. Операция «минус» является переходом вверх до максимального углового режима.

4. Проверить наличие M0minus в MPM списке, если нет и, если список полученных режимов не полон, вставить M0minus в список полученных режимов. Иначе,

Если список полученных режимов полон, завершить.

В противном случае переходите к пункту 5.

5. Получить новый режим M0plus = angular0 + Inc. Примечание. M0plus также должен быть обеспечен угловым режимом (т.е. 66> = M0plus> = 2). Следовательно, если angular0 равен 66, Inc равен 1, тогда полученное значение M0plus будет равно 2. Если Inc равно 2, то M0plus будет равно 3 и т.д. Операция «плюс» является переходом вниз до минимального углового режима.

6. Проверить наличие M0plus в MPM списке, если нет и если список полученных режимов не полон, вставить M0plus в список полученных режимов. Иначе,

Если список полученных режимов полон, завершить.

В противном случае перейти к этапу 7.

7. Повторить этапы 3-6, заменив angular0 на angular1.

8. Установить Inc = Inc + 1 и повторить этапы 3-7.

Подводя итог, список полученных режимов получает соседние режимы первых двух угловых режимов в MPM списке. Если эти соседние режимы уже включены в MPM список, то они исключаются из списка полученных режимов. Учитывая, что длина MPM списка равна L, длина списка полученных режимов составляет 64- (67-L) = L-3. Например, если MPM список равен (15, 36, 0, 1, 21, 19), то построенный список полученных режимов представляет собой (14, 16, 35).

Когда список кодовых слов и список полученных режимов построены, между ними формируются отношения двунаправленного отображения. А именно, учитывая приведенные выше примеры списков со списком кодовых слов (2, 3, 4) и списком полученных режимов (14, 16, 35), 2←→14, 3←→16 и 3←→35, где ←→ представляет двунаправленный отображение.

Для построения отношения двунаправленного отображения между списком кодовых слов и производным списком режимов рассматриваются две вариации. Первая вариация заключается в том, что список полученных режимов может быть построен таким образом, чтобы в списке полученных режимов, так и в списке кодовых слов могли находиться элементы. Другая вариация состоит в том, что список полученных режимов не может перекрываться с режимами в списке кодовых слов.

В другом примере, в одной форме реализации настоящего изобретения, в котором генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs, содержит: ранжирование множества категорий режима внутреннего предсказания согласно количеству и/или направлению режимов внутреннего предсказания в наборе MPM, попадающих в каждую категорию режима внутреннего предсказания; генерирование отношения отображения согласно категории режима внутреннего предсказания с наивысшим рангом.

В примере 5 категорий режима углового внутреннего предсказания, а именно, DC режим (DC_IDX), вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) и диагональный режим DIA_IDX, в котором режим углового внутреннего предсказания списка наиболее вероятных режимов, попадающих в каждую категорию режима углового внутреннего предсказания, например, соответствует ассоциации каждого из режимов углового внутреннего предсказания списка наиболее вероятных режимов с категорией режима углового внутреннего предсказания, наиболее близкой к соответствующему угловому режима внутреннего предсказания списка наиболее вероятных режимов. В другом примере повторение этого этапа со второй по рангу категорией режима углового внутреннего предсказания.

В примере генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs, содержит: генерирование начального набора режимов внутреннего предсказания в соответствии с добавлением смещения к множеству значений, соответствующих набору MPMs; классификация набора MPMs для получения категории режима внутреннего предсказания с наивысшим рангом; генерирование отношения отображения согласно категории режима внутреннего предсказания с наивысшим рангом и начальному набору режимов внутреннего предсказания.

В примере начальный набор режимов внутреннего предсказания генерируется согласно добавлению смещения -1, + 1, +2, -2, +3, -3, +4 или -4 к множеству значений, соответствующих набору MPMs.

В примере генерируется отношения отображения согласно заранее определенному списку режимов по умолчанию, содержащему или состоящему из планарного режима (PLANAR_IDX), DC режима (DC_IDX), вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) и диагонального режима (DIA_IDX).

S905: декодирование кодированных данных для получения кодового слова режима внутреннего предсказания для блока изображения;

кодовое слово кодируется с использованием N бит или M бит на закодированной стороне. В одном примере, поскольку это отношение двунаправленного отображения, режим внутреннего предсказания, соответствующий кодовому слову, может быть отображен на другой режим внутреннего предсказания в наборе non-MPMs.

S906: получение режима внутреннего предсказания для блока изображения согласно отношению отображения и кодовому слову режима внутреннего предсказания.

В примере, после построения отношения двунаправленного отображения, проверку, находится ли режим внутреннего предсказания, соответствующий кодовому слову режима внутреннего предсказания, в списке кодовых слов или в списке полученных режимов:

Если проанализированного режима внутреннего предсказания нет ни в списке кодовых слов, ни в списке полученных режимов, установить окончательный режим предсказания как проанализированный режим внутреннего предсказания.

Если проанализированный режим внутреннего предсказания находится только списке кодовых слов или только в списке полученных режимов, тогда установить окончательный режим предсказания как соответствующий отображенному режиму внутреннего предсказания.

Если проанализированный режим внутреннего предсказания присутствует как в списке кодовых слов, так и в списке полученных режимов, в построение этих двух списков вводится механизм, так что корректируется отношение двунаправленного отображения, и все перекрывающиеся режимы отображаются на себя в другом списке. Пример: MPM список (0 1 2 3 50 66), список кодовых слов (4 5 6), список полученных режимов (4 65 5). При построении списка полученных режимов или списка кодовых слов необходимо обеспечить 4←→4, 5←→5 и 6←→65.

Декодер, содержащий схему обработки, выполненную с возможностью выполнять вышеупомянутые способы.

В настоящем раскрытии раскрывается компьютерный программный продукт, содержащий программный код, для выполнения вышеуказанных способов.

В настоящем раскрытии раскрывается декодер для декодирования видеоданных, причем декодер содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняются процессорами, конфигурирует декодер выполнить вышеуказанные способы.

Фиг.7 показывает пример 67 режимов внутреннего предсказания, например, как предложено для VVC, в котором множество режимов внутреннего предсказания из 67 режимов внутреннего предсказания содержат: планарный режим (индекс 0), DC режим (индекс 1) и угловые режимы с индексами 2-66, в котором левый нижний угловой режим на фиг.7 относится к индексу 2, и нумерация индексов увеличивается до тех пор, пока индекс 66 не станет самым верхним правым угловым режимом на фиг.7.

Далее раскрываются дополнительные варианты осуществления, в которых нумерация не обязательно может совпадать с нумерацией других вариантов осуществления или примеров описания.

Вариант 1 осуществления. Способ построения списка наиболее вероятных режимов, MPM, в котором способ содержит: определение, доступен ли левый блок текущего блока кодирования или нет, доступен ли левый блок текущего блока кодирования, добавление режима внутреннего предсказания левого блока в MPM список; определение, доступен ли верхний блок текущего блока кодирования или нет, если верхний блок текущего блока кодирования доступен, добавление режима внутреннего предсказания верхнего блока в MPM список; при отстаивании планарного режима в MPM списке, добавление планарного режима в MPM список; при отсутствии DC режима в MPM списке, добавление DC режима в MPM список.

Вариант 2 осуществления. Способ варианта 1 осуществления, в котором, когда режим предсказания левого блока не является режимом внутреннего предсказания, левый блок текущего блока кодирования недоступен.

Вариант 3 осуществления. Способ варианта 1 или 2 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой левой части кадра, левый блок текущего блока кодирования недоступен.

Вариант 4 осуществления. Способ по любому из вариантов 1-3 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, левый блок текущего блока кодирования не доступен.

Вариант 5 осуществления. Способ по любому из вариантов 1-4 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, но не в самой левой части кадра, левый блок текущего блока кодирования является доступным.

Вариант 6 осуществления. Способ по любому из вариантов 1-5 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части сегмента, левый блок текущего блока кодирования является недоступным.

Вариант 7 осуществления. Способ по любому из вариантов 1-6 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования представляет собой блок кодирования, расположенный в самой левой части сегмента, но не в самой левой части кадра, левый блок текущего блока кодирования является доступным.

Вариант 8 осуществления. Способ любого из вариантов 1-7 осуществления, в котором, когда режим предсказания верхнего блока не является режимом внутреннего предсказания, верхний блок текущего блока кодирования недоступен.

Вариант 9 осуществления. Способ по любому из вариантов 1-8 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой верхней части кадра, верхний блок текущего блока кодирования недоступен.

Вариант 10 осуществления. Способ по любому из вариантов 1-9 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части плитки, верхний блок текущего блока кодирования является недоступным.

Вариант 11 осуществления. Способ по любому из вариантов 1-10 осуществления, в котором параллельная обработка не поддерживается, текущий блок кодирования является блоком кодирования, расположенным в самой верхней части плитки, но не на самой верхней части кадра, верхний блок текущего блока кодирования является доступным.

Вариант 12 осуществления. Способ по любому из вариантов 1-11 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, верхний блок текущего блока кодирования недоступен.

Вариант 13 осуществления. Способ по любому из вариантов 1-12 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, но не в самой верхней части кадра, верхний блок текущего блока кодирования является доступным.

Вариант 14 осуществления. Способ любого из вариантов 1-13 осуществления, когда размер линейного буфера ограничен и текущий блок кодирования является блоком кодирования, расположенным на самой верхней стороне текущего CTU, верхний блок текущего блок кодирования недоступен.

Вариант 15 осуществления. Способ по любому из вариантов 1-14 осуществления, способ дополнительно содержит:

если левый блок текущего блока кодирования доступен, и режим внутреннего предсказания левого блока является угловым, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания, если новый режим предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.

Вариант 16 осуществления. Способ варианта 15 осуществления, в котором смещение равно -1.

Вариант 17 осуществления. Способ варианта 15 осуществления, в котором смещение равно 1.

Вариант 18 осуществления. Способ по любому из вариантов 1-17 осуществления, способ дополнительно содержит:

если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление режима предсказания со смещением вверх в MPM список.

Вариант 19 осуществления. Способ варианта 18 осуществления, в котором смещение равно -1.

Вариант 20 осуществления. Способ варианта 18 осуществления, в котором смещение равно 1.

Вариант 21 осуществления. Способ по любому из вариантов 1-20 осуществления, способ дополнительно содержит:

добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX).

Вариант 22 осуществления. Способ согласно любому из вариантов 1-20 осуществления, способ дополнительно содержит список кандидатов углового режима, содержащий или состоящий из: вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX) в MPM списке; и способ дополнительно содержит: итеративное определение в соответствии с их порядком в списке, находится ли угловой режим списка в MPM списке и, если соответствующий угловой режим отсутствует в MPM списке, добавление в MPM список соответствующего углового режима.

Вариант 23 осуществления. Способ по любому из вариантов 1-20 осуществления, в котором построение списка MPM начинается с этапа определения, доступен ли левый блок текущего блока кодирования или нет, например, на основании пустого MPM списка.

Вариант 24 осуществления. Способ согласно любому из вариантов 1-23 осуществления, способ дополнительно содержит: если левый блок текущего блока кодирования недоступен и другой блок в общем левом направлении доступен (например, BL или AL на фиг.5), вставку режима внутреннего предсказания другого блока в MPM список, если левый блок доступен, не вставку режима внутреннего предсказания другого блока в MPM список.

Вариант 25 осуществления. Способ согласно любому из вариантов 1-23 осуществления, способ дополнительно содержит: если верхний блок текущего блока кодирования недоступен и другой блок в общем указанном выше направлении доступен (например, AR или AL на фиг.5), вставку режим внутреннего предсказания другого блока в MPM список, если верхний блок доступен, не вставку в MPM список режима внутреннего предсказания другого блока.

Вариант 26 осуществления. Способ согласно любому из вариантов 1-25 осуществления, способ дополнительно содержит: добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX), если их нет в MPM списке.

Вариант 27 осуществления. Способ согласно любому из вариантов 1-26 осуществления, способ дополнительно содержит:

если и левый, и верхний блок текущего блока кодирования не угловые, то дополнительно проверить еще один соседний блок (например, BL, AL или AR на фиг.5). Если какой-либо из них (BL, или AL, или AR) является угловым, тогда использовать этот угловой режим в качестве начального углового режима для процесса получения -1 + 1, как описано ранее.

Вариант 28 осуществления. Кодер содержит схему обработки для выполнения способа согласно любому из вариантов 1-27 осуществления.

Вариант 29 осуществления. Декодер содержит схему обработки для выполнения способа согласно любому из вариантов 1-27 осуществления.

Вариант 30 осуществления. Компьютерный программный продукт, содержащий программный код для выполнения способа согласно любому из вариантов 1-27 осуществления.

Вариант 31 осуществления. Декодер для построения списка наиболее вероятного режима, MPM, содержит:

один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняются процессорами, конфигурирует декодер выполнять способ согласно любому из вариантов 1-27 осуществления.

Вариант 32 осуществления. Кодер для построения списка наиболее вероятного режима, MPM, содержащего:

один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует кодер выполнить способ согласно любому из вариантов 1-27 осуществления.

Вариант 33 осуществления. Способ построения списка наиболее вероятного режима, MPM, для внутреннего предсказания, способ, содержащий: определение, доступен ли левый блок текущего блока кодирования или нет, если левый блок текущего блока кодирования доступен, добавление в MPM список режима внутреннего предсказания левого блока; определение, доступен ли верхний блок текущего блока кодирования или нет, если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока отсутствует в MPM списке, добавление режима внутреннего предсказания верхнего блока в MPM список; при отсутствии планарного режима в MPM списке, добавление планарного режима в MPM список; при отсутствии DC режима в MPM списке, добавление DC режима в MPM список.

Вариант 34 осуществления. Способ по варианту 33 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой левой части кадра, левый блок текущего блока кодирования недоступен.

Вариант 35 осуществления. Способ по варианту 33 или 34 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, не расположенным в самой левой части кадра, левый блок текущего блока кодирования доступен.

Вариант 36 осуществления. Способ согласно любому из вариантов 33-35 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой верхней части кадра, верхний блок текущего блока кодирования недоступен.

Вариант 37 осуществления. Способ по любому из вариантов 33-36 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, не расположенным в самой верхней части кадра, верхний блок текущего блока кодирования является доступным.

Вариант 38 осуществления. Способ по любому из вариантов 33-37 осуществления, в котором способ дополнительно содержит:

если левый блок текущего блока кодирования доступен и режим внутреннего предсказания левого блока является угловым, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания, если новый режим предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.

Вариант 39 осуществления. Способ по любому из вариантов 33-38 осуществления, в котором способ дополнительно содержит:

если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление режима предсказания со смещением вверх в MPM список.

Вариант 40 осуществления. Способ по варианту 38 или 39 осуществления, в котором смещение равно -1.

Вариант 41 осуществления. Способ по варианту 38 или 39 осуществления, в котором смещение равно 1.

Вариант 42 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

Вариант 43 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM списке, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не будет равняется пороговому значению.

Вариант 44 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения,

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2).

Вариант 45 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

Вариант 46 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.

Вариант 47 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, согласно вышеупомянутому порядку, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.

Вариант 48 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4.

Вариант 49 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество предсказаний режимов равняется пороговому значению.

Вариант 50 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания: вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением +1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1.

Вариант 51 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;

в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4, и режим внутреннего предсказания, соответствующий VER_IDX со смещением +1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -4; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1; или

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 1, и режим внутреннего предсказания, соответствующий VDIA_IDX со смещением -1.

Вариант 52 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

Вариант 53 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащих горизонтальный режим (HOR_IDX ), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком, в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания равно пороговому значению.

Вариант 54 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).

Вариант 55 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

Вариант 56 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).

Вариант 57 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания будет равно пороговому значению.

Вариант 58 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.

Вариант 59 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, итеративное добавление в MPM список режим внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.

Вариант 60 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -4, и HOR_IDX добавить смещение 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1.

Вариант 61 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;

в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -4, и HOR_IDX добавить смещение 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1, и режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 4; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением -1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1; или

горизонтальный режим (HOR_IDX), внутренний режим 2 (2), режим внутреннего предсказания, соответствующий HOR_IDX со смещением 1, и режим внутреннего предсказания, соответствующий внутреннему режиму 2 (2) со смещением 1.

Вариант 62 осуществления. Кодер, содержащий схему обработки для выполнения способа согласно любому из вариантов 33-61 осуществления.

Вариант 63 осуществления. Декодер, содержащий схему обработки для выполнения способа согласно любому из вариантов 33-61 осуществления.

Вариант 64 осуществления. Компьютерный программный продукт, содержащий программный код для выполнения способа согласно любому из вариантов 33-61 осуществления.

Вариант 65 осуществления. Декодер для построения списка наиболее вероятного режима, MPM, содержит:

один или более процессоров; и

постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, в котором программы, когда выполняется процессорами, конфигурирует декодер выполнить способ согласно любому из вариантов 33-61 осуществления.

Вариант 66 осуществления. Кодер для составления списка наиболее вероятного режима, MPM, содержащий:

один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует кодер выполнять способ согласно любому из вариантов 33-61 осуществления.

Фиг.10 является схемой сетевого устройства 1300 согласно варианту осуществления настоящего изобретения. Сетевое устройство 1300 подходит для реализации раскрытых вариантов осуществления, как описано в данном документе. Сетевое устройство 1300 содержит входные порты 1310 и блоки (Rx) 1320 приема для приема данных; процессор, логический блок или центральный процессор (CPU) 1330 для обработки данных; блоки 1340 передатчика (Tx) и выходные порты 1350 для передачи данных; и память 1360 для хранения данных. Сетевое устройство 1300 может также содержать оптико-электрические (OE) компоненты и электрические-оптические (EO) компоненты, подключенные к входным портам 1310, блокам 1320 приема, блокам 1340 передатчика и выходным портам 1350 для ввода или вывода оптических или электрических сигналов.

Процессор 1330 реализован аппаратным обеспечением и программным обеспечением. Процессор 1330 может быть реализован как одна или более микросхем CPU, ядер (например, как многоядерный процессор), программируемых пользователем вентильных матриц (FPGAs), специализированных интегральных схем (ASICs) и процессоров цифровых сигналов (DSPs). Процессор 1330 соединен с входными портами 1310, блоками 1320 приемника, блоками 1340 передатчика, выходными портами 1350 и памятью 1360. Процессор 1330 содержит модуль 1370 кодирования. Модуль 1370 кодирования реализует раскрытые варианты осуществления, описанные выше. Например, модуль 1370 кодирования реализует, обрабатывает, подготавливает или предоставляет различные сетевые функции. Таким образом, использование модуля 1370 кодирования обеспечивает существенное улучшение функциональных возможностей сетевого устройства 1300 и обеспечивает преобразование сетевого устройства 1300 в другое состояние. В качестве альтернативы модуль 1370 кодирования реализован как инструкции, хранящиеся в памяти 1360 и выполняемые процессором 1330.

Память 1360 содержит один или более дисков, ленточных накопителей и твердотельных накопителей и может использоваться в качестве запоминающего устройства для переполнения данных, для хранения программ, когда такие программы выбраны для выполнения, и для хранения инструкций и данных, которые читаются во время выполнения программы. Память 1360 может быть энергозависимой и/или энергонезависимой и может представлять собой постоянную память (ROM), оперативную память (RAM), троичную память с адресацией по содержимому (TCAM) и/или статическую память с произвольным доступом (SRAM).

Фиг.10 является блок-схемой устройства 1100, которое можно использовать для реализации различных вариантов осуществления. Устройство 1100 может быть устройством 102 источника, как показано на фиг.1, или видеокодер 200, как показано на фиг.2, или устройство 104 назначения, как показано на фиг.1, или видеодекодер 300, как показано на фиг.3. Дополнительно, устройство 1100 может содержать один или более из описанных элементов. В некоторых вариантах осуществления устройство 1100 оснащено одним или несколькими устройствами ввода/вывода, такими как динамик, микрофон, мышь, сенсорный экран, клавиатура, принтер, дисплей и т.п. Устройство 1100 может включать в себя один или более центральных процессоров (CPUs) 1510, память 1520, запоминающее устройство 1530 большой емкости, видеоадаптер 1540 и интерфейс 1560 ввода-вывода, подключенный к шине. Шина является одной или несколькими из нескольких шинных архитектур любого типа, включающую в себя шину памяти или контроллер памяти, периферийную шину, видеошину и т.п.

CPU 1510 может иметь любой тип электронного процессора данных. Память 1520 может иметь или быть любым типом системной памяти, такой как статическая память с произвольным доступом (SRAM), динамическая память с произвольным доступом (DRAM), синхронная DRAM (SDRAM), постоянная память (ROM) их комбинация или т.п. В варианте осуществления память 1520 может включать в себя ROM для использования при загрузке и DRAM для хранения программ и данных для использования во время выполнения программ. В вариантах осуществления память 1520 является энергонезависимой. Запоминающее устройство 1530 большой емкости включает в себя любой тип запоминающего устройства, в котором хранятся данные, программы и другую информацию, а также для обеспечения доступа к данным, программам и другой информации через шину. Запоминающее устройство 1530 большой емкости включает в себя, например, один или более из твердотельного накопителя, накопителя на жестком диске, накопителя на магнитном диске, накопителя на оптическом диске и т.п.

Видеоадаптер 1540 и интерфейс 1560 ввода-вывода обеспечивают интерфейсы для подключения внешних устройств ввода-вывода к устройству 1100. Например, устройство 1100 может предоставлять клиентам SQL интерфейс команд. Как проиллюстрировано, примеры устройств ввода-вывода включают в себя дисплей 1590, подключенный к видеоадаптеру 1540, и любую комбинацию мыши/клавиатуры/принтера 1570, подключенную к интерфейсу 1560 ввода-вывода. К устройству 1100 могут быть подключены другие устройства, а также дополнительные или может использоваться меньше интерфейсных карт. Например, карта последовательного интерфейса (не показана) может использоваться для обеспечения последовательного интерфейса для принтера.

Устройство 1100 также включает в себя один или более сетевых интерфейсов 1550, которые включают в себя проводные линии связи, такие как кабель Ethernet или тому подобное, и/или беспроводные линии связи с узлами доступа или одной или несколькими сетями 1580. Сетевой интерфейс 1550 предоставляет возможность устройству 1100 устанавливать связь с удаленными устройствами через сети 1580. Например, сетевой интерфейс 1550 может обеспечивать связь с базой данных. В варианте осуществления устройство 1100 подключено к локальной сети или глобальной сети для обработки данных и обмена данными с удаленными устройствами, такими как другие блоки обработки, интернет, удаленные хранилища и т.п.

Для вычисления значений весовых коэффициентов применяется кусочно-линейная аппроксимация, необходимых для предсказания пикселей в данном блоке. Кусочно-линейная аппроксимация, с одной стороны, значительно снижает вычислительную сложность механизма взвешенного по расстоянию предсказания по сравнению с прямым вычислением весовых коэффициентов, и с другой стороны, помогает достичь более высокой точности значений весовых коэффициентов по сравнению с упрощениями предшествующего уровня техники.

Варианты осуществления могут применяться к другим способам двунаправленного и зависимого от положения внутреннего предсказания (например, различным модификациям PDPC), а также к механизмам, которые используют весовые коэффициенты, которые зависят от расстояния от одного пикселя до другого, для смешивания различных частей изображения (например, некоторые способы смешивания при обработке изображений).

Реализации предмета изобретения и операций, описанных в настоящем раскрытии, могут быть осуществлены в цифровых электронных схемах или в компьютерном программном обеспечении, встроенном программном обеспечении или аппаратном обеспечении, включающие в себя структуры, раскрытые в настоящем раскрытии, и их структурные эквиваленты, или в комбинации одного или более из них. Реализации предмета, описанного в настоящем раскрытии, могут быть осуществлены как одна или более компьютерных программ, то есть, один или более модулей инструкций компьютерных программ, закодированных на компьютерном носителе данных для выполнения или для управления работой устройства обработки данных. В качестве альтернативы или в дополнение, программные инструкции могут быть закодированы на искусственно созданном распространяемом сигнале, например, на генерируемом машиной электрическом, оптическом или электромагнитном сигнале, который генерируется для кодирования информации для передачи в подходящее устройство приемника для выполнения обработки данных. Компьютерный носитель данных, например, машиночитаемый носитель, может быть или находится в машиночитаемом запоминающем устройстве, машиночитаемой микросхеме хранения, массиве или устройстве памяти с произвольным или последовательным доступом, или комбинации одного или более из них. Более того, хотя компьютерный носитель данных не является распространяемым сигналом, компьютерный носитель данных может быть источником или местом назначения инструкций компьютерной программы, закодированных в искусственно созданном распространяемом сигнале. Компьютерный носитель данных также может быть или содержаться в одном или более отдельных физических и/или энергонезависимых компонентах или носителях (например, несколько компакт-дисков, дисков или других устройств хранения).

В некоторых реализациях операции, описанные в настоящем раскрытии, могут быть реализованы как размещенная услуга, предоставляемая на сервере в сети облачных вычислений. Например, машиночитаемые носители данных могут быть логически сгруппированы и доступны в сети облачных вычислений. Серверы в сети облачных вычислений могут включать в себя платформу облачных вычислений для предоставления облачных услуг. Термины «облако», «облачные вычисления» и «облачный» могут использоваться взаимозаменяемо, если это необходимо, без выхода за рамки настоящего изобретения. Облачные сервисы могут быть размещенными сервисами, которые обеспечиваются серверами и доставляются по сети на клиентскую платформу для улучшения, дополнения или замены приложений, выполняемых локально на клиентском компьютере. Схема может использовать облачные службы для быстрого получения обновлений программного обеспечения, приложений и других ресурсов, которые в противном случае потребовали бы длительного периода времени, прежде чем ресурсы могут быть доставлены в схему.

Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, сценарий или код) может быть написана на любой форме языка программирования, включающей в себя скомпилированные или интерпретируемые языки, декларативные или процедурные языки, и она может быть развернута в любой форме, включающей в себя отдельную программу или как модуль, компонент, подпрограмма, объект или другое устройство, подходящее для использования в вычислительной среде. Компьютерная программа может, но не обязательно, соответствовать файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или более сценариев, хранящихся в документе на языке разметки), в одном файле, выделенном рассматриваемой программе, или в нескольких согласованных файлах (например, файлы, в которых хранятся один или более модулей, подпрограмм или частей кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, которые расположены на одном сайте или распределены по множеству сайтов и связаны между собой сетью связи.

Процессы и логические потоки, описанные в настоящем раскрытии, могут выполняться одним или несколькими программируемыми процессорами, выполняющими одну или более компьютерных программ для выполнения действий, оперируя входными данными и генерируя выходные данные. Процессы и логические потоки также могут выполняться, и устройство также может быть реализовано как логическая схема специального назначения, например FPGA (field programmable gate array) или ASIC (application-specific integrated circuit).

Процессоры, подходящие для выполнения компьютерной программы, включают в себя, например, микропроцессоры как общего, так и специального назначения, а также любой один или более процессоров любого типа цифрового компьютера. Как правило, процессор будет получать инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, либо того и другого. Основными элементами компьютера являются процессор для выполнения действий в соответствии с инструкциями и одно или более устройств памяти для хранения инструкций и данных. Как правило, компьютер также будет включать в себя или быть оперативно подключенным для приема данных или передачи данных на одно или оба устройства хранения большой емкости для хранения данных, например магнитные, магнитооптические диски или оптические диски. Однако в компьютере такие устройства могут отсутствовать. Кроме того, компьютер может быть встроен в другое устройство, например, мобильный телефон, персональный цифровой помощник (PDA), мобильный аудио- или видеоплеер, игровую консоль, приемник глобальной системы позиционирования (GPS) или портативное устройство хранения (например, флэш-накопитель с универсальной последовательной шиной (USB)), и это лишь некоторые из них. Устройства, подходящие для хранения инструкций и данных компьютерных программ, включают в себя все формы энергонезависимой памяти, носителей и запоминающих устройств, включающие в себя, например, полупроводниковые запоминающие устройства, например, EPROM, EEPROM и устройства флэш-памяти; магнитные диски, например внутренние жесткие диски или съемные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM. Процессор и память могут быть дополнены специальной логической схемой или включены в нее.

Хотя настоящее изобретение содержит много конкретных деталей реализации, их не следует истолковывать как ограничения объема каких-либо реализаций или того, что может быть заявлено, а скорее, как описание признаков, характерных для конкретных реализаций конкретных реализаций. Некоторые описанные в настоящем раскрытии признаки в контексте отдельных реализаций, также могут быть реализованы в комбинации в одной реализации. И наоборот, различные признаки, которые описаны в контексте одной реализации, также могут быть реализованы в нескольких реализациях по отдельности или в любой подходящей подкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в определенных комбинациях и даже первоначально заявленные как таковые, один или более признаков заявленной комбинации в некоторых случаях могут быть исключены из комбинации и заявленная комбинация может быть направлена на подкомбинацию или вариацию подкомбинации.

Аналогичным образом, хотя операции изображены на чертежах в определенном порядке, это не следует понимать как требование, чтобы такие операции выполнялись в конкретном показанном порядке или в последовательном порядке, или чтобы все проиллюстрированные операции выполнялись для достижения желаемого результаты. В определенных обстоятельствах могут быть полезны многозадачность и параллельная обработка. Более того, разделение различных компонентов системы в реализациях, описанных выше, не следует понимать как требующее такого разделения во всех реализациях, и следует понимать, что описанные программные компоненты и системы, как правило, могут быть интегрированы вместе в один программный продукт или упакованы в несколько программных продуктов.

Таким образом, были описаны конкретные реализации предмета изобретения. Другие реализации входят в объем следующей формулы изобретения. В некоторых случаях действия, изложенные в формуле изобретения, могут выполняться в другом порядке и все же приводить к желаемым результатам. Кроме того, процессы, изображенные на сопроводительных чертежах, не обязательно требуют конкретного показанного порядка или последовательного порядка для достижения желаемых результатов. В некоторых реализациях могут быть полезными многозадачность и параллельная обработка.

Хотя в настоящем раскрытии были предоставлены несколько вариантов осуществления, следует понимать, что раскрытые системы и способы могут быть воплощены во многих других конкретных формах без отступления от сущности или объема настоящего изобретения. Настоящие примеры следует рассматривать как иллюстративные, а не как ограничительные, и намерение не ограничиваться приведенными здесь деталями. Например, различные элементы или компоненты могут быть объединены или интегрированы в другую систему, или определенные функции могут быть опущены или не реализованы.

Дополнительно, способы, системы, подсистемы и способы, описанные и проиллюстрированные в различных вариантах осуществления как дискретные или отдельные, могут быть объединены или интегрированы с другими системами, модулями, технологиями или способами без отклонения от объема настоящего изобретения. Другие элементы, показанные или обсуждаемые как связанные или непосредственно относящиеся, или взаимодействующие друг с другом, могут быть косвенно связаны или взаимодействовать через некоторый интерфейс, устройство или промежуточный компонент, электрически, механически или иным образом. Специалист в данной области техники может реализовать другие примеры изменений, замен и изменений, которые могут быть выполнены без отклонения от сущности и объема, раскрытых в данном документе.

Похожие патенты RU2785106C2

название год авторы номер документа
ДЕРИВАЦИЯ РЕЖИМА ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ НА ОСНОВЕ СОСЕДНИХ БЛОКОВ 2019
  • Ван, Бяо
  • Котра, Ананд Мехер
  • Есенлик, Семих
  • Чэнь, Цзяньлэ
  • Чжао, Чжицзе
  • Гао, Хань
RU2784004C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ 2019
  • Котра, Ананд Мехер
  • Ван, Бяо
  • Есенлик, Семих
  • Чэнь, Цзяньлэ
  • Чжао, Чжицзе
  • Гао, Хань
RU2780222C2
СИГНАЛИЗАЦИЯ ВНУТРЕННЕГО РЕЖИМА ЯРКОСТИ 2019
  • Котра, Ананд Меер
  • Чен, Цзянле
  • Эсенлик, Семих
  • Чжао, Чжицзе
  • Гао, Хань
  • Ван, Бяо
  • Краснов, Иван
RU2787010C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК 2019
  • Канг, Дзунг Вон
  • Ли, Ха Хиун
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Тае Хиун
  • Ли, Дэ Йоун
RU2769959C1
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК 2019
  • Канг, Дзунг Вон
  • Ли, Ха Хиун
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Тае Хиун
  • Ли, Дэ Йоун
RU2818968C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК 2019
  • Канг, Дзунг Вон
  • Ли, Ха Хиун
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Тае Хиун
  • Ли, Дэ Йоун
RU2795811C2
УСТРОЙСТВО И СПОСОБ ДЛЯ ОГРАНИЧЕНИЙ УРОВНЯ БЛОКА В ЗАВИСИМОСТИ ОТ РЕЖИМА И РАЗМЕРА 2019
  • Филиппов, Алексей Константинович
  • Руфицкий, Василий Алексеевич
  • Чэнь, Цзяньлэ
RU2786022C1
СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ В СИСТЕМЕ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2023
  • Чой, Дзангвон
  • Хео, Дзин
  • Ким, Сеунгхван
  • Лим, Дзаехиун
  • Ли, Линг
RU2811779C1
СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ В СИСТЕМЕ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2020
  • Чой, Дзангвон
  • Хео, Дзин
  • Ким, Сеунгхван
  • Лим, Дзаехиун
  • Ли, Линг
RU2804481C2
СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ В СИСТЕМЕ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2024
  • Чой, Дзангвон
  • Хео, Дзин
  • Ким, Сеунгхван
  • Лим, Дзаехиун
  • Ли, Линг
RU2826258C1

Иллюстрации к изобретению RU 2 785 106 C2

Реферат патента 2022 года СПОСОБ И УСТРОЙСТВО ДЛЯ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ

Изобретение относится к области кодирования и декодирования изображений и/или видео. Технический результат заключается в обеспечении эффективной схемы кодирования с внутренним предсказанием. Такой результат достигается за счет того, что получают значения флага наиболее вероятных режимов MPM для текущего блока из битового потока; получают MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания; получают значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания верхнего соседнего блока текущего блока является планарным режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. 7 н. и 10 з.п. ф-лы, 10 ил., 1 табл.

Формула изобретения RU 2 785 106 C2

1. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:

получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;

получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;

получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этом

когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания верхнего соседнего блока текущего блока является планарным режимом,

MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.

2. Способ по п.1, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

3. Способ по п.1 или 2, в котором второе смещение равно +4.

4. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:

получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;

получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;

получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этом

когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания верхнего соседнего блока текущего блока является DC режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.

5. Способ по п.4, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока представляет собой планарный режим.

6. Способ по п.4 или 5, в котором второе смещение равно +4.

7. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:

получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;

получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;

получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этом

когда левый соседний блок текущего блока недоступен и режим внутреннего предсказания верхнего соседнего блока текущего блока является планарным режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.

8. Способ по п.7, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

9. Способ по п.7 или 8, в котором второе смещение равно +4.

10. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:

получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;

получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;

получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этом

когда левый соседний блок текущего блока недоступен и верхний соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.

11. Способ по п.10, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.

12. Способ по любому из пп.10, 11, в котором второе смещение равно +4.

13. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:

получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;

получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;

получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этом

когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и верхний соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.

14. Способ по п.13, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока представляет собой планарный режим.

15. Способ по п.13 или 14, в котором второе смещение равно +4.

16. Декодер, содержащий схему обработки, выполненную с возможностью реализации способа по любому из пп.1-15.

17. Машиночитаемый носитель информации, хранящий команды, вызывающие, при исполнении одним или более процессорами, выполнение способа по любому из пп.1-15.

Документы, цитированные в отчете о поиске Патент 2022 года RU2785106C2

WO 2018124333 A1, 05.07.2018
WO 2013002556 A3, 03.01.2013
WO 2013062193 A1, 02.05.2013
WO 2013064094 A1, 10.05.2013
CN 1674680 A, 28.09.2005
ИЕРАРХИЯ ВИДЕОБЛОКОВ С ПРЕДСКАЗАНИЕМ ДВИЖЕНИЯ 2012
  • Чжэн Юньфэй
  • Чиэнь Вэй-Цзюн
  • Карчевич Марта
RU2562379C2

RU 2 785 106 C2

Авторы

Ван, Бяо

Есенлик, Семих

Котра, Ананд, Мехер

Гао, Хань

Чэнь, Цзяньлэ

Чжао, Чжицзе

Даты

2022-12-02Публикация

2019-09-03Подача