Способ декодирования видеосигнала

Иллюстрации

Показать все

Изобретение относится к технологиям кодирования/декодирования видеосигнала. Техническим результатом является повышение эффективности декодирования видеосигнала. Предложен способ декодирования видеосигнала. Способ содержит этап, на котором выполняют энтропийное декодирование битового потока, при этом из битового потока определяют остаточный пиксел, относящийся к текущему блоку. Далее, согласно способу, определяют опорные пикселы на основании прилегающих к текущему блоку пикселов и выполняют внутрикадровое предсказание текущего блока на основании опорных пикселов. А также определяют восстановленный пиксел текущего блока на основании остаточного пиксела и предсказываемого пиксела, определенного в результате внутрикадрового предсказания. При этом, если прилегающие пикселы включают недоступный пиксел, не используемый для внутрикадрового предсказания, то недоступный пиксел заменяют пикселом, прилегающим к недоступному пикселу. 2 з.п. ф-лы, 16 ил., 1 табл.

Реферат

Настоящая заявка выделена из заявки №2013152690 на выдачу патента РФ на изобретение, поданной 14.05.2012, с испрашиванием приоритета по дате подачи первых заявок KR 10-2011-0048130 и KR 10-2011-0065210, поданных в патентное ведомство Кореи 20.05.2011 и 30.06.2011.

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

Настоящее изобретение относится к технологиям обработки видеоинформации, более конкретно, к способу декодирования видеосигнала.

Уровень техники

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

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

Раскрытие изобретения

Целью аспекта настоящего изобретения является предложение способа эффективного декодирования видеосигнала.

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

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

Опорные пикселы могут включать по меньшей мере один из числа прилегающего слева пиксела, координата которого по оси x совпадает с координатой предсказываемого пиксела, и прилегающего сверху пиксела, координата которого по оси y совпадает с координатой предсказываемого пиксела.

Технический результат

Как указано выше, в соответствии с настоящим изобретением возможно осуществление эффективного способа декодирования видеосигнала.

Краткое описание чертежей

На фиг. 1 показана функциональная схема конфигурации видеокодера в соответствии с примерным вариантом осуществления настоящего изобретения.

На фиг. 2 представлена обобщенная функциональная схема конфигурации модуля внутрикадрового предсказания в соответствии с примерным вариантом осуществления настоящего изобретения.

На фиг. 3 показана функциональная схема конфигурации видеодекодера в соответствии с примерным вариантом осуществления настоящего изобретения.

На фиг. 4 схематично показан способ предсказания по плоскости.

На фиг. 5 схематично показан еще один способ предсказания по плоскости.

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

На фиг. 7 схематично показан способ определения значений других пикселов блока предсказания на основе диагональных пикселов.

На фиг. 8 схематично показан способ предсказания значения пиксела с учетом значения опорного пиксела и вариации от опорного пиксела.

На фиг. 9 схематично показан способ, в котором вначале определяют диагональные пикселы блока предсказания, а затем значения остальных пикселов.

На фиг. 10 схематично показано, что вначале определяют диагональные пикселы, а пикселы, отличные от диагональных пикселов, определяют таким же способом, который использовался для определения диагональных пикселов.

На фиг. 11 схематично показан способ ограниченного внутрикадрового предсказания (CIP).

На фиг. 12 схематично показан еще один способ CIP.

На фиг. 13 схематично показано, что система в соответствии с настоящим изобретением выполняет CIP с учетом вариаций значений пикселов.

На фиг. 14 показана обобщенная схема функционирования кодера в системе в соответствии с настоящим изобретением.

На фиг. 15 показано направление предсказания в режиме внутрикадрового предсказания.

На фиг. 16 показана обобщенная схема функционирования декодера в системе в соответствии с настоящим изобретением.

Осуществление изобретения

