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

Иллюстрации

Показать все

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

Реферат

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

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

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

В последние годы способ кодирования изображения, эффективность кодирования которого значительно улучшена, рекомендуется в сотрудничестве с ITU-T и ISO/IEC как ITU-T Rec. H.264 и ISO/IEC 14496-10 (далее - H.264). В схеме кодирования, такой как ISO/IEC MPEG-1, 2 и 4, ITU-T H.261, и H.263, после ортогонального преобразования выполняется внутрикадровое прогнозирование в частотной области (коэффициент DCT) для уменьшения объема кода для коэффициента преобразования. В отличие от этого направленное прогнозирование (см. Greg Conklin, "New Intra Prediction Modes", ITU-T Q.6/SG16 VCEG, VCEG-N54, сентябрь 2001 г.) используется для реализации более высокой эффективности прогнозирования, чем внутрикадровое прогнозирование в ISO/IEC MPEG-1, 2 и 4.

В развитом варианте H.264 схемы внутрикадрового прогнозирования трех типов регулируются в соответствии с сигналом яркости, причем одна из этих схем может быть выбрана в макроблоке (пиксельный блок 16×16). Схемы внутрикадрового прогнозирования этих трех типов названы прогнозированием 4×4 пиксела, прогнозированием 8×8 пикселов и прогнозированием 16×16 пикселов, соответственно.

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

При прогнозировании 4×4 пиксела макроблок делится на пиксельные блоки 4×4 (субблоки), для каждого из пиксельных блоков 4×4 выбирается любой из девяти режимов прогнозирования. Из девяти режимов прогнозирования, за исключением прогнозирования DC (режим 2), которое выполняет прогнозирование с помощью среднего пиксельного значения имеющихся в наличии эталонных пикселов, восемь режимов имеют направления прогнозирования, построенные с интервалами 22,5°, соответственно. Экстраполяция выполняется в направлении прогнозирования, используя эталонный пиксел для создания сигнала прогнозирования.

При прогнозировании 8×8 пикселов макроблок делится на четыре пиксельных блока 8×8 (субблоки), и любой из девяти режимов прогнозирования выбирается для каждого из пиксельных блоков 8×8. Режим прогнозирования разработан в той же самой структуре, что и режим прогнозирования 4×4 пиксела. Процесс применения трехзвенной фильтрации к кодированным эталонным пикселам и планаризация эталонных пикселов, которая должна использоваться при прогнозировании для усреднения искажения кодирования, складываются вместе.

В публикации Kenneth K.C. Lee et al. "Spatial Domain Contribution to a High Compression Efficiency System" IWAIT2006, июнь 2006 г., раскрыт способ, в соответствии с которым выбирают два режима прогнозирования из подходящих девяти претендентов режима прогнозирования и вычисляют средние значения сигналов прогнозирования, созданных в соответствии с двумя выбранными режимами прогнозирования в пиксельных блоках для создания сигнала прогнозирования. В соответствии с этим способом высокая эффективность прогнозирования реализуется даже для комплексной текстуры, которая не предполагается при обычном прогнозировании 4×4 пиксела или обычном прогнозировании 8×8 пикселов.

В соответствии с Kenneth K.C. Lee et al. "Spatial Domain Contribution to a High Compression Efficiency System" IWAIT 2006, июнь 2006 г., последовательность прогнозирования субблоков (4×4 пиксельных блоков или 8×8 пиксельных блоков) в макроблоке устанавливается равномерной. Например, при прогнозировании рассматриваются каждый из пиксельных блоков 4×4, пиксельных блоков 8×8, полученных делением макроблока на четыре, и экстраполяция прогнозирования последовательно применяется к пиксельным блокам 4×4, каждый из которых получен делением пиксельных блоков 8×8. Процессы в блоках пиксельных блоков 8×8 повторяются четыре раза, чтобы завершить прогнозирующее кодирование шестнадцати пиксельных блоков 4×4. С другой стороны, в прогнозе для пиксельных блоков 8×8 экстраполяция прогнозирования последовательно применяется к пиксельным блокам 8×8, полученным делением макроблока на четыре.

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

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

