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

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

Ссылка на родственные заявки

[1] Согласно настоящей заявке испрашивается приоритет в соответствии с заявкой на выдачу патента Китая № 202011459744.1, поданной 11 декабря 2020 г., которая ссылкой полностью включена в настоящий документ.

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

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

Предшествующий уровень техники настоящего изобретения

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

[4] В настоящее время в основных стандартах видеокодирования в межкадровом предсказании применяется основанная на блоках компенсация движения (MC). Основной принцип заключается в том, что оценка движения (ME) выполняется в опорном кадре с помощью единицы предсказания (PU) с целью поиска блока наилучшего соответствия, прогнозируемый блок создается с использованием технологии компенсации движения для получения остаточного блока, а затем остаточный блок используется в качестве исходных данных для последующего модуля кодирования для следующей процедуры кодирования. Кроме того, если не все полное движение объекта является движением на целый пиксель, а может быть движение только на половину пикселя или на 1/4 пикселя, то требуется также выполнить субпиксельную компенсацию движения (ME). Таким образом, субпиксельные данные создаются с помощью метода интерполяции на основе целого пикселя, и затем выполняются поиск и компенсация блока наилучшего соответствия с субпиксельным разрешением, так что наивысшая точность компоненты яркости с субпиксельным разрешением составляет 1/4 пикселя, а наивысшая точность компоненты цветности с субпиксельным разрешением составляет 1/8 в высокоэффективном видеокодировании (HEVC).

[5] При межкадровом кодировании в режиме HEVC имеется, по меньшей мере, семь вариантов единицы предсказания (PU): 2N x 2N/BIDIR (ДВУНАПР), 2N x N/N x 2N/2N x nD/2N x nU/nR x 2N/nL x 2N (RECT/AMP), вышеупомянутый процесс межкадрового кодирования выполняется для каждой единицы PU, и поэтому непроизводительные затраты на вычисления очень велики.

Краткое раскрытие настоящего изобретения

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

[7] Согласно первой особенности вариантов осуществления настоящего раскрытия, предложен способ для прогнозного видеокодирования. В способе предусмотрены следующие стадии:

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

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

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

[11] определения, на основании необходимой для принятия решения информации, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока, предусматривает стадии:

[12] определение, на основании наилучшего режима для каждого подблока текущего кодируемого блока, значения второго отношения, при котором наилучшим режимом для текущего кодируемого блока является режим внутрикадрового предсказания, и значения третьего отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска (SKIP);

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

[14] определение, на основании, по меньшей мере, одного из следующих элементов: значения второго отношения, значения третьего отношения и отношения рекурсии для множества подблоков, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока.

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

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

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

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

[19] модуль определения пропуска оценки движения ME содержит подмодуль вычисления значения отношения и подмодуль определения значения отношения, причем

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

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

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

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

Краткое описание фигур

[24] На фиг. 1 показана упрощенная блок-схема режима разделения единицы предсказания PU согласно некоторым вариантам осуществления настоящего раскрытия.

[25] На фиг. 2 показана упрощенная блок-схема процесса принятия решения о наилучшем режиме для процесса прогнозного межкадрового кодирования одной единицы предсказания PU согласно некоторым вариантам осуществления настоящего раскрытия.

[26] На фиг. 3 показана упрощенная блок-схема процесса кодирования для одного межкадрового режима согласно некоторым вариантам осуществления настоящего раскрытия;

[27] На фиг. 4 показана блок-схема алгоритма способа для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия.

[28] На фиг. 5 показана блок-схема алгоритма быстрого решения о пропуске оценки движения МЕ на основании информации предварительного анализа согласно некоторым вариантам осуществления настоящего раскрытия.

[29] На фиг. 6 показана упрощенная блок-схема взаимосвязи между рекурсивным разделением кодируемого блока и понижающей дискретизацией блока согласно некоторым вариантам осуществления настоящего раскрытия.

[30] На фиг. 7 показана блок-схема алгоритма быстрого решения о пропуске оценки движения МЕ на основании информации о кодировании подблока согласно некоторым вариантам осуществления настоящего раскрытия.

[31] На фиг. 8 показана упрощенная блок-схема рекурсивного разделения кодируемого блока согласно некоторым вариантам осуществления настоящего раскрытия.

[32] На фиг. 9 показана блок-схема алгоритма быстрого решения о пропуске оценки движения МЕ для неквадратной единицы предсказания PU на основании информации о выполняемом режиме согласно некоторым вариантам осуществления настоящего раскрытия.

[33] На фиг. 10 показана упрощенная блок-схема устройства для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия.

[34] На фиг. 11 показана упрощенная блок-схема электронного устройства согласно некоторым вариантам осуществления настоящего раскрытия.

Подробное раскрытие настоящего изобретения

[35] Настоящее раскрытие будет подробно описано далее в данном документе со ссылками на соответствующие фигуры совместно с вариантами осуществления. Следует понимать, что описанные в настоящем документе конкретные варианты осуществления используются только для объяснения настоящего раскрытия, и не предназначены для ограничения настоящего раскрытия. Кроме того, следует также отметить, что для упрощения описания на фигурах показаны только некоторые части, а не все полные структуры, связанные с настоящим раскрытием.

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