Хотя с целью пояснения различных особенностей и функций видеокодера и видеодекодера элементы на чертежах показаны независимыми, данная конфигурация не означает, что каждый элемент представляет собой отдельный аппаратный компонент или программный компонент. Иными словами, элементы показаны независимыми, но для выполнения функций два или более элементов могут быть объединены в один элемент, либо один элемент может быть разделен на несколько элементов. Варианты осуществления изобретения, в которых некоторые элементы объединены в один составной элемент и/или элемент разделен на несколько самостоятельных элементов, входят в объем охраны настоящего изобретения без выхода за пределы сущности настоящего изобретения.

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

На фиг. 1 показана функциональная схема конфигурации видеокодера в соответствии с примерным вариантом осуществления настоящего изобретения. Как показано на фиг. 1, видеокодер содержит модуль 110 разбиения изображения, модуль 120 межкадрового предсказания, модуль 125 внутрикадрового предсказания, модуль 130 преобразования, модуль 135 квантования (квантизации), модуль 140 деквантования (деквантизации), модуль 145 обратного преобразования, фильтр 150 подавления блочности, запоминающее устройство (память) 160, модуль 165 переупорядочения и модуль 170 энтропийного кодирования.

Модуль 110 разбиения изображения выполнен с возможностью принимать текущее изображение и выполнять разбиение указанного изображения на по меньшей мере один элемент кодирования. Элементом кодирования (coding unit, CU, ЭК) называют элемент изображения, над которым видеокодер выполняет операцию кодирования. Элемент кодирования может быть рекурсивно разделен на более мелкие элементы кодирования до некоторой глубины в соответствии со структурой дерева квадрантов. Элемент кодирования с наибольшим размером называется наибольшим элементом кодирования (largest coding unit, LCU), а элемент кодирования с наименьшим размером называется наименьшим элементом кодирования (smallest coding unit, SCU). Элемент кодирования может иметь размер 8×8, 16×16, 32×32 или 64×64. Модуль 110 разбиения изображения может выполнять разбиение (деление) элемента кодирования с целью формирования элемента предсказания и элемента преобразования. Элемент предсказания может обозначаться как PU (prediction unit), а элемент преобразования может обозначаться как TU (transform unit).

В режиме межкадрового предсказания используется модуль 120 межкадрового предсказания, выполненный с возможностью выполнять оценку перемещения (motion estimation, ME) и выполнять компенсацию перемещения (motion compensation, МС). Модуль 120 межкадрового предсказания формирует блок предсказания на основании информации о по меньшей мере одном из предшествующих и последующих кадров текущего изображения; такое предсказание может называться межкадровым предсказанием.

В модуль 120 межкадрового предсказания передаются полученный разбиением целевой блок предсказания и по меньшей мере один опорный блок, хранимый в запоминающем устройстве (памяти) 160. Используя указанные целевой блок предсказания и опорный блок, модуль 120 межкадрового предсказания выполняет оценку перемещения. В результате оценки перемещения модуль 120 межкадрового предсказания формирует информацию о перемещении, содержащую вектор перемещения (motion vector, MV), индекс опорного блока и режим предсказания.

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

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

В режиме внутрикадрового предсказания используется модуль 125 внутрикадрового предсказания, выполненный с возможностью формировать блок предсказания на основании информации о пикселах текущего изображения. Такое предсказание может называться внутрикадровым (intra-frame) предсказанием. В режиме внутрикадрового предсказания в модуль 125 внутрикадрового предсказания передаются целевой блок предсказания и восстановленный блок, полученный кодированием и последующим декодированием. При этом восстановленный блок представляет собой изображение, которое не прошло фильтр подавления блочности. Указанным восстановленным блоком может быть предыдущий блок предсказания.

На фиг. 2 представлена обобщенная функциональная схема конфигурации модуля внутрикадрового предсказания в соответствии с примерным вариантом осуществления настоящего изобретения. Как показано на фиг. 2, модуль внутрикадрового предсказания содержит модуль 210 выбора опорных пикселов, модуль 220 выбора режима внутрикадрового предсказания и модуль 230 формирования блока предсказания.

