Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения

Иллюстрации

Показать все

Изобретение относится к видеокодированию/видеодекодированию. Техническим результатом является повышение эффективности кодирования и снижение ошибок прогнозирования видеоизображения. Указанный результат достигается тем, что способ кодирования изображения, содержащий этап выбора режима прогнозирования подлежащего кодированию блока во входном изображении, этап внутреннего прогнозирования генерации сигнала прогнозируемого изображения подлежащего кодированию блока посредством экстраполяции пикселя прогнозирования в прогнозирующем направлении согласно выбранному режиму прогнозирования, этап вычисления сигнала ошибки прогнозирования из подлежащего кодированию блока и сигнала прогнозируемого изображения, этап генерирования кодированных данных посредством кодирования сигнала ошибки прогнозирования и информации режима прогнозирования, указывающей режим прогнозирования, причем экстраполяция на этапе внутреннего прогнозирования использует опорные пиксели, которые уже закодированы, и количество опорных пикселей изменяется согласно расстоянию между пикселем прогнозирования и одним из опорных пикселей, который находится в прогнозирующем направлении от пикселя прогнозирования. 4 н. и 10 з.п. ф-лы, 42 ил.

Реферат

Область техники

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

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

В последние годы был разработан метод кодирования видеосигнала, благодаря которому эффективность кодирования значительно повышается по сравнению с традиционной техникой, под названием ITU-T Rec. H.264 и ISO/IEC14496-10 (именуемый здесь "H.264") совместно с ITU-T и ISO/IEC. Традиционная система кодирования, например, ISO/IECMPEG-1,2,4, ITU-TH.261, H.263 осуществляет внутрикадровое прогнозирование в ортогонально-преобразованной частотной области (коэффициентах ДКП) для снижения количества кодированных битов коэффициентов преобразования. H.264 использует направленное прогнозирование в области пространства (пиксельной области) (непатентный источник 1) для реализации высокоэффективного прогнозирования по сравнению с внутрикадровым прогнозированием традиционной системы кодирования видеосигнала (ISO/IECMPEG-1,2,4).

В высоком профиле H.264 и т.д. задано три вида систем внутрикадрового прогнозирования для сигнала яркости, и одну из систем можно выбирать на уровне макроблока (16x16-пиксельных блоков). Системы прогнозирования относятся к 4x4-пиксельному прогнозированию, 8x8-пиксельному прогнозированию и 16x16-пиксельному прогнозированию соответственно.

Для 16x16-пиксельного прогнозирования задано четыре режима кодирования, именуемые вертикальным прогнозированием, уровневым прогнозированием, DC-прогнозированием и плоскостным прогнозированием. Значение пикселя окружающих декодированных макроблоков до подачи на деблокирующий (устранения блочности) фильтр используется в качестве значения опорного пикселя и применяется для процесса прогнозирования.

4x4-пиксельное прогнозирование делит сигнал яркости в макроблоке на 16 4x4-пиксельных блоков и выбирает один из девяти режимов для каждого 4x4-пиксельного блока. Каждый из девяти режимов имеет направление прогнозирования в единицах 22.5 градусов за исключением DC-прогнозирования (режим 2) для прогнозирования с использованием среднего значения доступных опорных пикселей и экстраполирует макроблок в направлении прогнозирования с использованием опорного пикселя для генерации прогнозируемого значения. Информация режима 4x4-пиксельного прогнозирования нуждается в 16 элементах информации на один макроблок. Поскольку 4x4-пиксельное прогнозирование мало по отношению к процессу прогнозирования, прогнозирование сравнительно высокой эффективности можно осуществлять на изображении, имеющем усложненную текстуру. Однако это 4x4-пиксельное прогнозирование представляет собой прогнозирование, осуществляемое только путем копирования значения интерполяции просто в направлении прогнозирования, в связи с чем возникает проблема, состоящая в том, что ошибка прогнозирования возрастает с увеличением расстояния от опорного пикселя.