[37] В новом стандарте видеосжатия (высокоэффективное видеокодирование, HEVC) определен новый набор синтаксических единиц, включающий в себя кодируемую единицу (CU), единицу предсказания (PU) и единицу преобразования (TU) для разделения изображения. Кодируемая единица CU является базовой единицей для обработки, например, для предсказания, преобразования, квантования и энтропийного кодирования. Единица предсказания PU является базовой единицей для прогнозного кодирования, включая внутрикадровое предсказание и межкадровое предсказание. Единица преобразования TU является базовой единицей для преобразования и квантования. Единица предсказания PU указывает все режимы предсказания для кодируемой единицы CU, а в единице PU определена вся информация, относящаяся к предсказаниям. Например, направление внутрикадрового предсказания, режим разделения для межкадрового предсказания, предсказание вектора движения и индекс опорного изображения для межкадрового предсказания принадлежат к категории в единице PU.

[38] На фиг. 1 показана упрощенная схема режима разделения единицы предсказания PU. Режим разделения единицы PU в 2N x 2N единицы CU включает в себя два взаимно исключающих режима внутрикадрового предсказания PU: 2N x 2N и N x N для режима CU с 2N x 2N; восемь взаимно исключающий режимов PU для межкадрового предсказания: четыре симметричных режима (2N x 2N, 2N x N, N x 2N, N x N) и четыре несимметричных режима (2N x nD, 2N x nU, nR x 2N, nL x 2N). Согласно форме единицы PU режимы 2N x 2N и N x N называются квадратными единицами PU, а режимы 2N x N, N x 2N, 2N x nD, 2N x nU, nR x 2N, nL x 2N называются неквадратными единицами PU. Режим пропуска является типом межкадрового предсказания, и он является режимом пропуска 2N x 2N в случае, когда необходимая для кодирования информация о движении является только индексом набора параметров движения, и не требуется выполнять кодирования остатков.

[39] На фиг. 2 показана упрощенная блок-схема процесса принятия решения о наилучшем режиме для процесса прогнозного межкадрового кодирования одной единицы предсказания PU. Как показано на фиг. 2, процесс принятия решения включает в себя следующие подпроцессы (режим N x N не используется на фиг. 2).

[40] Прежде всего, выполняется режим объединения/пропуска (MERGE/SKIP). В случае соблюдения условия рекурсии выполняется рекурсивный режим для единицы CU, после выполнения рекурсии возвращается единица кодирования CU с размерами текущего блока, и непрерывно выполняется режим внутрикадрового предсказания (Intra). После выполнения режима внутрикадрового предсказания Intra выполняется режим межкадрового предсказания 2N x 2N (блок наилучшего соответствия получается с помощью оценки движения МЕ вперед и назад). Затем выполняется двунаправленный (BIDIR) режим 2N x 2N (для получения блока наилучшего соответствия выполняется только двунаправленный поиск), и непрерывно выполняются режимы типов 2N x N и N x 2N. Решение по режиму принимается после каждого завершения одного режима для получения временного наилучшего режима (tempBestMode).

[41] После выполнения режима N x 2N, в случае, когда временный наилучший режим tempBestMode = 2N x N, непрерывно выполняются режимы 2N x nU и 2N x nD, и проводится сравнение для получения окончательного наилучшего режима (BestMode); в случае, когда временный наилучший режим tempBestMode = N x 2N, непрерывно выполняются режимы nL x 2N и nR x 2N, и проводится сравнение для получения окончательного наилучшего режима BestMode; а в случае, когда временный наилучший режим tempBestMode ! = 2N x N && tempBestMode ! = N x 2N, 2N x nU, непрерывно выполняются режимы 2N x nD, nL x 2N и nR x 2N, и проводится сравнение для получения окончательного наилучшего режима BestMode.

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

[43] Кроме того, для неквадратных режимов, например, 2N x N, N x 2N, 2N x nU, 2N x nD, nL x 2N, nR x 2N, которые включают две единицы PU, для каждой единицы PU необходимо выполнить режим объединения/пропуска MERGE/SKIP, оценку движения ME вперед и назад и двунаправленную ME, и наилучший режим определяется с помощью сравнения.

[44] Кроме того, так как не все движение объекта является движением на целый пиксель, а может быть движение только на половину пикселя или на 1/4 пикселя, требуется также выполнить субпиксельную оценку движения ME. Таким образом, субпиксельные данные создаются с помощью метода интерполяции на основании целого пикселя, и затем выполняются поиск и компенсация блока наилучшего соответствия с субпиксельным разрешением, так что наивысшая точность компоненты яркости с субпиксельным разрешением составляет 1/4 пикселя, а наивысшая точность компоненты цветности с субпиксельным разрешением составляет 1/8 в высокоэффективном видеокодировании HEVC. На фиг. 3 показан процесс кодирования в единственном межкадровом режиме из множества режимов, показанных на фиг. 2. Для одной единицы PU сначала определяется, нужно ли выполнять субпиксельную оценку движения ME, оценка движения и компенсация движения с субпиксельным разрешением выполняются на основании результата определения необходимости субпиксельной оценки ME, оценка движения и компенсации движения с целым пикселем выполняются на основании результата определения отсутствия необходимости субпиксельной оценки ME, и затем для полученного остаточного блока выполняется процесс кодирования с оптимизацией скорости и искажений (RDO).

[45] Видно, что процесс межкадрового кодирования на фиг. 3 выполняется для каждой межкадровой единицы PU, так что непроизводительные затраты оказываются весьма значительными. В случае уменьшения ненужных оценок МЕ для единиц PU в значительной степени снижается непроизводительная нагрузка на ресурсы кодера, так что скорость кодирования возрастает, а затраты на кодирование снижаются.

[46] Следует отметить, что изложенные далее варианты осуществления настоящего раскрытия применимы к любой архитектуре гибридного кодирования с использованием блоков, ко всем кодерам, удовлетворяющим требованиям стандарта высокоэффективного видеокодирования HEVC, и к другим кодерам, которые после настройки соответствуют стандартам, например, AVS1, H.264, VP8, VP9, AVS2, AVS3, AV1 и VVC. Кроме того, упомянутый в вариантах осуществления кодер применим как в службе перекодировки, так и в службе кодирования в режиме реального времени терминала мобильной связи.

