ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУ
[0001] 1) Предыдущая предварительная заявка на патент США №62/872488, поданная на имя Junyan Huo, Yanzhuo Ma и Wei Zhang 10 июля 2019 г. и озаглавленная «Matrix-Based Intra Prediction (MIP) Shift Unification According to Block Size and Mode Index»;
[0002] 2) Предыдущая предварительная заявка на патент США №62/872830, поданная на имя Junyan Huo, Yanzhuo Ma и Wei Zhang 11 июля 2019 г. и озаглавленная «Methods and Apparatuses for Matrix-Based Intra Prediction (MIP) Shift Unification»; и
[0003] 3) Предыдущая предварительная заявка на патент США №62/873170, поданная на имя Junyan Huo, Yanzhuo Ma и Wei Zhang 11 июля 2019 г. и озаглавленная «Methods and Apparatuses for Matrix-Based Intra Prediction (MIP) Shift Unification».
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0004] Варианты осуществления настоящего изобретения относятся к технической области кодирования и декодирования видео и, в частности, к способу предсказания компонента цветности, кодеру, декодеру и носителю данных.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
[0005] С повышенными требованиями людей к качеству отображения видео появились новые форматы видеоприложений, такие как видео высокой четкости и сверхвысокой четкости. H.265/высокоэффективное кодирование видеоизображений (HEVC) больше не может отвечать требованию быстрой разработки видеоприложений. Совместная команда по исследованию видео (JVET) предлагает стандарт кодирования видео следующего поколения H.266/универсальное кодирование видео (VVC), а соответствующей тестовой моделью является тестовая модель VVC (VTM).
[0006] В H.266/VVC в настоящее время принята технология внутреннего предсказания на основе матрицы (MIP). В этой технологии разное количество режимов MIP добавляется в процессе внутреннего предсказания для разных типов внутренних текущих блоков. Однако в процессе MIP, в частности в процессе матричного умножения, определение фактора сдвига также коррелирует с типом текущего блока и индексным номером режима MIP, что приводит к относительно сложному процессу предсказания и увеличивает сложность вычисления.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0007] Варианты осуществления заявки предоставляют способ предсказания компонента цветности, кодер, декодер и носитель данных. Способ определения фактора сдвига может быть упрощен. Более того, когда фактор сдвига определяется с использованием справочной таблицы (LUT), запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено одновременно с уменьшением сложности вычисления.
[0008] Технические решения вариантов осуществления заявки могут быть реализованы следующим образом.
[0009] Согласно первому аспекту варианты осуществления заявки предоставляют способ предсказания компонента цветности, который может быть применим для кодера и включать следующие операции.
[0010] Определяют параметры предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[0011] Когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока.
[0012] Значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[0013] Согласно второму аспекту варианты осуществления заявки предоставляют способ предсказания компонента цветности, который может быть применим для декодера и включать следующие операции.
[0014] Анализируют битовый поток для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[0015] Когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока.
[0016] Значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[0017] Согласно третьему аспекту варианты осуществления заявки предоставляют кодер, который может содержать первый узел определения и первый узел предсказания.
[0018] Первый узел определения может быть выполнен с возможностью определения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[0019] Первый узел определения может быть дополнительно выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока.
[0020] Первый узел предсказания может быть выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[0021] Согласно четвертому аспекту варианты осуществления заявки предоставляют кодер, который может содержать первое запоминающее устройство и первый процессор.
[0022] Первое запоминающее устройство может быть выполнено с возможностью хранения компьютерных программ, которые могут запускаться на первом процессоре.
[0023] Первый процессор может быть выполнен с возможностью запуска компьютерных программ для исполнения способа, как описано в первом аспекте.
[0024] Согласно пятому аспекту варианты осуществления заявки предоставляют декодер, который может содержать узел анализа, второй узел определения и второй узел предсказания.
[0025] Узел анализа может быть выполнен с возможностью анализа битового потока для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[0026] Второй узел определения может быть выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока.
[0027] Второй узел предсказания может быть выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[0028] Согласно шестому аспекту варианты осуществления заявки предоставляют декодер, который может содержать второе запоминающее устройство и второй процессор.
[0029] Второе запоминающее устройство может быть выполнено с возможностью хранения компьютерных программ, которые могут запускаться на втором процессоре.
[0030] Второй процессор может быть выполнен с возможностью запуска компьютерных программ для исполнения способа, как описано во втором аспекте.
[0031] Согласно седьмому аспекту варианты осуществления заявки предоставляют компьютерный носитель данных, который может хранить компьютерные программы. Компьютерные программы могут исполняться первым процессором для реализации способа, как описано в первом аспекте, или могут исполняться вторым процессором для реализации способа, как описано во втором аспекте.
[0032] Варианты осуществления заявки предоставляют способ предсказания компонента цветности, кодер, декодер и носитель данных. На стороне кодера определяют параметры предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока; когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока; и значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. На стороне декодера анализируют битовый поток для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока; когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока; и значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Таким образом, либо на стороне декодера, либо на стороне кодера способ определения фактора сдвига может быть упрощен, и более того, когда фактор сдвига определяют с использованием LUT, запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено при одновременном уменьшении сложности вычисления так, что достигается цель повышения эффективности кодирования и декодирования.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
[0033] На фиг. 1 представлена блок-схема последовательности операций процесса MIP согласно родственным техническим решениям.
[0034] На фиг. 2A представлена структурная схема состава системы кодирования видео согласно вариантам осуществления заявки.
[0035] На фиг. 2B представлена структурная схема состава системы декодирования видео согласно вариантам осуществления заявки.
[0036] На фиг. 3 представлена блок-схема способа предсказания компонента цветности согласно вариантам осуществления заявки.
[0037] На фиг. 4 представлено структурное изображение генерирования значения внутреннего предсказания согласно вариантам осуществления заявки.
[0038] На фиг. 5 представлена блок-схема другого способа предсказания компонента цветности согласно вариантам осуществления заявки.
[0039] На фиг. 6 представлено структурное изображение состава кодера согласно вариантам осуществления заявки.
[0040] На фиг. 7 представлено структурное изображение состава другого кодера согласно вариантам осуществления заявки.
[0041] На фиг. 8 представлено структурное изображение конкретного аппаратного обеспечения кодера согласно вариантам осуществления заявки.
[0042] На фиг. 9 представлено структурное изображение состава декодера согласно вариантам осуществления заявки.
[0043] На фиг. 10 представлено структурное изображение состава декодера согласно вариантам осуществления заявки.
[0044] На фиг. 11 представлено структурное изображение конкретного аппаратного обеспечения декодера согласно вариантам осуществления заявки.
ПОДРОБНОЕ ОПИСАНИЕ
[0045] Для понимания характеристик и технического содержания вариантов осуществления заявки более подробно, реализация вариантов осуществления заявки будет подробно описана ниже в сочетании со ссылкой на прилагаемые графические материалы. Прилагаемые графические материалы предназначены только для ссылки и не предназначены для ограничения вариантов осуществления настоящего изобретения.
[0046] В видеосигнале для представления блоков кодирования (CB) обычно используются первый компонент цветности, второй компонент цветности и третий компонент цветности. Три компонента цветности представляют собой компонент яркости, компонент синего цвета и компонент красного цвета соответственно. В частности, компонент яркости обычно представлен знаком Y, компонент синего цвета обычно представлен знаком Cb или U, а компонент красного цвета обычно представлен знаком Cr или V. Следовательно, видеосигнал может быть представлен в формате YCbCr, а также может быть представлен в формате YUV.
[0047] В вариантах осуществления заявки первый компонент цветности может представлять собой компонент яркости, второй компонент цветности может представлять собой компонент синего цвета, а третий компонент цветности может представлять собой компонент красного цвета. Тем не менее никаких конкретных ограничений не предусмотрено в вариантах осуществления заявки.
[0048] Соответствующее техническое решение текущего процесса предсказания технологии MIP будет описано ниже.
[0049] Входные данные MIP в основном включают положение (xTbCmp, yTbCmp) текущего блока, индексное значение режима MIP (которое может быть представлено посредством modeId или modeIdx), когда MIP используется присутствующим блоком, высоту (представленную посредством nTbH) текущего блока, ширину (представленную посредством nTbW) текущего блока, индикатор обработки транспонированием (который может быть представлен посредством isTransposed), указывающий на то, требуется ли транспонирование, и т. п.
[0050] Выходные данные MIP обычно включают блок предсказания текущего блока. Значение предсказания, соответствующее пиксельной координате [x][y] в блоке предсказания, является predSamples[x][y], где x=0,1,.....,nTbW-1, а y=0,1,...,nTbH-1.
[0051] В данном случае, как показано на фиг. 1, процесс MIP может быть разделен на четыре операции: конфигурацию базового параметра 11, получение опорного пикселя 12, составление входного дискретного значения 13 и генерирование значения внутреннего предсказания 14. В частности, для конфигурации базового параметра 11 текущий блок может быть разделен на три типа согласно размеру внутреннего текущего блока, и mipSizeId или blocksizeIdx используются в качестве индексного значения размера блока для записи типа текущего блока. Более того, текущие блоки, соответствующие разным индексным значениям размера блока, имеют разные количества опорных дискретных значений и разные количества выходных исходных значений матричного умножения. Для получения опорного пикселя 12, когда предсказывают текущий блок, верхний блок и левый блок текущего блока представляют собой кодированные блоки, опорные пиксели технологии MIP представляют собой восстановленные значения пикселей в верхней строке и левом столбце текущего блока, а процесс получения опорных пикселей (представленный посредством refT), смежных с верхней стороной текущего блока, и опорных пикселей (представленный посредством refL), смежных с левой стороной текущего блока, представляет собой процесс получения опорных пикселей. Для составления входного дискретного значения 13 используют операцию для ввода матричного умножения, и она может, в основном, включать получение опорного дискретного значения 131, составление с помощью буфера опорного дискретного значения 132 и вычитание 133 входного дискретного значения матричного умножения. Процесс получения опорного дискретного значения представляет собой процесс понижающей дискретизации. Составление с помощью буфера опорного дискретного значения 132 может дополнительно включать способ заполнения с помощью буфера 1321, используемый, когда не требуется транспонирование, и способ заполнения с помощью буфера 1322, используемый, когда требуется транспонирование. Для генерирования значения внутреннего предсказания 14 исполняют операцию для получения значения предсказания на основе MIP текущего блока, и она может, в основном, включать блок 141 выходного дискретного значения матричного умножения, встраивание выходного дискретного значения матричного умножения 142, транспонирование выходного дискретного значения матричного умножения 143 и генерирование конечного значения предсказания на основе MIP 144. Составление блока выходного дискретного значения матричного умножения 11 может дополнительно включать получение весовой матрицы 1411, получение фактора сдвига и фактора смещения 1412 и операцию матричного умножения 1413. Генерирование конечного значения предсказания на основе MIP 144 может дополнительно включать генерирование значения предсказания, не требующего повышающей дискретизации 1441, и генерирование значения предсказания, требующего повышающей дискретизации 1442. Затем после четырех операций может быть получено значение внутреннего предсказания по меньшей мере одного пикселя в текущем блоке.
[0052] В процессе MIP, показанном на фиг. 1, MIP может быть представлено следующим уравнением:
[0053] P=M×R (1)
[0054] в котором M представляет собой матрицу, R представляет собой вектор входного дискретного значения, выведенный из пикселя опорного дискретного значения, а P представляет собой значение пикселя предсказания, выведенное согласно уравнению (1). То есть MIP представляет собой инструмент кодирования и может быть использовано для вывода сигнала внутреннего предсказания, включающего матричное умножение. Каждая конкретная матрица M соответствует режиму MIP.
[0055] Однако коэффициенты матрицы изначально обучают значениям с плавающей запятой, но эти коэффициенты требуется сохранять и вычислять до целых значений в процессе компьютерной обработки. Обычным способом преобразования значения с плавающей запятой в целое значение обычно является умножение значения с плавающей запятой на достаточно большое значение, чтобы поддерживать соответствующую точность, и этот способ обычно называют операцией сдвига. В частности, операция сдвига влево направлена на вывод целого значения и может быть реализована с помощью следующего уравнения.
[0056] VAL=val×(1<<shift) (2)
[0057] Здесь val представляет собой значение плавающей матрицы, shift представляет собой номер бита сдвига (который также могут называть фактором сдвига) в операции сдвига, VAL представляет собой сохраненное целое значение, а «<<» является оператором сдвига влево.
[0058] Таким образом, после получения интегральной матрицы может быть выполнено умножение интегральной матрицы. Наконец, операцию сдвига вправо исполняют в отношении P, чтобы получить конечное значение предсказания на основе MIP. Уравнение вычисления для всего процесса является следующим:
[0059] P=(M*(1<<shift)×R)>>shift (3)
[0060] или
[0061] P=(M*(1<<shift)×R+(1<<(shift-1)))>>shift (4)
[0062] В данном случае (1<<(shift-1)) представляет собой операцию округления, а «>>» является оператором сдвига вправо. Однако в последней версии MIP для разных размеров блока и разных режимов MIP соответствующие значения сдвига в операции сдвига в уравнении (3) или уравнении (4) различаются. То есть текущий фактор сдвига тесно коррелирует с типом текущего блока и индексным значением режима MIP, что делает процесс предсказания относительно сложным и увеличивает сложность вычисления.
[0063] Варианты осуществления заявки предоставляют способ предсказания компонента цветности, который применим для кодера или декодера. После получения параметров предсказания текущего блока, когда параметр режима предсказания в параметрах предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, могут быть определены весовая матрица MIP текущего блока, фактор сдвига текущего блока и матрица входных дискретных значений MIP текущего блока; и затем значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Таким образом, либо на стороне декодера, либо на стороне кодера способ определения фактора сдвига может быть упрощен, и более того, когда фактор сдвига определяют с использованием LUT, запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено при одновременном уменьшении сложности вычисления так, чтобы достигнуть цели повышения эффективности кодирования и декодирования.
[0064] Варианты осуществления заявки будут подробно описаны ниже в сочетании с графическими материалами.
[0065] Обращаясь к фиг. 2A, показан пример структурной схемы состава системы кодирования видео согласно вариантам осуществления заявки. Как показано на фиг. 2A, система 10 кодирования видео содержит узел 101 преобразования и квантования, узел 102 внутренней оценки, узел 103 внутреннего предсказания, узел 104 компенсации движения, узел 105 оценки движения, узел 106 обратного преобразования и обратного квантования, узел 107 анализа управления фильтром, узел 108 фильтра, узел 109 кодирования и узел 110 буфера для декодированного изображения и т.д. Узел 108 фильтра может реализовывать фильтрацию для удаления блочности и фильтрацию адаптивного смещения дискретного значения (SAO). Узел 109 кодирования может реализовывать кодирование информации заголовка и контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Для входного видеосигнала CB видео может быть получен путем деления узла кодового дерева (CTU), а затем остаточная информация о пикселе, полученная посредством внутреннего предсказания или предсказания, осуществляемого между изображениями, обрабатывается посредством узла 101 преобразования и квантования, чтобы преобразовать CB видео, включая преобразование остаточной информации из области пикселя в область преобразования, и полученный коэффициент преобразования квантуется для дальнейшего уменьшения битовый скорости. Узел 102 внутренней оценки и узел 103 внутреннего предсказания выполнены с возможностью выполнения внутреннего предсказания в отношении CB видео. Таким образом, узел 102 внутренней оценки и узел 103 внутреннего предсказания выполнены с возможностью определения режима внутреннего предсказания, который будет использован для кодирования CB видео. Узел 104 компенсации движения и узел 105 оценки движения выполнены с возможностью исполнения кодирования внутреннего предсказания в отношении принятого CB видео относительно одного или более блоков в одном или более опорных кадрах, чтобы предоставлять информацию временного предсказания. Оценка движения, исполняемая узлом 105 оценки движения, представляет собой процесс генерирования вектора движения. Движение CB видео может быть оценено согласно вектору движения, и затем узел 104 компенсации движения исполняет компенсацию движения на основе вектора движения, определенного узлом 105 оценки движения. После определения режима внутреннего предсказания узел 103 внутреннего предсказания дополнительно выполнен с возможностью предоставления выбранных данных внутреннего предсказания в узел 109 кодирования, и узел 105 оценки движения также отправляет данные вектора движения, определенные вычислением, в узел 109 кодирования. В дополнение, узел 106 обратного преобразования и обратного квантования выполнен с возможностью восстановления CB видео. Остаточный блок восстанавливают в области пикселя, артефакт эффекта блочности в восстановленном остаточном блоке удаляют посредством узла 107 анализа управления фильтром и узла 108 фильтра, и затем восстановленный остаточный блок добавляют к блоку предсказания в кадре узла 110 буфера для декодированного изображения, чтобы сгенерировать восстановленный CB видео. Узел 109 кодирования выполнен с возможностью кодирования различных параметров кодирования и квантованных коэффициентов преобразования. В алгоритме кодирования на основе CABAC контент контекста может быть основан на смежных CB и может быть выполнен с возможностью кодирования информации, указывающей определенный режим внутреннего предсказания, для вывода битового потока видеосигнала. Узел 110 буфера для декодированного изображения выполнен с возможностью сохранения восстановленного CB видео в виде опорного кадра предсказания. По мере кодирования видеосигналов новые восстановленные CB видео могут непрерывно генерироваться, и эти восстановленные CB видео могут храниться в узле 110 буфера для декодированного изображения.
[0066] Обращаясь к фиг. 2B, показан пример структурной схемы состава системы декодирования видео согласно вариантам осуществления заявки. Как показано на фиг. 2B, система 20 декодирования видео содержит узел 201 декодирования, узел 202 обратного преобразования и обратного квантования, узел 203 внутреннего предсказания, узел 204 компенсации движения, узел 205 фильтра и узел 206 буфера для декодированного изображения и т.д. Узел 201 декодирования может реализовывать декодирование информации заголовка и декодирование CABAC. Узел 205 фильтра может реализовывать фильтрацию для удаления блочности и фильтрацию SAO. После того, как обработка кодированием, показанная на фиг. 2A, была выполнена в отношении входного видеосигнала, выводят битовый поток видеосигнала. Битовый поток вводится в систему 20 декодирования видео и сначала обрабатывается узлом 201 декодирования для получения декодированного коэффициента преобразования. Коэффициент преобразования обрабатывается узлом 202 обратного преобразования и обратного квантования так, чтобы остаточный блок генерировался в области пикселя. Узел 203 внутреннего предсказания может быть выполнен с возможностью генерирования данных предсказания текущего блока декодирования видео на основе определенного режима внутреннего предсказания и данных предыдущего декодированного блока из текущего кадра или изображения. Узел 204 компенсации движения анализирует вектор движения и другие связанные синтаксические элементы для определения информации предсказания для блока декодирования видео и генерирует, посредством использования информации предсказания, блок предсказания блока декодирования видео, который в настоящее время декодируют. Остаточный блок из узла 202 обратного преобразования и обратного квантования и соответствующий блок предсказания, сгенерированный узлом 203 внутреннего предсказания или узлом 204 компенсации движения, суммируют для формирования декодированного видеоблока. Артефакт эффекта блочности в декодированном видеосигнале может быть удален через узел 205 фильтра для улучшения качества видео. Затем декодированный видеоблок сохраняют в узле 206 буфера для декодированного изображения. Узел 206 буфера для декодированного изображения хранит опорное изображение для последующего внутреннего предсказания или компенсации движения, а также выполнен с возможностью вывода видеосигнала, то есть получают восстановленный видеосигнал.
[0067] Способ предсказания компонента цветности в вариантах осуществления заявки в основном применяется к части узла 103 внутреннего предсказания, показанной на фиг. 2A, и части узла 203 внутреннего предсказания, показанной на фиг. 2B. То есть способ предсказания компонента цветности в вариантах осуществления заявки может быть применим не только для системы кодирования видео, но также для системы декодирования видео, и даже может быть применим для системы кодирования видео и системы декодирования видео в одно и то же время. Тем не менее, никаких конкретных ограничений не предусмотрено в вариантах осуществления заявки. Также следует отметить, что, когда способ предсказания компонента цветности применяют к части узла 103 внутреннего предсказания, «текущий блок» относится, в частности, к текущему блоку, подлежащему кодированию, во внутреннем предсказании, и когда способ предсказания компонента цветности применяют к части узла 203 внутреннего предсказания, «текущий блок» относится, в частности, к текущему блоку, подлежащему декодированию, во внутреннем предсказании.
[0068] На основе примера сценария применения, показанного на фиг. 2A, обращаясь к фиг. 3, показана блок-схема способа предсказания компонента цветности согласно вариантам осуществления заявки. Как показано на фиг. 3, способ может включать следующие операции.
[0069] В S301 определяются параметры предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[0070] Следует отметить, что способ применим для кодера. Видеосигнал может быть разделен на несколько блоков, и каждый текущий блок, подлежащий кодированию, может называться блоком кодирования (CB). В данном случае каждый CB может содержать первый компонент цветности, второй компонент цветности и третий компонент цветности. Текущий блок представляет собой блок, подлежащий кодированию, в котором первый компонент цветности, второй компонент цветности и третий компонент цветности в данном случае должны быть предсказаны, в видеосигнале.
[0071] Если первый компонент цветности текущего блока должен быть предсказан и первый компонент цветности представляет собой компонент яркости, а именно компонент цветности, подлежащий предсказанию, представляет собой компонент яркости, то текущий блок также может называться блоком яркости. Или, если второй компонент цветности текущего блока должен быть предсказан и второй компонент цветности представляет собой компонент цвета, а именно компонент цветности, подлежащий предсказанию, представляет собой компонент цвета, то текущий блок также может называться блоком цвета.
[0072] Также следует отметить, что параметры предсказания указывают на режим предсказания для текущего блока и параметры, связанные с режимом предсказания. В данном случае параметры предсказания могут быть определены посредством простой стратегии принятия решений, например, определены согласно величине значения искажения, а также могут быть определены посредством комплексной стратегии принятия решений, например, определены согласно результату оптимизации уровня искажения (RDO). В вариантах осуществления заявки не предусмотрено никаких ограничений. Как правило, параметры предсказания текущего блока могут быть определены способом RDO.
[0073] В частности, в некоторых вариантах осуществления для S301 операция, при которой определяют параметры предсказания текущего блока, может включать следующие операции.
[0074] Обработку предварительным кодированием выполняют в отношении текущего блока с использованием нескольких режимов предсказания, чтобы получить значения стоимости скорости и искажения, соответствующие всем режимам предсказания.
[0075] Минимальное значение стоимости скорости и искажения выбирают из полученных нескольких значений стоимости скорости и искажения, и параметр предсказания в режиме предсказания, соответствующий минимальному значению стоимости скорости и искажения, определяют в качестве параметра предсказания текущего блока.
[0076] То есть на стороне кодера для текущего блока обработка предварительным кодированием может быть выполнена в отношении текущего блока с использованием нескольких режимов предсказания соответственно. В данном случае несколько режимов предсказания обычно включают режим предсказания, осуществляемого между изображениями, и режим внутреннего предсказания. Режим внутреннего предсказания может дополнительно включать традиционный режим внутреннего предсказания и нетрадиционный режим внутреннего предсказания. В частности, традиционный режим внутреннего предсказания может включать режим постоянного тока (DC), планарный режим и угловой режим и т.д., а нетрадиционный режим внутреннего предсказания может включать режим MIP, режим межкомпонентного предсказания линейной модели (CCLM), режим копирования внутри блока (IBC) и режим палитры (PLT) и т.д. Режим предсказания, осуществляемого между изображениями, может включать традиционный режим предсказания, осуществляемого между изображениями, и режим геометрического разделения для блоков, осуществляемых между изображениями (GEO), и т.д.
[0077] Таким образом, после предварительного кодирования текущего блока с использованием нескольких режимов предсказания, соответственно, может быть получено значение стоимости скорости и искажения, соответствующее каждому режиму предсказания, затем минимальное значение стоимости скорости и искажения выбирают из полученных нескольких значений стоимости скорости и искажения, и параметр предсказания в режиме предсказания, соответствующий минимальному значению стоимости скорости и искажения, определяют в качестве параметра предсказания текущего блока. В дополнение, после предварительного кодирования текущего блока с использованием нескольких режимов предсказания, соответственно, также может быть получено значение искажения, соответствующее каждому режиму предсказания, затем минимальное значение стоимости выбирают из полученных нескольких значений искажения, и параметры предсказания в режиме предсказания, соответствующие минимальному значению искажения, определяют в качестве параметров предсказания текущего блока. Таким образом, текущий блок окончательно кодируют с использованием определенных параметров предсказания. В режиме предсказания предсказываемый остаток может быть относительно небольшим, и эффективность кодирования может быть улучшена.
[0078] В S302, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока.
[0079] Следует отметить, что для текущего блока, если режим MIP используется для текущего блока для определения значения внутреннего предсказания текущего блока, необходимо определить матрицу входных дискретных значений MIP текущего блока, весовую матрицу MIP текущего блока и фактор сдвига текущего блока. Фактор сдвига также может называться смещенным номером бита, значением весового сдвига и т. п., а также может быть представлен посредством sW, shift или weight shift.
[0080] Следует понимать, что для режима MIP сначала необходимо сконфигурировать базовый параметр MIP. В данном случае в режиме MIP текущий блок может быть разделен на три типа согласно ширине и высоте текущего блока, и тип текущего блока, т.е. индексное значение размера блока текущего блока, может быть представлен посредством mipSizeId или BlocksizeIdx. Для разных индексных значений размера блока числа исходных дискретных значений (исходные дискретные значения boundarySize необходимы с каждой стороны), числа inSize входного дискретного значения матричного умножения и числа выходного дискретного значения матричного умножения (упорядоченные как predSize×predSize) различаются.
[0081] Необязательно в некоторых вариантах осуществления операция, при которой определяется индексное значение размера блока текущего блока согласно параметру размера текущего блока, может включать следующие операции.
[0082] Если и ширина, и высота текущего блока равны 4, индексное значение размера блока текущего блока может быть установлено равным 0.
[0083] Или, если и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4, индексное значение размера блока текущего блока устанавливается равным 1.
[0084] Или, если текущий блок представляет собой блок другого размера, индексное значение размера блока текущего блока может быть установлено равным 2.
[0085] Необязательно в некоторых вариантах осуществления операция, при которой определяется индексное значение размера блока текущего блока согласно параметру размера текущего блока, может включать следующие операции.
[0086] Если и ширина, и высота текущего блока равны 4, индексное значение размера блока текущего блока может быть установлено равным 0.
[0087] Или, если одно из ширины или высоты текущего блока равно 4, индексное значение размера блока текущего блока может быть установлено равным 1.
[0088] Или, если текущий блок представляет собой блок другого размера, индексное значение размера блока текущего блока может быть установлено равным 2.
[0089] Таким образом, согласно индексному значению размера блока текущего блока и LUT, показанными в виде таблицы 1, могут быть определены количество исходных дискретных значений смежной границы (переменная представлена как boundarySize) и размер блока предсказания на основе MIP (переменная представлена как predSize, размер блока предсказания на основе MIP представлен как predSize×predSize), и может быть вычислено количество (представлено как inSize) входных дискретных значений для процесса операции матричного умножения MIP. Уравнение вычисления является следующим:
[0090]
[0091] В данном документе правило операции оператора в уравнении (5) такое же, как у оператора, определенного в стандарте ITU-TH.265. Например, «==» представляет логический оператор «равный».
[0092] Таблица 1
[0093] Следовательно, согласно таблице 1, когда значение BlocksizeIdx равно 0, значение boundarySize может быть равно 2, а значение predSize может быть равно 4, а именно опорные пиксели включают два пикселя, выбранные с каждой стороны. Выходное матричное умножение представляет собой блок предсказания 4×4 на основе MIP; или, когда значение BlocksizeIdx равно 1, значение boundarySize может быть равно 4, а значение predSize может быть равно 4, а именно опорные пиксели включают четыре пикселя, выбранные с каждой стороны. Выходное матричное умножение представляет собой блок предсказания 4×4 на основе MIP; или, когда значение BlocksizeIdx равно 2, значение boundarySize может быть равно 4, а значение predSize может быть равно 8, а именно опорные пиксели включают четыре пикселя, выбранные с каждой стороны, а выходное матричное умножение представляет собой блок предсказания 8×8 на основе MIP.
[0094] В дополнение, значения BorderSize, inSize и predSize также могут быть определены одновременно согласно индексному значению размера блока текущего блока и LUT, показанными в виде таблицы 2.
[0095] Таблица 2
[0096] Следовательно, согласно Таблице 2, когда значение BlocksizeIdx равно 0, значение boundarySize может быть равно 2, значение inSize может быть равно 4, а значение predSize может быть равно 4, а именно опорные пиксели включают два пикселя, выбранные с каждой стороны, количество входных дискретных значений матричного умножения равно 4, а выходное матричное умножение представляет собой блок предсказания 4×4 на основе MIP; или, когда значение BlocksizeIdx равно 1, значение boundarySize может быть равно 4, значение inSize может быть равно 8, а значение predSize может быть равно 4, а именно опорные пиксели включают четыре пикселя, выбранные с каждой стороны, количество входных дискретных значений матричного умножения равно 8, а выходное матричное умножение представляет собой блок предсказания 4×4 на основе MIP; или, когда значение BlocksizeIdx равно 2, значение boundarySize может быть равно 4, значение inSize может быть равно 7, а значение predSize может быть равно 8, а именно опорные пиксели включают четыре пикселя, выбранные с каждой стороны, количество входных дискретных значений матричного умножения равно 7, а выходное матричное умножение представляет собой блок предсказания 8×8 на основе MIP.
[0097] Кроме того, после конфигурации базового параметра MIP необходимо дополнительно получить опорные пиксели для построения матрицы входных дискретных значений MIP. В частности, в некоторых вариантах осуществления операция, при которой определяется матрица входных дискретных значений MIP текущего блока, может включать следующие операции.
[0098] Определяют смежный набор опорных дискретных значений текущего блока, причем смежный набор опорных дискретных значений содержит по меньшей мере одно значение опорной выборки.
[0099] Смежный набор опорных дискретных значений буферизуют для построения набора значений входной опорной выборки.
[00100] Матрицу входных дискретных значений MIP определяют согласно набору значений входной опорной выборки.
[00101] Следует отметить, что входное дискретное значение матричного умножения (представленное посредством P) представляет собой входные данные для процесса матричного умножения, и выходное дискретное значение матричного умножения (представленное посредством predMip) может быть получено после умножения на соответствующую матрицу. Входное дискретное значение P матричного умножения определяют посредством буфера (представленного посредством pTemp), индексного значения размера блока (представленного посредством BlocksizeIdx) текущего блока и значения битовый глубины (представленного посредством BitDepth), соответствующего компоненту цветности, подлежащему предсказанию, причем число inSize входных исходных дискретных значений во входном дискретном значении P матричного умножения коррелирует с индексным значением размера блока только текущего блока, и значение x-ой входной выборки (представленное посредством P[x]) в матрице входных дискретных значений может быть наконец-то получено.
[00102] В данном случае конкретный процесс составления матрицы входных дискретных значений P[x] является следующим.
[00103] Когда BlocksizeIdx=0 или 1, (1<<(BitDepth-1)) необходимо вычесть из значения выборки 0-го положения в pTemp для получения значения выборки 0-го положения в матрице входных дискретных значений, представленной посредством P[0], и затем значение выборки, соответствующее каждому положению других положений в матрице входных дискретных значений получают посредством вычитания значения 0-го положения в pTemp из значения выборки соответствующего положения в pTemp, и может быть представлено посредством P[x], а именно следующим образом:
[00104]
[00105] Когда BlocksizeIdx=2, значение выборки, соответствующее каждому положению других положений в матрице входных дискретных значений, получают посредством вычитания значения выборки, соответствующего 0-му положению pTemp, из значения выборки следующего положения соответствующего положения в pTemp, а именно следующим образом:
[00106]
[00107] Взяв также в качестве примера текущий блок 4×4, четыре значения хранятся в буфере pTemp, но количество входных дискретных значений равно 4. В таком случае четыре значения входной выборки, представленные посредством p[x], x=0,1,2,3, могут быть определены согласно уравнению (3) или уравнению (4), тем самым получая матрицу 1×4 входных дискретных значений MIP.
[00108] Кроме того, таблицу весовых матриц предварительно создают в кодере, и таблицу весовых матриц сохраняют в кодере. Следовательно, весовая матрица MIP, которую необходимо использовать для текущего блока и которая представлена посредством mWeight[x][y], может быть определена способом поиска в таблице согласно индексному значению размера блока (BlocksizeIdx) текущего блока и индексному значению режима MIP (modeIdx). Размер весовой матрицы MIP mWeight[x][y] коррелирует с индексным значением размера блока только текущего блока, как показано в таблице 3. В весовой матрице MIP номер столбца представляет собой номер inSize входных дискретных значений матричного умножения, а номер строки представляет собой номер predSized×predSized выходных дискретных значений матричного умножения. Следовательно, может быть определена весовая матрица MIP текущего блока.
[00109] Таблица 3
[00110] Кроме того, таблицу сдвигов также предварительно создают в кодере, и таблицу сдвигов также сохраняют в кодере. В настоящее время в последней версии MIP для разных размеров блоков и разных индексных значений режима MIP сдвинутые номера битов (т. е. факторы сдвига) в операции сдвига различаются. Как показано в таблице 4, фактор сдвига, который необходимо использовать для матричного умножения, может быть определен способом поиска в таблице согласно индексному значению размера блока (BlocksizeIdx) текущего блока и индексному значению режима MIP (modeIdx, также называемому modeId).
[00111] Таблица 4
[00112] Однако на стороне кодера таблицу 4 необходимо хранить в запоминающем устройстве компьютера в виде LUT. Существуют затраты на хранение, а также на процесс поиска. Поскольку фактор сдвига коррелирует как с размером блока текущего блока, так и с индексным значением режима MIP в таблице 4, занимаемое запоминающее устройство увеличивается, а также увеличивается сложность вычисления.
[00113] Для уменьшения занимаемого запоминающего устройства и уменьшения сложности вычисления в вариантах осуществления заявки упрощается способ определения фактора сдвига. В частности, в некоторых вариантах осуществления фактор сдвига текущего блока может включать константный фактор сдвига и фактор сдвига, определенный согласно параметру предсказания.
[00114] В возможном варианте реализации фактор сдвига может быть установлен равным фиксированному константному значению. Например, для разных индексных значений размера блока и разных индексных значений режима MIP фактор сдвига может быть установлен равным 5. Альтернативно для разных индексных значений размера блока и разных индексных значений режима MIP фактор сдвига может быть установлен равным 6. Альтернативно для разных индексных значений размера блока и разных индексных значений режима MIP фактор сдвига может быть установлен равным 7. В варианте осуществления заявки значение константного фактора сдвига предпочтительно равно 6, но для него не предусмотрены конкретные ограничения.
[00115] В другом возможном варианте реализации операция, при которой определяется фактор сдвига согласно параметру предсказания, может включать следующие операции.
[00116] Определяют индексное значение размера блока текущего блока согласно параметру размера текущего блока.
[00117] Определяют фактор сдвига согласно индексному значению размера блока текущего блока.
[00118] Следует отметить, что индексное значение размера блока текущего блока может быть определено согласно параметру размера текущего блока. В частности, операция, при которой определяется индексное значение размера блока текущего блока согласно параметру размера текущего блока, может включать следующие операции.
[00119] Когда и ширина, и высота текущего блока равны 4, индексное значение размера блока текущего блока установлено равным 0.
[00120] Когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4, индексное значение размера блока текущего блока установлено равным 1.
[00121] Когда ни ширина, ни высота текущего блока не удовлетворяют вышеуказанным условиям, индексное значение размера блока текущего блока установлено равным 2.
[00122] Таким образом, после определения индексного значения размера блока текущего блока фактор сдвига может быть дополнительно определен согласно индексному значению размера блока текущего блока в сочетании с количеством значений входной выборки MIP или размером блока предсказания на основе MIP.
[00123] Необязательно в некоторых вариантах осуществления операция, при которой определяется фактор сдвига согласно индексному значению размера блока текущего блока, может включать следующую операцию.
[00124] Фактор сдвига устанавливается равным соотношению ширины или высоты текущего блока к первому предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00125] В данном случае первое предварительно заданное значение представляет количество значений входной выборки MIP, полученных с границы текущего блока. В таком случае способ может дополнительно включать следующую операцию.
[00126] Когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно, определяют, что первое предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 2, 4 и 4 соответственно.
[00127] То есть, когда первое предварительно заданное значение представляет количество значений входной выборки MIP, полученных с границы текущего блока, если индексное значение размера блока текущего блока равно 0, соответствующее первое предварительно заданное значение равно 2; если индексное значение размера блока текущего блока равно 1, соответствующее первое предварительно заданное значение равно 4; и если индексное значение размера блока текущего блока равно 2, соответствующее первое предварительно заданное значение равно 4. Следовательно, фактор сдвига может быть определен согласно соотношению ширины или высоты текущего блока к соответствующему первому предварительно заданному значению.
[00128] Необязательно в некоторых вариантах осуществления операция, при которой определяется фактор сдвига согласно индексному значению размера блока текущего блока, может включать следующую операцию.
[00129] Фактор сдвига устанавливается равным соотношению ширины или высоты текущего блока ко второму предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00130] В данном случае второе предварительно заданное значение представляет размер блока предсказания на основе MIP, полученного в результате непосредственного использования весовой матрицы MIP, текущего блока. В таком случае способ может дополнительно включать следующую операцию.
[00131] Когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно, определяют, что второе предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 4, 4 и 8 соответственно.
[00132] То есть, когда второе предварительно заданное значение представляет размер блока предсказания на основе MIP, полученного в результате непосредственного использования весовой матрицы MIP для вычисления, текущего блока, если индексное значение размера блока текущего блока равно 0, соответствующее второе предварительно заданное значение равно 4; если индексное значение размера блока текущего блока равно 1, соответствующее второе предварительно заданное значение равно 4; и если индексное значение размера блока текущего блока равно 2, соответствующее второе предварительно заданное значение равно 8. Следовательно, фактор сдвига может быть определен согласно соотношению ширины или высоты текущего блока к соответствующему второму предварительно заданному значению.
[00133] В другом возможном варианте реализации таблица сдвигов может быть минимизирована, и фактор сдвига также определяется способом поиска в таблице. Необязательно в некоторых вариантах осуществления для S302 способ может дополнительно включать следующие операции.
[00134] Определяют индексное значение размера блока текущего блока согласно параметру размера текущего блока.
[00135] Фактор сдвига, соответствующий определенному индексному значению размера блока, запрашивается в первой предварительно заданной LUT согласно определенному индексному значению размера блока, причем первая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений размера блока и факторов сдвига.
[00136] Определяют запрошенный фактор сдвига в качестве фактора сдвига текущего блока.
[00137] Следует отметить, что фактор сдвига может быть запрошен согласно индексному значению размера блока (представленному посредством blocksizeIdx) только текущего блока. В первой предварительно заданной LUT, показанной в виде таблицы 5, каждое индексное значение размера блока может соответствовать фиксированному фактору сдвига. То есть существует фиксированное значение сдвига, показанное в таблице 5, для размера каждого блока или набора размеров каждого блока. В данном случае blocksizeIdx представляет собой индексное значение размера блока, соответствующее размеру текущего блока или размеру группы блоков.
[00138] Таблица 5
[00139] В другом возможном варианте реализации таблица сдвигов также может быть минимизирована, и фактор сдвига также определяется способом поиска в таблице. Необязательно в некоторых вариантах осуществления для S302 способ может дополнительно включать следующие операции.
[00140] Когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют индексное значение категории режима MIP текущего блока.
[00141] Фактор сдвига, соответствующий определенному индексному значению категории режима MIP, запрашивается во второй предварительно заданной LUT согласно определенному индексному значению категории режима MIP, причем вторая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений категории режима MIP и факторов сдвига.
[00142] Определяют запрошенный фактор сдвига в качестве фактора сдвига текущего блока.
[00143] Следует отметить, что фактор сдвига может быть запрошен согласно индексному значению категории режима MIP (представленному посредством ModeCategoryIdx) только текущего блока. Во второй предварительно заданной LUT, показанной в виде таблицы 6, каждое индексное значение категории режима MIP может соответствовать фиксированному фактору сдвига. То есть фиксированное значение сдвига, показанное в таблице 6, может исполняться согласно ModeCategoryIdx. В данном случае ModeCategoryIdx представляет собой индексное значение категории, соответствующее режиму MIP или набору режимов MIP.
[00144] Таблица 6
[00145] Кроме того, ModeCategoryIdx может быть выведено согласно индексному значению режима MIP. В частности, операция, при которой определяется индексное значение категории режима MIP текущего блока, может включать следующие операции.
[00146] Определяют индексное значение размера блока, соответствующее текущему блоку, и индексное значение режима MIP, когда режим MIP используется для предсказания.
[00147] Определяют индексное значение категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP.
[00148] То есть после получения индексного значения размера блока текущего блока и индексного значения режима MIP индексное значение категории режима MIP может быть вычислено хэш-способом или индексное значение категории режима MIP также может быть определено согласно оценке условия.
[00149] Необязательно индексное значение категории режима MIP вычисляют хэш-способом. В некоторых вариантах осуществления операция, при которой определяется индексное значение категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP, может включать следующие операции.
[00150] Когда индексное значение размера блока равно 0, обработка сдвигом вправо выполняется в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока.
[00151] Или, когда индексное значение размера блока равно 1, обработка сдвигом вправо выполняется в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения сдвинутого вправо значения, и обработка наложением выполняется в отношении сдвинутого вправо значения и третьего предварительно заданного значения для получения индексного значения категории режима MIP текущего блока.
[00152] Или, когда индексное значение размера блока равно 2, обработка сдвигом вправо выполняется в отношении индексного значения режима MIP посредством использования второго предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока.
[00153] Следует отметить, что первое предварительно заданное значение сдвига может составлять 3, второе предварительно заданное значение сдвига может составлять 2, и третье предварительно заданное значение может составлять 1.
[00154] В качестве примера, когда индексное значение размера блока (blocksizeIdx) равно 0, индексное значение режима MIP (modeIdx) может быть сдвинуто вправо на 3, чтобы получить индексное значение категории режима MIP; когда индексное значение размера блока (blocksizeIdx) равно 1, индексное значение режима MIP (modeIdx) может быть сдвинуто вправо на 3, а затем результат накладывается на 1, чтобы получить индексное значение категории режима MIP; и когда индексное значение размера блока (blocksizeIdx) равно 2, индексное значение режима MIP (modeIdx) может быть сдвинуто вправо на 2, чтобы получить индексное значение категории режима MIP, а именно следующим образом:
[00155] ModeCategoryIdx=ModeIdx>>3. для blocksizeIdx=0
[00156] ModeCategoryIdx=(ModeIdx>>3)+1. для blocksizeIdx=1
[00157] ModeCategoryIdx=ModeIdx>>2. для blocksizeIdx=2
[00158] Необязательно индексное значение категории режима MIP определяют согласно оценке условия. В некоторых вариантах осуществления операция, при которой определяется индексное значение категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP, может включать следующие операции.
[00159] Когда индексное значение размера блока равно 0, если индексное значение режима MIP меньше или равно первому пороговому значению, определяют, что индексное значение категории режима MIP представляет собой четвертое предварительно заданное значение, или, если индексное значение режима MIP больше первого порогового значения, определяют, что индексное значение категории режима MIP представляет собой пятое предварительно заданное значение.
[00160] Или, когда индексное значение размера блока равно 1, если индексное значение режима MIP меньше или равно второму пороговому значению, определяют, что индексное значение категории режима MIP представляет собой шестое предварительно заданное значение; или, если индексное значение режима MIP больше второго порогового значения, определяют, что индексное значение категории режима MIP представляет собой седьмое предварительно заданное значение.
[00161] Или, когда индексное значение размера блока равно 2, если индексное значение режима MIP меньше или равно третьему пороговому значению, определяют, что индексное значение категории режима MIP представляет собой восьмое предварительно заданное значение; если индексное значение режима MIP больше третьего порогового значения и индексное значение режима MIP меньше или равно четвертому пороговому значению, определяют, что индексное значение категории режима MIP представляет собой девятое предварительно заданное значение; или, если индексное значение режима MIP больше четвертого порогового значения, определяют, что индексное значение категории режима MIP представляет собой десятое предварительно заданное значение.
[00162] Следует отметить, что первое пороговое значение может быть равно 6, второе пороговое значение может быть равно 8, третье пороговое значение может быть равно 3, четвертое пороговое значение может быть равно 4, четвертое предварительно заданное значение может быть равно 5, пятое предварительно заданное значение может быть равно 6, шестое предварительно заданное значение может быть равно 6, седьмое предварительно заданное значение может быть равно 7, восьмое предварительно заданное значение может быть равно 5, девятое предварительно заданное значение может быть равно 6, и десятое предварительно заданное значение может быть равно 7.
[00163] В качестве примера, когда индексное значение размера блока (blocksizeIdx) равно 0, если индексное значение режима MIP (modeIdx) меньше или равно 6, то индексное значение категории режима MIP устанавливают равным 5, в противном случае индексное значение категории режима MIP устанавливают равным 6. Когда индексное значение размера блока (blocksizeIdx) равно 1, если индексное значение режима MIP (modeIdx) меньше или равно 8, то индексное значение категории режима MIP устанавливают равным 6, в противном случае индексное значение категории режима MIP устанавливают равным 7. Когда индексное значение размера блока (blocksizeIdx) равно 2, если индексное значение режима MIP (modeIdx) меньше или равно 3, то индексное значение категории режима MIP устанавливают равным 5; если индексное значение режима MIP (modeIdx) меньше или равно 4, индексное значение категории режима MIP устанавливают равным 6; в противном случае индексное значение категории режима MIP устанавливают равным 7, а именно следующим образом:
[00164] Если ModeIdx<=6, ModeCategoryIdx=5, в противном случае ModeCategoryIdx=6, для blocksizeIdx=0
[00165] Если ModeIdx<=8, ModeCategoryIdx=6, в противном случае ModeCategoryIdx=7, для blocksizeIdx=1
[00166] Если ModeIdx<=3, ModeCategoryIdx=5, или если ModeIdx<=4, ModeCategoryIdx=6, в противном случае ModeCategoryIdx=7, для blocksizeIdx=2
[00167] Следует также отметить, что первое пороговое значение может быть равно 6, второе пороговое значение может быть равно 8, третье пороговое значение может быть равно 3, четвертое пороговое значение может быть равно 4, четвертое предварительно заданное значение может быть равно 0, пятое предварительно заданное значение может быть равно 1, шестое предварительно заданное значение может быть равно 1, седьмое предварительно заданное значение может быть равно 2, восьмое предварительно заданное значение может быть равно 0, девятое предварительно заданное значение может быть равно 1 и десятое предварительно заданное значение может быть равно 2.
[00168] В качестве примера, когда индексное значение размера блока (blocksizeIdx) равно 0, если индексное значение режима MIP (modeIdx) меньше или равно 6, то индексное значение категории режима MIP устанавливают равным 0, в противном случае индексное значение категории режима MIP устанавливают равным 1. Когда индексное значение размера блока (blocksizeIdx) равно 1, если индексное значение режима MIP (modeIdx) меньше или равно 8, то индексное значение категории режима MIP устанавливают равным 1, в противном случае индексное значение категории режима MIP устанавливают равным 2. Когда индексное значение размера блока (blocksizeIdx) равно 2, если индексное значение режима MIP (modeIdx) меньше или равно 3, то индексное значение категории режима MIP устанавливают равным 0; если индексное значение режима MIP (modeIdx) меньше или равно 4, то индексное значение категории режима MIP устанавливают равным 1; в противном случае индексное значение категории режима MIP устанавливают равным 2, а именно следующим образом:
[00169] Если ModeIdx<=6, ModeCategoryIdx=0, в противном случае ModeCategoryIdx=1, для blocksizeIdx=0
[00170] Если ModeIdx<=8, ModeCategoryIdx=1, в противном случае ModeCategoryIdx=2, для blocksizeIdx=1
[00171] Если ModeIdx<=3, ModeCategoryIdx=0, или если ModeIdx<=4, ModeCategoryIdx=1, в противном случае ModeCategoryIdx=2, для blocksizeIdx=2
[00172] В представленном выше варианте реализации хранение минимизированной LUT может быть реализовано посредством упрощения способа определения фактора сдвига, в частности, посредством минимизации таблицы сдвигов, так что запоминающее устройство, занимаемое хранящейся таблицей сдвигов в режиме MIP, может быть уменьшено без увеличения сложности вычисления.
[00173] Следовательно, в режиме MIP матрица входных дискретных значений MIP, весовая матрица MIP и фактор сдвига могут быть получены для последующего определения значения внутреннего предсказания текущего блока.
[00174] В S303 значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[00175] Следует отметить, что после получения матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига сначала может быть определен блок предсказания на основе MIP текущего блока, а затем определяют значение внутреннего предсказания текущего блока. В частности, в некоторых вариантах осуществления для S303 операция, при которой определяют значение внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP, может включать следующие операции.
[00176] Обработку матричным умножением выполняют в отношении матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига посредством использования предварительно заданной модели вычисления для получения блока предсказания на основе MIP текущего блока.
[00177] Обработку фильтрацией выполняют в отношении блока предсказания на основе MIP для получения значения внутреннего предсказания текущего блока, причем блок предсказания на основе MIP включает значения предсказания по меньшей мере части положений пикселей в текущем блоке.
[00178] То есть после получения матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига сначала может быть определен блок предсказания на основе MIP текущего блока посредством использования предварительно заданной модели вычисления. Блок предсказания на основе MIP включает значения предсказания по меньшей мере части положений пикселей в текущем блоке.
[00179] В частности, в режиме MIP весовая матрица MIP (представленная посредством mWeight), фактор сдвига (представленный посредством sW) и значение смещения (представленное посредством fO) могут быть определены согласно индексному значению размера блока (представленному посредством blocksizeIdx) текущего блока и индексному значению режима MIP (modeIdx). Затем матрицу входных дискретных значений MIP (представленную посредством P[x]), mWeight, sW и fO вводят в процесс матричного умножения для получения блока предсказания на основе MIP (представленного посредством predMip[x][y]), выводимого матричным умножением, и дискретные значения в predMip[x][y] упорядочивают в матричной форме согласно predSize×predSize. Модель вычисления является следующей:
[00180]
[00181] [x][y] представляет координату положения пикселя, причем x представляет горизонтальное направление, а y представляет вертикальное направление. inSize представляет количество входных дискретных значений, а predSize представляет боковую длину блока предсказания на основе MIP predMip. В данном случае predSize коррелирует только с типом mipSizeId текущего блока. Когда mipSizeId=0 или 1, выходной блок предсказания на основе MIP составляет 4×4, а predSize равно 4. Когда mipSizeId=2, выходной блок предсказания на основе MIP составляет 8×8, а predSize равно 8. Следовательно, временное значение предсказания по меньшей мере одного пикселя в блоке предсказания на основе MIP predMip может быть вычислено согласно уравнению (8) для получения блока предсказания на основе MIP.
[00182] Более того, также необходимо выполнить обработку встраиванием в отношении значения выборки предсказания в блоке предсказания на основе MIP для получения блока предсказания на основе MIP текущего блока. Затем оценивают, стоит ли выполнять обработку транспонированием в отношении блока предсказания на основе MIP. Если результатом оценки является «да», необходимо дополнительно выполнять обработку транспонированием в отношении значения выборки предсказания в блоке предсказания на основе MIP, и транспонированный блок предсказания на основе MIP определяют как блок предсказания на основе MIP текущего блока. Если результатом оценки является «нет», нет необходимости выполнять обработку транспонированием в отношении значения выборки предсказания в блоке предсказания на основе MIP, и блок предсказания на основе MIP может быть непосредственно определен как блок предсказания на основе MIP текущего блока.
[00183] Кроме того, в некоторых вариантах осуществления операция, при которой обработка фильтрацией выполняется в отношении блока предсказания на основе MIP для получения значения внутреннего предсказания текущего блока, может включать следующие операции.
[00184] Оценивают, является ли размер блока предсказания на основе MIP таким же, как размер текущего блока.
[00185] Когда размер блока предсказания на основе MIP является таким же, как размер текущего блока, блок внутреннего предсказания текущего блока устанавливают равным блоку предсказания на основе MIP, причем блок предсказания на основе MIP включает значения выборки предсказания всех положений пикселей в текущем блоке.
[00186] Когда размер блока предсказания на основе MIP отличается от размера текущего блока, обработка фильтрацией выполняется в отношении блока предсказания на основе MIP для получения фильтрованного блока предсказания, и фильтрованный блок предсказания устанавливают в качестве блока внутреннего предсказания текущего блока.
[00187] В данном случае обработка фильтрацией может включать обработку фильтрацией повышающей дискретизации или обработку фильтрацией нижних частот.
[00188] Следует понимать, что после получения блока предсказания на основе MIP, поскольку блок предсказания на основе MIP может иметь два размера: блок предсказания на основе MIP 4×4 и блок предсказания на основе MIP 8×8, размер текущего блока может быть таким же или отличаться от размера блока предсказания на основе MIP. То есть текущий блок не всегда может быть заполнен значениями выборки, соответствующими блоку предсказания на основе MIP и, таким образом, может быть необходимо исполнение операции повышающей дискретизации в отношении блока предсказания на основе MIP для генерирования конечного значения предсказания, а именно, оценивают, является ли размер блока предсказания на основе MIP таким же, как размер текущего блока, чтобы определить, выполнять ли обработку повышающей дискретизацией в отношении блока предсказания на основе MIP.
[00189] Следует отметить, что когда размер блока предсказания на основе MIP является таким же, как размер текущего блока, а именно, и ширина, и высота блока предсказания на основе MIP являются такими же, как ширина и высота текущего блока, указывают, что не требуется выполнение обработки повышающей дискретизацией в отношении блока предсказания на основе MIP. В таком случае текущий блок заполняют непосредственно блоком предсказания на основе MIP, а именно, в заполненном текущем блоке нет свободных пикселей, и значение внутреннего предсказания каждого пикселя в текущем блоке может быть непосредственно установлено равным предсказанному значению каждого пикселя в блоке предсказания на основе MIP следующим образом:
[00190]
[00191] [x][y] представляет координату положения пикселя, причем x представляет горизонтальное направление, а y представляет вертикальное направление, predSamples[x][y] представляет значение внутреннего предсказания, соответствующее пикселю с координатой положения [x][y] в текущем блоке, а predMip[x][y] представляет значение предсказания, соответствующее пикселю с координатой положения [x][y] в блоке предсказания на основе MIP. Следовательно, predMip[x][y] блока предсказания на основе MIP может быть непосредственно определено как predSamples[x][y] блока внутреннего предсказания текущего блока согласно уравнению (9).
[00192] Также следует отметить, что когда размер блока предсказания на основе MIP отличается от размера текущего блока, а именно, по меньшей мере одно из ширины и высоты блока предсказания на основе MIP отличается от ширины и высоты текущего блока, текущий блок может не быть заполнен блоком предсказания на основе MIP, а именно, в заполненном текущем блоке нет свободных пикселей. Это указывает на то, что обработку фильтрацией необходимо выполнять в отношении блока предсказания на основе MIP. То есть, если обработку повышающей дискретизацией необходимо выполнять как в горизонтальном направлении, так и в вертикальном направлении, сначала может выполняться горизонтальная повышающая дискретизация в отношении блока предсказания на основе MIP, а затем может выполняться вертикальная повышающая дискретизация, так что получают первый блок повышающей дискретизации, который может быть представлен посредством predSamples[x][y]. Затем вертикальная повышающая дискретизация выполняется в отношении блока предсказания на основе MIP, а затем выполняется горизонтальная повышающая дискретизация, так что получают второй блок повышающей дискретизации, который может быть представлен посредством predSamples[x][y]. В итоге вычисление средневзвешенного значения выполняется в отношении predSamples[x][y] и predSamples[x][y] для получения в результате блока внутреннего предсказания текущего блока.
[00193] В качестве примера, когда все боковые длины nTbS (в данном случае S может быть представлено посредством W и H соответственно) текущего блока равны боковой длине predSize (в данном документе predSize коррелирует только с blocksizeIdx текущего блока), относящейся к predMip, блок предсказания на основе MIP может быть непосредственно установлен как блок внутреннего предсказания текущего блока, в противном случае необходимо выполнение обработки фильтрацией в отношении блока предсказания на основе MIP для получения блока внутреннего предсказания текущего блока. Процесс генерирования блока внутреннего предсказания может относиться к фиг. 4. Также рассматривая текущий блок 4×4 в качестве примера, на фиг. 4, поскольку размеры текущего блока и блока предсказания на основе MIP являются одинаковыми, нет необходимости в выполнении обработки фильтрацией в отношении блока предсказания на основе MIP, и блок предсказания на основе MIP может быть непосредственно установлен как блок внутреннего предсказания текущего блока, так что может быть получено значение внутреннего предсказания по меньшей мере одного пикселя в текущем блоке.
[00194] Вариант осуществления предлагает способ предсказания компонента цветности, который применим для кодера. Определяют параметры предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока. Когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока. Значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Таким образом, способ определения фактора сдвига может быть упрощен, и, более того, когда фактор сдвига определяют с использованием LUT, запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено при одновременном уменьшении сложности вычисления для достижения цели повышения эффективности кодирования.
[00195] На основе примера сценария применения, показанного на фиг. 2B, обращаясь к фиг. 5, показана блок-схема другого способа предсказания компонента цветности согласно вариантам осуществления заявки. Как показано на фиг. 5, способ может включать следующие операции.
[00196] В S501 анализируют битовый поток для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[00197] Следует отметить, что способ применим для декодера. Видеосигнал может быть разделен на несколько блоков. Каждый текущий блок изображения, подлежащий декодированию, может называться блоком декодирования. В данном случае каждый блок декодирования может включать первый компонент цветности, второй компонент цветности и третий компонент цветности. Текущий блок представляет собой блок, подлежащий декодированию, в котором первый компонент цветности, второй компонент цветности и третий компонент цветности в данном случае должны быть предсказаны, в видеосигнале.
[00198] Также следует отметить, что параметр предсказания выполнен с возможностью указания режима предсказания для текущего блока и параметров, относящихся к режиму предсказания. Режим предсказания обычно включает режим внутреннего предсказания, традиционный режим внутреннего предсказания и нетрадиционный режим внутреннего предсказания и т.д. Нетрадиционный режим внутреннего предсказания дополнительно включает режим MIP, режим CCLM, режим IBC и режим PLT и т.д. То есть кодер может выбирать оптимальный режим предсказания для предварительного кодирования текущего блока, и в этом процессе может быть определен режим предсказания для текущего блока с записыванием таким образом параметров предсказания в режиме предсказания в битовый поток для передачи в декодер посредством кодера.
[00199] Следовательно, на стороне декодера может быть проанализирован битовый поток для получения параметров предсказания текущего блока, и параметр режима предсказания в параметрах предсказания, полученных в результате анализа, может быть выполнен с возможностью определения того, используется ли режим MIP для текущего блока.
[00200] В S502, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока.
[00201] Следует отметить, что для текущего блока, если режим MIP используется для текущего блока для определения значения внутреннего предсказания текущего блока, необходимо определить матрицу входных дискретных значений MIP текущего блока, весовую матрицу MIP текущего блока и фактор сдвига текущего блока. Фактор сдвига также может называться сдвинутым номером бита, значением весового сдвига и т. п., и может быть представлен посредством sW, shift или weight shift.
[00202] В некоторых вариантах осуществления фактор сдвига текущего блока может включать константный фактор сдвига и фактор сдвига, определенный согласно параметру предсказания.
[00203] В возможном варианте реализации фактор сдвига может быть установлен равным фиксированному константному значению. В варианте осуществления заявки значение константного фактора сдвига предпочтительно равно 6, но для него не предусмотрены конкретные ограничения.
[00204] В другом возможном варианте реализации операция, при которой определяется фактор сдвига согласно параметру предсказания, может включать следующие операции.
[00205] Определяют индексное значение размера блока текущего блока согласно параметру размера текущего блока.
[00206] Определяют фактор сдвига согласно индексному значению размера блока текущего блока.
[00207] Следует отметить, что индексное значение размера блока (представленное посредством mipSizeId или blocksizeIdx) текущего блока может быть определено согласно параметру размера текущего блока. В частности, операция, при которой определяется индексное значение размера блока текущего блока согласно параметру размера текущего блока, может включать следующие операции.
[00208] Когда и ширина, и высота текущего блока равны 4, индексное значение размера блока текущего блока установлено равным 0.
[00209] Когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4, индексное значение размера блока текущего блока установлено равным 1.
[00210] Когда ни ширина, ни высота текущего блока не удовлетворяют вышеуказанным условиям, индексное значение размера блока текущего блока установлено равным 2.
[00211] Таким образом, после определения индексного значения размера блока текущего блока фактор сдвига может быть дополнительно определен согласно индексному значению размера блока текущего блока в сочетании с количеством значений входных дискретных значений MIP или размером блока предсказания на основе MIP.
[00212] Необязательно в некоторых вариантах осуществления операция, при которой определяется фактор сдвига согласно индексному значению размера блока текущего блока, может включать следующую операцию.
[00213] Фактор сдвига устанавливается равным соотношению ширины или высоты текущего блока к первому предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00214] В данном случае первое предварительно заданное значение представляет количество значений входной выборки MIP, полученных с границы текущего блока. В таком случае способ может дополнительно включать следующую операцию.
[00215] Когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно, определяют, что первое предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 2, 4 и 4 соответственно.
[00216] То есть, когда первое предварительно заданное значение представляет количество значений входной выборки MIP, полученных с границы текущего блока, если индексное значение размера блока текущего блока равно 0, соответствующее первое предварительно заданное значение равно 2; если индексное значение размера блока текущего блока равно 1, соответствующее первое предварительно заданное значение равно 4; и если индексное значение размера блока текущего блока равно 2, соответствующее первое предварительно заданное значение равно 4. Следовательно, фактор сдвига может быть определен согласно соотношению ширины или высоты текущего блока к соответствующему первому предварительно заданному значению.
[00217] Необязательно в некоторых вариантах осуществления операция, при которой определяется фактор сдвига согласно индексному значению размера блока текущего блока, может включать следующую операцию.
[00218] Фактор сдвига устанавливается равным соотношению ширины или высоты текущего блока ко второму предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00219] В данном случае второе предварительно заданное значение представляет размер блока предсказания на основе MIP, полученного в результате непосредственного использования весовой матрицы MIP, текущего блока. В таком случае способ может дополнительно включать следующую операцию.
[00220] Когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно, определяют, что второе предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 4, 4 и 8 соответственно.
[00221] То есть, когда второе предварительно заданное значение представляет размер блока предсказания на основе MIP, полученного в результате непосредственного использования весовой матрицы MIP, текущего блока, если индексное значение размера блока текущего блока равно 0, соответствующее второе предварительно заданное значение равно 4; если индексное значение размера блока текущего блока равно 1, соответствующее второе предварительно заданное значение равно 4; и если индексное значение размера блока текущего блока равно 2, соответствующее второе предварительно заданное значение равно 8. Следовательно, фактор сдвига может быть определен согласно соотношению ширины или высоты текущего блока к соответствующему второму предварительно заданному значению.
[00222] В другом возможном варианте реализации таблица сдвигов может быть минимизирована, и фактор сдвига также определяется способом поиска в таблице. Необязательно в некоторых вариантах осуществления для S502 способ дополнительно включает следующие операции.
[00223] Определяют индексное значение размера блока текущего блока согласно параметру размера текущего блока.
[00224] Фактор сдвига, соответствующий определенному индексному значению размера блока, запрашивается в первой предварительно заданной LUT согласно определенному индексному значению размера блока, причем первая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений размера блока и факторов сдвига.
[00225] Определяют запрошенный фактор сдвига в качестве фактора сдвига текущего блока.
[00226] Следует отметить, что таблицу сдвигов (например, первую предварительно заданную LUT или вторую предварительно заданную LUT) также предварительно создают в декодере, и таблицу сдвигов также сохраняют в декодере. Следовательно, когда фактор сдвига запрашивается согласно индексному значению размера блока только текущего блока, может быть использована первая предварительно заданная LUT, показанная в виде таблицы 5. В таблице 5 каждое индексное значение размера блока может соответствовать фиксированному фактору сдвига. То есть существует фиксированное значение сдвига, показанное в таблице 5, для размера каждого блока или набора размеров каждого блока.
[00227] В другом возможном варианте реализации таблица сдвигов также может быть минимизирована, и фактор сдвига также определяется способом поиска в таблице. Необязательно в некоторых вариантах осуществления для S502 способ может дополнительно включать следующие операции.
[00228] Когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют индексное значение категории режима MIP текущего блока.
[00229] Фактор сдвига, соответствующий определенному индексному значению категории режима MIP, запрашивается во второй предварительно заданной LUT согласно определенному индексному значению категории режима MIP, причем вторая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений категории режима MIP и факторов сдвига.
[00230] Определяют запрошенный фактор сдвига в качестве фактора сдвига текущего блока.
[00231] Следует отметить, что когда фактор сдвига запрашивается согласно индексному значению категории режима MIP (представленному посредством ModeCategoryIdx) только текущего блока, может быть использована вторая предварительно заданная LUT, показанная в виде таблицы 6. В таблице 6 каждое индексное значение категории режима MIP может соответствовать фиксированному фактору сдвига. То есть фиксированное значение сдвига, показанное в таблице 6, может исполняться согласно ModeCategoryIdx.
[00232] Кроме того, ModeCategoryIdx может быть выведено согласно индексному значению режима MIP. В частности, операция, при которой определяется индексное значение категории режима MIP текущего блока, может включать следующие операции.
[00233] Индексное значение размера блока, соответствующее текущему блоку, и индексное значение режима MIP, когда режим MIP используется для предсказания, определяются согласно параметру предсказания.
[00234] Определяют индексное значение категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP.
[00235] То есть после получения индексного значения размера блока текущего блока и индексного значения режима MIP индексное значение категории режима MIP может быть вычислено хэш-способом или индексное значение категории режима MIP также может быть определено согласно оценке условия.
[00236] Необязательно индексное значение категории режима MIP вычисляют хэш-способом. В некоторых вариантах осуществления операция, при которой определяется индексное значение категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP, включает следующие операции.
[00237] Когда индексное значение размера блока равно 0, обработка сдвигом вправо выполняется в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока.
[00238] Или, когда индексное значение размера блока равно 1, обработка сдвигом вправо выполняется в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения сдвинутого вправо значения, и обработка наложением выполняется в отношении сдвинутого вправо значения и третьего предварительно заданного значения для получения индексного значения категории режима MIP текущего блока.
[00239] Или, когда индексное значение размера блока равно 2, обработка сдвигом вправо выполняется в отношении индексного значения режима MIP посредством использования второго предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока.
[00240] В качестве примера первое предварительно заданное значение сдвига может составлять 3, второе предварительно заданное значение сдвига может составлять 2, и третье предварительно заданное значение может составлять 1, в частности, как представлено ниже:
[00241] ModeCategoryIdx=ModeIdx>>3. для blocksizeIdx=0
[00242] ModeCategoryIdx=(ModeIdx>>3)+1. для blocksizeIdx=1
[00243] ModeCategoryIdx=ModeIdx>>2. для blocksizeIdx=2
[00244] Необязательно индексное значение категории режима MIP определяют согласно оценке условия. В некоторых вариантах осуществления операция, при которой определяется индексное значение категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP, включает следующие операции.
[00245] Когда индексное значение размера блока равно 0, если индексное значение режима MIP меньше или равно первому пороговому значению, определяют, что индексное значение категории режима MIP представляет собой четвертое предварительно заданное значение; если индексное значение режима MIP больше первого порогового значения, определяют, что индексное значение категории режима MIP представляет собой пятое предварительно заданное значение.
[00246] Или, когда индексное значение размера блока равно 1, если индексное значение режима MIP меньше или равно второму пороговому значению, определяют, что индексное значение категории режима MIP представляет собой шестое предварительно заданное значение; если индексное значение режима MIP больше второго порогового значения, определяют, что индексное значение категории режима MIP представляет собой седьмое предварительно заданное значение.
[00247] Или, когда индексное значение размера блока равно 2, если индексное значение режима MIP меньше или равно третьему пороговому значению, определяют, что индексное значение категории режима MIP представляет собой восьмое предварительно заданное значение; если индексное значение режима MIP больше третьего порогового значения и индексное значение режима MIP меньше или равно четвертому пороговому значению, определяют, что индексное значение категории режима MIP представляет собой девятое предварительно заданное значение; если индексное значение режима MIP больше четвертого порогового значения, определяют, что индексное значение категории режима MIP представляет собой десятое предварительно заданное значение.
[00248] В качестве примера первое пороговое значение может составлять 6, второе пороговое значение может составлять 8, третье пороговое значение может составлять 3, и четвертое пороговое значение может составлять 4.
[00249] Когда четвертое предварительно заданное значение может составлять 5, пятое предварительно заданное значение может составлять 6, шестое предварительно заданное значение может составлять 6, седьмое предварительно заданное значение может составлять 7, восьмое предварительно заданное значение может составлять 5, девятое предварительно заданное значение может составлять 6 и десятое предварительно заданное значение составляет 7, конкретные представления являются следующими:
[00250] Если ModeIdx<=6, ModeCategoryIdx=5, в противном случае ModeCategoryIdx=6, для blocksizeIdx=0
[00251] Если ModeIdx<=8, ModeCategoryIdx=6, в противном случае ModeCategoryIdx=7, для blocksizeIdx=1
[00252] Если ModeIdx<=3, ModeCategoryIdx=5, или если ModeIdx<=4, ModeCategoryIdx=6, в противном случае ModeCategoryIdx=7, для blocksizeIdx=2
[00253] Или, когда четвертое предварительно заданное значение может составлять 0, пятое предварительно заданное значение может составлять 1, шестое предварительно заданное значение может составлять 1, седьмое предварительно заданное значение может составлять 2, восьмое предварительно заданное значение может составлять 0, девятое предварительно заданное значение может составлять 1 и десятое предварительно заданное значение составляет 2, конкретные представления являются следующими:
[00254] Если ModeIdx<=6, ModeCategoryIdx=0, в противном случае ModeCategoryIdx=1, для blocksizeIdx=0
[00255] Если ModeIdx<=8, ModeCategoryIdx=1, в противном случае ModeCategoryIdx=2, для blocksizeIdx=1
[00256] Если ModeIdx<=3, ModeCategoryIdx=0, или если ModeIdx<=4, ModeCategoryIdx=1, в противном случае ModeCategoryIdx=2, для blocksizeIdx=2
[00257] В варианте реализации хранение минимизированной LUT может быть реализовано посредством упрощения способа определения фактора сдвига, в частности, посредством минимизации таблицы сдвигов, так что запоминающее устройство, занимаемое хранящейся таблицей сдвигов в режиме MIP, может быть уменьшено без увеличения сложности вычисления.
[00258] Следовательно, в режиме MIP матрица входных дискретных значений MIP и весовая матрица MIP также могут быть получены для последующего определения значения внутреннего предсказания текущего блока.
[00259] В S503 значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[00260] Следует отметить, что после получения матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига сначала может быть определен блок предсказания на основе MIP текущего блока, а затем определяют значение внутреннего предсказания текущего блока. В частности, в некоторых вариантах осуществления для S503 операция, при которой определяют значение внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP, может включать следующие операции.
[00261] Обработку матричным умножением выполняют в отношении матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига посредством использования предварительно заданной модели вычисления для получения блока предсказания на основе MIP текущего блока.
[00262] Обработку фильтрацией выполняют в отношении блока предсказания на основе MIP для получения значения внутреннего предсказания текущего блока, причем блок предсказания на основе MIP включает значения предсказания по меньшей мере части положений пикселей в текущем блоке.
[00263] То есть после получения матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига сначала может быть определен блок предсказания на основе MIP текущего блока, а затем дополнительно может быть определено, является ли размер блока предсказания на основе MIP таким же, как размер текущего блока согласно полученному блоку предсказания на основе MIP, чтобы дополнительно определить значение внутреннего предсказания текущего блока. В частности, согласно результату оценки, когда размер блока предсказания на основе MIP является таким же, как размер текущего блока, блок внутреннего предсказания текущего блока устанавливают равным блоку предсказания на основе MIP, и в таком случае блок предсказания на основе MIP включает значения выборки предсказания всех положений пикселей в текущем блоке. Когда размер блока предсказания на основе MIP отличается от размера текущего блока, обработка фильтрацией выполняется в отношении блока предсказания на основе MIP для получения фильтрованного блока предсказания, и фильтрованный блок предсказания устанавливают в качестве блока внутреннего предсказания текущего блока. В данном случае обработка фильтрацией может включать обработку фильтрацией повышающей дискретизации или обработку фильтрацией нижних частот.
[00264] Данный вариант осуществления предлагает способ предсказания компонента цветности, который применим для декодера. Анализируют битовый поток для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока; когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока; и значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Таким образом, способ определения фактора сдвига может быть упрощен, и, более того, когда фактор сдвига определяют с использованием LUT, запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено при одновременном уменьшении сложности вычисления для достижения цели повышения эффективности декодирования.
[00265] На основе той же идеи изобретения, что и вышеупомянутые варианты осуществления, обращаясь к фиг. 6, показано структурное изображение состава кодера 60 согласно вариантам осуществления заявки. Как показано на фиг. 6, кодер 60 может содержать первый узел 601 определения и первый узел 602 предсказания.
[00266] Первый узел 601 определения выполнен с возможностью определения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[00267] Первый узел 601 определения дополнительно выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока.
[00268] Первый узел 602 предсказания выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[00269] В некоторых вариантах осуществления фактор сдвига текущего блока включает константный фактор сдвига и фактор сдвига, определенный согласно параметру предсказания.
[00270] В некоторых вариантах осуществления значение константного фактора сдвига равно 6.
[00271] В некоторых вариантах осуществления первый узел 601 определения дополнительно выполнен с возможностью определения индексного значения размера блока текущего блока согласно параметру размера текущего блока и определения фактора сдвига согласно индексному значению размера блока текущего блока.
[00272] В некоторых вариантах осуществления, обращаясь к фиг. 7, кодер 60 может дополнительно содержать первый узел 603 установки, выполненный с возможностью установки индексного значения размера блока текущего блока равным 0, когда и ширина, и высота текущего блока равны 4; установки индексного значения размера блока текущего блока равным 1, когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4; и установки индексного значения размера блока текущего блока равным 2, когда ширина, и высота текущего блока не удовлетворяют вышеуказанным условиям.
[00273] В некоторых вариантах осуществления первый узел 603 установки дополнительно выполнен с возможностью установки фактора сдвига равным соотношению ширины или высоты текущего блока к первому предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00274] В некоторых вариантах осуществления первое предварительно заданное значение представляет количество значений входной выборки MIP, полученных с границы текущего блока.
[00275] В некоторых вариантах осуществления первый узел 601 определения дополнительно выполнен с возможностью определения того, что первое предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 2, 4 и 4 соответственно, когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно.
[00276] В некоторых вариантах осуществления первый узел 603 установки дополнительно выполнен с возможностью установки фактора сдвига равным соотношению ширины или высоты текущего блока ко второму предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00277] В некоторых вариантах осуществления второе предварительно заданное значение представляет размер блока предсказания на основе MIP, полученного в результате непосредственного использования весовой матрицы MIP, текущего блока.
[00278] В некоторых вариантах осуществления первый узел 601 определения дополнительно выполнен с возможностью определения того, что второе предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 4, 4 и 8 соответственно, когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно.
[00279] В некоторых вариантах осуществления, обращаясь к фиг. 7, кодер 60 может дополнительно содержать первый узел 604 запроса.
[00280] Первый узел 601 определения дополнительно выполнен с возможностью определения индексного значения размера блока текущего блока согласно параметру размера текущего блока.
[00281] Первый узел 604 запроса выполнен с возможностью запроса фактора сдвига, соответствующего определенному индексному значению размера блока в первой предварительно заданной LUT согласно определенному индексному значению размера блока, причем первая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений размера блока и факторов сдвига, и определения запрашиваемого фактора сдвига в качестве фактора сдвига, соответствующего текущему блоку.
[00282] В некоторых вариантах осуществления первый узел 601 определения дополнительно выполнен с возможностью определения индексного значения категории режима MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока.
[00283] Первый узел 604 запроса выполнен с возможностью запроса фактора сдвига, соответствующего определенному индексному значению категории режима MIP во второй предварительно заданной LUT согласно определенному индексному значению категории режима MIP, причем вторая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений категории режима MIP и факторов сдвига, и определения запрашиваемого фактора сдвига в качестве фактора сдвига, соответствующего текущему блоку.
[00284] В некоторых вариантах осуществления первый узел 601 определения, в частности, выполнен с возможностью определения индексного значения размера блока, соответствующего текущему блоку, и индексного значения режима MIP, когда режим MIP используется для предсказания и определения индексного значения категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP.
[00285] В некоторых вариантах осуществления, обращаясь к фиг. 7, кодер 60 может дополнительно содержать первый узел 605 вычисления. Первый узел 605 вычисления выполнен с возможностью, когда индексное значение размера блока равно 0, выполнения обработки сдвигом вправо в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока; или, когда индексное значение размера блока равно 1, выполнения обработки сдвигом вправо в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения сдвинутого вправо значения и выполнения обработки наложением в отношении сдвинутого вправо значения и третьего предварительно заданного значения для получения индексного значения категории режима MIP текущего блока; или, когда индексное значение размера блока равно 2, выполнения обработки сдвигом вправо в отношении индексного значения режима MIP посредством использования второго предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока.
[00286] В некоторых вариантах осуществления, обращаясь к фиг. 7, кодер 60 может дополнительно содержать первый узел 606 оценки. Первый узел 606 оценки выполнен с возможностью, когда индексное значение размера блока равно 0, если индексное значение режима MIP меньше или равно первому пороговому значению, определения того, что индексное значение категории режима MIP представляет собой четвертое предварительно заданное значение, и, если индексное значение режима MIP больше первого порогового значения, определения того, что индексное значение категории режима MIP представляет собой пятое предварительно заданное значение; или, когда индексное значение размера блока равно 1, если индексное значение режима MIP меньше или равно второму пороговому значению, определения того, что индексное значение категории режима MIP представляет собой шестое предварительно заданное значение, и, если индексное значение режима MIP больше второго порогового значения, определения того, что индексное значение категории режима MIP представляет собой седьмое предварительно заданное значение; или, когда индексное значение размера блока равно 2, если индексное значение режима MIP меньше или равно третьему пороговому значению, определения того, что индексное значение категории режима MIP представляет собой восьмое предварительно заданное значение, если индексное значение режима MIP больше третьего порогового значения и индексное значение режима MIP меньше или равно четвертому пороговому значению, определения того, что индексное значение категории режима MIP представляет собой девятое предварительно заданное значение, и, если индексное значение режима MIP больше четвертого порогового значения, определения того, что индексное значение категории режима MIP представляет собой десятое предварительно заданное значение.
[00287] В некоторых вариантах осуществления, обращаясь к фиг. 7, кодер 60 может дополнительно содержать узел 607 предварительного кодирования, выполненный с возможностью выполнения обработки предварительным кодированием в отношении текущего блока в нескольких режимах предсказания для получения значений стоимости скорости и искажения, соответствующих всем режимам предсказания, выбора минимального значения стоимости скорости и искажения из полученных нескольких значений стоимости скорости и искажения и определения параметров предсказания в режиме предсказания, соответствующего минимальному значению стоимости скорости и искажения, в качестве параметров предсказания текущего блока.
[00288] В некоторых вариантах осуществления первый узел 605 вычисления дополнительно выполнен с возможностью выполнения обработки матричным умножением в отношении матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига посредством использования предварительно заданной модели вычисления для получения блока предсказания на основе MIP текущего блока.
[00289] Первый узел 602 предсказания, в частности, выполнен с возможностью выполнения обработки фильтрацией в отношении блока предсказания на основе MIP для получения значения внутреннего предсказания текущего блока, причем блок предсказания на основе MIP включает предсказанные значения по меньшей мере части положений пикселей в текущем блоке.
[00290] Следует понимать, что в вариантах осуществления заявки «узел» может быть частью схемы, частью процессора, частью программы или программного обеспечения и т.п, разумеется, он также может быть модульным и также может быть немодульным. Кроме того, каждый компонент в вариантах осуществления может быть интегрирован в узел обработки, причем каждый узел также может существовать самостоятельно, и два или более двух узлов также могут быть интегрированы в узел. Интегрированный узел может быть реализован в форме аппаратного обеспечения, а также может быть реализован в форме функционального модуля программного обеспечения.
[00291] При реализации в форме функционального модуля программного обеспечения и продаже или использовании не в качестве самостоятельного продукта интегрированный узел может храниться на машиночитаемом носителе данных. Исходя из такого понимания, техническое решение варианта осуществления по существу или части, вносящие вклад в известный уровень техники, или все или часть технического решения могут быть воплощены в форме программного продукта, и компьютерный программный продукт хранится на носителе данных, включающем множество команд, предназначенных для обеспечения исполнения компьютерным устройством (которое может представлять собой персональный компьютер, сервер, сетевое устройство и т. п. ) или процессором всех или части этапов способа в варианте осуществления. Носитель данных включает: различные носители, способные хранить программные коды, такие как U-диск, мобильный жесткий диск, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), магнитный диск или оптический диск.
[00292] Следовательно, варианты осуществления заявки предоставляют компьютерный носитель данных, который применим для кодера 60. Компьютерный носитель данных хранит компьютерные программы, и компьютерные программы исполняются первым процессором для реализации любого способа в вышеупомянутых вариантах осуществления.
[00293] На основе состава кодера 60 и компьютерного носителя данных, обращаясь к фиг. 8, показан пример конкретной структуры аппаратного обеспечения кодера 60 согласно вариантам осуществления заявки, который может содержать первый интерфейс 801 связи, первое запоминающее устройство 802 и первый процессор 803. Каждый компонент взаимосвязан посредством первой системы 804 шин. Можно понять, что первая система 804 шин выполнена с возможностью реализации соединения связи между этими компонентами. Первая система 804 шин содержит шину данных, а также содержит шину питания, шину управления и шину сигнала состояния. Однако для наглядного описания различные шины на фиг. 8 обозначены как первая система 804 шин.
[00294] Первый интерфейс 801 связи выполнен с возможностью приема и отправки сигнала в процессе приема и отправки информации с помощью других внешних сетевых элементов.
[00295] Первое запоминающее устройство 802 выполнено с возможностью хранения компьютерных программ, которые могут запускаться на первом процессоре 803.
[00296] Первый процессор 803 выполнен с возможностью запуска компьютерных программ для исполнения следующих операций.
[00297] Определяют параметры предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[00298] Когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока.
[00299] Значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[00300] Можно понять, что первое запоминающее устройство 802 в вариантах осуществления заявки может представлять собой энергозависимое запоминающее устройство или энергонезависимое запоминающее устройство или может включать как энергозависимое, так и энергонезависимое запоминающие устройства. Энергонезависимое запоминающее устройство может представлять собой ROM, программируемое ROM (PROM), стираемое PROM (EPROM), электрическое EPROM (EEPROM) или флеш-память. Энергозависимое запоминающее устройство может представлять собой RAM и используется в качестве внешнего высокоскоростного буфера. В качестве иллюстративного примера, но не ограничения, описано, что могут использоваться RAM в различных формах, например, статическое RAM (SRAM), динамическое RAM (DRAM), синхронное DRAM (SDRAM), SDRAM с двукратной скоростью передачи данных (DDRSDRAM), усовершенствованное SDRAM (ESDRAM), DRAM с синхронным каналом (SLDRAM) и RAM с шиной прямого резидентного доступа (DRRAM). Следует отметить, что первое запоминающее устройство 802 системы и способа, описанных в заявке, включает, но без ограничения, запоминающие устройства этих и любых других подходящих типов.
[00301] Первый процессор 803 может представлять собой кристалл c интегральными схемами с возможностью обработки сигналов. В процессе реализации каждый этап способа может быть выполнен интегральной логической схемой в форме аппаратного обеспечения в первом процессоре 803 или командой в форме программного обеспечения. Первый процессор 803 может представлять собой универсальный процессор, процессор цифровой обработки сигналов (DSP), интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA) или другое программируемое логическое устройство (PLD), дискретный логический элемент или транзисторное логическое устройство и дискретный аппаратный компонент. Каждые способ, стадия и логическая блок-схема, раскрытые в вариантах осуществления заявки, могут быть реализованы или исполнены. Универсальный процессор может представлять собой микропроцессор, или процессор также может представлять собой любой традиционный процессор и т. п. Операции способа, раскрытые в сочетании с вариантами осуществления заявки, могут быть непосредственно осуществлены для исполнения и выполнения аппаратным декодирующим процессором или исполнения и выполнения посредством сочетания модулей аппаратного и программного обеспечения в декодирующем процессоре. Программный модуль может быть расположен на хорошо известном в данной области техники носителе данных, таком как RAM, флеш-память, ROM, PROM или EEPROM и регистр. Носитель данных расположен в первом запоминающем устройстве 802. Первый процессор 803 считывает информацию в первом запоминающем устройстве 802 и осуществляет операции способа в сочетании с аппаратным обеспечением.
[00302] Можно понять, что эти варианты осуществления, описанные в заявке, могут быть реализованы посредством аппаратного обеспечения, программного обеспечения, программно-аппаратного обеспечения, межплатформенного программного обеспечения, микрокода или их сочетания. В случае реализации посредством аппаратного обеспечения узел обработки может быть реализован в одном или более ASIC, DSP, устройствах DSP (DSPD), PLD, FPGA, универсальных процессорах, контроллерах, микроконтроллерах, микропроцессорах, других электронных узлах, выполненных с возможностью исполнения функций в приложении, или их сочетаниях. В случае реализации посредством программного обеспечения технология настоящего изобретения может быть реализована посредством модулей (например, процессов и функций), исполняющих функции в настоящем изобретении. Программный код может храниться в запоминающем устройстве и исполняться процессором. Запоминающее устройство может быть реализовано в процессоре или вне процессора.
[00303] Необязательно в качестве другого варианта осуществления первый процессор 803 дополнительно выполнен с возможностью запуска компьютерных программ для исполнения любого способа в вышеупомянутых вариантах осуществления.
[00304] Варианты осуществления заявки предоставляют кодер. Кодер может содержать первый узел определения и первый узел предсказания. Первый узел определения выполнен с возможностью определения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока. Первый узел определения дополнительно выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока. Первый узел предсказания выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Таким образом, способ определения фактора сдвига может быть упрощен, и, более того, когда фактор сдвига определяют с использованием LUT, запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено при одновременном уменьшении сложности вычисления для достижения цели повышения эффективности кодирования и декодирования.
[00305] На основе той же идеи изобретения, что и вышеупомянутые варианты осуществления, обращаясь к фиг. 9, показано структурное изображение состава декодера 90 согласно вариантам осуществления заявки. Как показано на фиг. 9, декодер 90 может содержать узел 901 анализа, второй узел 902 определения и второй узел 903 предсказания.
[00306] Узел 901 анализа выполнен с возможностью анализа битового потока для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[00307] Второй узел 902 определения выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока.
[00308] Второй узел 903 предсказания выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[00309] В некоторых вариантах осуществления фактор сдвига текущего блока включает константный фактор сдвига и фактор сдвига, определенный согласно параметрам предсказания.
[00310] В некоторых вариантах осуществления значение константного фактора сдвига равно 6.
[00311] В некоторых вариантах осуществления второй узел 902 определения дополнительно выполнен с возможностью определения индексного значения размера блока текущего блока согласно параметру размера текущего блока и определения фактора сдвига согласно индексному значению размера блока текущего блока.
[00312] В некоторых вариантах осуществления, обращаясь к фиг. 10, декодер 90 может дополнительно содержать второй узел 904 установки. Второй узел 904 установки выполнен с возможностью установки индексного значения размера блока текущего блока равным 0, когда и ширина, и высота текущего блока равны 4; установки индексного значения размера блока текущего блока равным 1, когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4; и установки индексного значения размера блока текущего блока равным 2, когда и ширина, и высота текущего блока не удовлетворяют вышеуказанным условиям.
[00313] В некоторых вариантах осуществления второй узел 904 установки дополнительно выполнен с возможностью установки фактора t сдвига равным соотношению ширины или высоты текущего блока к первому предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00314] В некоторых вариантах осуществления первое предварительно заданное значение представляет количество значений входной выборки MIP, полученных с границы текущего блока.
[00315] В некоторых вариантах осуществления второй узел 902 определения дополнительно выполнен с возможностью определения того, что первое предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 2, 4 и 4 соответственно, когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно.
[00316] В некоторых вариантах осуществления второй узел 904 установки дополнительно выполнен с возможностью установки фактора сдвига равным соотношению ширины или высоты текущего блока ко второму предварительно заданному значению, соответствующему индексному значению размера блока текущего блока.
[00317] В некоторых вариантах осуществления второе предварительно заданное значение представляет размер блока предсказания на основе MIP, полученного в результате непосредственного использования весовой матрицы MIP, текущего блока.
[00318] В некоторых вариантах осуществления второй узел 902 определения дополнительно выполнен с возможностью определения того, что второе предварительно заданное значение, соответствующее индексному значению размера блока текущего блока, равно 4, 4 и 8 соответственно, когда индексное значение размера блока текущего блока равно 0, 1 и 2 соответственно.
[00319] В некоторых вариантах осуществления, обращаясь к фиг. 10, декодер 90 может дополнительно содержать второй узел 905 запроса.
[00320] Второй узел 902 определения дополнительно выполнен с возможностью определения индексного значения размера блока текущего блока согласно параметру размера текущего блока.
[00321] Второй узел 905 запроса выполнен с возможностью запроса фактора сдвига, соответствующего определенному индексному значению размера блока в первой предварительно заданной LUT согласно определенному индексному значению размера блока, причем первая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений размера блока и факторов сдвига, и определения запрашиваемого фактора сдвига в качестве фактора сдвига, соответствующего текущему блоку.
[00322] В некоторых вариантах осуществления второй узел 902 определения дополнительно выполнен с возможностью определения индексного значения категории режима MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока.
[00323] Второй узел 905 запроса выполнен с возможностью запроса фактора сдвига, соответствующего определенному индексному значению категории режима MIP во второй предварительно заданной LUT согласно определенному индексному значению категории режима MIP, причем вторая предварительно заданная LUT выполнена с возможностью записи соответствующих значений из индексных значений категории режима MIP и факторов сдвига, и определения запрашиваемого фактора сдвига в качестве фактора сдвига, соответствующего текущему блоку.
[00324] В некоторых вариантах осуществления второй узел 902 определения, в частности, выполнен с возможностью определения индексного значения размера блока, соответствующего текущему блоку, и индексного значения режима MIP, когда режим MIP используется для предсказания согласно параметру предсказания и определения индексного значения категории режима MIP текущего блока согласно индексному значению размера блока и индексному значению режима MIP.
[00325] В некоторых вариантах осуществления, обращаясь к фиг. 10, декодер 90 может дополнительно содержать второй узел 906 вычисления. Второй узел 906 вычисления выполнен с возможностью выполнения обработки сдвигом вправо в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока, когда индексное значение размера блока равно 0; или выполнения обработки сдвигом вправо в отношении индексного значения режима MIP посредством использования первого предварительно заданного значения сдвига для получения сдвинутого вправо значения и выполнения обработки наложением в отношении сдвинутого вправо значения и третьего предварительно заданного значения для получения индексного значения категории режима MIP текущего блока, когда индексное значение размера блока равно 1; или выполнения обработки сдвигом вправо в отношении индексного значения режима MIP посредством использования второго предварительно заданного значения сдвига для получения индексного значения категории режима MIP текущего блока, когда индексное значение размера блока равно 2.
[00326] В некоторых вариантах осуществления, обращаясь к фиг. 10, декодер 90 может дополнительно содержать второй узел 907 оценки, выполненный с возможностью определения того, что индексное значение категории режима MIP представляет собой четвертое предварительно заданное значение, когда индексное значение размера блока равно 0, если индексное значение режима MIP меньше или равно первому пороговому значению, и определения того, что индексное значение категории режима MIP представляет собой пятое предварительно заданное значение, если индексное значение режима MIP больше первого порогового значения; или определения того, что индексное значение категории режима MIP представляет собой шестое предварительно заданное значение, когда индексное значение размера блока равно 1, если индексное значение режима MIP меньше или равно второму пороговому значению, и определения того, что индексное значение категории режима MIP представляет собой седьмое предварительно заданное значение, если индексное значение режима MIP больше второго порогового значения; или определения того, что индексное значение категории режима MIP представляет собой восьмое предварительно заданное значение, когда индексное значение размера блока равно 2, если индексное значение режима MIP меньше или равно третьему пороговому значению, определения того, что индексное значение категории режима MIP представляет собой девятое предварительно заданное значение, если индексное значение режима MIP больше третьего порогового значения и индексное значение режима MIP меньше или равно четвертому пороговому значению, и определения того, что индексное значение категории режима MIP представляет собой десятое предварительно заданное значение, если индексное значение режима MIP больше четвертого порогового значения.
[00327] В некоторых вариантах осуществления второй узел 906 вычисления дополнительно выполнен с возможностью выполнения обработки матричным умножением в отношении матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига посредством использования предварительно заданной модели вычисления для получения блока предсказания на основе MIP текущего блока.
[00328] Второй узел 903 предсказания, в частности, выполнен с возможностью выполнения обработки фильтрацией в отношении блока предсказания на основе MIP для получения значения внутреннего предсказания текущего блока, причем блок предсказания на основе MIP включает предсказанные значения по меньшей мере части положений пикселей в текущем блоке.
[00329] Следует понимать, что в варианте осуществления «узел» может быть частью схемы, частью процессора, частью программы или программного обеспечения и т. п., разумеется, он также может быть модульным и также может быть немодульным. Кроме того, каждый компонент в вариантах осуществления может быть интегрирован в узел обработки, причем каждый узел также может существовать самостоятельно, и два или более двух узлов также могут быть интегрированы в узел. Интегрированный узел может быть реализован в форме аппаратного обеспечения, а также может быть реализован в форме функционального модуля программного обеспечения.
[00330] При реализации в форме функционального модуля программного обеспечения и продаже или использовании не в качестве самостоятельного продукта интегрированный узел может храниться на машиночитаемом носителе данных. Исходя из такого понимания, варианты осуществления предоставляют компьютерный носитель данных, который применим для декодера 90. Компьютерный носитель данных хранит компьютерные программы, и компьютерные программы исполняются вторым процессором для реализации любого способа в вышеупомянутых вариантах осуществления.
[00331] На основе состава декодера 90 и компьютерного носителя данных, обращаясь к фиг. 11, показан пример конкретной структуры аппаратного обеспечения декодера 90 согласно вариантам осуществления заявки, который может содержать второй интерфейс 1101 связи, второе запоминающее устройство 1102 и второй процессор 1103. Каждый компонент взаимосвязан посредством второй системы 1104 шин. Можно понять, что вторая система 1104 шин выполнена с возможностью реализации соединения связи между этими компонентами. Вторая система 1104 шин содержит шину данных, а также содержит шину питания, шину управления и шину сигнала состояния. Однако для наглядного описания различные шины на фиг. 11 обозначены как вторая система 1104 шин.
[00332] Второй интерфейс 1101 связи выполнен с возможностью приема и отправки сигнала в процессе приема и отправки информации с помощью другого внешнего сетевого элемента.
[00333] Второе запоминающее устройство 1102 выполнено с возможностью хранения компьютерных программ, которые могут запускаться на втором процессоре 1103.
[00334] Второй процессор 1103 выполнен с возможностью запуска компьютерных программ для исполнения следующих операций.
[00335] Анализируют битовый поток для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока.
[00336] Когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока.
[00337] Значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP.
[00338] Необязательно в качестве другого варианта осуществления второй процессор 1103 дополнительно выполнен с возможностью запуска компьютерных программ для исполнения любого способа в вышеупомянутых вариантах осуществления.
[00339] Можно понять, что второе запоминающее устройство 1102 имеет функцию аппаратного обеспечения, подобную функции аппаратного обеспечения первого запоминающего устройства 802, и второй процессор 1103 имеет функцию аппаратного обеспечения, подобную функции аппаратного обеспечения первого процессора 803. Подробные описания здесь опущены.
[00340] Варианты осуществления заявки предоставляют декодер. Декодер может содержать узел анализа, второй узел определения и второй узел предсказания. Узел анализа выполнен с возможностью анализа битового потока для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока. Второй узел определения выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока. Второй узел предсказания выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Таким образом, способ определения фактора сдвига может быть упрощен, и, более того, когда фактор сдвига определяют с использованием LUT, запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено при одновременном уменьшении сложности вычисления, так что достигается цель повышения эффективности кодирования и декодирования.
[00341] Следует отметить, что в заявке термины «включать» и «содержать» или любой другой их вариант предназначены для охвата неисключительных включений, так что процесс, способ, объект или устройство, содержащее ряд элементов, содержит не только эти элементы, но также содержит другие элементы, которые явно не перечислены, или дополнительно содержит элементы, свойственные для этого процесса, способа, объекта или устройства. При условии отсутствия других ограничений элемент, определенный утверждением «содержащий», не исключает существование других аналогичных элементов в процессе, способе, объекте или устройстве, содержащем данный элемент.
[00342] Порядковые номера вариантов осуществления заявки используются не для представления превосходства и несовершенства вариантов осуществления, а только для описания.
[00343] Способы, раскрытые в некоторых вариантах осуществления способа, предоставленных в заявке, можно свободно объединять без конфликтов для получения новых вариантов осуществления способа.
[00344] Характеристики, раскрытые в некоторых вариантах осуществления продукта, предоставленных в заявке, можно свободно объединять без конфликтов для получения новых вариантов осуществления продукта.
[00345] Характеристики, раскрытые в некоторых вариантах осуществления способа или устройства, предоставленных в заявке, можно свободно объединять без конфликтов для получения новых вариантов осуществления способа или вариантов осуществления устройства.
[00346] Выше приведен лишь конкретный вариант реализации настоящего изобретения, и он не предназначен для ограничения объема правовой охраны настоящего изобретения. Любые изменения или замены, очевидные специалистам в данной области техники, в рамках технического объема, раскрытого в заявке, должны находиться в пределах объема правовой охраны настоящего изобретения. Следовательно, объем правовой охраны заявки будет зависеть от объема правовой охраны формулы изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[00347] Варианты осуществления заявки применимы для кодера или декодера. После получения параметров предсказания текущего блока, когда параметр режима предсказания в параметрах предсказания указывает на то, что режим MIP используется для определения значения внутреннего предсказания текущего блока, могут быть определены весовая матрица MIP текущего блока, фактор сдвига текущего блока и матрица входных дискретных значений MIP текущего блока; и затем значение внутреннего предсказания текущего блока определяют согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Таким образом, либо на стороне декодера, либо на стороне кодера способ определения фактора сдвига может быть упрощен, и, более того, когда фактор сдвига определяют с использованием LUT, запоминающее устройство, занимаемое хранящейся LUT, может быть уменьшено при одновременном уменьшении сложности вычисления, так что достигается цель повышения эффективности кодирования и декодирования.
Изобретение относится к средствам для кодирования изображения. Технический результат заключается в повышении точности предсказания MIP. Определяют параметры предсказания текущего блока, включающие параметр режима предсказания и параметр размера текущего блока. Определяют весовую матрицу MIP текущего блока, фактор сдвига текущего блока и матрицу входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим внутреннего предсказания на основе матрицы (MIP) используется для определения значения внутреннего предсказания текущего блока. Определяют значение внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP. Весовую матрицу MIP текущего блока по меньшей мере определяют согласно индексному значению размера блока текущего блока, которое определяют согласно параметру размера текущего блока. При этом устанавливают индексное значение размера блока текущего блока равным 0, когда и ширина, и высота текущего блока равны 4; равным 1, когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4; или равным 2 в иных случаях. 7 н. и 6 з.п. ф-лы, 12 ил., 6 табл.
1. Способ предсказания компонента цветности, применимый для кодера и включающий:
определение параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока;
определение весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим внутреннего предсказания на основе матрицы (MIP) используется для определения значения внутреннего предсказания текущего блока; и
определение значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP,
при этом весовую матрицу MIP текущего блока по меньшей мере определяют согласно индексному значению размера блока текущего блока, и индексное значение размера блока текущего блока определяют согласно параметру размера текущего блока,
при этом определение индексного значения размера блока текущего блока согласно параметру размера текущего блока включает:
установку индексного значения размера блока текущего блока равным 0, когда и ширина, и высота текущего блока равны 4;
установку индексного значения размера блока текущего блока равным 1, когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4; или
установку индексного значения размера блока текущего блока равным 2, когда и ширина, и высота текущего блока не удовлетворяют вышеуказанным условиям.
2. Способ по п. 1, отличающийся тем, что фактор сдвига текущего блока включает константный фактор сдвига.
3. Способ по п. 2, отличающийся тем, что значение константного фактора сдвига равно 6.
4. Способ по п. 1, отличающийся тем, что определение значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP включает:
выполнение обработки матричным умножением в отношении матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига посредством использования предварительно заданной модели вычисления для получения блока предсказания на основе MIP текущего блока; и
выполнение обработки фильтрацией в отношении блока предсказания на основе MIP для получения значения внутреннего предсказания текущего блока, причем блок предсказания на основе MIP включает значения предсказания по меньшей мере части положений пикселей в текущем блоке.
5. Способ предсказания компонента цветности, применимый для декодера и включающий:
анализ битового потока для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока;
определение весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим внутреннего предсказания на основе матрицы (MIP) используется для определения значения внутреннего предсказания текущего блока; и
определение значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP,
при этом весовую матрицу MIP текущего блока по меньшей мере определяют согласно индексному значению размера блока текущего блока, и индексное значение размера блока текущего блока определяют согласно параметру размера текущего блока,
при этом определение индексного значения размера блока текущего блока согласно параметру размера текущего блока включает:
установку индексного значения размера блока текущего блока равным 0, когда и ширина, и высота текущего блока равны 4;
установку индексного значения размера блока текущего блока равным 1, когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4; или
установку индексного значения размера блока текущего блока равным 2, когда и ширина, и высота текущего блока не удовлетворяют вышеуказанным условиям.
6. Способ по п. 5, отличающийся тем, что фактор сдвига текущего блока включает константный фактор сдвига.
7. Способ по п. 6, отличающийся тем, что значение константного фактора сдвига равно 6.
8. Способ по п. 5, отличающийся тем, что определение значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP включает:
выполнение обработки матричным умножением в отношении матрицы входных дискретных значений MIP, весовой матрицы MIP и фактора сдвига посредством использования предварительно заданной модели вычисления для получения блока предсказания на основе MIP текущего блока; и
выполнение обработки фильтрацией в отношении блока предсказания на основе MIP для получения значения внутреннего предсказания текущего блока, причем блок предсказания на основе MIP включает предсказанные значения по меньшей мере части положений пикселей в текущем блоке.
9. Кодер, содержащий первый узел определения и первый узел предсказания, при этом
первый узел определения выполнен с возможностью определения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока;
первый узел определения дополнительно выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим внутреннего предсказания на основе матрицы (MIP) используется для определения значения внутреннего предсказания текущего блока; и
первый узел предсказания выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP,
при этом весовую матрицу MIP текущего блока по меньшей мере определяют согласно индексному значению размера блока текущего блока, и индексное значение размера блока текущего блока определяют согласно параметру размера текущего блока,
при этом определение индексного значения размера блока текущего блока согласно параметру размера текущего блока включает:
установку индексного значения размера блока текущего блока равным 0, когда и ширина, и высота текущего блока равны 4;
установку индексного значения размера блока текущего блока равным 1, когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4; или
установку индексного значения размера блока текущего блока равным 2, когда и ширина, и высота текущего блока не удовлетворяют вышеуказанным условиям.
10. Кодер, содержащий первое запоминающее устройство и первый процессор, при этом
первое запоминающее устройство выполнено с возможностью хранения компьютерных программ, которые могут запускаться на первом процессоре; и
первый процессор выполнен с возможностью запуска компьютерных программ для исполнения способа по любому из пп. 1-4.
11. Декодер, содержащий узел анализа, второй узел определения и второй узел предсказания, при этом
узел анализа выполнен с возможностью анализа битового потока для получения параметров предсказания текущего блока, причем параметры предсказания включают параметр режима предсказания и параметр размера текущего блока;
второй узел определения выполнен с возможностью определения весовой матрицы MIP текущего блока, фактора сдвига текущего блока и матрицы входных дискретных значений MIP текущего блока, когда параметр режима предсказания указывает на то, что режим внутреннего предсказания на основе матрицы (MIP) используется для определения значения внутреннего предсказания текущего блока; и
второй узел предсказания выполнен с возможностью определения значения внутреннего предсказания текущего блока согласно весовой матрице MIP, фактору сдвига и матрице входных дискретных значений MIP,
при этом весовую матрицу MIP текущего блока по меньшей мере определяют согласно индексному значению размера блока текущего блока, и индексное значение размера блока текущего блока определяют согласно параметру размера текущего блока,
при этом определение индексного значения размера блока текущего блока согласно параметру размера текущего блока включает:
установку индексного значения размера блока текущего блока равным 0, когда и ширина, и высота текущего блока равны 4;
установку индексного значения размера блока текущего блока равным 1, когда и ширина, и высота текущего блока равны 8 или одно из ширины и высоты текущего блока равно 4; или
установку индексного значения размера блока текущего блока равным 2, когда и ширина, и высота текущего блока не удовлетворяют вышеуказанным условиям.
12. Декодер, содержащий второе запоминающее устройство и второй процессор, при этом
второе запоминающее устройство выполнено с возможностью хранения компьютерных программ, которые могут запускаться на втором процессоре; и
второй процессор выполнен с возможностью запуска компьютерных программ для исполнения способа по любому из пп. 5-8.
13. Компьютерный носитель данных, хранящий компьютерные программы, при этом компьютерные программы исполняются первым процессором для реализации способа по любому из пп. 1-4 или исполняются вторым процессором для реализации способа по любому из пп. 5-8.
BROSS B | |||
et al., "Versatile Video Coding (Draft 5)", JVET-N1001-v10, 14th Meeting, Geneva, Mar | |||
Станок для придания концам круглых радиаторных трубок шестигранного сечения | 1924 |
|
SU2019A1 |
J-Y HUO et al., "Non-CE3: Fixed downshifting for 8-bit MIP", JVET-O1127, 15th Meeting, Gothenburg, 07.07.2019 | |||
CN 100405848 C, 23.07.2008 | |||
CN 105516728 B, 28.06.2019 | |||
CN 102595112 B, 19.02.2014 | |||
US 10349061 B2, 09.07.2019 | |||
US 9258573 B2, |
Авторы
Даты
2024-02-01—Публикация
2020-05-15—Подача