8x8-пиксельное прогнозирование делит сигнал яркости в макроблоке на четыре 8x8-пиксельных блока, и любой из девяти режимов выбирается для каждого 8x8-пиксельного блока. Режим 8x8-пиксельного прогнозирования, реализуемого по той же схеме, что и 4x4-пиксельное прогнозирование, осуществляет фильтрацию трех отводов на уже кодированном опорном пикселе и включает в себя процесс усреднения искажения кодирования путем «выравнивания» опорного пикселя, используемого для прогнозирования. Однако проблема заключается в том, что прогнозирование становится все менее достоверным с увеличением расстояния от опорного пикселя наподобие 4x4-пиксельного прогнозирования. Проблема состоит в том, что для изображения, имеющего усложненную текстуру, нельзя ожидать точного прогнозирования, поскольку расстояние от опорного пикселя увеличивается по сравнению с 4x4-пиксельным прогнозированием.

8x8-пиксельное прогнозирование - это модуль прогнозирования, предписанный только высоким профилем H.264 и введенный, в частности, в целях повышения эффективности кодирования для изображения с высоким разрешением. В 4x4-пиксельном прогнозировании используется преобразованный/квантованный блок размером 4x4 пикселя, и в 8x8-пиксельном прогнозировании используется преобразованный/квантованный блок размером 8x8 пикселей. Иными словами, размер преобразованного/квантованного блока определяется формой блока прогнозирования. Поскольку совместимость главного профиля и высокого профиля предполагается для формы блока прогнозирования, 8x8-пиксельное прогнозирование и 4x4-пиксельное прогнозирование не могут сосуществовать в макроблоке согласно стандарту.

Для сокращения числа кодированных битов информации режима 4x4-пиксельное прогнозирование или 8x8-пиксельное прогнозирование согласно H.264 сокращает количество кодированных битов путем прогнозирования информации режима с использованием уровня корреляции информации режима соседних блоков. Когда прогнозирование информации режима достоверно, кодируется однобитовый флаг, а когда оно недостоверно, дополнительно кодируются 3 бита данных, благодаря чему число кодированных битов информации режима сокращается. Однако, если 4x4-пиксельное прогнозирование выбрано в то время, как сигнал ошибки еще не сгенерирован в макроблоке, нужно кодировать минимум 16 битов (максимум 64 бита), что приводит к значительному снижению эффективности кодирования.

В JP-A 2003-323736 (KOKAI) предложена система для осуществления прогнозирования путем поблочного сравнения в кадре и дополнения значения прогнозирования прогнозируемого блока из кодированного опорного изображения. Эта система предусматривает метод прогнозирования, опирающийся на тот факт, что изображение произвольно закодированного блока в кадре аналогично изображению блока, подлежащего прогнозированию, и его проблема состоит в том, что точность прогнозирования оказывается низкой при низкой корреляции блоков в кадре. Величину смещения позиции, показывающую позицию опорного изображения, используемого при прогнозировании, приходится кодировать, что приводит к увеличению числа кодированных битов информации режима.

Сущность изобретения

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

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

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

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

Фиг.1 - блок-схема устройства кодирования видеосигнала согласно первому варианту осуществления.

Фиг.2 - блок-схема модуля внутрикадрового прогнозирования согласно варианту осуществления.

Фиг.3 - последовательность операций работы устройства кодирования видеосигнала согласно варианту осуществления.

Фиг.4A - схема, иллюстрирующая порядок прогнозирования согласно варианту осуществления.

Фиг.4B - схема, иллюстрирующая форму блока согласно варианту осуществления.

Фиг.4C - схема, иллюстрирующая форму блока согласно варианту осуществления.

Фиг.4D - схема, иллюстрирующая форму блока согласно варианту осуществления.

Фиг.4E - схема, иллюстрирующая форму блока согласно варианту осуществления.

Фиг.5A - схема, иллюстрирующая направленное прогнозирование согласно варианту осуществления.

Фиг.5B - схема, иллюстрирующая соотношение между прогнозируемым блоком и опорным изображением при направленном прогнозировании согласно варианту осуществления.