Согласно публикации Kenneth K.C. Lee et al. "Spatial Domain Contribution to a High Compression Efficiency System" IWAIT 2006 г., июнь 2006 г., всегда используются два режима прогнозирования. Более конкретно, даже несмотря на то, что с помощью одиночного режима прогнозирования может быть получен достаточный результат, прогнозирование выполняется с использованием двух режимов прогнозирования. По этой причине система имеет возможность улучшения эффективности кодирования.

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

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

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

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

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

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

Фиг.2A - схема, показывающая целевой блок кодирования и кодированный блок в целевом кадре кодирования.

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

Фиг.3A - схема, показывающая пиксельный блок 8×8.

Фиг.3B - схема, показывающая пиксельный блок 4×4.

Фиг.3C - схема, показывающая пиксельные блоки 8×8/4×4.

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

Фиг.5 - блок-схема с подробностями генератора сигнала прогнозирования, показанного на фиг.1.

Фиг.6A - схема, показывающая пиксельные блоки 8×8 и блочные индексы.

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

Фиг.6C - схема, показывающая изменение последовательности прогнозирования с помощью прогноза экстраполяции/интерполяции в блоках, показанных на фиг.6A.

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

Фиг.7A - схема, показывающая пиксельные блоки 4×4 и блочные индексы.

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

Фиг.7C - схема, показывающая изменение последовательности прогнозирования с помощью прогноза экстраполяции/интерполяции в блоках, показанных на фиг.7А.

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

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

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

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

Фиг.9C - схема, поясняющая способ создания сигнала прогнозирования в режиме 0.

Фиг.9D - схема, поясняющая способ создания сигнала прогнозирования в режиме 4.

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

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

Фиг.12A - концептуальная схема прогнозирования по вертикали/горизонтали (режим 01) при прогнозировании 4Ч4 пиксела.

Фиг.12B - концептуальная схема прогнозирования по вертикали/горизонтали-вниз-вправо (режим 04) при прогнозировании 4×4 пиксела.

Фиг.13A - схема, поясняющая прогнозирование блока экстраполяции/интерполяции в пиксельных блоках 8×8.

Фиг.13B - схема, поясняющая прогнозирование блока экстраполяции/интерполяции в пиксельных блоках 4×4.

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

Фиг.14B - схема, показывающая соотношение между блоком интерполяции (1) и эталонным пикселом при прогнозировании 4×4 пиксела.

Фиг.14C - схема, показывающая соотношение между блоком интерполяции (2) и эталонным пикселом при прогнозировании 4×4 пиксела.

Фиг.14D - схема, показывающая соотношение между блоком интерполяции и эталонным пикселом при прогнозировании 4×4 пиксела.

Фиг.I5A - схема, поясняющая способ создания сигнала прогнозирования, полученного, когда в прогнозе блока экстраполяции выбрано прогнозирование по вертикали (режим 0).

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

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

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

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

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

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

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

Фиг.19A - схема, поясняющая способ создания сигнала прогнозирования для блока интерполяции (1) при прогнозировании обратно-по вертикали (режим 9).

Фиг.19B - схема, поясняющая способ создания сигнала прогнозирования для блока интерполяции (2) при прогнозировании обратно-по вертикали (режим 9).

Фиг.20A - схема, поясняющая способ создания сигнала прогнозирования для блока интерполяции (1) при прогнозировании обратно-по горизонтали (режим 10).

Фиг.20B - схема, поясняющая способ создания сигнала прогнозирования для блока интерполяции (2) при прогнозировании обратно-по горизонтали (режим 10).

Фиг.21A - схема, поясняющая способ создания сигнала прогнозирования для блока интерполяции (1) при прогнозировании по диагонали-влево (режим 12).

Фиг.21B - схема, поясняющая способ создания сигнала прогнозирования для блока интерполяции (1) при прогнозировании по диагонали-влево (режим 12).