Модуль 210 выбора опорных пикселов формирует опорный пиксел, требующийся для внутрикадрового предсказания. Для формирования опорного пиксела используются пикселы в крайней правой вертикальной линии левого блока, прилегающего к целевому блоку предсказания, и пикселы в крайней нижней горизонтальной линии верхнего блока, прилегающего к целевому блоку предсказания. Например, если целевой блок предсказания имеет размер N, то в качестве опорных пикселов используются 2N пикселов в каждом из направлений влево и вверх. Опорный пиксел может использоваться как непосредственно, так и с применением фильтра адаптивного внутрикадрового сглаживания (adaptive intra smoothing, AIS). Если опорный пиксел подвергается фильтрации AIS, то сообщается информация о применении фильтрации AIS.

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

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

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

Как показано на фиг. 1, разностный блок, формируемый как разность между целевым блоком предсказания и блоком предсказания, сформированным в режиме межкадрового или внутрикадрового предсказания, передается в модуль 130 преобразования. Модуль 130 преобразования преобразует разностный блок в элемент преобразования с формированием коэффициента преобразования.

Блок преобразования с элементом преобразования имеет структуру дерева квадрантов, в которой заданы лишь максимальный и минимальный размер, и поэтому не ограничен заранее заданным размером. Каждый блок преобразования снабжен флагом, указывающим, разбит ли текущий блок на субблоки, и если значение флага равно 1, то текущий блок преобразования может быть разбит на четыре субблока. Для преобразования может использоваться дискретное косинусное преобразование (DCT).

Модуль 135 квантования (квантизации) выполнен с возможностью квантования значений, преобразованных модулем 130 преобразования. Коэффициент квантования может меняться соответственно конкретному блоку или значимости изображения. Прошедший квантование коэффициент преобразования может передаваться в модуль 165 переупорядочения и в модуль 140 деквантования.

Модуль 165 переупорядочения выполнен с возможностью с целью повышения эффективности энтропийного кодирования переупорядочивать путем сканирования двумерный (2D) блок коэффициентов преобразования в одномерный (1D) вектор коэффициентов преобразования. С целью повышения эффективности энтропийного кодирования модуль 165 переупорядочения может менять порядок сканирования на основании стохастической статистики.

Модуль 170 энтропийного кодирования выполняет энтропийное кодирование значений, выдаваемых из модуля 165 переупорядочения, и из полученных кодированных значений формируется сжатый битовый поток, который сохраняется либо передается через абстрактный уровень сети (network abstraction layer, NAL).

Модуль 140 деквантования (деквантизации) принимает и деквантует коэффициенты преобразования, прошедшие квантование в модуле 135 квантования, а модуль 145 обратного преобразования выполняет обратное преобразование указанных коэффициентов преобразования, в результате чего формируется восстановленный разностный блок. Указанный восстановленный разностный блок объединяется с блоком предсказания, сформированным модулем 120 межкадрового предсказания или модулем 125 внутрикадрового предсказания, в результате чего формируется восстановленный блок. Указанный восстановленный блок передается в модуль 125 внутрикадрового предсказания и в фильтр 150 подавления блочности.

Фильтр 150 подавления блочности фильтрует восстановленный блок с целью устранения искажений на границе между блоками, внесенных в операциях кодирования и декодирования, и передает результат, полученный в результате фильтрации, в адаптивный петлевой фильтр (adaptive loop filter, ALF) 155.

ALF 155 выполняет фильтрацию таким образом, чтобы минимизировать ошибку между целевым блоком предсказания и окончательным восстановленным блоком. AFL 155 выполняет фильтрацию на основании значения, получаемого в результате сравнения восстановленного блока, прошедшего фильтрацию в фильтре 150 подавления блочности, и текущим целевым блоком предсказания, и информация о коэффициентах фильтра ALF 155 вводится в заголовок сегмента и передается из кодера в декодер.

Запоминающее устройство (память) 160 может хранить окончательный восстановленный блок, полученный путем использования ALF 155, и указанный сохраненный (окончательный) восстановленный блок может передаваться в модуль 120 межкадрового предсказания для выполнения межкадрового предсказания.

