СПОСОБ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, КОДЕР, ДЕКОДЕР И НОСИТЕЛЬ ДАННЫХ
METHOD OF ENCODING/DECODING IMAGES, ENCODER, DECODER AND DATA MEDIUM

Область техники, к которой относится настоящее изобретение
Варианты осуществления настоящего изобретения относятся к области кодирования и декодирования видео, в частности к способу кодирования и декодирования изображений, кодеру, декодеру и носителю данных.
Предшествующий уровень техники настоящего изобретения
В испытательной модели универсального кодирования видео (VVC) предложена новая технология внутрикадрового кодирования, а именно внутрикадровое предсказание на основе матрицы (MIP). MIP представляет собой технологию внутрикадрового предсказания, основанную на нейронной сети, т.е. предсказания значения яркости текущего блока за счет использования многоуровневой нейронной сети на основании смежных восстановленных блоков яркости. В частности, как обычном внутрикадровом режиме, когда режим MIP используется для внутрикадрового предсказания, входные данные предсказания MIP также представляют собой данные смежных блоков яркости в вышерасположенной строке и левом столбце текущего блока, а выходные данные предсказания MIP представляют собой первое значение предсказания яркостной составляющей текущего блока. Конкретный процесс предсказания разделен на три стадии: понижающая дискретизация, матрично-векторное умножение и интерполяция.
Однако, когда предсказание яркости выполняется с использованием режима MIP, параметры, используемые для блоков яркости с разными размерами, также могут быть разными. Таким образом, относительно большое пространство хранения должно быть занято для хранения большого количества параметров, при этом поиск и вызов параметров в процессе предсказания также увеличивают общее время, что снижает эффективность кодирования и декодирования.
Краткое раскрытие настоящего изобретения
Согласно вариантам осуществления настоящего изобретения предлагается способ кодирования и декодирования изображений, кодер, декодер и носитель данных, способные уменьшить пространство хранения и общее время, необходимое в процессах кодирования и декодирования, при условии обеспечения производительности кодирования и декодирования, что эффективно повышает эффективность кодирования и декодирования.
Технические решения вариантов осуществления настоящего изобретения реализуются следующим образом.
Согласно одному варианту осуществления настоящего изобретения предлагается способ кодирования изображений, применимый к кодеру, способ предусматривает: определение размера текущего блока; определение первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисление второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определение первого значения предсказания текущего блока согласно второму смещению; и кодирование текущего блока на основании первого значения предсказания.
Согласно одному варианту осуществления настоящего изобретения предлагается способ декодирования изображений, применимый к декодеру, способ предусматривает: декодирование битового потока для получения размера и режима кодирования текущего блока; определение первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP; вычисление второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определение первого значения предсказания текущего блока согласно второму смещению; и определение восстановленного значения текущего блока на основании первого значения предсказания.
Согласно одному варианту осуществления настоящего изобретения предлагается кодер, содержащий: первую часть для определения, первую часть для вычисления и часть для кодирования. Первая часть для определения выполнена с возможностью определения размера текущего блока и определения первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP. Первая часть для вычисления выполнена с возможностью вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку. Первая часть для определения дополнительно выполнена с возможностью определения первого значения предсказания текущего блока согласно второму смещению. Часть для кодирования выполнена с возможностью кодирования текущего блока на основании первого значения предсказания.
Согласно одному варианту осуществления настоящего изобретения предлагается декодер, содержащий: часть для синтаксического анализа, вторую часть для определения и вторую часть для вычисления. Часть для синтаксического анализа выполнена с возможностью декодирования битового потока для получения размера и режима кодирования текущего блока. Вторая часть для определения выполнена с возможностью определения первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP. Вторая часть для вычисления выполнена с возможностью вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку. Вторая часть для определения дополнительно выполнена с возможностью определения первого значения предсказания текущего блока согласно второму смещению и определения восстановленного значения текущего блока на основании первого значения предсказания.
Согласно одному варианту осуществления настоящего изобретения предлагается кодер, содержащий первый процессор, первое запоминающее устройство, выполненное с возможностью хранения инструкций, исполняемых первым процессором, первый интерфейс связи и первую шину, выполненную с возможностью соединения первого процессора, первого запоминающего устройства и первого интерфейса связи, причем при исполнении инструкций первым процессором выполняется способ кодирования изображений.
Согласно одному варианту осуществления настоящего изобретения предлагается декодер, содержащий второй процессор, второе запоминающее устройство, выполненное с возможностью хранения инструкций, исполняемых вторым процессором, второй интерфейс связи и вторую шину, выполненную с возможностью соединения второго процессора, второго запоминающего устройства и второго интерфейса связи, причем при исполнении инструкций вторым процессором выполняется способ декодирования изображений.
Согласно одному варианту осуществления настоящего изобретения предлагается машиночитаемый носитель данных, на котором хранится программа, применимая к кодеру и декодеру, причем при исполнении программы процессором выполняется способ кодирования и декодирования изображений.
Согласно вариантам осуществления настоящего изобретения предлагаются способ кодирования и декодирования изображений, кодер, декодер и носитель данных. Кодер выполнен с возможностью определения размера текущего блока; определения первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и кодирования текущего блока на основании первого значения предсказания. Декодер выполнен с возможностью декодирования битового потока для получения размера и режима кодирования текущего блока; определения первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и определения восстановленного значения текущего блока на основании первого значения предсказания. Как можно увидеть, в способе кодирования и декодирования изображений согласно настоящему изобретению при выполнении кодирования и декодирования с использованием режима MIP первое смещение, соответствующее текущему блоку, может быть непосредственно определено согласно размеру текущего блока, а затем текущий блок может быть кодирован или декодирован с использованием первого смещения. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями, после определения индекса размера блока MIP, соответствующего размеру текущего блока, первое смещение, соответствующее индексу размера блока MIP, может быть непосредственно определено, вследствие чего сложность алгоритма MIP уменьшается во время процесса кодирования или декодирования, пространство хранения и общее время, необходимое в процессах кодирования и декодирования, могут быть уменьшены при условии обеспечения производительности кодирования и декодирования, и эффективность кодирования и декодирования может быть значительно увеличена.
Краткое описание чертежей
На фиг. 1 показано схематическое изображение расположения 67 режимов предсказания во внутрикадровом предсказании.
На фиг. 2 показана блока-схема кодирования за счет использования режима MIP.
На фиг. 3 показано схематическое изображение расположения вышерасположенного смежного блока яркости и левого смежного блока яркости текущего блока.
На фиг. 4 показано схематическое изображение расположения для определения режима DM.
На фиг. 5 показана принципиальная схема системы для кодирования видео.
На фиг. 6 показана принципиальная схема системы для декодирования видео.
На фиг. 7 показано схематическое изображение последовательности реализации способа кодирования изображений.
На фиг. 8 показано схематическое изображение последовательности реализации способа декодирования изображений.
На фиг. 9 показана первая принципиальная схема конструкции кодера.
На фиг. 10 показана вторая принципиальная схема конструкции кодера.
На фиг. 11 показана первая принципиальная схема конструкции декодера.
На фиг. 12 показана вторая принципиальная схема конструкции декодера.
Подробное раскрытие настоящего изобретения
Технические решения в вариантах осуществления настоящего изобретения будут описаны ниже четко и подробно со ссылкой на чертежи вариантов осуществления настоящего изобретения. Следует понимать, что конкретные варианты осуществления, описанные в настоящем документе, используются только для объяснения настоящего изобретения, а не используются для ограничения настоящего изобретения. Кроме того, следует также отметить, что для удобства описания только части, связанные с настоящим изобретением, показаны на фигурах.
Для видеоизображений аффинное линейное взвешенное внутрикадровое предсказание, предложенное объединенной командой видео-экспертов (JVET)-N0217, было принято в VVC и переименовано в внутрикадровое предсказание на основе матрицы, т.е. технологию MIP. В этой технологии различные количества режимов внутрикадрового предсказания на основе матрицы добавляются в процесс предсказания внутрикадровой яркости согласно разным размерам блоков кодирования внутрикадровой яркости.
Для захвата более точного направления края, представленного в исходном видео, в VVC 33 угловых режима предсказания внутрикадровой яркости, определенные в высокоэффективном видеокодировании (HEVC), расширяются до 65 угловых режимов предсказания внутрикадровой яркости. На фиг. 1 показано схематическое изображение расположения 67 режимов предсказания во внутрикадровом предсказании. Как показано на фиг. 1, стрелки с номерами 2-66 представляют 65 угловых режимов внутрикадрового предсказания, а также предусмотрено два неугловых режима, т.е. плоский режим под номером 0 и режим постоянного тока (DC) под номером 1. Таким образом, процесс внутрикадрового предсказания в VVC предусматривает 2 неугловых режима и 65 угловых режимов. В данном случае эти 67 режимов предсказания называются обычными режимами внутрикадрового предсказания.
MIP представляет собой технологию внутрикадрового предсказания, основанную на нейронной сети, т.е. предсказания значения яркости текущего блока за счет использования многоуровневой нейронной сети на основании смежных восстановленных пикселей. В частности, в технологии MIP блоки кодирования внутрикадровой яркости разделены на три типа согласно размерам блоков кодирования яркости. Предположим, что размер блока кодирования яркости представляет собой W×H, где W - параметр ширины и Н - параметр высоты, блоки кодирования яркости могут быть разделены на три типа согласно размерам блоков кодирования яркости.
Блоки кодирования яркости с размером 4×4 представляют собой блоки яркости первого типа, блоки кодирования яркости с размером 8×4, 4×8 или 8×8 представляют собой блоки яркости второго типа и блоки кодирования яркости с другими размерами представляют собой блоки яркости третьего типа.
Для этих трех типов блоков кодирования внутрикадровой яркости в технологии MIP М типов режимов MIP добавляются на основе 67 обычных режимов внутрикадрового предсказания, причем для блоков яркости первого типа М=35; для блоков яркости второго типа М=19; и для блоков яркости третьего типа М=11.
В частности, технология MIP используется только для предсказания внутрикадровой яркости и подобного в обычных режимах, причем входные данные предсказания MIP также представляют собой данные в вышерасположенной строке и левом столбце текущего блока, а выходные данные представляют собой значение предсказания текущего блока. Конкретный процесс предсказания разделен на три стадии: усреднение, матрично-векторное умножение и интерполяция. То есть, за счет выполнения операции, состоящей из трех стадий, в отношении входящих восстановленных значений яркости смежных пикселей в вышерасположенной строке и левом столбце, может быть получено значение предсказания яркостной составляющей текущего блока.
На фиг. 2 показана блока-схема кодирования за счет использования режима MIP. Как показано на фиг. 2, конкретная реализация выполнения предсказание яркости за счет использования режима MIP достигается следующим образом.
top
left
top
left
red
На стадии 1 операцию усреднения выполняют в отношении вышерасположенных смежных эталонных отсчетов текущего блока для получения вектора bdry, характеризующегося N значениями всего; и операцию усреднения выполняют в отношении левых смежных эталонных отсчетов текущего блока для получения вектора bdry, характеризующегося N значениями всего. Когда текущий блок представляет собой блок кодирования яркости первого типа, N=2; а когда текущий блок представляет собой блок кодирования яркости второго типа или третьего типа, N=4. Вектор bdry и вектор bdry образуют новый вектор bdry для последующих операций.
k
k
На стадии 2 соответствующую матрицу A и смещение b получают посредством номера режима k режима MIP, и частичные значения предсказания текущего блока, обозначенные пересекающимися линиями на фиг. 2, получают путем вычисления по следующей формуле (1):
red
На стадии 3 оставшиеся значения предсказания Pred в текущем блоке получают за счет линейной интерполяции.
Следует отметить, что в процессе реализации кодирования текущего блока, то, какой режим кодирования конкретно используется при внутрикадровом предсказании, должно быть записано в сжатый битовый поток, вследствие чего декодер может определить посредством синтаксического анализа информации о режиме, то, какой режим конкретно используется, и то, является режим обычным режимом или режимом MIP. Если режим представляет собой обычный режим, определяется, какой конкретный тип обычного режима используется; и если режим представляет собой режим MIP, определяется, какой конкретный тип режима MIP используется.
При внутрикадровом предсказании VVC сравнение стоимости скорости-искажения (RDcost) в 67 обычных режимах и М типах режимов MIP выполняют для каждого блока кодирования яркость для выбора оптимального режима из 67 обычных режимов и М типов режимов MIP для кодирования. Для сохранения заголовка бита в VVC используется технология кодирования внутрикадрового режима на основании списка наиболее вероятных режимов (МРМ).
Следует отметить, что поскольку технология продления эталонной линии и технология внутрикадрового подразбиения (ISP) используются только для режимов в списке МРМ, когда extendrefflag и ispflag оба равны 0, т.е. когда используется нулевая эталонная линия и не выполняется подразбиение блоков, нет необходимости в кодировании mpmflag и положение оптимального режима в списке МРМ непосредственно кодируется.
Кроме того, что касается составов списка МРМ и списка MIPMPM, при внутрикадровом предсказании яркости VVC, если оптимальный режим, выбранный текущим блоком, представляет собой обычный режим, должен быть создан список МРМ, содержащий шесть наиболее вероятных обычных режимов. Если оптимальный режим, выбранный текущим блоком, представляет собой режим MIP, должен быть составлен список MIPMPM, содержащий три наиболее вероятных режима MIP.
На фиг. 3 показано схематическое изображение расположения вышерасположенного смежного блока яркости и левого смежного блока яркости текущего блока. Как показано на фиг. 3, два списка, упомянутые выше, оба получены согласно оптимальным режимам вышерасположенного смежного блока яркости (А) и левого смежного блока яркости (L) текущего блока, как показано на фиг. 3.
Кроме того, что касается составов списка MIPMPM, при внутрикадровом предсказании VVC, если оптимальный режим текущего блока представляет собой режим MIP, должен быть создан список MIPMPM. В процессе создания списка MIPMPM сначала должны быть получены режим MIP ABOVE_MIP, соответствующий оптимальному режиму вышерасположенного смежного блока яркости, и режим MIP LEFT_MIP, соответствующий оптимальному режиму левого смежного блока яркости.
Кроме того, после получения LEFT_MIP и ABOVE_MIP, создают список MIPMPM, содержащий три наиболее вероятных режима MIPMPM, согласно следующему способу, в котором количества в MIPMPM представляют собой количества режимов MIP, причем количества режимов MIP находятся в диапазоне от 0 до (М-1), причем блоки яркости первого типа пронумерованы как 0 34, блоки яркости второго типа пронумерованы как 0 18 и блоки яркости третьего типа пронумерованы как 0-10:
если LEFT_MIP доступен (не равен -1), помещение LEFT_MIP в список MIPMPM;
если ABOVE_MIP доступен (не равен -1), помещение ABOVE_MIP в список MIPMPM после проверки на избыточность; и
если LEFT_MIP недоступен (равен -1) и ABOVE_MIP недоступен (равен -1), согласно типу текущего блока добавление списка по умолчанию в список MIPMPM после проверки на избыточность, пока список MIP_МРМ не заполнится:
список по умолчанию блоков яркости первого типа: {17, 34, 5};
список по умолчанию блоков яркости второго типа: {0, 7, 16}; и
список по умолчанию блоков яркости третьего типа: {1, 4, 6}.
Кроме того, следует добавить, что предусмотрен прямой режим (DM), в котором используется корреляция между компонентами в процессе внутрикадрового предсказания цветности VVC, которая может использовать режим внутрикадрового предсказания центрального положения совмещаемого блока кодирования яркости, соответствующего текущему блоку, для выполнения внутрикадрового предсказания текущего блока цветности. На фиг. 4 показано схематическое изображение расположения для определения режима DM. Как показано на фиг. 4, поскольку технология MIP используется только в блоках кодирования яркости, когда режим внутрикадрового предсказания в положении CR на фиг. 4 представляет собой режим MIP, режим MIP должен быть соотнесен с обычным режимом посредством «таблицы соответствия между режимом MIP и обычным режимом» для выполнения внутрикадрового предсказания текущего блока цветности. Таблица 1 представляет собой таблицу соответствия между режимом MIP и обычным режимом.
То есть, из-за введение технологии MIP в процесс внутрикадрового предсказания обычный режим должен быть соотнесен с режимом MIP при создании списка MIPMPM, и режим MIP должен быть соотнесен с обычным режимом при создании списка МРМ и определения режима DM.
Кроме того, соотнесение режимов MIP с обычными режимами должно использоваться в процессе составления списка МРМ и процессе получения режима DM. В частности, 35/19/11 типов режимов MIP соотносятся с 67 обычными режимами посредством «таблицы соответствия между режимом MIP и обычным режимом». Для трех типов блоков яркости три «таблицы соответствия между режимом MIP и обычным режимом» показаны в таблице 2, таблице 3 и таблице 4.
На фиг. 5 показано схематическое изображение конструкции системы для кодирования видео. Как показано на фиг. 5, система 100 для кодирования видео содержит такие компоненты, как модуль 101 преобразования и квантования, модуль 102 внутрикадровой оценки, модуль 103 внутрикадрового предсказания, модуль 104 компенсации движения, модуль 105 оценки движения, модуль 106 обратного преобразования и обратного квантования, модуль 107 анализа контролируемого фильтра, модуль 108 фильтрации для фильтрации для удаления блочности и адаптивного смещения отсчетов (SAO), модуль 109 кодирования для кодирования информации о заголовке и контекстно-адаптивного двоичного арифметического кодирования (САВАС) и модуль 110 буферизации декодированных изображений. На фиг. 6 показано схематическое изображение конструкции системы для декодирования видео. Как показано на фиг. 6, система 200 для декодирования видео содержит такие компоненты, как модуль 201 декодирования для декодирования информации о заголовке и кодирования САВАС, модуль 202 обратного преобразования и обратного квантования, модуль 203 внутрикадрового предсказания, модуль 204 компенсации движения, модуль 205 фильтрации для фильтрации для удаления блочности и SAO и модуль 206 буферизации декодированных изображений. После обработки видеоизображения частями в системе 100 для кодирования видео, такими как модуль 101 преобразования и квантования, модуль 102 внутрикадровой оценки, модуль 103 внутрикадрового предсказания, модуль 104 компенсации движения, модуль 105 оценки движения, модуль 108 фильтрации для фильтрации для удаления блочности и SAO и модуль 109 кодирования для кодирования информации о заголовке и САВАС, выводится битовый поток видеоизображения. Битовый поток вводится в систему 200 для декодирования видео и обрабатывается такими частями в системе 200 для декодирования видео, как модуль 201 декодирования для декодирования информации о заголовке и САВАС, модуль 202 обратного преобразования и обратного квантования, модуль 203 внутрикадрового предсказания и модуль 204 компенсации движения, и в заключение восстанавливается с получением исходного видеоизображения.
Согласно параметру высоты и параметру ширины текущий блок может характеризоваться 25 размерами. В частности, в стандарте указано, что максимальный размер блока яркости составляет 128×128. Однако максимальный размер блока преобразования составляет 64×64, то есть блок яркости с размером 128×128 должен быть подвергнут сначала разбиению методом квадродерева, вследствие чего максимальный размер блока яркости составляет 64×64. Таблица 5 представляет собой схематическую таблицу размеров блока яркости, которые показаны в таблице 5.
В уровне техники режимы MIP ограничены согласно параметру высоты и параметру ширины текущего блока. В частности, если отношение ширины к высоте текущего блока больше 4 или отношение высоты к ширине текущего блока больше 4, текущий блок не будет кодироваться посредством режима MIP. В таблице 6 показано ограничение размеров блоков яркости в режиме MIP в уровне техники, которые показаны в таблице 6.
В уровне техники среди блоков яркости первого типа (соответствующих блокам яркости 4×4) режима MIP существует два вышерасположенных смежных блока яркости и два левых смежных блока яркости, и блоки предсказания 4×4 генерируются посредством операции над матрицей. Среди блоков яркости второго типа (соответствующих блокам яркости 4×8, 8×4, 8×8) режима MIP существует четыре вышерасположенных смежных блока яркости и четыре левых смежных блока яркости, и блоки предсказания 4×4 генерируются посредством операции над матрицей. В блоках яркости третьего типа (соответствующих блокам яркости других размеров) режима MIP существует четыре вышерасположенных смежных блока яркости и четыре левых смежных блока яркости, и блоки предсказания 4×8 (блоки яркости 4×16), блоки предсказания 8×4 (блоки яркости 16×4) или блоки предсказания 8×8 (блоки яркости других размеров) генерируются посредством операции над матрицей. Поскольку неквадратные блоки предсказания генерируются из блоков яркости третьего типа, нечетные строки матрицы должны быть извлечены во время вычисления.
Кроме того, в синтаксисе категория применения MIP может быть представлена посредством MipSizeId, то есть MipSizeId представляет собой индекс размера блока MIP, numModes представляет количество режимов MIP, boundarySize представляет количество блоков яркости в вышерасположенной эталонной строке или левом эталонном столбце, которые получены посредством понижающей дискретизации, predW представляет параметр ширины блока предсказания, predH представляет параметр высоты блока предсказания и predC представляет длину стороны матрицы MIP. В таблице 7 показан отношение синтаксиса, соответствующее режимам MIP в уровне техники. Как показано в таблице 7, MipSizeId, numModes, boundarySize, predW, predH и predC в синтаксисе обладают следующим отношением:
Кроме того, в синтаксисе индекс размера блока MIP, равный 0, представляет блоки яркости 4×4, индекс размера блока MIP, равный 1, представляет блоки яркости 4×8, 8×4, 8×8, и индекс размера блока MIP, равный 2, представляет блоки яркости других размеров. numModes указывает, сколько всего есть режимов предсказания MIP, то есть, существует всего 35 блоков яркости 4×4, 19 блоков яркости 4×8, 8×4, 8×8, и 11 блоков яркости других размеров. boundarySize указывает, что смежные блоки яркости в вышерасположенной строке или левом столбце текущего блока в конечном итоге подвергаются понижающей дискретизации с получением 2 или 4 смежных блоков яркости.
В уровне техники, когда кодер выполняет предсказание яркости посредством режима MIP, может использоваться следующая формула (2):
где mWeight и vBias соответственно представляют весовую матрицу и матрицу сдвига, обученные посредством глубокого обучения для каждого режима MIP. В частности, mWeight представляет собой весовую матрицу для каждого типа режимов MIP, и vBias представляет собой матрицу сдвига для каждого типа режимов MIP. sB представляет собой величину сдвига влево матрицы сдвига, oW представляет собой округленную величину удерживания, sW представляет собой величина сдвига вправо общего значения предсказания, и значения sW в разных режимах MIP должны быть получены посредством просмотра в таблицах.
На основе JVET-N1001-v7 во время генерирования матрицы предсказания MIP кодер определяет посредством переменных incW и incH, должны ли быть извлечены значения предсказания в нечетных строках, и переменная fO представляет числовое значение, которое должно быть вычтено из mWeight, в частности:
если MipSizeId<2, тогда
в ином случае
где incW=2 or incH=2 обозначает, что извлечение должно быть выполнено в отношении параметра ширины или параметра высоты.
В таблице 8 показано описание синтаксиса sW в уровне техники. Как показано в таблице 8, поскольку значения sW в режиме MIP характеризуются взаимоотношением, значения sW во всех режимах могут быть получены из таблицы 8.
В таблице 9 показано описание синтаксиса fO в уровне техники. Как показано в таблице 9, в процессе вычисления значений предсказания режимов MIP переменная fO представляет числовое значение, которое должно быть вычтено из mWeight, и значения fO разных блоков яркости в разных режимах MIP должны быть получены посредством просмотра в таблице. mWeight представляет собой весовую матрицу, обученную посредством глубокого обучения для каждого режима MIP.
Можно увидеть из описания синтаксиса fO в таблице 9, что значение fO связано как с размером блока яркости, так и с номером режима.
Только потому что значение fO в таблице 9 связано как с размером блока яркости, так и с номером режима, то есть описания синтаксиса fO отличаются в разных режимах MIP, когда кодер выполняет предсказание яркости посредством режима MIP, значения fO могут отличаться для текущих блоков кодирования с разными MipSizeId или разными номерами режима MIP modeId, что приводит к несогласованности в алгоритме. Более того, последовательность запроса в вышеуказанной таблице 9 увеличивает временную сложность алгоритма, и хранение таблицы 9 также должно занимать пространство хранения.
Как можно увидеть в уровне техники, когда предсказание яркости выполняется с использованием режима MIP, параметры, используемые для блоков яркости с разными размерами, также могут быть разными. Таким образом, для хранения большого количества параметров требуется относительно большое пространство хранения, при этом поиск и вызов параметров в процессе предсказания также увеличивают общее время, что снижает эффективность кодирования и декодирования.
Для решения вышеуказанной проблемы в настоящем изобретении предлагается способ кодирования изображений, в котором в одном аспекте кодер может получить информацию при кодировании, что значение fO текущего блока связано только с размером текущего блока, путем установки предварительно сохраненных индексов и смещений, т.е. путем установки взаимного соответствия между MipSizeId и fO, что делает реализацию MIP более точной и единообразной; в другом аспекте взаимное соответствие между MipSizeId и fO может быть сохранено за счет использования одномерного массива или структуры данных с аналогичными функциями, которая уменьшает размеры и экономит пространство хранения, занятое самим fO; и в другом аспекте, когда кодер равномерно изменяет и обновляет fO, соответствующий mWeight также может быть обновлен с использованием обновленного fO, что позволяет избежать уменьшения производительности кодирования.
Кроме того, способ кодирования изображений, предложенный в настоящем изобретении, может влиять на часть для внутрикадрового предсказания в гибридной системе кодирования видео, то есть, он в основном используется в модуле 103 внутрикадрового предсказания при кодировании видео и модуле 203 внутрикадрового предсказания при декодировании видео, и работать как в кодере, так и в декодере.
Технические решения в вариантах осуществления настоящего изобретения будут описаны ниже четко и подробно со ссылкой на чертежи в вариантах осуществления настоящего изобретения.
Согласно одному варианту осуществления настоящего изобретения, на фиг. 7 показано схематическое изображение последовательности реализации способа кодирования изображений. Как показано на фиг. 7, согласно одному варианту осуществления настоящего изобретения способ кодирования изображений, выполняемый кодером, может предусматривать стадии 701-705.
На стадии 701 определяют размер текущего блока.
Согласно одному варианту осуществления настоящего изобретения кодер может сначала определить размер текущего блока, причем текущий блок может представлять собой текущий блок кодирования, подлежащий кодированию, то есть перед тем как кодер кодирует текущий блок, сначала может быть определен конкретный размер текущего блока.
Кроме того, согласно одному варианту осуществления настоящего изобретения текущий блок может представлять собой блок яркости, подлежащий кодированию.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения согласно параметру высоты Н и параметру ширины W текущего блока текущий блок может характеризоваться 25 размерами. В частности, в стандарте указано, что максимальный размер текущего блока составляет 128×128. Однако, поскольку максимальный размер блока преобразования составляет 64×64, то есть текущий блок с размером 128×128 должен быть подвергнут сначала разбиению методом квадродерева, максимальный размер текущего блока составляет 64×64.
В частности, как показано в таблице 5 выше, текущий блок может характеризоваться 25 размерами (H×W), включая (4×4), (4×8), (4×16), (4×32), (4×64), (8×4), (8×8), (8×16), (8×32), (8×64), (16×4), (16×8), (16×16), (16×32), (16×64), (32×4), (32×8), (32×16), (32×32), (32×64), (64×4), (64×8), (64×16), (64×32) и (64×64).
На стадии 702 первое смещение определяют согласно размеру текущего блока при кодировании текущего блока с использованием режима MIP.
Согласно одному варианту осуществления настоящего изобретения, когда кодер кодирует текущий блок с использованием режима MIP, первое смещение, соответствующее текущему блоку, может быть сначала определено согласно размеру текущего блока. Согласно вышеуказанной формуле (2) первое смещение, соответствующее текущему блоку, может представлять собой fO, представляющее числовое значение, которое должно быть вычтено из весовой матрицы mWeight.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения кодер может быть настроен с разными первыми смещениями для кодирования текущих блоков с разными размерами. В частности, кодер может сначала определить индекс размера блока MIP, соответствующий текущему блоку, согласно размеру текущего блока, а затем может дополнительно определить первое смещение, соответствующее текущему блоку, согласно индексу размера блока MIP.
Кроме того, согласно одному варианту осуществления настоящего изобретения индекс размера блока MIP текущего блока представляет собой MipSizeId, определенный согласно размеру текущего блока, и первое смещение текущего блока представляет собой fO, которое представляет собой параметр, который должен быть вычтен из mWeight текущего блока.
Следует понимать, что согласно одному варианту осуществления настоящего изобретения, когда кодер определяет индекс размера блока MIP, соответствующий текущему блоку, согласно размеру текущего блока, могут быть выполнены следующие стадии:
(1) если размер текущего блока равен 4×4, значение MipSizeId представляет собой 0;
(2) если размер текущего блока равен 4×8, 8×4 или 8×8, значение MipSizeId представляет собой 1; и
(3) если текущий блок характеризуется размером, отличающимся от упомянутых выше, значение MipSizeId представляет собой 2.
Кроме того, согласно одному варианту осуществления настоящего изобретения кодер может быть предварительно настроен с взаимным соответствием между MipSizeId и fO, то есть кодер настроен с взаимным соответствием между предварительно сохраненными индексами и смещениями. Таким образом, после определения индекса размера блока MIP, соответствующего текущему блоку, кодер может получить посредством соотнесения первое смещение, соответствующее текущему блоку, на основании взаимного соответствия между предварительно сохраненными индексами и смещениями.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения на основании взаимного соответствия между предварительно сохраненными индексами и смещениями одинаковый индекс размера блока MIP соответствует одинаковому первому смещению. То есть, согласно одному варианту осуществления настоящего изобретения, когда кодер кодирует текущий блок с использованием режима MIP, кодер может непосредственно определять первое смещение, соответствующее текущему блоку, за счет использования индекса размера блока MIP, соответствующего текущему блоку, тем самым дополнительно выполняя процесс кодирования за счет использования первого смещения.
Согласно одному варианту осуществления настоящего изобретения, кроме того, перед кодированием текущего блока согласно режиму MIP, кодер может сначала установить взаимное соответствие между предварительно сохраненными индексами и смещениями. То есть кодер должен сначала установить отличающиеся fO для отличающихся MipSizeId.
Кроме того, согласно одному варианту осуществления настоящего изобретения, когда кодер устанавливает взаимное соответствие между предварительно сохраненными индексами и смещениями для блоков яркости с одинаковым MipSizeId, кодер может установить соответствующие fO этих блоков яркости равными тому же числовому значению. То есть в настоящем изобретении кодер может равномерно установить fO, соответствующие блокам яркости, с одинаковым MipSizeId. Например, в таблице 10 показано первое взаимное соответствие между предварительно сохраненными индексами и смещениями. Как показано в таблице 10, кодер может непосредственно устанавливать такой же fO для такого же MipSizeId, вследствие чего при кодировании текущего блока кодер может непосредственно определять значение соответствующего первого смещения согласно индексу размера блока MIP, соответствующему текущему блоку. Например, если размер текущего блока равен 4×4, кодер может определить, что значение индекса размера блока MIP, соответствующего текущему блоку, равно 0, а затем кодер может определить, что первое смещение, соответствующее текущему блоку, равно 66 согласно взаимному соответствию между MipSizeId и fO, показанному в таблице 10.
В таблице 11 показано второе взаимное соответствие между предварительно сохраненными индексами и смещениями. Как показано в таблице 11, кодер может непосредственно устанавливать такой же fO для такого же MipSizeId, вследствие чего при кодировании текущего блока кодер может непосредственно определять значение соответствующего первого смещения согласно индексу размера блока MIP, соответствующему текущему блоку. Например, если размер текущего блока равен 4×4, кодер может определить, что значение индекса размера блока MIP, соответствующего текущему блоку, равно 0, а затем кодер может определить, что первое смещение, соответствующее текущему блоку, равно 34 согласно взаимному соответствию между MipSizeId и fO, показанному в таблице 11.
Можно увидеть, что в сравнении с вышеуказанной таблицей 9 в таблице 10 и таблице 11 в настоящем изобретении при определении первого смещения, соответствующего текущему блоку, кодер не должен определять первое смещение, соответствующее текущему блоку, согласно значениям двух переменных MipSizeId и номеру режима MIP modeId, но может получить первое смещение, соответствующее текущему блоку, только согласно параметру MipSizeId, что уменьшает сложность операции и также экономит дополнительное пространство для хранения двумерной таблицы fO, такой как таблица 9.
Кроме того, согласно одному варианту осуществления настоящего изобретения при установке взаимного соответствия между предварительно сохраненными индексами и смещениями, кодер на основании исходного описания синтаксиса fO может сначала определить fO с наибольшим числовым значением среди fO, соответствующих разным номерам режима MIP modeId того же MipSizeId, и затем определить fO с наибольшим числовым значением как первое смещение, соответствующее MipSizeId. Например, на основании исходного описания синтаксиса fO, показанного в таблице 9, может быть определено, что, когда MipSizeId равно 0, fO с наибольшим числовым значением представляет собой 66, когда номер режима modeId представляет собой 15. Таким образом, кодер может установить fO, соответствующие всем номерам режима modeId, с MipSizeId, равным 0, как 66, т.е. установить взаимное соответствие между MipSizeId, равным 0, и fO, равным 66. Соответственно, на основании исходного описания синтаксиса fO, показанного в таблице 9, может быть определено, что, когда MipSizeId равно 1, fO с наибольшим числовым значением представляет собой 45, когда номер режима modeId представляет собой 3. Таким образом, кодер может установить fO, соответствующие всем номерам режима modeId, с MipSizeId, равным 1, как 45, т.е. установить взаимное соответствие между MipSizeId, равным 1, и fO, равным 45. Соответственно, на основании исходного описания синтаксиса fO, показанного в таблице 9, может быть определено, что, когда MipSizeId равно 2, fO с наибольшим числовым значением представляет собой 46, когда номер режима modeId представляет собой 1. Таким образом, кодер может установить fO, соответствующие всем номерам режима modeId, когда MipSizeId равен 2, как 46, т.е. установить взаимное соответствие между MipSizeId, равным 2, и fO, равным 46. Таким образом получают вышеуказанную таблицу 10.
В частности, перед получением fO с использованием вышеуказанных таблицы 10 и таблицы 11, кодер не должен определять MipSizeId и modeId, соответствующие текущему блоку, одновременно, а только должен определить MipSizeId согласно размеру текущего блока, таким образом получая fO, соответствующие текущему блоку.
Следует понимать, что согласно одному варианту осуществления настоящего изобретения, поскольку взаимное соответствие между MipSizeId и fO, показанное в таблице 10 выше, представляет собой одномерный массив, кодер может хранить взаимное соответствие между MipSizeId и fO за счет использования одномерного массива или структуры данных с аналогичными функциями, что уменьшает размер массива и экономит пространство хранения, занятое самим массивом, в сравнении с таблицей 9 выше.
На стадии 703 второе смещение вычисляют за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку.
Согласно одному варианту осуществления настоящего изобретения после определения первого смещения согласно размеру текущего блока кодер может получить за счет вычисления второе смещение путем использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку. В данном случае второе смещение может представлять собой oW в вышеуказанной формуле (2). В частности, второе смещение может представлять собой смещение для управления операцией битового сдвига. Например, oW в вышеуказанной формуле (2) представляет собой округленную величину удерживания, которая может быть вычислена по вышеуказанной формуле (3).
Следует отметить, что согласно одному варианту осуществления настоящего изобретения после определения индекса размера блока MIP, соответствующего текущему блоку, согласно размеру текущего блока и определения первого смещения, соответствующего текущему блоку, на основании взаимного соответствия между предварительно сохраненными индексами и смещениями кодер может получить за счет вычисления второе смещение, соответствующее текущему блоку, путем использования первого смещения на основании вышеуказанной формулы (3). В частности, при определении второго смещения кодер также нужен для использования восстановленных значений смежных пикселей, соответствующих текущему блоку, для вычисления.
На стадии 704 первое значение предсказания текущего блока определяют согласно второму смещению.
Согласно одному варианту осуществления настоящего изобретения после вычисления второго смещения на основании первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку, кодер может определить первое значение предсказания, соответствующее текущему блоку, согласно второму смещению.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения при определении первого значения предсказания текущего блока согласно второму смещению кодер может сначала вычислить второе значение предсказания пикселя в предварительно установленном положении в текущем блоке посредством второго смещения, а затем выполнить фильтрацию в отношении второго значения предсказания, таким образом получая первые значения предсказания всех пикселей в текущем блоке.
Кроме того, согласно одному варианту осуществления настоящего изобретения предварительно установленное положение может представлять собой конкретное положение в текущем блоке. В частности, предварительно установленное положение может представлять собой конкретные положения некоторых пикселей в текущем блоке. То есть в настоящем изобретении кодер вычисляет второе значение предсказания посредством второго смещения, которое не является значениями предсказания всех пикселей в текущем блоке, но значениями предсказания пикселей в некоторых конкретных положениях в текущем блоке.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения после получения за счет вычисления вторых значений предсказания пикселей в некоторых конкретных положениях в текущем блоке посредством второго смещения, кодер может выполнять фильтрацию в отношении вторых значений предсказания, таким образом получая значения предсказания всех пикселей в текущем блоке, т.е. получая первые значения предсказания, соответствующие текущему блоку.
Следует понимать, что согласно одному варианту осуществления настоящего изобретения второе смещение может использоваться для управления смещением операции битового сдвига в процессе вычисления вторых значений предсказания.
На стадии 705 текущий блок кодируют на основании первого значения предсказания.
Согласно одному варианту осуществления настоящего изобретения после определения первого значения предсказания текущего блока согласно второму смещению кодер может кодировать текущий блок кодирования на основании первого значения предсказания, чтобы получить битовый поток, соответствующий текущему блоку.
Кроме того, согласно одному варианту осуществления настоящего изобретения при кодировании текущего блока на основании первого значения предсказания кодер может сначала вычислить остаток между исходным значением и первым значением предсказания текущего блока, а затем может кодировать остаток.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения при кодировании текущего блока кодер не осуществляет непосредственное кодирование первого значения предсказания текущего блока, но определяет разницу, т.е. остаток, между первым значением предсказания и исходным значением, соответствующим текущему блоку, а затем кодирует остаток, что значительно улучшает эффективность кодирования и декодирования.
Согласно одному варианту осуществления настоящего изобретения предлагается способ кодирования изображений, в котором кодер определяет размер текущего блока; определяет первое смещение согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисляет второе смещение за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определяет первое значение предсказания текущего блока согласно второму смещению; и кодирует текущий блок на основании первого значения предсказания. Как можно увидеть, в способе кодирования изображений согласно настоящему изобретению при выполнении кодирования с использованием режима MIP первое смещение, соответствующее текущему блоку, может быть непосредственно определено согласно размеру текущего блока, а затем текущий блок может быть кодирован с использованием первого смещения. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями первое смещение, соответствующее индексу размера блока MIP, может быть непосредственно получено после определения индекса размера блока MIP, соответствующего размеру текущего блока, вследствие чего сложность алгоритма MIP уменьшается во время выполнения процесса кодирования, пространство хранения и общее время, необходимые в процессе кодирования, могут быть уменьшены при условии обеспечения производительности кодирования, таким образом, эффективность кодирования может быть значительно улучшена.
На основании вышеуказанных вариантов осуществления в дополнительном варианте осуществления настоящего изобретения, поскольку кодер предварительно настроен с взаимным соответствием между предварительно сохраненными индексами и смещениями, при кодировании текущего блока кодер должен только определить индекс размера блока MIP, соответствующий текущему блоку, согласно размеру текущего блока, а затем может определить соответствующее первое смещение за счет использования взаимного соответствия между предварительно сохраненными индексами и смещениями. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями кодер может непосредственно определять значение fO согласно MipSizeId, а не определять значение fO согласно значениям двух переменных MipSizeId и modeId, что, таким образом, может значительно уменьшить сложность операции и сэкономить дополнительно пространство для хранения двумерной таблицы взаимного соответствия между MipSizeId, modeId и fO.
То есть в уровне техники fO в вышеуказанной формуле (2) представляет числовое значение, которое должно быть вычтено из mWeight, и значение fO текущего блока может быть получено только путем запроса взаимного соответствия между MipSizeId, modeId и fO, как показано в таблице 9. Как можно увидеть, значение fO связано как с размером, так и с номером режима текущего блока, что приводит к несогласованности в алгоритме, и в то же время хранение взаимного соответствия между MipSizeId, modeId и fO в таблице 9 также требует относительно большого пространства хранения. В отличие от этого, согласно настоящему изобретению должно храниться только взаимное соответствие между MipSizeId и fO, и для одинакового MipSizeId, даже если modeId отличается, значение соответствующего fO одинаково, что экономит пространство хранения, а также уменьшает сложность операции.
В частности, согласно одному варианту осуществления настоящего изобретения, что касается синтаксиса, в настоящем изобретении синтаксис процесса вычисления предсказания MIP упрощен, и fO одинакового MipSizeId равномерно модифицированы, то есть соответствующий fO может быть определен только согласно размеру текущего блока.
Согласно одному варианту осуществления настоящего изобретения, кроме того, когда кодер упрощает синтаксис в процессе вычисления предсказания MIP, fO, соответствующие любым блокам яркости с разными MipSizeId и разными modeId, может быть установлен равным одинаковому числовому значению. То есть fO представляет собой фиксированное значение, соответствие между fO и размером блока яркости отменяется, fO во всех случаях определяются как равномерное числовое значение, и таблицы, связанные с fO, больше не хранятся, что дополнительно уменьшает сложность алгоритма MIP, уменьшает пространство хранения для алгоритма и делает реализацию и синтаксис технологии MIP более точными и единообразными.
Согласно одному варианту осуществления настоящего изобретения, кроме того, во избежание потери производительности кодирования кодер должен дополнительно модифицировать значение mWeight соответствующим образом при равномерной модификации fO. В частности, после установки взаимного соответствия между предварительно сохраненными индексами и смещениями, кодер может добавить увеличенную часть fO в соответствующем режиме к каждому весовому значению в весовой матрице mWeight, соответствующей текущему блоку, т.е. он может добавить обновленный fO к каждому исходному весовому значению в исходном mWeight, соответствующем текущему блоку, таким образом, поддерживая производительность кодирования совершенно без изменений. То есть кодер также может использовать fO для соответствующего обновления mWeight, таким образом, уменьшая пространство хранения и уменьшая сложность операции, при этом поддерживая производительность кодирования по существу без изменений и поддерживая результат вычисления предсказания без изменений.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения, когда кодер использует fO для обновления mWeight соответствующим образом, если есть весовое значение в обновленном mWeight, которое больше, чем предварительно установленное весовое пороговое значение, весовое значение может быть установлен меньшим или равным предварительно установленному весовому пороговому значению. Например, кодер устанавливает предварительно установленное весовое пороговое значение равным верхнему предельному значению 7-битного двоичного числа, т.е. 127. Если есть весовое значение в обновленном mWeight, которое больше, чем 127, весовое значение, которое больше, чем 127, может быть модифицировано так, чтобы быть меньше или равно предварительно установленному весовому пороговому значению путем ограничения, например, установки его равным 127.
Кроме того, согласно одному варианту осуществления настоящего изобретения, если есть весовое значение в обновленном mWeight, которое больше, чем предварительно установленное весовое пороговое значение, также можно поддерживать все весовые значения в обновленном mWeight в пределах диапазона предварительно установленного весового порогового значения путем уменьшения sW.
Кроме того, согласно одному варианту осуществления настоящего изобретения для лучшего поддержания производительности кодирования также могут использоваться псевдокоды, показанные в формуле (9), для вычисления значения параметра р[0], т.е. замены формулы (6) формулой (9). Следует понимать, что динамический диапазон данных в матрице MIP может быть уменьшен за счет использования способа вычисления согласно формуле (9):
В иллюстративных целях для блоков яркости, в которых MipSizeId характеризуется значением, равным 0, перед равномерной модификацией fO, начальное описание синтаксиса fO такое, как показано в таблице 12 ниже, в которой значения fO отличаются для разных номеров режима MIP moldId.
В данном случае fO со значением modeId, равным 1, представляет собой 21, и соответствующий mWeight показан в таблице 13 ниже.
На основании вышеуказанной таблицы 12 соответствующий исходный mWeight, когда значение modeId равно 1, может быть получен путем использования fO, характеризующегося значением, равным 21, когда modeId представляет собой 1. В частности, каждое весовое значение в вышеуказанной таблице 13 может быть подвергнуто операции вычитания числа 21, таким образом, получая соответствующий исходный mWeight, как показано в таблице 14 ниже.
Согласно одному варианту осуществления настоящего изобретения во время обновления исходного mWeight, соответствующего mWeight, для уменьшения динамического диапазона данных в матрице MIP, кодер заменяет формулу (6) формулой (9).
В частности, в первом столбце всех исходных mWeight, соответствующих всем номерам режима MIP modeId блоков яркости, в которых MipSizeId характеризуется значениями, равными 0 и 1, знак должен быть изменен на противоположный. Например, после изменения знака на противоположный для весовых значений в первом столбце на основании вышеуказанной таблицы 14, полученные в результате предварительно обновленные mWeight такие, как показано в таблице 15.
Поскольку максимальное значение fO в таблице 12 равно 34, когда номер режима MIP modeId представляет собой 0, когда кодер равномерно модифицирует fO, он может непосредственно установить fO, соответствующие всем блокам яркости, с MipSizeId, равным 0, как 34, то есть описание синтаксиса обновленного fO такое, как показано в таблице 16 ниже.
В то же время, кодер может продолжить обновление, за счет использования fO со значением, равным 34, предварительно обновленных mWeight блока яркости, в котором номер режима MIP modeId равен 1, т.е. на основании вышеуказанной таблицы 15 34 добавляется в каждому весовому значению в таблице 15, таким образом, получая обновленные mWeight, которые такие, как показано в таблице 17.
Следует понимать, что в этом процессе, если есть весовое значение в обновленном mWeight, которое больше, чем предварительно установленное весовое пороговое значение, весовое значение может быть ограничено нахождением в диапазоне предварительно установленного весового порогового значения, или все весовые значения в обновленном mWeight могут поддерживаться в пределах диапазона предварительно установленного весового порогового значения путем уменьшения sW.
Из приведенного выше описания следует понимать, что в настоящем изобретении в одном аспекте кодер может получить информацию при кодировании, что значение fO текущего блока связано только с размером текущего блока, путем установки предварительно сохраненных индексов и смещений, т.е. путем установки взаимного соответствия между MipSizeId и fO, что делает реализацию MIP более точной и единообразной; в другом аспекте взаимное соответствие между MipSizeId и fO может быть сохранено за счет использования одномерного массива или структуры данных с аналогичными функциями, которая уменьшает размеры и экономит пространство хранения, занятое самим fO; и в другом аспекте, когда кодер равномерно изменяет и обновляет fO, соответствующий mWeight также может быть обновлен с использованием обновленного fO, что позволяет избежать уменьшения производительности кодирования.
Согласно одному варианту осуществления настоящего изобретения предлагается способ кодирования изображений, в котором кодер определяет размер текущего блока; определяет первое смещение согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисляет второе смещение за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определяет первое значение предсказания текущего блока согласно второму смещению; и кодирует текущий блок на основании первого значения предсказания. Как можно увидеть, в способе кодирования изображений согласно настоящему изобретению при выполнении кодирования с использованием режима MIP первое смещение, соответствующее текущему блоку, может быть непосредственно определено согласно размеру текущего блока, а затем текущий блок может быть кодирован с использованием первого смещения. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями, после определения индекса размера блока MIP, соответствующего размеру текущего блока, первое смещение, соответствующее индексу размера блока MIP, может быть непосредственно определено, вследствие чего сложность алгоритма MIP уменьшается во время процесса кодирования, пространство хранения и общее время, необходимое в процессе кодирования, могут быть уменьшены при условии обеспечения производительности кодирования, таким образом, эффективность кодирования может быть значительно увеличена.
Согласно другому варианту осуществления настоящего изобретения, на фиг. 8 показано схематическое изображение последовательности реализации способа декодирования изображений. Как показано на фиг. 8, согласно одному варианту осуществления настоящего изобретения способ декодирования изображений, выполняемый декодером, может предусматривать стадии 801-805.
На стадии 801 битовый поток декодируют для получения размера и режима кодирования текущего блока.
Согласно одному варианту осуществления настоящего изобретения декодер может сначала определить размер и режим кодирования текущего блока, причем текущий блок может представлять собой текущий блок кодирования, подлежащий декодированию, то есть перед тем как декодер декодирует текущий блок, сначала может быть определен конкретный размер и режим кодирования текущего блока.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения режимы кодирования текущего блока могут представлять собой 67 обычных режимов внутрикадрового предсказания или режимов MIP.
Кроме того, согласно одному варианту осуществления настоящего изобретения текущий блок может представлять собой блок яркости, подлежащий декодированию.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения согласно параметру высоты Н и параметру ширины W текущего блока текущий блок может характеризоваться 25 размерами. В частности, в стандарте указано, что максимальный размер текущего блока составляет 128×128. Однако максимальный размер блока преобразования составляет 64×64, то есть текущий блок с размером 128×128 должен быть подвергнут сначала разбиению методом квадродерева, вследствие чего максимальный размер текущего блока составляет 64×64.
На стадии 802 первое смещение определяют согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP.
Согласно одному варианту осуществления настоящего изобретения после определения того, что режим кодирования текущего блока представляет собой режим MIP, декодер может сначала определить первое смещение, соответствующее текущему блоку, согласно размеру текущего блока. Согласно вышеуказанной формуле (2) первое смещение, соответствующее текущему блоку, может представлять собой fO, представляющее числовое значение, которое должно быть вычтено из mWeight.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения декодер может быть настроен с разными первыми смещениями для декодирования текущих блоков с разными размерами. В частности, декодер может сначала определить индекс размера блока MIP, соответствующий текущему блоку, согласно размеру текущего блока, а затем может дополнительно определить первое смещение, соответствующее текущему блоку, согласно индексу размера блока MIP.
Кроме того, согласно одному варианту осуществления настоящего изобретения индекс размера блока MIP текущего блока представляет собой MipSizeId, определенный согласно размеру текущего блока, и первое смещение текущего блока представляет собой fO, которое представляет собой параметр, который должен быть вычтен из mWeight текущего блока.
Следует понимать, что согласно одному варианту осуществления настоящего изобретения, когда декодер определяет индекс размера блока MIP, соответствующий текущему блоку, согласно размеру текущего блока, могут быть выполнены следующие стадии:
(1) если размер текущего блока равен 4×4, значение MipSizeId представляет собой 0;
(2) если размер текущего блока равен 4×8, 8×4 или 8×8, значение MipSizeId представляет собой 1; и
(3) если текущий блок характеризуется размером, отличающимся от упомянутых выше, значение MipSizeId представляет собой 2.
Кроме того, согласно одному варианту осуществления настоящего изобретения декодер может быть предварительно настроен с взаимным соответствием между MipSizeId и fO, то есть декодер настроен с взаимным соответствием между предварительно сохраненными индексами и смещениями. Таким образом, после определения индекса размера блока MIP, соответствующего текущему блоку, декодер может получить посредством соотнесения первое смещение, соответствующее текущему блоку, на основании взаимного соответствия между предварительно сохраненными индексами и смещениями.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения на основании взаимного соответствия между предварительно сохраненными индексами и смещениями одинаковый индекс размера блока MIP соответствует одинаковому первому смещению. То есть, согласно одному варианту осуществления настоящего изобретения, когда декодер декодирует текущий блок с использованием режима MIP, декодер может непосредственно определять первое смещение, соответствующее текущему блоку, за счет использования индекса размера блока MIP, соответствующего текущему блоку, тем самым дополнительно выполняя процесс декодирования за счет использования первого смещения.
Согласно одному варианту осуществления настоящего изобретения, кроме того, перед декодированием текущего блока согласно режиму MIP, декодер может сначала установить взаимное соответствие между предварительно сохраненными индексами и смещениями. То есть декодер должен сначала установить отличающиеся fO для отличающихся MipSizeId.
Кроме того, согласно одному варианту осуществления настоящего изобретения, когда декодер устанавливает взаимное соответствие между предварительно сохраненными индексами и смещениями для блоков яркости с одинаковым MipSizeId, декодер может установить соответствующие fO этих блоков яркости равными тому же числовому значению. То есть в настоящем изобретении декодер может равномерно установить fO, соответствующие блокам яркости, с одинаковым MipSizeId. Например, в вышеуказанной таблице 10, если размер текущего блока равен 4×4, декодер может определить, что индекс размера блока MIP, соответствующий текущему блоку, представляет собой 0, а затем декодер может определить, что первое смещение, соответствующее текущему блоку, представляет собой 66 согласно взаимному соответствию между MipSizeId и fO, показанному в таблице 10; и вышеуказанной таблице 11, если размер текущего блока равен 4×4, декодер может определить, что значение индекса размера блока MIP, соответствующего текущему блоку, представляет собой 0, а затем кодер может определить, что первое смещение, соответствующее текущему блоку, представляет собой 34 согласно взаимному соответствию между MipSizeId и fO, показанному в таблице 11.
Можно увидеть, что в сравнении с вышеупомянутой таблицей 9 в таблице 10 и таблице 11 в настоящем изобретении при определении первого смещения, соответствующего текущему блоку, декодер не должен определять первое смещение, соответствующее текущему блоку, согласно значениям двух переменных, т.е. MipSizeId и номеру режима MIP modeId, но может получить первое смещение, соответствующее текущему блоку, только согласно одному параметру, т.е. MipSizeId, что уменьшает сложность операции и при этом экономит дополнительное пространство для хранения двумерной таблицы fO, такой как таблица 9.
Кроме того, согласно одному варианту осуществления настоящего изобретения при установке взаимного соответствия между предварительно сохраненными индексами и смещениями, декодер на основании исходного описания синтаксиса fO может сначала определить fO с наибольшим числовым значением среди fO, соответствующих разным номерам режима MIP modeId того же MipSizeId, и затем определить fO с наибольшим числовым значением как первое смещение, соответствующее MipSizeId. Например, на основании исходного описания синтаксиса fO, показанного в таблице 9, может быть определено, что, когда MipSizeId равно 0, fO с наибольшим числовым значением представляет собой 66, когда номер режима modeId представляет собой 15. Таким образом, декодер может установить fO, соответствующие всем номерам режима modeId, с MipSizeId, равным 0, как 66, т.е. установить взаимное соответствие между MipSizeId, равным 0, и fO, равным 66. Соответственно, на основании исходного описания синтаксиса fO, показанного в таблице 9, может быть определено, что, когда MipSizeId равно 1, fO с наибольшим числовым значением представляет собой 45, когда номер режима modeId представляет собой 3. Таким образом, декодер может установить fO, соответствующие всем номерам режима modeId, с MipSizeId, равным 1, как 45, т.е. установить взаимное соответствие между MipSizeId, равным 1, и fO, равным 45. Соответственно, на основании исходного описания синтаксиса fO, показанного в таблице 9, может быть определено, что, когда MipSizeId равно 2, fO с наибольшим числовым значением представляет собой 46, когда номер режима modeId представляет собой 1. Таким образом, декодер может установить fO, соответствующие всем номерам режима modeId, когда MipSizeId равен 2, как 46, т.е. установить взаимное соответствие между MipSizeId, равным 2, и fO, равным 46. Таким образом получают вышеуказанную таблицу 10.
В частности, перед получением fO с использованием вышеуказанных таблицы 10 и таблицы 11, декодер не должен определять MipSizeId и modeId, соответствующие текущему блоку, одновременно, а только должен определить MipSizeId согласно размеру текущего блока, таким образом получая fO, соответствующие текущему блоку.
Следует понимать, что согласно одному варианту осуществления настоящего изобретения, поскольку взаимное соответствие между MipSizeId и fO, показанное в таблице 10 выше, представляет собой одномерный массив, декодер может хранить взаимное соответствие между MipSizeId и fO за счет использования одномерного массива или структуры данных с аналогичными функциями, что уменьшает размер массива и экономит пространство хранения, занятое самим массивом, в сравнении с таблицей 9 выше.
На стадии 803 второе смещение вычисляют за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку.
Согласно одному варианту осуществления настоящего изобретения после определения первого смещения согласно размеру текущего блока декодер может получить за счет вычисления второе смещение путем использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку. В данном случае второе смещение может представлять собой oW в вышеуказанной формуле (2). В частности, второе смещение может представлять собой смещение для управления операцией битового сдвига. Например, oW в вышеуказанной формуле (2) представляет собой округленную величину удерживания, которая может быть вычислена по вышеуказанной формуле (3).
Следует отметить, что согласно одному варианту осуществления настоящего изобретения после определения индекса размера блока MIP, соответствующего текущему блоку, согласно размеру текущего блока и определения первого смещения, соответствующего текущему блоку, на основании взаимного соответствия между предварительно сохраненными индексами и смещениями декодер может получить за счет вычисления второе смещение, соответствующее текущему блоку, путем использования первого смещения на основании вышеуказанной формулы (3). В частности, при определении второго смещения декодер также нужен для использования восстановленных значений смежных пикселей, соответствующих текущему блоку, для выполнения вычисления.
На стадии 804 первое значение предсказания текущего блока определяют согласно второму смещению.
Согласно одному варианту осуществления настоящего изобретения после вычисления второго смещения на основании первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку, декодер может определить первое значение предсказания, соответствующее текущему блоку, согласно второму смещению.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения при определении первого значения предсказания текущего блока согласно второму смещению декодер может сначала вычислить второе значение предсказания пикселя в предварительно установленном положении в текущем блоке посредством второго смещения, а затем выполнить фильтрацию в отношении второго значения предсказания, таким образом получая первые значения предсказания всех пикселей в текущем блоке.
Кроме того, согласно одному варианту осуществления настоящего изобретения предварительно установленное положение может представлять собой конкретное положение в текущем блоке. В частности, предварительно установленное положение может представлять собой конкретные положения некоторых пикселей в текущем блоке. То есть в настоящем изобретении декодер вычисляет второе значение предсказания посредством второго смещения, которое не является значениями предсказания всех пикселей в текущем блоке, но значениями предсказания пикселей в некоторых конкретных положениях в текущем блоке.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения после получения за счет вычисления вторых значений предсказания пикселей в некоторых конкретных положениях в текущем блоке посредством второго смещения, декодер может выполнять фильтрацию в отношении вторых значений предсказания, таким образом получая значения предсказания всех пикселей в текущем блоке, т.е. получая первые значения предсказания, соответствующие текущему блоку.
Следует понимать, что согласно одному варианту осуществления настоящего изобретения второе смещение может использоваться для управления смещением операции битового сдвига в процессе вычисления вторых значений предсказания.
На стадии 805 текущий блок декодируют на основании первого значения предсказания.
Согласно одному варианту осуществления настоящего изобретения после определения первого значения предсказания текущего блока согласно второму смещению декодер может декодировать текущий блок декодирования на основании первого значения предсказания, чтобы получить битовый поток, соответствующий текущему блоку.
Кроме того, согласно одному варианту осуществления настоящего изобретения при декодировании текущего блока на основании первого значения предсказания декодер может сначала вычислить остаток между исходным значением и первым значением предсказания текущего блока, а затем может декодировать остаток.
Следует отметить, что согласно одному варианту осуществления настоящего изобретения при декодировании текущего блока декодер не осуществляет непосредственное декодирование первого значения предсказания текущего блока, но определяет разницу, т.е. остаток, между первым значением предсказания и исходным значением, соответствующим текущему блоку, а затем декодирует остаток, что значительно улучшает эффективность кодирования и декодирования.
Кроме того, согласно одному варианту осуществления настоящего изобретения перед определением восстановленного значения текущего блока на основании первого значения предсказания декодер может получить остаток текущего блока посредством декодирования битового потока.
Соответственно, согласно одному варианту осуществления настоящего изобретения после определения остатка текущего блока и определения первого значения предсказания текущего блока декодер может непосредственно вычислить суммарную величину первого значения предсказания и остатка, и установить суммарную величину как восстановленное значение текущего блока. То есть при определении восстановленного значения текущего блока на основании первого значения предсказания декодер может выполнить операцию суммирования первого значения предсказания и остатка для получения восстановленного значения текущего блока, чтобы выполнить процесс декодирования текущего блока.
Согласно одному варианту осуществления настоящего изобретения предлагается способ декодирования изображений, в котором декодер декодирует битовый поток для получения размера и режима кодирования текущего блока; определяет первое смещение согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP; вычисляет второе смещение за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определяет первое значение предсказания текущего блока согласно второму смещению; и определяет восстановленное значение текущего блока на основании первого значения предсказания. Как можно увидеть, в способе декодирования изображений согласно настоящему изобретению при выполнении декодирования с использованием режима MIP первое смещение, соответствующее текущему блоку, может быть непосредственно определено согласно размеру текущего блока, а затем текущий блок может быть декодирован с использованием первого смещения. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями, после определения индекса размера блока MIP, соответствующего размеру текущего блока, первое смещение, соответствующее индексу размера блока MIP, может быть непосредственно определено, вследствие чего сложность алгоритма MIP уменьшается во время процесса декодирования, пространство хранения и общее время, необходимое в процессе декодирования, могут быть уменьшены при условии обеспечения производительности декодирования, и эффективность декодирования может быть значительно увеличена.
На основании вышеуказанных вариантов осуществления согласно дополнительному варианту осуществления настоящего изобретения, на фиг. 9 показана первая принципиальная схема конструкции кодера. Как показано на фиг. 9, кодер 300 согласно одному варианту осуществления настоящего изобретения может содержать первую часть 301 для определения, первую часть 302 для вычисления и часть 303 для кодирования.
Первая часть 301 для определения выполнена с возможностью определения размера текущего блока и определения первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP;
Первая часть 302 для вычисления выполнена с возможностью вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку;
Первая часть 301 для определения дополнительно выполнена с возможностью определения первого значения предсказания текущего блока согласно второму смещению; и
Часть 303 для кодирования выполнена с возможностью кодирования текущего блока на основании первого значения предсказания.
На фиг. 10 показана вторая принципиальная схема конструкции кодера. Как показано на фиг. 10, кодер 300 согласно одному варианту осуществления настоящего изобретения может дополнительно содержать первый процессор 304, первое запоминающее устройство 305, выполненное с возможностью хранения инструкций, исполняемых первым процессором 304, первый интерфейс 306 связи и первую шину 307, выполненную с возможностью соединения первого процессора 304, первого запоминающего устройства 305 и первого интерфейса 306 связи.
Кроме того, согласно одному варианту осуществления настоящего изобретения вышеуказанный первый процессор 304 выполнен с возможностью определения размера текущего блока; определения первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и кодирования текущего блока на основании первого значения предсказания.
Кроме того, различные функциональные модули в этом варианте осуществления могут быть интегрированы в один блок обработки, или различные блоки могут быть физически расположены по отдельности, или два или более блоков могут быть интегрированы в один блок. Объединенный блок может быть реализован в форме аппаратного обеспечения, или может быть реализован в форме программного функционального модуля.
Объединенные блоки могут храниться в машиночитаемом носителе данных, если они реализованы в форме программных функциональных модулей, и не продаются и не используются как независимые продукты. Исходя из этого понимания, техническое решение варианта осуществления, по существу, или часть, вносящая вклад в предшествующий уровень техники, или все или часть технического решения, могут быть воплощены в форме программного продукта, хранящегося на носителе данных, содержащем ряд команд для обеспечения выполнения компьютерным устройством (которое может быть персональным компьютером, сервером или сетевым устройством и т.п.) или процессором всех или части стадий способа согласно варианту осуществления. Носитель данных включает различные носители, выполненные с возможностью хранения программных кодов, например USB-флеш-диск, съемный жесткий диск, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), магнитный диск или оптический диск.
Согласно одному варианту осуществления настоящего изобретения предлагается кодер. Кодер выполнен с возможностью определения размера текущего блока; определения первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и кодирования текущего блока на основании первого значения предсказания. Как можно увидеть, в способе кодирования изображений согласно настоящему изобретению при выполнении кодирования с использованием режима MIP первое смещение, соответствующее текущему блоку, может быть непосредственно определено согласно размеру текущего блока, а затем текущий блок может быть кодирован с использованием первого смещения. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями, после определения индекса размера блока MIP, соответствующего размеру текущего блока, первое смещение, соответствующее индексу размера блока MIP, может быть непосредственно определено, вследствие чего сложность алгоритма MIP уменьшается во время процесса кодирования, пространство хранения и общее время, необходимое в процессе кодирования, могут быть уменьшены при условии обеспечения производительности кодирования, и эффективность кодирования может быть значительно увеличена.
На основании вышеуказанных вариантов осуществления согласно другому варианту осуществления настоящего изобретения, на фиг. 11 показана первая принципиальная схема конструкции декодера. Как показано на фиг. 11, декодер 400 согласно одному варианту осуществления настоящего изобретения может содержать часть 401 для синтаксического анализа, вторую часть 402 для определения и вторую часть 403 для вычисления.
Часть 401 для синтаксического анализа выполнена с возможностью декодирования битового потока для получения размера и режима кодирования текущего блока;
Вторая часть 402 для определения выполнена с возможностью определения первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP;
Вторая часть 403 для вычисления выполнена с возможностью вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; и
Вторая часть 402 для определения дополнительно выполнена с возможностью определения первого значения предсказания текущего блока согласно второму смещению и определения восстановленного значения текущего блока на основании первого значения предсказания.
На фиг. 12 показана вторая принципиальная схема конструкции декодера. Как показано на фиг. 12, декодер 400 согласно одному варианту осуществления настоящего изобретения может дополнительно содержать второй процессор 404, второе запоминающее устройство 405, выполненное с возможностью хранения инструкций, исполняемых вторым процессором 404, второй интерфейс 406 связи и вторую шину 407, выполненную с возможностью соединения второго процессора 404, второго запоминающего устройства 405 и второго интерфейса 406 связи.
Кроме того, согласно одному варианту осуществления настоящего изобретения второй процессор 404 выполнен с возможностью декодирования битового потока для получения размера и режима кодирования текущего блока; определения первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и определения восстановленного значения текущего блока на основании первого значения предсказания.
Кроме того, различные функциональные модули в этом варианте осуществления могут быть интегрированы в один блок обработки, или различные блоки могут быть физически расположены по отдельности, или два или более блоков могут быть интегрированы в один блок. Объединенный блок может быть реализован в форме аппаратного обеспечения, или может быть реализован в форме программного функционального модуля.
Объединенные блоки могут храниться в машиночитаемом носителе данных, если они реализованы в форме программных функциональных модулей, и не продаются и не используются как независимые продукты. Исходя из этого понимания, техническое решение варианта осуществления, по существу, или часть, вносящая вклад в предшествующий уровень техники, или все или часть технического решения, могут быть воплощены в форме программного продукта, хранящегося на носителе данных, содержащем ряд команд для обеспечения выполнения компьютерным устройством (которое может быть персональным компьютером, сервером или сетевым устройством и т.п.) или процессором всех или части стадий способа согласно варианту осуществления. Носитель данных включает различные носители, выполненные с возможностью хранения программных кодов, например USB-флеш-диск, съемный жесткий диск, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), магнитный диск или оптический диск.
Согласно одному варианту осуществления настоящего изобретения предлагается декодер. Декодер выполнен с возможностью декодирования битового потока для получения размера и режима кодирования текущего блока; определения первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и определения восстановленного значения текущего блока на основании первого значения предсказания. Как можно увидеть, в способе декодирования изображений согласно настоящему изобретению при выполнении декодирования с использованием режима MIP первое смещение, соответствующее текущему блоку, может быть непосредственно определено согласно размеру текущего блока, а затем текущий блок может быть декодирован с использованием первого смещения. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями, после определения индекса размера блока MIP, соответствующего размеру текущего блока, первое смещение, соответствующее индексу размера блока MIP, может быть непосредственно определено, вследствие чего сложность алгоритма MIP уменьшается во время процесса декодирования, пространство хранения и общее время, необходимое в процессе декодирования, могут быть уменьшены при условии обеспечения производительности декодирования, и эффективность декодирования может быть значительно увеличена.
Согласно одному варианту осуществления настоящего изобретения предлагается машиночитаемый носитель данных, на котором хранится программа, причем при исполнении программы процессором выполняется способ, описанный в вышеуказанном варианте осуществления.
В частности, инструкции программы, соответствующие способу кодирования изображений согласно одному варианту осуществления, могут храниться на носителе данных, таком как оптический диск, жесткий диск, USB-флеш-диск и т.д. Когда инструкции программы в носителе данных, которые соответствуют способу кодирования изображений, считываются или исполняются электронным устройством, реализуются следующие стадии: определение размера текущего блока; определение первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисление второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определение первого значения предсказания текущего блока согласно второму смещению; и кодирование текущего блока на основании первого значения предсказания.
В частности, инструкции программы, соответствующие способу декодирования изображений согласно одному варианту осуществления, могут храниться на носителе данных, таком как оптический диск, жесткий диск, USB-флеш-диск и т.д. Когда инструкции программы в носителе данных, которые соответствуют способу декодирования изображений, считываются или исполняются электронным устройством, реализуются следующие стадии: декодирование битового потока для получения размера и режима кодирования текущего блока; определение первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP; вычисление второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определение первого значения предсказания текущего блока согласно второму смещению; и определение восстановленного значения текущего блока на основании первого значения предсказания.
Специалисту в данной области техники будет очевидно, что варианты осуществления настоящего изобретения могут быть предусмотрены как способы, системы или компьютерные программные продукты. Таким образом, настоящее изобретение может принимать форму вариантов осуществления аппаратного обеспечения, вариантов осуществления программного обеспечения или вариантов осуществления, объединяющих программное обеспечение и аппаратное обеспечение. Более того, настоящее изобретение может принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях данных (включая без ограничения запоминающее устройство на магнитных дисках, оптическое запоминающее устройство и т.д.), содержащих машиночитаемые программные коды.
Настоящее изобретение описано со ссылкой на блок-схемы реализации и/или принципиальные схемы способов, устройств (систем) и компьютерных программных продуктов согласно вариантам осуществления настоящего изобретения. Следует понимать, что каждый поток и/или блок в блок-схеме и/или принципиальной схеме, и комбинации потоков и/или блоков в блок-схеме и/или принципиальной схеме могут быть реализованы посредством инструкций компьютерной программы. Эти инструкции компьютерной программы могут быть предоставлены в процессор компьютера общего назначения, компьютера специального назначения, встроенный процессор или другое программируемое устройство обработки данных для создания машины, вследствие чего инструкции, исполняемые процессором компьютера или другого программируемого устройства обработки данных создают устройство для реализации функции, указанной в одном или нескольких потоках в блок-схеме реализации и/или одном или нескольких блоках в принципиальной схеме.
Эти инструкции компьютерной программы также могут храниться в машиночитаемом запоминающем устройстве, которое может отдавать команды компьютеру или другому программируемому устройству обработки данных работать определенным образом, вследствие чего инструкции, хранящиеся в машиночитаемом запоминающем устройстве, создают изделие, содержащее устройство с инструкциями, причем устройство с инструкциями реализует функцию, указанную в одном или нескольких потоках в блок-схеме реализации и/или одном или нескольких блоках в принципиальной схеме.
Эти инструкции компьютерной программы также могут быть загружены на компьютер или другое программируемое устройство обработки данных, чтобы вызвать ряд операционных действий, подлежащих выполнению на компьютере или другом программируемом устройстве, для предоставления обработки, реализуемой компьютером, вследствие чего инструкции, выполняемые на компьютере или другом программируемом устройстве, обеспечивают действия для реализации функции, указанной в одном или нескольких потоках в блок-схеме реализации и/или одном или нескольких блоках в принципиальной схеме.
Вышеупомянутое описание представляет собой только конкретные варианты исполнения настоящего изобретения, но не предназначено для ограничения объема правовой охраны настоящего изобретения.
Промышленная применимость
Согласно вариантам осуществления настоящего изобретения предлагаются способ кодирования и декодирования изображений, кодер, декодер и носитель данных. Кодер выполнен с возможностью определения размера текущего блока; определения первого смещения согласно размеру текущего блока при кодировании текущего блока за счет использования режима MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и кодирования текущего блока на основании первого значения предсказания. Декодер выполнен с возможностью декодирования битового потока для получения размера и режима кодирования текущего блока; определения первого смещения согласно размеру текущего блока, когда режим кодирования текущего блока представляет собой режим MIP; вычисления второго смещения за счет использования первого смещения и восстановленных значений смежных пикселей, соответствующих текущему блоку; определения первого значения предсказания текущего блока согласно второму смещению; и определения восстановленного значения текущего блока на основании первого значения предсказания. Как можно увидеть, в способе кодирования и декодирования изображений согласно настоящему изобретению при выполнении кодирования и декодирования с использованием режима MIP первое смещение, соответствующее текущему блоку, может быть непосредственно определено согласно размеру текущего блока, а затем текущий блок может быть кодирован или декодирован с использованием первого смещения. То есть в настоящем изобретении на основании взаимного соответствия между предварительно сохраненными индексами и смещениями, после определения индекса размера блока MIP, соответствующего размеру текущего блока, первое смещение, соответствующее индексу размера блока MIP, может быть непосредственно определено, вследствие чего сложность алгоритма MIP уменьшается во время процесса кодирования или декодирования, пространство хранения и общее время, необходимое в процессах кодирования и декодирования, могут быть уменьшены при условии обеспечения производительности кодирования и декодирования, и эффективность кодирования и декодирования может быть значительно увеличена.