[47] На фиг. 4 показана блок-схема алгоритма способа для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия. Согласно вариантом осуществления способа в нем предусмотрены следующие стадии.

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

[49] [40] На стадии S420 на основании необходимой для принятия решения информации определяется, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока

[50] Например, в показанном на фиг. 2 процессе принятия решения, в решении о наилучшем режиме для межкадрового режима предсказания для текущей единицы PU, решение о необходимости пропуска процесса оценки движения МЕ для множества режимов в вышеупомянутом процессе принятия решения принимается на основании полученной необходимой для принятия решения информации. При пропуске процесса оценки движения МЕ возможны два случая. Один случай заключается в пропуске всех оценок движения МЕ в вышеупомянутом процессе принятия решения, а второй случай заключается в пропуске некоторых оценок движения МЕ в вышеупомянутом процессе принятия решения. Например, выполняется оценка движения ME для режима 2N x 2N, и пропускаются оценки движения ME для всех других режимов после 2N x 2N.

[51] В сценарии пропуска всех оценок движения МЕ в вышеупомянутом процессе принятия решения, необходимость пропуска процесса оценки движения МЕ определяется по-разному в зависимости от различной необходимой для принятия решения информации, полученной в вариантах осуществления.

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

[53] На подстадии S11 на основании размера текущего кодируемого блока определяется число соответствующих блоков с понижающей дискретизацией, и индексируется информация предварительного анализа для каждого из блоков с понижающей дискретизацией.

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

[55] Единица кодирования, полученная при операции предварительного анализа, является блоком 8 x 8 с понижающей дискретизацией. Например, предположим, что размер исходного блока составляет w x h, а размер блока с понижающий дискретизацией составляет w/2 x h/2, и блок 8 x 8 с понижающей дискретизацией соответствует кодируемому блоку 16 x 16. Таким образом, в случае выполнения подстадии S11 размер кодируемого блока составляет, по меньшей мере, 16 x 16, и включает размеры 16 x 16, 32 x 32 и 64 x 64 согласно вариантам осуществления.

[56] Согласно некоторым вариантам осуществления, если взять в качестве примера кодируемый блок 32 x 32, как показано на фиг. 6, кодируемый блок 32 x 32 разделяется на четыре кодируемых подблока 16 x 16, и каждый кодируемой подблок 16 x 16 соответствует одному блоку с понижающей дискретизацией (показанная на фиг. 6 область Lowres), так что число блоков с понижающей дискретизацией, полученных из кодируемого блока 32 x 32, равно четырем. Аналогичным образом, кодируемый блок 64 x 64 разделяется на 16 кодируемых подблоков 16 x 16, соответствующих 16 блокам с понижающей дискретизацией.

[57] Поскольку кодирование с оценкой движения МЕ также выполняется на стадии предварительного анализа, в случае получения информации предварительного анализа блока с понижающей дискретизацией, соответствующего текущему кодируемому блоку, на стадии предварительного анализа, решение о быстром пропуске оценки движения МЕ для текущего блока принимается на основании информации предварительного анализа. Согласно некоторым вариантам осуществления, соответствующий блок с понижающей дискретизацией индексируется согласно информации о координатах текущего кодируемого блока. Например, как показано на фиг. 6, кодируемый блок 32 x 32 разделяется на четыре кодируемых подблока 16 x 16, и соответствующая информация о координатах кодируемого блока известна, так что получена информация о координатах каждого кодируемого подблока 16 x 16. Затем выполняется поиск блока с понижающей дискретизацией в пределах диапазона координат каждого кодируемого подблока, и он определяется как блок с понижающей дискретизацией, соответствующий кодируемому подблоку, и получается информации предварительного анализа блока с понижающей дискретизацией после нахождения блока с понижающей дискретизацией, соответствующего каждому кодируемому подблоку.

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

[59] На подстадии S12 обобщаются итоги информации предварительного анализа блоков с понижающей дискретизацией, и на основании результатов такого подведения итогов принимается решение, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока.

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

[61] Согласно некоторым вариантам осуществления, подстадия S12 предусматривает следующие подстадии более низкого уровня.

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

[63] Например, для показанного на фиг. 6 кодируемого блока 32 x 32 проводится индексация четырех блоков с понижающей дискретизацией, и после получения затрат на межкадровое кодирования каждого блока с понижающей дискретизацией вычисляется сумма затрат на межкадровое кодирование четырех блоков с понижающей дискретизацией, и она определяется как оценка затрат на межкадровое кодирование (InterCost) кодируемого блока 32 x 32.

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

[65] Например, для показанного на фиг. 6 кодируемого блока 32 x 32 после проведения индексации затрат на внутрикадровое кодирование четырех блоков с понижающей дискретизацией, вычисляется сумма затрат на внутрикадровое кодирование четырех блоков с понижающей дискретизацией, и она определяется как оценка затрат на внутрикадровое кодирование (IntraCost) кодируемого блока 32 x 32.

[66] На подстадии S123 вычисляется число блоков с понижающей дискретизацией, для которых наилучшим режимом является режим внутрикадрового предсказания во всех блоках с понижающей дискретизацией, соответствующих текущему кодируемому блоку, и на основании этого числа определяется значение первого отношения, при котором наилучшим режимом для текущего кодируемого блока является режим внутрикадрового предсказания.