Фиг.21C - схема, поясняющая способ создания сигнала прогнозирования для блока интерполяции (2) при прогнозировании по диагонали-влево (режим 12).

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

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

Фиг.24 - блок-схема последовательности операций части процедуры обработки, показанной на фиг.23.

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

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

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

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

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

Фиг.30 - схема, показывающая названия режимов прогнозирования, которые могут использоваться в блоках (1), (2) и (3) интерполяции и в блоке (4) экстраполяции, и индексы режимов.

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

Фиг.32 - способ получения режима прогнозирования.

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

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

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

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

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

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

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

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

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

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

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

Фиг.44A - схема, поясняющая положения блоков, где режим прогнозирования относится к прогнозированию блока интерполяции (1).

Фиг.44B - схема, поясняющая положения блоков, где режим прогнозирования относится к прогнозированию блока интерполяции (2).

Фиг.44C - схема, поясняющая положения блоков, где режим прогнозирования относится к прогнозированию блока интерполяции (3).

Фиг.44D - схема, поясняющая положения блоков, где режим прогнозирования относится к прогнозированию блока интерполяции (4).

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

Вариант осуществления настоящего изобретения ниже будет описан со ссылкой на чертежи.

Устройство кодирования изображения

Как показано на фиг.1, в устройстве кодирования изображения, соответствующем варианту осуществления изобретения, входной сигнал 120 движущегося изображения или неподвижного изображения поступает на кодер 100 изображения. Кодер 100 изображения имеет делитель 101 кадров, устройство 102 прогнозирования, переключатель 103 режимов, блок 104 ортогонального преобразования/квантования, блок 105 обратного квантования/обратного ортогонального преобразования, сумматор 106, запоминающее устройство 107 эталонного изображения и энтропийный кодер 108.

Контроллер 110 кодирования подает информацию 140 управления кодированием на кодер 100 изображения для управления всем процессом кодирования кодера 100 изображения и должным образом принимает информацию 150 обратной связи от кодера 100 изображения. Информация 140 управления кодированием содержит информацию индекса режима прогнозирования (описана ниже), информацию переключения размеров блоков, информацию переключения последовательности прогнозирования, информацию переключения числа режимов прогнозирования, информацию параметров квантования и т.п. Информация параметров квантования содержит ширину квантования (размер шага квантования), матрицу квантования и тому подобное. Информация 150 обратной связи содержит информацию о созданном количестве битов кодирования в кодере 100 изображения, требуемых для определения параметров квантования.

В кодере 100 изображения входной сигнал 120 изображения вводится в делитель 101 кадров. В делителе 101 кадров кодируемый целевой кадр входного сигнала 120 изображения делится на множество пиксельных блоков, чтобы создать блочный сигнал 121 изображения. Например, кодируемый целевой кадр, показанный на фиг.2A, делится на множество блоков, каждый из которых имеет размер блока 16×16 пикселов, как показано на фиг.2B. Блок, показанный на фиг.2B, называется макроблоком и является основным обрабатываемым модулем для кодирования. Более конкретно, кодирование выполняется в блоке макроблока.

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

В устройстве 102 прогнозирования подготовлены множество режимов прогнозирования для внутрикадрового прогнозирования и прогнозирование выполняется в соответствии со всеми выбираемыми режимами прогнозирования. Устройство 102 прогнозирования может иметь режим прогнозирования, согласно которому выполняется внутреннее прогнозирование для H.264, то есть прогнозирование 8×8 пикселов на фиг.3A, прогнозирование 4×4 пиксела на фиг.3B или прогнозирование 8×8/4×4 пиксела на фиг.3C (прогнозирование 8×8 пиксела и прогнозирование 4×4 пиксела смешиваются друг с другом в макроблоке). При внутреннем прогнозировании H.264 последующее прогнозирование не может быть выполнено без формирования локального декодированного изображения в макроблоке. В этом случае ортогональное преобразование/квантование и обратное квантование/обратное ортогональное преобразование могут быть выполнены в устройстве 102 прогнозирования.

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

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