На фиг. 3 показана функциональная схема конфигурации видеодекодера в соответствии с примерным вариантом осуществления настоящего изобретения. Как показано на фиг. 3, видеодекодер включает модуль 310 энтропийного декодирования, модуль 315 переупорядочения, модуль 320 деквантования, модуль 325 обратного преобразования, модуль 330 межкадрового предсказания, модуль 335 внутрикадрового предсказания, фильтр 340 подавления блочности, фильтр ALF 345 и запоминающее устройство (память) 350.

Модуль 310 энтропийного декодирования принимает сжатый битовый поток из абстрактного уровня сети (NAL). Модуль 310 энтропийного декодирования выполняет энтропийное декодирование принятого битового потока, а также, если указанный битовый поток содержит режим предсказания и информацию о векторе перемещения, выполняет энтропийное декодирование режима предсказания и информации о векторе перемещения. Прошедший энтропийное декодирование коэффициент преобразования или разностный сигнал передается в модуль 315 переупорядочения. Модуль 315 переупорядочения выполняет обратное сканирование коэффициента преобразования или разностного сигнала и формирует двумерный блок коэффициентов преобразования.

Модуль 320 деквантования принимает и деквантует прошедшие энтропийное декодирование и переупорядочение коэффициенты преобразования. Модуль 325 обратного преобразования выполняет обратное преобразование прошедших обратное квантование коэффициентов преобразования и формирует разностный блок.

Указанный разностный блок может объединяться с блоком предсказания, сформированным модулем 330 межкадрового предсказания или модулем 335 внутрикадрового предсказания, в результате чего формируется восстановленный блок. Восстановленный блок передается в модуль 335 внутрикадрового предсказания и в фильтр 340 подавления блочности. Модуль 330 межкадрового предсказания и модуль 335 внутрикадрового предсказания выполнены с возможностью выполнять операции, аналогичные операциям, выполняемым модулем 120 межкадрового предсказания и модулем 125 внутрикадрового предсказания видеокодера.

Фильтр 340 подавления блочности фильтрует восстановленный блок с целью устранения искажений на границе между блоками, внесенных в операциях кодирования и декодирования, и передает результат, полученный в результате фильтрации, в фильтр ALF 345. Фильтр ALF 345 выполняет фильтрацию таким образом, чтобы минимизировать ошибку между целевым блоком предсказания и окончательным восстановленным блоком. Запоминающее устройство (память) 350 может хранить окончательный восстановленный блок, полученный путем использования фильтра ALF 345, и указанный сохраненный (окончательный) восстановленный блок может передаваться в модуль 330 межкадрового предсказания для выполнения межкадрового предсказания.

В то же время для дополнительного повышения эффективности кодирования на участках с незначительными изменениями текстуры, например, на монотонном фоне неба или моря, используется внутрикадровое предсказание по плоскости.

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

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

На фиг. 4 схематично показан способ предсказания по плоскости.

Как показано на фиг. 4(A), сначала предсказывают значение пиксела 425, расположенного в нижнем правом углу текущего блока. Значение пиксела 425 в нижнем правом углу текущего блока может быть предсказано по постоянной составляющей.

Как показано на фиг. 4(B), предсказывают значения пикселов, расположенных на правой границе текущего блока, и значения пикселов, расположенных на нижней границе текущего блока. Например, значение пиксела 445, расположенного на правой границе текущего блока, может быть предсказано путем линейной интерполяции значения пиксела 450 верхнего блока и предсказанного по постоянной составляющей значения пиксела 425. Значение пиксела 435, расположенного на нижней границе текущего блока, может быть предсказано путем линейной интерполяции значения пиксела 430 левого блока и предсказанного по постоянной составляющей значения пиксела 425.

Как показано на фиг. 4(C), путем билинейной интерполяции с использованием значений пикселов верхнего и левого блоков и уже предсказанных значений пикселов текущего блока могут быть предсказаны значения остальных пикселов, отличных от пиксела в нижнем правом углу, пикселов на правой границе и пикселов на нижней границе в текущем блоке. Например, значение пиксела 475 в текущем блоке может быть предсказано путем интерполяции с использованием значения пиксела 460 верхнего блока, значения пиксела 455 левого блока, уже предсказанного значения пиксела 445, расположенного на правой границе текущего блока, и уже предсказанного значения пиксела 435, расположенного на нижней границе текущего блока.