Фиг.5C - схема, иллюстрирующая способ прогнозирования согласно варианту осуществления.

Фиг.5D - схема, иллюстрирующая способ прогнозирования согласно варианту осуществления.

Фиг.6A - схема, иллюстрирующая соотношение между блоком прогнозирования и опорным изображением при пиксельно-адаптивном прогнозировании согласно варианту осуществления.

Фиг.6B - схема, иллюстрирующая пиксельно-адаптивное вертикальное прогнозирование согласно варианту осуществления.

Фиг.6C - схема, иллюстрирующая пиксельно-адаптивное прогнозирование согласно варианту осуществления.

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

Фиг.8 - схема, иллюстрирующая соседние блоки, используемые в режиме прогнозирования согласно варианту осуществления.

Фиг.9 - схема, иллюстрирующая направленное прогнозирование и пиксельно-адаптивное прогнозирование согласно варианту осуществления.

Фиг.10 - блок-схема, иллюстрирующая структуру устройства кодирования видеосигнала согласно второму варианту осуществления.

Фиг.11 - блок-схема, иллюстрирующая структуру модуля внутрикадрового прогнозирования согласно варианту осуществления.

Фиг.12 - схема последовательности операций устройства кодирования видеосигнала согласно варианту осуществления.

Фиг.13 - схема, иллюстрирующая структуру синтаксиса согласно варианту осуществления.

Фиг.14 - схема, иллюстрирующая структуру данных синтаксиса набора параметров последовательности согласно варианту осуществления.

Фиг.15 - схема, иллюстрирующая структуру данных синтаксиса набора параметров изображения согласно варианту осуществления.

Фиг.16 - схема, иллюстрирующая структуру данных синтаксиса заголовка среза согласно варианту осуществления.

Фиг.17 - схема, иллюстрирующая структуру данных синтаксиса уровня макроблоков согласно варианту осуществления.

Фиг.18 - схема, иллюстрирующая структуру данных синтаксиса набора параметров последовательности согласно варианту осуществления.

Фиг.19 - схема, иллюстрирующая структуру данных синтаксиса набора параметров последовательности согласно варианту осуществления.

Фиг.20 - схема, иллюстрирующая структуру данных синтаксиса заголовка среза согласно варианту осуществления.

Фиг.21A - схема, иллюстрирующая структуру данных синтаксиса уровня макроблоков согласно варианту осуществления.

Фиг.21B - схема, иллюстрирующая структуру данных синтаксиса прогнозирования макроблока согласно варианту осуществления.

Фиг.22 - блок-схема, иллюстрирующая структуру устройства кодирования видеосигнала согласно третьему варианту осуществления.

Фиг.23 - схема, иллюстрирующая структуру данных синтаксиса набора параметров последовательности согласно варианту осуществления.

Фиг.24 - схема, иллюстрирующая структуру данных синтаксиса набора параметров изображения согласно варианту осуществления.

Фиг.25 - схема, иллюстрирующая структуру данных синтаксиса заголовка среза (секции) согласно варианту осуществления.

Фиг.26 - схема, иллюстрирующая структуру данных синтаксиса уровня макроблоков согласно варианту осуществления.

Фиг.27 - схема, иллюстрирующая структуру данных mb_type согласно варианту осуществления.

Фиг.28A - схема, иллюстрирующая структуру данных для переключения размера блока согласно варианту осуществления.

Фиг.28B - схема, иллюстрирующая структуру данных для переключения размера блока согласно варианту осуществления.

Фиг.29 - блок-схема, иллюстрирующая устройство декодирования видеосигнала согласно четвертому варианту осуществления.

Фиг.30 - блок-схема, иллюстрирующая структуру модуля внутрикадрового прогнозирования устройства декодирования видеосигнала согласно варианту осуществления.

Фиг.31 - блок-схема, иллюстрирующая структуру устройства декодирования видеосигнала согласно пятому варианту осуществления.

Предпочтительные варианты осуществления изобретения