В устройстве 102 прогнозирования остаточная ошибка прогнозирования формируется путем вычитания сигнала 12 прогнозирования из сигнала 122 прогнозирования и блочного сигнала 121 изображения. Сигнал 123 остаточной ошибки прогнозирования подается на блок 104 ортогонального преобразования/квантования 104 и на переключатель 103 режимов. В блоке 104 ортогонального преобразования/квантования выполняется ортогональное преобразование сигнала 123 остаточной ошибки прогнозирования и коэффициент преобразования, полученный ортогональным преобразованием, квантуется с целью создания информации 127 о коэффициенте преобразования квантования.

Что касается формы блока преобразования/квантования, который является обрабатываемым блоком в блоке 104 ортогонального преобразования/квантования, могут быть выбраны блоки формы 8×8 пикселов, 4×4 пиксела, 16×8 пикселов, 8×16 пикселов, 8×4 пиксела и 4×8 пикселов. В качестве альтернативы различные формы задаются для блоков преобразования/квантования в одном макроблоке. Например, пиксельные блоки 8×8 и пиксельные блоки 4×4 могут быть смешаны в макроблоке, как показано на фиг.3C.

В переключателе 103 режимов на основе информации 124 о режиме прогнозирования (далее - информация об индексе режима прогнозирования, информация о переключении размера блока информация о переключении последовательности прогнозирования и информация о переключении числа режимов прогнозирования будет, в общем, называться информацией о режиме прогнозирования), такой как информация об индексе режима прогнозирования, информация о переключении размера блока, информация о переключении последовательности прогнозирования и информация о переключении количества режимов прогнозирования, связанная с режимом прогнозирования, должна вводиться через сигнал 123 остаточной ошибки прогнозирования и устройство 102 прогнозирования, вычисляется стоимость кодирования. На основе этого выбирается оптимальный режим прогнозирования.

Более конкретно, когда информация 124 о режиме прогнозирования 124 представлена как ОН и сумма абсолютных значений величин сигналов остаточной ошибки прогнозирования представлена как SAD, переключатель 103 режимов выбирает режим прогнозирования, который дает минимальное значение стоимости K кодирования, вычисленное в соответствии со следующим уравнением как оптимальный режим.

[Уравнение 1]

K=SAD+λ×ОН(1),

где λ означает константу, которая определена на основе значения параметра квантования.

В другом примере вычисления стоимости в переключателе 103 режимов может использоваться только информация ОН о режиме прогнозирования или только сумма абсолютных величин SAD сигналов остаточной ошибки прогнозирования. Может использоваться значение, полученное преобразованием Адамара или аппроксимирующее информацию о режиме прогнозирования или сигнал остаточной ошибки прогнозирования. Функция стоимости может быть сформирована с использованием ширины квантования и параметра квантования.

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

[Уравнение 2]

J=D+λ×R(2)

где D обозначает искажение кодирования, выражающее квадратичную ошибку между сигналом 121 блочного изображения и сигналом 130 декодированного изображения. С другой стороны, R обозначает объем кода, оцененный виртуальным кодированием.

Когда используется стоимость J кодирования в Уравнении (2), виртуальное кодирование и локальное декодирование (обратное квантование и обратное ортогональное преобразование) необходимы в каждом режиме прогнозирования. По этой причине объем обработки или размеры схемы возрастают. Однако, поскольку стоимость J отражает точный объем кода и точное искажение при кодировании, может быть выбран более оптимальный режим прогнозирования. В результате может быть получена более высокая эффективность кодирования. В Уравнении (2) искажение D при кодировании и количество R битов кодирования используются при вычислении стоимости J кодирования. Однако стоимость J кодирования может быть вычислена с использованием либо D, либо R. Функция стоимости может быть сформирована с использованием значения, полученного приближением D и R.