Как показано на фиг. 4(D), может быть выполнено уточнение образцов предсказаний (предсказанных образцов), предсказанных посредством вышеописанной операции. Например, значение X пиксела 485 в текущем блоке может быть уточнено с использованием значения Т верхнего образца 480 и значения L левого образца 490. Конкретно, уточненное значение X' для значения X может быть получено с использованием формулы . Здесь выражение x<<y означает арифметический сдвиг целочисленного представления как дополнения до двух x влево на y двоичных разрядов, а выражение x>>y означает арифметический сдвиг целочисленного представления как дополнения до двух x вправо на y двоичных разрядов.

На фиг. 5 схематично показан еще один способ предсказания по плоскости.

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

Как показано на фиг. 5(A), значения диагональных пикселов 540 текущего блока 510 предсказывают с использованием значения пиксела 520 верхнего опорного блока и значения пиксела 530 левого опорного блока. Например, значение диагонального пиксела Р в текущем блоке может быть получено с использованием значения пиксела AboveRef из числа пикселов верхнего блока, расположенного на границе между текущим блоком и верхним блоком, и значения пиксела LeftRef из числа пикселов левого блока, расположенного на границе между текущим блоком и левым блоком по формуле .

Как показано на фиг. 5(B), значения пикселов 510 в текущем блоке, отличных от диагональных пикселов 540, могут быть получены путем линейной интерполяции с использованием значений пикселов, полученных в соответствии с фиг. 5(А), и значений пикселов, расположенных на границах верхнего и левого блоков. Например, пиксел Р1 может быть предсказан с использованием значения пиксела AboveRef из верхнего блока и предсказанного значения диагонального пиксела Р по формуле . Пиксел Р2 может быть предсказан по формуле .

Хотя способы предсказания по плоскости, показанные на фиг. 4 и 5, эффективны для однородных текстур без анизотропии (без выделенного направления), данные способы могут быть менее эффективны для предсказания в случае анизотропных текстур, например, если значения пикселов яркостного канала (luma) в одном направлении, например, в горизонтальном направлении, значительно изменяются, но мало изменяются в другом направлении, например, в вертикальном направлении.

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

Далее со ссылкой на чертежи описываются примеры настоящего изобретения.

Пример 1

На фиг. 6 схематично показано, что вначале предсказывают диагональный пиксел Pii текущего блока предсказания. Хотя на фиг. 6 для удобства описания показан блок предсказания размером 8×8, настоящее изобретение не ограничено указанным размером и может быть применено к блоку предсказания размера N×N.

В примере 1, показанном на фиг. 6, вначале предсказывают диагональные пикселы текущего блока предсказания, используя опорный пиксел (Ri0 и/или R0j, 0≤i,j≤8 в случае блока предсказания размером 8×8) опорного блока, прилегающего к текущему блоку предсказания.

После получения диагональных пикселов Pii значения других пикселов в блоке предсказания могут быть определены путем интерполяции или экстраполяции с использованием значений пикселов (Rij) прилегающего опорного блока и значений Pii.

На фиг. 7 схематично показан способ определения значений других пикселов блока предсказания по значениям диагональных пикселов.

В настоящем изобретении предсказание по плоскости выполняется с учетом изменения значений пикселов. Например, как показано на фиг. 7(A), если значения опорных пикселов возрастают как в направлении x (вправо), так и в направлении у (вниз), то более вероятно, что значения пикселов в блоке предсказания увеличиваются в направлении вниз вправо. В этом случае первым может предсказываться значение пиксела Р88 в нижнем правом углу блока предсказания, а затем на основании значения пиксела Р88 могут предсказываться другие пикселы.

Для предсказания значения Р88 можно в качестве значения базового пиксела взять значение опорного пиксела R00 в верхнем левом углу текущего блока предсказания и применить к значению базового пиксела вариацию от указанного базового пиксела к целевому пикселу Р88 предсказания в блоке предсказания. Например, значение целевого пиксела Р88 может быть получено по формуле 1. Для удобства изложения значения Rij и Pij, показанные на чертежах и в описании, в формулах представлены как Ri,j и Pi,j.