[67] Например, для показанного на фиг. 6 кодируемого блока 32 x 32 после проведения индексации наилучших режимов для четырех блоков с понижающей дискретизацией, вычисляется число блоков с понижающей дискретизацией, для которых наилучшими режимами являются режимы внутрикадрового предсказания (Intra) в четырех блоках с понижающей дискретизацией, и вычисляется значение первого отношения (IntraRatio). Например, в случае, когда наилучшими режимами для двух блоков с понижающей дискретизацией являются внутрикадровые режимы Intra, значение отношения IntraRatio равно 2/4. Например, в случае, когда наилучшими режимами для трех блоков с понижающей дискретизацией являются внутрикадровые режимы Intra, значение отношения IntraRatio равно 3/4.

[68] На подстадии S124, в случае, когда значение первого отношения больше заранее определенного порога первого отношения, и произведение оценки затрат на внутрикадровое кодирование и первого настроечного множителя меньше произведения оценки затрат на межкадровое кодирование и второго настроечного множителя, пропускается кодирование с оценкой движения МЕ для текущего кодируемого блока, причем первый настроечный множитель меньше второго настроечного множителя.

[69] На этой подстадии после получения значений затрат InterCost, IntraCost и отношения IntraRatio для текущего кодируемого блока, выполняется кодирование с пропуском оценки движения ME в случае выполнения следующего условного выражения (1):

if (IntraRatio > a && IntraCost * b < c * InterCost) (1),

skipME = true;

[70] Здесь a обозначает первый заранее определенный порог отношения, b обозначает первый настроечный множитель, c обозначает второй настроечный множитель, а skipME обозначает пропуск оценки движения МЕ. Следует отметить, что величины a, b и c настраиваются согласно требованиям, и скорость кодирования повышается или уменьшается линейно с целью поддержания согласованного улучшенного отношения затрат к эффективности для соблюдения требований различных служб. Например, согласно требованиям службы величина b настраивается на меньшее значение, чем величина c. Например, значениями по умолчанию для величин a, b и c являются 0,5, 1 и 4.

[71] Согласно вышеупомянутому условному выражению (1), в случае, когда IntraCost * b < c * InterCost, а IntraRatio имеет большое значение, пространственная корреляция сильнее временной корреляции в текущем блоке, так что процесс оценки движения ME сразу пропускается.

[72] Согласно некоторым вариантам осуществления, в случае, когда текущий кодируемый блок закодирован рекурсивно, решение о пропуске оценки движения МЕ для ускорения принимается на основании закодированной информации подблока, и необходимая для принятия решения информация включает в себя информацию кодирования множество подблоков, полученную при рекурсивном кодировании кодируемого блока. Для иллюстрации укажем, что информация кодирования подблока, по меньшей мере, включает в себя наилучший режим для подблока и указание, следует ли далее рекурсивно разделять подблок. Как показано на фиг. 7, стадия S420 предусматривает следующие подстадии.

[73] На подстадии S21 на основании наилучшего режима для каждого подблока текущего кодируемого блока определяются значение второго отношения, при котором наилучшим режимом для текущего кодируемого блока является режим внутрикадрового предсказания, и значение третьего отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска (SKIP).

[74] Согласно некоторым вариантам осуществления, значение второго отношения, при котором наилучшим режимом для текущего кодируемого блока является режим внутрикадрового предсказания, является отношением числа подблоков, для которых наилучшим режимом для текущего кодируемого блока является режим внутрикадрового предсказания, к полному числу всех подблоков в текущем кодируемом блоке. Значение третьего отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска (SKIP), является отношением числа подблоков, для которых наилучшим режимом является режим пропуска (SKIP) внутрикадрового предсказания в текущем кодируемом блоке, к полному числу всех подблоков в текущем кодируемом блоке.

[75] Например, как показано на фиг. 8, в предположении, что текущий кодируемый блок разделен на четыре кодируемых подблока 16 x 16, число подблоков, для которых наилучшим режимом является режим внутрикадрового предсказания, равно одному, а число подблоков, для которых наилучшим режимом является режим пропуска (SKIP), равно двум из четырех кодируемых подблоков, так что второе отношение равно 1/4, а третье отношения равно 2/4.

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

[77] На этой подстадии значение отношения рекурсии подблока указывает на значение отношения разделяемого подблока в текущем кодируемом блоке. Согласно некоторым вариантам осуществления, значение отношения рекурсии подблока текущего кодируемого блока является значением отношения числа подблоков, которые далее рекурсивно кодируются в текущем кодируемом блоке, к полному числу всех подблоков в текущем кодируемом блоке. Например, как показано на фиг. 8, в предположении, что текущий кодируемый блок разделен на четыре кодируемых подблока 16 x 16, и число подблоков, которые можно далее рекурсивно кодировать, равно одному из четырех кодируемых подблоков (разделяемый подблок Split показан на фиг. 8), так что значение отношения рекурсии подблока равно 1/4.

[78] На подстадии S23 на основании значений второго отношения, третьего отношения и отношения рекурсии для множества подблоков определяется, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока.

[79] Согласно некоторым вариантам осуществления, подстадия S23 предусматривает следующие подстадии более низкого уровня.

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

[81] На этой подстадии после получения значений отношения рекурсии подблока и второго отношения, кодирование с оценкой движения МЕ пропускается в случае выполнения следующего условного выражения (2):

if (SubSplitRatio > threshold_A && SubIntraRatio > threshold_B) (2),

skipME = true;

[82] Здесь SubSplitRatio обозначает значение отношения рекурсии подблока, SubIntraRatio обозначает значение второго отношения, threshold_A обозначает заранее определенный порог отношения рекурсии, threshold_B обозначает заранее определенный порог второго отношения, и величины threshold_A и threshold_B настроены согласно фактическим требованиям службы.