Перейдем к подробному описанию метода кодирования видеосигнала, устройства кодирования видеосигнала, способа декодирования видеосигнала и устройства декодирования видеосигнала со ссылкой на прилагаемые чертежи.

Первый вариант осуществления

Устройство 100 кодирования видеосигнала, показанное на фиг.1, способно делить видеосигнал на множество пиксельных блоков и кодировать их. Это устройство 100 кодирования видеосигнала подготавливает множество режимов прогнозирования кадра, которые отличаются друг от друга размером блока и способом генерации сигнала прогнозируемого изображения. Внутрикадровое прогнозирование - это система прогнозирования, причем прогнозирование заключено в кадре, и прогнозирует блок, подлежащий прогнозированию, с использованием уже кодированного опорного пикселя. В этом варианте осуществления предполагается, что процесс кодирования выполняется от верхнего левого угла к нижнему правому углу, как показано на фиг.4A.

Видеосигнал, поступающий на устройство 100 кодирования видеосигнала, делится на множество пиксельных блоков, в качестве сигнала 115 входного изображения, делителем 101 изображения. Часть разделенного сигнала 115 входного изображения поступает на модуль 102 внутрикадрового прогнозирования и в конце концов кодируется процессором кодирования 107 через модуль 103 выбора режима и преобразователь/квантователь 107 в выходные кодированные данные 113.

Делитель 101 изображения делит видеосигнал на множество пиксельных блоков для генерации 16x16-пиксельного блока для каждого пиксельного блока, как показано на фиг.4B. Этот 16x16-пиксельный блок именуется макроблоком и становится основным размером блока обработки для последующего процесса кодирования. Устройство 100 кодирования видеосигнала кодирует видеосигнал на уровне этого макроблока.

Модуль 102 внутрикадрового прогнозирования экстраполирует сигнал изображения для всех выбираемых режимов прогнозирования на уровне макроблока для генерации сигнала 114 прогнозируемого изображения, с использованием опорного пикселя, временно хранящегося в памяти 106 опорного изображения. Иными словами, модуль 102 внутрикадрового прогнозирования генерирует сигналы 114 прогнозируемого изображения для всех режимов, выполнимых для блока пикселей прогнозирования, путем прогнозирования внутри изображения, например, внутрикадрового прогнозирования. Однако, когда следующее прогнозирование невозможно произвести, пока не будет сгенерировано локальное декодированное изображение в макроблоке наподобие внутрикадрового прогнозирования согласно H.264 (4x4-пиксельное прогнозирование (со ссылкой на фиг.4C) или 8x8-пиксельное прогнозирование (со ссылкой на фиг.4D)), преобразование и квантование, деквантование и обратное преобразование может производиться в модуле 102 внутрикадрового прогнозирования. Однако сигнал прогнозируемого изображения генерируется только в модуле 102 внутрикадрового прогнозирования.

Сигнал 114 прогнозируемого изображения, генерируемый модулем 102 внутрикадрового прогнозирования, передается на модуль 103 выбора режима. Модуль 103 выбора режима генерирует сигнал 116 ошибки прогнозирования путем вычитания сигнала 114 прогнозируемого изображения из сигнала 115 входного изображения. Модуль 103 выбора режима выбирает режим прогнозирования на основании информации режима, прогнозируемой модулем 102 внутрикадрового прогнозирования, и генерируемого сигнала 116 ошибки прогнозирования. При объяснении конкретного варианта осуществления используется стоимость, выраженная согласно следующему уравнению:

K = SAD + λ × OH (1)

где OH указывает информацию режима, SAD указывает абсолютную сумму сигналов ошибки прогнозирования и λ - константа, определяемая на основании ширины квантования или значения параметра квантования. Режим прогнозирования определяется полученной таким образом стоимостью. Режим прогнозирования, при котором стоимость K достигает минимума, выбирается в качестве оптимального режима прогнозирования.

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

