Улучшенный палитровый режим в hevc
Иллюстрации
Показать всеИзобретение относится к средствам для кодирования и декодирования единицы кодирования изображения согласно палитре. Технический результат заключается в повышении эффективности палитрового режима кодирования. Формируют каждый индекс блока индексов, связанных с единицей кодирования из палитры на основе соответствующих параметров кодирования. Если индексы блока индексов не могут формироваться из палитры, по меньшей мере, для одного пиксела единицы кодирования, формирование значений индекса, соответствующих значениям управляющего кода для замены упомянутых индексов блока индексов, которые не могут формироваться, при этом параметры кодирования, соответствующие индексу, определяются согласно пространственному окружению упомянутого пиксела относительно порядка кодирования. 6 н. и 6 з.п. ф-лы, 25 ил.
Реферат
Изобретение относится к кодированию и декодированию видео. Более точно, настоящее изобретение посвящено способу кодирования в палитровом режиме. Палитровый режим представляет собой новый способ кодирования, который представлен в рамках расширения диапазона международного стандарта высокоэффективного кодирования видео (HEVC: ISO/IEC 23008-2 MPEG-H Part 21 ITU-T H.265). Этот способ является эффективным для кодирования видео, фокусирующегося на видеопоследовательности "экранного контента".
Настоящее изобретение повышает эффективность кодирования палитрового режима посредством использования эффективного способа кодирования.
Уровень техники
Палитра в этом документе задается как таблица поиска, имеющая записи, ассоциирующие индекс со значением пиксела. Типично, но необязательно, значение пиксела состоит из значения каждого цветового компонента, ассоциированного с пикселом, что приводит к цветовой палитре. С другой стороны, значение пиксела может формироваться из одного пиксельного компонента, что приводит к монохромной палитре.
Этот режим кодирования блока пиксела, в общем, упоминается в качестве режима палитрового кодирования. Предполагается приспосабливать этот режим, например, в расширении диапазона международного стандарта высокоэффективного кодирования видео (HEVC: ISO/IEC 23008-2 MPEG-H Part 21 ITU-T H.265).
При кодировании изображения в видеопоследовательности, изображение сначала разделяется на объекты кодирования пикселов равного размера, называемые "блоком дерева кодирования (CTB)". Размер блока дерева кодирования типично составляет 64х64 пикселов. Каждый блок дерева кодирования затем может разбиваться на иерархическое дерево меньших блоков, размер которых может варьироваться, и которые представляют собой фактические блоки пикселов для кодирования. Эти меньшие блоки для кодирования упоминаются в качестве единицы кодирования (CU).
Кодирование конкретной единицы кодирования типично является прогнозирующим. Это означает то, что сначала определяется блок предиктора. Затем, вычисляется разность между блоком предиктора и единицей кодирования. Эта разность называется "остатком". Затем, этот остаток сжимается. Фактическая кодированная информация единицы кодирования формируется из некоторой информации для того, чтобы указывать способ определения блока предиктора и сжатого остатка. Наилучшие блоки предикторов представляют собой блоки, максимально возможно аналогичные единице кодирования, с тем чтобы получать небольшой остаток, который может эффективно сжиматься.
Режим кодирования задается на основе способа, используемого для того, чтобы определять блок предиктора для способа прогнозирующего кодирования единицы кодирования.
Первый режим кодирования упоминается в качестве внутреннего режима. Согласно внутреннему режиму, блок предиктора компонуется на основе значения пикселов, непосредственно окружающих единицу кодирования в текущем изображении. Необходимо отметить, что блок предиктора представляет собой блок не текущего изображения, а конструкции. Направление используется для того, чтобы определять то, какие пикселы границы фактически используются для того, чтобы компоновать блок предиктора, и то, как они используются. Идея в основе внутреннего режима состоит в том, что вследствие общей когерентности натуральных изображений, пикселы, непосредственно окружающие единицу кодирования, с большой вероятностью являются аналогичными пикселам текущей единицы кодирования. Следовательно, можно получать хорошее прогнозирование значения пикселов единицы кодирования с использованием блока предиктора на основе этих окружающих пикселов.
Второй режим кодирования упоминается в качестве взаимного режима. Согласно взаимному режиму, блок предиктора представляет собой блок другого изображения. Идея в основе взаимного режима состоит в том, что последовательные изображения в последовательности являются, в общем, почти идентичными. Основное различие типично обусловлено движением между этими изображениями вследствие прокрутки камеры или вследствие движущихся объектов в сцене. Блок предиктора определяется посредством вектора, представляющего его местоположение в опорном изображении относительно местоположения единицы кодирования в текущем изображении. Этот вектор упоминается в качестве вектора движения. Согласно этому режиму, кодирование такой единицы кодирования с использованием этого режима содержит информацию движения, содержащую вектор движения и сжатый остаток.
В этом документе, внимание сосредоточено на третьем режиме кодирования, называемом "палитровым режимом". Согласно первой разновидности палитрового режима, можно задавать блок предиктора для данной единицы кодирования в качестве блока индексов из палитры: для каждого пиксельного местоположения в блоке предиктора, блок предиктора содержит индекс, ассоциированный с пиксельным значением в палитре, которое является ближайшим к значению пиксела, имеющего идентичное местоположение (т.е. совместно размещенного) в единице кодирования. Остаток, представляющий разность между блоком предиктора и единицей кодирования, затем вычисляется и кодируется. Индексы записей в палитре также известны как "уровни".
При использовании палитрового режима согласно этой первой разновидности, блок предиктора индексов должен передаваться в потоке битов. Для этой передачи, блок предиктора индексов двоично кодируется с использованием трех элементов синтаксиса. Первый элемент синтаксиса, называемый "режимом прогнозирования", обеспечивает возможность различения между двумя режимами кодирования. В первом режиме, соответствующем режиму прогнозирования, имеющему значение 0 (также известному как "режим с копированием влево", "режим с прогнозированием влево" или "индексный режим"), значение уровня, который должен кодироваться, должно передаваться в потоке битов. Во втором режиме, соответствующем режиму прогнозирования, имеющему значение 1, значение уровня, который должен кодироваться, получается из значения вышеуказанного пиксела в блоке предиктора. Уровень не должен обязательно передаваться.
Согласно второй разновидности палитрового режима, также можно задавать индексный блок для прогнозирования данной единицы кодирования из палитры: для каждого пиксельного местоположения в CU, индексный блок содержит индекс, ассоциированный с пиксельным значением в палитре, которое представляет значение пиксела, имеющего идентичное местоположение (т.е. совместно размещенного) в единице кодирования. Дополнительные значения индекса, называемые "значениями управляющего кода", также формируются, если пиксельное значение не может быть ассоциировано со значением индекса из палитры. Это "значение управляющего кода" указывает то, что соответствующее пиксельное значение непосредственно кодируется.
Согласно этой второй разновидности, индексный блок и значения управляющего кода передаются в потоке битов с палитрой. Идентичные элементы синтаксиса, как упомянуто для первой разновидности, используются. Необходимо отметить, что хотя как блок индексов, строго говоря, не является частью изображения, слово "пиксел" используется для того, чтобы означать элемент этого блока уровней по аналогии.
Второй элемент синтаксиса, называемый "уровнем", задается для передачи значения уровня в первом режиме. Третий элемент синтаксиса, называемый "серией", используется для того, чтобы кодировать повторяющееся значение. С учетом того, что блок предиктора сканируется из верхнего левого угла в правый нижний угол, построчно слева направо и сверху вниз (т.е. порядок растрового сканирования), элемент синтаксиса серии задает число последовательных пикселов в блоке предиктора, имеющих идентичное кодирование. Если режим прогнозирования равен 0, это представляет собой число последовательных пикселов блока предиктора, имеющих идентичное значение уровня. Если режим прогнозирования равен 1, это представляет собой число последовательных пикселов блока предиктора, имеющих значение уровня, соответствующее значению уровня вышеуказанного пиксела.
Сущность изобретения
Настоящее изобретение разработано с возможностью повышать эффективность кодирования палитрового режима.
Согласно первому аспекту настоящего изобретения, предусмотрен способ для логического вывода значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования, причем упомянутые индексы принадлежат палитре, содержащей набор индексов, ассоциированных с пиксельными значениями, причем индексы блоков индексов кодируются согласно данному порядку кодирования, при этом параметр кодирования, представляющий режим прогнозирования, ассоциированный с текущим индексом блока индексов, логически выводится, если текущий индекс расположен в первой строке блока индексов, в качестве режима прогнозирования, отличного от верхнего.
Согласно второму аспекту настоящего изобретения, предусмотрен способ для логического вывода значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования, причем упомянутые индексы принадлежат палитре, содержащей набор индексов, ассоциированных с пиксельными значениями, причем индексы блоков индексов кодируются согласно данному порядку кодирования, при этом если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный параметр кодирования, представляющий режим прогнозирования, равный верхнему, параметр кодирования, представляющий режим прогнозирования, ассоциированный с текущим индексом блока индексов, логически выводится в качестве режима прогнозирования, отличного от режима прогнозирования, равного верхнему.
В варианте осуществления, режим прогнозирования, отличный от режима прогнозирования, равного верхнему, представляет собой режим прогнозирования, равным левому.
Согласно третьему аспекту настоящего изобретения, предусмотрен способ для логического вывода значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования, причем упомянутые индексы принадлежат палитре, содержащей набор индексов, ассоциированных с пиксельными значениями, причем индексы блоков индексов кодируются согласно данному порядку кодирования, при этом когда текущий индекс следует после предыдущего индекса согласно данному порядку кодирования, значение текущего индекса логически выводится в зависимости от режима прогнозирования, ассоциированного с упомянутым предыдущим индексом.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный режим прогнозирования, значение текущего индекса логически выводится из списка значений индекса, не включающих в себя значения индекса согласно режиму прогнозирования, ассоциированному с предыдущим индексом, когда применяется текущий индекс.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный режим прогнозирования, равный левому, значение текущего индекса логически выводится из списка значений, не содержащих значение индекса слева от текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный режим прогнозирования, представляющий направление прогнозирования, равное верхнему, значение текущего индекса логически выводится из списка значений, не содержащих значение индекса выше текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный режим прогнозирования, представляющий направление прогнозирования, равное верхнему, режим прогнозирования, равный левому, является параметром кодирования текущего индекса.
Согласно четвертому аспекту настоящего изобретения, предусмотрен способ для кодирования или декодирования единицы кодирования, содержащий логический вывод значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования, причем упомянутые индексы принадлежат палитре, содержащей набор индексов, ассоциированных с пиксельными значениями, причем индексы блоков индексов кодируются согласно данному порядку кодирования, при этом если текущий индекс следует после предыдущего индекса согласно данному порядку кодирования, значение текущего индекса логически выводится из списка значений индекса, не содержащих значение индекса согласно режиму прогнозирования, ассоциированному с предыдущим индексом, и длина слова, представляющего значение текущего индекса, модифицируется согласно значению целого числа R, к примеру, M=2N-R, где M является числом значений в упомянутом списке значений, и N является числом битов, представляющим длину слова, представляющего значение текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный режим прогнозирования, равный левому, значение текущего индекса логически выводится из списка значений, не содержащих значение индекса слева от текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный режим прогнозирования, представляющий направление прогнозирования, равное верхнему, значение текущего индекса логически выводится из списка значений, не содержащих значение индекса выше текущего индекса.
Согласно пятому аспекту настоящего изобретения, предусмотрен способ для кодирования единицы кодирования, содержащий способ логического вывода значений параметров кодирования согласно первому-третьему аспектам.
Согласно шестому аспекту настоящего изобретения, предусмотрен способ для декодирования единицы кодирования, содержащий способ логического вывода значений параметров кодирования согласно любому из первого-третьего аспектов.
Согласно седьмому аспекту настоящего изобретения, предусмотрено устройство для определения параметров кодирования, содержащее средство для осуществления способа по любому из первого-третьего аспектов.
Согласно восьмому аспекту настоящего изобретения, предусмотрено устройство для кодирования единицы кодирования в потоке битов, содержащее средство для осуществления соответствующего способа кодирования по любому из четвертого или пятого аспектов.
Согласно девятому аспекту настоящего изобретения, предусмотрено устройство для декодирования единицы кодирования из потока битов, содержащее средство для осуществления соответствующего способа декодирования по любому из четвертого или шестого аспектов.
Согласно десятому аспекту предусмотрена компьютерная программа, содержащая выполняемые инструкции, которые при выполнении посредством программируемого устройства инструктируют устройству осуществлять способ по любому из первого-шестого аспектов.
Согласно одиннадцатому аспекту настоящего изобретения, предусмотрен энергонезависимый машиночитаемый носитель, который, при работе на компьютере или процессоре, инструктирует компьютеру или процессору осуществлять способ по любому из первого-шестого аспектов.
Согласно двенадцатому аспекту, изобретение предоставляет способ для логического вывода значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования, причем упомянутые индексы принадлежат палитре, содержащей набор индексов, ассоциированных с пиксельными значениями, причем режим палитрового кодирования содержит компоновку блока предиктора из блока индексов, чтобы прогнозировать текущую единицу кодирования, причем индексы блоков индексов кодируются согласно данному порядку кодирования, при этом параметр, ассоциированный с текущим пикселом блока пикселов, логически выводится в функции контекстной информации в зависимости от порядка кодирования пикселов.
В варианте осуществления, первый параметр представляет режим прогнозирования текущего индекса блока индексов.
В варианте осуществления, упомянутый первый параметр логически выводится, если текущий индекс находится в первой позиции в столбце индексов блока индексов.
В варианте осуществления, упомянутый первый параметр логически выводится, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный верхнему.
В варианте осуществления, второй параметр представляет значение текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный левому, второй параметр текущего индекса логически выводится из списка значений, не содержащих значение индекса слева от текущего индекса.
В другом варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный левому, и имеющего ассоциированный второй параметр, удовлетворяющий предварительно определенному критерию, второй параметр текущего индекса логически выводится из списка значений, не содержащих значение индекса слева от текущего индекса.
В варианте осуществления, упомянутый ассоциированный второй параметр удовлетворяет предварительно определенному критерию, когда он ниже предварительно определенного значения.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий направление прогнозирования, равное верхнему, второй параметр текущего индекса логически выводится из списка значений, не содержащих значение индекса выше текущего индекса.
В варианте осуществления, если упомянутый список значений для логического вывода второго параметра текущего индекса не содержит значение индекса слева или выше текущего индекса или/и предварительно определенное значение, то длина слова, представляющего второй параметр, регулируется согласно предварительно определенному критерию. Длина слова выше или равна нулю.
В варианте осуществления, если упомянутый список значений для логического вывода второго параметра текущего индекса не содержит, по меньшей мере, одно предварительно определенное значение, то длина слова, представляющего второй параметр, регулируется согласно предварительно определенному критерию.
В варианте осуществления, длина слова, представляющего второй параметр, регулируется согласно числу значений в упомянутом списке значений.
В варианте осуществления, длина слова, представляющего второй параметр, регулируется согласно значению целого числа R, к примеру, M=2N-R, где M является числом значений в упомянутом списке значений, и N является числом битов, представляющим длину слова, представляющего второй параметр.
Другими словами, в этих последних вариантах осуществления, если текущий индекс следует после предыдущего индекса (в порядке кодирования), имеющего ассоциированный первый параметр, представляющего режим прогнозирования, равный, соответственно, левому или верхнему (или в каких-либо других предварительно определенных случаях как задано ниже), второй параметр текущего индекса логически выводится из списка значений, не содержащих значение индекса, соответственно, слева или выше текущего индекса, называемого "разреженным списком" с этого момента. В таком варианте осуществления, это может быть использовано для того, чтобы уменьшать фактический диапазон индекса для кодирования: максимальное число возможных значений может постепенно уменьшаться, и если индекс выше пропущенного индекса, то его значение также может постепенно уменьшаться. Это может комбинироваться с эффективным способом кодирования для индекса: для числа M элементов таким образом, что M=2N-R, с целыми числами N>0 и 0<R<=2N, вместо кодирования индекса в N битов, что является самым простым, происходит следующее:
- Если индекс значения val ниже R, то он кодируется в N-1 битов как есть;
- В противном случае, val+R кодируется в N битов.
Согласно тринадцатому аспекту, изобретение предоставляет способ для кодирования или декодирования единицы кодирования, содержащий способ логического вывода значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования согласно двенадцатому аспекту.
В четырнадцатом аспекте, изобретение предоставляет устройство для кодирования или декодирования единицы кодирования, содержащее модуль, адаптированный с возможностью реализовывать способ логического вывода значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования согласно двенадцатому аспекту.
В пятнадцатом аспекте, предусмотрен способ кодирования или декодирования единицы кодирования, содержащий способ для логического вывода значений параметров кодирования согласно двенадцатому аспекту. Декодирование потока видеобитов, содержащего кодированную последовательность цифровых изображений, может содержать упомянутое декодирование единицы кодирования, и кодирование последовательности цифровых изображений в поток битов может содержать упомянутое кодирование единицы кодирования.
В шестнадцатом аспекте, предусмотрено устройство для логического вывода значений параметров кодирования, используемых при кодировании индексов блока индексов, используемых для кодирования единицы кодирования согласно режиму палитрового кодирования, содержащее средство для осуществления способа согласно двенадцатому аспекту.
В семнадцатом аспекте, предусмотрено устройство для кодирования или декодирования единицы кодирования, содержащее средство для осуществления соответствующего способа кодирования или декодирования пятнадцатого аспекта.
В восемнадцатом аспекте, изобретение предоставляет энергонезависимый машиночитаемый носитель, сохраняющий программу, которая при выполнении посредством одного или более микропроцессоров или компьютеров инструктирует процессору или компьютеру осуществлять способ по любому из двенадцатого, тринадцатого и пятнадцатого аспектов.
В девятнадцатом аспекте, изобретение предоставляет средство хранения информации, считываемое посредством компьютера или микропроцессора, сохраняющее инструкции компьютерной программы, причем она позволяет реализовывать способ по любому из двенадцатого, тринадцатого и пятнадцатого аспектов.
В двадцатом аспекте, изобретение предоставляет компьютерную программу, содержащую выполняемые инструкции, которые при выполнении посредством программируемого устройства инструктируют устройству осуществлять способ по любому из двенадцатого, тринадцатого и пятнадцатого аспектов.
Согласно двадцать первому аспекту изобретения, предусмотрен способ для определения значений параметров кодирования, используемых для кодирования индексов из блока индексов для обработки единицы кодирования согласно палитровому режиму с использованием палитры, причем каждый индекс связан с одним из пикселов, формирующих единицу кодирования, причем палитра содержит набор индексов, ассоциированных с пиксельными значениями, причем обработка содержит получение предиктора единицы кодирования из блока индексов и палитры, чтобы прогнозировать соответствующую единицу кодирования. Способ содержит:
- определение одного или более параметров кодирования для индекса, ассоциированного с одним из пиксела единицы кодирования согласно пространственному окружению упомянутого пиксела и с учетом порядка кодирования пикселов, формирующих единицу кодирования.
Например, пространственное окружение содержит пиксел, расположенный выше рассматриваемого пиксела.
В варианте осуществления, определенный первый параметр кодирования представляет режим прогнозирования индекса блока индексов.
В варианте осуществления, первый параметр кодирования выводится, если местоположение текущего индекса представляет собой первую линию индексов блока индексов.
В варианте осуществления, упомянутый первый параметр выводится, если текущий индекс следует после предыдущего индекса в порядке обработки, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный верхнему.
В варианте осуществления, определенный второй параметр кодирования представляет значение текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке обработки, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный левому, второй параметр текущего индекса определяется из списка значений индекса, не содержащих значение индекса слева от текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный левому, и имеющего ассоциированный удовлетворяющий предварительно определенному условию второй параметр, второй параметр значения текущего индекса определяется из списка значений, не содержащих значение индекса слева от текущего индекса.
В варианте осуществления, предварительно определенное условие заключается в том, что ассоциированный второй параметр меньше предварительно определенного значения индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке обработки, имеющего ассоциированный первый параметр, представляющий направление прогнозирования, равное верхнему, второй параметр текущего индекса определяется из списка значений индекса, не содержащих значение индекса выше текущего индекса.
В варианте осуществления, если индекс следует после индекса, имеющего ассоциированный первый параметр кодирования, представляющий первый режим прогнозирования, представляющий направление прогнозирования, равное левому, второй параметр кодирования индекса определяется из списка значений индекса, имеющих число значений индекса, меньшее или равное размеру палитры минус единица.
В варианте осуществления, первый режим прогнозирования представляет собой один из множества доступных режимов прогнозирования, и значения индекса упомянутого списка зависят от множества режимов прогнозирования.
В варианте осуществления, значения индекса, ссылающиеся на значения индексов, которые могут прогнозироваться с режимами прогнозирования, отличными от первого режима прогнозирования, не включены в упомянутый список.
В варианте осуществления, список значений индекса имеет число значений индекса, меньшее или равное размеру палитры минус два.
В варианте осуществления, если число индексов, прогнозированных с режимами прогнозирования, отличными от первого режима прогнозирования, превышает единицу, без включения наименьшего значения индекса из числа значений индексов, которые могут прогнозироваться с другими режимами прогнозирования, так что список значений индекса имеет размер, равный размеру палитры минус единица.
В варианте осуществления, один из множества доступных режимов прогнозирования представляет собой переходный режим, в котором параметр кодирования определяется из таблицы, сохраняющей шаблоны, причем шаблоны состоят из индексов, по меньшей мере, одного соседнего индекса блока индексов, причем упомянутый шаблон ассоциирован, по меньшей мере, с одним индексом прогнозирования, соответствующим индексу, ожидаемому в местоположении в окружении шаблона.
Согласно двадцать второму аспекту изобретения, предлагается способ кодирования единицы кодирования, содержащий определение значений параметров кодирования согласно способу, упомянутому выше. Значения параметров кодирования используются для получения индексов из блока индексов для кодирования единицы кодирования, причем упомянутый предиктор единицы кодирования формируется из блока индексов и палитры.
Согласно двадцать третьему аспекту изобретения, предлагается способ декодирования единицы кодирования из потока битов, содержащий получение значений параметров кодирования, причем упомянутые значения параметров кодирования определены с помощью вышеприведенного способа. Значения параметров кодирования используются для получения индексов из блока индексов для декодирования единицы кодирования, причем упомянутый предиктор единицы кодирования получается из блока индексов и палитры, извлеченной из потока битов.
В варианте осуществления, этап для модификации длины слова, представляющего второй параметр кодирования согласно числу значений в упомянутом списке значений, содержит модификацию длины слова согласно значению целого числа R, к примеру, M=2N-R, где M является числом значений в упомянутом списке значений, и N является числом битов, представляющим длину слова, представляющего второй параметр.
Согласно двадцать четвертому аспекту изобретения, предлагается устройство для определения значений параметров кодирования, содержащее средство для осуществления способа по любому из пунктов формулы изобретения, упомянутого выше.
Согласно двадцать пятому аспекту изобретения, предлагается устройство для кодирования или декодирования единицы кодирования, содержащее средство для осуществления соответствующих способов кодирования или декодирования, упомянутых выше.
Согласно двадцать шестому аспекту изобретения, предлагается компьютерная программа, содержащая выполняемые инструкции, которые при выполнении посредством программируемого устройства инструктируют устройству осуществлять способ, упомянутый выше.
Согласно двадцать седьмому аспекту изобретения, предлагается энергонезависимый машиночитаемый носитель, который, при работе на компьютере или процессоре, инструктирует компьютеру или процессору осуществлять способ, упомянутый выше.
Согласно двадцать восьмому аспекту изобретения, предлагается способ для определения параметров кодирования для кодирования индексов блока индексов, используемых для кодирования единицы кодирования изображения согласно палитре, причем каждый индекс связан с одним из пикселов, формирующих единицу кодирования, причем палитра содержит набор индексов, ассоциированных с пиксельными значениями. Способ содержит:
- формирование каждого индекса блока индексов, связанных с единицей кодирования из палитры на основе соответствующих параметров кодирования, и
- если индексы блока индексов не могут формироваться из палитры, по меньшей мере, для одного пиксела единицы кодирования, формирование значений индекса, соответствующих значениям управляющего кода для замены упомянутых индексов блока индексов, которые не могут формироваться; и
- определение одного или более параметров кодирования, соответствующих индексу, согласно пространственному окружению упомянутого пиксела с учетом порядка кодирования пикселов единицы кодирования.
Например, пространственное окружение содержит пиксел, расположенный выше рассматриваемого пиксела.
В варианте осуществления, первый параметр кодирования представляет режим прогнозирования индекса блока индексов.
В варианте осуществления, упомянутый первый параметр кодирования выводится, если местоположение текущего индекса представляет собой линию индексов блока индексов.
В варианте осуществления, упомянутый первый параметр кодирования выводится, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный верхнему.
В варианте осуществления, определенный второй параметр кодирования представляет значение сформированного индекса блока индексов.
В варианте осуществления, если сформированный индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный левому, второй параметр текущего индекса определяется из списка значений индекса, не содержащих значение индекса слева от текущего индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий режим прогнозирования, равный левому, и имеющего ассоциированный удовлетворяющий предварительно определенному условию второй параметр, второй параметр значения текущего индекса определяется из списка значений, не содержащих значение индекса слева от текущего индекса.
В варианте осуществления, предварительно определенное условие заключается в том, что ассоциированный второй параметр меньше предварительно определенного значения индекса.
В варианте осуществления, если текущий индекс следует после предыдущего индекса в порядке кодирования, имеющего ассоциированный первый параметр, представляющий направление прогнозирования, равное верхнему, второй параметр текущего индекса определяется из списка значений индекса, не содержащих значение индекса выше текущего индекса.
В варианте осуществления, если индекс следует после индекса, имеющего ассоциированный первый параметр кодирования, представляющий первый режим прогнозирования, представляющий направление прогнозирования, равное левому, второй параметр кодирования индекса определяется из списка значений индекса, имеющих число значений индекса, меньшее или равное размеру палитры минус единица.
В варианте осуществления, первый режим прогнозирования представляет собой один из множества доступных режимов прогнозирования, и значения индекса упомянутого списка зависят от множества режимов прогнозирования.
В варианте осуществления, значения индекса, ссылающиеся на значения индексов, которые могут прогнозироваться с режимами прогнозирования, отличными от первого режима прогнозирования, не включены в упомянутый список.
В варианте осуществления, список значений индекса имеет число значений индекса, меньшее или равное размеру палитры минус два.
В варианте осуществления, если число индексов, прогнозированных с режимами прогнозирования, отличными от первого режима прогнозирования, превышает единицу, без включения наименьшего значения индекса из числа значений индексов, которые могут прогнозироваться с другими режимами прогнозирования, так что список значений индекса имеет размер, равный размеру палитры минус единица.
В варианте осуществления, один из множества доступных режимов прогнозирования представляет собой переходный режим, в котором параметр кодирования определяется из таблицы, сохраняющей шаблоны, причем шаблоны состоят из индексов, по меньшей мере, одного соседнего индекса блока индексов, причем упомянутый шаблон ассоциирован, по меньшей мере, с одним индексом прогнозирования, соответствующим индексу, ожидаемому в местоположении в окружении шаблона.
Согласно двадцать девятому аспекту изобретения, предлагается способ кодирования единицы кодирования, содержащий определение значений параметров кодирования согласно способу, упомянутому выше.
Согласно тридцатому аспекту изобретения, предлагается способ для индексов декодирования блока индексов, используемых для декодирования единицы кодирования изображения согласно палитре, получен