От переключателя 103 режимов выводятся информация 125 об оптимальном режиме прогнозирования, выражающая выбранный режим прогнозирования, и сигнал 126 прогнозирования, соответствующий выбранному режиму прогнозирования. Информация 125 об оптимальном режиме прогнозирования подается на блок 104 ортогонального преобразования/квантования вместе с сигналом 123 остаточной ошибки прогнозирования от устройства 102 прогнозирования. Блок 104 ортогонального преобразования/квантования применяет ортогональное преобразование, например дискретное косинусное преобразование (DCT) к сигналу 123 остаточной ошибки прогнозирования со ссылкой на информацию 125 об оптимальном режиме прогнозирования. В качестве ортогонального преобразования могут использоваться вейвлет-преобразование, независимый компонентный анализ и т.п. В блоке 104 ортогонального преобразования/квантования коэффициент преобразования, полученный ортогональным преобразованием, квантуется, чтобы создать информацию 127 о коэффициенте преобразования. В этом случае параметр квантования, такой как ширина квантования, требующаяся для квантования в блоке 104 ортогонального преобразования/квантования, задается информацией о параметре квантования, содержащейся в информации 140 управления кодированием, полученной от контроллера 110 кодирования.

Информация 127 о коэффициенте преобразования квантования вводится на энтропийный кодер 108 вместе с информацией, связанной с прогнозированием, такой как информация 141 об индексе режима прогнозирования, информация 142 о переключении размера блоков, информация 143 о переключении последовательности прогнозирования, информация 144 о переключении числа режимов прогнозирования и параметра квантования, которые содержатся в информации 140 об управлении кодированием. Энтропийный кодер 108 выполняет энтропийное кодирование, такое как кодирование Хаффмана, кодирование Голомба или арифметическое кодирование, для информации 127 коэффициента преобразования квантования и информации, связанной с прогнозированием, чтобы создать кодированные данные 146. Кодированные данные 146 мультиплексируются мультиплексором 111 и передаются через выходной буфер 112 как поток 147 битов кодирования.

Информация 127 о коэффициенте преобразования при квантовании также вводится в блок 105 обратного квантования/обратного ортогонального преобразования. Блок 105 обратного квантования/обратного ортогонального преобразования обратно квантует информацию 127 о коэффициенте преобразования для квантования в соответствии с информацией о параметре квантования от контроллера 110 кодирования и выполняет обратное ортогональное преобразование, такое как обратное дискретное косинусное преобразование (IDCT), для коэффициента преобразования, полученного обратным квантованием, создавая, таким образом, сигнал 128 остаточной ошибки прогнозирования, эквивалентный сигналу 123 остаточной ошибки прогнозирования, выведенному из устройства 102 прогнозирования.

Сигнал 128 остаточной ошибки прогнозирования, созданный блоком 105 обратного квантования/обратного ортогонального преобразования, добавляется к сигналу 105 прогнозирования, поступающему от переключателя 103 режимов, в сумматоре 106 для создания сигнала 129 локального декодирования. Сигнал 129 локального декодирования сохраняется в запоминающем устройстве 130 эталонного изображения. Сигнал локального декодирования, сохраненный в запоминающем устройстве 107 эталонного изображения, считывается как сигнал 130 эталонного изображения и используется для ссылки на него, когда сигнал 123 остаточной ошибки прогнозирования создается устройством 102 прогнозирования.

Контур кодирования (на фиг.1, устройство 102 прогнозирования->блок 104 ортогонального преобразования/квантования->блок 105 обратного квантования/обратного ортогонального преобразования->запоминающее устройство 130 эталонного изображения->устройство 102 прогнозирования) выполняется, когда обработка во всех выбираемых режимах прогнозирования заканчивается в целевом блоке кодирования. Когда заканчивается обработка контура кодирования в некотором целевом блоке кодирования, сигнал 121 блочного изображения следующего целевого блока кодирования вводится в устройство 101 прогнозирования, чтобы выполнить кодирование снова.

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

Устройство 102 прогнозирования