[формула 1]

.

После нахождения Р88 значения других диагональных пикселов Pii могут быть получены по формуле 2.

[формула 2]

.

Поскольку настоящий пример иллюстрирует случай с размером блока предсказания 8×8, i может принимать значения 1, 2, …, 8. Хотя для удобства описания в примере 1 используется блок предсказания размером 8×8, в блоке предсказания размером N×N значение Pii может быть получено по формуле .

Как показано на фиг. 7(B), даже если значение опорного пиксела уменьшается как в направлении x (вправо), так и в направлении y (вниз), значение пиксела Р88 в нижнем правом углу блока предсказания может быть определено с учетом вариаций уменьшающихся значений пикселов, а значения остальных пикселов могут быть предсказаны на основании значения пиксела Р88. В этом случае значение Р88 может быть определено по формуле 3.

[формула 3]

.

После нахождения значения Р88 значения других диагональных пикселов в блоке предсказания могут быть получены по формуле 4.

[формула 4]

Здесь i может принимать значения 1, 2, …, 8.

Как показано на фиг. 7(C), если значения опорных пикселов возрастают в направлении вверх вправо, то, в отличие от случаев на фиг. 7(A) и 7(B), вначале на основании вариаций значений пикселов определяют диагональные пикселы, расположенные в блоке предсказания от нижнего левого угла до верхнего правого угла. Например, определяют значение пиксела Р81, расположенного в нижнем левом углу блока предсказания, а значения остальных пикселов могут быть предсказаны на основании значения пиксела Р81. В этом случае значение Р81 может быть определено по формуле 5.

[формула 5]

.

Когда значение Р81 получено, остальные диагональные пикселы (от левого нижнего до верхнего правого) в указанном блоке предсказания могут быть определены по формуле 6.

[формула 6]

.

Здесь i может принимать значения 1, 2, …, 8.

Кроме того, как показано на фиг. 7(D), когда значения опорного пиксела возрастают в направлении вниз влево, то вначале на основании вариаций значений пикселов определяют диагональные пикселы, расположенные в блоке предсказания от нижнего левого угла до верхнего правого угла. Например, определяют значение пиксела Р81, расположенного в нижнем левом углу блока предсказания, а значения остальных пикселов могут быть предсказаны на основании значения пиксела Р81. В этом случае значение Р81 может быть определено по формуле 7.

[формула 7]

.

Когда значение Р81 определено, остальные диагональные пикселы (от левого нижнего до верхнего правого) в блоке предсказания могут быть определены по формуле 8.

[формула 8]

.

Здесь i может принимать значения 1, 2, …, 8.

С учетом вычислительной нагрузки, связанной с расчетом квадратного корня, при определении диагональных пикселов может быть использована приближенная формула 9.

[формула 9]

.

Затем значения других пикселов в указанном блоке предсказания могут быть определены путем интерполяции или экстраполяции с использованием предсказанных значений диагональных пикселов, значений верхних опорных пикселов и значений левых опорных пикселов.

Пикселы Pij в блоке предсказания на фиг. 7(A) и 7(B) могут быть определены путем интерполяции с использованием диагональных пикселов Pii и опорных пикселов R прилегающего блока. Здесь может использоваться интерполяция по формуле 10.

[формула 10]

или .

Здесь d1 представляет собой расстояние от пиксела R0j или Rj0 прилегающего блока, используемого для интерполяции, до целевого пиксела Pij предсказания, a d2 представляет собой расстояние от диагонального пиксела Pii, используемого для интерполяции, до целевого пиксела Pij предсказания.

Значение пиксела Pi на фиг. 7(C) и 7(D), получаемое интерполяцией по пикселам указанного блока предсказания, может быть определено по формуле 11.

[формула 11]

или .

