Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
Иллюстрации
Показать всеИзобретение относится к технологиям кодирования и декодирования видеоизображений. Техническим результатом является повышение эффективности декодирования информации. Предложены устройство и способ декодирования изображений. Устройство декодирования изображений декодирует кодированный с прогнозированием поток битов для получения сигнала движущегося изображения. При этом указанный поток битов создается посредством разделения каждого кадра сигнала движущегося изображения на множество блоков и посредством выполнения прогнозирования движения для каждого из блоков. Устройство декодирования изображений содержит модуль декодирования и модуль прогнозирования. Модуль декодирования осуществляет декодирование потока битов для получения информации, указывающей размер блока, информации, указывающей пороговое значение размера блока, первого режима прогнозирования движения, который соответствуют указанному блоку. 2 н.п. ф-лы, 26 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству кодирования изображений, устройству декодирования изображений, способу кодирования изображений и способу декодирования изображений, которые используются для технологии кодирования со сжатием изображений, технологии передачи сжатых данных изображений и т.д.
Уровень техники
Обычно в способах кодирования видео по международным стандартам, таким как MPEG и ITU-T H.26x, каждый входной видеокадр подвергается процессу сжатия, причем видеокадр разделяется на макроблоки, каждый из которых состоит из блоков пикселов 16×16.
С другой стороны, в последние годы требуется технология кодирования со сжатием высококачественного видео высокой четкости, имеющего такой видеоформат, как видеоформат 4K×2K пикселов, имеющий пространственное разрешение, которое в четыре раза превышает пространственное разрешение HDTV (телевидение высокой четкости, 1920×1080 пикселов), видеоформат 8K×4K пикселов, имеющий пространственное разрешение, которое дополнительно увеличивается до превышения в четыре раза пространственного разрешения видеоформата 4K×2K пикселов, или формат видеосигнала 4:4:4 для увеличения числа дискретизированных сигналов сигнала цветности, тем самым улучшая характер цветовоспроизведения. При кодировании со сжатием такого высококачественного видео высокой четкости невозможно выполнять процесс кодирования посредством использования корреляции сигналов изображения в макроблоке пикселов 16×16 в достаточной степени, и, следовательно, трудно предоставлять высокий коэффициент сжатия. Чтобы разрешить эту проблему, предложена, например, технология увеличения размера каждого обычного макроблока пикселов 16×16 до блока пикселов 32×32, как раскрыто в непатентном источнике 1, и увеличения единицы, в которой вектор движения выделяется, тем самым уменьшая объем кодированных параметров, требуемых для прогнозирования, или технология увеличения размера блока для кодирования с преобразованием сигнала ошибки прогнозирования, тем самым эффективно удаляя корреляцию между пикселами сигнала ошибки прогнозирования.
Фиг. 21 является блок-схемой, показывающей структуру устройства кодирования, раскрытого в непатентном источнике 1. При кодировании, раскрытом в непатентном источнике 1, модуль 1002 разделения на блоки разделяет введенный видеосигнал 1001, который является целью, которая должна быть кодирована, на макроблоки (прямоугольные блоки сигнала яркости, имеющие 32 пиксела × 32 строки каждый), и вводит в модуль 1004 прогнозирования в качестве кодированного видеосигнала 1003.
Модуль 1004 прогнозирования прогнозирует сигнал изображения каждого цветового компонента в каждом макроблоке в рамках каждого кадра и между кадрами, чтобы получить сигнал 1005 ошибки прогнозирования. В частности, при выполнении прогнозирования с компенсацией движения между кадрами, модуль прогнозирования выполняет поиск вектора движения для каждого макроблока непосредственно или для каждого из субблоков, на которые каждый макроблок дополнительно разделяется, создает прогнозируемое изображение с компенсацией движения согласно вектору движения и получает сигнал 1005 ошибки прогнозирования посредством вычисления разности между прогнозируемым изображением с компенсацией движения и кодированным видеосигналом 1003.
После выполнения процесса DCT (дискретного косинусного преобразования) для сигнала 1005 ошибки прогнозирования, чтобы удалять корреляцию сигналов из сигнала 1005 ошибки прогнозирования при изменении размера блока согласно размеру единицы площади, которой выделяется вектор движения, модуль 1006 сжатия квантует сигнал ошибки прогнозирования, чтобы получить сжатые данные 1007. Хотя сжатые данные 1007 энтропийно кодируются и выводятся в качестве потока 1009 битов посредством модуля 1008 кодирования переменной длины, сжатые данные также отправляются в модуль 1010 локального декодирования, и декодированный сигнал 1011 ошибки прогнозирования получают посредством этого модуля локального декодирования.
Этот декодированный сигнал 1011 ошибки прогнозирования добавляется к сигналу 1012 прогнозирования, который используется для того, чтобы создавать сигнал 1005 ошибки прогнозирования, чтобы создавать декодированный сигнал 1013, и этот декодированный сигнал вводится в контурный фильтр 1014. Декодированный сигнал 1013 сохраняется в запоминающем устройстве 1016 в качестве опорного сигнала 1015 изображения для создания последующего сигнала 1012 прогнозирования после того, как декодированный сигнал подвергается процессу удаления искажения в виде блочности посредством контурного фильтра 1014. Параметр 1017, используемый для создания сигнала прогнозирования, который определяется посредством модуля 1004 прогнозирования, чтобы получить сигнал 1012 прогнозирования, отправляется в модуль 1008 кодирования переменной длины и мультиплексируется в поток 1009 битов, и этот поток битов выводится. Информация, такая как информация режима внутреннего прогнозирования, показывающая то, как выполнять пространственное прогнозирование в каждом кадре, и вектор движения, показывающий величину межкадрового перемещения, например, включается в параметр 1017, используемый для создания сигнала прогнозирования.
Хотя обычный способ кодирования видео по международным стандартам, к примеру MPEG или ITU-T H.26x, использует 16×16 пикселов в качестве размера макроблока, устройство кодирования, раскрытое в непатентном источнике 1, использует 32×32 пикселов в качестве размера макроблока (супермакроблока: SMB). Фиг. 22 показывает формы разделенных областей, каждой из которых вектор движения выделяется во время выполнения прогнозирования с компенсацией движения для каждого макроблока пикселов M×M, и фиг. 22(a) показывает каждый SMB, раскрытый в непатентном источнике 1, а фиг. 22(b) показывает каждый макроблок на основе обычного MPEG-4 AVC/H.264 (см. непатентный источник 2). Хотя каждый SMB имеет большую площадь для каждой области прогнозирования движения, которая покрывается посредством одного вектора движения с числом пикселов M=32, каждый традиционный макроблок использует число пикселов M/2=16. Как результат, поскольку в случае SMB объем информации вектора движения, который необходим для всего экрана, снижается по сравнению со случаем традиционных макроблоков, имеющих число пикселов M/2=16, объем кода векторов движения, который должен быть передан в качестве потока битов, может быть уменьшен.
Документы уровня техники
Непатентные источники
Непатентный источник 1. Siwei Ma и C.-C. Jay Kuo, "High-definition Video Coding with Super-macroblocks", Proc. SPIE, издание 6508, 650816 (2007)
Непатентный источник 2. Стандарты MPEG-4 AVC (ISO/IEC 14496-10)/H.ITU-T 264
Раскрытие изобретения
В обычных способах, раскрытых в непатентных источниках 1 и 2, предоставляется специальный режим, называемый режимом чередования, в котором данные, которые должны быть кодированы для вектора движения и сигнала ошибки прогнозирования, вообще отсутствуют, как результат вышеуказанного прогнозирования движения. Например, в непатентном источнике 2 случай, в котором «вектор движения совпадает со своим прогнозированным значением, и все коэффициенты преобразования сигнала ошибки прогнозирования равны нулю», задается как режим чередования. Кроме того, режим чередования может выбираться только тогда, когда область, в которой выделяется вектор движения, имеет размер, идентичный размеру макроблока. Следовательно, когда размер макроблока увеличен, как показано в непатентном источнике 1, режим чередования задается только для блока прогнозирования движения, имеющего максимальный размер. Следовательно, проблема состоит в том, что режим чередования вообще не применяется к блокам прогнозирования движения, имеющим размер, меньший максимального размера, и, следовательно, трудно повышать эффективность кодирования.
Настоящее изобретение реализовано, чтобы решить вышеуказанную проблему, и, следовательно, задача настоящего изобретения заключается в том, чтобы создать устройство кодирования изображений, которое реализует способ кодирования видео, имеющий хорошую балансировку нагрузки, для более эффективного удаления корреляции сигналов согласно статистическим и локальным свойствам видеосигнала, который является целью, которая должна быть кодирована, и выполнения эффективного сжатия информации, тем самым повышая оптимальность для кодирования видеосигнала сверхвысокой четкости, а также способ реализации устройства кодирования изображений и устройства декодирования изображений и способ декодирования изображений.
В соответствии с настоящим изобретением предусмотрено устройство кодирования изображений, включающее в себя: модуль прогнозирования для адаптивного определения размера единичного блока прогнозирования движения в каждом макроблоке согласно заданному условию и для разделения вышеуказанного единичного блока прогнозирования движения на области выделения векторов движения, чтобы выполнять поиск вектора движения; и модуль кодирования для выполнения, когда вектор движения выделяется всему единичному блоку прогнозирования движения, кодирования в первом режиме чередования, если вышеуказанный вектор движения равен оцененному вектору, который определяется из векторов движения в окружающих единичных блоках прогнозирования движения, и данных, которые должны быть кодированы как сигнал ошибки прогнозирования движения, не существует, и для выполнения, когда каждая из областей выделения векторов движения имеет размер, равный или превышающий заданный размер, и вектор движения выделяется полностью для каждой из областей выделения векторов движения, кодирования во втором режиме чередования, если вышеуказанный вектор движения равен оцененному вектору, который определяется из векторов движения в окружающих областях выделения векторов движения, и данных, которые должны быть кодированы как сигнал ошибки прогнозирования движения, не существует.
В соответствии с настоящим изобретением предусмотрено устройство декодирования изображений, включающее в себя: модуль декодирования для декодирования потока битов, чтобы получить данные, показывающие размер единичного блока прогнозирования движения в каждом макроблоке, режим прогнозирования движения для указания формы каждой из областей выделения векторов движения, на которые единичный блок прогнозирования движения разделяется, и вектор движения, соответствующий каждой области выделения векторов движения, и для определения того, находится или нет единичный блок прогнозирования движения в первом режиме чередования и находится или нет одна из областей выделения векторов движения во втором режиме чередования, из вышеуказанного режима прогнозирования движения; и модуль прогнозирования для определения, когда единичный блок прогнозирования движения находится в первом режиме чередования или одна из областей выделения векторов движения находится во втором режиме чередования, оцененного вектора из окружающих векторов движения и задания этого оцененного вектора в качестве вектора движения, а также задания всех сигналов ошибки прогнозирования движения равными нулю, чтобы создавать прогнозируемое изображение, и для создания, когда единичный блок прогнозирования движения не находится в первом режиме чередования и области выделения векторов движения вышеуказанного единичного блока прогнозирования движения не находятся во втором режиме чередования, прогнозируемого изображения на основе режима прогнозирования движения и вектора движения, которые модуль декодирования получает посредством декодирования потока битов.
В соответствии с настоящим изобретением предусмотрен способ кодирования изображений, включающий в себя: этап прогнозирования для адаптивного определения размера единичного блока прогнозирования движения в каждом макроблоке согласно заданному условию и разделения вышеуказанного единичного блока прогнозирования движения на области выделения векторов движения, чтобы выполнять поиск вектора движения; и этап кодирования для выполнения, когда вектор движения выделяется всему единичному блоку прогнозирования движения, кодирования в первом режиме чередования, если вышеуказанный вектор движения равен оцененному вектору, который определяется из векторов движения в окружающих единичных блоках прогнозирования движения, и данных, которые должны быть кодированы как сигнал ошибки прогнозирования движения, не существует, и когда каждая из областей выделения векторов движения имеет размер, равный или превышающий заданный размер, и вектор движения выделяется полностью для каждой из областей выделения векторов движения, выполнения кодирования во втором режиме чередования, если вышеуказанный вектор движения равен оцененному вектору, который определяется из векторов движения в окружающих областях выделения векторов движения, и данных, которые должны быть кодированы как сигнал ошибки прогнозирования движения, не существует.
В соответствии с настоящим изобретением предусмотрен способ декодирования изображений, включающий в себя: этап декодирования для декодирования потока битов, чтобы получить данные, показывающие размер единичного блока прогнозирования движения в каждом макроблоке, режим прогнозирования движения для указания формы каждой из областей выделения векторов движения, на которые единичный блок прогнозирования движения разделяется, и вектор движения, соответствующий каждой области выделения векторов движения, чтобы определять то, находится или нет единичный блок прогнозирования движения в первом режиме чередования и находится или нет одна из областей выделения векторов движения во втором режиме чередования, из вышеуказанного режима прогнозирования движения; этап прогнозирования режима чередования для определения, когда единичный блок прогнозирования движения находится в первом режиме чередования или одна из областей выделения векторов движения находится во втором режиме чередования, оцененного вектора из окружающих векторов движения и задания этого оцененного вектора в качестве вектора движения, а также задания всех сигналов ошибки прогнозирования движения равными нулю, чтобы создавать прогнозируемое изображение; и этап прогнозирования для декодирования, когда единичный блок прогнозирования движения не находится в первом режиме чередования и области выделения векторов движения единичного блока прогнозирования движения не находятся во втором режиме чередования, потока битов, чтобы получить данные, показывающие вектор движения, соответствующий каждой области выделения векторов движения, чтобы создавать прогнозируемое изображение на основе вышеуказанного вектора движения и режима прогнозирования движения, которые получают посредством декодирования потока битов на этапе декодирования.
Согласно настоящему изобретению, поскольку первый режим чередования и второй режим чередования задаются для каждого единичного блока прогнозирования движения и его областей выделения векторов движения, соответственно, устройство кодирования изображений и устройство декодирования изображений могут иметь такую структуру, что они имеют возможность выражать иерархию режимов чередования при кодировании и декодировании видеосигнала, имеющего формат 4:4:4, и являются гибкими и адаптивными к характеристикам временного изменения сигнала каждого цветового компонента. Следовательно, устройство кодирования изображений может выполнять оптимальный процесс кодирования для видеосигнала, имеющего формат 4:4:4.
Краткое описание чертежей
Фиг. 1 является видом, показывающим формат 4:4:4, который является целью, которая должна обрабатываться посредством устройства кодирования изображений и устройства декодирования изображений в соответствии с вариантом 1 осуществления;
Фиг. 2 является блок-схемой, показывающей структуру устройства кодирования изображений в соответствии с вариантом 1 осуществления;
Фиг. 3 является пояснительным чертежом, показывающим опорный блок, который модуль разделения на блоки, показанный на фиг. 2, создает;
Фиг. 4 является пояснительным чертежом, показывающим примеры форм, на которые модуль прогнозирования, показанный на фиг. 2, разделяет набор единичных блоков прогнозирования движения, причем каждая из форм состоит из одного или более базисных блоков;
Фиг. 5 является блок-схемой последовательности операций способа, показывающей работу модуля прогнозирования, показанного на фиг. 2;
Фиг. 6 является видом для пояснения способа вычисления затрат J, который выполняется посредством модуля прогнозирования;
Фиг. 7 является видом, показывающим пример определения оцененного вектора PMV в каждом из режимов mc_mode1-mc_mode4 прогнозирования движения, которое выполняется посредством модуля прогнозирования;
Фиг. 8 является видом для пояснения режима чередования;
Фиг. 9 является видом для пояснения способа энтропийного кодирования, который использует модуль кодирования переменной длины;
Фиг. 10 является блок-схемой, показывающей внутреннюю структуру модуля кодирования переменной длины, показанного на фиг. 2;
Фиг. 11 является блок-схемой последовательности операций способа, показывающей работу модуля кодирования переменной длины, показанного на фиг. 2;
Фиг. 12 является пояснительным чертежом, показывающим принцип в отношении контекстной модели (ctx);
Фиг. 13 является пояснительным чертежом, показывающим пример контекстной модели (ctx), связанной с вектором движения;
Фиг. 14 является видом, поясняющим разность в корреляции в режиме прогнозирования движения, и фиг. 14(a) и 14(b) показывают два состояния режима прогнозирования движения, которые выбираются для базисных блоков Ba и Bb соответственно;
Фиг. 15 является видом, показывающим результат преобразования в двоичную форму режима прогнозирования движения, которое выполняется посредством модуля преобразования в двоичную форму, показанного на фиг. 10;
Фиг. 16A является видом, поясняющим преобразование в двоичную форму режима прогнозирования движения, выполняемого посредством модуля преобразования в двоичную форму, показанного на фиг. 10, и показывает способ выбора контекстной модели для bin0;
Фиг. 16B является видом, поясняющим преобразование в двоичную форму режима прогнозирования движения, выполняемого посредством модуля преобразования в двоичную форму, показанного на фиг. 10, и показывает способ выбора контекстной модели для bin1;
Фиг. 16C является видом, поясняющим преобразование в двоичную форму режима прогнозирования движения, выполняемого посредством модуля преобразования в двоичную форму, показанного на фиг. 10, и показывает способ выбора контекстной модели для bin2;
Фиг. 16D является видом, поясняющим преобразование в двоичную форму режима прогнозирования движения, выполняемого посредством модуля преобразования в двоичную форму, показанного на фиг. 10, и показывает способ выбора контекстной модели для bin4;
Фиг. 16E является видом, поясняющим преобразование в двоичную форму режима прогнозирования движения, выполняемого посредством модуля преобразования в двоичную форму, показанного на фиг. 10, и показывает способ выбора контекстной модели для bin5;
Фиг. 17 является пояснительным чертежом, показывающим компоновку данных потока битов;
Фиг. 18 является блок-схемой, показывающей структуру устройства декодирования изображений в соответствии с вариантом 1 осуществления;
Фиг. 19 является блок-схемой, показывающей внутреннюю структуру модуля декодирования переменной длины, показанного на фиг. 18;
Фиг. 20 является блок-схемой последовательности операций способа, показывающей работу модуля декодирования переменной длины, показанного на фиг. 18;
Фиг. 21 является блок-схемой, показывающей структуру устройства кодирования, раскрытого в непатентном источнике 1; и
Фиг. 22 является видом, показывающим появление разделенных форм области выделения векторов движения во время выполнения прогнозирования с компенсацией движения для каждого макроблока в устройстве кодирования, раскрытом в непатентном источнике 1.
Осуществление изобретения
Вариант 1 осуществления
Далее, предпочтительные варианты осуществления настоящего изобретения подробнее поясняются со ссылкой на чертежи.
В этом варианте осуществления описывается устройство кодирования изображений, которое выполняет сжатие цифрового видеосигнала, имеющего формат 4:4:4, вводимого в него, и которое приспособлено для состояния сигнала каждого цветового компонента, чтобы выполнять процесс прогнозирования с компенсацией движения, и устройство декодирования изображений, которое выполняет расширение цифрового видеосигнала, имеющего формат 4:4:4, и которое приспособлено для состояния сигнала каждого цветового компонента, чтобы выполнять процесс прогнозирования с компенсацией движения.
Фиг. 1 показывает формат 4:4:4, который устройство кодирования изображений и устройство декодирования изображений в соответствии с вариантом 1 осуществления используют в качестве формата ввода. Формат 4:4:4 обозначает формат, в котором, как показано на фиг. 1(a), числа пикселов трех компонентов сигнала C0, C1 и C2, которые составляют цветное движущееся изображение, являются идентичными друг другу. Цветовое пространство этих трех компонентов сигнала может быть RGB или XYZ, либо может быть яркостным и цветовым различием (YUV, YCbCr или YPbPr). В отличие от формата 4:4:4, формат 4:2:0, как показано на фиг. 1(b), обозначает формат, в котором цветовое пространство - это YUV, YCbCr или YPbPr, и каждый из элементов цветоразностного сигнала (например, Cb и Cr в случае YCbCr) имеет пикселы в горизонтальном направлении W и в вертикальном направлении H, число которых вдвое меньше числа пикселов яркости Y в горизонтальном направлении и в вертикальном направлении.
Устройство кодирования изображений и устройство декодирования изображений поясняются далее посредством конкретного ограничения примером с использованием способа выполнения процессов посредством условия, что цветовое пространство формата 4:4:4 - это YUV, YCbCr или YPbPr и каждый цветовой компонент является эквивалентным яркостному компоненту. Тем не менее, разумеется, что операции, которые поясняются далее, могут применяться непосредственно к сигналу яркости, даже когда устройство кодирования изображений и устройство декодирования изображений рассматривают видеосигнал, имеющий формат 4:2:0.
1. Устройство кодирования изображений
Фиг. 2 является блок-схемой, показывающей структуру устройства кодирования изображений в соответствии с вариантом 1 осуществления.
Устройство кодирования изображений, показанное на фиг. 2, имеет такую структуру, что оно разделяет каждый введенный видеокадр, имеющий формат 4:4:4, на блоки, имеющие заданный размер, т.е. на блоки, имеющие Mmax×Mmax пикселов (каждый блок далее упоминается как «опорный блок»), и выполняет прогнозирование движения для каждого из опорных блоков, чтобы кодировать со сжатием сигнал ошибки прогнозирования.
Во-первых, введенный видеосигнал 1, который является целью, которая должна быть кодирована, разделяется на опорные блоки посредством модуля 2 разделения на блоки, и эти блоки вводятся в модуль 4 прогнозирования в качестве кодированного сигнала 3. Каждый опорный блок, созданный посредством модуля 2 разделения на блоки, показывается на фиг. 3. Как показано на фиг. 3, каждый опорный блок имеет структуру данных опорного блока, которые являются единицей, в которой собираются прямоугольные блоки, состоящие из Mmax×Mmax пикселов. Хотя подробно упомянуто ниже, размер Mmax опорного блока определяется и кодируется на уровне данных верхнего уровня, к примеру, кадра, последовательности или GOP (группы изображений). Размер Mmax опорного блока может быть изменен в каждом кадре. В этом случае, размер Mmax опорного блока указывается для каждой серии последовательных макроблоков и т.п., в которой множество макроблоков собираются.
Данные каждого опорного блока дополнительно разделяются на один или более «единичных блоков прогнозирования движения», которые являются блоками пикселов Li×Mi (i: идентификатор цветового компонента), и прогнозирование движения и кодирование выполняются посредством задания каждого единичного блока прогнозирования движения в качестве основания. Шаблон единичных блоков прогнозирования движения, показанный на фиг. 3(a), имеет L0=Mmax/2 и M0=Mmax/2, а шаблон единичных блоков прогнозирования движения, показанный на фиг. 3(b), имеет L0=Mmax/2 и M0=Mmax. В обоих из фиг. 3(a) и 3(b), L1=M1=L2=M2=Mmax. В следующем пояснении предполагается, что опорные блоки каждого цветового компонента, имеющего формат 4:4:4, являются идентичными по размеру для трех цветовых компонентов C0, C1 и C2, и когда размер Mmax опорного блока изменяется, размер опорного блока изменяется на идентичный размер для всех трех цветовых компонентов. Помимо этого, каждый из размеров Li и Mi единичных блоков прогнозирования движения может быть по выбору определен для каждых из цветовых компонентов C0, C1 и C2 и может быть изменен в единицах последовательностей, GOP, кадров, опорных блоков и т.п. С использованием этой структуры размеры Li и Mi единичных блоков прогнозирования движения могут быть гибко определены согласно разности в свойствах сигнала каждого цветового компонента без необходимости изменять размер Mmax опорного блока. Эффективная реализация с учетом параллелизации и конвейерной обработки кодирования и декодирования, выполняемой в единицах опорных блоков, может устанавливаться.
Модуль 4 прогнозирования выполняет прогнозирование с компенсацией движения сигнала изображения каждого цветового компонента в каждом опорном блоке, чтобы получить сигнал 5 ошибки прогнозирования (сигнал ошибки прогнозирования движения). Поскольку работа модуля 4 прогнозирования является признаком устройства кодирования изображений в соответствии с этим вариантом 1 осуществления, работа модуля прогнозирования подробно упоминается ниже. После выполнения процесса преобразования, к примеру DCT-процесса, для сигнала 5 ошибки прогнозирования, чтобы удалять корреляцию сигналов из этого сигнала ошибки прогнозирования, модуль 6 сжатия квантует сигнал ошибки прогнозирования, чтобы получить сжатые данные 7 ошибки прогнозирования. В это время, модуль 6 сжатия выполняет ортогональное преобразование и квантование, к примеру, DCT, для сигнала 5 ошибки прогнозирования и выводит сжатые данные 7 ошибки прогнозирования в модуль 8 кодирования переменной длины (модуль кодирования) и модуль 10 локального декодирования.
Модуль 8 кодирования переменной длины энтропийно кодирует сжатые данные 7 ошибки прогнозирования и выводит энтропийно кодированные сжатые данные ошибки прогнозирования в качестве потока 9 битов. Модуль 10 локального декодирования получает декодированный сигнал 11 ошибки прогнозирования из сжатых данных 7 ошибки прогнозирования. Этот декодированный сигнал 11 ошибки прогнозирования добавляется к сигналу 12 прогнозирования (прогнозируемому изображению), который используется для создания сигнала 5 ошибки прогнозирования посредством модуля сумматора, так что декодированный сигнал 13 создается и вводится в контурный фильтр 14. Параметры 17 для создания сигнала прогнозирования, которые определяются посредством модуля 4 прогнозирования, чтобы получить сигнал 12 прогнозирования, отправляются в модуль 8 кодирования переменной длины и выводятся в качестве потока 9 битов. Подробные описания параметров 17 для создания сигнала прогнозирования приводятся ниже вместе с пояснением модуля 4 прогнозирования. Кроме того, поскольку способ кодирования параметров 17 для создания сигнала прогнозирования, который модуль 8 кодирования переменной длины использует, является признаком этого варианта 1 осуществления, способ кодирования подробно поясняется ниже.
Контурный фильтр 14 выполняет процесс фильтрации отклонения искажения в виде блочности для декодированного сигнала 13, в котором искажение в виде блочности, возникающее в результате квантования коэффициента преобразования посредством модуля 6 сжатия, комбинируется посредством использования как параметров 17 для создания сигнала прогнозирования, так и параметров 19 квантования. Декодированный сигнал 13 сохраняется в запоминающем устройстве 16 в качестве опорного сигнала 15 изображения для создания последующего сигнала 12 прогнозирования после того, как декодированный сигнал подвергается процессу удаления шума кодирования посредством контурного фильтра 14.
В способах кодирования видео, раскрытых в непатентных источниках 1 и 2, когда каждый опорный блок задается как макроблок, типично используется способ кодирования каждого кадра при выборе внутрикадрового кодирования или межкадрового прогнозирующего кодирования для каждого макроблока. Это обусловлено тем, что, когда межкадровое прогнозирование движения не является достаточным, использование корреляции между кадрами дополнительно может повышать эффективность кодирования. В дальнейшем в этом документе, в устройстве кодирования изображений в соответствии с этим вариантом 1 осуществления, хотя описание внутрикадрового кодирования и избирательного использования внутрикадрового кодирования явно не указывается в этом подробном описании при пояснении идеи настоящего изобретения, устройство кодирования изображений может иметь такую структуру, что оно имеет возможность избирательно использовать внутрикадровое кодирование для каждого опорного блока, если иное конкретно не указано. В устройстве кодирования изображений в соответствии с этим вариантом 1 осуществления, хотя каждый опорный блок может задаваться как макроблок, термин «опорный блок» используется далее для пояснения прогнозирования движения.
Далее, работа модуля 4 прогнозирования, который является признаком этого варианта 1 осуществления, подробнее поясняется. Модуль 4 прогнозирования в соответствии с этим вариантом 1 осуществления имеет следующие три признака.
(1) Адаптация размера опорного блока и размера единичного блока прогнозирования движения в связи с адаптацией формы каждой разделенной области, используемой для прогнозирования движения,
(2) Определение режима прогнозирования движения и вектора движения согласно свойствам каждого цветового компонента,
(3) Адаптивный выбор режима чередования на основе размера опорного блока и размера единичного блока прогнозирования движения.
Как упомянуто выше (1), модуль 4 прогнозирования разделяет каждый опорный блок на один или более единичных блоков прогнозирования движения, имеющих Li×Mi пикселов, согласно свойствам сигнала каждого цветового компонента, и дополнительно разделяет каждый единичный блок прогнозирования движения на множество форм, каждая из которых состоит из комбинации одного или более блоков, имеющих Li×Mi пикселов. Модуль 4 прогнозирования затем выполняет прогнозирование посредством выделения конкретного вектора движения для каждой разделенной области, выбирает множество форм, которые предоставляют наибольшую эффективность прогнозирования, в качестве режима прогнозирования движения, и затем выполняет прогнозирование движения для каждой разделенной области посредством использования вектора движения, обнаруженного как результат выбора, чтобы получить сигнал 5 ошибки прогнозирования. Каждая из разделенных форм в каждом единичном блоке прогнозирования движения может иметь структуру комбинации одного или более «базисных блоков», каждый из которых состоит из Li×Mi пикселов. В устройстве кодирования изображений в соответствии с этим вариантом 1 осуществления, следующие ограничения: «mi=Mi/2» и «li=Li/2» предоставляются между Mi и mi и между Li и li, соответственно.
Разделенные формы, каждая из которых состоит из одного или более базисных блоков, которые определяются согласно этим требованиям, показаны на фиг. 4. Фиг. 4 является пояснительным чертежом, показывающим примеры форм, в которых модуль 4 прогнозирования разделяет каждый единичный блок прогнозирования движения на единицы, каждая из которых состоит из одного или более базисных блоков. Далее, в устройстве кодирования изображений этого варианта 1 осуществления предполагается, что шаблоны (шаблоны разделения) mc_mode0-mc_mode7 разделенных форм, показанные на фиг. 4, являются общими для этих трех цветовых компонентов. В качестве альтернативы, шаблоны разделения mc_mode0-mc_mode7 могут быть определены независимо для каждого из этих трех цветовых компонентов. Далее, эти шаблоны разделения mc_mode0-mc_mode7 упоминаются как «режимы прогнозирования движения».
В способах кодирования видео, раскрытых в непатентных источниках 1 и 2, форма каждой области применения прогнозирования движения ограничивается прямоугольником, и такое диагональное разделение, как показано на фиг. 4, каждого опорного блока в области, включающей в себя область, отличную от прямоугольной области, не может быть использовано. В отличие от этого, в соответствии с этим вариантом 1 осуществления, поскольку форма каждой разделенной области, как показано на фиг. 4, к которой применяется прогнозирование движения, диверсифицируются, когда сложное перемещение, к примеру контур движущегося объекта, включается в опорный блок, прогнозирование движения может выполняться с меньшим числом векторов движения, чем используется в случае прямоугольного разделения.
Кроме того, работа S. Kondo и H. Sasai, "A Motion Compensation Technique using Sliced Blocks and its Application to Hybrid Video Coding", 2005 VCIP, июль 2005 года раскрывает способ диверсификации форм областей, на которые разделяется обычный макроблок и к каждой из которых применяется прогнозирование движения.
В этом противопоставленном материале разделенные формы выражаются посредством позиций пересечения между сегментом линии, используемым для разделения на макроблоки, и границей блока. Тем не менее, поскольку этот способ увеличивает число шаблонов разделения в каждом опорном блоке при фиксации числа M пикселов, возникают следующие проблемы.
Проблема 1
Объем кода для описания шаблонов разделения каждого опорного блока увеличивается. Когда произвольное mi, удовлетворяющее Mmax mod mi=0, разрешается, число шаблонов разделения в каждом опорном блоке увеличивается, и становится необходимо кодировать информацию для указания каждого из шаблонов разделения в качестве служебной информации. Поскольку вероятность того, что каждый определенный конкретный шаблон разделения возникает, распределяется по мере того, как число шаблонов разделения увеличивается, энтропийное кодирование шаблонов разделения становится неэффективным и становится служебной информацией, поскольку объем кода и общая способность кодирования достигает своего предела.
Проблема 2
По мере того как число шаблонов разделения увеличивается, объем арифметических операций, требуемых, чтобы выбирать разделение, оптимальное во время кодирования, увеличивается. Поскольку прогнозирование движения является процессом с большой нагрузкой, который занимает большой процент нагрузки по обработке кодирования, обычное устройство кодирования изображений не имеет другого варианта, кроме выполнения с возможностью верифицировать и использовать только конкретный шаблон разделения из множества шаблонов разделения, если обычное устройство кодирования изображений использует алгоритм, который увеличивает число шаблонов разделения вслепую. Следовательно, возникает случай, когда обычное устройство кодирования изображений не может полностью использовать исходную способность, которую имеет алгоритм.
В отличие от этого, подход, показанный на фиг. 4, устройства кодирования изображений этого варианта 1 осуществления разрешает вышеуказанные проблемы посредством использования следующих трех способов: первый способ (1) предоставления возможности изменения значения Mmax на верхнем уровне, к примеру, кадра, согласно требованиям по кодированию и разрешению и свойствам видеосигнала; второй способ (2) предоставлен