Модуль 103 выбора режима подключен к преобразователю/квантователю 104, и информация режима и сигнал ошибки прогнозирования, выбранные модулем 103 выбора режима, поступают на преобразователь/квантователь 104. Преобразователь/квантователь 104 осуществляет ортогональное преобразование на входном сигнале ошибки прогнозирования для генерации данных коэффициента преобразования. В данном варианте осуществления преобразователь/квантователь 104 преобразует сигнал ошибки прогнозирования в коэффициенты с использованием ДКП и т.д., но может преобразовывать сигнал ошибки прогнозирования в коэффициенты с использованием способа, например, вейвлет-преобразования или анализа независимых компонентов. Преобразователь/квантователь 104 квантует коэффициенты преобразования. Параметр квантования, необходимый для квантования, задается контроллером кодирования 108.

Квантованный коэффициент преобразования 117 выводится на процессор кодирования 107 совместно с информацией, относящейся к методу прогнозирования, например информацией прогнозирования 109, и параметром квантования. Процессор кодирования 107 осуществляет статистическое кодирование (кодирование Хафмана или арифметическое кодирование) на квантованном коэффициенте преобразования и входной информации прогнозирования и т.д. Данные, статистически кодированные процессором кодирования 107, мультиплексируются с информацией прогнозирования 109 и т.д. мультиплексором 111 и выводятся в качестве кодированных данных 113 через выходной буфер 112.

Деквантователь/обратный преобразователь 105 выполняет инверсное квантование коэффициента преобразования 117, квантованный преобразователем/квантователем 104, согласно параметру квантования, заданному контроллером кодирования 108, и подвергает коэффициент преобразования обратному преобразованию (например, обратному ДКП) для декодирования коэффициента преобразования в сигнал 116 ошибки прогнозирования.

Сигнал 116 ошибки прогнозирования, декодированный деквантователем/обратным преобразователем 105, суммируется с сигналом 114 прогнозируемого изображения для выбранного режима прогнозирования, выдаваемого модулем 103 выбора режима, посредством сумматора 118. Сигнал суммирования становится сигналом 119 декодированного изображения и поступает в память опорного изображения 106. Память 106 опорного изображения накапливает сигнал 119 декодированного изображения в качестве опорного изображения. Опорное изображение, накопленное в памяти 106 опорного изображения, необходимо для генерации сигнала ошибки прогнозирования модулем 102 внутрикадрового прогнозирования.

Цикл кодирования (процесс, осуществляемый в порядке: модуль 102 внутрикадрового прогнозирования → модуль 103 выбора режима → преобразователь/квантователь 104 → обратный преобразователь/деквантователь 105 → память опорного изображения на фиг.1) соответствует одному циклу, когда процесс кодирования осуществляется для всех режимов прогнозирования, выбираемых в макроблоке. Когда цикл кодирования заканчивается для макроблока прогнозирования, сигнал 115 входного изображения следующего блока является входным сигналом, подлежащим кодированию.

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

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

Модуль внутрикадрового прогнозирования устройства 100 кодирования видеосигнала для реализации способа кодирования видеосигнала согласно данному варианту осуществления объяснен со ссылкой на фиг.2. Описание частей, аналогичных показанным на фиг.1, соответственно, опущено.

Модуль 102 внутрикадрового прогнозирования содержит внутренний 204 модуль выбора режима, внутренний преобразователь/квантователь 206, внутренний деквантователь/обратный преобразователь 207 и внутреннюю память опорного изображения 209 для осуществления прогнозирования при размере блока, меньшем, чем размер макроблока. Модуль 201 пиксельно-адаптивного прогнозирования и модуль 202 направленного прогнозирования содержат множество режимов прогнозирования, но отличаются друг от друга способом прогнозирования. Модуль 203 прогнозирования фиксированного режима прогнозирует блок прогнозирования с использованием способа прогнозирования модуля 201 пиксельно-адаптивного прогнозирования и модуля 202 направленного прогнозирования, но выполняет один из режимов прогнозирования, который не передает информацию режима на уровне макроблока.