[83] В случае, когда SubSplitRatio > threshold_A и SubIntraRatio > threshold_B, имеется большое число разделяемых (Split) подблоков в текущем кодируемом блоке при отношении Intra. В этом случае текущий кодируемый блок более просто разделяется на четыре подблока для кодирования, так что пропускается процесс оценки движения МЕ для текущего кодируемого блока.

[84] Согласно некоторым вариантам осуществления, подстадия S23 предусматривает следующие подстадии более низкого уровня.

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

[86] На этой подстадии после получения значений отношения рекурсии подблока и третьего отношения, кодирование с оценкой движения МЕ пропускается в случае выполнения следующего условного выражения (3):

if (SubSkipRatio > threshold_C && SubSplitRatio > threshold_D) (3),

skipME = true;

[87] Здесь SubSplitRatio обозначает значение отношения рекурсии подблока, SubSkipRatio обозначает значение третьего отношения, threshold_C обозначает заранее определенный порог третьего отношения, threshold_D обозначает заранее определенный порог четвертого отношения, и величины threshold_C и threshold_D настроены согласно фактическим требованиям службы.

[88] В случае, когда SubSkipRatio > threshold_C и SubSplitRatio > threshold_D, имеется большое число разделяемых (Split) подблоков в текущем кодируемом блоке при высоком значении отношения режима пропуска (SKIP). В этом случае текущий кодируемый блок имеет слабое движение, так что пропускается оставшийся процесс оценки движения МЕ.

[89] Согласно некоторым вариантам осуществления, в случае, когда текущий кодируемый блок CU не является рекурсивно кодируемым, решение о необходимости пропуска кодирования с оценкой движения МЕ принимается на основании информации о выполняемом режиме. В этом случае необходимая для принятия решения информация включает в себя информацию выполняемого режима, определенную на основании выполняемого режима. Для иллюстрации укажем, что информация о выполняемом режиме включает в себя, по меньшей мере, затраты на алгоритм SATD (сумма абсолютных преобразованных разностей) и прогноз затрат на SATD во внутрикадровом предсказании. Стадия S420 предусматривает следующие подстадии.

[90] В случае, когда текущий кодируемый блок не является рекурсивно кодируемым, и произведение затрат на SATD во внутрикадровом предсказании и третьего настроечного множителя меньше произведения затрат на SATD во временном наилучшем режиме и четвертого настроечного множителя, пропускается кодирование с оценкой движения МЕ для текущего кодируемого блока, причем третий настроечный множитель больше четвертого настроечного множителя.

[91] Согласно вариантам осуществления, затраты на SATD во временном наилучшем режиме являются затратами на SATD во временном наилучшем режиме, полученными при выполнении решения о режиме после выполнения режима. Прогноз затрат на SATD во внутрикадровом предсказании является затратами на SATD в наилучшем внутрикадровом режиме, определенными с помощью грубого решения по SATD во внутрикадровом предсказании.

[92] После получения затрат на SATD во временном наилучшем режиме и прогноза затрат на SATD во внутрикадровом предсказании, кодирование с оценкой движения МЕ пропускается в случае выполнения следующего условного выражения (4):

if (IntraSATDCost * α < β * InterSATDCost) (4)

skipME = true;

[93] Здесь IntraSATDCost обозначает прогноз затрат на SATD во внутрикадровом предсказании, InterSATDCost обозначает затраты на SATD во временном наилучшем режиме, α обозначает третий настроечный множитель, β обозначает четвертый настроечный множитель, и обе величины α и β настроены согласно фактическим требованиям службы. Например, значение α по умолчанию равно 5, значение β по умолчанию равно 3.

[94] В случае, когда IntraSATDCost * α меньше, чем β* InterSATDCost, пространственная корреляция сильнее временной корреляции в текущем блоке, так что пропускается процесс кодирования с оценкой движения ME в текущем блоке.

[95] Согласно некоторым вариантам осуществления, в сценарии пропуска некоторых оценок движения МЕ в вышеупомянутом процессе принятия решения, например, для неквадратных единиц предсказания PU, к примеру, 2N x N/N x 2N/2N x nD/2N x nU/nR x 2N/nL x 2N (RECT/AMP), для каждой единицы PU выполняются режим объединения MERGE, оценки движения ME вперед и назад и двунаправленная ME, и наилучший режим определяется с помощью сравнения. Поскольку сложность полного процесса оценки движения ME является высокой, решение о быстром пропуске вышеуказанной оценки МЕ для неквадратных единиц предсказания PU принимается на основании выполняемого режима МЕ. Необходимая для принятия решения информация включает в себя информацию о выполняемом режиме, определенную на основании выполняемого режима. Выполняемый режим включает в себя, по меньшей мере, режим 2N x 2N и двунаправленный режим BIDIR, которые показаны на фиг. 2, а информация о выполняемом режиме включает в себя затраты на SATD в режиме объединения MERGE, выполняемом в режиме 2N x 2N, и затраты на SATD во временном наилучшем режиме.

[96] Как показано на фиг. 9, стадия S420 предусматривает следующие подстадии.

[97] На подстадии S31, в случае, когда текущая единица предсказания является неквадратной единицей предсказания, после определения, что текущая единица предсказания является неквадратной единицей предсказания, определяется, не являются ли затраты на SATD в режиме объединения MERGE меньшими, чем затраты на SATD во временном наилучшем режиме.

[98] На подстадии S32 режим объединения MERGE выполняется на неквадратной единице предсказания после определения того, что затраты на SATD в режиме объединения MERGE меньше, чем затраты на SATD во временном наилучшем режиме, и пропускаются режимы кодирования неквадратной единицы предсказания с оценками движения МЕ вперед, МЕ назад и двухсторонней МЕ.

