Способ и устройство для кодирования или декодирования блоков пиксела

Иллюстрации

Показать все

Изобретение относится к способу и устройству для обработки текущего пиксельного блока изображения с использованием режима палитрового прогнозирования. Техническим результатом является снижение затрат на передачу служебной информации за счет уменьшения объема передаваемой информации относительно палитры из кодера в декодер. Способ для обработки текущего блока пикселов изображения использует режим палитрового прогнозирования, использующий текущую палитру для компоновки блока предиктора индексов, чтобы прогнозировать текущий пиксельный блок. Текущая палитра содержит записи, ассоциирующие индексы записей с пиксельными значениями. Прогнозируют текущую палитру из записей двух или более палитр, которые представляют собой палитры, ранее используемые для того, чтобы обрабатывать блоки пикселов. Используют предиктор палитры, который компонуется из используемой ранее для обработки пикселов палитры для единицы кодирования в текущем объекте кодирования и из ранее используемой палитры, для которой битовая карта флага указывает, скопированы или нет ее элементы в используемую в прошлый раз палитру. 8 н. и 5 з.п. ф-лы, 28 ил.

Реферат

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

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

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

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

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

Этот режим кодирования блока пиксела, в общем, упоминается в качестве режима палитрового кодирования. Предполагается приспосабливать этот режим, например, в расширении диапазона международного стандарта высокоэффективного кодирования видео (HEVC: ISO/IEC 23008-2 MPEG-H Part 2 ITU-T H.265).

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

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

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

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

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

Этот документ акцентирует внимание на третьем режиме кодирования, называемом "палитровым режимом". Согласно палитровому режиму, можно задавать блок предиктора для данной единицы кодирования в качестве блока индексов из палитры: для каждого пиксельного местоположения в блоке предиктора, блок предиктора содержит индекс, ассоциированный с пиксельным значением в палитре, которое является ближайшим к значению пиксела, имеющего идентичное местоположение (т.е. совместно размещенного) в единице кодирования. Таким образом, режим палитрового кодирования использует текущую палитру для того, чтобы компоновать блок предиктора индексов, чтобы прогнозировать текущую единицу кодирования или блок пикселов. Остаток, представляющий разность между блоком предиктора и единицей кодирования, затем вычисляется и кодируется. Индексы записей в палитре также известны как "уровни".

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

Сущность изобретения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этой разновидности, палитра по умолчанию может содержать набор предварительно определенных записей, соответствующих пиксельным значениям, равномерно распределенным по цветовому пространству. Например, для пикселов, представленных в цветовом YUV-пространстве (то же применимо для цветового RGB-пространства), пиксельные значения могут иметь равномерное распределение по Y-компоненту, в то время как значения U- и V-компонентов могут быть фиксированно равными половине максимального возможного значения MAX с учетом битовой глубины, используемой для того, чтобы кодировать каждый цветовой компонент (т.е. U и V принимает среднее значение соответствующих компонентов в цветовом пространстве), например, 1<<(bitdepth-1) или (MAX+1)/2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- опорный предиктор палитры, ассоциированный с объектом кодирования, который включает в себя текущий блок пикселов;

- записи, соответствующие значениям пикселов, соседних с текущим блоком пикселов; и

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

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

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

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

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

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