RU2839915C1 - Method and device for predictive video coding - Google Patents
Method and device for predictive video coding Download PDFInfo
- Publication number
- RU2839915C1 RU2839915C1 RU2023116269A RU2023116269A RU2839915C1 RU 2839915 C1 RU2839915 C1 RU 2839915C1 RU 2023116269 A RU2023116269 A RU 2023116269A RU 2023116269 A RU2023116269 A RU 2023116269A RU 2839915 C1 RU2839915 C1 RU 2839915C1
- Authority
- RU
- Russia
- Prior art keywords
- mode
- intra
- determining
- cost
- frame prediction
- Prior art date
Links
Abstract
Description
[1] Согласно настоящей заявке испрашивается приоритет в соответствии с заявкой на выдачу патента Китая №202011461361.8, поданной 11 декабря 2020 г., которая ссылкой полностью включена в настоящий документ.[1] This application claims priority from Chinese Patent Application No. 202011461361.8, filed on December 11, 2020, which is incorporated herein by reference in its entirety.
Область техники, к которой относится настоящее изобретениеField of technology to which the present invention relates
[2] Настоящее раскрытие связано с областью технологий видекодирования, например, связано со способом и устройством для прогнозного видеокодирования.[2] The present disclosure relates to the field of video coding technologies, for example, relates to a method and device for predictive video coding.
Предшествующий уровень техники настоящего изобретенияPrior art of the present invention
[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 затраты на кодирование вычисляются для каждого режима и выбирается режим предсказания с минимальными затратами на кодирование, что позволяет достичь более высокой эффективности сжатия данных.[3] High Efficiency Video Coding (HEVC) is the latest generation video coding standard, and it doubles the compression efficiency of H.264. To improve the compression efficiency, HEVC uses many sophisticated technologies. According to one feature, HEVC uses a quadtree partitioning method in which each block is called a coding unit (CU) and has a maximum size of 64 x 64, and is recursively divided into four coded sub-blocks, and the smallest CU has a size of 8 x 8, and therefore the block segmentation in HEVC is more flexible and has more block types than H.264. According to another feature, HEVC uses prediction modes for each CU, and the prediction mode corresponds to the prediction unit (PU). There are two types of prediction modes: inter-frame prediction modes (including Merge&Skip_2N x 2N, Inter_2N x 2N, Inter_2N x N, Inter_N x 2N, Inter_2N x nU, Inter_2N x nD, Inter_nL x 2N, Inter_nR x 2N, InterN x N and the like) and intra-frame prediction modes (including Intra_2N x 2N and Intra_N x N). I-frames are used only for the intra-frame prediction mode, and P-frames and B-frames are used in all prediction modes. In the HEVC standard, the coding cost is calculated for each mode and the prediction mode with the minimum coding cost is selected, which achieves higher data compression efficiency.
[4] Для Р-кадров и В-кадров стандарта HEVC режим внутрикадрового предсказания также является важным режимом предсказания. Что касается последовательности движения, поскольку движение сопровождается появлением новой сцены и исчезновением старой сцены, для некоторых единиц кодирования в каждом кадре нельзя найти блоки наилучшего соответствия. Для каждой единицы кодирования эффективность предсказания режима внутрикадрового предсказания несомненно выше эффективности предсказания режима межкадрового предсказания. Однако в общем случае блоки наилучшего соответствия обнаруживаются для большинства кодируемых единиц в соседних кадрах во временной области, и поэтому доля выбора внутрикадрового предсказания в Р-кадрах и В-кадрах является низкой.[4] For P-frames and B-frames of the HEVC standard, the intra-frame prediction mode is also an important prediction mode. In the case of motion sequence, since the motion is accompanied by the appearance of a new scene and the disappearance of an old scene, the best matching blocks cannot be found for some coding units in each frame. For each coding unit, the prediction performance of the intra-frame prediction mode is undoubtedly higher than that of the inter-frame prediction mode. However, in general, the best matching blocks are found for most of the coding units in neighboring frames in the time domain, and therefore the selection rate of intra-frame prediction in P-frames and B-frames is low.
[5] В сравнении со стандартом Н.264, режим внутрикадрового предсказания в стандарте HEVC значительно улучшен. Стандарт HEVC поддерживает 32 направленных режима предсказания и два ненаправленных режима предсказания (плоский режим и режим постоянного тока (DC)), а стандарт Н.264 поддерживает только восемь направленных режимов предсказания. Таким образом, сложность внутрикадрового предсказания в стандарте HEVC больше аналогичной сложности в стандарте Н.264, и при этом необходимо выполнить вычисления затрат для достижения нужных скорости и искажений (затраты RD) в каждом режиме предсказания. Процесс вычисления для определения режима весьма сложный и занимает много времени. Следовательно, в случае, когда снижается ненужный выбор режима для оптимизации скорости и искажений (RDO), затраты ресурсов кодера снижаются в значительной степени, так что скорость кодирования возрастает, а затраты на кодирование снижаются.[5] Compared with the H.264 standard, the intra-frame prediction mode in the HEVC standard is greatly improved. The HEVC standard supports 32 directional prediction modes and two non-directional prediction modes (flat mode and DC mode), while the H.264 standard only supports eight directional prediction modes. Therefore, the complexity of intra-frame prediction in the HEVC standard is greater than that of the H.264 standard, and it is necessary to perform the calculation of the cost to achieve the desired rate and distortion (RD cost) in each prediction mode. The calculation process for determining the mode is very complex and time-consuming. Therefore, when unnecessary mode selection for rate and distortion optimization (RDO) is reduced, the resource cost of the encoder is reduced greatly, so that the coding rate increases and the coding cost decreases.
Краткое раскрытие настоящего изобретенияBrief summary of the present invention
[6] Согласно вариантам осуществления настоящего изобретения предложены способ и устройство для прогнозного видеокодирования, которые устраняют такие недостатки, как высокое потребление ресурсов кодирования, низкая эффективность кодирования и высокие затраты на кодирование, вызванные выполнением внутрикадрового режима предсказания в некоторых применяемых на практике способах межкадрового кодирования.[6] According to embodiments of the present invention, a method and apparatus for predictive video coding are provided that eliminate the disadvantages of high coding resource consumption, low coding efficiency, and high coding costs caused by performing an intra-frame prediction mode in some inter-frame coding methods used in practice.
[7] Согласно первой особенности вариантов осуществления настоящего изобретения, предложен способ для прогнозного видеокодирования, предусматривающий следующие стадии:[7] According to a first feature of embodiments of the present invention, a method for predictive video coding is provided, comprising the following steps:
[8] определение, согласно выполняемому режиму, информации о выполняемом режиме в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; и[8] determining, according to the executed mode, information about the executed mode in the process of deciding on the best mode for the current prediction unit in the inter-picture prediction, wherein the information about the executed mode includes a temporary best mode and a cost for the temporary best mode; and
[9] определение, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.[9] determining, based on information about the mode being executed, whether to skip the intra-frame prediction mode in the decision-making process.
[10] Согласно второй особенности вариантов осуществления настоящего раскрытия предложено устройство для прогнозного видеокодирования, которое включает в себя:[10] According to a second aspect of embodiments of the present disclosure, a predictive video coding apparatus is provided, which includes:
[11] модуль определения информации о выполняемом режиме, выполненный с возможностью определить, согласно выполняемому режиму, информацию о выполняемом режиму в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; и[11] an execution mode information determining module configured to determine, according to an execution mode, information about the execution mode in a process of deciding a best mode for a current prediction unit in inter-frame prediction, wherein the execution mode information includes a temporary best mode and a cost for the temporary best mode; and
[12] модуль определения пропуска режима внутрикадрового предсказания, выполненный с возможностью определить, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.[12] an intra-frame prediction mode skip determination module configured to determine, based on information about the mode being executed, whether to skip the intra-frame prediction mode in the decision-making process.
[13] Согласно третьей особенности вариантов осуществления настоящего раскрытия, дополнительно предложено электронное устройство, которое включает в себя память, процессор, и программу для компьютера, хранящуюся в памяти и выполняемую на процессоре, причем процессор после загрузки и выполнения программы заставляется выполнять способ, который описан выше.[13] According to a third feature of the embodiments of the present disclosure, an electronic device is further provided that includes a memory, a processor, and a computer program stored in the memory and executed on the processor, wherein the processor, upon loading and executing the program, is caused to perform the method described above.
[14] Согласно четвертой особенности вариантов осуществления настоящего раскрытия, дополнительно предложен машиночитаемый носитель данных, на котором хранится программа для компьютера, причем программа для компьютера, будучи загруженной в процессор и выполняемой им, заставляет процессор выполнять способ, который описан выше.[14] According to a fourth feature of the embodiments of the present disclosure, a computer-readable storage medium is further provided, on which a computer program is stored, wherein the computer program, when loaded into a processor and executed by it, causes the processor to perform the method described above.
Краткое описание фигурBrief description of the figures
[15] На фиг. 1 показана блок-схема алгоритма способа для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия;[15] Fig. 1 shows a flow chart of an algorithm of a method for predictive video coding according to some embodiments of the present disclosure;
[16] На фиг. 2 показана упрощенная блок-схема процесса принятия решения о единице предсказания PU межкадрового режима кодирования согласно некоторым вариантам осуществления настоящего раскрытия;[16] Fig. 2 shows a simplified flow chart of a process for making a decision on a prediction unit PU of an inter-frame coding mode according to some embodiments of the present disclosure;
[17] На фиг. 3 показана блок-схема алгоритма пропуска принятия решения о внутрикадровом режиме согласно некоторым вариантам осуществления настоящего раскрытия;[17] Fig. 3 shows a flow chart of an algorithm for skipping an intra-frame mode decision according to some embodiments of the present disclosure;
[18] На фиг. 4 показана блок-схема алгоритма пропуска принятия решения о внутрикадровом режиме согласно некоторым вариантам осуществления настоящего раскрытия;[18] Fig. 4 shows a flow chart of an algorithm for skipping an intra-frame mode decision according to some embodiments of the present disclosure;
[19] На фиг. 5 показана структурная схема устройства для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия; и[19] Fig. 5 shows a block diagram of an apparatus for predictive video coding according to some embodiments of the present disclosure; and
[20] На фиг. 6 показана упрощенная блок-схема электронного устройства согласно некоторым вариантам осуществления настоящего раскрытия;[20] Fig. 6 shows a simplified block diagram of an electronic device according to some embodiments of the present disclosure;
Подробное раскрытие настоящего изобретенияDetailed disclosure of the present invention
[21] Настоящее раскрытие будет подробно описано далее в данном документе со ссылками на соответствующие фигуры совместно с вариантами осуществления. Следует понимать, что описанные в настоящем документе конкретные варианты осуществления используются только для объяснения настоящего раскрытия, и не предназначены для ограничения настоящего раскрытия. Кроме того, следует также отметить, что для упрощения описания на фигурах показаны только некоторые части, а не все полные структуры, связанные с настоящим раскрытием.[21] The present disclosure will be described in detail hereinafter with reference to the corresponding figures in conjunction with embodiments. It should be understood that the specific embodiments described herein are used only to explain the present disclosure and are not intended to limit the present disclosure. In addition, it should also be noted that for simplicity of description, only some portions are shown in the figures, rather than all complete structures associated with the present disclosure.
[22] На фиг. 1 показана блок-схема алгоритма способа для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия. Варианты осуществления применимы для этапа прогнозного кодирования в видеокодировании. Прогнозное кодирование означает предсказание значения текущего отсчета на основании одного или нескольких значений закодированных отсчетов с помощью модели или способа, кодирование значения разности между фактическим значением и предсказанным значением отсчета, и преобразование, квантование и энтропийное кодирование предсказанного остатка, а не исходного значения пикселя, благодаря чему эффективность кодирования значительно улучшается. Прогнозное кодирование включает в себя режим внутрикадрового предсказания (Intra) и режим межкадрового предсказания (Inter). I-кадры используются только для режима внутрикадрового предсказания Intra, а Р-кадры и В-кадры используются во всех режимах предсказания.[22] Fig. 1 shows a flow chart of a method for predictive video coding according to some embodiments of the present disclosure. The embodiments are applicable to a predictive coding step in video coding. Predictive coding means predicting a value of a current sample based on one or more values of encoded samples using a model or method, coding a difference value between the actual value and the predicted value of the sample, and transforming, quantizing and entropy coding the predicted residual rather than the original pixel value, whereby coding efficiency is significantly improved. Predictive coding includes an intra-frame prediction mode (Intra) and an inter-frame prediction mode (Inter). I-frames are used only for the intra-frame prediction mode Intra, and P-frames and B-frames are used in all prediction modes.
[23] Для Р-кадров и В-кадров стандарта HEVC режим внутрикадрового предсказания также является важным режимом предсказания. Внутрикадровый режим в основном означает предсказание значения текущего пикселя на основании закодированных пикселей и пространственной корреляции пикселей в видеоизображении, так что удаляется пространственная избыточность видеоизображения. Во внутрикадровом кодировании компоненты яркости согласно стандарту HEVC используется пять типов единиц предсказания PU: 4 х 4, 8 х 8, 16 х 16, 32 х 32 и 64 х 64, для единицы PU каждого размера имеется 35 режимов предсказания: постоянного тока (DC), плоский и 33 угловых режима, для компоненты цветности предусмотрено пять режимов предсказания, соответствующих: DC, плоскому, горизонтальному, перпендикулярному, и режиму предсказания, соответствующему компоненте яркости. Для каждого режима предсказания необходимо выполнить вычисления затрат на получение скорости и искажений, и процесс таких вычислений для принятия решения о режиме является сложным и времязатратным. В случае, когда с помощью быстрого алгоритма внутрикадрового кодирования единиц PU снижается ненужный выбор режима для оптимизации скорости и искажений (RDO), затраты ресурсов кодера снижаются в значительной степени, так что скорость кодирования возрастает, а затраты на кодирование снижаются.[23] For the P-frames and B-frames of the HEVC standard, the intra-frame prediction mode is also an important prediction mode. The intra-frame mode mainly means predicting the value of the current pixel based on the coded pixels and the spatial correlation of the pixels in the video image, so that the spatial redundancy of the video image is removed. In the intra-frame coding of the luminance component of the HEVC standard, five types of PU prediction units are used: 4 × 4, 8 × 8, 16 × 16, 32 × 32 and 64 × 64, for each PU size, there are 35 prediction modes: DC, flat and 33 angular modes, for the chrominance component, there are five prediction modes corresponding to DC, flat, horizontal, perpendicular, and a prediction mode corresponding to the luminance component. For each prediction mode, it is necessary to perform calculations on the cost of obtaining the rate and distortion, and the process of such calculations for deciding the mode is complex and time-consuming. In the case where unnecessary mode selection for rate and distortion optimization (RDO) is reduced by using a fast intra-frame PU coding algorithm, the resource cost of the encoder is reduced significantly, so that the coding rate increases and the coding cost decreases.
[24] Учитывая сказанное, согласно вариантам осуществления внутрикадровый режим быстро обрабатывается при межкадровом кодировании. Скорость сжатия кодера улучшается за счет упрощения сложной процедуры принятия решения о внутрикадровом режиме при межкадровом кодировании в кодере. Благодаря улучшению скорости сжатия кодера производительность службы перекодирования улучшается, так что ресурсы сервера экономятся, а затраты на перекодирование снижаются.[24] Taking this into account, according to embodiments, the intra-frame mode is processed quickly in inter-frame coding. The compression speed of the encoder is improved by simplifying the complex procedure of deciding on the intra-frame mode in inter-frame coding in the encoder. By improving the compression speed of the encoder, the performance of the transcoding service is improved, so that server resources are saved and the cost of transcoding is reduced.
[25] Следует отметить, что этот способ согласно вариантам осуществления применим к любой архитектуре гибридного кодирования с использованием блоков. Этот способ применим ко всем кодерам, удовлетворяющим требованиям стандарта HEVC, а другие кодеры, которые соответствуют стандартам, например, AVS1, Н.264, VP8, VP9, AVS2, AVS3, AV1 и VVC, могут после настройки непосредственно использовать этот способ. Кодер согласно вариантам осуществления применим как в службе перекодировки, так и в службе кодирования в режиме реального времени терминала мобильной связи.[25] It should be noted that this method according to the embodiments is applicable to any hybrid coding architecture using blocks. This method is applicable to all encoders that meet the requirements of the HEVC standard, and other encoders that comply with standards such as AVS1, H.264, VP8, VP9, AVS2, AVS3, AV1 and VVC can directly use this method after adjustment. The encoder according to the embodiments is applicable to both the transcoding service and the real-time coding service of the mobile communication terminal.
[26] Согласно вариантом осуществления способа в нем предусмотрены следующие стадии.[26] According to an embodiment of the method, the following stages are provided.
[27] На стадии S110 согласно выполняемому режиму определяется информация о выполняемом режиме в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима.[27] In step S110, according to the mode being executed, information about the mode being executed is determined in the process of deciding the best mode for the current prediction unit in the inter-frame prediction, wherein the information about the mode being executed includes a temporary best mode and a cost for the temporary best mode.
[28] На стадии S110 на основании информации о выполняемом режиме определяется, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.[28] At step S110, based on the information about the mode being executed, it is determined whether to skip the intra-frame prediction mode in the decision-making process.
[29] На фиг. 2 показана упрощенная блок-схема процесса принятия решения о единице предсказания PU межкадрового режима кодирования согласно некоторым вариантам осуществления настоящего раскрытия. В процессе принятия решения о межкадровом режиме единицы PU предусмотрены следующие процессы.[29] Fig. 2 shows a simplified flow chart of a process for deciding on a prediction unit PU of an interframe coding mode according to some embodiments of the present disclosure. In the process of deciding on the interframe mode of the PU, the following processes are provided.
[30] Прежде всего, выполняется режим объединения/пропуска (MERGE/SKIP) 2N х 2N. В случае соблюдения условия рекурсии выполняется рекурсивный режим для единицы кодирования CU, после выполнения рекурсии возвращается единица CU с размерами текущего блока, и непрерывно выполняется режим внутрикадрового предсказания (Intra). После завершения режима внутрикадрового предсказания (Intra) выполняется межкадровый режим 2N х 2N (блок наилучшего соответствия выбирается с помощью поиска вперед и назад), и затем выполняется двунаправленный поиск (BIDIR) 2N х 2N (для получения блока наилучшего соответствия выполняется только двунаправленной поиск). Непрерывно выполняются режимы типов 2N х N и N х 2N. Решение по режиму принимается после завершения одного режима для получения временного наилучшего режима (tempBestMode). Здесь N является положительным целым числом.[30] First of all, the MERGE/SKIP mode of 2N x 2N is executed. If the recursion condition is met, the recursive mode is executed for the coding unit CU, after the recursion is executed, the CU with the size of the current block is returned, and the intra-frame prediction mode (Intra) is continuously executed. After the intra-frame prediction mode (Intra) is completed, the inter-frame mode of 2N x 2N is executed (the best matching block is selected by forward and backward search), and then the bidirectional search (BIDIR) of 2N x 2N is executed (only bidirectional search is performed to obtain the best matching block). The 2N x N and N x 2N types of modes are continuously executed. A mode decision is made after the completion of one mode to obtain a temporary best mode (tempBestMode). Here, N is a positive integer.
[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).[31] After completing the N x 2N mode, in the case where the temporary best mode tempBestMode=2N x N, the modes 2N x nU and 2N x nD are continuously executed, and a comparison is made to obtain the final best mode BestMode; in the case where the temporary best mode tempBestMode=N x 2N, the modes nL x 2N and nR x 2N are continuously executed, and a comparison is made to obtain the final best mode (BestMode); and in the case where the temporary best mode tempBestMode !=2N x N && tempBestMode !=N x 2N, 2N x nU, the modes 2N x nD, nL x 2N, and nR x 2N are continuously executed, and a comparison is made to obtain the final best mode (BestMode).
[32] Следует отметить, что в случае, когда рекурсия для единицы CU выполняется на текущем блоке, затраты на наилучший режим BestMode сравниваются с затратами на рекурсию для определения, следует ли выполнять рекурсивное разделение кодируемой единицы CU.[32] It should be noted that in the case where recursion for a CU is performed on the current block, the cost of the best mode BestMode is compared with the cost of the recursion to determine whether to perform recursive partitioning of the CU being coded.
[33] Кроме того, для режимов, например, 2N х N, N х 2N, 2N х nU, 2N х nD, nL х 2N и nR х 2N, которые включают две единицы PU, для каждой единицы PU необходимо выполнить режим объединения/пропуска MERGE/SKIP, поиск вперед и назад и двунаправленный поиск для получения блока наилучшего соответствия.[33] Furthermore, for modes such as 2N x N, N x 2N, 2N x nU, 2N x nD, nL x 2N, and nR x 2N that involve two PUs, MERGE/SKIP, forward and backward search, and bidirectional search must be performed for each PU to obtain the best-matching block.
[34] Согласно некоторым вариантам осуществления, для вышеупомянутого процесса принятия решения, в случае, когда решение о наилучшем режиме для режима межкадрового предсказания выполняется на текущей единице предсказания PU, соответствующая информация о выполняемым режиме получается на основании выполняемого режима, и решение о том, следует ли пропускать режим внутрикадрового предсказания (Intra), в вышеупомянутым процессе принятия решения принимается на основании информации о выполняемом режиме.[34] According to some embodiments, for the above-mentioned decision-making process, in the case where a decision on the best mode for the inter-frame prediction mode is performed on the current prediction unit PU, the corresponding information on the mode to be executed is obtained based on the mode to be executed, and a decision on whether to skip the intra-frame prediction (Intra) mode is made in the above-mentioned decision-making process based on the information on the mode to be executed.
[35] В качестве примера укажем, что информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима. Согласно вариантам осуществления, для определения, следует ли пропускать внутрикадровый режим Intra, предусмотрены различные методы на основании различной информации о выполняемом режиме.[35] As an example, the information about the mode to be executed includes a temporary best mode and a cost for the temporary best mode. According to embodiments, various methods are provided for determining whether to skip the intra-frame mode Intra based on various information about the mode to be executed.
[36] В приведенном в качестве примера (иллюстративном) сценарии реализации пропуск внутрикадрового режима Intra означает пропуск части процессов внутрикадрового режима. Таким образом, при выполнении внутрикадрового режима Intra внутреннее решение Intra изменяется, так что в режиме Intra не выполняется оптимизация RDO, чтобы в значительной степени снизить сложность внутрикадрового режима Intra и сократить время кодирования. Решение о быстром внутрикадровом режиме сразу выполняется на основании информации межкадрового кодирования единицы PU для текущей единицы PU, чтобы определить, следует ли пропустить внутрикадровый режим без дополнительного объема вычислений и, следовательно, получить высокую эффективность затрат.[36] In the example (illustrative) implementation scenario, skipping the Intra intra-frame mode means skipping a part of the processes of the Intra mode. Thus, when executing the Intra intra-frame mode, the Intra intra-frame decision is changed so that the RDO optimization is not performed in the Intra mode, so as to greatly reduce the complexity of the Intra intra-frame mode and reduce the coding time. The fast intra-frame decision is immediately performed based on the inter-frame coding information of the PU for the current PU, to determine whether to skip the Intra mode without additional computation and thus achieve high cost efficiency.
[37] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на SATD для временного наилучшего режима. Как показано на фиг. 3, стадия S120 предусматривает следующие подстадии.[37] According to some embodiments, the costs of the temporary best mode include the costs of the SATD for the temporary best mode. As shown in Fig. 3, step S120 includes the following substeps.
[38] На подстадии S11 затраты на SATD для наилучшего внутрикадрового режима предсказания определяются с помощью грубого процесса принятия решения о SATD в режиме внутрикадрового предсказания для единицы предсказания.[38] In sub-stage S11, the SATD cost for the best intra-frame prediction mode is determined by a coarse decision process of the SATD in the intra-frame prediction mode for a prediction unit.
[39] Согласно некоторым вариантам осуществления, при выполнении внутрикадрового режима предсказания из всех доступных режимов внутрикадрового предсказания выбирается режим предсказания с наименьшими затратами в виде суммы абсолютных преобразованных разностей (SATD), совместно с затратами на SATD с низкой сложностью, и он определяется как наилучший режим внутрикадрового предсказания.[39] According to some embodiments, when performing an intra-frame prediction mode, from among all available intra-frame prediction modes, the prediction mode with the lowest sum of absolute transformed differences (SATD) cost, together with the low-complexity SATD cost, is selected and determined to be the best intra-frame prediction mode.
[40] На подстадии S12 согласно размеру единицы предсказания и совместно с затратами на SATD во временном наилучшем режиме и затратами на SATD в наилучшем режиме внутрикадрового предсказания определяется, следует ли пропускать последующий процесс внутрикадрового режима предсказания.[40] In sub-stage S12, according to the prediction unit size and together with the SATD cost in the temporal best mode and the SATD cost in the best intra-frame prediction mode, it is determined whether to skip the subsequent process of the intra-frame prediction mode.
[41] В этом процессе, после получения затрат на SATD во временном наилучшем режиме InterSATDCost и затрат на SATD в наилучшем режиме внутрикадрового предсказания RModeSATDCost определяется, следует ли пропускать последующий процесс внутрикадрового режима согласно единицам предсказания PU с различными размерами.[41] In this process, after obtaining the SATD cost in the temporal best mode InterSATDCost and the SATD cost in the intra-frame best prediction mode RModeSATDCost, it is determined whether to skip the subsequent process of the intra-frame mode according to the prediction units PUs with different sizes.
[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.[42] PU prediction units with different sizes include 2N x 2N PU units and N x N PU units. 2N x 2N PU units refer to PU units with sub-blocks of size 64 x 64, 32 x 32, 16 x 16, and 8 x 8, and N x N PU units refer to PU units with sub-blocks of size 4 x 4.
[43] Согласно некоторым вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен N х N, подстадия S12 предусматривает следующие подстадии более низкого уровня.[43] According to some embodiments, in the case where the size of the current prediction unit PU is N x N, sub-stage S12 provides the following lower-level sub-stages.
[44] На подстадии S121 определяется, будет ли для первой единицы предсказания с размером 4x4 применяться режим пропуска преобразования.[44] At sub-stage S121, it is determined whether the skip transform mode will be applied for the first prediction unit with size 4x4.
[45] Согласно вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен N х N, N х N является конкретным режимом внутрикадрового кодирования, в котором внутри кадровое кодирование выполняется только на единицах кодирования PU, которые можно непрерывно разделить на четыре 4 х 4 в разделенных единицах PU 8 x 8. Для кодирования единицы PU 4 x 4 конкретным режимом кодирования является режим с пропуском преобразования (TSKIP).[45] According to embodiments, in the case where the size of the current prediction unit PU is N x N, N x N is a specific intra-frame coding mode in which intra-frame coding is performed only on coding units of PUs that can be continuously divided into four 4 x 4 in divided 8 x 8 PUs. For coding a 4 x 4 PU, the specific coding mode is a transform skip (TSKIP) mode.
[46] Режим с пропуском преобразования является технологией, введенной в стандарте HEVC, с использованием множества внутрикадровых или межкадровых блоков 4 х 4. Он имеет очевидное влияние на замедление видеопоследовательности при изменении сцены, так что эффективность сжатия улучшается. Так как режимы пропуска преобразования четырех полученных единиц PU 4 x 4 являются соединенными, режимы пропуска преобразования первых единиц PU 4 x 4 определяются согласно вариантам осуществления, таким образом, факт соответствия единицы преобразования (TU) первой единице PU 4 x 4 означает принятие решения о режиме пропуска преобразования, так что определяется, следует ли пропускать невыполненный последующий процесс во внутрикадровом режиме.[46] The transform skip mode is a technology introduced in the HEVC standard, using a plurality of intra-frame or inter-frame 4 x 4 blocks. It has an obvious effect on slowing down the video sequence when the scene changes, so that the compression efficiency is improved. Since the transform skip modes of the four obtained 4 x 4 PUs are connected, the transform skip modes of the first 4 x 4 PUs are determined according to the embodiments, so that the fact that a transform unit (TU) corresponds to the first 4 x 4 PU means making a decision on the transform skip mode, so that it is determined whether to skip the unexecuted subsequent process in the intra-frame mode.
[47] На подстадии S122 на основании результата определения затрат на SATD во временном наилучшем режиме определяется порог затрат режима.[47] In sub-stage S122, based on the result of determining the cost of SATD in the temporary best mode, the cost threshold of the mode is determined.
[48] Согласно некоторым вариантам осуществления, в случае, когда для первой единицы PU 4 x 4 применяется режим пропуска преобразования, порог затрат режима определяется как произведение затрат на SATD во временном наилучшем режиме и первого настроечного множителя. В случае, когда для первой единицы PU 4 х 4 не применяется режим пропуска преобразования, порог затрат режима определяется как произведение затрат на SATD во временном наилучшем режиме и второго настроечного множителя. Второй настроечный множитель меньше первого настроечного множителя. Таким образом, порог затрат режима определяется согласно следующей формуле:[48] According to some embodiments, in the case where the skip transform mode is applied for the first 4 x 4 PU, the cost threshold of the mode is determined as the product of the cost of the SATD in the temporary best mode and a first tuning factor. In the case where the skip transform mode is not applied for the first 4 x 4 PU, the cost threshold of the mode is determined as the product of the cost of the SATD in the temporary best mode and a second tuning factor. The second tuning factor is less than the first tuning factor. Thus, the cost threshold of the mode is determined according to the following formula:
SATDCostThreshold=firstTskip ? InterSATDCost * al: InterSATDCost* b1.SATDCostThreshold=firstTskip ? InterSATDCost * al: InterSATDCost* b1.
[49] Здесь SATDCostThreshold обозначает порог затрат режима, firstTskip? обозначает определение того, будет ли для первой единицы PU 4 x 4 применяться режим пропуска преобразования (то есть, является ли первая единица PU 4 x 4 блоком TSKTP), InterSATDCost обозначает затраты на SATD во временном наилучшем режиме, al обозначает первый настроечный множитель, а b1 обозначает второй настроечный множитель.[49] Here, SATDCostThreshold denotes the mode cost threshold, firstTskip? denotes whether the first 4 x 4 PU is in the skip transform mode (i.e., whether the first 4 x 4 PU is a TSKTP block), InterSATDCost denotes the SATD cost in the temporary best mode, al denotes the first tuning multiplier, and b1 denotes the second tuning multiplier.
[50] В случае, когда firstTskip равен 1, а первая единица PU 4 x 4 является блоком TSKIP, SATDCostThreshold=InterSATDCost * a1. В случае, когда firstTskip равен 0, а первая единица PU 4 х 4 не является блоком TSKIP, SATDCostThreshold=InterSATDCost * b1.[50] In case firstTskip is 1 and the first 4 x 4 PU is a TSKIP block, SATDCostThreshold=InterSATDCost * a1. In case firstTskip is 0 and the first 4 x 4 PU is not a TSKIP block, SATDCostThreshold=InterSATDCost * b1.
[51] Следует отметить, что как TSKIP оказывает позитивное влияние на эффективность кодирования, в случае, когда первая единица PU 4 x 4 является блоком TSKIP, имеется высокая вероятности того, что последующие блоки являются блоками TSKIP. Следовательно, порог затрат режима улучшается для исключения пропуска. Следовательно, величина al настроена на значение больше, чем b1. Конкретные значения a1 и b1 настраиваются согласно фактическим требованиям. Например, a1 равно 0,5, a b1 равно 0,3.[51] It should be noted that since TSKIP has a positive effect on coding efficiency, in the case where the first 4 x 4 PU is a TSKIP block, there is a high probability that the subsequent blocks are TSKIP blocks. Therefore, the mode cost threshold is improved to eliminate skipping. Therefore, the value of al is adjusted to a value greater than b1. The specific values of a1 and b1 are adjusted according to actual requirements. For example, a1 is 0.5, and b1 is 0.3.
[52] На подстадии S123 последующий процесс режима внутрикадрового предсказания пропускается после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима.[52] In sub-step S123, the subsequent process of the intra-frame prediction mode is skipped after determining that the SATD cost in the best intra-frame prediction mode is greater than the mode cost threshold.
[53] После определения порога затрат режима затраты на SATD в наилучшем режиме внутрикадрового предсказания сравниваются с порогом затрат режима. В случае, когда затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима, затраты на внутрикадровое кодирование являются высокими. Во внутрикадровом режиме потребляется скорость кодирования и поэтому последующий процесс внутрикадрового режима пропускается.[53] After the mode cost threshold is determined, the SATD cost in the best intra-frame prediction mode is compared with the mode cost threshold. When the SATD cost in the best intra-frame prediction mode is greater than the mode cost threshold, the intra-frame coding cost is high. The intra-frame mode consumes coding rate, and therefore the subsequent intra-frame process is skipped.
[54] Согласно некоторым вариантам осуществления, условие определения дополнительно настраивается совместно с настроечными множителями. Различные требования для ускорения работы учитываются с помощью регулировки настроечных множителей. Например, решение о пропуске последующего процесса во внутрикадровом режиме определяется с помощью следующего условного выражения:[54] According to some embodiments, the determination condition is further adjusted in conjunction with the adjustment factors. Various requirements for speeding up the operation are taken into account by adjusting the adjustment factors. For example, the decision to skip a subsequent process in the intra-frame mode is determined by the following conditional expression:
[55] Таким образом, в случае, когда RModeSATDCost * с больше, чем d * SATDCostThreshold, затраты на кодирование при выполнении внутрикадрового режима являются высокими, и поэтому последующий процесс во внутрикадровом режиме пропускается. Величины end являются настроечными множителями, и они настраиваются согласно фактическим требованиям. Например, обе величины end равны 1.[55] Thus, in the case where RModeSATDCost * c is greater than d * SATDCostThreshold, the coding cost of performing intra-frame mode is high, and therefore the subsequent process in intra-frame mode is skipped. The end values are tuning multipliers, and they are adjusted according to the actual requirements. For example, both end values are equal to 1.
[56] Согласно некоторым вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен 2N х 2N, решение о пропуске последующего процесса во внутрикадровом режиме определяется совместно с условием рекурсивного кодирования. Как показано на фиг. 2, в случае, когда выполняемый режим включает в себя рекурсивный режим единицы кодирования CU, информация о выполняемом режиме дополнительно включает в себя значение отношения, при котором кодируемый подблок, соответствующий текущей единице CU, является подблоком внутрикадрового предсказания. Подблоком внутрикадрового предсказания является тот подблок, в котором определенный временный наилучший режим является режимом внутрикадрового предсказания. Например, для четырех подблоков единиц CU, полученных при разделении текущей единицы CU, в случае, когда число подблоков (то есть внутрикадровых подблоков), в которых предсказанный наилучший режим является внутрикадровый режимом, равно одному из четырех подблоков единиц CU, значение отношения равно 1/4. В случае, когда число подблоков, в которых предсказанный наилучший режим является внутрикадровый режимом, равно двум из четырех подблоков единиц CU, значение отношения равно 2/4.[56] According to some embodiments, in the case where the size of the current prediction unit PU is 2N x 2N, the decision to skip the subsequent process in the intra-frame mode is determined together with the recursive encoding condition. As shown in FIG. 2, in the case where the executed mode includes a recursive mode of the coding unit CU, the information about the executed mode further includes a value of the ratio at which the coded sub-block corresponding to the current CU is an intra-frame prediction sub-block. The intra-frame prediction sub-block is the sub-block in which the determined temporal best mode is an intra-frame prediction mode. For example, for four sub-blocks of CUs obtained by dividing the current CU, in the case where the number of sub-blocks (i.e., intra-frame sub-blocks) in which the predicted best mode is an intra-frame mode is one of the four sub-blocks of CUs, the value of the ratio is 1/4. In the case where the number of sub-blocks in which the predicted best mode is an intra-frame mode is equal to two out of four CU sub-blocks, the value of the ratio is 2/4.
[57] Согласно некоторым вариантам осуществления, в случае, когда размер текущей единицы предсказания PU равен 2N х 2N, подстадия S12 предусматривает следующие подстадии более низкого уровня.[57] According to some embodiments, in the case where the size of the current prediction unit PU is 2N x 2N, sub-stage S12 provides the following lower-level sub-stages.
[58] Последующий процесс режима внутрикадрового предсказания пропускается после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше затрат на SATD во временном наилучшем режиме, и значение отношения меньше заранее определенного порога отношения.[58] The subsequent process of the intra-frame prediction mode is skipped after determining that the SATD cost in the best intra-frame prediction mode is greater than the SATD cost in the temporal best mode, and the ratio value is less than a predetermined ratio threshold.
[59] Например, решение о пропуске последующего процесса во внутрикадровом режиме определяется с помощью следующего условного выражения:[59] For example, the decision to skip a subsequent process in intraframe mode is determined using the following conditional expression:
[60] Здесь Ra обозначает значение отношения, при котором подблок единицы CU, соответствующий текущей единице CU, является внутрикадровый подблоком, а величины е, f и g соответственно обозначают настроечные множители, и они настраиваются согласно фактическим требованиям. Например, значения е, f и g соответственно настроены равными 1, 1 и 0,75.[60] Here, Ra denotes a ratio value at which the CU sub-block corresponding to the current CU is an intra-frame sub-block, and the values of e, f, and g respectively denote tuning factors, and they are adjusted according to actual requirements. For example, the values of e, f, and g are respectively adjusted to 1, 1, and 0.75.
[61] Что касается приведенной выше формулы, в случае, когда RModeSATDCost * е>f * InterSATDCost, затраты на кодирование с внутрикадровым предсказанием являются высокими. В случае, когда величина Ra подблока единицы CU является небольшой, например, меньше, чем g, вероятность, что лучший режим для соответствующей единицы CU является внутрикадровым режимом, является низкой. Следовательно, последующий процесс режима внутрикадрового предсказания сразу пропускается для преждевременного завершения выполнения внутрикадрового режима, так что экономится время предсказания и эффективность кодирования улучшается.[61] With respect to the above formula, in the case where RModeSATDCost * e>f * InterSATDCost, the cost of intra-frame prediction coding is high. In the case where the Ra value of the CU sub-block is small, for example, less than g, the probability that the best mode for the corresponding CU is the intra-frame mode is low. Therefore, the subsequent process of the intra-frame prediction mode is immediately skipped to prematurely terminate the execution of the intra-frame mode, so that the prediction time is saved and the coding efficiency is improved.
[62] Согласно некоторым вариантам осуществления, в случае, когда в ходе стадий S11 и S12 определено, что последующий процесс режима внутрикадрового предсказания не пропускается, последующий процесс режима внутрикадрового предсказания продолжает непрерывно выполняться. Например, кандидат для режима предсказания, грубо выбранный по SATD, и самый возможный режим (СВР) образуют набор кандидатов для режима предсказания. СВР вычисляется на основании режимов внутрикадрового предсказания соседних единиц PU, и соседними единицами PU являются соответственно верхний блок, левый блок и верхний левый блок. Затем над кандидатами для режима предсказания выполняется оптимизация RDO для получения наилучшего режима внутрикадрового предсказания.[62] According to some embodiments, in the case where it is determined in steps S11 and S12 that the subsequent process of the intra-frame prediction mode is not skipped, the subsequent process of the intra-frame prediction mode continues to be continuously executed. For example, a candidate for the prediction mode roughly selected by the SATD and the most possible mode (MOP) form a set of candidates for the prediction mode. The MOP is calculated based on the intra-frame prediction modes of neighboring PUs, and the neighboring PUs are the upper block, the left block, and the upper left block, respectively. Then, RDO optimization is performed on the candidates for the prediction mode to obtain the best intra-frame prediction mode.
[63] В другом приведенном в качестве примера (иллюстративном) сценарии реализации пропуск внутрикадрового режима Intra означает пропуск всего процесса внутрикадрового режима, и внутрикадровый режим вообще не выполняется для экономии времени кодирования. В ходе процесса принятия решения о наилучшем межкадровом режиме, решение о пропуске внутрикадрового режима принимается на основании информации временного наилучшего режима, и временный наилучший режим является переменной, зависящей от различных условий, и она характеризуется адаптивной регулировкой и высокой устойчивостью.[63] In another example (illustrative) implementation scenario, skipping the intra-frame mode means skipping the entire process of the intra-frame mode, and the intra-frame mode is not performed at all to save encoding time. In the process of deciding the best inter-frame mode, the decision to skip the intra-frame mode is made based on the information of the temporary best mode, and the temporary best mode is a variable depending on various conditions, and it is characterized by adaptive adjustment and high stability.
[64] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на RDO для временного наилучшего режима. Как показано на фиг. 4, стадия S120 предусматривает следующие подстадии.[64] According to some embodiments, the costs of the temporary best mode include the costs of the RDO for the temporary best mode. As shown in Fig. 4, step S120 includes the following substeps.
[65] На подстадии S21 определяется, включает ли в себя выполняемый режим рекурсивный режим единицы кодирования.[65] In sub-stage S21, it is determined whether the executed mode includes a recursive mode of the coding unit.
[66] На подстадии S22 по результатам рассмотрения временного наилучшего режима и/или расходов на RDO для временного наилучшего режима определяется, пропускать ли режим внутрикадрового предсказания в процессе принятия решения.[66] At sub-step S22, based on the results of considering the temporal best mode and/or the RDO costs for the temporal best mode, it is determined whether to skip the intra-frame prediction mode in the decision making process.
[67] Согласно некоторым вариантам осуществления, в случае, когда выполняемый режим включает в себя рекурсивный режим единицы кодирования CU, информация о выполняемом режиме дополнительно включает в себя один или комбинацию из следующих элементов: сумма затрат на RDO кодируемых подблоков, соответствующих текущей единице кодирования, первый флаг с информацией, указывающей, является ли текущая единица кодирования блоком из всех нулей, и второй флаг с информацией, указывающей, включает ли в себя кодируемый подблок, соответствующий текущей единице кодирования, подблок внутрикадрового предсказания. Подблоком внутрикадрового предсказания является тот подблок, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания. Подстадия S22 предусматривает следующую подстадию более низкого уровня:[67] According to some embodiments, in the case where the executed mode includes a recursive mode of the coding unit CU, the information about the executed mode further includes one or a combination of the following elements: a sum of the RDO costs of the coded sub-blocks corresponding to the current coding unit, a first flag with information indicating whether the current coding unit is an all-zero block, and a second flag with information indicating whether the coded sub-block corresponding to the current coding unit includes an intra-frame prediction sub-block. The intra-frame prediction sub-block is the sub-block in which the predicted best mode is an intra-frame prediction mode. Sub-step S22 provides the following lower-level sub-step:
[68] пропуск внутрикадрового режима в процессе принятия решения после определения, что соблюдается одно или несколько из следующих условий.[68] skipping the intraframe mode in the decision-making process after determining that one or more of the following conditions are met.
[69] Условие 1: сумма затрат на RDO больше затрат на RDO для временного наилучшего режима.[69] Condition 1: The sum of the RDO costs is greater than the RDO costs for the temporary best mode.
[70] Так как выполняемые режимы являются режимами, выполняемыми с RDO, после выполнения режимов появляется соответствующая информация RDO (то есть информация о выполненным режиме).[70] Since the modes executed are modes executed with RDO, after the modes are executed, the corresponding RDO information (i.e. information about the executed mode) appears.
[71] После выполнения рекурсивного режима единицы CU определяются затраты на RDO для каждого подблока единицы CU, и вычисляется сумма затрат на RDO для всех подблоков CU, чтобы получить сумму затрат на RDO (то есть, затраты на рекурсию). В случае, когда сумма затрат на RDO больше затрат на RDO для временного наилучшего режима, затраты на рекурсию больше, чем затраты временного наилучшего режима, и поэтому рекурсивное разделение единицы CU не выполняется. Следовательно, экономится скорость кодирования. Во внутрикадровом режиме потребляется скорость кодирования и поэтому скорость кодирования экономится с помощью пропуска внутрикадрового режима в случае, когда сумма затрат на RDO больше затрат на RDO для временного наилучшего режима.[71] After performing the recursive mode of the CU unit, the RDO cost for each sub-block of the CU unit is determined, and the sum of the RDO costs for all the sub-blocks of the CU is calculated to obtain the sum of the RDO costs (i.e., the recursion cost). In the case where the sum of the RDO costs is greater than the RDO cost of the temporal best mode, the recursion cost is greater than the cost of the temporal best mode, and therefore the recursive division of the CU unit is not performed. Therefore, the coding rate is saved. In the intra-frame mode, the coding rate is consumed, and therefore the coding rate is saved by skipping the intra-frame mode in the case where the sum of the RDO costs is greater than the RDO cost of the temporal best mode.
[72] Условие 2: информация первого флага указывает, что текущая единица кодирования является блоком из всех нулей.[72] Condition 2: The first flag information indicates that the current coding unit is a block of all zeros.
[73] Согласно этому условию, в том случае, когда информация первого флага указывает, что текущий блок является блоком из всех нулей, поскольку скорость кодирования, потребляемая блоком из всех нулей, является низкой, а во внутрикадровом режиме потребляется скорость кодирования, и два этих утверждения являются противоречивыми, и поэтому вероятность, что лучшим режимом для блока из всех нулей является внутрикадровый режим, оказывается низкой, и внутрикадровый режим пропускается в случае, когда текущий блок является блоком из всех нулей.[73] According to this condition, in the case where the first flag information indicates that the current block is an all-zero block, because the coding rate consumed by the all-zero block is low, and the intra-frame mode consumes the coding rate, and these two statements are contradictory, and therefore the probability that the best mode for the all-zero block is the intra-frame mode is low, and the intra-frame mode is skipped in the case where the current block is an all-zero block.
[74] Условие 3: информация второго флага указывает, что кодируемый подблок, соответствующий текущей единице кодирования, не включает в себя подблок внутрикадрового предсказания.[74] Condition 3: The second flag information indicates that the coded sub-block corresponding to the current coding unit does not include an intra-frame prediction sub-block.
[75] Согласно этому условию, в том случае, когда кодируемый подблок не включает в себя подблок внутрикадрового предсказания (то есть кодируемый подблок не включает в себя подблок, для которого предсказанный наилучший режим является внутрикадровым режимом), вероятность, что наилучшим режимом для текущего блока является внутрикадровый режим, оказывается низкой. Следовательно, в случае, когда подблок не включает в себя внутрикадровый подблок, внутрикадровый режим сразу пропускается.[75] According to this condition, in the case where the sub-block being coded does not include an intra-frame prediction sub-block (i.e., the sub-block being coded does not include a sub-block for which the predicted best mode is an intra-frame mode), the probability that the best mode for the current block is an intra-frame mode is low. Therefore, in the case where the sub-block does not include an intra-frame sub-block, the intra-frame mode is skipped immediately.
[76] Согласно некоторым вариантам осуществления, для улучшения точности определения и снижения потерь, вышеуказанные три условия объединяются для их рассмотрения. Например, объединяются условия 1 и 2. В случае, когда условия 1 и 2 выполняются одновременно, внутрикадровый режим пропускается, как показано в следующем определяющем условном выражении:[76] According to some embodiments, in order to improve the determination accuracy and reduce losses, the above three conditions are combined for consideration. For example, conditions 1 and 2 are combined. In the case where conditions 1 and 2 are met simultaneously, the intra-frame mode is skipped, as shown in the following defining conditional expression:
[77] здесь обозначает затраты на RDO для подблока единицы CU, а обозначает сумму затрат на RDO для подблоков, BestModeRdCost является затратами на RDO для временного наилучшего режима, BestMode->CBF обозначает информацию первого флага, используемую для указания, что кодируемый текущий блок является блоком из всех нулей, splitIntra обозначает информацию второго флага, используемые для указания, что подблоки включают в себя внутрикадровый блок, а2 и b2 являются настроечными множителями, которые регулируются согласно фактическим требованиям. Например, а2 и b2 настраиваются как 1 по умолчанию.[77] here denotes the RDO cost for a sub-block of a CU unit, and denotes the sum of RDO costs for sub-blocks, BestModeRdCost is the RDO cost for the temporary best mode, BestMode->CBF denotes the first flag information used to indicate that the current block being encoded is an all-zeros block, splitIntra denotes the second flag information used to indicate that the sub-blocks include an intra-frame block, a2 and b2 are tuning factors that are adjusted according to actual requirements. For example, a2 and b2 are configured as 1 by default.
[78] Согласно вышеуказанному определяющему условному выражении, в случае, когда условия и !BestMode->CBF выполняются одновременно, то есть текущий блок является блоком из всех нулей, и сумма затрат на RDO больше затрат на RDO для временного наилучшего режима, внутрикадровый режим пропускается. Согласно альтернативному варианту, в случае, когда подблоки не включают в себя внутрикадровый подблок, внутрикадровый режим также пропускается.[78] According to the above defining conditional expression, in the case where the conditions and !BestMode->CBF are executed simultaneously, i.e., the current block is an all-zero block, and the sum of the RDO costs is greater than the RDO cost of the temporary best mode, the intra-frame mode is skipped. Alternatively, in the case where the sub-blocks do not include the intra-frame sub-block, the intra-frame mode is also skipped.
[79] Согласно некоторым вариантам осуществления, в случае, когда выполняемый режим не включает в себя рекурсивный режим единицы CU, подстадия S22 предусматривает следующую подстадию более низкого уровня.[79] According to some embodiments, in the case where the executed mode does not include the recursive mode of the CU unit, sub-stage S22 provides for the next lower-level sub-stage.
[80] В случае, когда временный наилучший режим является режимом пропуска (SKIP), режим внутрикадрового предсказания пропускается[80] In the case where the temporal best mode is the SKIP mode, the intra-frame prediction mode is skipped.
[81] Согласно вариантам осуществления, поскольку в режиме пропуска (SKIP) экономится скорость кодирования, а во внутрикадровом режиме потребляется скорость кодирования, для экономии скорости кодирования внутрикадровый режим сразу пропускается в случае, когда временный наилучший режим определен как режим пропуска (SKIP) на основании выполняемого режима.[81] According to embodiments, since the SKIP mode saves coding rate and the intra-frame mode consumes coding rate, in order to save coding rate, the intra-frame mode is skipped immediately in the case where the temporary best mode is determined to be the SKIP mode based on the mode being executed.
[82] Согласно некоторым вариантам осуществления, в случае, когда внутрикадровый режим нельзя пропустить во время выполнения подстадий S21 и S22, в вариантах осуществления дополнительно предусмотрена следующая подстадия более низкого уровня.[82] According to some embodiments, in the case where the intra-frame mode cannot be skipped during the execution of sub-steps S21 and S22, the embodiments further provide the following lower-level sub-step.
[83] Затраты на SATD во внутрикадровом режиме 2N х 2N определяются с помощью выполнения внутрикадрового кодирования 2N х 2N для текущей единицы кодирования, и режим внутрикадрового предсказания N х N пропускается после определения, что затраты на SATD во внутрикадровом режиме 2N х 2N больше затрат на SATD во временном наилучшем режиме.[83] The SATD cost in the 2N x 2N intra-frame mode is determined by performing 2N x 2N intra-frame coding for the current coding unit, and the N x N intra-frame prediction mode is skipped after determining that the SATD cost in the 2N x 2N intra-frame mode is greater than the SATD cost in the temporal best mode.
[84] Согласно вариантам осуществления, в случае, когда внутрикадровый режим нельзя пропустить во время выполнения подстадий S21 и S22, для текущей единицы кодирования CU сначала выполняется внутрикадровое кодирование 2N х 2N и определяются затраты на SATD во внутрикадровом режиме 2N х 2N. Затем затраты на SATD во внутрикадровом режиме 2N х 2N сравниваются с затратами на SATD во временном наилучшем режиме для определения, следует ли пропускать внутрикадровый режим N х N.[84] According to embodiments, in the case where the intra-frame mode cannot be skipped during the execution of sub-steps S21 and S22, for the current coding unit CU, 2N x 2N intra-frame coding is first performed and the SATD cost in the 2N x 2N intra-frame mode is determined. Then, the SATD cost in the 2N x 2N intra-frame mode is compared with the SATD cost in the temporal best mode to determine whether to skip the N x N intra-frame mode.
[85] Например, решение о пропуске внутрикадрового режима N х N определяется с помощью следующего условного выражения:[85] For example, the decision to skip an N x N intraframe mode is determined using the following conditional expression:
[86] Здесь Intra2N х 2NSATDCost обозначает затраты на SATD во внутрикадровом режиме 2N х 2N, BestModeSATDCost обозначает затраты на SATD во временном наилучшем режиме, а величины а3 и b3 обозначают настроечные множители, и они настроены согласно фактическим требованиям. Например, значения а3 и b3 настроены как 10 и 11 соответственно.[86] Here, Intra2N x 2NSATDCost denotes the SATD cost in the intra-frame 2N x 2N mode, BestModeSATDCost denotes the SATD cost in the temporal best mode, and the values of a3 and b3 denote tuning factors, and they are tuned according to the actual requirements. For example, the values of a3 and b3 are tuned as 10 and 11, respectively.
[87] Согласно вариантам осуществления, информация о выполняемом режиме получается на основании выполняемого режима при принятии решения о наилучшем режиме для текущей единицы предсказания в режиме межкадрового предсказания. Информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима. Затем на основании информации о выполняемом режиме принимается решение о том, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, так что использование внутрикадрового режима снижается, затраты ресурсов кодера снижаются в значительной степени, скорость кодирования улучшается, и затраты на кодирование снижаются. Согласно вариантам осуществления, с помощью принятия решения о пропуске внутрикадрового режима скорость кодирования возрастает на 15% при условии, что ухудшение степени сжатия в кодере составляет 0,2%. В рамках применения онлайнового перекодирования экономия вычислительных ресурсов сервера составляет 15% при незначительной потере качества изображения, так что затраты на перекодирование снижаются.[87] According to embodiments, information about the mode to be executed is obtained based on the mode to be executed when deciding on the best mode for the current prediction unit in the inter-prediction mode. The information about the mode to be executed includes a temporal best mode and a cost for the temporal best mode. Then, based on the information about the mode to be executed, a decision is made whether to skip the intra-prediction mode in the decision process, so that the use of the intra-prediction mode is reduced, the resource cost of the encoder is reduced significantly, the encoding speed is improved, and the encoding cost is reduced. According to embodiments, by deciding to skip the intra-prediction mode, the encoding speed is increased by 15% under the condition that the compression ratio degradation in the encoder is 0.2%. In the context of applying online transcoding, the server computing resource is saved by 15% with a slight loss in image quality, so that the transcoding cost is reduced.
[88] На фиг. 5 показана структурная схема устройства для прогнозного видеокодирования согласно некоторым вариантам осуществления настоящего раскрытия. Устройство включает в себя следующие модули:[88] Fig. 5 shows a block diagram of an apparatus for predictive video coding according to some embodiments of the present disclosure. The apparatus includes the following modules:
[89] модуль 510 определения информации о выполняемом режиме, выполненный с возможностью определить, согласно выполняемому режиму, информацию о выполняемом режиму в процессе принятия решения о наилучшем режиме для текущей единицы предсказания при межкадровом предсказании, причем информация о выполняемом режиме включает в себя временный наилучший режим и затраты для временного наилучшего режима; и[89] an execution mode information determining module 510 configured to determine, according to an execution mode, information about the execution mode in a process of deciding a best mode for a current prediction unit in inter-picture prediction, wherein the execution mode information includes a temporary best mode and a cost for the temporary best mode; and
[90] модуль 520 определения пропуска режима внутрикадрового предсказания, выполненный с возможностью определить, на основании информации о выполняемом режиме, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения.[90] an intra-frame prediction mode skip determination module 520 configured to determine, based on information about the mode being executed, whether to skip the intra-frame prediction mode in the decision-making process.
[91] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на SATD для временного наилучшего режима. Модуль 520 определения пропуска режима внутрикадрового предсказания включает в себя следующие подмодули:[91] According to some embodiments, the cost of the temporal best mode includes the cost of the SATD for the temporal best mode. The intra-frame prediction mode skip determination module 520 includes the following submodules:
[92] подмодуль принятия грубого решения о SATD, выполненный с возможностью определить затраты на SATD для наилучшего внутрикадрового режима предсказания с помощью грубого процесса принятия решения о SATD в режиме внутрикадрового предсказания для единицы предсказания; и[92] a coarse SATD decision submodule configured to determine the SATD cost for the best intra-frame prediction mode using a coarse SATD decision process in the intra-frame prediction mode for a prediction unit; and
[93] подмодуль определения первого пропуска во внутрикадровом режиме, выполненный с возможностью определить, следует ли пропускать последующий процесс внутрикадрового режима предсказания согласно размеру единицы предсказание и совместно с учетом затрат на SATD во временном наилучшем режиме и затрат на SATD в наилучшем режиме внутрикадрового предсказания.[93] a first skip determination submodule in an intra-frame mode, configured to determine whether to skip a subsequent process of an intra-frame prediction mode according to a prediction unit size and in conjunction with the SATD cost in the temporal best mode and the SATD cost in the best intra-frame prediction mode.
[94] Согласно некоторым вариантам осуществления, размер единицы предсказания составляет N х N, где N является положительным целым числом. Подмодуль определения первого пропуска во внутрикадровом режиме выполнен с возможностью:[94] According to some embodiments, the prediction unit size is N x N, where N is a positive integer. The intra-frame first gap determination submodule is configured to:
[95] определить, можно ли для первой единицы предсказания с размером 4 x 4 применить режим пропуска преобразования;[95] determine whether the first 4 x 4 prediction unit can be given a skip transform mode;
[96] определить порог затрат на режим на основании результата определения затрат на SATD во временном наилучшем режиме; и[96] determine the cost threshold for the mode based on the result of determining the SATD costs in the temporary best mode; and
[97] пропустить последующий процесс режима внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше порога затрат режима.[97] skip the subsequent process of the intra-frame prediction mode after determining that the SATD cost of the best intra-frame prediction mode is greater than the mode cost threshold.
[98] Согласно некоторым вариантам осуществления, подмодуль определения первого пропуска во внутрикадровом режиме выполнен с возможностью:[98] According to some embodiments, the intra-frame first skip determination submodule is configured to:
[99] определить порог затрат режима как произведение затрат на SATD во временном наилучшем режиме и первого настроечного множителя после определения, что для первой единицы предсказания с размером 4 x 4 применяется режим пропуска преобразования; и[99] define the mode cost threshold as the product of the SATD cost in the temporal best mode and the first tuning factor after determining that the skip transform mode is applied for the first 4 x 4 prediction unit; and
[100] определить порог затрат режима как произведение затрат на SATD во временном наилучшем режиме и второго настроечного множителя после определения, что для первой единицы предсказания с размером 4 х 4 не применяется режим пропуска преобразования, причем второй настроечный множитель меньше первого настроечного множителя.[100] define the mode cost threshold as the product of the SATD cost in the temporal best mode and the second tuning factor after determining that for the first 4 x 4 prediction unit the skip transform mode is not applied, and the second tuning factor is less than the first tuning factor.
[101] Согласно некоторым вариантам осуществления, в случае, когда размер единицы предсказания составляет 2N х 2N, выполняемый режим включает в себя рекурсивный режим единицы кодирования, и информация о выполняемом режиме включает в себя значение отношения, при котором кодируемый подблок, соответствующий текущей единице кодирования, является подблоком внутрикадрового предсказания; причем подблок внутрикадрового предсказания является подблоком, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания; и[101] According to some embodiments, in a case where the prediction unit size is 2N x 2N, the executed mode includes a recursive mode of the coding unit, and the information about the executed mode includes a value of a ratio at which a coded sub-block corresponding to the current coding unit is an intra-frame prediction sub-block; wherein the intra-frame prediction sub-block is a sub-block in which the predicted best mode is an intra-frame prediction mode; and
[102] подмодуль определения первого пропуска во внутрикадровом режиме выполнен с возможностью:[102] the submodule for determining the first gap in the intra-frame mode is configured to:
[103] пропустить последующий процесс режима внутрикадрового предсказания после определения, что затраты на SATD в наилучшем режиме внутрикадрового предсказания больше затрат на SATD во временном наилучшем режиме, и значение отношения меньше заранее определенного порога отношения.[103] skip the subsequent process of the intra-frame prediction mode after determining that the SATD cost in the best intra-frame prediction mode is greater than the SATD cost in the temporal best mode, and the ratio value is less than a predetermined ratio threshold.
[104] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим включают в себя затраты на RDO во временном наилучшем режиме. Модуль 520 определения пропуска режима внутрикадрового предсказания включает в себя следующие подмодули:[104] According to some embodiments, the cost of the temporal best mode includes the cost of the RDO in the temporal best mode. The intra-frame prediction mode skip determination module 520 includes the following submodules:
[105] подмодуль определения рекурсии, выполненный с возможностью определить, включает ли в себя выполняемый режим рекурсивный режим единицы кодирования; и[105] a recursion determination submodule configured to determine whether the executed mode includes a recursive mode of the coding unit; and
[106] подмодуль определения второго пропуска внутрикадрового режима, выполненный с возможностью определить, следует ли пропускать режим внутрикадрового предсказания в процессе принятия решения, определение проводится по результатам определения, по меньшей мере, одной из следующих величин: временного наилучшего режима и расходов на RDO для временного наилучшего режима.[106] a second intra-frame mode skip determination submodule configured to determine whether to skip the intra-frame prediction mode in the decision-making process, the determination being made based on the results of determining at least one of the following values: a temporal best mode and an RDO cost for the temporal best mode.
[107] Согласно некоторым вариантам осуществления, после определения, что выполняемый режим включает в себя рекурсивный режим единицы кодирования, информация о выполняемом режиме дополнительно включает в себя один из или комбинацию из следующих элементов информации: сумма затрат на RDO кодируемых подблоков, соответствующих текущей единице кодирования, первый флаг с информацией, указывающей, является ли текущая единица кодирования блоком из всех нулей, и второй флаг с информацией, указывающей, включает ли в себя кодируемый подблок, соответствующий текущей единице кодирования, подблок внутрикадрового предсказания, причем подблок внутрикадрового предсказания является подблоком, в котором предсказанный наилучший режим является режимом внутрикадрового предсказания, и[107] According to some embodiments, after determining that the mode to be performed includes a recursive mode of the coding unit, the information about the mode to be performed further includes one or a combination of the following information: a sum of the RDO costs of the coded sub-blocks corresponding to the current coding unit, a first flag with information indicating whether the current coding unit is an all-zero block, and a second flag with information indicating whether the coded sub-block corresponding to the current coding unit includes an intra-frame prediction sub-block, wherein the intra-frame prediction sub-block is a sub-block in which the predicted best mode is an intra-frame prediction mode, and
[108] подмодуль определения второго пропуска во внутрикадровом режиме выполнен с возможностью:[108] the submodule for determining the second gap in the intra-frame mode is configured to:
[109] пропускать внутрикадровый режим в процессе принятия решения после определения, что соблюдается одно или несколько из следующих условий:[109] skip the intraframe mode in the decision-making process after determining that one or more of the following conditions are met:
[110] сумма затрат на RDO больше затрат на RDO для временного наилучшего режима,[110] the sum of the RDO costs is greater than the RDO costs for the temporary best mode,
[111] информация первого флага указывает, что текущая единица кодирования является блоком из всех нулей, и[111] The first flag information indicates that the current coding unit is a block of all zeros, and
[112] информация второго флага указывает, что кодируемый подблок, соответствующий текущей единице кодирования, не включает в себя подблок внутрикадрового предсказания.[112] the second flag information indicates that the coded sub-block corresponding to the current coding unit does not include an intra-frame prediction sub-block.
[113] Согласно некоторым вариантам осуществления, после определения что выполняемый режим не содержит рекурсивного режима единицы кодирования, подмодуль определения второго пропуска во внутрикадровом режиме выполнен с возможностью:[113] According to some embodiments, after determining that the mode being executed does not include a recursive mode of the coding unit, the second skip determination submodule in the intra-frame mode is configured to:
[114] пропускать режим внутрикадрового предсказания после определения, что временный наилучший режим является режимом пропуска (SKIP).[114] skip the intra-frame prediction mode after determining that the temporal best mode is the SKIP mode.
[115] Согласно некоторым вариантам осуществления, затраты временного наилучшего режим дополнительно включают в себя затраты на SATD для временного наилучшего режима. Устройство дополнительно включает в себя:[115] According to some embodiments, the costs of the temporary best mode further include the costs of the SATD for the temporary best mode. The device further includes:
[116] модуль внутрикадрового кодирования 2N х 2N, выполненный с возможностью определить затраты на SATD для внутрикадрового кодирования 2N х 2N с помощью выполнения внутрикадрового кодирования 2N х 2N для текущей единицы кодирования на основании результата об отсутствии пропуска режима внутрикадрового предсказания в процессе принятия решения; и[116] a 2N x 2N intra-frame coding module configured to determine a SATD cost for the 2N x 2N intra-frame coding by performing the 2N x 2N intra-frame coding for the current coding unit based on the result of not skipping the intra-frame prediction mode in the decision process; and
[117] Модуль определения пропуска внутрикадрового режима N х N, выполненный с возможностью пропускать режим внутрикадрового предсказания N х N после определения, что затраты на SATD во внутрикадровом режиме 2N х 2N больше затрат на SATD во временном наилучшем режиме.[117] An N x N intra-frame mode skip determination module configured to skip the N x N intra-frame prediction mode after determining that the SATD cost in the 2N x 2N intra-frame mode is greater than the SATD cost in the temporal best mode.
[118] Следует отметить, что вышеупомянутое устройство для прогнозного видеокодирования согласно вариантам осуществления настоящего раскрытия выполняет способы для прогнозного видеокодирования согласно вариантам осуществления настоящего раскрытия, и оно оснащено функциональными модулями для получения преимуществ, соответствующих выполняемым способам.[118] It should be noted that the above-mentioned apparatus for predictive video encoding according to the embodiments of the present disclosure performs the methods for predictive video encoding according to the embodiments of the present disclosure, and is equipped with functional modules for obtaining advantages corresponding to the methods performed.
[119] На фиг. 6 показана упрощенная блок-схема электронного устройства согласно некоторым вариантам осуществления настоящего раскрытия. Как показано на фиг. 6, электронное устройство включает в себя процессор 610, память 620, входную аппаратуру 630 и выходную аппаратуру 640. Количество процессоров 610 в электронном устройстве равно одному или нескольким, и на фиг. 6 в качестве примера показан один процессор 610. Процессор 610, память 620, входная аппаратура 630 и выходная аппаратура 640 в электронном устройстве соединены с помощью шины или другими средствами, и на фиг. 6 в качестве примера показано соединение шиной.[119] Fig. 6 shows a simplified block diagram of an electronic device according to some embodiments of the present disclosure. As shown in Fig. 6, the electronic device includes a processor 610, a memory 620, an input hardware 630, and an output hardware 640. The number of processors 610 in the electronic device is one or more, and Fig. 6 shows one processor 610 as an example. The processor 610, memory 620, input hardware 630, and output hardware 640 in the electronic device are connected by a bus or other means, and Fig. 6 shows a bus connection as an example.
[120] Память 620, как машиночитаемый носитель данных, выполнена с возможностью хранить программы программного обеспечения, выполняемую компьютером программу и модуль, например, инструкции программы или модуль, соответствующий способам согласно вариантам осуществления настоящего раскрытия. Процессор 610 выполняет различные функциональные прикладные программы и обработку данных в электронном устройстве, то есть, выполняет вышеуказанные способы, он осуществляет это с помощью выполнения хранящихся в памяти 620 программы программного обеспечения, инструкций и модуля.[120] Memory 620, as a computer-readable storage medium, is configured to store software programs, a computer-executable program and a module, such as program instructions or a module, corresponding to the methods according to embodiments of the present disclosure. Processor 610 executes various functional application programs and data processing in the electronic device, that is, executes the above-mentioned methods, it does this by executing the software program, instructions and module stored in memory 620.
[121] Память 620 в основном содержит в себе область хранения программ и область хранения данных.[121] The memory 620 mainly contains a program storage area and a data storage area.
[122] В области хранения программ хранится операционная система и прикладная программа, которая требуется для выполнения, по меньшей мере, одной функции; а в области хранения данных хранятся данные, созданные при использовании терминала. Более того, память 620 включает в себя высокоскоростное оперативное запоминающее устройство, и дополнительно содержит энергонезависимую память, например, по меньшей мере, один накопитель на жестком магнитном диске, флеш-память или другую энергонезависимую полупроводниковую память. Согласно некоторым вариантам осуществления, память 620 включает в себя устройства памяти, расположенные дистанционно относительно процессора 610, и эти дистанционные устройства памяти подключены к электронному устройству по сети. Примеры вышеупомянутой сети включают в себя, помимо прочего, интернет, интранет, локальную вычислительную сеть, сеть мобильной связи и их комбинацию.[122] The program storage area stores an operating system and an application program that is required to perform at least one function; and the data storage area stores data created during use of the terminal. Moreover, the memory 620 includes a high-speed random access memory device, and further comprises a non-volatile memory, such as at least one hard disk drive, flash memory or other non-volatile semiconductor memory. According to some embodiments, the memory 620 includes memory devices located remotely relative to the processor 610, and these remote memory devices are connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile network and a combination thereof.
[123] Входная аппаратура 630 принимает вводимую цифровую или текстовую информацию, и создает сигнал ввода с клавиш, относящийся к пользователю, настраивающему электронное устройство или осуществляющему управление им. Выходная аппаратура 640 включает в себя устройство отображения, например, экран дисплея.[123] Input apparatus 630 receives input digital or text information and creates a key input signal related to a user configuring or operating an electronic device. Output apparatus 640 includes a display device, such as a display screen.
[124] Согласно некоторым вариантам осуществления настоящего раскрытия дополнительно предложен носитель данных, содержащий выполняемые компьютером инструкции. Выполняемые компьютером инструкции, в случае их выполнения процессором на сервере, заставляют процессор реализовать способ согласно любому из вариантов осуществления настоящего раскрытия.[124] According to some embodiments of the present disclosure, a storage medium is further provided that contains computer-executable instructions. The computer-executable instructions, when executed by a processor on a server, cause the processor to implement a method according to any of the embodiments of the present disclosure.
[125] На основании описанных выше вариантов осуществления специалисты в этой области техники могут ясно понимать, что настоящее раскрытие может быть реализовано либо с помощью программного обеспечения и необходимой общей аппаратной платформы, либо с помощью аппаратных средств. На основании такого понимания технические решения настоящего раскрытия, вносящие заметный или частичный вклад в известный уровень технических решений, могут быть реализованы в виде программного продукта. Программный продукт для компьютера можно хранить на машиночитаемом носителе данных, например, на гибкой дискете, в постоянном запоминающем устройстве (ПЗУ), в оперативном запоминающем устройстве (ОЗУ), во флеш-памяти, на жестком диске или на оптическом диске компьютера, и он содержит в себе несколько инструкций, так что вычислительное устройство (персональный компьютер, сервер или сетевое устройство) выполняет способы согласно множеству вариантов осуществления настоящего раскрытия. Машиночитаемый носитель данных является энергонезависимым машиночитаемым носителем данных.[125] Based on the embodiments described above, those skilled in the art can clearly understand that the present disclosure can be implemented either by software and a necessary general hardware platform, or by hardware. Based on such understanding, the technical solutions of the present disclosure, which make a significant or partial contribution to the known technical solutions, can be implemented in the form of a software product. The software product for a computer can be stored on a computer-readable storage medium, such as a floppy disk, a read-only memory (ROM), a random access memory (RAM), a flash memory, a hard disk, or an optical disk of a computer, and it contains several instructions, so that a computing device (a personal computer, a server, or a network device) executes the methods according to a plurality of embodiments of the present disclosure. The computer-readable storage medium is a non-volatile computer-readable storage medium.
[126] Следует отметить, что согласно вышеупомянутым вариантам осуществления устройства, множество его блоков и модулей разделены только согласно функциональной логике, но они не ограничены вышеупомянутым разделением, при условии реализации соответствующих функций. Кроме того, конкретные названия множества функциональных блоков указаны только с целью различения их друг от друга, и они не предназначены для ограничения объема правовой охраны настоящего раскрытия.[126] It should be noted that, according to the above-mentioned embodiments of the device, the plurality of its blocks and modules are divided only according to functional logic, but they are not limited to the above-mentioned division, provided that the corresponding functions are implemented. In addition, the specific names of the plurality of functional blocks are indicated only for the purpose of distinguishing them from each other, and they are not intended to limit the scope of legal protection of the present disclosure.
Claims (36)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011461361.8 | 2020-12-11 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2839915C1 true RU2839915C1 (en) | 2025-05-14 |
Family
ID=
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2368095C1 (en) * | 2005-07-22 | 2009-09-20 | Мицубиси Электрик Корпорейшн | Image coder and image decoder, method of image coding and method of image decoding, program of image coding and program of image decoding and computer-readable record medium, on which image coding program is recorded, and computer-readable record medium, on which image decoding program is recorded |
| CN101815215B (en) * | 2009-06-29 | 2012-10-10 | 香港应用科技研究院有限公司 | Method and apparatus for coding mode selection |
| CN104104947A (en) * | 2013-04-02 | 2014-10-15 | 腾讯科技(深圳)有限公司 | Video coding method and device |
| WO2015015436A2 (en) * | 2013-07-30 | 2015-02-05 | Riversilica Technologies Pvt Ltd | System and method for performing optimal temporal predictive mode decision in h.264 video coding |
| KR20160050115A (en) * | 2014-10-28 | 2016-05-11 | 전자부품연구원 | Adaptive PU mode decision method of HEVC encoder |
| KR20160131337A (en) * | 2015-05-06 | 2016-11-16 | 한국항공대학교산학협력단 | Method and apparatus for encoding video using coding information in upper depth and current depth |
| CN107613294A (en) * | 2017-10-12 | 2018-01-19 | 杭州当虹科技有限公司 | A kind of method for fast skipping P, B frame intra prediction mode in HEVC |
| CN110351552A (en) * | 2018-04-03 | 2019-10-18 | 朱政 | A kind of fast encoding method in Video coding |
| CN110896481A (en) * | 2019-12-31 | 2020-03-20 | 杭州当虹科技股份有限公司 | Fast intra mode coding method suitable for HEVC |
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2368095C1 (en) * | 2005-07-22 | 2009-09-20 | Мицубиси Электрик Корпорейшн | Image coder and image decoder, method of image coding and method of image decoding, program of image coding and program of image decoding and computer-readable record medium, on which image coding program is recorded, and computer-readable record medium, on which image decoding program is recorded |
| CN101815215B (en) * | 2009-06-29 | 2012-10-10 | 香港应用科技研究院有限公司 | Method and apparatus for coding mode selection |
| CN104104947A (en) * | 2013-04-02 | 2014-10-15 | 腾讯科技(深圳)有限公司 | Video coding method and device |
| WO2015015436A2 (en) * | 2013-07-30 | 2015-02-05 | Riversilica Technologies Pvt Ltd | System and method for performing optimal temporal predictive mode decision in h.264 video coding |
| KR20160050115A (en) * | 2014-10-28 | 2016-05-11 | 전자부품연구원 | Adaptive PU mode decision method of HEVC encoder |
| KR20160131337A (en) * | 2015-05-06 | 2016-11-16 | 한국항공대학교산학협력단 | Method and apparatus for encoding video using coding information in upper depth and current depth |
| CN107613294A (en) * | 2017-10-12 | 2018-01-19 | 杭州当虹科技有限公司 | A kind of method for fast skipping P, B frame intra prediction mode in HEVC |
| CN110351552A (en) * | 2018-04-03 | 2019-10-18 | 朱政 | A kind of fast encoding method in Video coding |
| CN110896481A (en) * | 2019-12-31 | 2020-03-20 | 杭州当虹科技股份有限公司 | Fast intra mode coding method suitable for HEVC |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12184841B2 (en) | Method and system for video picture intra-prediction estimation | |
| JP6284954B2 (en) | Simplified mode decision for intra prediction | |
| JP7610233B2 (en) | METHOD AND APPARATUS FOR PREDICTIVE VIDEO CODING | |
| TWI776071B (en) | Method, apparatus and system for encoding and decoding a transformed block of video samples | |
| CN110024393A (en) | Low complex degree sign prediction for video coding | |
| JP2021530124A (en) | Methods, devices, and systems for encoding and decoding converted blocks of video samples. | |
| JP5937205B2 (en) | Run mode based coefficient coding for video coding | |
| US12114006B2 (en) | Method and apparatus for constructing motion information list in video encoding and decoding and device | |
| CN112637592B (en) | Video predictive coding method and device | |
| JP7481332B2 (en) | Prediction method and apparatus for decoding, and computer storage medium - Patents.com | |
| WO2020143585A1 (en) | Video encoder, video decoder, and corresponding method | |
| JP6224851B2 (en) | System and method for low complexity coding and background detection | |
| CN110300302B (en) | Video coding method, device and storage medium | |
| RU2624464C1 (en) | Scan orders for non-conversion encoding | |
| JP7542278B2 (en) | Adaptive block updating of unavailable reference frames using explicit and implicit signaling - Patents.com | |
| TWI776072B (en) | Method, apparatus and system for encoding and decoding a transformed block of video samples | |
| KR20140076652A (en) | Fast intra coding method and apparatus using coding unit split based on threshold value | |
| KR101841352B1 (en) | Reference frame selection method and apparatus | |
| RU2839915C1 (en) | Method and device for predictive video coding | |
| WO2025157062A1 (en) | Reference block searching method and circuit, chip, and device | |
| US10057583B2 (en) | Encoding method of image encoding device | |
| RU2837746C1 (en) | Predictive video coding method and device | |
| WO2022021310A1 (en) | Encoding method and apparatus, computing processing device, computer program, and storage medium |