[99] Согласно вариантам осуществления, в случае, что когда затраты на SATD в режиме объединения MERGE, выполняемом в режиме 2N x 2N, меньше, чем затраты на SATD во временном наилучшем режиме, только режим объединения MERGE выполняется на текущей неквадратной единице PU, и пропускаются процессы кодирования с оценками движения МЕ вперед, МЕ назад и двухсторонней МЕ.

[100] Согласно некоторым вариантам осуществления, в случае, когда текущий кодируемый блок является рекурсивно кодированным, при определении того, следует ли пропустить оценку движения МЕ вперед, МЕ назад и двустороннюю МЕ для режима неквадратной единицы PU, также учитывается значение отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска SKIP. Таким образом, метод вычисления значения отношения подблока, наилучшим режимом которого является режим пропуска SKIP при кодировании подблоков текущего кодируемого блока, ссылается на вышеупомянутое описание третьего отношения, и стадия S420 предусматривает следующие подстадии.

[101] В случае, когда затраты на SATD в режиме объединения MERGE меньше, чем затраты на SATD во временном наилучшем режиме, и значение отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска SKIP, больше заранее определенного порога отношения, режим объединения MERGE выполняется на неквадратной единице предсказания, и пропускаются режимы кодирования неквадратной единицы предсказания с оценками движения МЕ вперед, МЕ назад и двухсторонней МЕ.

[102] Согласно реализации, пропускаются процессы кодирования с оценками движения МЕ вперед, МЕ назад и двухсторонней МЕ, и выполняется только режим объединения MERGE в случае, когда текущий неквадратный режим удовлетворяет следующему условному выражению (5):

if (SubSkipRatio > θ && MrgCost * a1 < b1 * InterSATDCost) (5)

skipMELeft = true;

[103] Здесь SubSkipRatio обозначает значение отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска SKIP, MrgCost обозначает затраты на SATD при выполнении режима объединения MERGE в режиме 2N x 2N, InterSATDCost обозначает затраты на SATD во временном наилучшим режиме, а величины θ, a1 и b1 обозначают настроечные множители, и они настроены согласно фактическим требованиям службы. Например, значение по умолчанию величины θ равно 0,8, а значения по умолчанию обеих величин a1 и b1 равны 1. SkipMELeft означает, что RECT/AMP выполняет только режим объединения MERGE и не выполняет оценку движения ME вперед, МЕ назад, и двустороннюю ME.

[104] Согласно вариантам осуществления, решение о пропуске оценки движения МЕ при кодировании текущего кодируемого блока принимается на основании полученной необходимой для принятия решения информации, относящейся к текущему кодируемому блоку при кодировании с межкадровым предсказанием. Необходимая для принятия решения информация включает в себя информацию предварительного анализа, определенную кодером в ходе упрощенного предварительного анализа видеокодирования, информацию о кодировании множества подблоков, полученную с помощью рекурсивного кодирования текущего кодируемого блока, и информацию о выполняемом режиме, определенную на основании выполняемого режима. На основе различной необходимой для принятия решения информации принимается решение о пропуске оценки движения МЕ с помощью различных быстрых алгоритмов принятия решения, так что уменьшается количество ненужных оценок движения для единиц PU, весьма значительно снижается сложность кодирования, снижается непроизводительная нагрузка на ресурсы кодера, и скорость кодирования со сжатием значительно возрастает. Производительность службы перекодирования улучшается в результате улучшения скорости сжатия в кодере, так что ресурсы сервера экономятся, а затраты на перекодирование снижаются. Согласно вариантам осуществления, с помощью решения о пропуске кодирования с оценкой движения МЕ скорость кодирования возрастает на 18% при условии, что ухудшение степени сжатия в кодере составляет 0,2%. В рамках применения онлайнового перекодирования экономия вычислительных ресурсов сервера составляет 18% при незначительной потере качества изображения, с дополнительным снижением затрат на перекодирования

[105] На фиг. 10 показана упрощенная блок-схема устройства для прогнозного видеокодирования согласно варианту осуществления настоящего раскрытия. Устройство включает в себя следующие модули:

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

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

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

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

[110] Подмодуль определения информации предварительного анализа, выполненный с возможностью обобщить итоги информации предварительного анализа блоков с понижающей дискретизацией, и на основании результатов такого подведения итогов определить, следует ли пропускать оценку движения ME при кодировании текущего кодируемого блока.

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

[112] Подмодуль определения информации предварительного анализа выполнен с возможностью:

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

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

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

[116] пропустить кодирование с оценкой движения МЕ для текущего кодируемого блока, в случае, когда значение первого отношения больше заранее определенного порога первого отношения, и произведение оценки затрат на внутрикадровое кодирование и первого настроечного множителя меньше произведения оценки затрат на межкадровое кодирование и второго настроечного множителя, причем первый настроечный множитель меньше второго настроечного множителя.

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

[118] Модуль 1002 определения пропуска оценки движения ME включает в себя следующие подмодули:

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

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

[121] Согласно некоторым вариантам осуществления, подмодуль определения значения отношения выполнен с возможностью:

[122] пропускать кодирование с оценкой движения МЕ текущего кодируемого блока в случае, когда значение отношения рекурсии множества подблоков больше, чем заранее определенный порог отношения рекурсии, а значение второго отношения больше, чем заранее определенный порог второго отношения;

[123] или,

[124] пропускать кодирование с оценкой движения МЕ текущего кодируемого блока в случае, когда значение третьего отношения больше, чем заранее определенный порог третьего отношения, а значение отношения рекурсии множества подблоков больше, чем заранее определенный порог четвертого отношения.

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