Рассмотрим подробно модуль 202 направленного прогнозирования и модуль 201 пиксельно-адаптивного прогнозирования. Эти модули прогнозирования прогнозируют блок прогнозирования с использованием уже декодированного опорного пикселя, находящегося в памяти 106 опорного изображения. Существует девять режимов прогнозирования, направления прогнозирования которых отличаются друг от друга на 22.5 градусов за исключением режима 2, как показано на фиг.5A. Режимы 0, 1 и 3-8, кроме режима 2, описаны, и режим 2 описывает DC-прогнозирование с помощью модуля 202 направленного прогнозирования. Имя режима направленного прогнозирования, производимого модулем 202 направленного прогнозирования, и имя режима пиксельно-адаптивного прогнозирования, производимого модулем 201 пиксельно-адаптивного прогнозирования, показаны на фиг.9. Соотношение между блоком прогнозирования для 4x4-пиксельного прогнозирования и опорным пикселем показано на фиг.5B. Пиксели, обозначенные заглавными буквами A-M, являются опорными пикселями, и пиксели, обозначенные строчными буквами a-p, являются пикселями прогнозирования.

Сначала объясним способ прогнозирования модуля 202 направленного прогнозирования. При выборе DC-прогнозирования режима 2 модуль направленного прогнозирования 202 вычисляет пиксель прогнозирования согласно следующему уравнению (2)

H = (A+B+C+D), V = (I+J+K+L) (2)

a ~ p = (H+V+4) >> 3

Когда опорный пиксель нельзя использовать, прогнозирование осуществляется по среднему значению доступных опорных пикселей. В отсутствие доступных опорных пикселей значение прогнозирования вычисляется по половинному значению (128, в случае 8 битов) от максимального значения яркости устройства кодирования. При выборе других режимов модуль 202 направленного прогнозирования использует способ прогнозирования путем копирования значения прогнозирования, интерполированного из опорного пикселя в направлении прогнозирования, показанном на фиг.5A. В частности, способ генерации значения прогнозирования при выборе режима 0 (вертикальное прогнозирование) объясняется на основании следующего уравнения (3).

a, e, i, m = A

b, f, j, n = B

c, g, k, o = C

d, h, 1, p = D (3)

Этот режим прогнозирования можно выбирать только при наличии опорных пикселей A-D. Способ прогнозирования подробно показан на фиг.5C. Значения яркости опорных пикселей A-D копируются в пиксели прогнозирования в вертикальном направлении и дополняется как значения прогнозирования.

Способ прогнозирования при выборе режима прогнозирования 4 (ортогональное прогнозирование вниз вправо) объясняется на основании следующего уравнения (4).

d = (B+(C<<1)+D+2) >> 2

c, h = (A+(B<<1)+C+2) >> 2

b, g, l = (M+(A<<1)+B+2) >> 2

a, f, k, p= (I+(M<<1)+A+2) >> 2

e, j, o = (J+(I<<1)+M+2) >> 2

i, n = (K+(J<<1)+I+2) >> 2

m = (L+(k<<1)+J+2) >> 2 (4)

Этот режим прогнозирования можно выбирать только при наличии опорных пикселей A-D и I-M. Этот режим прогнозирования подробно показан на фиг.5D. Значение, генерируемое фильтром с тремя отводами, копируется на пиксель прогнозирования в направлении вниз вправо под углом 45 градусов и дополняется как значение прогнозирования.

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

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

Режим прогнозирования аналогичен представленному на фиг.5A. Соотношение между опорным пикселем и блоком прогнозирования показано на фиг.6A. Опорный пиксель и пиксель прогнозирования, показанные на фиг.6A и 5B, взаимно-однозначно соответствуют друг другу. Однако этим пикселям присвоены разные индексы для облегчения объяснения уравнения прогнозирования. Существует тринадцать опорных пикселей x00-x08, x09, x18, x27 и x36. Существует шестнадцать пикселей прогнозирования x10-x13, x19-x22, x28-x31 и x37-x40. Шестнадцать пикселей x14-x17, x23-x26, x32-x35 и x41-x44 являются вспомогательными пикселями прогнозирования, которые используются для повышения точности прогнозирования.