Устройство 102 прогнозирования будет описано ниже со ссылкой на фиг.4. Устройство 102 прогнозирования имеет генератор 113 сигнала прогнозирования, который создает сигнал прогнозирования, и дополнительно имеет внутренний переключатель 114 режимов, внутренний блок 115 ортогонального преобразования/квантования, внутренний блок 116 обратного квантования/обратного ортогонального преобразования и внутреннее запоминающее устройство 118 для хранения эталонного изображения, чтобы выполнять прогнозирование в блоках из множества пиксельных блоков малой величины (называемых субблоками), полученных дополнительным делением макроблока.

Когда сигнал 121 блочного изображения вводится в устройство 102 прогнозирования, генератором 113 сигнала прогнозирования создается сигнал 122 прогнозирования, получаемый посредством однонаправленного прогнозирования (описано ниже) или двунаправленного прогнозирования (описано ниже). В этом случае информация о режиме прогнозирования, включающая в себя информацию 141 об индексе режима прогнозирования, информацию 142 о переключении размера блоков, информацию 143 о переключении последовательности прогнозирования, и информацию 144 о переключении числа режимов прогнозирования, передается от контроллера 110 кодирования на генератор 113 сигнала прогнозирования. Контроллер 110 кодирования передает множество режимов прогнозирования на генератор 113 сигнала прогнозирования, чтобы заставить генератор 113 сигнала прогнозирования выполнять прогнозирование во множестве режимов прогнозирования. Генератор 113 сигнала прогнозирования в дополнение к сигналу 122 прогнозирования, полученному с помощью соответствующих режимов прогнозирования, создает информацию 161 о целевом режиме прогнозирования, соответствующую сигналу 122 прогнозирования.

Вычитающее устройство 119 вычитает сигнал 114 прогнозирования из сигнала 121 блочного изображения для создания сигнала 123 остаточной ошибки прогнозирования. Внутренний переключатель 114 режимов выбирает режим прогнозирования на основе информации 161 о режиме прогнозирования (в том числе, информации 141 об индексе режима прогнозирования, информации 142 о переключении размера блоков, информации 143 о переключении последовательности прогнозирования и информации 144 о переключении числа режимов прогнозирования), переданной через генератор 113 сигнала прогнозирования 113, и сигнал 123 остаточной ошибки прогнозирования для вывода информации 124 о режиме прогнозирования, представляющего выбранный режим прогнозирования.

Сигнал 123 остаточной ошибки прогнозирования и информация 124 о режиме прогнозирования, выведенные от внутреннего переключателя 114 режимов, вводятся на внутренний блок 115 ортогонального преобразования/квантования. Во внутреннем блоке 115 ортогонального преобразования/квантования ортогональное преобразование, например, DCT, применяется к сигналу 123 остаточной ошибки прогнозирования со ссылкой на информацию 124 о режиме прогнозирования. В качестве ортогонального преобразования могут использоваться вейвлет-преобразование, независимый компонентный анализ и т.п. Во внутреннем блоке 115 ортогонального преобразования/квантования коэффициент преобразования, полученный ортогональным преобразованием, квантуется для создания информации 163 о коэффициенте преобразования квантования. В этом случае параметр квантования, такой как ширина квантования, требующаяся для квантования во внутреннем блоке 115 ортогонального преобразования/квантования, задается информацией о параметре квантования, содержащейся в информации 140 управления кодированием от контроллера 110 кодирования.

Информация 163 о коэффициенте преобразования квантования 163 вводится во внутренний блок 116 обратного квантования/обратного ортогонального преобразования. Внутренний блок 116 обратного квантования/обратного ортогонального преобразования обратным образом квантует информацию 163 о коэффициенте преобразования квантования, соответствующую информации о параметре квантования, получаемой от контроллера 110 кодирования, и применяет обратное ортогональное преобразование, такое как IDCT, к коэффициенту преобразования, полученному обратным квантованием, таким образом создавая сигнал 164 остаточной ошибки прогнозирования, эквивалентный сигналу 123 остаточной ошибки прогнозирования.

Сигнал 164