[126] Модуль 1002 определения пропуска оценки движения ME включает в себя следующие подмодули:

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

[128] Согласно некоторым вариантам осуществления, в случае, когда необходимая для принятия решения информация является информацией о выполняемом режиме, определенной на основании выполняемого режима, выполняемый режим включает в себя, по меньшей мере, режим 2N x 2N и двунаправленный режим BIDIR, а информация о выполняемым режиме включает в себя: затраты на SATD в режиме объединения MERGE, выполняемом в режиме 2N x 2N, и затраты на SATD во временном наилучшем режиме.

[129] Модуль 1002 определения пропуска оценки движения ME включает в себя следующие подмодули:

[130] подмодуль определения первой части пропуска оценки движения ME, выполненный с возможностью определить, после определения, что текущая единица предсказания является неквадратной единицей предсказания, меньше ли затраты на SATD в режиме объединения MERGE, чем затраты на SATD во временном наилучшем режиме; и выполнить режим объединения MERGE на неквадратной единице предсказания после определения того, что затраты на SATD в режиме объединения MERGE меньше, чем затраты на SATD во временном наилучшем режиме, и пропустить режимы кодирования неквадратной единицы предсказания с оценками движения МЕ вперед, МЕ назад и двухсторонней МЕ.

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

[132] Модуль 1002 определения пропуска оценки движения ME включает в себя следующие подмодули:

[133] подмодуль определения первой части пропуска оценки движения ME, выполненный с возможностью выполнить режим объединения MERGE на неквадратной единице предсказания в случае, когда затраты на SATD в режиме объединения MERGE меньше, чем затраты на SATD во временном наилучшем режиме, а значение отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска (SKIP), больше заранее определенного порога отношения, и пропустить режим кодирования неквадратной единицы предсказания с оценками движения МЕ вперед, МЕ назад и двухсторонней МЕ.

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

[135] На фиг. 11 показана упрощенная блок-схема электронного устройства согласно некоторым вариантам осуществления настоящего раскрытия; Как показано на фиг. 11, электронное устройство включает в себя процессор 1110, память 1120, входную аппаратуру 1130 и выходную аппаратуру 1140. Количество процессоров 1110 в электронном устройстве равно одному или нескольким, и на фиг. 11 в качестве примера показан один процессор 1110. Процессор 1110, память 1120, входная аппаратура 1130 и выходная аппаратура 1140 в электронном устройстве соединены с помощью шины или другими средствами, и на фиг. 11 в качестве примера показано соединение шиной.

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

[137] Память 1120 в основном содержит в себе область хранения программ и область хранения данных.

[138] В области хранения программ хранится операционная система и прикладная программа, которая требуется для выполнения, по меньшей мере, одной функции. В области хранения данных хранятся данные, созданные при использовании терминала, и тому подобные. Более того, память 1120 включает в себя высокоскоростное оперативное запоминающее устройство, и дополнительно содержит энергонезависимую память, например, по меньшей мере, один накопитель на жестком магнитном диске, флеш-память или другую энергонезависимую полупроводниковую память. Согласно некоторым вариантам осуществления, память 1120 включает в себя устройства памяти, расположенные дистанционно относительно процессора 1110, и эти дистанционные устройства памяти подключены к электронному устройству по сети. Примеры вышеупомянутой сети включают в себя, помимо прочего, интернет, интранет, локальные вычислительные сети, сети мобильной связи и их комбинации.

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

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

[141] На основании описанных выше вариантов осуществления специалистам в этой области техники очевидно, что настоящее раскрытие может быть реализовано либо с помощью программного обеспечения и необходимой общей аппаратной платформы, либо с помощью аппаратных средств. На основании такого понимания технические решения настоящего раскрытия, или его части, вносящее вклад в известный уровень техники, в существенной степени реализованы в виде программного продукта. Программный продукт для компьютера хранится на машиночитаемом носителе данных, например, на гибкой дискете, в постоянном запоминающем устройстве (ПЗУ), в оперативном запоминающем устройстве (ОЗУ), во флеш-памяти, на жестком диске или на оптическом диске компьютера, и содержит в себе несколько инструкций, так что вычислительное устройство (персональный компьютер, сервер или сетевое устройство) реализует способ согласно вариантам осуществления настоящего раскрытия. Машиночитаемый носитель данных является энергонезависимым машиночитаемым носителем данных.

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

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

название год авторы номер документа
СПОСОБ И УСТРОЙСТВО ДЛЯ ПРОГНОЗНОГО ВИДЕОКОДИРОВАНИЯ 2021
  • Цуй, Тунбин
RU2839915C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО НА ОСНОВАНИИ ДОЛГОВРЕМЕННОГО ОПОРНОГО КАДРА, ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И НОСИТЕЛЬ ДАННЫХ 2021
  • Цуй, Тунбин
RU2799709C1
СПОСОБ ВИДЕОКОДИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ПРЕДСКАЗАНИЯ НА ОСНОВАНИИ КОПИИ ВНУТРИКАДРОВОГО БЛОКА 2014
  • Лиу Шан
  • Ксу Ксаожонг
RU2630888C1
ЗАПОЛНЕНИЕ НЕЗНАЧАЩЕЙ ИНФОРМАЦИЕЙ СЕГМЕНТОВ В БЛОКАХ УРОВНЯ АБСТРАКЦИИ СЕТИ КОДИРОВАННОГО СЛАЙСА 2012
  • Ван Е-Куй
  • Кобан Мухаммед Зейд
  • Карчевич Марта
RU2575397C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО И СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ВИДЕО 2015
  • Мин Дзунг-Хие
  • Хан Воо-Дзин
  • Ким Ил-Коо
