СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, ПРОГРАММА КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ И ПРОГРАММА ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ
METHOD FOR ENCODING PREDICTION IMAGE, PREDICTION IMAGE ENCODING DEVICE, PREDICTION IMAGE ENCODING PROGRAM, PREDICTION IMAGE DECODING METHOD, PREDICTION IMAGE DECODING DEVICE AND PREDICTION IMAGE DECODING PROGRAM

Область техники
[1] Настоящее изобретение относится к способам, устройствам и программам кодирования и декодирования изображения с предсказанием и, в частности, к способам, устройствам и программам для кодирования и декодирования с предсказанием с использованием сигнала в кадре.
Уровень техники
[2] Технологии кодирования со сжатием используются для эффективной передачи и сохранения неподвижных изображений и видеоданных. Для видеоданных широко используются системы от MPEG1 до MPEG4 и от H.261 до H.264.
[3] В этих системах кодирования изображение в качестве цели кодирования делится на множество блоков, и затем осуществляется процесс их кодирования/декодирования. В MPEG4 и H.264, для дополнительного повышения эффективности кодирования, кодирование с внутрикадровым предсказанием осуществляется таким образом, что предсказанный сигнал генерируется с использованием сигнала соседнего ранее воспроизведенного пикселя (восстановленного сигнала сжатых данных изображения, присутствующего в том же кадре, что и целевой блок, и затем разностный сигнал, полученный вычитанием предсказанного сигнала из сигнала целевого блока, кодируется. При кодировании с межкадровым предсказанием, компенсация движения производится на основании сигнала другого ранее воспроизведенного изображения, присутствующего в кадре, отличном от кадра целевого блока, для генерации предсказанного сигнала, и разностный сигнал, полученный вычитанием сгенерированного предсказанного сигнала из сигнала целевого блока, кодируется.
[4] В частности, при кодировании с внутрикадровым предсказанием согласно H.264 применяется способ экстраполяции значений ранее воспроизведенных пикселей, соседствующих с блоком, в качестве цели кодирования, в заранее определенных направлениях для генерации предсказанного сигнала. На Фиг.13 показана схема, поясняющая способ внутрикадрового предсказания, используемый в H.264. На Фиг.13 (A) блок 1302 является целевым блоком, и группа пикселей, состоящая из пикселей A-M (1301), соседствующих с границей целевого блока, является соседней областью, которая является сигналом изображения, ранее воспроизведенным в предыдущей обработке. В этом случае предсказанный сигнал генерируется посредством дублирования в направлении вниз соседних пикселей (A-D), расположенных непосредственно над целевым блоком 1302. Согласно Фиг.13 (B), предсказанный сигнал генерируется посредством дублирования в направлении вправо ранее воспроизведенных пикселей (I-L), расположенных слева от целевого блока 1304. Конкретные способы для генерации предсказанного сигнала описаны, например, в патентном источнике 1. Вычисляется разность между каждым из девяти предсказанных сигналов, генерируемых, таким образом, способами, показанными на Фиг.13 (A)-(I), и пиксельным сигналом целевого блока, и способ обеспечения наименьшей разности определяется как оптимальный способ предсказания. Эти способы экстраполяции можно сводить вместе, как показано на Фиг.14. На Фиг.14, стрелки указывают направления продления ранее воспроизведенных пикселей и числа для соответствующих направлений являются идентификационными номерами соответствующих режимов предсказания. Идентификационный номер для предсказания в среднем окружающих ранее воспроизведенных пикселей равен 2 и обозначается DC на Фиг.14. Эти идентификационные номера также именуются идентификационной информацией о способе внутрикадрового предсказания или информацией режима или просто режимами предсказания.
[5] Режим предсказания блока, подвергающегося внутрикадровому предсказанию, требуется отправлять стороне передачи. В этом случае режим внутрикадрового предсказания целевого блока кодируется в соответствии с режимами внутрикадрового предсказания соседнего сверху блока и соседнего слева блока для целевого блока. В частности, производится сравнение между режимами внутрикадрового предсказания соседнего сверху блока и соседнего слева блока, и блок с меньшим значением определяется как опорная информация режима (наиболее вероятный режим). Режим внутрикадрового предсказания целевого блока кодируется на основании этой опорной информации режима.
[6] В частности, кодируется символ для указания, идентичен ли режим внутрикадрового предсказания целевого блока опорной информации режима. Когда символ равен 1, режим внутрикадрового предсказания целевого блока совпадает с опорной информацией режима. Когда символ равен 0, информация о режиме внутрикадрового предсказания целевого блока далее кодируется. Однако, если номер, указывающий режим внутрикадрового предсказания целевого блока, больше номера опорной информации режима, кодирование осуществляется после вычитания единицы из номера, указывающего режим внутрикадрового предсказания целевого блока.
[7] На стороне воспроизведения символ сначала декодируется во внутрикадрово предсказанном целевом блоке. Когда символ равен 1, это означает, что режим внутрикадрового предсказания целевого блока совпадает с опорной информацией режима. Когда символ равен 0, дополнительно декодируется информация о режиме внутрикадрового предсказания. Однако, если номер декодированного режима предсказания больше или равен опорной информации режима, режим внутрикадрового предсказания целевого блока определяется прибавлением единицы.
Библиография
Патентный источник
[8] Патентный источник 1: патент США № 6765964
Сущность изобретения
Техническая проблема
[9] В этой связи, известно, что точность внутрикадрового предсказания повышается за счет обеспечения большего количества режимов внутрикадрового предсказания, чем в традиционной технологии. В частности, эффективно обеспечивать возможности экстраполяции для предсказанного сигнала из промежуточных углов (направлений), дополнительно к девяти режимам, показанным на Фиг.14.
[10] Однако, увеличение количества способов предсказания создает проблему снижения эффективности кодирования идентификационной информации (режима предсказания) для указания способа внутрикадрового предсказания при использовании традиционной технологии.
[11] Причина снижения эффективности кодирования состоит в том, что увеличение количества режимов внутрикадрового предсказания приводит к статистическому снижению вероятности корреляции между режимом предсказания целевого блока и опорной информацией режима (наиболее вероятным режимом). Кроме того, само кодирование режима предсказания, в случае рассогласования с опорной информацией режима, требует большего количества битов ввиду увеличения количества режимов внутрикадрового предсказания.
[12] Задачей настоящего изобретения является решение вышеописанной проблемы и, таким образом, обеспечение способа, устройства и программы для эффективного кодирования информации режима для идентификации способа внутрикадрового предсказания целевого блока даже в случае, когда в способе генерации внутрикадрово предсказанных сигналов предусмотрено большее количество режимов предсказания. Дополнительной задачей настоящего изобретения является обеспечение способа, устройства и программы для эффективного декодирования кодированной информации режима.
Решение проблемы
[13] Для решения поставленной выше задачи, способ кодирования изображения с предсказанием согласно настоящему изобретению представляет собой способ кодирования изображения с предсказанием, содержащий: этап разделения области, на котором делят входное изображение на множество блоков; этап генерации предсказанного сигнала, на котором определяют, для сигналов пикселей, содержащихся в целевом блоке, выбранном из множества блоков, оптимальный режим предсказания с наименьшей разностью среди множества способов предсказания, и генерируют сигнал предсказания согласно оптимальному сигналу предсказания, и генерируют предсказанный сигнал в соответствии с оптимальным режимом предсказания; этап генерации остаточного сигнала, на котором получают остаточный сигнал, представляющий разность между пиксельным сигналом целевого блока и предсказанным сигналом; этап кодирования сигнала, на котором кодируют остаточный сигнал для генерации сжатого сигнала; этап кодирования режима предсказания, на котором кодируют оптимальный режим предсказания; и этап сохранения, на котором восстанавливают сжатый сигнал и сохраняют восстановленный сигнал в качестве воспроизводимого пиксельного сигнала, причем этап кодирования режима предсказания содержит подэтапы, на которых: генерируют список возможных режимов предсказания, содержащий элементы оптимальных режимов предсказания множества ранее воспроизведенных блоков, соседствующих с целевым блоком; кодируют флаг для указания, содержит ли список возможных режимов предсказания элемент, соответствующий оптимальному режиму предсказания; дополнительно кодируют индекс соответствующего элемента в списке возможных режимов предсказания при наличии соответствующего элемента; когда отсутствует соответствующий элемент, кодируют с помощью числа с использованием оптимального режима предсказания, после удаления каждого элемента в списке возможных режимов предсказания.
[14] Способ декодирования изображения с предсказанием согласно настоящему изобретению представляет собой способ декодирования изображения с предсказанием содержащий: этап ввода, на котором принимают ввод сжатых данных изображения, содержащий остаточный сигнал, генерируемый посредством разделения изображения на множество блоков и осуществления кодирования с предсказанием целевого блока, и кодированную информацию о режиме предсказания, указывающем способ генерации предсказанного сигнала целевого блока; этап восстановления, на котором извлекают остаточный сигнал целевого блока из сжатых данных изображения для восстановления воспроизводимого остаточного сигнала; этап декодирования режима предсказания, на котором восстанавливают кодированную информацию о режиме предсказания для генерации оптимального режима предсказания; этап генерации предсказанного сигнала, на котором генерируют предсказанный сигнал целевого блока, на основании оптимального режима предсказания; этап восстановления изображения, на котором суммируют предсказанный сигнал с воспроизводимым остаточным сигналом для восстановления пиксельного сигнала целевого блока; и этап хранения, на котором хранят восстановленный пиксельный сигнал в качестве воспроизводимого пиксельного сигнала, причем этап декодирования режима предсказания содержит подэтапы, на которых: генерируют список возможных режимов предсказания, содержащий элементы оптимальных режимов предсказания множества ранее воспроизведенных блоков, соседствующих с целевым блоком; декодируют флаг для указания, содержит ли список возможных режимов предсказания элемент, соответствующий оптимальному режиму предсказания; когда флаг указывает, что "существует соответствующий элемент", дополнительно декодируют индекс, который индексирует список возможных режимов предсказания и задает элемент, указанный индексом, в качестве оптимального режима предсказания; когда флаг указывает, что "соответствующий элемент отсутствует", дополнительно декодируют информацию о режиме REM и задают, в качестве оптимального режима предсказания, значение режима REM, которое преобразуется на основании списка возможных режимов предсказания.
Результаты изобретения
[15] Согласно настоящему изобретению, когда информация режима предсказания целевого блока кодируется согласно способу кодирования изображения с предсказанием посредством осуществления внутрикадрового предсказания с использованием большего количества режимов внутрикадрового предсказания, чем в традиционной технологии, поскольку подготавливается список возможных режимов предсказания, состоящий из множества режимов предсказания, и идентификатор элемента, совпадающего с режимом предсказания целевого блока из подготовленного списка возможных режимов предсказания, кодируется; вероятность того, что элемент совпадает с режимом предсказания целевого блока, возрастает, и, таким образом, информацию режима предсказания можно кодировать меньшим количеством битов. Другими словами, в традиционной технологии существует только один "наиболее вероятный режим", тогда как в настоящем изобретении подготавливается множество "наиболее вероятных режимов"; таким образом, настоящее изобретение обеспечивает эффект увеличения вероятности возникновения "наиболее вероятного режима", совпадающего с режимом предсказания целевого блока.
[16] Если режим предсказания целевого блока отсутствует в списке возможных режимов предсказания, кодируется сам режим предсказания целевого блока, но, в этом случае, поскольку множество режимов предсказания в списке возможных режимов предсказания исключено, и новые идентификационные номера назначаются оставшимся режимам предсказания, режим предсказания целевого блока можно выразить меньшим числом, что позволяет осуществлять кодирование с меньшей битовой длиной.
[17] В частности, настоящее изобретение обеспечивает эффект обеспечения более эффективного кодирования информации о режиме предсказания в случае, когда внутрикадровое предсказание осуществляется с помощью большего количества режимов внутрикадрового предсказания, чем в традиционной технологии.
Краткое описание чертежей
[18] Фиг.1 - блок-схема, демонстрирующая устройство кодирования изображения с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг.2 - схема, демонстрирующая направления экстраполяции пикселей, соответствующие режимам внутрикадрового предсказания, используемым в устройстве кодирования изображения с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг.3 - блок-схема операций, демонстрирующая обработку кодера режиме внутрикадрового предсказания согласно варианту осуществления настоящего изобретения.
Фиг.4 - схема, демонстрирующая пример, поясняющий процесс кодирования режима внутрикадрового предсказания согласно варианту осуществления настоящего изобретения.
Фиг.5 - блок-схема операций, демонстрирующая процесс генерации номера режима REM (этап 360) при обработке кодера в режиме внутрикадрового предсказания (Фиг.3) согласно варианту осуществления настоящего изобретения.
Фиг.6 - схема, поясняющая процесс генерации номера режима REM при обработке кодера в режиме внутрикадрового предсказания (Фиг.3) согласно варианту осуществления настоящего изобретения.
Фиг.7 - блок-схема, демонстрирующая устройство декодирования изображения с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг.8 - блок-схема операций, демонстрирующая обработку декодера режима внутрикадрового предсказания согласно варианту осуществления настоящего изобретения.
Фиг.9 - блок-схема операций, демонстрирующая процесс генерации режима предсказания целевого блока (этап 860) при обработке декодера в режиме внутрикадрового предсказания (Фиг.8) согласно варианту осуществления настоящего изобретения.
Фиг.10 - схема, описывающая процесс способа кодирования в режиме внутрикадрового предсказания с использованием двух возможных режимов предсказания, согласно варианту осуществления настоящего изобретения.
Фиг.11 - чертеж, демонстрирующий аппаратную конфигурацию компьютера для выполнения программы, записанной на носителе записи.
Фиг.12 - вид в перспективе компьютера для выполнения программы, хранящейся на носителе записи.
Фиг.13 - схема, демонстрирующая способы генерации предсказанного сигнала целевого блока посредством традиционной технологии.
Фиг.14 - схема, в которой множество способов для генерации предсказанного сигнала целевого блока посредством традиционной технологии сведены вместе в виде.
Фиг.15 - блок-схема, демонстрирующая модули программы кодирования изображения с предсказанием.
Фиг.16 - блок-схема, демонстрирующая модули программы декодирования изображения с предсказанием.
Варианты осуществления изобретения
[19] Варианты осуществления настоящего изобретения будут описано ниже с использованием Фиг.1-12.
[20] На Фиг.1 показана блок-схема, демонстрирующая устройство кодирования изображения с предсказанием согласно варианту осуществления настоящего изобретения. Устройство кодирования изображения с предсказанием снабжено входным терминалом 101, разделителем 102 блоков, определителем 103 способа генерации межкадрово предсказанного сигнала, генератором 104 межкадрово предсказанного сигнала, определителем 105 способа генерации внутрикадрово предсказанного сигнала, генератором 106 внутрикадрово предсказанного сигнала, двухпозиционным переключателем 109, блоком 110 вычитания, преобразователем 111, блоком 112 квантования, блоком 113 обратного квантования, обратным преобразователем 114, сумматором 115, памятью 116 кадров, кодером 117 режима внутрикадрового предсказания, статистическим кодером 118 и выходным терминалом 119.
[21] Ниже приведено описание работы устройства кодирования изображения с предсказанием, имеющего вышеописанную конфигурацию. Сигнал видеопоследовательности, состоящий из множества изображений подается на входной терминал 101. Изображение в качестве цели кодирования делится на множество областей разделителем 102 блоков. Согласно варианту осуществления настоящего изобретения, каждое изображение делится на блоки, где каждый блок состоит из 8×8 пикселей, но каждое изображение может делиться на блоки любого другого размера или формы. Затем предсказанный сигнал генерируется для области в качестве цели кодирования (в дальнейшем именуемой "целевым блоком"). Согласно варианту осуществления настоящего изобретения, он генерируется с использованием двух типов способов предсказания, межкадрового предсказания и внутрикадрового предсказания.
[22] При межкадровом предсказании воспроизводимое изображение, имеющее отличное время отображения, чем у целевого изображения, и ранее кодированное с последующим восстановлением, используется в качестве опорного изображения, и информация движения, которая обеспечивает предсказанный сигнал с наименьшим расхождением с целевым блоком, определяется из опорного изображения. В зависимости от ситуации можно также применять способ подразделения целевого блока на малые области и определения способа межкадрового предсказания для каждой малой области, полученной подразделением. В этом случае, наиболее эффективный способ разделения из различных способов разделения, и соответствующая информация движения определяются для всего целевого блока. Согласно варианту осуществления настоящего изобретения эта обработка осуществляется определителем 103 способа генерации межкадрово предсказанного сигнала, целевой блок подается по линии L102, и опорное изображение подается по L119. В отношении опорного изображения, изображения, ранее закодированные и восстановленные, используются как опорные изображения. Детали являются такими же, как в любом из способов MPEG-2, 4 и H.264, которые являются традиционными технологиями. Информация движения и способ разделения на малые области, определенные, как описано выше, подаются по линии L104 на генератор 104 межкадрово предсказанного сигнала. Эти фрагменты информации также подаются по линии L103 на статистический кодер 118 и, таким образом, кодируются, и кодированные данные выводятся с выходного терминала 119. Генератор 104 межкадрово предсказанного сигнала получает опорные сигналы из памяти 116 кадров (по линии L119), на основании способа разделения на малые области и информации движения, соответствующей каждой малой области, и генерирует предсказанный сигнал для каждой малой области. Межкадрово предсказанный сигнал, генерируемый таким образом, отправляется через терминал 107 на следующий блок обработки.
[23] При осуществлении внутрикадрового предсказания, внутрикадрово предсказанный сигнал генерируется с использованием значений ранее воспроизведенных пикселей, соседствующих с целевым блоком в одном и том же кадре. Способ генерации внутрикадрово предсказанного сигнала определяется определителем 105 способа генерации внутрикадрово предсказанного сигнала. Обработка, осуществляемая определителем 105 способа генерации внутрикадрово предсказанного сигнала, будет описана ниже. Определенная таким образом информация (режим предсказания) о способе внутрикадрового предсказания отправляется по линии L106 на генератор 106 внутрикадрово предсказанного сигнала. Информация (режим предсказания) о способе внутрикадрового предсказания также отправляется по линии L105 на кодер 117 режима внутрикадрового предсказания. Обработка, осуществляемая кодером 117 режима внутрикадрового предсказания, будет описана ниже. Результаты обработки отправляются на статистический кодер 118 для кодирования с его помощью, и кодированные данные отправляются с выходного терминала 119. Генератор 106 внутрикадрово предсказанного сигнала получает сигналы соседних ранее воспроизведенных в том же кадре пикселей из памяти 116 кадров (по линии L116) на основании информации о способе предсказания, и генерирует предсказанный сигнал заранее определенным способом. Внутрикадрово предсказанный сигнал, генерируемый таким образом, отправляется через терминал 108 на следующий блок обработки.
[24] Из вышеописанных полученных межкадрово и внутрикадрово предсказанных сигналов двухпозиционный переключатель 109 выбирает предсказанный сигнал с наименьшим расхождением и отправляет его на блок 110 вычитания. Однако, ввиду отсутствия предыдущего изображения для первого изображения, все целевые блоки сначала обрабатываются посредством внутрикадрового предсказания. В этом случае переключатель 109 всегда подключен к терминалу 108 в ходе обработки изображения. Описанные ниже способ внутрикадрового предсказания и способ кодирования режима внутрикадрового предсказания также применимы к кодированию и декодированию неподвижных изображений.
[25] Блок 110 вычитания вычитает предсказанный сигнал (поступающий по линии L109) из сигнала целевого блока (поступающего по линии L102) для генерации остаточного сигнала. Этот остаточный сигнал преобразуется посредством дискретного косинусного преобразования преобразователем 111, и его коэффициенты квантуются блоком 112 квантования. Наконец, статистический кодер 118 кодирует квантованные коэффициенты преобразования и отправляет кодированные данные совместно с информацией о способе предсказания (режиме предсказания) и другой информацией с выходного терминала 119.
[26] Для внутрикадрового предсказания или межкадрового предсказания последующего целевого блока необходимо осуществлять обратную обработку и восстановление сжатого сигнала целевого блока. В частности, блок 113 обратного квантования осуществляет обратное квантование квантованных коэффициентов преобразования, и обратный преобразователь 114 осуществляет обратное дискретное косинусное преобразование коэффициентов преобразования, таким образом восстанавливая остаточный сигнал. Сумматор 115 суммирует восстановленный остаточный сигнал с предсказанным сигналом, поступающим по линии L109, для воспроизведения сигнала изображения целевого блока, который сохраняется в памяти 116 кадров.
[27] Далее будет описан определитель 105 способа генерации внутрикадрово предсказанного сигнала, используемый в настоящем изобретении. На Фиг.2 показана схема, демонстрирующая способы экстраполяции пикселей, соответствующие режимам внутрикадрового предсказания, используемым согласно варианту осуществления настоящего изобретения. В настоящем варианте осуществления внутрикадрово предсказанные сигналы генерируются в общей сложности шестнадцатью способами. Числа на Фиг.2 являются идентификационными номерами для идентификации соответствующих способов внутрикадрового предсказания и называются информацией режима предсказания или режимами предсказания блоков. В соответствующих режимах предсказания (от номера 0 до номера 15), сигналы ранее воспроизведенных пикселей, соседствующих с целевым блоком, экстраполируются в направлениях, указанных соответствующими стрелками на Фиг.2, для генерации внутрикадрово предсказанных сигналов. Конкретные способы экстраполяции для режимов предсказания 0-8 показаны на Фиг.13, и способы их вычисления описаны в патентном источнике 1. В каждом из режимов предсказания с 9 по 15, аналогично, внутрикадрово предсказанный сигнал также генерируется посредством линейной интерполяции из сигналов окружающих ранее воспроизведенных пикселей для дублирования интерполированных значений в направлении соответствующей стрелки. Настоящий вариант осуществления использует шестнадцать способов внутрикадрового предсказания, но следует отметить, что способы кодирования и декодирования режима предсказания согласно настоящему изобретению также можно применять к случаям использования других количеств режимов предсказания и других способов генерации предсказанного сигнала.
[28] Определитель 105 способа генерации внутрикадрово предсказанного сигнала генерирует шестнадцать внутрикадрово предсказанных сигналов, на основании этих шестнадцати режимов предсказания, и для каждого сигнала вычисляет их разность с пиксельным сигналом целевого блока, отправленным по линии L102. Он определяет режим предсказания, который обеспечивает наименьшую разность в качестве режима внутрикадрового предсказания целевого блока.
[29] Как описано выше, для целевого блока выбирается (переключателем 109) либо внутрикадровое предсказание, либо межкадровое предсказание, и, в случае выбора внутрикадрового предсказания, кодер 117 режима внутрикадрового предсказания обрабатывает режим внутрикадрового предсказания целевого блока. Согласно способу кодирования режима внутрикадрового предсказания согласно настоящему изобретению необходимо использовать режимы внутрикадрового предсказания (идентификационные номера) ранее закодированных блоков, и таким образом кодер 117 режима внутрикадрового предсказания снабжен запоминающим устройством (не показан), для сохранения режимов внутрикадрового предсказания (идентификационных номеров) ранее закодированных блоков.
[30] На Фиг.3 показана блок-схема операций, демонстрирующая обработку кодера 117 режима внутрикадрового предсказания согласно варианту осуществления настоящего изобретения. На этапе 310 сначала генерируется список возможных режимов предсказания. Элементами этого списка являются режимы предсказания множества ранее воспроизведенных блоков, расположенных вокруг целевого блока. В настоящем варианте осуществления режимы предсказания, которыми обладали окружающие ранее воспроизведенные блоки 410-450, соседствующие с целевым блоком 400, показанным на Фиг.4, заданы как элементы в списке возможных режимов предсказания. На Фиг.6 (A) показан пример списка возможных режимов предсказания, и численные значения в соответствующих ячейках представляют идентификационные номера режимов предсказания, соответствующих соответственным окружающим блокам (410-450). В этом примере окружающие блоки (410-450) имеют соответствующие режимы предсказания, отличающиеся друг от друга, но если у множественных элементов оказывается один и тот же режим предсказания, их следует рассматривать как один элемент. Например, если блоки 410 и 420 имеют один и тот же режим предсказания, количество элементов в списке возможных режимов предсказания равно не 5, а 4. В частности, количество элементов в списке возможных режимов предсказания может быть максимум 5 и минимум 1. В частности, если окружающие блоки, соседствующие с целевым блоком, предсказаны "межкадрово", режим внутрикадрового предсказания отсутствует. В настоящем варианте осуществления режим 2 (DC-предсказание) является лишь одним элементом в списке возможных режимов предсказания. На Фиг.6 (A) показана компоновка значений элементов в списке возможных режимов предсказания в порядке возрастания, но список возможных режимов предсказания может быть сконфигурирован в порядке убывания. Для построения списка возможных режимов предсказания для кодирования режима предсказания последующего блока, кодер 117 режима внутрикадрового предсказания сохраняет режим предсказания текущего целевого блока в вышеупомянутом запоминающем устройстве.
[31] Затем на этапе 320 производится сравнение режима внутрикадрового предсказания целевого блока с каждым из элементов в списке возможных режимов предсказания для проверки наличия совпадающего элемента.
[32] Когда режим внутрикадрового предсказания целевого блока найден в списке возможных режимов предсказания, обработка переходит к этапу 330. На этом этапе кодируется "1". Эта "1" указывает, что режим внутрикадрового предсказания целевого блока включен в список возможных режимов предсказания. На следующем этапе осуществляется кодирование идентификатора (индекса) для элемента в списке возможных режимов предсказания, совпадающего с режимом предсказания целевого блока (этап 340). В настоящем варианте осуществления 0, 1, 2, 3 и 4 назначаются соответствующим индексам ячеек слева на Фиг.6 (A) и в случае, когда режим предсказания целевого блока равен "8", кодируется как индекс. Эти индексы кодируются посредством кодов по основанию 1 (унарные коды). В частности, коды (0, 01, 001, 0001, 00001) назначаются на (0, 1, 2, 3, 4), соответственно. Последний бит в коде максимального индекса можно отбрасывать. В частности, код "00001" для "4" может быть "0000". Другой применимый способ предусматривает кодирование индексов кодами фиксированной длины. В этом случае длина кода фиксированных кодов может изменяться в зависимости от размера списка возможных режимов предсказания (количества элементов). Например, в случае, когда размер списка возможных режимов предсказания равен 4, индексы кодируются двумя битами, и в случае, когда размер равен 2, индексы кодируются одним битом. Эффективное кодирование является кодированием индексов на основании размера списка возможных режимов предсказания (количества элементов).
[33] Когда на этапе 320 определено, что режим внутрикадрового предсказания целевого блока отсутствует в списке возможных режимов предсказания, обработка переходит к этапу 350. На этом этапе кодируется "0". Этот "0" указывает, что режим внутрикадрового предсказания целевого блока не включен в список возможных режимов предсказания. В этом случае необходимо кодировать режим предсказания целевого блока. В настоящем варианте осуществления режим предсказания целевого блока кодируется как "режим REM". Поскольку известно, что режим предсказания целевого блока отсутствует в списке возможных режимов предсказания, идентификационный номер, подлежащий кодированию в данном случае, не является исходным идентификационным номером режима предсказания, но является одним из идентификационных номеров, переназначенных режимам предсказания, оставшимся после исключения элементов в списке возможных режимов предсказания. Это будет описано с использованием Фиг.6. На Фиг.6 (A) показаны элементы в списке возможных режимов предсказания, которые не включает в себя элемент, соответствующий режиму предсказания целевого блока. Таким образом, режимы предсказания, оставшиеся после исключения этих режимов предсказания, показаны на Фиг.6 (B). Результат переназначение 0, 1, 2, 3, 4 ... соответствующим ячейкам слева на этой Фиг.6 (B), показан на Фиг.6 (C). Например, в случае, когда режим предсказания целевого блока равен "9", "9" не кодируется, но "6" кодируется как режим REM, поскольку "6" на Фиг.6 (C) переназначена "9" на Фиг.6 (B). В частности, один и тот же режим предсказания целевого блока можно кодировать меньшим численным значением или меньшим количеством битов. Переназначение идентификационного номера режима предсказания, таким образом, осуществляется на этапе 360 на Фиг.3.
[34] Другой способ выполнения этапа 360 показан на Фиг.5. На этапе 510 в качестве режима REM используется идентификационный номер режима внутрикадрового предсказания для определенного целевого блока. На этапе 520, наибольший элемент из элементов в списке возможных режимов предсказания, которые еще не использовались в сравнении, определяется как X. На этапе 530 осуществляется сравнение режима REM с X. Когда режим REM больше X, на этапе 540 осуществляется вычитание 1 из значения режима REM. На этапе 550 производится проверка, находится ли еще не сравненный элемент в списке возможных режимов предсказания; если да, обработка возвращается к этапу 520; если нет, обработка заканчивается.
[35] В качестве модификации обработки, показанной на Фиг.5, этап 520 сконфигурирован для задания наименьшего элемента в качестве X, и этап 530 заменяется на "режим внутрикадрового предсказания целевого блока ≤ X?", с тем же результатом. В этом случае, когда ответ на вопрос "режим внутрикадрового предсказания целевого блока ≤ X?" отрицателен, обработка немедленно прекращается.
[36] Генерируемое таким образом значение режима REM кодируется на этапе 370. В настоящем варианте осуществления значение режима REM кодируется кодом фиксированной длины, но значение режима REM также можно кодировать кодом переменной длины. Длина кода этих значений режима REM может базироваться на количестве элементов в дополнительном наборе списка возможных режимов предсказания.
[37] Настоящий вариант осуществления описывает случай, когда размер S списка возможных режимов предсказания (количество элементов) не превышает 5, но S может быть произвольным числом. Однако следует отметить, что устройство кодирования и устройство декодирования должны генерировать этот список одним и тем же способом. В случае, когда список возможных режимов предсказания генерируется из режимов предсказания верхнего блока (420) и левого блока (440) по отношению к целевому блоку 400 на Фиг.4, S=2. В этом случае существует два типа списков возможных режимов предсказания. Когда оба окружающих блока внутрикадрово предсказаны, список содержит два элемента; когда только один из окружающих блоков внутрикадрово предсказан, список содержит один элемент. Случай одного элемента списка показан на Фиг.10 (A), и случай двух элементов списка показан на Фиг.10 (B).
[38] Узел 80 на Фиг.10 (A) указывает, содержит ли список возможных режимов предсказания элемент, совпадающий с режимом предсказания целевого блока. При отсутствии совпадающего элемента, кодируется (82) режим REM. При наличии (81) совпадающего элемента кодировать индекс не требуется, поскольку список содержит только один элемент. На Фиг.10 (B), аналогично, режим REM кодируется, когда отсутствует (94) совпадающий элемент в списке. При наличии (91) совпадающего элемента, существует два элемента, и, таким образом, кодируется индекс для указания, какой из закодированного первого и второго кандидатов совпадает.
[39] Далее будет описан способ декодирования изображения с предсказанием согласно настоящему изобретению. На Фиг.7 показана блок-схема, демонстрирующая устройство декодирования изображения с предсказанием согласно варианту осуществления настоящего изобретения. Устройство декодирования изображения с предсказанием снабжено входным терминалом 700, анализатором 701 данных, блоком 702 обратного квантования, обратным преобразователем 703, сумматором 704, генератором 705 предсказанного сигнала, памятью 706 кадров, блоком 707 восстановления режима внутрикадрового предсказания и выходным терминалом 708.
[40] Ниже описана работа устройства декодирования изображения с предсказанием, имеющего вышеописанную конфигурацию. Сжатые данные, полученные посредством кодирования со сжатием согласно вышеописанному способу, вводятся через входной терминал 700. Эти сжатые данные содержат остаточный сигнал, полученный посредством предсказания и кодирования целевого блока, полученного посредством разделения изображения на множество блоков, и информацию режима о способе предсказания. Анализатор 701 данных анализирует сжатые данные для извлечения остаточного сигнала целевого блока, информации о способе предсказания, параметра квантования и информации движения в случае межкадрового предсказания или кодированной информации о вышеупомянутом режиме внутрикадрового предсказания для внутрикадрово предсказанного блока. Остаточный сигнал и параметр квантования целевого блока отправляются (по линии L701) на блок 702 обратного квантования, чтобы подвергнуться обратному квантованию. Результат преобразуется посредством обратного дискретного косинусного преобразования обратным преобразователем 703.
[41] Когда анализатор 701 данных определяет, что целевой блок межкадрово предсказан, информация движения подается по линии L709 на генератор 705 предсказанного сигнала. Генератор 705 предсказанного сигнала получает предсказанный сигнал из ранее воспроизведенных изображений, хранящихся в памяти 706 кадров, на основании информации движения. С другой стороны, когда анализатор 701 данных определяет, что целевой блок внутрикадрово предсказан, информация режима о внутрикадровом предсказании отправляется по линии L710 на блок 707 восстановления режима внутрикадрового предсказания, и режим внутрикадрового предсказания восстанавливается и отправляется на генератор 705 предсказанного сигнала. Генератор 705 предсказанного сигнала получает сигналы ранее воспроизведенных пикселей в одном и том же кадре из памяти 706 кадров, на основании режима внутрикадрового предсказания, для генерации предсказанного сигнала. Конкретные способы генерации внутрикадрово предсказанных сигналов были описаны выше со ссылкой на Фиг.2. Ниже будут описаны детали блока 707 восстановления режима внутрикадрового предсказания.
[42] Предсказанный сигнал, генерируемый генератором 705 предсказанного сигнала, отправляется по линии L705 на сумматор 704, и сумматор 704 суммирует восстановленный остаточный сигнал с предсказанным сигналом для воспроизведения пиксельного сигнала целевого блока. Воспроизводимое изображение выводится по линии L704 и одновременно передается по линии 708 для сохранения в памяти 706 кадров.
[43] Далее будет описана обработка блока 707 восстановления режима внутрикадрового предсказания согласно настоящему варианту осуществления. Выходной сигнал блока 707 восстановления режима внутрикадрового предсказания представляет собой идентификационный номер режима внутрикадрового предсказания целевого блока, и выводится по линии L707 и одновременно сохраняется в памяти (не показана) в блоке 707 восстановления режима внутрикадрового предсказания, поскольку это необходимо для восстановления режима предсказания последующего блока.
[44] На Фиг.8 показана блок-схема операций, демонстрирующая обработку декодера режима внутрикадрового предсказания согласно варианту осуществления настоящего изобретения. Сначала на этапе 810 генерируется список возможных режимов предсказания. Элементами этого списка являются режимы предсказания множества ранее воспроизведенных блоков (410-450), расположенных вокруг целевого блока 400, показанного на Фиг.4. Конкретное описание совпадает с описанием этапа 301 на Фиг.3. Устройство кодирования и устройство декодирования должны генерировать этот список возможных режимов предсказания одним и тем же способом.
[45] На следующем этапе 820 декодируется один бит. Когда этот один бит передается по линии L710 от анализатора 701 данных, фактическая обработка декодирования осуществляется анализатором 701 данных. Этот один бит указывает, включен ли режим внутрикадрового предсказания целевого блока в список возможных режимов предсказания. Затем, на этапе 830, осуществляется сравнение для определения равен ли этот один бит "1". Если один бит равен "1", обработка переходит к этапу 840. В противном случае, обработка переходит к этапу 850.
[46] Если режим внутрикадрового предсказания целевого блока включен в список возможных режимов предсказания, на этапе 840 предусмотрено дополнительное декодирование идентификатора (индекса), указывающего, какой элемент в списке возможных режимов предсказания совпадает с режимом внутрикадрового предсказания целевого блока. Элемент в списке возможных режимов предсказания, указанный индексом, является режимом предсказания целевого блока. Например, когда индекс равен "2", режим с идентификационным номером "8" в третьей слева ячейке на Фиг.6 (A) является режимом предсказания целевого блока. В настоящем варианте осуществления, этот индекс декодируется как код по основанию 1 (унарный код). Согласно другому способу, где используется способ кодирования, в котором битовая длина индекса определяется на основании размера списка возможных режимов предсказания (количества элементов), размер списка возможных режимов предсказания (количество элементов) не требуется отправлять на анализатор 701 данных (по линии L711).
[47] Если режим внутрикадрового предсказания целевого блока не включен в список возможных режимов предсказания, на этапе 850 предусмотрено декодирование значения режима REM. В настоящем варианте осуществления оно восстанавливается как численное значение кода фиксированной длины. Значение режима REM отличается от фактического идентификационного номера режима предсказания (описанного со ссылкой на Фиг.5), и, таким образом, на этапе 860 производится перезадание значения в качестве фактического идентификационного номера для получения режима внутрикадрового предсказания целевого блока.
[48] На Фиг.9 показан способ выполнения для возвращения режима REM к фактическому идентификационному номеру режима предсказания. На этапе 910 декодированное значение режима REM подставляется в режим PRED. Этот режим PRED является переменной для режима внутрикадрового предсказания целевого блока.
[49] На этапе 920 задается элемент в качестве X, который является наименьшим номером из элементов, еще не использованных в сравнении, в списке возможных режимов предсказания. На этапе 930 осуществляется сравнение режима PRED с X. Когда режим PRED больше или равен X, на этапе 940 осуществляется суммирование 1 со значением режима PRED. На этапе 950 производится проверка, находится ли еще не сравненный элемент в списке возможных режимов предсказания; если да, обработка возвращается к этапу 920; если нет, обработка заканчивается. Режим PRED по завершении этой обработки обеспечивает фактический идентификационный номер режима предсказания целевого блока.
[50] Вместо обработки, показанной на Фиг.9, можно также применять способ создания набора, дополнительного к показанному на Фиг.6 (A), как показано на Фиг.6 (B), и задания (N+1)-го (N = значение режима REM) элемента слева, в качестве режима предсказания целевого блока.
[51] Блок 707 восстановления режима внутрикадрового предсказания изображен как независимый функциональный блок на Фиг.7, но он может входить в состав анализатора 701 данных. В этом случае, линия L710 подключается непосредственно к генератору 705 предсказанного сигнала, и режим внутрикадрового предсказания отправляется по линии L710 на генератор 705 предсказанного сигнала.
[52] Вышеприведенный вариант осуществления описывает кодирование информации режима предсказания в отношении внутрикадрового предсказания, но такие же способы кодирования и декодирования также можно применять к межкадровому предсказанию. Информацию о режиме предсказания в случае межкадрового предсказания также можно кодировать и декодировать с использованием списка возможных режимов предсказания. В этом случае, список возможных режимов предсказания содержит элементы информации режимов межкадрового предсказания окружающих ранее воспроизведенных блоков. Кроме того, информацию движения в случае межкадрового предсказания также можно аналогично кодировать и декодировать. В этом случае, список возможных режимов предсказания содержит элементы информации движения окружающих ранее воспроизведенных блоков.
[53] Программа кодирования изображения с предсказанием, позволяющая компьютеру выполнять способ кодирования изображения с предсказанием согласно настоящему изобретению, предоставлена как хранящаяся на носителе записи. Кроме того, программа декодирования изображения с предсказанием, позволяющая компьютеру выполнять способ декодирования изображения с предсказанием согласно настоящему изобретению, также обеспечена как хранящаяся на носителе записи. Примеры носителей записи включают в себя такие носители записи, как гибкие диски, CD-ROM, DVD или ПЗУ, или полупроводниковые ЗУ, и т.п.
[54] На Фиг.15 показана блок-схема, демонстрирующая модули программы кодирования изображения с предсказанием, способной выполнять способ кодирования изображения с предсказанием. Программа P100 кодирования изображения с предсказанием снабжена модулем P101 разделения области, модулем P102 генерации предсказанного сигнала, модулем P103 генерации остаточного сигнала, модулем P104 кодирования сигнала, модулем P105 кодирования режима предсказания, и модулем P106 хранения. Функции, реализуемые при выполнении вышеуказанных соответствующих модулей компьютером, идентичны функциям вышеописанного устройства кодирования изображения с предсказанием. На Фиг.16 показана блок-схема, демонстрирующая модули программы декодирования изображения с предсказанием, способной выполнять способ декодирования изображения с предсказанием. Программа P200 декодирования изображения с предсказанием снабжена модулем P201 ввода, модулем P202 восстановления, модулем P203 декодирования режима предсказания, модулем P204 генерации предсказанного сигнала, модулем P205 восстановления изображения и модулем P206 хранения. Функции, реализуемые при выполнении вышеуказанных соответствующих модулей компьютером, идентичны функциям вышеописанного устройства декодирования изображения с предсказанием. Программа P100 кодирования изображения с предсказанием и программа P200 декодирования изображения с предсказанием, имеющие вышеописанную конфигурацию, хранятся на носителе записи и выполняются описанным ниже компьютером.
[55] На Фиг.11 показан чертеж, демонстрирующий аппаратную конфигурацию компьютера для выполнения программы, записанной на носителе записи, и на Фиг.12 показан вид в перспективе компьютера для выполнения программы, хранящейся на носителе записи. Компьютер охватывает проигрыватель DVD, телевизионную приставку, сотовый телефон и т.д., снабженный центральным процессором (CPU) и сконфигурированный осуществлять обработку и управление на основе программного обеспечения.
[56] Как показано на Фиг.11, компьютер 30 снабжен считывающим устройством 12, например, приводом гибких дисков, приводом CD-ROM или приводом DVD, оперативной памятью (ОЗУ) 14, в которую загружается операционная система, памятью 16 для хранения программ, хранящихся на носителе 10 записи, устройством 18 монитора, например, дисплеем, мышью 20 и клавиатурой 22 в качестве устройств ввода, устройством 24 связи для передачи и приема данных и других сигналов, и CPU 26 для управления выполнением программ. Когда носитель 10 записи, где хранится программа P100, загружается в считывающее устройство 12, компьютер 30 получает возможность доступа к программе P100 кодирования изображения с предсказанием, хранящейся на носителе 10 записи, через считывающее устройство 12, и получает возможность действовать как устройство кодирования изображения с предсказанием согласно настоящему изобретению, согласно программе P100 кодирования изображения с предсказанием. Когда носитель 10 записи, где хранится программа P200 декодирования изображения с предсказанием загружается в считывающее устройство 12, компьютер 30 получает возможность доступа к программе P200 декодирования изображения с предсказанием хранящийся на носителе 10 записи, через считывающее устройство 12, и получает возможность действовать как устройство декодирования изображения с предсказанием согласно настоящему изобретению, согласно программе P200 декодирования изображения с предсказанием.
Перечень ссылочных позиций
[57] 101: входной терминал; 102: разделитель блоков; 103: определитель способа генерации межкадрово предсказанного сигнала; 104: генератор межкадрово предсказанного сигнала; 105: определитель способа генерации внутрикадрово предсказанного сигнала; 106: генератор внутрикадрово предсказанного сигнала; 109: двухпозиционный переключатель; 110: блок вычитания; 111: преобразователь; 112: блок квантования; 113: блок обратного квантования; 114: обратный преобразователь; 115: сумматор; 116: память кадров; 117: кодер режима внутрикадрового предсказания; 118: статистический кодер; 119: выходной терминал; 700: входной терминал; 701: анализатор данных; 702: блок обратного квантования; 703: обратный преобразователь; 704: сумматор; 705: генератор предсказанного сигнала; 706: память кадров; 707: блок восстановления режима внутрикадрового предсказания; 708: выходной терминал.