[1] Согласно настоящей заявке испрашивается приоритет в соответствии с заявкой на выдачу патента Китая №202011461361.8, поданной 11 декабря 2020 г., которая ссылкой полностью включена в настоящий документ.
Область техники, к которой относится настоящее изобретение
[2] Настоящее раскрытие связано с областью технологий видекодирования, например, связано со способом и устройством для прогнозного видеокодирования.
Предшествующий уровень техники настоящего изобретения
[3] Стандарт высокоэффективного видеокодирования (HEVC) является стандартом видеокодирования последнего поколения, и он удваивает эффективность сжатия относительно стандарта Н.264. Для улучшения эффективности сжатия в стандарте HEVC применяется много усложненных технологий. Согласно одной особенности, в стандарте HEVC применен способ разделения квадродеревьями, в котором каждый блок называется единицей кодирования (CU) и имеет максимальный размер 64 х 64 и рекурсивно разделяется на четыре кодируемых подблока, причем наименьшая единица CU имеет размер 8 х 8, и благодаря этому сегментация блока в стандарте HEVC выполняется более гибко и в нем имеется больше типов блоков, чем в стандарте Н.264. Согласно другой особенности, в стандарте HEVC применяются режимы предсказания для каждой единицы CU, и режим предсказания соответствует единице предсказания (PU). Имеются два типа режимов предсказания: режимы межкадрового предсказания (включая Merge&Skip_2N х 2N, Inter_2N х 2N, Inter_2N х N, Inter_N х 2N, Inter_2N х nU, Inter_2N х nD, Inter_nL x 2N, Inter_nR x 2N, InterN x N и тому подобные) и режимы внутрикадрового предсказания (включая Intra_2N х 2N и Intra_N х N). I-кадры используются только для режима внутрикадрового предсказания, а Р-кадры и В-кадры используются во всех режимах предсказания. В стандарте HEVC затраты на кодирование вычисляются для каждого режима и выбирается режим предсказания с минимальными затратами на кодирование, что позволяет достичь более высокой эффективности сжатия данных.
[4] Для Р-кадров и В-кадров стандарта HEVC режим внутрикадрового предсказания также является важным режимом предсказания. Что касается последовательности движения, поскольку движение сопровождается появлением новой сцены и исчезновением старой сцены, для некоторых единиц кодирования в каждом кадре нельзя найти блоки наилучшего соответствия. Для каждой единицы кодирования эффективность предсказания режима внутрикадрового предсказания несомненно выше эффективности предсказания режима межкадрового предсказания. Однако в общем случае блоки наилучшего соответствия обнаруживаются для большинства кодируемых единиц в соседних кадрах во временной области, и поэтому доля выбора внутрикадрового предсказания в Р-кадрах и В-кадрах является низкой.
[5] В сравнении со стандартом Н.264, режим внутрикадрового предсказания в стандарте HEVC значительно улучшен. Стандарт HEVC поддерживает 32 направленных режима предсказания и два ненаправленных режима предсказания (плоский режим и режим постоянного тока (DC)), а стандарт Н.264 поддерживает только восемь направленных режимов предсказания. Таким образом, сложность внутрикадрового предсказания в стандарте HEVC больше аналогичной сложности в стандарте Н.264, и при этом необходимо выполнить вычисления затрат для достижения нужных скорости и искажений (затраты RD) в каждом режиме предсказания. Процесс вычисления для определения режима весьма сложный и занимает много времени. Следовательно, в случае, когда снижается ненужный выбор режима для оптимизации скорости и искажений (RDO), затраты ресурсов кодера снижаются в значительной степени, так что скорость кодирования возрастает, а затраты на кодирование снижаются.
Краткое раскрытие настоящего изобретения
[6] Согласно вариантам осуществления настоящего изобретения предложены способ и устройство для прогнозного видеокодирования, которые устраняют такие недостатки, как высокое потребление ресурсов кодирования, низкая эффективность кодирования и высокие затраты на кодирование, вызванные выполнением внутрикадрового режима предсказания в некоторых применяемых на практике способах межкадрового кодирования.
[7] Согласно первой особенности вариантов осуществления настоящего изобретения, предложен способ для прогнозного видеокодирования, предусматривающий следующие стадии:
[8] определение, согласно выполняемому режиму, информации о выполняемом режиме в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; и
[9] определение, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.
[10] Согласно второй особенности вариантов осуществления настоящего раскрытия предложено устройство для прогнозного видеокодирования, которое включает в себя:
[11] модуль определения информации о выполняемом режиме, выполненный с возможностью определить, согласно выполняемому режиму, информацию о выполняемом режиму в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; и
[12] модуль определения пропуска режима внутрикадрового предсказания, выполненный с возможностью определить, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.
[13] Согласно третьей особенности вариантов осуществления настоящего раскрытия, дополнительно предложено электронное устройство, которое включает в себя память, процессор, и программу для компьютера, хранящуюся в памяти и выполняемую на процессоре, причем процессор после загрузки и выполнения программы заставляется выполнять способ, который описан выше.
[14] Согласно четвертой особенности вариантов осуществления настоящего раскрытия, дополнительно предложен машиночитаемый носитель данных, на котором хранится программа для компьютера, причем программа для компьютера, будучи загруженной в процессор и выполняемой им, заставляет процессор выполнять способ, который описан выше.
Краткое описание фигур
[15] На фиг. 1 показана блок-схема алгоритма способа для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия;
[16] На фиг. 2 показана упрощенная блок-схема процесса принятия решения о единице предсказания PU межкадрового режима кодирования согласно некоторым вариантам осуществления настоящего раскрытия;
[17] На фиг. 3 показана блок-схема алгоритма пропуска принятия решения о внутрикадровом режиме согласно некоторым вариантам осуществления настоящего раскрытия;
[18] На фиг. 4 показана блок-схема алгоритма пропуска принятия решения о внутрикадровом режиме согласно некоторым вариантам осуществления настоящего раскрытия;
[19] На фиг. 5 показана структурная схема устройства для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия; и
[20] На фиг. 6 показана упрощенная блок-схема электронного устройства согласно некоторым вариантам осуществления настоящего раскрытия;
Подробное раскрытие настоящего изобретения
[21] Настоящее раскрытие будет подробно описано далее в данном документе со ссылками на соответствующие фигуры совместно с вариантами осуществления. Следует понимать, что описанные в настоящем документе конкретные варианты осуществления используются только для объяснения настоящего раскрытия, и не предназначены для ограничения настоящего раскрытия. Кроме того, следует также отметить, что для упрощения описания на фигурах показаны только некоторые части, а не все полные структуры, связанные с настоящим раскрытием.
[22] На фиг. 1 показана блок-схема алгоритма способа для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия. Варианты осуществления применимы для этапа прогнозного кодирования в видеокодировании. Прогнозное кодирование означает предсказание значения текущего отсчета на основании одного или нескольких значений закодированных отсчетов с помощью модели или способа, кодирование значения разности между фактическим значением и предсказанным значением отсчета, и преобразование, квантование и энтропийное кодирование предсказанного остатка, а не исходного значения пикселя, благодаря чему эффективность кодирования значительно улучшается. Прогнозное кодирование включает в себя режим внутрикадрового предсказания (Intra) и режим межкадрового предсказания (Inter). I-кадры используются только для режима внутрикадрового предсказания Intra, а Р-кадры и В-кадры используются во всех режимах предсказания.
[23] Для Р-кадров и В-кадров стандарта HEVC режим внутрикадрового предсказания также является важным режимом предсказания. Внутрикадровый режим в основном означает предсказание значения текущего пикселя на основании закодированных пикселей и пространственной корреляции пикселей в видеоизображении, так что удаляется пространственная избыточность видеоизображения. Во внутрикадровом кодировании компоненты яркости согласно стандарту HEVC используется пять типов единиц предсказания PU: 4 х 4, 8 х 8, 16 х 16, 32 х 32 и 64 х 64, для единицы PU каждого размера имеется 35 режимов предсказания: постоянного тока (DC), плоский и 33 угловых режима, для компоненты цветности предусмотрено пять режимов предсказания, соответствующих: DC, плоскому, горизонтальному, перпендикулярному, и режиму предсказания, соответствующему компоненте яркости. Для каждого режима предсказания необходимо выполнить вычисления затрат на получение скорости и искажений, и процесс таких вычислений для принятия решения о режиме является сложным и времязатратным. В случае, когда с помощью быстрого алгоритма внутрикадрового кодирования единиц PU снижается ненужный выбор режима для оптимизации скорости и искажений (RDO), затраты ресурсов кодера снижаются в значительной степени, так что скорость кодирования возрастает, а затраты на кодирование снижаются.
[24] Учитывая сказанное, согласно вариантам осуществления внутрикадровый режим быстро обрабатывается при межкадровом кодировании. Скорость сжатия кодера улучшается за счет упрощения сложной процедуры принятия решения о внутрикадровом режиме при межкадровом кодировании в кодере. Благодаря улучшению скорости сжатия кодера производительность службы перекодирования улучшается, так что ресурсы сервера экономятся, а затраты на перекодирование снижаются.
[25] Следует отметить, что этот способ согласно вариантам осуществления применим к любой архитектуре гибридного кодирования с использованием блоков. Этот способ применим ко всем кодерам, удовлетворяющим требованиям стандарта HEVC, а другие кодеры, которые соответствуют стандартам, например, AVS1, Н.264, VP8, VP9, AVS2, AVS3, AV1 и VVC, могут после настройки непосредственно использовать этот способ. Кодер согласно вариантам осуществления применим как в службе перекодировки, так и в службе кодирования в режиме реального времени терминала мобильной связи.
[26] Согласно вариантом осуществления способа в нем предусмотрены следующие стадии.
[27] На стадии S110 согласно выполняемому режиму определяется информация о выполняемом режиме в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима.
[28] На стадии S110 на основании информации о выполняемом режиме определяется, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.
[29] На фиг. 2 показана упрощенная блок-схема процесса принятия решения о единице предсказания PU межкадрового режима кодирования согласно некоторым вариантам осуществления настоящего раскрытия. В процессе принятия решения о межкадровом режиме единицы PU предусмотрены следующие процессы.
[30] Прежде всего, выполняется режим объединения/пропуска (MERGE/SKIP) 2N х 2N. В случае соблюдения условия рекурсии выполняется рекурсивный режим для единицы кодирования CU, после выполнения рекурсии возвращается единица CU с размерами текущего блока, и непрерывно выполняется режим внутрикадрового предсказания (Intra). После завершения режима внутрикадрового предсказания (Intra) выполняется межкадровый режим 2N х 2N (блок наилучшего соответствия выбирается с помощью поиска вперед и назад), и затем выполняется двунаправленный поиск (BIDIR) 2N х 2N (для получения блока наилучшего соответствия выполняется только двунаправленной поиск). Непрерывно выполняются режимы типов 2N х N и N х 2N. Решение по режиму принимается после завершения одного режима для получения временного наилучшего режима (tempBestMode). Здесь N является положительным целым числом.
[31] После завершения режима N х 2N, в случае, когда временный наилучший режим tempBestMode=2N х N, непрерывно выполняются режимы 2N х nU и 2N х nD, и проводится сравнение для получения окончательного наилучшего режима BestMode; в случае, когда временный наилучший режим tempBestMode=N х 2N, непрерывно выполняются режимы nL х 2N и nR х 2N, и проводится сравнение для получения окончательного наилучшего режима (BestMode); а в случае, когда временный наилучший режим tempBestMode !=2N х N && tempBestMode !=N х 2N, 2N х nU, непрерывно выполняются режимы 2N х nD, nL х 2N и nR х 2N, и проводится сравнение для получения окончательного наилучшего режима (BestMode).
[32] Следует отметить, что в случае, когда рекурсия для единицы CU выполняется на текущем блоке, затраты на наилучший режим BestMode сравниваются с затратами на рекурсию для определения, следует ли выполнять рекурсивное разделение кодируемой единицы CU.
[33] Кроме того, для режимов, например, 2N х N, N х 2N, 2N х nU, 2N х nD, nL х 2N и nR х 2N, которые включают две единицы PU, для каждой единицы PU необходимо выполнить режим объединения/пропуска MERGE/SKIP, поиск вперед и назад и двунаправленный поиск для получения блока наилучшего соответствия.
[34] Согласно некоторым вариантам осуществления, для вышеупомянутого процесса принятия решения, в случае, когда решение о наилучшем режиме для режима межкадрового предсказания выполняется на текущей единице предсказания PU, соответствующая информация о выполняемым режиме получается на основании выполняемого режима, и решение о том, следует ли пропускать режим внутрикадрового предсказания (Intra), в вышеупомянутым процессе принятия решения принимается на основании информации о выполняемом режиме.
[35] В качестве примера укажем, что информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима. Согласно вариантам осуществления, для определения, следует ли пропускать внутрикадровый режим Intra, предусмотрены различные методы на основании различной информации о выполняемом режиме.
[36] В приведенном в качестве примера (иллюстративном) сценарии реализации пропуск внутрикадрового режима Intra означает пропуск части процессов внутрикадрового режима. Таким образом, при выполнении внутрикадрового режима Intra внутреннее решение Intra изменяется, так что в режиме Intra не выполняется оптимизация RDO, чтобы в значительной степени снизить сложность внутрикадрового режима Intra и сократить время кодирования. Решение о быстром внутрикадровом режиме сразу выполняется на основании информации межкадрового кодирования единицы PU для текущей единицы PU, чтобы определить, следует ли пропустить внутрикадровый режим без дополнительного объема вычислений и, следовательно, получить высокую эффективность затрат.
[37] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на SATD для временного наилучшего режима. Как показано на фиг. 3, стадия S120 предусматривает следующие подстадии.
[38] На подстадии S11 затраты на SATD для наилучшего внутрикадрового режима предсказания определяются с помощью грубого процесса принятия решения о SATD в режиме внутрикадрового предсказания для единицы предсказания.
[39] Согласно некоторым вариантам осуществления, при выполнении внутрикадрового режима предсказания из всех доступных режимов внутрикадрового предсказания выбирается режим предсказания с наименьшими затратами в виде суммы абсолютных преобразованных разностей (SATD), совместно с затратами на SATD с низкой сложностью, и он определяется как наилучший режим внутрикадрового предсказания.
[40] На подстадии S12 согласно размеру единицы предсказания и совместно с затратами на SATD во временном наилучшем режиме и затратами на SATD в наилучшем режиме внутрикадрового предсказания определяется, следует ли пропускать последующий процесс внутрикадрового режима предсказания.
[41] В этом процессе, после получения затрат на SATD во временном наилучшем режиме InterSATDCost и затрат на SATD в наилучшем режиме внутрикадрового предсказания RModeSATDCost определяется, следует ли пропускать последующий процесс внутрикадрового режима согласно единицам предсказания PU с различными размерами.
[42] Единицы предсказания PU с различными размерами включают в себя единицы PU 2N х 2N и единицы PU N х N. Единицы PU 2N х 2N означают единицы PU с подблоками с размером 64 х 64, 32 х 32, 16 х 16 и 8 х 8, а единицы PU N х N означают единицы PU с подблоками с размером 4 x 4.
[43] Согласно некоторым вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен N х N, подстадия S12 предусматривает следующие подстадии более низкого уровня.
[44] На подстадии S121 определяется, будет ли для первой единицы предсказания с размером 4x4 применяться режим пропуска преобразования.
[45] Согласно вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен N х N, N х N является конкретным режимом внутрикадрового кодирования, в котором внутри кадровое кодирование выполняется только на единицах кодирования PU, которые можно непрерывно разделить на четыре 4 х 4 в разделенных единицах PU 8 x 8. Для кодирования единицы PU 4 x 4 конкретным режимом кодирования является режим с пропуском преобразования (TSKIP).
[46] Режим с пропуском преобразования является технологией, введенной в стандарте HEVC, с использованием множества внутрикадровых или межкадровых блоков 4 х 4. Он имеет очевидное влияние на замедление видеопоследовательности при изменении сцены, так что эффективность сжатия улучшается. Так как режимы пропуска преобразования четырех полученных единиц PU 4 x 4 являются соединенными, режимы пропуска преобразования первых единиц PU 4 x 4 определяются согласно вариантам осуществления, таким образом, факт соответствия единицы преобразования (TU) первой единице PU 4 x 4 означает принятие решения о режиме пропуска преобразования, так что определяется, следует ли пропускать невыполненный последующий процесс во внутрикадровом режиме.
[47] На подстадии S122 на основании результата определения затрат на SATD во временном наилучшем режиме определяется порог затрат режима.
[48] Согласно некоторым вариантам осуществления, в случае, когда для первой единицы PU 4 x 4 применяется режим пропуска преобразования, порог затрат режима определяется как произведение затрат на SATD во временном наилучшем режиме и первого настроечного множителя. В случае, когда для первой единицы PU 4 х 4 не применяется режим пропуска преобразования, порог затрат режима определяется как произведение затрат на SATD во временном наилучшем режиме и второго настроечного множителя. Второй настроечный множитель меньше первого настроечного множителя. Таким образом, порог затрат режима определяется согласно следующей формуле:
SATDCostThreshold=firstTskip ? InterSATDCost * al: InterSATDCost* b1.
[49] Здесь SATDCostThreshold обозначает порог затрат режима, firstTskip? обозначает определение того, будет ли для первой единицы PU 4 x 4 применяться режим пропуска преобразования (то есть, является ли первая единица PU 4 x 4 блоком TSKTP), InterSATDCost обозначает затраты на SATD во временном наилучшем режиме, al обозначает первый настроечный множитель, а b1 обозначает второй настроечный множитель.
[50] В случае, когда firstTskip равен 1, а первая единица PU 4 x 4 является блоком TSKIP, SATDCostThreshold=InterSATDCost * a1. В случае, когда firstTskip равен 0, а первая единица PU 4 х 4 не является блоком TSKIP, SATDCostThreshold=InterSATDCost * b1.
[51] Следует отметить, что как TSKIP оказывает позитивное влияние на эффективность кодирования, в случае, когда первая единица PU 4 x 4 является блоком TSKIP, имеется высокая вероятности того, что последующие блоки являются блоками TSKIP. Следовательно, порог затрат режима улучшается для исключения пропуска. Следовательно, величина al настроена на значение больше, чем b1. Конкретные значения a1 и b1 настраиваются согласно фактическим требованиям. Например, a1 равно 0,5, a b1 равно 0,3.
[52] На подстадии S123 последующий процесс режима внутрикадрового предсказания пропускается после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима.
[53] После определения порога затрат режима затраты на SATD в наилучшем режиме внутрикадрового предсказания сравниваются с порогом затрат режима. В случае, когда затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима, затраты на внутрикадровое кодирование являются высокими. Во внутрикадровом режиме потребляется скорость кодирования и поэтому последующий процесс внутрикадрового режима пропускается.
[54] Согласно некоторым вариантам осуществления, условие определения дополнительно настраивается совместно с настроечными множителями. Различные требования для ускорения работы учитываются с помощью регулировки настроечных множителей. Например, решение о пропуске последующего процесса во внутрикадровом режиме определяется с помощью следующего условного выражения:
[55] Таким образом, в случае, когда RModeSATDCost * с больше, чем d * SATDCostThreshold, затраты на кодирование при выполнении внутрикадрового режима являются высокими, и поэтому последующий процесс во внутрикадровом режиме пропускается. Величины end являются настроечными множителями, и они настраиваются согласно фактическим требованиям. Например, обе величины end равны 1.
[56] Согласно некоторым вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен 2N х 2N, решение о пропуске последующего процесса во внутрикадровом режиме определяется совместно с условием рекурсивного кодирования. Как показано на фиг. 2, в случае, когда выполняемый режим включает в себя рекурсивный режим единицы кодирования CU, информация о выполняемом режиме дополнительно включает в себя значение отношения, при котором кодируемый подблок, соответствующий текущей единице CU, является подблоком внутрикадрового предсказания. Подблоком внутрикадрового предсказания является тот подблок, в котором определенный временный наилучший режим является режимом внутрикадрового предсказания. Например, для четырех подблоков единиц CU, полученных при разделении текущей единицы CU, в случае, когда число подблоков (то есть внутрикадровых подблоков), в которых предсказанный наилучший режим является внутрикадровый режимом, равно одному из четырех подблоков единиц CU, значение отношения равно 1/4. В случае, когда число подблоков, в которых предсказанный наилучший режим является внутрикадровый режимом, равно двум из четырех подблоков единиц CU, значение отношения равно 2/4.
[57] Согласно некоторым вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен 2N х 2N, подстадия S12 предусматривает следующие подстадии более низкого уровня.
[58] Последующий процесс режима внутрикадрового предсказания пропускается после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше затрат на SATD во временном наилучшем режиме, и значение отношения меньше заранее определенного порога отношения.
[59] Например, решение о пропуске последующего процесса во внутрикадровом режиме определяется с помощью следующего условного выражения:
[60] Здесь Ra обозначает значение отношения, при котором подблок единицы CU, соответствующий текущей единице CU, является внутрикадровый подблоком, а величины е, f и g соответственно обозначают настроечные множители, и они настраиваются согласно фактическим требованиям. Например, значения е, f и g соответственно настроены равными 1, 1 и 0,75.
[61] Что касается приведенной выше формулы, в случае, когда RModeSATDCost * е>f * InterSATDCost, затраты на кодирование с внутрикадровым предсказанием являются высокими. В случае, когда величина Ra подблока единицы CU является небольшой, например, меньше, чем g, вероятность, что лучший режим для соответствующей единицы CU является внутрикадровым режимом, является низкой. Следовательно, последующий процесс режима внутрикадрового предсказания сразу пропускается для преждевременного завершения выполнения внутрикадрового режима, так что экономится время предсказания и эффективность кодирования улучшается.
[62] Согласно некоторым вариантам осуществления, в случае, когда в ходе стадий S11 и S12 определено, что последующий процесс режима внутрикадрового предсказания не пропускается, последующий процесс режима внутрикадрового предсказания продолжает непрерывно выполняться. Например, кандидат для режима предсказания, грубо выбранный по SATD, и самый возможный режим (СВР) образуют набор кандидатов для режима предсказания. СВР вычисляется на основании режимов внутрикадрового предсказания соседних единиц PU, и соседними единицами PU являются соответственно верхний блок, левый блок и верхний левый блок. Затем над кандидатами для режима предсказания выполняется оптимизация RDO для получения наилучшего режима внутрикадрового предсказания.
[63] В другом приведенном в качестве примера (иллюстративном) сценарии реализации пропуск внутрикадрового режима Intra означает пропуск всего процесса внутрикадрового режима, и внутрикадровый режим вообще не выполняется для экономии времени кодирования. В ходе процесса принятия решения о наилучшем межкадровом режиме, решение о пропуске внутрикадрового режима принимается на основании информации временного наилучшего режима, и временный наилучший режим является переменной, зависящей от различных условий, и она характеризуется адаптивной регулировкой и высокой устойчивостью.
[64] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на RDO для временного наилучшего режима. Как показано на фиг. 4, стадия S120 предусматривает следующие подстадии.
[65] На подстадии S21 определяется, включает ли в себя выполняемый режим рекурсивный режим единицы кодирования.
[66] На подстадии S22 по результатам рассмотрения временного наилучшего режима и/или расходов на RDO для временного наилучшего режима определяется, пропускать ли режим внутрикадрового предсказания в процессе принятия решения.
[67] Согласно некоторым вариантам осуществления, в случае, когда выполняемый режим включает в себя рекурсивный режим единицы кодирования CU, информация о выполняемом режиме дополнительно включает в себя один или комбинацию из следующих элементов: сумма затрат на RDO кодируемых подблоков, соответствующих текущей единице кодирования, первый флаг с информацией, указывающей, является ли текущая единица кодирования блоком из всех нулей, и второй флаг с информацией, указывающей, включает ли в себя кодируемый подблок, соответствующий текущей единице кодирования, подблок внутрикадрового предсказания. Подблоком внутрикадрового предсказания является тот подблок, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания. Подстадия S22 предусматривает следующую подстадию более низкого уровня:
[68] пропуск внутрикадрового режима в процессе принятия решения после определения, что соблюдается одно или несколько из следующих условий.
[69] Условие 1: сумма затрат на RDO больше затрат на RDO для временного наилучшего режима.
[70] Так как выполняемые режимы являются режимами, выполняемыми с RDO, после выполнения режимов появляется соответствующая информация RDO (то есть информация о выполненным режиме).
[71] После выполнения рекурсивного режима единицы CU определяются затраты на RDO для каждого подблока единицы CU, и вычисляется сумма затрат на RDO для всех подблоков CU, чтобы получить сумму затрат на RDO (то есть, затраты на рекурсию). В случае, когда сумма затрат на RDO больше затрат на RDO для временного наилучшего режима, затраты на рекурсию больше, чем затраты временного наилучшего режима, и поэтому рекурсивное разделение единицы CU не выполняется. Следовательно, экономится скорость кодирования. Во внутрикадровом режиме потребляется скорость кодирования и поэтому скорость кодирования экономится с помощью пропуска внутрикадрового режима в случае, когда сумма затрат на RDO больше затрат на RDO для временного наилучшего режима.
[72] Условие 2: информация первого флага указывает, что текущая единица кодирования является блоком из всех нулей.
[73] Согласно этому условию, в том случае, когда информация первого флага указывает, что текущий блок является блоком из всех нулей, поскольку скорость кодирования, потребляемая блоком из всех нулей, является низкой, а во внутрикадровом режиме потребляется скорость кодирования, и два этих утверждения являются противоречивыми, и поэтому вероятность, что лучшим режимом для блока из всех нулей является внутрикадровый режим, оказывается низкой, и внутрикадровый режим пропускается в случае, когда текущий блок является блоком из всех нулей.
[74] Условие 3: информация второго флага указывает, что кодируемый подблок, соответствующий текущей единице кодирования, не включает в себя подблок внутрикадрового предсказания.
[75] Согласно этому условию, в том случае, когда кодируемый подблок не включает в себя подблок внутрикадрового предсказания (то есть кодируемый подблок не включает в себя подблок, для которого предсказанный наилучший режим является внутрикадровым режимом), вероятность, что наилучшим режимом для текущего блока является внутрикадровый режим, оказывается низкой. Следовательно, в случае, когда подблок не включает в себя внутрикадровый подблок, внутрикадровый режим сразу пропускается.
[76] Согласно некоторым вариантам осуществления, для улучшения точности определения и снижения потерь, вышеуказанные три условия объединяются для их рассмотрения. Например, объединяются условия 1 и 2. В случае, когда условия 1 и 2 выполняются одновременно, внутрикадровый режим пропускается, как показано в следующем определяющем условном выражении:
[77] здесь обозначает затраты на RDO для подблока единицы CU, а
обозначает сумму затрат на RDO для подблоков, BestModeRdCost является затратами на RDO для временного наилучшего режима, BestMode->CBF обозначает информацию первого флага, используемую для указания, что кодируемый текущий блок является блоком из всех нулей, splitIntra обозначает информацию второго флага, используемые для указания, что подблоки включают в себя внутрикадровый блок, а2 и b2 являются настроечными множителями, которые регулируются согласно фактическим требованиям. Например, а2 и b2 настраиваются как 1 по умолчанию.
[78] Согласно вышеуказанному определяющему условному выражении, в случае, когда условия и !BestMode->CBF выполняются одновременно, то есть текущий блок является блоком из всех нулей, и сумма затрат на RDO больше затрат на RDO для временного наилучшего режима, внутрикадровый режим пропускается. Согласно альтернативному варианту, в случае, когда подблоки не включают в себя внутрикадровый подблок, внутрикадровый режим также пропускается.
[79] Согласно некоторым вариантам осуществления, в случае, когда выполняемый режим не включает в себя рекурсивный режим единицы CU, подстадия S22 предусматривает следующую подстадию более низкого уровня.
[80] В случае, когда временный наилучший режим является режимом пропуска (SKIP), режим внутрикадрового предсказания пропускается
[81] Согласно вариантам осуществления, поскольку в режиме пропуска (SKIP) экономится скорость кодирования, а во внутрикадровом режиме потребляется скорость кодирования, для экономии скорости кодирования внутрикадровый режим сразу пропускается в случае, когда временный наилучший режим определен как режим пропуска (SKIP) на основании выполняемого режима.
[82] Согласно некоторым вариантам осуществления, в случае, когда внутрикадровый режим нельзя пропустить во время выполнения подстадий S21 и S22, в вариантах осуществления дополнительно предусмотрена следующая подстадия более низкого уровня.
[83] Затраты на SATD во внутрикадровом режиме 2N х 2N определяются с помощью выполнения внутрикадрового кодирования 2N х 2N для текущей единицы кодирования, и режим внутрикадрового предсказания N х N пропускается после определения, что затраты на SATD во внутрикадровом режиме 2N х 2N больше затрат на SATD во временном наилучшем режиме.
[84] Согласно вариантам осуществления, в случае, когда внутрикадровый режим нельзя пропустить во время выполнения подстадий S21 и S22, для текущей единицы кодирования CU сначала выполняется внутрикадровое кодирование 2N х 2N и определяются затраты на SATD во внутрикадровом режиме 2N х 2N. Затем затраты на SATD во внутрикадровом режиме 2N х 2N сравниваются с затратами на SATD во временном наилучшем режиме для определения, следует ли пропускать внутрикадровый режим N х N.
[85] Например, решение о пропуске внутрикадрового режима N х N определяется с помощью следующего условного выражения:
[86] Здесь Intra2N х 2NSATDCost обозначает затраты на SATD во внутрикадровом режиме 2N х 2N, BestModeSATDCost обозначает затраты на SATD во временном наилучшем режиме, а величины а3 и b3 обозначают настроечные множители, и они настроены согласно фактическим требованиям. Например, значения а3 и b3 настроены как 10 и 11 соответственно.
[87] Согласно вариантам осуществления, информация о выполняемом режиме получается на основании выполняемого режима при принятии решения о наилучшем режиме для текущей единицы предсказания в режиме межкадрового предсказания. Информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима. Затем на основании информации о выполняемом режиме принимается решение о том, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, так что использование внутрикадрового режима снижается, затраты ресурсов кодера снижаются в значительной степени, скорость кодирования улучшается, и затраты на кодирование снижаются. Согласно вариантам осуществления, с помощью принятия решения о пропуске внутрикадрового режима скорость кодирования возрастает на 15% при условии, что ухудшение степени сжатия в кодере составляет 0,2%. В рамках применения онлайнового перекодирования экономия вычислительных ресурсов сервера составляет 15% при незначительной потере качества изображения, так что затраты на перекодирование снижаются.
[88] На фиг. 5 показана структурная схема устройства для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия. Устройство включает в себя следующие модули:
[89] модуль 510 определения информации о выполняемом режиме, выполненный с возможностью определить, согласно выполняемому режиму, информацию о выполняемом режиму в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; и
[90] модуль 520 определения пропуска режима внутрикадрового предсказания, выполненный с возможностью определить, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.
[91] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на SATD для временного наилучшего режима. Модуль 520 определения пропуска режима внутрикадрового предсказания включает в себя следующие подмодули:
[92] подмодуль принятия грубого решения о SATD, выполненный с возможностью определить затраты на SATD для наилучшего внутрикадрового режима предсказания с помощью грубого процесса принятия решения о SATD в режиме внутрикадрового предсказания для единицы предсказания; и
[93] подмодуль определения первого пропуска во внутрикадровом режиме, выполненный с возможностью определить, следует ли пропускать последующий процесс внутрикадрового режима предсказания согласно размеру единицы предсказание и совместно с учетом затрат на SATD во временном наилучшем режиме и затрат на SATD в наилучшем режиме внутрикадрового предсказания.
[94] Согласно некоторым вариантам осуществления, размер единицы предсказания составляет N х N, где N является положительным целым числом. Подмодуль определения первого пропуска во внутрикадровом режиме выполнен с возможностью:
[95] определить, можно ли для первой единицы предсказания с размером 4 x 4 применить режим пропуска преобразования;
[96] определить порог затрат на режим на основании результата определения затрат на SATD во временном наилучшем режиме; и
[97] пропустить последующий процесс режима внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима.
[98] Согласно некоторым вариантам осуществления, подмодуль определения первого пропуска во внутрикадровом режиме выполнен с возможностью:
[99] определить порог затрат режима как произведение затрат на SATD во временном наилучшем режиме и первого настроечного множителя после определения, что для первой единицы предсказания с размером 4 x 4 применяется режим пропуска преобразования; и
[100] определить порог затрат режима как произведение затрат на SATD во временном наилучшем режиме и второго настроечного множителя после определения, что для первой единицы предсказания с размером 4 х 4 не применяется режим пропуска преобразования, причем второй настроечный множитель меньше первого настроечного множителя.
[101] Согласно некоторым вариантам осуществления, в случае, когда размер единицы предсказания составляет 2N х 2N, выполняемый режим включает в себя рекурсивный режим единицы кодирования, и информация о выполняемом режиме включает в себя значение отношения, при котором кодируемый подблок, соответствующий текущей единице кодирования, является подблоком внутрикадрового предсказания; причем подблок внутрикадрового предсказания является подблоком, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания; и
[102] подмодуль определения первого пропуска во внутрикадровом режиме выполнен с возможностью:
[103] пропустить последующий процесс режима внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше затрат на SATD во временном наилучшем режиме, и значение отношения меньше заранее определенного порога отношения.
[104] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на RDO во временном наилучшем режиме. Модуль 520 определения пропуска режима внутрикадрового предсказания включает в себя следующие подмодули:
[105] подмодуль определения рекурсии, выполненный с возможностью определить, включает ли в себя выполняемый режим рекурсивный режим единицы кодирования; и
[106] подмодуль определения второго пропуска внутрикадрового режима, выполненный с возможностью определить, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, определение проводится по результатам определения, по меньшей мере, одной из следующих величин: временного наилучшего режима и расходов на RDO для временного наилучшего режима.
[107] Согласно некоторым вариантам осуществления, после определения, что выполняемый режим включает в себя рекурсивный режим единицы кодирования, информация о выполняемом режиме дополнительно включает в себя один из или комбинацию из следующих элементов информации: сумма затрат на RDO кодируемых подблоков, соответствующих текущей единице кодирования, первый флаг с информацией, указывающей, является ли текущая единица кодирования блоком из всех нулей, и второй флаг с информацией, указывающей, включает ли в себя кодируемый подблок, соответствующий текущей единице кодирования, подблок внутрикадрового предсказания, причем подблок внутрикадрового предсказания является подблоком, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания, и
[108] подмодуль определения второго пропуска во внутрикадровом режиме выполнен с возможностью:
[109] пропускать внутрикадровый режим в процессе принятия решения после определения, что соблюдается одно или несколько из следующих условий:
[110] сумма затрат на RDO больше затрат на RDO для временного наилучшего режима,
[111] информация первого флага указывает, что текущая единица кодирования является блоком из всех нулей, и
[112] информация второго флага указывает, что кодируемый подблок, соответствующий текущей единице кодирования, не включает в себя подблок внутрикадрового предсказания.
[113] Согласно некоторым вариантам осуществления, после определения что выполняемый режим не содержит рекурсивного режима единицы кодирования, подмодуль определения второго пропуска во внутрикадровом режиме выполнен с возможностью:
[114] пропускать режим внутрикадрового предсказания после определения, что временный наилучший режим является режимом пропуска (SKIP).
[115] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим дополнительно включают в себя затраты на SATD для временного наилучшего режима. Устройство дополнительно включает в себя:
[116] модуль внутрикадрового кодирования 2N х 2N, выполненный с возможностью определить затраты на SATD для внутрикадрового кодирования 2N х 2N с помощью выполнения внутрикадрового кодирования 2N х 2N для текущей единицы кодирования на основании результата об отсутствии пропуска режима внутрикадрового предсказания в процессе принятия решения; и
[117] Модуль определения пропуска внутрикадрового режима N х N, выполненный с возможностью пропускать режим внутрикадрового предсказания N х N после определения, что затраты на SATD во внутрикадровом режиме 2N х 2N больше затрат на SATD во временном наилучшем режиме.
[118] Следует отметить, что вышеупомянутое устройство для прогнозного видеокодирования согласно вариантам осуществления настоящего раскрытия выполняет способы для прогнозного видеокодирования согласно вариантам осуществления настоящего раскрытия, и оно оснащено функциональными модулями для получения преимуществ, соответствующих выполняемым способам.
[119] На фиг. 6 показана упрощенная блок-схема электронного устройства согласно некоторым вариантам осуществления настоящего раскрытия. Как показано на фиг. 6, электронное устройство включает в себя процессор 610, память 620, входную аппаратуру 630 и выходную аппаратуру 640. Количество процессоров 610 в электронном устройстве равно одному или нескольким, и на фиг. 6 в качестве примера показан один процессор 610. Процессор 610, память 620, входная аппаратура 630 и выходная аппаратура 640 в электронном устройстве соединены с помощью шины или другими средствами, и на фиг. 6 в качестве примера показано соединение шиной.
[120] Память 620, как машиночитаемый носитель данных, выполнена с возможностью хранить программы программного обеспечения, выполняемую компьютером программу и модуль, например, инструкции программы или модуль, соответствующий способам согласно вариантам осуществления настоящего раскрытия. Процессор 610 выполняет различные функциональные прикладные программы и обработку данных в электронном устройстве, то есть, выполняет вышеуказанные способы, он осуществляет это с помощью выполнения хранящихся в памяти 620 программы программного обеспечения, инструкций и модуля.
[121] Память 620 в основном содержит в себе область хранения программ и область хранения данных.
[122] В области хранения программ хранится операционная система и прикладная программа, которая требуется для выполнения, по меньшей мере, одной функции; а в области хранения данных хранятся данные, созданные при использовании терминала. Более того, память 620 включает в себя высокоскоростное оперативное запоминающее устройство, и дополнительно содержит энергонезависимую память, например, по меньшей мере, один накопитель на жестком магнитном диске, флеш-память или другую энергонезависимую полупроводниковую память. Согласно некоторым вариантам осуществления, память 620 включает в себя устройства памяти, расположенные дистанционно относительно процессора 610, и эти дистанционные устройства памяти подключены к электронному устройству по сети. Примеры вышеупомянутой сети включают в себя, помимо прочего, интернет, интранет, локальную вычислительную сеть, сеть мобильной связи и их комбинацию.
[123] Входная аппаратура 630 принимает вводимую цифровую или текстовую информацию, и создает сигнал ввода с клавиш, относящийся к пользователю, настраивающему электронное устройство или осуществляющему управление им. Выходная аппаратура 640 включает в себя устройство отображения, например, экран дисплея.
[124] Согласно некоторым вариантам осуществления настоящего раскрытия дополнительно предложен носитель данных, содержащий выполняемые компьютером инструкции. Выполняемые компьютером инструкции, в случае их выполнения процессором на сервере, заставляют процессор реализовать способ согласно любому из вариантов осуществления настоящего раскрытия.
[125] На основании описанных выше вариантов осуществления специалисты в этой области техники могут ясно понимать, что настоящее раскрытие может быть реализовано либо с помощью программного обеспечения и необходимой общей аппаратной платформы, либо с помощью аппаратных средств. На основании такого понимания технические решения настоящего раскрытия, вносящие заметный или частичный вклад в известный уровень технических решений, могут быть реализованы в виде программного продукта. Программный продукт для компьютера можно хранить на машиночитаемом носителе данных, например, на гибкой дискете, в постоянном запоминающем устройстве (ПЗУ), в оперативном запоминающем устройстве (ОЗУ), во флеш-памяти, на жестком диске или на оптическом диске компьютера, и он содержит в себе несколько инструкций, так что вычислительное устройство (персональный компьютер, сервер или сетевое устройство) выполняет способы согласно множеству вариантов осуществления настоящего раскрытия. Машиночитаемый носитель данных является энергонезависимым машиночитаемым носителем данных.
[126] Следует отметить, что согласно вышеупомянутым вариантам осуществления устройства, множество его блоков и модулей разделены только согласно функциональной логике, но они не ограничены вышеупомянутым разделением, при условии реализации соответствующих функций. Кроме того, конкретные названия множества функциональных блоков указаны только с целью различения их друг от друга, и они не предназначены для ограничения объема правовой охраны настоящего раскрытия.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И УСТРОЙСТВО ДЛЯ ПРОГНОЗНОГО ВИДЕОКОДИРОВАНИЯ | 2021 |
|
RU2837746C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ СПОСОБА СКАНИРОВАНИЯ НА ОСНОВАНИИ РЕЖИМА ДЕЛЕНИЯ БЛОКА ПРЕДСКАЗАНИЯ | 2012 |
|
RU2585976C2 |
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2012 |
|
RU2710303C2 |
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2012 |
|
RU2623905C1 |
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2012 |
|
RU2619198C1 |
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2012 |
|
RU2619199C1 |
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2012 |
|
RU2616441C1 |
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2012 |
|
RU2625912C1 |
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2012 |
|
RU2626014C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ВИДЕОДАННЫХ | 2012 |
|
RU2602834C2 |
Изобретение относится к технологиям видекодирования. Техническим результатом является повышение эффективности кодирования. Результат достигается тем, что во время межкадрового предсказания в процессе принятия решения об оптимальном режиме для текущей единицы предсказания предусматривается определение информации о выполняемом режиме на основании выполняемого режима, причем информация о выполняемом режиме содержит в себе оптимальный режим для этапа и затраты на оптимальный режим для этапа; и на основании информации о выполняемом режиме определение, следует ли пропустить режим внутрикадрового предсказания в процессе принятия решения. 4 н. и 6 з.п. ф-лы, 6 ил.
1. Способ для прогнозного видеокодирования, предусматривающий стадии:
определение, согласно выполняемому режиму, информации о выполняемом режиме в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; причем затраты для временного наилучшего режима включают в себя сумму абсолютных преобразованных разностей (SATD) для временного наилучшего режима;
определение затрат на SATD для наилучшего внутрикадрового режима предсказания с помощью грубого процесса принятия решения о SATD в режиме внутрикадрового предсказания для единицы предсказания; и
определение, можно ли для первой единицы предсказания с размером 4 x 4 применить режим пропуска преобразования после определения, что размер единицы предсказания составляет N х N; определение порога затрат на режим на основании результата определения затрат на SATD во временном наилучшем режиме; и пропуск последующего процесса режима внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима; или
в случае, когда размер единицы предсказания составляет 2N х 2N, выполняемый режим включает в себя рекурсивный режим единицы кодирования, и информация о выполняемом режиме включает в себя значение отношения, при котором кодируемый подблок, соответствующий текущей единице кодирования, является подблоком внутрикадрового предсказания; пропуск последующего процесса режима внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше затрат на SATD во временном наилучшем режиме, и значение отношения меньше заранее определенного порога отношения;
причем N является положительным целым числом, подблоком внутрикадрового предсказания является тот подблок, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания.
2. Способ по п. 1, отличающийся тем, что определение порога затрат на режим на основании результата определения затрат на SATD во временном наилучшем режиме предусматривает стадии:
определение порога затрат режима как произведения затрат на SATD во временном наилучшем режиме и первого настроечного множителя после определения, что для первой единицы предсказания с размером 4 x 4 применяется режим пропуска преобразования; и
определение порога затрат режима как произведения затрат на SATD во временном наилучшем режиме и второго настроечного множителя после определения, что для первой единицы предсказания с размером 4 х 4 не применяется режим пропуска преобразования, причем второй настроечный множитель меньше первого настроечного множителя.
3. Способ по п. 1, отличающийся тем, что
затраты временного наилучшего режима включают в себя затраты на оптимизацию скорости и искажений (RDO) для временного наилучшего режима; и способ дополнительно предусматривает стадии:
определение, включает ли в себя выполняемый режим рекурсивный режим единицы кодирования после определения того, что затраты временного наилучшего режима содержат расходы на RDO для временного наилучшего режима; и
определение по результатам определения, по меньшей мере, одной из следующих величин: временного наилучшего режима и расходов на RDO для временного наилучшего режима, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.
4. Способ по п. 3, отличающийся тем, что
после определения, что выполняемый режим включает в себя рекурсивный режим единицы кодирования, информация о выполняемом режиме дополнительно включает в себя, по меньшей мере, один из следующих элементов: сумма затрат на RDO кодируемых подблоков, соответствующих текущей единице кодирования, первый флаг с информацией, указывающей, является ли текущая единица кодирования блоком из всех нулей, и второй флаг с информацией, указывающей, включает ли в себя кодируемый подблок, соответствующий текущей единице кодирования, подблок внутрикадрового предсказания, причем подблок внутрикадрового предсказания является подблоком, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания, и
определение по результатам определения, по меньшей мере, одной из следующих величин: временного наилучшего режима и расходов на RDO для временного наилучшего режима, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, предусматривает стадию:
пропуск режима внутрикадрового предсказания в процессе принятия решения после определения, что соблюдается, по меньшей мере, одно из следующих условий: сумма затрат на RDO больше затрат на RDO для временного наилучшего режима, информация первого флага указывает, что текущая единица кодирования является блоком из всех нулей, и информация второго флага указывает, что кодируемый подблок, соответствующий текущей единице кодирования, не включает в себя подблок внутрикадрового предсказания.
5. Способ по п. 3, отличающийся тем, что после определения, что выполняемый режим не содержит рекурсивного режима единицы кодирования, определение, по результатам определения, по меньшей мере, одной из следующих величин: временного наилучшего режима и расходов на RDO для временного наилучшего режима, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, предусматривает стадию:
пропуск режима внутрикадрового предсказания после определения, что временный наилучший режим является режимом пропуска (SKIP).
6. Способ по любому из пп. 3-5, отличающийся тем, что
затраты временного наилучшего режим дополнительно включают в себя затраты на SATD для временного наилучшего режима; и
после определения, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, способ дополнительно предусматривает стадии:
получение затрат на SATD для внутрикадрового кодирования 2N х 2N с помощью выполнения внутрикадрового кодирования 2N х 2N для текущей единицы кодирования на основании результата об отсутствии пропуска режима внутрикадрового предсказания в процессе принятия решения; и
пропуск режима внутрикадрового предсказания N х N после определения, что затраты на SATD во внутрикадровом режиме 2N х 2N больше затрат на SATD во временном наилучшем режиме.
7. Устройство для прогнозного видеокодирования, включающее в себя:
модуль определения информации о выполняемом режиме, выполненный с возможностью определить, согласно выполняемому режиму, информацию о выполняемом режиме в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; и затраты для временного наилучшего режима включают в себя сумму абсолютных преобразованных разностей (SATD) для временного наилучшего режима; и
подмодуль принятия грубого решения о SATD, выполненный с возможностью определить затраты на SATD для наилучшего внутрикадрового режима предсказания с помощью грубого процесса принятия решения о SATD в режиме внутрикадрового предсказания для единицы предсказания; и
подмодуль определения первого пропуска во внутрикадровом режиме, выполненный с возможностью:
определения, можно ли для первой единицы предсказания с размером 4 x 4 применить режим пропуска преобразования после определения, что размер единицы предсказания составляет N х N; определения порога затрат на режим на основании результата определения затрат на SATD во временном наилучшем режиме; и пропуска последующего процесса режима внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима; или модуль определения пропуска режима внутрикадрового предсказания, выполненный с возможностью определить, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, причем пропуск режима внутрикадрового предсказания включает в себя частичный пропуск режима внутрикадрового предсказания и полный пропуск режима внутрикадрового предсказания;
пропуска последующего процесса режима внутрикадрового предсказания в случае, когда размер единицы предсказания составляет 2N х 2N, выполняемый режим включает в себя рекурсивный режим единицы кодирования, и информация о выполняемом режиме включает в себя значение отношения, при котором кодируемый подблок, соответствующий текущей единице кодирования, является подблоком внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше затрат на SATD во временном наилучшем режиме, и значение отношения меньше заранее определенного порога отношения;
причем N является положительным целым числом, подблоком внутрикадрового предсказания является тот подблок, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания.
8. Устройство по п. 7, в котором подмодуль определения первого пропуска во внутрикадровом режиме, дополнительно выполнен с возможностью:
определения порога затрат режима как произведение затрат на SATD во временном наилучшем режиме и первого настроечного множителя после определения, что для первой единицы предсказания с размером 4 x 4 применяется режим пропуска преобразования; и
определения порога затрат режима как произведение затрат на SATD во временном наилучшем режиме и второго настроечного множителя после определения, что для первой единицы предсказания с размером 4 х 4 не применяется режим пропуска преобразования, причем второй настроечный множитель меньше первого настроечного множителя.
9. Электронное устройство для прогнозного видеокодирования, включающее в себя: память, процессор, и программу для компьютера, хранящуюся в памяти и выполняемую на процессоре, причем процессор после загрузки и выполнения программы заставляется выполнять способ, который определен в любом из пп. 1-6.
10. Энергонезависимый машиночитаемый носитель данных, в котором хранится программа для компьютера, причем программа для компьютера, будучи загруженной и выполняемой процессором, заставляет процессор выполнить способ, который определен в любом из пп. 1-6.
CN 110896481 A, 2020.03.20 | |||
CN 110351552 A, 2019.10.18 | |||
KR 20160050115 A, 2016.05.11 | |||
US 2008069211 A1, 2008.03.20 | |||
CN 101815215 B, 2012.10.10 | |||
CN 107613294 A, 2018.01.19 | |||
KR 20160131337 A, 2016.11.16 | |||
WO 2015015436 A2, 2015.02.05 | |||
CN 104104947 A, 2014.10.15 | |||
КОДЕР ИЗОБРАЖЕНИЯ И ДЕКОДЕР ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, ПРОГРАММА КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И КОМПЬЮТЕРНО-СЧИТЫВАЕМЫЙ НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ЗАПИСАНА ПРОГРАММА КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, И КОМПЬЮТЕРНО-СЧИТЫВАЕМЫЙ НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ЗАПИСАНА ПРОГРАММА ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ | 2006 |
|
RU2368095C1 |
Авторы
Даты
2025-05-14—Публикация
2021-12-03—Подача