RU2615323C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО И СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ВИДЕО 2010
  • Мин Дзунг-Хие
  • Хан Воо-Дзин
  • Ким Ил-Коо
RU2517193C2
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ВИДЕОСИГНАЛА 2019
  • Лэе, Бэ Кын
RU2786024C2
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА 2012
  • Лэе Бэ Кын
  • Квон Джэ Чхол
  • Ким Джо
RU2625911C1
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА 2012
  • Лэе Бэ Кын
  • Квон Джэ Чхол
  • Ким Джо
RU2626013C1
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА 2012
  • Лэе Бэ Кын
  • Квон Джэ Чхол
  • Ким Джо
RU2625912C1

Иллюстрации к изобретению RU 2 837 746 C1

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

Изобретение относится к области вычислительной техники, а именно к способам прогнозного видеокодирования. Технический результат заключается в повышении скорости и эффективности кодирования без потери качества сжатия данных. Способ предусматривает стадии: во время межкадрового прогнозного кодирования получение необходимой для принятия решения информации, относящейся к текущему кодируемому блоку, причем необходимая для принятия решения информация включает в себя один из следующих элементов: информацию предварительного анализа, определенную кодером в ходе упрощенного предварительного анализа видеокодирования, информацию о кодировании множества подблоков, полученную с помощью рекурсивного кодирования текущего кодируемого блока, и информацию о выполняемом режиме, определенную на основании выполняемого режима; и согласно необходимой для принятия решения информации проводится определение, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока. 4 н. и 6 з.п. ф-лы, 11 ил.

Формула изобретения RU 2 837 746 C1

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

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

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

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

определение, на основании необходимой для принятия решения информации, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока, предусматривает стадии:

определения, на основании наилучшего режима для каждого подблока текущего кодируемого блока, значения второго отношения, при котором наилучшим режимом для текущего кодируемого блока является режим внутрикадрового предсказания, и значения третьего отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска (SKIP);

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

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

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

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

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

3. Способ по п. 2, отличающийся тем, что

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

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

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

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

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

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

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

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

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

5. Способ по п. 1, отличающийся тем, что

после определения, что необходимая для принятия решения информация является информацией о выполняемом режиме, определенной на основании выполняемого режима, информация о выполняемом режиме включает в себя затраты на алгоритм с суммой абсолютных преобразованных разностей (SATD) при временном наилучшем режиме и прогноз затрат на S ATD во внутрикадровом предсказании; и

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

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

6. Способ по п. 1, отличающийся тем, что

после определения, что необходимая для принятия решения информация является информацией о выполняемом режиме, определенной на основании выполняемого режима, выполняемый режим включает в себя, по меньшей мере, режим 2N × 2N и двунаправленный режим BIDIR, а информация о выполняемым режиме включает в себя затраты на SATD в режиме объединения MERGE, выполняемом в режиме 2N × 2N, и затраты на SATD во временном наилучшем режиме, причем N является положительным целым числом; и

определение, на основании необходимой для принятия решения информации, следует ли пропускать оценку движения (ME) при кодировании текущего кодируемого блока, предусматривает стадии:

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

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

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

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

выполнения режима объединения MERGE на неквадратной единице предсказания после определения, что затраты на SATD в режиме объединения MERGE меньше, чем затраты на SATD во временном наилучшем режиме, а значение отношения, при котором наилучшим режимом для текущего кодируемого блока является режим пропуска (SKIP), больше заранее определенного порога отношения, и пропуска режима кодирования неквадратной единицы предсказания с оценками движения ME вперед, ME назад и двухсторонней ME.

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

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

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

модуль определения пропуска оценки движения ME содержит подмодуль вычисления значения отношения и подмодуль определения значения отношения, причем

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

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

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

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

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

Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
Станок для придания концам круглых радиаторных трубок шестигранного сечения 1924
  • Гаркин В.А.
SU2019A1
US 10764600 B2, 01.09.2020
ОСНОВАННЫЕ НА ХЕШАХ РЕШЕНИЯ КОДЕРА ДЛЯ КОДИРОВАНИЯ ВИДЕО 2014
  • Ли Бинь
  • Сюй Цзи-Чжэн
RU2679981C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО ПОСРЕДСТВОМ ИСПОЛЬЗОВАНИЯ СЛИЯНИЯ БЛОКОВ, И СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ВИДЕО ПОСРЕДСТВОМ ИСПОЛЬЗОВАНИЯ СЛИЯНИЯ БЛОКОВ 2015
  • Ли Тамми
  • Хан Воо-Дзин
  • Ким Ил-Коо
  • Ли Сун-Ил
RU2577182C1
СПОСОБ ПРОГНОЗИРУЮЩЕГО КОДИРОВАНИЯ, УСТРОЙСТВО ПРОГНОЗИРУЮЩЕГО КОДИРОВАНИЯ И ПРОГРАММА ПРОГНОЗИРУЮЩЕГО КОДИРОВАНИЯ ВЕКТОРА ДВИЖЕНИЯ И СПОСОБ ПРОГНОЗИРУЮЩЕГО ДЕКОДИРОВАНИЯ, УСТРОЙСТВО ПРОГНОЗИРУЮЩЕГО ДЕКОДИРОВАНИЯ И ПРОГРАММА ПРОГНОЗИРУЮЩЕГО ДЕКОДИРОВАНИЯ ВЕКТОРА ДВИЖЕНИЯ 2020
  • Фудзибаяси Акира
  • Судзуки Йосинори
  • Боон Чоонг Сенг
RU2744696C1

RU 2 837 746 C1

Авторы

Цуй, Тунбин

Даты

2025-04-03Публикация

2021-12-03Подача