Перейдем к подробному объяснению способа генерации значений прогнозирования, связанного с пиксельно-адаптивным вертикальным прогнозированием (режим 0). Способ пиксельно-адаптивного вертикального прогнозирования показан на фиг.6B. На фиг.6B показано, что значение прогнозирования определяется с использованием опорных пикселей, количество которых возрастает с увеличением расстояния между опорным пикселем и пикселем прогнозирования. Например, в пикселе прогнозирования x10, отстоящем от опорного пикселя на один пиксель в направлении прогнозирования, значение прогнозирования вычисляется с использованием трех опорных пикселей x00, x01 и x02. В пикселе прогнозирования x20, отстоящем от опорного пикселя на два пикселя в направлении прогнозирования, значение прогнозирования вычисляется с использованием пяти опорных пикселей x00, x01, x02, x03 и x04. В пикселе прогнозирования x30, отстоящем от опорного пикселя на три пикселя в направлении прогнозирования, значение прогнозирования вычисляется с использованием пяти опорных пикселей x00, x01, x02, x03, x04, x05 и x06. В пикселе x40, отстоящем от опорного пикселя на четыре пикселя в направлении прогнозирования, значение прогнозирования вычисляется с использованием пяти опорных пикселей x00, x01, x02, x03, x04, x05, x06, x07 и x08.

Способ генерации значений прогнозирования конкретно объяснен согласно следующему уравнению (5). При пиксельно-адаптивном вертикальном прогнозировании пиксель прогнозирования вычисляется с использованием следующего уравнения (5),

X(n) = (X(n-d-1) + (X(n-d)<<1)+X(n-d+1)+2) >> 2 (5)

где n указывает индекс, соответствующий позиции пикселя прогнозирования (x10-x13, x19-x22, x28-x31 и x37-x40), показанной на фиг.6A. Величина d задается согласно следующему уравнению:

d = (blk_num<<1) + 1 (6)

где blk_num равно 4 в 4x4-пиксельном блоке и 8 в 8x8-пиксельном блоке.

Предполагается, что эта система прогнозирования не только прогнозирует пиксель с использованием уже кодированного опорного пикселя, но также прогнозирует следующий пиксель с использованием уже кодированного пикселя прогнозирования. На фиг.6 показана эта концепция. Для получения предназначенного пикселя прогнозирования предполагается, что эта система прогнозирования осуществляет прогнозирование с использованием пикселя прогнозирования, расстояние которого от опорного пикселя короче на один пиксель. Способ прогнозирования, показанный на фиг.6B, получается, если уравнение (5) составляется путем подстановки значения прогнозирования в уравнение (5).

Если уравнение (5) составляется согласно расстоянию между опорным пикселем и пикселем прогнозирования, получается следующее уравнение прогнозирования (7).

L представляет расстояние между опорным пикселем и пикселем прогнозирования. Vi указывает индекс, определяемый согласно соответствующему режиму прогнозирования. hi представляет коэффициент фильтра, и количество отводов изменяется согласно L. hi и Vi объясняются, в частности, применительно к пиксельно-адаптивному вертикальному прогнозированию. На фиг.7 показан пример взвешенных коэффициентов фильтра hi (взвешенной таблицы), используемых согласно расстоянию между опорным пикселем и прогнозируемым изображением при 4x4-пиксельном прогнозировании.

Пиксель прогнозирования, отстоящий от опорного пикселя на один пиксель в направлении прогнозирования, прогнозируется согласно следующему уравнению (8) с использованием трех пикселей:

X(n) = (X(n-d-1) + (X(n-d)<<1) +X(n-d+1) +2) >> 2 (8)

где n указывает индекс, соответствующий L = 1 (x10-x13). Коэффициент фильтра представляет собой hi = (1, 2, 1) и соответствует Vi = (d+1, d, d-1).

Пиксель прогнозирования, отстоящий от опорного пикселя на два пикселя, прогнозируется согласно следующему уравнению (9) с использованием пяти пикселей:

X(n) = (X(n-(d<<1)-2) + (X (n-(d<<1)-1)<<2) + (6X(n-(d<<1))) + (X(n-(d<<1)+)<<2) + X(n-(d<<1)+2)+8) >> 4 (9)

где n указывает индекс, соответствующий L = 2 (x19-x22). Коэффициент фильтра представляет собой hi = (1, 4, 6, 4, 1) и соответствует Vi = (2d+2, 2d+1, 2d, 2d-1, 2d-2).

Пиксель прогнозирования, отстоящий от опорного пикселя на три пикселя, прогнозируется согласно следующему уравнению (10) с использованием семи пикселей:

X(n) = (X(n-3d-3) + (6X(n-3d-2)) + (15X(n-3d-1)) + (20X(n-3d)) + (15X(n-3d+1)) + (6X(n-3d+2)) + X(n-3d+3)+32) >> 6 (10)

где n указывает индекс, соответствующий L = 3 (x28 - x31). Коэффициент фильтра представляет собой hi = (1, 6, 15, 20, 15, 6, 1) и соответствует Vi = (3d+3, 3d+2, 3d+1, 3d, 3d-1, 3d-2, 3d-3).

Пиксель прогнозирования, отстоящий от опорного пикселя на четыре пикселя, прогнозируется согласно следующему уравнению (11) с использованием семи пикселей:

X(n) = (X(n-(d<<2)-4) + (X(n-(d<<2)-3)<<3) + (28X(n-(d<<2)-2)) + (56X (n-(d<<2)-1)) + (70X(n-(d<<2))) + (56X(n-(d<<2)+1)) + (28X(n-(d<<2)+2)) + (X (n-(d<<2 )+3)<<3) + X(n-(d<<2)+4)+128) >> 8 (11)

где n указывает индекс, соответствующий L = 4 (x37-x40). Коэффициент фильтра представляет собой hi = (1, 8, 28, 56, 70, 56, 28, 8, 1) и соответствует Vi = (4d+4, 4d+3, 4d+2, 4d+1, 4d, 4d-1, 4d-2, 4d-3, 4d-4).

Опорные пиксели, используемые для прогнозирования, количество опорных пикселей и взвешенная таблица получаются путем составления уравнения (5). Значение интерполяции пикселя прогнозирования вычисляется с использованием этой таблицы. При вычислении значения интерполяции пикселя x31 из таблицы, показанной на фиг.7, коэффициент фильтра hi = (1, 6, 15, 20, 15, 6, 1) используется при L=3. Следующее уравнение прогнозирования (12) формируется согласно уравнению (9):

X(31) = (X(01) + (6X(02)) + (15X(03)) + (20X(04)) + (15X(05)) + (6X(06)) + X(07)+32) >> 6 (12)

В отсутствие соответствующего опорного пикселя прогнозирование производится путем подстановки значения последнего опорного пикселя в уравнение прогнозирования. При прогнозировании пикселя x19 нельзя использовать опорный пиксель слева от пикселя x00. Однако, поскольку опорный пиксель x09 можно использовать, прогнозирование осуществляется согласно следующему уравнению (13).

X(19) = (X(09) + (X(00)<<1) + (5X(01)) +(X(02)<<2) + X(03)+8) >> 4 (13)

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

Уравнение прогнозирования для пиксельно-адаптивного горизонтального прогнозирования (режим 1) выражается следующим уравнением (14).

X(n) = (X(n-d-1) + (X(n-1)<<1) + X(n+d-1)+2) >> 2 (14)

Уравнение прогнозирования для пиксельно-адаптивного прогнозирования вверх влево (режим 2) выражается следующим уравнением (15).

X(n) = (X(n-1)+X(n+d)+1) >> 1 (15)

Уравнение прогнозирования для пиксельно-адаптивного ортогонального прогнозирования вниз влево (режим 3) выражается следующим уравнением (16).

X(n) = (X(n-d) + (X (n-d+1)<<1)+X(n-d+2)+2) >> 2 (16)

Уравнение прогнозирования для пиксельно-адаптивного ортогонального прогнозирования вниз вправо (режим 4) выражается следующим уравнение