Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности кодирования. Устройство декодирования движущихся изображений для декодирования потока битов для извлечения движущегося изображения, причем поток битов генерируется посредством разделения изображения на множество блоков и посредством кодирования со сжатием блоков, причем устройство декодирования движущихся изображений содержит модуль декодирования для получения информации режима кодирования для блока из потока битов, причем информация режима кодирования указывает назначение субблока блоку для внутреннего предсказания, и для получения идентификатора из потока битов, причем идентификатор задает таблицу из множества таблиц бинаризации, каждая из которых используется для преобразования информации режима кодирования в двоичный сигнал, причем модуль декодирования получает информацию режима кодирования в соответствии с идентификатором. 2 н.п. ф-лы, 17 ил.
Реферат
Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к устройству кодирования движущихся изображений, которое разделяет движущееся изображение на предварительно определенные области и кодирует движущееся изображение в единицах одной области, и к устройству декодирования движущихся изображений, которое декодирует кодированное движущееся изображение в единицах одной предварительно определенной области.
Уровень техники
[0002] Традиционно, в международной стандартизированной системе кодирования видео, такой как MPEG или ITU-T H.26x, используется способ задания блочных данных (далее в настоящем документе упоминаемых как "макроблок") в качестве единицы, причем блочные данные являются комбинацией 16×16 пикселов сигнала яркости и 8×8 пикселов цветоразностного сигнала, соответствующего 16×16 пикселам сигнала яркости, и сжатия каждого кадра видеосигнала в единицах блочных данных в соответствии с технологией компенсации движения, а также технологией ортогонального преобразования/ квантования коэффициентов преобразования.
[0003] Технология компенсации движения используется для того, чтобы уменьшать избыточность сигнала в направлении времени для каждого макроблока посредством использования высокой корреляции, существующей между видеокадрами. В соответствии с этой технологией компенсации движения, уже кодированный кадр, который ранее кодирован, сохраняется в запоминающем устройстве в качестве опорного изображения, и поиск блочной области, которая предоставляет наименьшую разность в энергии между самой блочной областью и текущим макроблоком, который является целевым блоком для предсказания с компенсацией движения, выполняется через диапазон поиска, предварительно определенный в опорном изображении, и пространственное смещение между пространственной позицией текущего макроблока и пространственной позицией блочной области в опорном изображении, которая определяется в результате поиска, затем кодируется в качестве вектора движения.
[0004] Дополнительно, в соответствии с технологией ортогонального преобразования/квантования коэффициентов преобразования, сигнал разности, который получается посредством вычитания предсказанного сигнала, полученного в результате вышеуказанного предсказания с компенсацией движения, из текущего макроблока, ортогонально преобразуется и квантуется, так что объем информации сокращается.
[0005] В случае MPEG-4 Visual, каждый блок, который используется в качестве единицы для предсказания с компенсацией движения, имеет минимальный размер 8×8 пикселов, и DCT (дискретное косинусное преобразование), имеющее размер 8×8 пикселов, используется также для ортогонального преобразования. В отличие от этого, в случае (ITU-T H.264) MPEG-4 AVC (экспертная группа по вопросам движущихся изображений 4, усовершенствованное кодирование видео), подготавливается предсказание с компенсацией движения с размером блока, меньшим 8×8 пикселов, чтобы эффективно выполнять кодирование даже для такой области, как граница между объектами, имеющей небольшую корреляцию между пикселами в пространственном направлении. Дополнительно, при ортогональном преобразовании, сжатие и кодирование могут быть выполнены посредством адаптивного переключения между DCT 8×8 пикселов, имеющими точность в целый пиксел, и DCT 4×4 пикселов, имеющими точность в целый пиксел, на основе макроблока.
[0006] В соответствии с таким традиционным международным стандартизированным способом кодирования видеоизображения, в частности, когда разрешение изображения становится более высоким как следствие фиксированного размера макроблока, легко локализуется область, которая покрывается посредством каждого макроблока, поскольку размер макроблока является фиксированным. Как результат, возникает случай, в котором периферийный макроблок находится в идентичном режиме кодирования, или идентичный вектор движения выделяется периферийному макроблоку. В таком случае, поскольку увеличивается объем служебной информации режима кодирования, информации вектора движения и т.д., которые кодируются, даже если эффективность предсказания не повышается, эффективность кодирования всего кодера уменьшается.
[0007] Чтобы разрешать такую проблему, раскрывается устройство, которое переключается между размерами макроблоков в соответствии с разрешением или контентом изображения (например, см. патентную ссылку 1). Устройство кодирования движущихся изображений, раскрытое посредством патентной ссылки 1, может выполнять сжатие и кодирование посредством переключения между выбираемыми размерами блоков ортогонального преобразования или между выбираемыми наборами размеров блоков ортогонального преобразования в соответствии с размером макроблока.
Документы предшествующего уровня техники
Патентная ссылка
[0008] Патентная ссылка 1: WO 2007/034918
Сущность изобретения
Задачи, которые должны быть решены изобретением
[0009] Тем не менее, проблема традиционных международных стандартизированных способов кодирования видеоизображения и изобретения, раскрытого посредством патентной ссылки 1, заключается в том, что поскольку преобразование не может быть выполнено посредством переключения между множеством размеров блоков ортогонального преобразования в каждом макроблоке, эффективность кодирования уменьшается, в частности, когда в макроблоке существует объект, имеющий различное перемещение или различный шаблон.
[0010] Настоящее изобретение осуществлено, чтобы разрешать вышеуказанную проблему, и, следовательно, цель настоящего изобретения заключается в том, чтобы предоставлять устройство кодирования движущихся изображений, которое может выполнять сжатие и кодирование посредством адаптивного переключения между размерами блоков ортогонального преобразования для каждой области, которая является единицей для предсказания с компенсацией движения в каждом макроблоке, и устройство декодирования движущихся изображений.
Средство для решения задач
[0011] В соответствии с настоящим изобретением, предусмотрено устройство кодирования движущихся изображений, включающее в себя: модуль разделения на блоки для разделения введенного изображения на макроблочные изображения двух или более блоков, каждое из которых имеет предварительно определенный размер, и разделения каждого из макроблочных изображений на блочное изображение одного или более блоков согласно режиму кодирования, чтобы выводить блочное изображение; модуль внутреннего предсказания для выполнения, когда в него вводится блочное изображение, внутрикадрового предсказания для блочного изображения посредством использования сигнала изображения в кадре, чтобы формировать предсказанное изображение; модуль предсказания с компенсацией движения для выполнения, когда в него вводится блочное изображение, предсказания с компенсацией движения изображения в блоке посредством использования одного или более кадров опорных изображений, чтобы формировать предсказанное изображение; модуль преобразования/квантования для выполнения процесса преобразования и квантования для сигнала разности предсказания, который формируется посредством вычитания предсказанного изображения, выведенного из любого из модуля внутреннего предсказания и модуля предсказания с компенсацией движения, из блочного изображения, выведенного из модуля разделения на блоки, чтобы формировать сжатые данные; модуль кодирования переменной длины для энтропийного кодирования сжатых данных, чтобы мультиплексировать сжатые данные, энтропийно кодированные таким образом, в поток битов; и модуль управления кодированием для выбора определенного размера блока преобразования из набора размеров блоков преобразования, предварительно определенных для блочного изображения, чтобы сообщать размер блока преобразования, выбранный таким образом, в модуль преобразования/квантования, при этом модуль преобразования/квантования разделяет сигнал разности предсказания на блоки, имеющие размер блока преобразования, сообщенный в него из модуля управления кодированием, и выполняет процесс преобразования и квантования для каждого из блоков, чтобы формировать сжатые данные.
[0012] В соответствии с настоящим изобретением, предусмотрено устройство декодирования движущихся изображений, включающее в себя: модуль декодирования переменной длины для приема потока битов, введенного в него и кодированного со сжатием в единицах каждого из макроблоков, имеющих предварительно определенный размер, на которые разделено изображение, и затем энтропийного декодирования режима кодирования в единицах одного из упомянутых макроблоков из упомянутого потока битов, и для энтропийного декодирования параметров предсказания, информации, указывающей размер блока преобразования, и сжатых данных в единицах одного из макроблоков, на которые разделено изображение согласно упомянутому декодированному режиму кодирования; модуль внутреннего предсказания для формирования, когда в него вводятся упомянутые параметры предсказания, предсказанного изображения посредством использования режима внутреннего предсказания и сигнала декодированного изображения в кадре, которые включены в параметры предсказания; модуль предсказания с компенсацией движения для выполнения, когда в него вводятся упомянутые параметры предсказания, предсказания с компенсацией движения посредством использования вектора движения, включенного в параметры предсказания, и опорного изображения, указываемого посредством индекса опорного изображения, включенного в параметры предсказания, чтобы формировать предсказанное изображение; модуль обратного квантования/обратного преобразования для выполнения процесса обратного квантования и обратного преобразования для упомянутых сжатых данных посредством использования упомянутой информации, указывающей размер блока преобразования, чтобы формировать декодированный сигнал разности предсказания; и модуль суммирования для суммирования предсказанного изображения, выведенного из любого из упомянутого модуля внутреннего предсказания и упомянутого модуля предсказания с компенсацией движения, с упомянутым декодированным сигналом разности предсказания, чтобы выводить сигнал декодированного изображения, в котором модуль обратного квантования/обратного преобразования определяет размер блока преобразования на основе декодированной информации, указывающей размер блока преобразования, и выполняет процесс обратного преобразования и обратного квантования для сжатых данных в единицах одного блока, имеющего размер блока преобразования.
Преимущества изобретения
[0013] Поскольку устройство кодирования движущихся изображений в соответствии с настоящим изобретением включает в себя: модуль разделения на блоки для разделения введенного изображения на макроблочные изображения двух или более блоков, каждое из которых имеет предварительно определенный размер, и разделения каждого из макроблочных изображений на блочное изображение одного или более блоков согласно режиму кодирования, чтобы выводить блочное изображение; модуль внутреннего предсказания для выполнения, когда в него вводится блочное изображение, внутрикадрового предсказания для блочного изображения посредством использования сигнала изображения в кадре, чтобы формировать предсказанное изображение; модуль предсказания с компенсацией движения для выполнения, когда в него вводится блочное изображение, предсказания с компенсацией движения изображения в блоке посредством использования одного или более кадров опорных изображений, чтобы формировать предсказанное изображение; модуль преобразования/квантования для выполнения процесса преобразования и квантования для сигнала разности предсказания, который формируется посредством вычитания предсказанного изображения, выведенного из любого из модуля внутреннего предсказания и модуля предсказания с компенсацией движения, из блочного изображения, выведенного из модуля разделения на блоки, чтобы формировать сжатые данные; модуль кодирования переменной длины для энтропийного кодирования сжатых данных, чтобы мультиплексировать сжатые данные, энтропийно кодированные таким образом, в поток битов; и модуль управления кодированием для сообщения определенного размера блока преобразования из набора размеров блоков преобразования, которые предварительно определяются для блочного изображения, в котором модуль преобразования/квантования разделяет сигнал разности предсказания на блоки, имеющие размер блока преобразования, и выполняет процесс преобразования и квантования для каждого из блоков, чтобы формировать сжатые данные, могут предоставляться устройство кодирования движущихся изображений и устройство декодирования движущихся изображений, которые могут выполнять сжатие и кодирование посредством адаптивного переключения между размерами блоков преобразования для каждой области, которая является единицей для предсказания с компенсацией движения в каждом макроблоке.
Краткое описание чертежей
[0014]
Фиг. 1 является блок-схемой, показывающей структуру устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 2A является видом, показывающим пример режимов кодирования для изображений, в каждом из которых выполняется кодирование с предсказанием в направлении времени;
Фиг. 2B является видом, показывающим другой пример режимов кодирования для изображений, в каждом из которых выполняется кодирование с предсказанием в направлении времени;
Фиг. 3 является блок-схемой, показывающей внутреннюю структуру модуля предсказания с компенсацией движения устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления;
Фиг. 4 является видом, поясняющим способ определения для определения предсказанного значения вектора движения в соответствии с режимом кодирования;
Фиг. 5 является видом, показывающим пример адаптации размера блока преобразования в соответствии с режимом кодирования;
Фиг. 6 является видом, показывающим другой пример адаптации размера блока преобразования в соответствии с режимом кодирования;
Фиг. 7 является блок-схемой, показывающей внутреннюю структуру модуля преобразования/квантования устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления;
Фиг. 8 является блок-схемой, показывающей структуру устройства декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 9 является блок-схемой, показывающей внутреннюю структуру модуля кодирования переменной длины устройства кодирования движущихся изображений в соответствии с вариантом 2 осуществления настоящего изобретения;
Фиг. 10 является видом, показывающим пример таблицы бинаризации в состоянии, в котором по-прежнему должна быть обновлена таблица бинаризации;
Фиг. 11 является видом, показывающим пример таблицы вероятностей;
Фиг. 12 является видом, показывающим пример таблицы изменения состояний;
Фиг. 13 является видом, поясняющим процедуру формирования контекстной идентификационной информации, фиг. 13(a) является видом, показывающим таблицу бинаризации в представлении в виде двоичного дерева, и фиг. 13(b) является видом, показывающим позиционную взаимосвязь между макроблоком, который должен быть кодирован, и периферийными блоками;
Фиг. 14 является видом, показывающим пример таблицы бинаризации в состоянии, в котором обновлена таблица бинаризации;
Фиг. 15 является блок-схемой, показывающей внутреннюю структуру модуля декодирования переменной длины устройства декодирования движущихся изображений в соответствии с вариантом 2 осуществления настоящего изобретения; и
Фиг. 16 является блок-схемой, показывающей внутреннюю структуру модуля формирования интерполированных изображений, с которым предоставляется модуль предсказания с компенсацией движения устройства кодирования движущихся изображений в соответствии с вариантом 3 осуществления настоящего изобретения.
Варианты осуществления изобретения
[0015] Далее, предпочтительные варианты осуществления настоящего изобретения подробнее поясняются со ссылкой на чертежи.
Вариант 1 осуществления
В этом варианте 1 осуществления, поясняется устройство кодирования движущихся изображений, которое выполняет предсказание с компенсацией движения между смежными кадрами посредством использования изображения каждого кадра видеоизображения в качестве ввода и выполняет процесс сжатия с использованием ортогонального преобразования и квантования для полученного сигнала разности предсказания и после этого выполняет кодирование переменной длины, чтобы формировать поток битов, и устройство декодирования движущихся изображений, которое декодирует поток битов.
[0016] Фиг. 1 является блок-схемой, показывающей структуру устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения. Устройство кодирования движущихся изображений, показанное на фиг. 1, включает в себя модуль 2 разделения на блоки для разделения изображения каждого кадра введенного видеосигнала 1 на макроблочные изображения множества блоков, каждый из которых имеет размер 4 макроблока, и дополнительного разделения каждого из макроблочных изображений на макро-/субблочное изображение 5 одного или более субблоков в соответствии с режимом 7 кодирования, чтобы выводить это макро-/субблочное изображение 5, модуль 8 внутреннего предсказания для выполнения, при приеме макро-/субблочного изображения 5, введенного в него, внутрикадрового предсказания для макро-/субблочного изображения 5 посредством использования сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, чтобы формировать предсказанное изображение 11, модуль 9 предсказания с компенсацией движения для выполнения, при приеме макро-/субблочного изображения 5, введенного в него, предсказания с компенсацией движения для макро-/субблочного изображения 5 посредством использования опорного изображения 15, сохраненного в запоминающем устройстве 14 кадров предсказания с компенсацией движения, чтобы формировать предсказанное изображение 17, модуль 6 переключения для ввода макро-/субблочного изображения 5 в любой из модуля 8 внутреннего предсказания и модуля 9 предсказания с компенсацией движения в соответствии с режимом 7 кодирования, модуль 12 вычитания для вычитания предсказанного изображения 11 или 17, которое выводится из любого из модуля 8 внутреннего предсказания и модуля 9 предсказания с компенсацией движения, из макро-/субблочного изображения 5, выведенного из модуля 2 разделения на блоки, чтобы формировать сигнал 13 разности предсказания, модуль 19 преобразования/квантования для выполнения процесса преобразования и квантования для сигнала 13 разности предсказания, чтобы формировать сжатые данные 21, модуль 23 кодирования переменной длины для энтропийного кодирования сжатых данных 21, чтобы мультиплексировать эти сжатые данные в поток 30 битов, модуль 22 обратного квантования/обратного преобразования для выполнения процесса обратного преобразования и обратного квантования для сжатых данных 21, чтобы формировать локальный декодированный сигнал 24 разности предсказания, модуль 25 суммирования для суммирования предсказанного изображения 11 или 17, выведенного из любого из модуля 8 внутреннего предсказания и модуля 9 предсказания с компенсацией движения, с выводом модуля 22 обратного квантования/обратного преобразования, чтобы формировать сигнал 26 локального декодированного изображения, запоминающее устройство 28 для внутреннего предсказания для сохранения сигнала 26 локального декодированного изображения, модуль 27 контурного фильтра для выполнения фильтрации для сигнала 26 локального декодированного изображения, чтобы формировать локальное декодированное изображение 29, и запоминающее устройство 14 кадров предсказания с компенсацией движения для сохранения локального декодированного изображения 29.
[0017] Модуль 3 управления кодированием выводит фрагменты информации, требуемые для процесса, выполняемого посредством каждого модуля (размер 4 макроблока, режимы 7 кодирования, оптимальный режим 7a кодирования, параметры 10 предсказания, оптимальные параметры 10a или 18a предсказания, параметры 20 сжатия и оптимальные параметры 20a сжатия). Далее поясняются подробности размера 4 макроблока и режима 7 кодирования. Подробности других фрагментов информации упоминаются ниже.
[0018]
Модуль 3 управления кодированием сообщает в модуль 2 разделения на блоки размер 4 макроблока изображения каждого кадра введенного видеосигнала 1, а также сообщает в модуль 2 разделения на блоки все выбираемые режимы 7 кодирования в соответствии с типом изображения для каждого макроблока, который должен быть кодирован. Хотя модуль 3 управления кодированием может выбирать определенный режим кодирования из набора режимов кодирования, этот набор режимов кодирования устанавливается произвольно. Например, модуль управления кодированием может выбирать определенный режим кодирования из набора, показанного на фиг. 2A или 2B, который упоминается ниже.
[0019] Фиг. 2A является видом, показывающим пример режимов кодирования для P (предсказанного) изображения, в каждом из которых выполняется кодирование с предсказанием в направлении времени. На фиг. 2A, mb_mode0-mb_mode2 показывают режимы (взаимные), в каждом из которых макроблок (пиксельный блок MxL) кодируется посредством использования межкадрового предсказания. Mb_mode0 представляет собой режим, в котором вектор движения выделяется всему макроблоку, mc_mode1 и mc_mode2 представляют собой режимы, в каждом из которых макроблок разделяется на равные части, которые выравниваются горизонтально или вертикально, и различные векторы движения выделяются субблокам, на которые разделяется макроблок, соответственно. Mc_mode3 представляет собой режим, в котором макроблок разделяется на четыре части, и различные режимы кодирования (sub_mb_mode) выделяются четырем субблокам, на которые разделяется макроблок, соответственно.
[0020] Sub_mb_mode0-sub_mb_mode4 представляют собой режимы, каждый из которых, когда mb_mode3 выбирается в качестве режима кодирования макроблока, может выделяться каждому из четырех субблоков (пиксельных блоков mxl), на которые разделяется макроблок. Sub_mb_mode0 представляет собой режим (внутренний), в котором субблок кодируется посредством использования внутрикадрового предсказания. Другие режимы представляют собой режимы (взаимные), посредством которых субблок кодируется посредством использования межкадрового предсказания. Sub_mb_mode1 представляет собой режим, в котором один вектор движения выделяется всему субблоку, sub_mc_mode2, и sub_mc_mode3 представляют собой режимы, в каждом из которых субблок разделяется на равные части, которые выравниваются горизонтально или вертикально, и различные векторы движения выделяются субблокам, на которые разделяется субблок, соответственно, и sub_mb_mode4 представляет собой режим, в котором субблок разделяется на четыре части, и различные векторы движения выделяются четырем субблокам, на которые разделяется субблок, соответственно.
[0021] Дополнительно, фиг. 2B является видом, показывающим другой пример режимов кодирования для P-изображения, в каждом из которых выполняется кодирование с предсказанием в направлении времени. На фиг. 2B, mb_mode 0-6 представляют собой режимы (взаимные), в каждом из которых макроблок (пиксельный блок MxL) кодируется посредством использования межкадрового предсказания. Mb_mode0 представляет собой режим, в котором один вектор движения выделяется всему макроблоку, и mb_mode1-mb_mode6 представляют собой режимы, в каждом из которых макроблок разделяется на две части, которые выравниваются горизонтально, вертикально или по диагонали, и различные векторы движения выделяются двум субблокам, на которые разделяется макроблок, соответственно. Mb_mode7 представляет собой режим, в котором макроблок разделяется на четыре части, и различные режимы кодирования (sub_mb_mode) выделяются четырем субблокам, на которые разделяется макроблок, соответственно.
[0022] Sub_mb_mode0-sub_mb_mode8 представляют собой режимы, каждый из которых, когда mb_mode7 выбирается в качестве режима кодирования макроблока, может выделяться каждому из четырех субблоков (пиксельных блоков mxl), на которые разделяется макроблок. sub_mb_mode0 представляет собой режим (внутренний), в котором субблок кодируется посредством использования внутрикадрового предсказания. Другие режимы представляют собой режимы (взаимные), посредством которых субблок кодируется посредством использования межкадрового предсказания. Sub_mb_mode1 представляет собой режим, в котором один вектор движения выделяется всему субблоку, sub_mb_mode2-sub_mb_mode7 представляют собой режимы, в каждом из которых субблок разделяется на две части, которые выравниваются горизонтально, вертикально или по диагонали, и различные векторы движения выделяются двум субблокам, на которые разделяется субблок, соответственно. Sub_mb_mode8 представляет собой режим, в котором субблок разделяется на четыре части, и различные векторы движения выделяются четырем субблокам, на которые разделяется субблок, соответственно.
[0023] Модуль 2 разделения на блоки разделяет изображение каждого кадра введенного видеосигнала 1, введенного в устройство кодирования движущихся изображений, на макроблочные изображения, имеющие размер 4 макроблока, сообщенный в него посредством модуля 3 управления кодированием. Помимо этого, когда режим 7 кодирования, сообщенный в него из модуля 3 управления кодированием, включает в себя режим (один из sub_mb_mode1-4 по фиг. 2A или один из sub_mb_mode1-sub_mb_mode8 по фиг. 2B), в котором различные режимы кодирования, соответственно, выделяются субблокам, на которые разделяется макроблок, модуль 2 разделения на блоки разделяет каждое макроблочное изображение на субблочные изображения, показанные посредством режима 7 кодирования. Следовательно, блочное изображение, выведенное из модуля 2 разделения на блоки, является или одним из макроблочного изображения или субблочного изображения в соответствии с режимом 7 кодирования. Далее, это блочное изображение упоминается как макро-/субблочное изображение 5.
[0024] Когда каждый кадр введенного видеосигнала 1 имеет горизонтальный или вертикальный размер, который не является целым кратным горизонтального размера или вертикального размера для размера 4 макроблока, кадр (расширенный кадр), в котором пикселы дополнительно предоставляются в горизонтальном или вертикальном направлении таким образом, что каждый кадр введенного видеосигнала 1 имеет горизонтальный или вертикальный размер, который является целым кратным горизонтального размера или вертикального размера для размера макроблока, формируется для каждого кадра введенного видеосигнала 1. В качестве способа формирования для формирования пикселов в расширенной области, когда пикселы суммируются, чтобы расширять каждый кадр, например, в вертикальном направлении, существует способ заполнения расширенной области посредством повторного копирования строки пикселов, идущих по нижнему краю исходного кадра, или посредством повторного формирования строки пикселов, имеющих фиксированное пиксельное значение (серый цвет, черный цвет, белый цвет и т.п.). Также, когда пикселы суммируются, чтобы расширять каждый кадр в горизонтальном направлении, существует способ заполнения расширенной области посредством повторного копирования строки пикселов, идущих по правому краю исходного кадра, или посредством повторного формирования строки пикселов, имеющих фиксированное пиксельное значение (серый цвет, черный цвет, белый цвет и т.п.). Расширенный кадр, который формируется для каждого кадра введенного видеосигнала 1, и размер кадра которого является целым кратным размера макроблока, вместо изображения каждого кадра введенного видеосигнала 1 вводится в модуль 2 разделения на блоки.
[0025] Размер 4 макроблока и размер кадра (горизонтальный размер и вертикальный размер) каждого кадра введенного видеосигнала 1 выводятся в модуль 23 кодирования переменной длины так, что они мультиплексируются в поток битов в единицах одной последовательности, которая состоит из одного или более кадров или в единицах одного изображения.
[0026] Значение размера макроблока может быть альтернативно задано посредством профиля и т.п. вместо мультиплексирования непосредственно в поток битов. В этом случае, идентификационная информация для идентификации профиля на основе последовательности мультиплексируется в поток битов.
[0027] Модуль 6 переключения является переключателем для переключения между входными назначениями макро-/субблочного изображения 5 в соответствии с режимом 7 кодирования. Когда режим 7 кодирования представляет собой режим, в котором макро-/субблочное изображение кодируется посредством использования внутрикадрового предсказания (далее в настоящем документе называемый режимом внутрикадрового предсказания), этот модуль 6 переключения вводит макро-/субблочное изображение 5 в модуль 8 внутреннего предсказания, тогда как когда режим 7 кодирования представляет собой режим, в котором макро-/субблочное изображение кодируется посредством использования межкадрового предсказания (далее в настоящем документе называемый режимом межкадрового предсказания), модуль переключения вводит макро-/субблочное изображение 5 в модуль 9 предсказания с компенсацией движения.
[0028] Модуль 8 внутреннего предсказания выполняет внутрикадровое предсказание для макро-/субблочного изображения 5, введенного в него, в единицах одного макроблока, который должен быть кодирован, имеющего размер, указанный посредством размера 4 макроблока, или в единицах одного субблока, указываемого посредством режима 7 кодирования. Модуль 8 внутреннего предсказания формирует предсказанное изображение 11 посредством использования сигнала изображения в кадре, сохраненном в запоминающем устройстве 28 для внутреннего предсказания, для каждого из всех режимов внутреннего предсказания, включенных в параметры 10 предсказания, сообщенные в него из модуля 3 управления кодированием.
[0029] Далее поясняются подробности параметров 10 предсказания. Когда режим 7 кодирования представляет собой режим внутрикадрового предсказания, модуль 3 управления кодированием указывает режим внутреннего предсказания в качестве параметра 10 предсказания, соответствующего режиму 7 кодирования. В качестве этого режима внутреннего предсказания, например, может быть режим, в котором макроблок или субблок разделяется на блоки 4×4 пикселов, и предсказанное изображение формируется посредством использования пикселов около единичного блока сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, режим, в котором макроблок или субблок разделяется на блоки 8x8 пикселов, и предсказанное изображение формируется посредством использования пикселов около единичного блока сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, режим, в котором макроблок или субблок разделяется на блоки 16×16 пикселов, и предсказанное изображение формируется посредством использования пикселов около единичного блока сигнала изображения, сохраненного в запоминающем устройстве 28 для внутреннего предсказания, и режим, в котором предсказанное изображение формируется из изображения уменьшенной внутренней части макроблока или субблока.
[0030] Модуль 9 предсказания с компенсацией движения указывает опорное изображение 15, которое используется для формирования предсказанного изображения, из данных относительно одного или более кадров опорных изображений, сохраненных в запоминающем устройстве 14 кадров предсказания с компенсацией движения, и выполняет предсказание с компенсацией движения посредством использования этого опорного изображения 15 и макро-/субблочного изображения 5 в соответствии с режимом 7 кодирования, сообщенным в него из модуля 3 управления кодированием, чтобы формировать параметры 18 предсказания и предсказанное изображение 17.
[0031] Далее поясняются подробности параметров 18 предсказания. Когда режим 7 кодирования представляет собой режим межкадрового предсказания, модуль 9 предсказания с компенсацией движения определяет векторы движения и идентификационный номер (индекс опорного изображения) и т.п. опорного изображения, указываемого посредством каждого из векторов движения, в качестве параметров 18 предсказания, соответствующих режиму 7 кодирования. Подробности способа формирования для формирования параметров 18 предсказания упоминаются ниже.
[0032] Модуль 12 вычитания вычитает любое из предсказанного изображения 11 и предсказанного изображения 17 из макро-/субблочного изображения 5, чтобы получать сигнал 13 разности предсказания. Сигнал 13 разности предсказания формируется для каждого из всех предсказанных изображений 11, которые формирует модуль 8 внутреннего предсказания, в соответствии со всеми режимами внутреннего предсказания, указываемыми посредством параметров 10 предсказания.
[0033] Сигнал 13 разности предсказания, который формируется в соответствии с каждым из всех режимов внутреннего предсказания, указываемых посредством параметров 10 предсказания, оценивается посредством модуля 3 управления кодированием, и определяются оптимальные параметры 10a предсказания, включающие в себя оптимальный режим внутреннего предсказания. В качестве способа оценки сигнала разности предсказания, модуль управления кодированием использует, например, способ вычисления затрат J2 на кодирование, который упоминается ниже, посредством использования сжатых данных 21, сформированных посредством преобразования и квантования сигнала 13 разности предсказания. Модуль управления кодированием затем выбирает режим внутреннего предсказания, который минимизирует затраты J2 на кодирование.
[0034] Модуль 3 управления кодированием оценивает сигнал 13 разности предсказания, который формируется для каждого из всех режимов, включенных в режимы 7 кодирования, либо посредством модуля 8 внутреннего предсказания, либо посредством модуля 9 предсказания с компенсацией движения, и определяет оптимальный режим 7a кодирования, который предоставляет оптимальную степень эффективности кодирования, из режимов 7 кодирования на основе результата оценки. Модуль 3 управления кодированием дополнительно определяет оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия, соответствующие оптимальному режиму 7a кодирования, из параметров 10 или 18 предсказания и параметров 20 сжатия. Процедура определения оптимальных параметров предсказания и процедура определения оптимальных параметров сжатия упоминаются ниже. Как упомянуто выше, в случае режима внутрикадрового предсказания, режим внутреннего предсказания включается в параметры 10 предсказания и в оптимальные параметры 10a предсказания. Напротив, в случае режима межкадрового предсказания, векторы движения, идентификационный номер (индекс опорного изображения) опорного изображения, указываемого посредством каждого из векторов движения, и т.д. включаются в параметры 18 предсказания и в оптимальные параметры 18a предсказания. Дополнительно, размер блока преобразования, размер шага квантования и т.д. включаются в параметры 20 сжатия и в оптимальные параметры 20a сжатия.
[0035] В результате выполнения этой процедуры определения, модуль 3 управления кодированием выводит оптимальный режим 7a кодирования, оптимальные параметры 10a или 18a предсказания и оптимальные параметры 20a сжатия для макроблока или субблока, который должен быть кодирован, в модуль 23 кодирования переменной длины. Модуль 3 управления кодированием также выводит оптимальные параметры 20a сжатия из параметров 20 сжатия в модуль 19 преобразования/квантования и в модуль 22 обратного квантования/обратного преобразования.
[0036] Модуль 19 преобразования/квантования выбирает сигнал 13 разности п