Здесь i+j<9, a d1 представляет собой расстояние от пиксела R0j или Rj0 прилегающего блока, используемого для интерполяции, до целевого пиксела Pij предсказания, a d2 представляет собой расстояние от диагонального пиксела Pii, используемого для интерполяции, до целевого пиксела Pij предсказания. Хотя здесь при определении пикселов Pij блока предсказания для интерполяции использована формула 11, без ограничения настоящего изобретения могут быть использованы и иные способы интерполяции.

Значение пиксела Ре, показанного на фиг. 7(C) и 7(D), определяют экстраполяцией по пикселам блока предсказания. Здесь для определения пиксела в блоке предсказания может использоваться экстраполяция по формуле 12.

[формула 12]

или .

В этом случае i+j>9, а Р представляет собой значение диагонального пиксела, используемого для экстраполяции. Как указано выше, d1 и d2 представляют собой расстояние от опорного пиксела до целевого пиксела Pij предсказания и расстояние от пиксела Pii до целевого пиксела Pij предсказания, соответственно.

Пример 2

На фиг. 8 схематично показан еще один способ предсказания значения пиксела с учетом значения базового пиксела и вариации от базового пиксела. Хотя на фиг. 8 для удобства описания показан блок предсказания размером 8×8, настоящее изобретение не ограничено указанным размером и может быть применено к блоку предсказания размера N×N.

На фиг. 8 показан расположенный в верхнем левом углу блока предсказания опорный пиксел Р00, принятый в качестве базового пиксела. В примере 2 целевой пиксел Pij предсказания определяют, применяя к значению базового пиксела вертикальную и горизонтальную вариации от опорного пиксела.

Например, целевой пиксел Pij определяют по формуле 13.

[формула 13]

.

Здесь Δy=Ri0-R00, Δx=R0j-R00 и при размере блока предсказания 8×8 1≤i, j≤8.

Например, пиксел Р33 на фиг. 8 вычисляется в соответствии с формулой 13 как . Здесь Δx и Δy представляют собой вариации значений в направлении x и в направлении y от значения базового пиксела R00 до Р33.

В то же время пиксел Р76 на фиг. 8 определяется в соответствии с формулой 13 как. Здесь x' и Δy' представляют собой вариации значений пикселов в направлении x и в направлении y от базового пиксела R00 до Р76.

Пример 3

На фиг. 9 схематично показан еще один способ, в котором вначале определяют диагональные пикселы блока предсказания, а затем значения остальных пикселов.

На фиг. 5 было показано, что диагональные пикселы определяются на основании среднего значения двух пикселов из горизонтального и вертикального направлений в прилегающем блоке y текущего блока предсказания; но в примере 3, представленном на фиг. 9, диагональные пикселы определяются с учетом вариаций.

Как показано на фиг. 9(A), диагональные пикселы блока предсказания предсказывают с использованием значений пикселов прилегающих блоков, расположенных на верхней и/или левой границе блока предсказания. Например, диагональные пикселы Pii предсказывают по формуле 14.

[формула 14]

или .

Например, как показано на фиг. 9(A), в соответствии с формулой 14 значение Р33 может быть предсказано как или . Δx и Δy представляют собой вариации значений пиксела в направлении x от базового пиксела R30 до Р33 и в направлении y от базового пиксела R03 до Р33, соответственно.

Как показано на фиг. 9(B), остальные пикселы Pij текущего блока, отличные от диагональных пикселов, могут быть предсказаны путем линейной интерполяции с использованием предсказанных значений диагональных пикселов и опорных пикселов R00, R10-R80 и R01-R08 прилегающих блоков на верхней и левой границах текущего блока.

Например, значение пиксела Pij может быть предсказано по формуле 15.

[формула 15]

или .

Здесь d1 представляет собой расстояние от пиксела R0j или Ri0 прилегающих блоков, используемых для интерполяции, до целевого пиксела Pij предсказания, а 62 представляет собой расстояние от диагонального пиксела Pii, используемого для интерполяции, до целевого пиксела Pij предсказания.

Пример 4

На фиг. 10 схематично показано, что вначале определяют диагональные пикселы, а пикселы, отличные от диагональных п