ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к устройству кодирования движущихся изображений и к способу кодирования движущихся изображений для кодирования движущегося изображения с высокой степенью эффективности, а также к устройству декодирования движущихся изображений и к способу декодирования движущихся изображений для декодирования кодированного движущегося изображения с высокой степенью эффективности.
УРОВЕНЬ ТЕХНИКИ
[0002] Например, в соответствии со способом кодирования видео по международным стандартам, к примеру MPEG (стандарт экспертной группы по киноизображению) или "ITU-T H.26x", введенный видеокадр разделяется на прямоугольные блоки (целевые блоки кодирования), процесс предсказания (прогнозирования) с использованием уже кодированного сигнала изображения выполняется для каждого целевого блока кодирования для того, чтобы формировать изображение предсказания, и процесс ортогонального преобразования и квантования выполняется для сигнала ошибки предсказания, который является разностью между целевым блоком кодирования и изображением предсказания в единицах блоков, так что сжатие информации выполняется для введенного видеокадра.
[0003] Например, в случае AVC/H.264 (ISO/IEC 14496-10|ITU-T H.264), который является способом по международным стандартам, выполняется процесс интрапредсказания из уже кодированных смежных пикселей или процесс предсказания с компенсацией движения между смежными кадрами (например, см. непатентную ссылку 1). В случае MPEG-4 AVC/H.264, один режим предсказания может быть выбран из множества режимов предсказания для каждого блока в режиме интрапредсказания яркости. Фиг. 10 является пояснительным чертежом, показывающим режимы интрапредсказания в случае размера пиксельного блока 4×4 для яркости. На фиг. 10, каждый белый круг показывает пиксель в блоке кодирования, а каждый черный круг показывает пиксель, который используется для предсказания и который существует в уже кодированном смежном блоке.
[0004] В примере, показанном на фиг. 10, девять режимов 0-8 подготавливаются в качестве режимов интрапредсказания, и режим 2 является режимом, в котором предсказание по среднему выполняется таким образом, что каждый пиксель в целевом блоке кодирования предсказывается посредством использования среднего смежных пикселей, существующих в верхних и левых блоках. Режимы, отличные от режима 2, являются режимами интрапредсказания, в каждом из которых выполняется направленное предсказание. Режим 0 является режимом, в котором вертикальное предсказание выполняется таким образом, что смежные пиксели в верхнем блоке многократно реплицируются, чтобы создавать несколько строк пикселей вдоль вертикального направления с тем, чтобы формировать изображение предсказания. Например, режим 0 выбирается, когда целевой блок кодирования представляет собой шаблон с чередованием по вертикали. Режим 1 является режимом, в котором горизонтальное предсказание выполняется таким образом, что смежные пиксели в левом блоке многократно реплицируются, чтобы создавать несколько столбцов пикселей вдоль горизонтального направления с тем, чтобы формировать изображение предсказания. Например, режим 1 выбирается, когда целевой блок кодирования представляет собой шаблон с чередованием по горизонтали. В каждом из режимов 3-8 интерполяционные пиксели, идущие в предварительно определенном направлении (т.е. в направлении, показанном посредством стрелок), формируются посредством использования смежных пикселей в верхнем блоке или левом блоке, чтобы формировать изображение предсказания.
[0005] В этом случае, размер блока для яркости, к которому применяется интрапредсказание (внутреннее предсказание), может быть выбран из 4×4 пикселей, 8×8 пикселей и 16×16 пикселей. В случае 8×8 пикселей задаются девять режимов интрапредсказания, как и в случае 4×4 пикселей. В отличие от этого, в случае 16×16 пикселей задаются четыре режима интрапредсказания, которые называются предсказаниями на плоскости, в дополнение к режимам интрапредсказания, ассоциированным с предсказанием по среднему, вертикальным предсказанием и горизонтальным предсказанием. Каждое интрапредсказание, ассоциированное с предсказанием на плоскости, является режимом, в котором пиксели, созданные посредством выполнения интерполяции в диагональном направлении для смежных пикселей в верхнем блоке и смежных пикселей в левом блоке, предоставляются в качестве предсказанных значений.
[0006] В режиме направленного предсказания в случае размера блока 4×4 пикселей или 8×8 пикселей, поскольку предсказанные значения формируются вдоль направления, предварительно определенного согласно режиму, например направления в 45 градусов, повышается эффективность предсказания, и может быть уменьшен объем кода, когда направление границы (края) объекта в блоке совпадает с направлением, показанным посредством режима предсказания. Тем не менее, небольшое смещение может возникать между направлением края и направлением, показанным посредством режима предсказания, и даже если направление края в целевом блоке кодирования не совпадает с направлением, показанным посредством режима предсказания, большая ошибка предсказания может возникать локально по той простой причине, что край немного искажен (повернут, изогнут и т.п.). Как результат, эффективность предсказания может серьезно падать. Чтобы предотвращать такое снижение эффективности предсказания, при выполнении направленного предсказания 8×8 пикселей сглаженное изображение предсказания формируется посредством задания кодированных смежных пикселей, которые фильтруются посредством сглаживающего фильтра в качестве опорных изображений, которые используются во время формирования изображения предсказания, тем самым уменьшая все небольшие смещения в направлении предсказания и ошибки предсказания, которые возникают, когда небольшое искажение возникает на краю.
Документы предшествующего уровня техники
Непатентные ссылки
[0007] Непатентная ссылка 1. Стандарты MPEG-4 AVC (ISO/IEC 14496-10)/H.ITU-T 264
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задачи, которые должны быть решены изобретением
[0008] Поскольку традиционное устройство кодирования изображений имеет такую структуру, как указано выше, выполнение процесса фильтрации для того, чтобы формировать сглаженное изображение предсказания, может уменьшать появление ошибок предсказания, даже если небольшое смещение возникает в направлении предсказания, или небольшое искажение возникает на краю. Тем не менее, согласно технологии, раскрытой в непатентной ссылке 1, процесс фильтрации не выполняется для блоков, отличных от блоков 8×8 пикселей, и предоставляется только один возможный фильтр, используемый для блоков 8×8 пикселей. Проблема состоит в том, что также в блоке, имеющем размер, отличный от 8×8 пикселей, большая ошибка предсказания фактически возникает локально вследствие небольшого несовпадения на краю, даже когда изображение предсказания имеет шаблон, аналогичный шаблону изображения, которое должно быть кодировано, и, следовательно, возникает большое снижение эффективности предсказания. Дополнительная проблема состоит в том, что когда параметр квантования, который используется при квантовании сигнала ошибки предсказания, позиции каждого пикселя и т.п., отличается между имеющими идентичный размер блоками, фильтр, подходящий для уменьшения локальных ошибок предсказания, отличается между блоками, но подготавливается только один возможный фильтр, и, следовательно, ошибки предсказания не могут быть уменьшены в достаточной степени.
[0009] Настоящее изобретение осуществлено, чтобы разрешать вышеуказанные проблемы, и, следовательно, задача настоящего изобретения заключается в том, чтобы предоставлять устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений, допускающие уменьшение ошибок предсказания, которые возникают локально, тем самым позволяя повышать качество изображений.
Средство для решения задач
[0010] В соответствии с настоящим изобретением, предоставляется устройство декодирования движущихся изображений, включающее в себя модуль интрапредсказания для, когда режим кодирования, ассоциированный с блоком кодирования, является режимом интракодирования (внутреннего кодирования), выполнения процесса внутрикадрового предсказания для каждого блока, который является единицей для процесса предсказания блока кодирования, в котором модуль интрапредсказания формирует промежуточное предсказанное значение из опорных выборок согласно параметру интрапредсказания, задает значение, которое получается посредством фильтрации промежуточного предсказанного значения, в качестве конечного предсказанного значения только в конкретных позициях в блоке, и задает промежуточное предсказанное значение в качестве конечного предсказанного значения в любых других позициях в блоке.
Преимущества изобретения
[0011] Поскольку устройство декодирования движущихся изображений в соответствии с настоящим изобретением имеет такую структуру, что устройство декодирования движущихся изображений включает в себя модуль интрапредсказания для, когда режим кодирования, ассоциированный с блоком кодирования, является режимом интракодирования, выполнения процесса внутрикадрового предсказания для каждого блока, который является единицей для процесса предсказания блока кодирования, и модуль интрапредсказания формирует промежуточное предсказанное значение из опорных выборок согласно параметру интрапредсказания, задает значение, которое получается посредством фильтрации промежуточного предсказанного значения, в качестве конечного предсказанного значения только в конкретных позициях в блоке и задает промежуточное предсказанное значение в качестве конечного предсказанного значения в любых других позициях в блоке, предоставляется преимущество возможности уменьшать ошибки предсказания, которые возникают локально, тем самым предоставляя возможность даже устройству декодирования движущихся изображений формировать изображение интрапредсказания, идентичное изображению интрапредсказания, сформированному посредством устройства кодирования движущихся изображений, имеющего высокую степень качества изображений.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0012] Фиг. 1 является блок-схемой, показывающей устройство кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 2 является блок-схемой, показывающей устройство декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 3 является блок-схемой последовательности операций способа, показывающей обработку, выполняемую посредством устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 4 является блок-схемой последовательности операций способа, показывающей обработку, выполняемую посредством устройства декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 5 является пояснительным чертежом, показывающим состояние, в котором каждый блок кодирования, имеющий максимальный размер, иерархически разделяется на множество блоков кодирования;
Фиг. 6(a) является пояснительным чертежом, показывающим распределение фрагментов, на которые разделяется блок, который должен быть кодирован, и фиг. 6(b) является пояснительным чертежом, показывающим состояние, в котором режим m(Bn) кодирования назначается каждому из фрагментов, после того как разделение на иерархические уровни выполняется посредством использования графа в виде дерева квадрантов;
Фиг. 7 является пояснительным чертежом, показывающим пример параметров интрапредсказания (режима интрапредсказания), которые могут быть выбраны для каждого фрагмента Pin в блоке Bn кодирования;
Фиг. 8 является пояснительным чертежом, показывающим пример пикселей, которые используются при формировании предсказанного значения каждого пикселя в фрагменте Pin в случае lin=min=4;
Фиг. 9 является пояснительным чертежом, показывающим пример компоновки опорных пикселей в случае N=5; и
Фиг. 10 является пояснительным чертежом, показывающим режимы интрапредсказания в случае размера пиксельного блока 4×4 для яркости.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0013] Далее, для того чтобы подробнее пояснять это изобретение, описываются предпочтительные варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
Вариант 1 осуществления
В этом варианте 1 осуществления поясняются устройство кодирования движущихся изображений, которое вводит изображение каждого кадра видео, выполняет процесс интрапредсказания из уже кодированных смежных пикселей или процесс предсказания с компенсацией движения между смежными кадрами, чтобы формировать изображение предсказания, выполняет процесс сжатия согласно ортогональному преобразованию и квантованию для сигнала ошибки предсказания, который является разностным изображением между изображением предсказания и кадровым изображением, и после этого выполняет кодирование переменной длины, чтобы формировать поток битов, и устройство декодирования движущихся изображений, которое декодирует поток битов, выведенный из устройства кодирования движущихся изображений.
[0014] Устройство кодирования движущихся изображений в соответствии с этим вариантом 1 осуществления отличается тем, что устройство кодирования движущихся изображений адаптируется к локальному изменению видеосигнала в направлениях пространства и времени, чтобы разделять видеосигнал на области различных размеров, и выполняет внутрикадровое и межкадровое адаптивное кодирование. В общем, видеосигнал имеет характеристику локального варьирования своей сложности в пространстве и времени. Может возникать случай, когда шаблон, имеющий равномерную характеристику сигналов в относительно большой области изображения, такого как изображение неба или изображение стены, либо шаблон, имеющий сложный шаблон текстуры в небольшой области изображения, такого как изображение человека или изображение, включающее в себя мелкозернистую структуру, также сосуществует в определенном видеокадре с точки зрения пространства. Также с точки зрения времени, относительно большая область изображения, такого как изображение неба или изображение стены, имеет небольшое локальное изменение в направлении времени в своем шаблоне, в то время как изображение движущегося человека или объекта имеет большее временное изменение, поскольку его контур имеет перемещение твердого тела и перемещение нетвердого тела относительно времени.
[0015] Хотя в процессе кодирования выполняется процесс формирования сигнала ошибки предсказания, имеющего небольшую мощность сигнала и небольшую энтропию, посредством использования временных и пространственных предсказаний, тем самым уменьшая совокупный объем кода, объем кода для параметров, используемых для предсказания, может быть уменьшен при условии, что параметры могут применяться равномерно к максимально возможно большой области сигнала изображения. С другой стороны, поскольку величина ошибок, возникающих в предсказании, увеличивается, когда идентичные параметры предсказания применяются к шаблону сигнала изображения, имеющему большое изменение во времени и пространстве, не может быть уменьшен объем кода сигнала ошибки предсказания. Следовательно, желательно уменьшать размер области, которая подвергается процессу предсказания при выполнении процесса предсказания для шаблона сигнала изображения, имеющего большое изменение во времени и пространстве, тем самым сокращая энергию и энтропию сигнала ошибки предсказания, даже если увеличивается объем данных параметров, которые используются для предсказания. Чтобы выполнять кодирование, которое приспособлено для таких типичных характеристик видеосигнала, устройство кодирования движущихся изображений в соответствии с этим вариантом 1 осуществления иерархически разделяет каждую область, имеющую предварительно определенный максимальный размер блока видеосигнала, на блоки и выполняет процесс предсказания и процесс кодирования для кодирования ошибки предсказания для каждого из блоков, на которые разделяется каждая область.
[0016] Видеосигнал, который должен быть обработан посредством устройства кодирования движущихся изображений в соответствии с этим вариантом 1 осуществления, может быть произвольным видеосигналом, в котором каждый видеокадр состоит из последовательности цифровых выборок (пикселей) в двух измерениях, горизонтальном и вертикальном, таким как YUV-сигнал, который состоит из сигнала яркости и двух цветоразностных сигналов, сигналом цветного видеоизображения в произвольном цветовом пространстве, таким как RGB-сигнал, выведенный из датчика цифровых изображений, сигналом монохромного изображения или сигналом инфракрасного изображения. Градация каждого пикселя может быть 8-битовой, 10-битовой или 12-битовой. В нижеприведенном пояснении, введенный видеосигнал является YUV-сигналом, если не указано иное. Дополнительно предполагается, что два цветоразностных компонента U и V являются сигналами, имеющими формат 4:2:0, которые субдискретизируются относительно компонента Y сигнала яркости. Единица данных, которая должна быть обработана, которая соответствует каждому кадру видеосигнала, упоминается как "изображение". В этом варианте 1 осуществления "изображение" поясняется в качестве сигнала видеокадра, для которого выполнено построчное сканирование. Когда видеосигнал является чересстрочным сигналом, "изображение" альтернативно может быть сигналом полевого изображения, который является единицей, которая составляет видеокадр.
[0017] Фиг. 1 является блок-схемой, показывающей устройство кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения. Ссылаясь на фиг. 1, узел 1 управления кодированием выполняет процесс определения максимального размера каждого из блоков кодирования, который является единицей, которая должна быть обработана в момент, когда выполняется процесс интрапредсказания (процесс внутрикадрового предсказания) или процесс предсказания с компенсацией движения (процесс межкадрового предсказания), а также определения верхнего предела по числу иерархических уровней в иерархии, в которой каждый из блоков кодирования, имеющих максимальный размер, иерархически разделяется на блоки. Узел 1 управления кодированием также выполняет процесс выбора режима кодирования, подходящего для каждого из блоков кодирования, на которые иерархически разделяется каждый блок кодирования, имеющий максимальный размер, из одного или более доступных режимов кодирования (одного или более режимов интра-кодирования и одного или более режимов интеркодирования (взаимного кодирования)). Узел 1 управления кодированием дополнительно выполняет процесс определения параметра квантования и размера блока преобразования, которые используются, когда разностное изображение сжимается для каждого блока кодирования, а также определения параметров интрапредсказания или параметров интерпредсказания (взаимного предсказания), которые используются, когда выполняется процесс предсказания для каждого блока кодирования. Параметр квантования и размер блока преобразования включаются в параметры кодирования ошибок предсказания, и эти параметры кодирования ошибок предсказания выводятся в узел 7 преобразования/квантования, узел 8 обратного преобразования/обратного квантования, узел 13 кодирования переменной длины и т.д. Узел 1 управления кодированием составляет модуль управления кодированием.
[0018] Узел 2 разделения на блоки выполняет процесс, при приеме видеосигнала, показывающего введенное изображение, разделения введенного изображения, показанного посредством видеосигнала, на блоки кодирования, имеющие максимальный размер, определенный посредством узла 1 управления кодированием, а также разделения каждого из блоков кодирования на блоки иерархически до тех пор, пока число иерархических уровней не достигает верхнего предела по числу иерархических уровней, который определяется посредством узла 1 управления кодированием. Узел 2 разделения на блоки составляет модуль разделения на блоки. Избирательный переключатель 3 выполняет процесс, когда режим кодирования, выбранный посредством узла 1 управления кодированием для блока кодирования, который формируется через разделение посредством узла 2 разделения на блоки, является режимом интракодирования, вывода блока кодирования в узел 4 интрапредсказания, а когда режим кодирования, выбранный посредством узла 1 управления кодированием для блока кодирования, который формируется через разделение посредством узла 2 разделения на блоки, является режимом интеркодирования, вывода блока кодирования в узел 5 предсказания с компенсацией движения.
[0019] Узел 4 интрапредсказания выполняет процесс, при приеме блока кодирования, который формируется через разделение посредством узла 2 разделения на блоки, из избирательного переключателя 3, выполнения процесса интрапредсказания для блока кодирования для того, чтобы формировать изображение предсказания посредством использования уже кодированного сигнала изображения в кадре на основе параметров интрапредсказания, выведенных в него из узла 1 управления кодированием. После формирования вышеуказанного изображения предсказания узел 4 интрапредсказания выбирает фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состояниям различных параметров, ассоциированных с кодированием целевого блока, который должен быть фильтрован, выполняет процесс фильтрации для вышеуказанного изображения предсказания посредством использования фильтра и выводит изображение предсказания, для которого узел интрапредсказания выполняет процесс фильтрации, в узел 6 вычитания и узел 9 суммирования. Узел интрапредсказания выбирает вышеуказанный фильтр с учетом, по меньшей мере, одного из следующих четырех параметров:
- Параметр (1)
Размер блока вышеуказанного изображения предсказания
- Параметр (2)
Параметр квантования, определенный посредством узла 1 управления кодированием
- Параметр (3)
Расстояние между уже кодированным сигналом изображения в кадре, который используется при формировании изображения предсказания, и целевым пикселем, который должен быть фильтрован
- Параметр (4)
Параметры интрапредсказания, определенные посредством узла 1 управления кодированием
Модуль интрапредсказания состоит из избирательного переключателя 3 и узла 4 интрапредсказания.
[0020] Узел 5 предсказания с компенсацией движения выполняет процесс, когда режим интеркодирования выбирается посредством узла 1 управления кодированием в качестве режима кодирования, подходящего для блока кодирования, который формируется через разделение посредством узла 2 разделения на блоки, выполнения процесса предсказания с компенсацией движения для блока кодирования для того, чтобы формировать изображение предсказания посредством использования одного или более кадров опорных изображений, сохраненных в запоминающем устройстве 12 кадров предсказания с компенсацией движения, на основе параметров интерпредсказания, выведенных в него из узла 1 управления кодированием. Модуль предсказания с компенсацией движения состоит из избирательного переключателя 3 и узла 5 предсказания с компенсацией движения.
[0021] Узел 6 вычитания выполняет процесс вычитания изображения предсказания, сформированного посредством узла 4 интрапредсказания или узла 5 предсказания с компенсацией движения, из блока кодирования, который формируется через разделение посредством узла 2 разделения на блоки, чтобы формировать разностное изображение (=блок кодирования - изображение предсказания). Узел 6 вычитания составляет модуль формирования разностных изображений. Узел 7 преобразования/квантования осуществляет процесс выполнения процесса преобразования (например, процесс DCT (дискретного косинусного преобразования) или ортогонального преобразования, такого как KL-преобразование, в котором основания рассчитываются для конкретной последовательности обучения заранее) для разностного сигнала, сформированного посредством узла 6 вычитания, в единицах блоков, имеющих размер блока преобразования, включенный в параметры кодирования ошибок предсказания, выведенные в него из узла 1 управления кодированием, а также квантования коэффициентов преобразования разностного изображения посредством использования параметра квантования, включенного в параметры кодирования ошибок предсказания, чтобы выводить коэффициенты преобразования, квантованные таким образом, в качестве сжатых данных разностного изображения. Узел 7 преобразования/квантования составляет модуль сжатия изображений.
[0022] Узел 8 обратного преобразования/обратного квантования выполняет процесс обратного квантования сжатых данных, выведенных в него из узла 7 преобразования/квантования, посредством использования параметра квантования, включенного в параметры кодирования ошибок предсказания, выведенные в него из узла 1 управления кодированием, и выполнения процесса обратного преобразования (например, процесса обратного DCT (обратного дискретного косинусного преобразования) или обратного преобразования, такого как обратное KL-преобразование) для сжатых данных, обратно квантованных, в единицах блоков, имеющих размер блока преобразования, включенный в параметры кодирования ошибок предсказания, чтобы выводить сжатые данные, для которых узел обратного преобразования/обратного квантования выполняет процесс обратного преобразования, в качестве локального декодированного сигнала ошибки предсказания.
[0023] Узел 9 суммирования выполняет процесс суммирования локального декодированного сигнала ошибки предсказания, выведенного в него из узла 8 обратного преобразования/обратного квантования, и сигнала предсказания, показывающего изображение предсказания, сформированное посредством узла 4 интрапредсказания или узла 5 предсказания с компенсацией движения для того, чтобы формировать сигнал локального декодированного изображения, показывающий локальное декодированное изображение. Запоминающее устройство 10 для интрапредсказания является носителем записи, таким как RAM, для сохранения локального декодированного изображения, показанного посредством сигнала локального декодированного изображения, сформированного посредством узла 9 суммирования, в качестве изображения, которое узел 4 интрапредсказания использует при выполнении процесса интрапредсказания в следующий раз.
[0024] Узел 11 контурного фильтра выполняет процесс компенсации искажения при кодировании, включенного в сигнал локального декодированного изображения, сформированный посредством узла 9 суммирования, и вывода локального декодированного изображения, показанного посредством сигнала локального декодированного изображения, для которого узел контурного фильтра выполняет компенсацию искажений при кодировании, в запоминающее устройство 12 кадров предсказания с компенсацией движения в качестве опорного изображения. Запоминающее устройство 12 кадров предсказания с компенсацией движения является носителем записи, таким как RAM, для сохранения локального декодированного изображения, для которого узел 11 контурного фильтра выполняет процесс фильтрации, в качестве опорного изображения, которое узел 5 предсказания с компенсацией движения использует при выполнении процесса предсказания с компенсацией движения в следующий раз.
[0025] Узел 13 кодирования переменной длины выполняет процесс кодирования переменной длины сжатых данных, выведенных в него из узла 7 преобразования/квантования, режима кодирования и параметров кодирования ошибок предсказания, которые выводятся в него из узла 1 управления кодированием, и параметров интрапредсказания, выведенных в него из узла 4 интрапредсказания, или параметров интерпредсказания, выведенных в него из узла 5 предсказания с компенсацией движения для того, чтобы формировать поток битов, в который мультиплексируются кодированные данные сжатых данных, кодированные данные режима кодирования, кодированные данные параметров кодирования ошибок предсказания и кодированные данные параметров интрапредсказания или параметров интерпредсказания. Узел 13 кодирования переменной длины составляет модуль кодирования переменной длины.
[0026] Фиг. 2 является блок-схемой, показывающей устройство декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения. Ссылаясь на фиг. 2, узел 51 декодирования переменной длины выполняет процесс декодирования переменной длины кодированных данных, мультиплексированных в поток битов, чтобы получать сжатые данные, режим кодирования, параметры кодирования ошибок предсказания и параметры интрапредсказания или параметры интерпредсказания, которые ассоциированы с каждым блоком кодирования, на которые разделяется каждый видеокадр иерархически, и вывода сжатых данных и параметров кодирования ошибок предсказания в узел 55 обратного преобразования/обратного квантования, а также вывода режима кодирования и параметров интрапредсказания или параметров интерпредсказания в избирательный переключатель 52. Узел 51 декодирования переменной длины составляет модуль декодирования переменной длины.
[0027] Избирательный переключатель 52 выполняет процесс, когда режим кодирования, ассоциированный с блоком кодирования, который выводится из узла 51 декодирования переменной длины, является режимом интракодирования, вывода параметров интрапредсказания, выведенных в него из узла 51 декодирования переменной длины, в узел 53 интрапредсказания, а когда режим кодирования является режимом интеркодирования, вывода параметров интерпредсказания, выведенных в него из узла 51 декодирования переменной длины, в узел 54 предсказания с компенсацией движения.
[0028] Узел 53 интрапредсказания осуществляет процесс выполнения процесса внутрикадрового предсказания для блока кодирования для того, чтобы формировать изображение предсказания посредством использования уже декодированного сигнала изображения в кадре на основе параметров интрапредсказания, выведенных в него из избирательного переключателя 52. После формирования вышеуказанного изображения предсказания узел 53 интрапредсказания выбирает фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состояниям различных параметров, ассоциированных с декодированием целевого блока, который должен быть фильтрован, выполняет процесс фильтрации для вышеуказанного изображения предсказания посредством использования фильтра и выводит изображение предсказания, для которого узел интрапредсказания выполняет процесс фильтрации, в узел 56 суммирования. Узел интрапредсказания выбирает вышеуказанный фильтр с учетом, по меньшей мере, одного из следующих четырех параметров:
- Параметр (1)
Размер блока вышеуказанного изображения предсказания
- Параметр (2)
Параметр квантования, декодированный на основе кода переменной длины посредством узла 51 декодирования переменной длины
- Параметр (3)
Расстояние между уже декодированным сигналом изображения в кадре, который используется при формировании изображения предсказания, и целевым пикселем, который должен быть фильтрован
- Параметр (4)
Параметры интрапредсказания, декодированные на основе кода переменной длины посредством узла 51 декодирования переменной длины
Модуль интрапредсказания состоит из избирательного переключателя 52 и узла 53 интрапредсказания.
[0029] Узел 54 предсказания с компенсацией движения осуществляет процесс выполнения процесса предсказания с компенсацией движения для блока кодирования для того, чтобы формировать изображение предсказания посредством использования одного или более кадров опорных изображений, сохраненных в запоминающем устройстве 59 кадров предсказания с компенсацией движения, на основе параметров интерпредсказания, выведенных в него из избирательного переключателя 52. Модуль предсказания с компенсацией движения состоит из избирательного переключателя 52 и узла 54 предсказания с компенсацией движения.
[0030] Узел 55 обратного преобразования/обратного квантования выполняет процесс обратного квантования сжатых данных, ассоциированных с блоком кодирования, который выводится в него из узла 51 декодирования переменной длины, посредством использования параметра квантования, включенного в параметры кодирования ошибок предсказания, выведенные в него из узла 51 декодирования переменной длины, и выполнения процесса обратного преобразования (например, процесса обратного DCT (обратного дискретного косинусного преобразования) или обратного преобразования, такого как обратное KL-преобразование) для сжатых данных, обратно квантованных, в единицах блоков, имеющих размер блока преобразования, включенный в параметрах кодирования ошибок предсказания, и вывода сжатых данных, для которых узел обратного преобразования/обратного квантования выполняет процесс обратного преобразования, в качестве декодированного сигнала ошибки предсказания (сигнала, показывающего предварительно сжатое разностное изображение). Узел 55 обратного преобразования/обратного квантования составляет модуль формирования разностных изображений.
[0031] Узел 56 суммирования выполняет процесс суммирования декодированного сигнала ошибки предсказания, выведенного в него из узла 55 обратного преобразования/обратного квантования, и сигнала предсказания, показывающего изображение предсказания, сформированное посредством узла 53 интрапредсказания или узла 54 предсказания с компенсацией движения для того, чтобы формировать сигнал декодированного изображения, показывающий декодированное изображение. Узел 56 суммирования составляет модуль формирования декодированных изображений. Запоминающее устройство 57 для интрапредсказания является носителем записи, таким как RAM, для сохранения декодированного изображения, показанного посредством сигнала декодированного изображения, сформированного посредством узла 56 суммирования, в качестве изображения, которое узел 53 интрапредсказания использует при выполнении процесса интрапредсказания в следующий раз.
[0032] Узел 58 контурного фильтра выполняет процесс компенсации искажения при кодировании, включенного в сигнал декодированного изображения, сформированный посредством узла 56 суммирования, и вывода декодированного изображения, показанного посредством сигнала декодированного изображения, для которого узел контурного фильтра выполняет компенсацию искажений при кодировании, в запоминающее устройство 59 кадров предсказания с компенсацией движения в качестве опорного изображения. Запоминающее устройство 59 кадров предсказания с компенсацией движения является носителем записи, таким как RAM, для сохранения декодированного изображения, для которого узел 58 контурного фильтра выполняет процесс фильтрации, в качестве опорного изображения, которое узел 54 предсказания с компенсацией движения использует при выполнении процесса предсказания с компенсацией движения в следующий раз.
[0033] В примере, показанном на фиг. 1, узел 1 управления кодированием, узел 2 разделения на блоки, избирательный переключатель 3, узел 4 интрапредсказания, узел 5 предсказания с компенсацией движения, узел 6 вычитания, узел 7 преобразования/квантования, узел 8 обратного преобразования/обратного квантования, узел 9 суммирования, узел 11 контурного фильтра и узел 13 кодирования переменной длины, которые являются компонентами устройства кодирования движущихся изображений, могут состоять из элементов аппаратных средств для монопольного использования (например, интегральных схем, в каждой из которых установлен CPU, однокристальных микрокомпьютеров и т.п.), соответственно. В качестве альтернативы, устройство кодирования движущихся изображений может состоять из компьютера, и программа, в которой описываются процессы, выполняемые посредством узла 1 управления кодированием, узла 2 разделения на блоки, избирательного переключателя 3, узла 4 интрапредсказания, узла 5 предсказания с компенсацией движения, узла 6 вычитания, узла 7 преобразования/квантования, узла 8 обратного квантования/обратного преобразования, узла 9 суммирования, узла 11 контурного фильтра и узла 13 кодирования переменной длины, может быть сохранена в запоминающем устройстве компьютера, и CPU компьютера может быть выполнен с возможностью исполнять программу, сохраненную в запоминающем устройстве. Фиг. 3 является блок-схемой последовательности операций способа, показывающей обработку, выполняемую посредством устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения.
[0034] В примере, показанном на фиг. 2, узел 51 декодирования переменной длины, избирательный переключатель 52, узел 53 интрапредсказания, узел 54 предсказания с компенсацией движения, узел 55 обратного преобразования/обратного квантования, узел 56 суммирования и узел 58 контурного фильтра, которые являются компонентами устройства декодирования движущихся изображений, могут состоять из элементов аппаратных средств для монопольного использования (например, интегральных схем, в каждой из которых установлен CPU, однокристальных микрокомпьютеров и т.п.), соответственно. В качестве альтернативы, устройство декодирования движущихся изображений может состоять из компьютера, и программа, в которой описываются процессы, выполняемые посредством узла 51 декодирования переменной длины, избирательного переключателя 52, узла 53 интрапредсказания, узла 54 предсказания с компенсацией движения, узла 55 обратного преобразования/обратного квантования, узла 56 суммирования и узла 58 контурного фильтра, может быть сохранена в запоминающем устройстве компьютера, и CPU компьютера может быть выполнен с возможностью исполнять программу, сохраненную в запоминающем устройстве. Фиг. 4 является блок-схемой последовательности операций способа, показывающей обработку, выполняемую посредством устройства декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения.
[0035] Далее поясняется работа устройства кодирования движущихся изображений и работа устройства декодирования движущихся изображений. Во-первых, поясняется обработка, выполняемая посредством устройства кодирования движущихся изображений, показанного на фиг. 1. Во-первых, узел 1 управления кодированием определяет максимальный размер каждого из блоков кодирования, который является единицей, которая должна быть обработана в момент, когда выполняется процесс интрапредсказания (процесс внутрикадрового предсказания) или процесс предсказания с компенсацией движения (процесс межкадрового предсказания), а также определяет верхний предел по числу иерархических уровней в иерархии, в которой каждый из блоков кодирования, имеющих максимальный размер, иерархически разделяется на блоки (этап ST1 по фиг. 3).
[0036] В качестве способа определения максимального размера каждого из блоков кодирования, например, рассматривается способ определения максимального размера для всех изображений согласно разрешению введенного изображения. Дополнительно, может рассматриваться способ количественного определения изменения в сложности локального перемещения введенного изображения в качестве параметра и затем определения небольшого размера для изображения, имеющего большое и интенсивное перемещение, при определении большого размера для изображения, имеющего небольшое перемещение. В качестве способа определения верхнего предела по числу иерархических уровней, например, может рассматриваться способ увеличения глубины иерархии, т.е. числа иерархических уровней, чтобы позволить обнаруживать более точное перемещение по мере того, как введенное изображение имеет большее и более интенсивное перемещение, или снижения глубины иерархии, т.е. числа иерархических уровней по мере того, как введенное изображение имеет меньшее перемещение.
[0037] Узел 1 управления кодированием также выбирает режим кодирования, подходящий для каждого из блоков кодирования, на которые иерархически разделяется каждый блок кодирования, имеющий максимальный размер, из одного или более доступных режимов кодирования (M режимов интракодирования и N режимов интеркодирования) (этап ST2). Хотя опускается подробное пояснение способа выбора режима кодирования для использования в узле 1 управления кодированием, поскольку способ выбора является известной технологией, предусмотрен способ выполнения процесса кодирования для блока кодирования посредством использования произвольного доступного режима кодирования, например, чтобы анализировать эффективность кодирования и выбирать режим кодирования, имеющий самый высокий уровень эффективности кодирования, из множества доступных режимов кодирования.
[0038] Узел 1 управления кодированием дополнительно определяет параметр квантования и размер блока преобразования, которые используются, когда разностное изображение сжимается для каждого блока кодирования, а также определяет параметры интрапредсказания или параметры интерпредсказания, которые используются, когда выполняется процесс предсказания. Узел 1 управления кодированием выводит параметры кодирования ошибок предсказания, включающие в себя параметр квантования и размер блока преобразования, в узел 7 преобразования/квантования, узел 8 обратного преобразования/обратного квантования и узел 13 кодирования переменной длины. Узел управления кодированием также выводит параметры кодирования ошибок предсказания в узел 4 интрапредсказания по мере необходимости.
[0039] При приеме видеосигнала, показывающего введенное изображение, узел 2 разделения на блоки разделяет введенное изображение, показанное посредством видеосигнала, на блоки кодирования, имеющие максимальный размер, определенный посредством узла 1 управления кодированием, а также разделяет каждый из блоков кодирования на блоки иерархически до тех пор, пока число иерархических уровней не достигает верхнего предела по числу иерархических уровней, который определяется посредством узла 1 управления кодированием. Фиг. 5 является пояснительным чертежом, показывающим состояние, в котором каждый блок кодирования, имеющий максимальный размер, иерархически разделяется на множество блоков кодирования. В примере по фиг. 5, каждый блок кодирования, имеющий максимальный размер, является блоком B0 кодирования на нулевом иерархическом уровне, и его компонент сигнала яркости имеет размер (L0, M0). Дополнительно, в примере по фиг. 5, посредством выполнения иерархического разделения, когда этот блок B0 кодирования, имеющий максимальный размер, задается как начальная точка до тех пор, пока глубина иерархии не достигает предварительно определенной глубины, которая задается отдельно согласно структуре в виде дерева квадрантов, могут быть получены блоки Bn кодирования.
[0040] На глубине n каждый блок Bn кодирования является областью изображения, имеющей размер (Ln, Mn). Хотя Ln может быть идентичным или отличаться от Mn, случай Ln=Mn показывается в примере по фиг. 5. Далее, размер каждого блока Bn кодирования задается как размер (Ln, Mn) в компоненте сигнала яркости блока Bn кодирования.
[0041] Поскольку узел 2 разделения на блоки выполняет разделение на дерево квадрантов, (Ln+1, Mn+1)=(Ln/2, Mn/2) всегда устанавливается. В случае сигнала цветного видеоизображения (формат 4:4:4), в котором все цветовые компоненты имеют идентичное число выборок, к примеру, RGB-сигнала, все цветовые компоненты имеют размер (Ln, Mn), в то время как в случае обработки формата 4:2:0, соответствующий цветоразностный компонент имеет размер блока кодирования (Ln/2, Mn/2). Далее, режим кодирования, выбираемый для каждого блока Bn кодирования в n-м иерархическом уровне, выражается как m(Bn).
[0042] В случае цветового видеосигнала, который состоит из множества цветовых компонентов, режим m(Bn) кодирования может формироваться таким образом, что отдельный режим используется для каждого цветового компонента. Далее, пояснение приводится посредством допущения, что режим m(Bn) кодирования указывает режим для компонента сигнала яркости каждого блока кодирования, имеющего формат 4:2:0 в YUV-сигнале, если не указано иное. Режим m(Bn) кодирования может быть одним из одного или более режимов интракодирования (в общем, называемых "интра") и одного или более режимов интеркодирования (в общем, называемых "интер"), и узел 1 управления кодированием выбирает в качестве режима m(Bn) кодирования режим кодирования с наибольшей степенью эффективности кодирования для каждого блока Bn кодирования, из всех режимов кодирования, доступных в текущем обрабатываемом изображении, или из поднабора этих режимов кодирования, как упомянуто выше.
[0043] Каждый блок Bn кодирования дополнительно разделяется на одну или более единиц предсказания (фрагментов) посредством узла разделения на блоки, как показано на фиг. 5. Далее, каждый фрагмент, принадлежащий каждому блоку Bn кодирования, выражается как Pin (i показывает номер фрагмента в n-м иерархическом уровне). То, как выполняется разделение каждого блока Bn кодирования на фрагменты Pin, принадлежащие блоку Bn кодирования, включается в качестве информации в режиме m(Bn) кодирования. Хотя процесс предсказания выполняется для каждого из всех фрагментов Pin согласно режиму m(Bn) кодирования, отдельный параметр предсказания может быть выбран для каждого фрагмента Pin.
[0044] Узел 1 управления кодированием формирует такое состояние разделения на блоки, как показано, например, на фиг. 6 для блока кодирования, имеющего максимальный размер, и затем определяет блоки Bn кодирования. Заштрихованные части, показанные на фиг. 6(a), показывают распределение фрагментов, на которые разделяется каждый блок кодирования, имеющий максимальный размер, и фиг. 6(b) показывает случай, в котором режимы m(Bn) кодирования, соответственно, назначаются фрагментам, сформированным через разделение на иерархические уровни посредством использования графа в виде дерева квадрантов. Каждый узел, обведенный посредством □, показанного на фиг. 6(b), представляет собой узел (блок Bn кодирования), которому назначается режим m(Bn) кодирования.
[0045] Когда узел 1 управления кодированием выбирает оптимальный режим m(Bn) кодирования для каждого фрагмента Pin каждого блока Bn кодирования, и режим m(Bn) кодирования является режимом интракодирования (этап ST3), избирательный переключатель 3 выводит фрагмент Pin блока Bn кодирования, который формируется через разделение посредством узла 2 разделения на блоки, в узел 4 интрапредсказания. Напротив, когда режим m(Bn) кодирования является режимом интеркодирования (этап ST3), избирательный переключатель выводит фрагмент Pin блока Bn кодирования, который формируется через разделение посредством узла 2 разделения на блоки, в узел 5 предсказания с компенсацией движения.
[0046] При приеме фрагмента Pin блока Bn кодирования из избирательного переключателя 3 узел 4 интрапредсказания выполняет процесс интрапредсказания для фрагмента Pin блока Bn кодирования для того, чтобы формировать изображение Pin интрапредсказания посредством использования уже кодированного сигнала изображения в кадре на основе параметров интрапредсказания, выведенных в него из узла 1 управления кодированием (этап ST4). После формирования вышеуказанного изображения Pin интрапредсказания узел 4 интрапредсказания выбирает фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состояниям различных параметров, ассоциированных с кодированием целевого блока, который должен быть фильтрован, и выполняет процесс фильтрации для изображения Pin интрапредсказания посредством использования фильтра. После выполнения процесса фильтрации для изображения Pin интрапредсказания узел 4 интрапредсказания выводит изображение Pin интрапредсказания, для которого узел интрапредсказания выполняет процесс фильтрации, в узел 6 вычитания и узел 9 суммирования. Чтобы предоставлять возможность устройству декодирования движущихся изображений, показанному на фиг. 2, также позволять формировать идентичное изображение Pin интрапредсказания, узел интрапредсказания выводит параметры интрапредсказания в узел 13 кодирования переменной длины. Структура процесса, выполняемого посредством узла 4 интрапредсказания, является такой, как упомянуто выше, и подробности этого процесса упоминаются ниже.
[0047] При приеме фрагмента Pin блока Bn кодирования из избирательного переключателя 3 узел 5 предсказания с компенсацией движения выполняет процесс предсказания с компенсацией движения для фрагмента Pin блока Bn кодирования для того, чтобы формировать изображение Pin интерпредсказания посредством использования одного или более кадров опорных изображений, сохраненных в запоминающем устройстве 12 кадров предсказания с компенсацией движения, на основе параметров интерпредсказания, выведенных в него из узла 1 управления кодированием (этап ST5). Поскольку технология выполнения процесса предсказания с компенсацией движения для того, чтобы формировать изображение предсказания, известна, подробное пояснение этой технологии далее опускается.
[0048] После того как узел 4 интрапредсказания или узел 5 предсказания с компенсацией движения формирует изображение предсказания (изображение Pin интрапредсказания или изображение Pin интерпредсказания), узел 6 вычитания вычитает изображение предсказания (изображение Pin интрапредсказания или изображение Pin интерпредсказания), сформированное посредством узла 4 интрапредсказания или узла 5 предсказания с компенсацией движения, из фрагмента Pin блока Bn кодирования, который формируется через разделение посредством узла 2 разделения на блоки, чтобы формировать разностное изображение, и выводит сигнал ein ошибки предсказания, показывающий разностное изображение, в узел 7 преобразования/квантования (этап ST6).
[0049] При приеме сигнала ein ошибки предсказания, показывающего разностное изображение, из узла 6 вычитания, узел 7 преобразования/квантования выполняет процесс преобразования (например, процесс DCT (дискретного косинусного преобразования) или ортогонального преобразования, такого как KL-преобразование, в котором основания рассчитываются для конкретной последовательности обучения заранее) для разностного изображения, в единицах блоков, имеющих размер блока преобразования, включенный в параметры кодирования ошибок предсказания, выведенные в него из узла 1 управления кодированием, и квантует коэффициенты преобразования разностного изображения посредством использования параметра квантования, включенного в параметры кодирования ошибок предсказания, и выводит коэффициенты преобразования, квантованные таким образом, в узел 8 обратного преобразования/обратного квантования и узел 13 кодирования переменной длины в качестве сжатых данных разностного изображения (этап ST7).
[0050] При приеме сжатых данных разностного изображения из узла 7 преобразования/квантования узел 8 обратного преобразования/обратного квантования обратно квантует сжатые данные разностного изображения посредством использования параметра квантования, включенного в параметры кодирования ошибок предсказания, выведенные в него из узла 1 управления кодированием, выполняет процесс обратного преобразования (например, процесс обратного DCT (обратного дискретного косинусного преобразования) или обратного преобразования, такого как обратное KL-преобразование) для сжатых данных, обратно квантованных, в единицах блоков, имеющих размер блока преобразования, включенный в параметры кодирования ошибок предсказания, и выводит сжатые данные, для которых узел обратного преобразования/обратного квантования выполняет процесс обратного преобразования, в узел 9 суммирования в качестве локального декодированного сигнала ein "шляпка" ошибки предсказания ("^", присоединенный к букве алфавита, выражается как "шляпка" по причинам ограничений в электронных приложениях) (этап ST8).
[0051] При приеме локального декодированного сигнала ein "шляпка" ошибки предсказания из узла 8 обратного преобразования/обратного квантования узел 9 суммирования суммирует локальный декодированный сигнала ein "шляпка" ошибки предсказания и сигнал предсказания, показывающий изображение предсказания (изображение Pin интрапредсказания или изображение Pin интерпредсказания), сформированное посредством узла 4 интрапредсказания или узла 5 предсказания с компенсацией движения для того, чтобы формировать локальное декодированное изображение, которое является локальным декодированным изображением Pin "шляпка" фрагмента, или локальное декодированное изображение блока кодирования, которое является группой локальных декодированных изображений фрагментов (этап ST9). После формирования локального декодированного изображения узел 9 суммирования сохраняет сигнал локального декодированного изображения, показывающий локальное декодированное изображение, в запоминающем устройстве 10 для интрапредсказания, а также выводит сигнал локального декодированного изображения в узел 11 контурного фильтра.
[0052] Устройство кодирования движущихся изображений многократно выполняет процессы этапов ST3-ST9 до тех пор, пока устройство кодирования движущихся изображений не завершает обработку для всех блоков Bn кодирования, на которые иерархически разделяется введенное изображение, и при завершении обработки для всех блоков Bn кодирования, переходит к процессу этапа ST12 (этапы ST10 и ST11).
[0053] Узел 13 кодирования переменной длины энтропийно кодирует сжатые данные, выведенные в него из узла 7 преобразования/квантования, режим кодирования (включающие в себя информацию, показывающую состояние разделения на блоки кодирования), и параметры кодирования ошибок предсказания, которые выводятся в него из узла 1 управления кодированием, и параметры интрапредсказания, выведенные в него из узла 4 интрапредсказания, или параметры интерпредсказания, выведенные в него из узла 5 предсказания с компенсацией движения. Узел 13 кодирования переменной длины мультиплексирует кодированные данные, которые являются кодированными результатами энтропийного кодирования сжатых данных, режима кодирования, параметров кодирования ошибок предсказания и параметров интрапредсказания или параметров интерпредсказания, чтобы формировать поток битов (этап ST12).
[0054] При приеме сигнала локального декодированного изображения из узла 9 суммирования узел 11 контурного фильтра компенсирует искажение при кодировании, включенное в сигнал локального декодированного изображения, и сохраняет локальное декодированное изображение, показанное посредством сигнала локального декодированного изображения, для которого узел контурного фильтра выполняет компенсацию искажений при кодировании, в запоминающем устройстве 12 кадров предсказания с компенсацией движения в качестве опорного изображения (этап ST13). Узел 11 контурного фильтра может выполнять процесс фильтрации для каждого блока кодирования, имеющего максимальный размер сигнала локального декодированного изображения, выведенного в него из узла 9 суммирования, либо для каждого блока кодирования сигнала локального декодированного изображения или для каждой единицы, которая является комбинацией множества блоков кодирования, имеющих максимальный размер. В качестве альтернативы, после того как выводится одно изображение сигналов локальных декодированных изображений, узел контурного фильтра может выполнять процесс фильтрации для изображения сигналов локальных декодированных изображений в то время.
[0055] Далее подробнее поясняется процесс, выполняемый посредством модуля 4 интрапредсказания. Фиг. 7 является пояснительным чертежом, показывающим пример параметров интрапредсказания (режима интрапредсказания), которые могут быть выбраны для каждого фрагмента Pin в блоке Bn кодирования. В примере, показанном на фиг. 7, показаны режимы интрапредсказания и векторы направления предсказания, представленные посредством каждого из режимов интрапредсказания, и согласно проведенным расчетам относительный угол между векторами направления предсказания становится небольшим с увеличением числа выбираемых режимов интрапредсказания.
[0056] Узел 4 интрапредсказания выполняет процесс интрапредсказания для фрагмента Pin на основе параметров интрапредсказания для фрагмента Pin и параметра выбора для фильтра, который узел интрапредсказания использует для формирования изображения Pin интрапредсказания. Далее поясняется интрапроцесс формирования сигнала интрапредсказания для сигнала яркости на основе параметров интрапредсказания (режима интрапредсказания) для сигнала яркости фрагмента Pin.
[0057] Далее предполагается, что фрагмент Pin имеет размер в lin×min пикселей. Фиг. 8 является пояснительным чертежом, показывающим пример пикселей, которые используются при формировании предсказанного значения каждого пикселя в фрагменте Pin в случае lin=min=4. Хотя (2×lin+1) пикселей в уже кодированном верхнем фрагменте, который является смежным с фрагментом Pin, и (2×min) пикселей в уже кодированном левом фрагменте, который является смежным с фрагментом Pin, задаются как пиксели, используемые для предсказания в примере по фиг. 8, для предсказания может использоваться большее или меньшее число пикселей, чем пиксели, показанные на фиг. 8. Дополнительно, хотя одна строка или столбец пикселей, смежных с фрагментом, используется для предсказания в примере, показанном на фиг. 8, две или более строк или столбцов пикселей, смежных с фрагментом, альтернативно могут быть использованы для предсказания.
[0058] Когда значение индекса, указывающее режим интрапредсказания для фрагмента Pin, равно 2 (предсказание по среднему), модуль интрапредсказания формирует изображение предсказания посредством использования среднего смежных пикселей в верхнем фрагменте и смежных пикселей в левом фрагменте в качестве предсказанного значения каждого пикселя в фрагменте Pin. Когда значение индекса, указывающее режим интрапредсказания, отличается от 2 (предсказание по среднему), узел интрапредсказания формирует предсказанное значение каждого пикселя в фрагменте Pin на основе вектора направления предсказания vp=(dx, dy), показанного посредством значения индекса. В этом случае, относительная координата пикселя (пиксель в верхнем левом углу фрагмента задается как точка начала), для которого должно быть сформировано предсказанное значение (целевого пикселя для предсказания) в фрагменте Pin, выражается как (x, y). Каждый опорный пиксель, который используется для предсказания, находится в точке пересечения A, показанного ниже, и смежного пикселя.
где k является положительным скалярным значением.
[0059] Когда опорный пиксель находится в целопиксельной позиции, целочисленный пиксель задается как предсказанное значение целевого пикселя для предсказания. Напротив, когда опорный пиксель не находится в целопиксельной позиции, интерполяционный пиксель, который формируется из целочисленного пикселя, смежного с опорным пикселем, задается как предсказанное значение целевого пикселя для предсказания. В примере, показанном на фиг. 8, поскольку опорный пиксель не находится в целопиксельной позиции, предсказанное значение интерполируется из значений двух пикселей, смежных с опорным пикселем. Тем не менее, интерполяция предсказанного значения не ограничивается интерполяцией из значений двух смежных пикселей, и интерполяционный пиксель может быть сформирован из двух или более смежных пикселей, и значение этого интерполяционного пикселя может задаваться как предсказанное значение.
[0060] Затем, узел интрапредсказания получает конечное изображение предсказания посредством выполнения процесса фильтрации для промежуточного изображения предсказания (предсказанного значения), сформированного согласно вышеуказанной процедуре. Далее подробно поясняется процесс фильтрации.
[0061] Узел интрапредсказания выбирает фильтр, который должен быть использован, из одного или более фильтров, которые подготавливаются заранее, посредством использования способа, который упоминается ниже, и выполняет процесс фильтрации для каждого пикселя промежуточного изображения предсказания согласно следующему уравнению (1).
[0062] В уравнении (1), an (n=0, 1, …, N) являются коэффициентами фильтрации, которые состоят из коэффициентов (a0, a1, …, aN-1), ассоциированных с опорными пикселями, и коэффициента aN смещения. Pn (n=0, 1, …, N-1) показывает опорные пиксели фильтра, включающие в себя целевой пиксель p0, который должен фильтроваться. S(pn) показывает значение яркости каждого опорного пикселя, и s "шляпка" (p0) показывает значение яркости целевого пикселя p0, который должен фильтроваться, для которого выполнен процесс фильтрации. Коэффициенты фильтрации могут формироваться так, что они не включают в себя коэффициент aN смещения. Дополнительно, N является произвольным числом опорных пикселей. Фиг. 9 является пояснительным чертежом, показывающим пример компоновки опорных пикселей в случае N=5.
[0063] При выполнении вышеуказанного процесса фильтрации нелинейный край и т.п. возникает проще во введенном изображении, и, следовательно, смещение от направления предсказания промежуточного изображения предсказания возникает проще с увеличением размера (lin×xmin) фрагмента Pin. Следовательно, предпочтительно сглаживать промежуточное изображение предсказания. Помимо этого, чем большее квантованное значение имеет ошибка предсказания, тем большее искажение при квантовании возникает в декодированном изображении, и, следовательно, тем меньшую степень точности предсказания имеет промежуточное изображение предсказания, сформированное из уже кодированных пикселей, которые являются смежными с фрагментом Pin. Следовательно, предпочтительно подготавливать сглаженное изображение предсказания, которое примерно выражает фрагмент Pin. Дополнительно, даже пиксель в идентичном фрагменте Pin имеет смещение, такое как край, возникающий проще между промежуточным изображением предсказания и введенным изображением с расстоянием от уже кодированных пикселей, смежных с фрагментом Pin, которые используются для формирования промежуточного изображения предсказания. Следовательно, предпочтительно сглаживать изображение предсказания, чтобы подавлять быстрое увеличение ошибки предсказания, которая вызывается, когда возникает смещение. Помимо этого, необходимо не только менять интенсивность фильтра, но также и размещать опорные пиксели фильтра надлежащим образом согласно направлению предсказания промежуточного изображения предсказания, тем самым не допуская противоестественное искажение шаблона, такого как край промежуточного изображения предсказания.
[0064] Следовательно, процесс выбора фильтра конфигурируется таким образом, чтобы выбирать фильтр с учетом четырех следующих параметров (1)-(4).
(1) Размер фрагмента Pin (lin×min)
(2) Параметр квантования, включенный в параметры кодирования ошибок предсказания
(3) Расстояние между группой уже кодированных пикселей ("пикселей, которые используются для предсказания", показанных на фиг. 8), которые используются во время формирования промежуточного изображения предсказания, и целевым пикселем, который должен быть фильтрован
(4) Значение индекса, указывающее режим интрапредсказания во время формирования промежуточного изображения предсказания
[0065] Более конкретно, процесс выбора фильтра конфигурируется таким образом, что фильтр, имеющий более высокую степень интенсивности сглаживания, используется с увеличением размера (lin×min) фрагмента Pin, с увеличением квантованного значения, определенного посредством параметра квантования, и с расстоянием между целевым пикселем, который должен быть фильтрован и группой уже кодированных пикселей, которые находятся на левой стороне и на верхней стороне фрагмента Pin и которые используются во время формирования промежуточного изображения предсказания, и фильтр имеет степень интенсивности фильтра, которая определяется с учетом направления предсказания в режиме интрапредсказания, и опорные пиксели размещаются с учетом направления предсказания в режиме интрапредсказания. Более конкретно, адаптивный выбор фильтра согласно вышеуказанным параметрам реализуется посредством приведения надлежащего фильтра, выбранного из группы фильтров, которые подготавливаются заранее, в соответствиие с каждой из комбинаций вышеуказанных параметров. Тем не менее, любое число выбираемых степеней интенсивности фильтра может предоставляться при условии, что это число равняется двум или больше, и процесс фильтрации, эквивалентный отсутствию фильтрации, может задаваться в качестве выражения для фильтра, имеющего наименьшую степень интенсивности сглаживания. Следовательно, процесс фильтрации может быть сконфигурирован таким образом, что процесс фильтрации выполняется только для конкретных пикселей в промежуточном изображении предсказания, а процесс фильтрации, имеющий наименьшую степень интенсивности сглаживания, т.е. отсутствие фильтрации, выполняется для всех остальных пикселей. Хотя вышеприведенное пояснение приводится при условии, что необходимое число фильтров подготавливается заранее, фильтр альтернативно может быть задан в качестве функции от вышеуказанных параметров выбора фильтра таким образом, что фильтр определяется согласно значениям вышеуказанных параметров выбора фильтра.
[0066] Хотя пример выбора фильтра с учетом четырех параметров (1)-(4) показывается в вышеприведенном пояснении, фильтр альтернативно может быть выбран с учетом, по меньшей мере, одного из четырех параметров (1)-(4). В случае рассмотрения (3) и (4) из вышеуказанных четырех параметров в качестве примера, может предоставляться структура выбора фильтра, имеющего более высокую степень интенсивности с расстоянием от пикселя, используемого для предсказания каждого целевого пикселя, который должен быть фильтрован, согласно направлению предсказания в режиме интрапредсказания (расстоянием от "опорного пикселя", который является смежным с верхним концом блока в примере, показанном на фиг. 8). Дополнительно, поскольку четыре параметра (1)-(4) известны в устройстве декодирования движущихся изображений, выполнение вышеуказанного процесса фильтрации не приводит к кодированию дополнительной информации.
[0067] Узел интрапредсказания формирует пиксель предсказания для каждого из всех пикселей сигнала яркости в фрагменте Pin согласно идентичной процедуре, чтобы формировать изображение Pin интрапредсказания, и выводит изображение Pin интрапредсказания, сформированное таким образом. Узел интрапредсказания выводит параметры интрапредсказания, используемые для формирования Pi изображения интрапредсказания, в узел 13 кодирования переменной длины, чтобы мультиплексировать их в поток битов. Узел интрапредсказания также выполняет процесс интрапредсказания на основе параметров интрапредсказания (режима интрапредсказания) для каждого из цветоразностных сигналов фрагмента Pin согласно процедуре, идентичной процедуре, согласно которой узел интрапредсказания выполняет процесс интрапредсказания для сигнала яркости, и выводит параметры интрапредсказания, используемые для формирования изображения интрапредсказания, в узел 13 кодирования переменной длины. Узел интрапредсказания может иметь такую структуру, что он выполняет вышеописанный процесс фильтрации для интрапредсказания каждого из цветоразностных сигналов способом, идентичным способу, который узел интрапредсказания применяет для сигнала яркости, или не выполняет вышеописанный процесс фильтрации для интрапредсказания каждого из цветоразностных сигналов.
[0068] Затем поясняется обработка, выполняемая посредством устройства декодирования движущихся изображений, показанного на фиг. 2. При приеме потока битов, выведенного в него из устройства кодирования изображений по фиг. 1, узел 51 декодирования переменной длины выполняет процесс декодирования переменной длины для потока битов, чтобы декодировать информацию, имеющую размер кадра в единицах последовательности, которая состоит из одного или более кадров изображений, или в единицах изображения (этап ST21 по фиг. 4). Узел 51 декодирования переменной длины определяет максимальный размер каждого из блоков кодирования, который является единицей, которая должна быть обработана в момент, когда выполняется процесс интрапредсказания (процесс внутрикадрового предсказания) или процесс предсказания с компенсацией движения (процесс межкадрового предсказания) согласно процедуре, идентичной процедуре, которую использует узел 1 управления кодированием, показанный на фиг. 1, а также определяет верхний предел по числу иерархических уровней в иерархии, в которой каждый из блоков кодирования, имеющих максимальный размер, иерархически разделяется на блоки (этап ST22). Например, когда максимальный размер каждого из блоков кодирования определяется согласно разрешению введенного изображения в устройстве кодирования изображений, узел декодирования переменной длины определяет максимальный размер каждого из блоков кодирования на основе информации размера кадра, которую узел декодирования переменной длины декодировал ранее. Когда информация, показывающая как максимальный размер каждого из блоков кодирования, так и верхний предел по числу иерархических уровней, мультиплексируется в поток битов, узел декодирования переменной длины обращается к информации, которая получается посредством декодирования потока битов.
[0069] Поскольку информация, показывающая состояние разделения каждого из блоков B0 кодирования, имеющих максимальный размер, включается в режим m(B0) кодирования блока B0 кодирования, имеющего максимальный размер, который мультиплексируется в поток битов, узел 51 декодирования переменной длины указывает каждый из блоков Bn кодирования, на которые иерархически разделяется изображение, посредством декодирования потока битов, чтобы получать режим m(B0) кодирования блока B0 кодирования, имеющего максимальный размер, который мультиплексируется в поток битов (этап ST23). После указания каждого из блоков Bn кодирования узел 51 декодирования переменной длины декодирует поток битов, чтобы получать режим m(Bn) кодирования блока Bn кодирования, чтобы указывать каждый фрагмент Pin, принадлежащий блоку Bn кодирования, на основе информации относительно фрагмента Pin, принадлежащего режиму m(Bn) кодирования. После указания каждого фрагмента Pin, принадлежащего блоку Bn кодирования, узел 51 декодирования переменной длины декодирует кодированные данные, чтобы получать сжатые данные, режим кодирования, параметры кодирования ошибок предсказания и параметры/параметры интерпредсказания интрапредсказания для каждого фрагмента Pin (этап ST24).
[0070] Более конкретно, когда режим m(Bn) кодирования, назначаемый блоку Bn кодирования, является режимом интракодирования, узел декодирования переменной длины декодирует кодированные данные, чтобы получать параметры интрапредсказания для каждого фрагмента Pin, принадлежащего блоку кодирования. Напротив, когда режим m(Bn) кодирования, назначаемый блоку Bn кодирования, является режимом интеркодирования, узел декодирования переменной длины декодирует кодированные данные, чтобы получать параметры интерпредсказания для каждого фрагмента Pin, принадлежащего блоку кодирования. Узел декодирования переменной длины дополнительно разделяет каждый фрагмент, который является единицей предсказания, на один или более фрагментов, которые являются единицей процесса преобразования, на основе информации размера блока преобразования, включенной в параметры кодирования ошибок предсказания, и декодирует кодированные данные каждого из одного или более фрагментов, которые являются единицей процесса преобразования, чтобы получать сжатые данные (коэффициенты преобразования, для которых выполняются преобразование и квантование) фрагмента.
[0071] Когда режим m(Bn) кодирования фрагмента Pin, принадлежащего блоку Bn кодирования, который указывается посредством узла 51 декодирования переменной длины, является режимом интракодирования (этап ST25), избирательный переключатель 52 выводит параметры интрапредсказания, выведенные в него из узла 51 декодирования переменной длины, в узел 53 интрапредсказания. Напротив, когда режим m(Bn) кодирования фрагмента Pin является режимом интеркодирования (этап ST25), избирательный переключатель выводит параметры интерпредсказания, выведенные в него из узла 51 декодирования переменной длины, в узел 54 предсказания с компенсацией движения.
[0072] При приеме параметров интрапредсказания из избирательного переключателя 52 узел 53 интрапредсказания выполняет процесс внутрикадрового предсказания для фрагмента Pin блока Bn кодирования для того, чтобы формировать изображение Pin интрапредсказания посредством использования уже декодированного сигнала изображения в кадре на основе параметров интрапредсказания (этап ST26), аналогично узлу 4 интрапредсказания, показанному на фиг. 1. При формировании изображения Pin интрапредсказания узел 53 интрапредсказания выбирает фильтр из одного или более фильтров, которые подготавливаются заранее, посредством использования способа, идентичного способу, который использует узел 4 интрапредсказания, показанный на фиг. 1, согласно состояниям различных параметров, ассоциированных с декодированием целевого блока, который должен быть фильтрован, и выполняет процесс фильтрации для изображения Pin интрапредсказания посредством использования фильтра и задает изображение Pin интрапредсказания, для которого узел интрапредсказания выполняет процесс фильтрации, в качестве конечного изображения интрапредсказания. Хотя вышеприведенное пояснение приводится при условии, что необходимое число фильтров подготавливается заранее, в случае, если фильтр задается как функция от вышеуказанных параметров таким образом, что фильтр определяется согласно состояниям параметров, используемых для выбора фильтра в узле 4 интрапредсказания, показанном на фиг. 1, фильтр может задаваться как функция от вышеуказанных параметров также в узле 53 интрапредсказания таким образом, что фильтр определяется согласно состояниям различных параметров, ассоциированных с декодированием целевого блока, который должен быть фильтрован.
[0073] При приеме параметров интерпредсказания из избирательного переключателя 52 узел 54 предсказания с компенсацией движения выполняет процесс предсказания с компенсацией движения для фрагмента Pin блока Bn кодирования для того, чтобы формировать изображение Pin интерпредсказания посредством использования одного или более кадров опорных изображений, сохраненных в запоминающем устройстве 59 кадров предсказания с компенсацией движения, на основе параметров интерпредсказания (этап ST27).
[0074] Узел 55 обратного преобразования/обратного квантования обратно квантует сжатые данные, ассоциированные с блоком кодирования, которые выводятся в него из узла 51 декодирования переменной длины, посредством использования параметра квантования, включенного в параметры кодирования ошибок предсказания, выведенные в него из узла 51 декодирования переменной длины, и выполняет процесс обратного преобразования (например, процесс обратного DCT (обратного дискретного косинусного преобразования) или обратного преобразования, такого как обратное KL-преобразование) для сжатых данных, обратно квантованных, в единицах блоков, имеющих размер блока преобразования, включенный в параметры кодирования ошибок предсказания, и выводит сжатые данные, для которых узел обратного преобразования/обратного квантования выполняет процесс обратного преобразования, в узел 56 суммирования в качестве декодированного сигнала ошибки предсказания (сигнала, показывающего предварительно сжатое разностное изображение) (этап ST28).
[0075] При приеме декодированного сигнала ошибки предсказания из узла 55 обратного преобразования/обратного квантования узел 56 суммирования формирует декодированное изображение посредством суммирования декодированного сигнала ошибки предсказания и сигнала предсказания, показывающего изображение предсказания, сформированное посредством узла 53 интрапредсказания или узла 54 предсказания с компенсацией движения, и сохраняет сигнал декодированного изображения, показывающий декодированное изображение, в запоминающем устройстве 57 для интрапредсказания, а также выводит сигнал декодированного изображения в узел 58 контурного фильтра (этап ST29).
[0076] Устройство декодирования движущихся изображений многократно выполняет процессы этапов ST23-ST29 до тех пор, пока устройство декодирования движущихся изображений не завершает обработку для всех блоков Bn кодирования, на которые иерархически разделяется изображение (этап ST30). При приеме сигнала декодированного изображения из узла 56 суммирования узел 58 контурного фильтра компенсирует искажение при кодировании, включенное в сигнал декодированного изображения, и сохраняет декодированное изображение, показанное посредством сигнала декодированного изображения, для которого узел контурного фильтра выполняет компенсацию искажений при кодировании, в запоминающем устройстве 59 кадров предсказания с компенсацией движения в качестве опорного изображения (этап ST31). Узел 58 контурного фильтра может выполнять процесс фильтрации для каждого блока кодирования, имеющего максимальный размер сигнала локального декодированного изображения, выведенного в него из узла 56 суммирования, или каждого блока кодирования. В качестве альтернативы, после того как выводится сигнал локального декодированного изображения, соответствующий всем макроблокам одного экрана, узел контурного фильтра может выполнять процесс фильтрации для всех макроблоков одного экрана одновременно.
[0077] Как можно видеть из вышеприведенного описания, поскольку узел 4 интрапредсказания устройства кодирования движущихся изображений в соответствии с этим вариантом 1 осуществления имеет такую структуру, чтобы, при выполнении процесса внутрикадрового предсказания, формировать изображение интрапредсказания посредством использования уже кодированного сигнала изображения в кадре, выбирать фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состояниям различных параметров, ассоциированных с кодированием целевого блока, который должен быть фильтрован, и выполнять процесс фильтрации для изображения предсказания посредством использования фильтра, предоставляется преимущество возможности уменьшать ошибки предсказания, которые возникают локально, тем самым позволяя повышать качество изображений.
[0078] Дополнительно, поскольку узел 4 интрапредсказания в соответствии с этим вариантом 1 осуществления имеет такую структуру, чтобы выбирать фильтр с учетом, по меньшей мере, одного из следующих параметров: (1) размер фрагмента Pin (lin×min); (2) параметр квантования, включенный в параметры кодирования ошибок предсказания; (3) расстояние между группой уже кодированных пикселей, которые используются во время формирования промежуточного изображения предсказания, и целевым пикселем, который должен быть фильтрован; и (4) значение индекса, указывающее режим интрапредсказания во время формирования промежуточного изображения предсказания, предоставляется преимущество недопущения возникновения локальной ошибки предсказания, когда возникает небольшое смещение между направлением края в изображении, которое должно быть кодировано, и направлением предсказания, или небольшое искажение существует на краю в промежуточном изображении предсказания, имеющем высокую корреляцию с изображением, которое должно быть кодировано, тем самым позволяя повышать эффективность предсказания.
[0079] Поскольку узел 53 интрапредсказания устройства декодирования движущихся изображений в соответствии с этим вариантом 1 осуществления имеет такую структуру, чтобы, при выполнении процесса внутрикадрового предсказания, формировать изображение интрапредсказания посредством использования уже декодированного сигнала изображения в кадре, выбирать фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состояниям различных параметров, ассоциированных с декодированием целевого блока, который должен быть фильтрован, и выполнять процесс фильтрации для изображения предсказания посредством использования фильтра, предоставляется преимущество уменьшения ошибок предсказания, которые возникают локально, позволяя устройству декодирования движущихся изображений также формировать изображение интрапредсказания, идентичное изображению интрапредсказания, сформированному посредством устройства кодирования движущихся изображений.
[0080] Дополнительно, поскольку узел 53 интрапредсказания в соответствии с этим вариантом 1 осуществления имеет такую структуру, чтобы выбирать фильтр с учетом, по меньшей мере, одного из следующих параметров: (1) размер фрагмента Pin (lin×min); (2) параметр квантования, включенный в параметры кодирования ошибок предсказания; (3) расстояние между группой уже кодированных пикселей, которые используются во время формирования промежуточного изображения предсказания, и целевым пикселем, который должен быть фильтрован; и (4) значение индекса, указывающее режим интрапредсказания во время формирования промежуточного изображения предсказания, предоставляется преимущество недопущения возникновения локальной ошибки предсказания, когда возникает небольшое смещение между направлением края в изображении, которое должно быть кодировано, и направлением предсказания, или небольшое искажение существует на краю в промежуточном изображении предсказания, имеющем высокую корреляцию с изображением, которое должно быть кодировано, и другое преимущество предоставления возможности устройству декодирования движущихся изображений также формировать изображение интрапредсказания, идентичное изображению интрапредсказания, сформированному посредством устройства кодирования движущихся изображений.
[0081] Вариант 2 осуществления
Хотя в вышеуказанном варианте 1 осуществления показывается пример, в котором узел 4 интрапредсказания выбирает фильтр согласно состояниям различных параметров, ассоциированных с кодированием целевого блока, который должен быть фильтрован, из одного или более фильтров, которые подготавливаются заранее, и выполняет процесс фильтрации для изображения предсказания посредством использования фильтра, при выполнении процесса внутрикадрового предсказания, чтобы формировать изображение интрапредсказания посредством использования уже кодированного сигнала изображения в кадре, в качестве альтернативы, может быть рассчитан фильтр Винера, который минимизирует сумму квадратических ошибок между блоком кодирования и изображением предсказания, и когда использование этого фильтра Винера повышает степень уменьшения ошибок предсказания по сравнению с использованием фильтра, который выбран из одного или более фильтров, которые подготавливаются заранее, процесс фильтрации может быть выполнен для изображения предсказания посредством использования вышеуказанного фильтра Винера, вместо фильтра, который выбран. Далее подробно поясняются процессы.
[0082] Каждый из узлов 4 и 53 интрапредсказания в соответствии с вышеуказанным вариантом 1 осуществления имеет такую структуру, чтобы выбирать фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состояниям различных параметров, ассоциированных с кодированием целевого блока, который должен быть фильтрован. Хотя каждый из узлов интрапредсказания может выбирать надлежащий фильтр из одного или более вариантов выбора с учетом четырех параметров (1)-(4), каждый из узлов интрапредсказания не может выполнять "оптимальную фильтрацию", когда существует оптимальный фильтр, отличный от одного или более вариантов выбора. Этот вариант 2 осуществления отличается тем, что, в то время как устройство кодирования движущихся изображений рассчитывает оптимальный фильтр в расчете на изображение и выполняет процесс фильтрации, а также кодирует коэффициенты фильтрации фильтра и т.д., устройство декодирования движущихся изображений декодирует коэффициенты фильтрации и т.д. и выполняет процесс фильтрации посредством использования фильтра.
[0083] Узел 4 интрапредсказания устройства кодирования движущихся изображений выполняет процесс внутрикадрового предсказания для каждого фрагмента Pin каждого блока Bn кодирования для того, чтобы формировать изображение Pin интрапредсказания, к примеру, изображение Pin интрапредсказания согласно вышеуказанному варианту 1 осуществления. Узел 4 интрапредсказания также выбирает фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состояниям различных параметров, ассоциированных с кодированием целевого блока, который должен быть фильтрован, посредством использования способа, идентичного способу, который использует узел интрапредсказания согласно вышеуказанному варианту 1 осуществления, и выполняет процесс фильтрации для изображения Pin интрапредсказания посредством использования этого фильтра. После определения параметров интрапредсказания для каждого из всех блоков Bn кодирования в изображении, для каждой области, в которой используется идентичный фильтр в изображении (каждой области, имеющей идентичный индекс фильтра), узел 4 интрапредсказания рассчитывает фильтр Винера, который минимизирует сумму квадратических ошибок между введенным изображением в области и изображением интрапредсказания (среднеквадратическую ошибку в целевой области).
[0084] Коэффициенты w фильтрации фильтра Винера могут быть определены из матрицы Rs's' автокорреляции сигнала s' промежуточного изображения предсказания и матрицы Rss' кросс-корреляции сигнала s введенного изображения и сигнала s' промежуточного изображения предсказания согласно следующему уравнению (4). Размер матриц Rs's' и Rss' соответствует числу определенных отводов фильтра.
[0085] После расчета фильтра Винера узел 4 интрапредсказания выражает сумму квадратических ошибок в целевой области для расчета фильтра в случае выполнения процесса фильтрации с использованием фильтра Винера в качестве D1, объем кода во время кодирования информации (например, коэффициенты фильтрации), ассоциированной с фильтром Винера, в качестве R1, и сумму квадратических ошибок в целевой области для расчета фильтра в случае выполнения процесса фильтрации с использованием фильтра, который выбирается посредством использования способа, идентичного способу, показанному в вышеуказанном варианте 1 осуществления, в качестве D2, и затем выполняет проверку того, устанавливается или нет следующее уравнение (5).
D1+λ·R1<D2 (5),
где λ является константой.
[0086] Когда уравнение (5) устанавливается, узел 4 интрапредсказания выполняет процесс фильтрации посредством использования фильтра Винера вместо фильтра, который выбирается посредством использования способа, идентичного способу, показанному в вышеуказанном варианте 1 осуществления. Напротив, когда уравнение (5) не устанавливается, узел интрапредсказания выполняет процесс фильтрации посредством использования фильтра, который узел интрапредсказания выбирает посредством использования способа, идентичного способу, показанному в вышеуказанном варианте 1 осуществления. Хотя узел интрапредсказания выполняет оценку посредством использования сумм D1 и D2 квадратических ошибок, этот вариант осуществления не ограничивается этим примером. Узел интрапредсказания альтернативно может выполнять оценку посредством использования показателей, показывающих другие значения искажения при предсказании, к примеру, суммы абсолютных значений ошибок, вместо сумм D1 и D2 квадратических ошибок.
[0087] При выполнении процесса фильтрации посредством использования фильтра Винера, узел 4 интрапредсказания требует информации обновления фильтра, показывающей коэффициенты фильтрации фильтра Винера, и индексов, указывающих соответствующий фильтр, который заменен на фильтр Винера. Более конкретно, когда число фильтров, выбираемых в процессе фильтрации с использованием параметров выбора фильтра, выражается как L, и индексы в диапазоне от нуля до L-1 назначаются фильтрам, соответственно, когда расчетный фильтр Винера используется для каждого индекса, значение "1" должно быть кодировано для индекса в качестве информации обновления фильтра, тогда как, когда подготовленный фильтр используется для каждого индекса, значение "0" должно быть кодировано для индекса в качестве информации обновления фильтра. Узел 13 кодирования переменной длины кодирует на основе кода переменной длины информацию обновления фильтра, выведенную в него из узла 4 интрапредсказания, и мультиплексирует кодированные данные информации обновления фильтра в поток битов.
[0088] Хотя пример расчета фильтра Винера, который минимизирует среднеквадратическую ошибку между введенным изображением и изображением предсказания в каждой области, для которой используется идентичный фильтр в изображении для области, показывается в этом варианте осуществления, фильтр Винера, который минимизирует среднеквадратическую ошибку между введенным изображением и изображением предсказания в каждой области, для которой используется идентичный фильтр, может быть рассчитан для каждой из других специальных областей, каждая из которых не является изображением. Например, вышеуказанный расчет фильтра Винера может быть выполнен только для определенного конкретного изображения или только тогда, когда удовлетворяется конкретное условие (например, только для изображения, в которое добавлена функция обнаружения смены сцены и в котором обнаруживается смена сцены).
[0089] Узел 51 декодирования переменной длины устройства декодирования движущихся изображений декодирует на основе кода переменной длины кодированные данные, мультиплексированные в поток битов, чтобы получать информацию обновления фильтра. Узел 53 интрапредсказания выполняет процесс внутрикадрового предсказания для каждого фрагмента Pin каждого блока Bn кодирования для того, чтобы формировать изображение Pin интрапредсказания, к примеру, изображение Pin интрапредсказания согласно вышеуказанному варианту 1 осуществления. При приеме информации обновления фильтра из узла 51 декодирования переменной длины узел 53 интрапредсказания обращается к информации обновления фильтра, чтобы проверять то, существует или нет обновление фильтра, указываемого посредством соответствующего индекса.
[0090] При определении из результата проверки, что фильтр для определенной области заменен на фильтр Винера, узел 53 интрапредсказания считывает коэффициенты фильтрации фильтра Винера, которые включаются в информацию обновления фильтра, чтобы указывать фильтр Винера, и выполняет процесс фильтрации для изображения Pin интрапредсказания посредством использования фильтра Винера. Напротив, для области, в которой фильтр не заменен на фильтр Винера, узел интрапредсказания выбирает фильтр посредством использования способа, идентичного способу, который использует узел интрапредсказания согласно вышеуказанному варианту 1 осуществления, и выполняет процесс фильтрации для изображения Pin интрапредсказания посредством использования фильтра.
[0091] Как можно видеть из вышеприведенного описания, поскольку устройство кодирования движущихся изображений в соответствии с этим вариантом 2 осуществления имеет такую структуру, чтобы рассчитывать фильтр Винера, который минимизирует сумму квадратических ошибок между блоком кодирования и изображением предсказания, и когда использование этого фильтра Винера повышает степень уменьшения ошибок предсказания по сравнению с использованием фильтра, который выбирается из одного или более фильтров, которые подготавливаются заранее, выполнять процесс фильтрации для изображения предсказания посредством использования фильтра Винера вместо выбранного фильтра, предоставляется преимущество возможности дополнительно уменьшать ошибки предсказания, которые возникают локально по сравнению с вышеуказанным вариантом 1 осуществления.
[0092] Хотя изобретение описано в предпочтительных вариантах осуществления, следует понимать, что может осуществляться произвольная комбинация двух или более из вышеуказанных вариантов осуществления, различные изменения могут быть внесены в произвольный компонент согласно любому из вышеуказанных вариантов осуществления, и произвольный компонент согласно любому из вышеуказанных вариантов осуществления может опускаться в пределах объема изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[0093] Как упомянуто выше, поскольку устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений в соответствии с настоящим изобретением конфигурируются таким образом, чтобы, когда модуль интрапредсказания выполняет процесс внутрикадрового предсказания, формировать изображение предсказания посредством использования уже кодированного сигнала изображения в кадре, выбирать фильтр из одного или более фильтров, которые подготавливаются заранее, согласно состоянию различных параметров, ассоциированных с кодированием целевого блока, который должен быть фильтрован, и выполнять процесс фильтрации для изображения предсказания посредством использования фильтра и выводить изображение предсказания, для которого выполнен процесс фильтрации, в модуль формирования разностных изображений, устройство кодирования движущихся изображений и способ кодирования движущихся изображений являются подходящими для использования в качестве устройства кодирования движущихся изображений и способа кодирования движущихся изображений для кодирования движущегося изображения с высокой степенью эффективности, и устройство декодирования движущихся изображений и способ декодирования движущихся изображений являются подходящими для использования в качестве устройства декодирования движущихся изображений и способа декодирования движущихся изображений для декодирования кодированного движущегося изображения с высокой степенью эффективности.
ПОЯСНЕНИЕ ССЫЛОК С НОМЕРАМИ
[0094] 1 - узел управления кодированием (модуль управления кодированием), 2 - узел разделения на блоки (модуль разделения на блоки), 3 - избирательный переключатель (модуль интрапредсказания и модуль предсказания с компенсацией движения), 4 - узел интрапредсказания (модуль интрапредсказания), 5 - узел предсказания с компенсацией движения (модуль предсказания с компенсацией движения), 6 - узел вычитания (модуль формирования разностных изображений), 7 - узел преобразования/квантования (модуль сжатия изображений), 8 - узел обратного преобразования/обратного квантования, 9 - узел суммирования, 10 - запоминающее устройство для интрапредсказания, 11 - узел контурной фильтрации, 12 - запоминающее устройство кадров предсказания с компенсацией движения, 13 - модуль кодирования переменной длины (модуль кодирования переменной длины), 31 - узел декодирования переменной длины (модуль декодирования переменной длины), 52 - избирательный переключатель (модуль интрапредсказания и модуль предсказания с компенсацией движения), 53 - узел интрапредсказания (модуль интрапредсказания), 54 - узел предсказания с компенсацией движения (модуль предсказания с компенсацией движения), 55 - узел обратного преобразования/обратного квантования (модуль формирования разностных изображений), 56 - узел суммирования (модуль формирования декодированных изображений), 57 - запоминающее устройство для интрапредсказания, 58 - узел контурной фильтрации, 59 - запоминающее устройство кадров предсказания с компенсацией движения.
Изобретение относится к вычислительной технике. Технический результат заключается в повышении качества изображений за счет уменьшения ошибок предсказания. Устройство декодирования изображений содержит модуль интрапредсказания для выполнения процесса внутрикадрового предсказания над блоком, который является единицей для процесса предсказания для формирования изображения предсказания, когда режим кодирования для упомянутого блока является режимом интракодирования, при этом упомянутый модуль интрапредсказания выполняет процесс формирования промежуточного предсказанного значения из опорных выборок согласно параметру интрапредсказания, указывающему тип интрапредсказания, и получения конечного предсказанного значения посредством фильтрации промежуточного предсказанного значения согласно размеру упомянутого блока. 4 н.п. ф-лы, 10 ил.
1. Устройство декодирования изображений, содержащее:
модуль интрапредсказания для выполнения процесса внутрикадрового предсказания над блоком, который является единицей для процесса предсказания для формирования изображения предсказания, когда режим кодирования для упомянутого блока является режимом интракодирования,
при этом упомянутый модуль интрапредсказания выполняет процесс формирования промежуточного предсказанного значения из опорных выборок согласно параметру интрапредсказания, указывающему тип интрапредсказания, и получения конечного предсказанного значения посредством фильтрации промежуточного предсказанного значения согласно размеру упомянутого блока.
2. Способ декодирования изображений, содержащий:
этап обработки интрапредсказания, на котором выполняют процесс внутрикадрового предсказания над блоком, который является единицей для процесса предсказания для формирования изображения предсказания, когда режим кодирования для упомянутого блока является режимом интракодирования,
при этом упомянутый этап обработки интрапредсказания включает в себя процесс формирования промежуточного предсказанного значения из опорных выборок согласно параметру интрапредсказания, указывающему тип интрапредсказания, и получения конечного предсказанного значения посредством фильтрации промежуточного предсказанного значения согласно размеру упомянутого блока.
3. Устройство кодирования изображений, содержащее:
модуль интрапредсказания для выполнения процесса внутрикадрового предсказания над блоком, который является единицей для процесса предсказания для формирования изображения предсказания, когда режим кодирования для упомянутого блока кодирования является режимом интракодирования,
при этом упомянутый модуль интрапредсказания выполняет процесс формирования промежуточного предсказанного значения из опорных выборок согласно параметру интрапредсказания, указывающему тип интрапредсказания, и получения конечного предсказанного значения посредством фильтрации промежуточного предсказанного значения согласно размеру упомянутого блока.
4. Способ кодирования изображений, содержащий:
этап обработки интрапредсказания, на котором выполняют процесс внутрикадрового предсказания над блоком, который является единицей для процесса предсказания для формирования изображения предсказания, когда режим кодирования для упомянутого блока является режимом интракодирования,
при этом упомянутый этап процесса интрапредсказания включает в себя процесс формирования промежуточного предсказанного значения из опорных выборок согласно параметру интрапредсказания, указывающему тип интрапредсказания, и получения конечного предсказанного значения посредством фильтрации промежуточного предсказанного значения согласно размеру упомянутого блока.
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
US 7167522 B2, 23.01.2007 | |||
US 7706622 B2, 27.04.2010 | |||
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ БЕЗ ПОТЕРЬ | 2005 |
|
RU2342804C2 |
Авторы
Даты
2017-01-23—Публикация
2011-07-21—Подача