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

Область техники
[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, один режим прогнозирования может быть выбран из множества режимов прогнозирования для каждого блока в режиме внутреннего прогнозирования яркости. Фиг. 14 является пояснительным чертежом, показывающим режимы внутреннего прогнозирования в случае размера пиксельного блока 4×4 для яркости. На фиг. 14, каждый белый круг в блоке показывает пиксель, который должен быть кодирован, и каждый черный круг показывает уже кодированный пиксел, который используется для прогнозирования. В случае размера пиксельного блока 4×4 для яркости, задаются девять режимов внутреннего прогнозирования, включающих в себя режимы 0-8.
[0004] В примере, показанном на фиг. 14, режим 2 представляет собой режим, в котором прогнозирование по среднему выполняется таким образом, что каждый пиксел в блоке прогнозируется посредством использования среднего смежных пикселей, расположенных в верхней и левой сторонах блока. Режимы, отличные от режима 2, представляют собой режимы внутреннего прогнозирования, в каждом из которых выполняется направленное прогнозирование. Режим 0 представляет собой режим, в котором вертикальное прогнозирование выполняется таким образом, что смежные пиксели, расположенные в верхней стороне блока, многократно реплицируются, чтобы создавать несколько строк пикселей вдоль вертикального направления с тем, чтобы формировать прогнозное изображение. Например, режим 0 выбирается, когда блок кодирования представляет собой шаблон с вертикальными полосками. Режим 1 представляет собой режим, в котором горизонтальное прогнозирование выполняется таким образом, что смежные пиксели, расположенные в левой стороне блока, многократно реплицируются, чтобы создавать несколько столбцов пикселей вдоль горизонтального направления с тем, чтобы формировать прогнозное изображение. Например, режим 1 выбирается, когда блок кодирования представляет собой шаблон с горизонтальными полосками. В каждом из режимов 3-8 интерполяционные пиксели, идущие в предварительно определенном направлении (т.е. в направлении, показанном посредством стрелок), формируются посредством использования уже кодированных пикселей, расположенных в верхней стороне или левой стороне блока, чтобы формировать прогнозное изображение.
[0005] В этом случае, размер блока для яркости, к которому применяется внутреннее прогнозирование, может быть выбран из 4×4 пикселей, 8×8 пикселей и 16×16 пикселей. В случае 8×8 пикселей задаются девять режимов внутреннего прогнозирования, как и в случае 4×4 пикселей. Тем не менее, сами уже кодированные пиксели не используются в качестве пикселей, которые используются для прогнозирования, но уже кодированные пиксели, для которых выполнен процесс фильтрации, используются в качестве пикселей, которые используются для прогнозирования. В отличие от этого, в случае 16×16 пикселей задаются четыре режима внутреннего прогнозирования, которые называются прогнозированиями на плоскости, в дополнение к режимам внутреннего прогнозирования, ассоциированным с прогнозированием по среднему, вертикальным прогнозированием и горизонтальным прогнозированием. В каждом из режимов внутреннего прогнозирования, ассоциированных с прогнозированиями на плоскости, значение пикселя, который формируется через интерполяцию в диагональном направлении для уже кодированных смежных пикселей, расположенных в верхней и левой сторонах блока, задается в качестве прогнозированного значения.
[0006] Поскольку режим направленного прогнозирования представляет собой режим, в котором прогнозированное значение формируется посредством повторной репликации либо пикселей, смежных с блоком, либо интерполяционных пикселей, сформированных из смежных пикселей в предварительно определенном направлении (направлении прогнозирования), эффективность прогнозирования повышается, а объем кода может быть уменьшен, когда направление границы (края) объекта в целевом блоке, который должен быть прогнозирован, как показано на фиг. 15, совпадает с направлением прогнозирования, и значение сигнала в блоке сохраняется постоянным вдоль направления прогнозирования.
Документы предшествующего уровня техники
Непатентные ссылки
[0007] Непатентная ссылка 1. Стандарты MPEG-4 AVC (ISO/IEC 14496-10)/H.ITU-T 264
Сущность изобретения
Задачи, которые должны быть решены изобретением
[0008] Поскольку традиционное устройство кодирования движущихся изображений имеет такую структуру, как указано выше, традиционное устройство кодирования движущихся изображений может прогнозировать изображение кадра с высокой степенью точности посредством использования направленного прогнозирования, когда направление границы (края) объекта в целевом блоке, который должен быть прогнозирован, совпадает с направлением прогнозирования, и значение сигнала в целевом блоке, который должен быть прогнозирован, сохраняется постоянным вдоль направления прогнозирования. Тем не менее, проблема состоит в том, что когда значение сигнала варьируется вдоль направления прогнозирования, как показано на фиг. 16, даже если направление границы (края) объекта в целевом блоке, который должен быть прогнозирован, совпадает с направлением прогнозирования, ошибка прогнозирования становится большой.
[0009] Настоящее изобретение осуществлено, чтобы разрешать вышеуказанную проблему, и, следовательно, цель настоящего изобретения заключается в том, чтобы предоставлять устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений и устройство прогнозирования изображений допускающие реализацию высокоточного прогнозирования, даже когда значение сигнала варьируется вдоль направления прогнозирования, за счет этого позволяя повышать качество изображений.
Средство для решения задач
[0010] В соответствии с настоящим изобретением, предусмотрено устройство кодирования изображений, в котором, когда параметр внутреннего (intra-) прогнозирования указывает процесс горизонтального прогнозирования, модуль внутреннего прогнозирования суммирует значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью каждого блока, который является единицей для процесса прогнозирования блока кодирования, со значением яркости пикселя, смежного с левой частью блока, чтобы устанавливать результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда параметр внутреннего прогнозирования указывает процесс вертикального прогнозирования, модуль внутреннего прогнозирования суммирует значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью блока, со значением яркости пикселя, смежного с верхней частью блока, чтобы устанавливать результат суммирования в качестве прогнозированного значения прогнозного изображения.
Преимущества изобретения
[0011] Поскольку устройство кодирования изображений согласно настоящему изобретению имеет такую структуру, что когда параметр внутреннего прогнозирования указывает процесс горизонтального прогнозирования, модуль внутреннего прогнозирования суммирует значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью каждого блока, со значением яркости пикселя, смежного с левой частью блока, чтобы устанавливать результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда параметр внутреннего прогнозирования указывает процесс вертикального прогнозирования, модуль внутреннего прогнозирования суммирует значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью блока, со значением яркости пикселя, смежного с верхней частью блока, чтобы устанавливать результат суммирования в качестве прогнозированного значения прогнозного изображения, обеспечивается преимущество возможности реализовывать высокоточное прогнозирование, в силу этого повышая качество изображений, даже когда значение сигнала варьируется вдоль направления прогнозирования.
Краткое описание чертежей
[0012] Фиг. 1 является блок-схемой, показывающей устройство кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 2 является блок-схемой последовательности операций способа, показывающей процесс (способ кодирования движущихся изображений), выполняемый посредством устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 3 является блок-схемой, показывающей устройство декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 4 является блок-схемой последовательности операций способа, показывающей процесс (способ декодирования движущихся изображений), выполняемый посредством устройства декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 5 является пояснительным чертежом, показывающим пример, в котором каждый наибольший блок кодирования иерархически разделяется на множество блоков кодирования;
n
Фиг. 6(a) является пояснительным чертежом, показывающим распределение блоков кодирования и прогнозных блоков, на которые разделяется изображение, и фиг. 6(b) является пояснительным чертежом, показывающим состояние, в котором режим m(B) кодирования назначается каждому из блоков через разделение на иерархические уровни;
i
n
n
Фиг. 7 является пояснительным чертежом, показывающим пример параметров внутреннего прогнозирования (режима внутреннего прогнозирования), которые могут быть выбраны для каждого прогнозного блока P в блоке B кодирования;
i
i
i
n
n
n
Фиг. 8 является пояснительным чертежом, показывающим пример пикселей, которые используются при формировании прогнозированного значения каждого пикселя в прогнозном блоке P в случае l=m=4;
i
i
n
n
Фиг. 9 является пояснительным чертежом, показывающим относительные координаты каждого пикселя в прогнозном блоке P, которые определяются с помощью пикселя в верхнем левом углу прогнозного блока P, заданного как начало координат;
Фиг. 10 является пояснительным чертежом, показывающим пример смежных пикселей в другом прогнозном блоке в левой стороне прогнозного блока, к которым следует обращаться для того, чтобы вычислять изменения значения яркости, каждое из которых должно суммироваться с традиционным прогнозированным значением, вычисленным с использованием вертикального прогнозирования;
Фиг. 11 является пояснительным чертежом, показывающим пример значений масштабирования изменений значения яркости, каждое из которых должно суммироваться с традиционным прогнозированным значением, вычисленным с использованием вертикального прогнозирования;
Фиг. 12 является пояснительным чертежом, показывающим пример смежных пикселей в другом прогнозном блоке в верхней стороне прогнозного блока, к которым следует обращаться для того, чтобы вычислять изменения значения яркости, каждое из которых должно суммироваться с традиционным прогнозированным значением, вычисленным с использованием горизонтального прогнозирования;
Фиг. 13 является пояснительным чертежом, показывающим пример значений масштабирования изменений значения яркости, каждое из которых должно суммироваться с традиционным прогнозированным значением, вычисленным с использованием горизонтального прогнозирования;
Фиг. 14 является пояснительным чертежом, показывающим режимы внутреннего прогнозирования в случае размера пиксельного блока 4×4 для яркости;
Фиг. 15 является пояснительным чертежом, показывающим пример прогнозного изображения, которое прогнозируется с высокой степенью точности посредством использования горизонтального прогнозирования;
Фиг. 16 является пояснительным чертежом, показывающим пример, в котором возникает большая ошибка прогнозирования, когда выполняется процесс прогнозирования с использованием горизонтального прогнозирования; и
i
n
n
Фиг. 17 является пояснительным чертежом, показывающим пример параметров внутреннего прогнозирования (режима внутреннего прогнозирования), каждый из которых может быть выбран для каждого прогнозного блока P в блоке B кодирования.
Варианты осуществления изобретения
[0013] Далее, для того чтобы подробнее пояснять это изобретение, описываются предпочтительные варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
Вариант 1 осуществления
Фиг. 1 является блок-схемой, показывающей устройство кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения. Ссылаясь на фиг. 1, узел 1 разделения на блоки выполняет процесс, при приеме видеосигнала, показывающего введенное изображение, разделения введенного изображения на наибольшие блоки кодирования, которые являются блоками кодирования, имеющими максимальный размер, определенный посредством узла 2 управления кодированием, а также иерархического разделения каждого из наибольших блоков кодирования на блоки до тех пор, пока число иерархических уровней не достигнет верхнего предела на число иерархических уровней, который определяется посредством узла 2 управления кодированием. Более конкретно, узел 1 разделения на блоки выполняет процесс разделения введенного изображения на блоки кодирования согласно разделению, которое определяется посредством узла 2 управления кодированием, и вывода каждого из блоков кодирования. Каждый из блоков кодирования дополнительно разделяется на один или более прогнозных блоков, каждый из которых является единицей прогнозирования. Узел 1 разделения на блоки составляет модуль разделения на блоки.
[0014] Узел 2 управления кодированием выполняет процесс определения максимального размера каждого из блоков кодирования, который является единицей, которая должна быть обработана в момент, когда выполняется процесс прогнозирования, а также определения верхнего предела на число иерархических уровней, т.е. максимальной глубины иерархии в иерархии, в которой каждый из блоков кодирования, имеющих максимальный размер, иерархически разделяется на блоки, чтобы определять размер каждого из блоков кодирования. Узел 2 управления кодированием также выполняет процесс выбора режима кодирования, который обеспечивает наибольшую эффективность кодирования для каждого блока кодирования, выведенного из узла 1 разделения на блоки, из одного или более доступных режимов кодирования (одного или более режимов внутреннего кодирования и одного или более режимов внешнего кодирования). Узел 2 управления кодированием дополнительно выполняет процесс, когда режим кодирования, имеющий наибольшую эффективность кодирования, представляет собой режим внутреннего кодирования, определения параметров внутреннего прогнозирования, которые используются при выполнении процесса внутреннего прогнозирования для блока кодирования в режиме внутреннего кодирования для каждого прогнозного блока, который является единицей прогнозирования, а когда режим кодирования, имеющий наибольшую эффективность кодирования, представляет собой режим внешнего кодирования, определения параметров внешнего прогнозирования, которые используются при выполнении процесса внешнего прогнозирования для блока кодирования в режиме внешнего кодирования для каждого прогнозного блока, который является единицей прогнозирования. Узел 2 управления кодированием дополнительно выполняет процесс определения параметра кодирования разности прогнозирования, который узел управления кодированием предоставляет для узла 7 преобразования/квантования и узла 8 обратного квантования/обратного преобразования. Узел 2 управления кодированием составляет узел управления кодированием.
[0015] Переключатель 3 выбора выполняет процесс, когда режим кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внутреннего кодирования, вывода блока кодирования, выведенного из узла 1 разделения на блоки, в узел 4 внутреннего прогнозирования, а когда режим кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внешнего кодирования, вывода блока кодирования, выведенного из узла 1 разделения на блоки, в узел 5 прогнозирования с компенсированным движением.
[0016] Узел 4 внутреннего прогнозирования выполняет процесс выполнения процесса внутреннего прогнозирования (процесса внутрикадрового прогнозирования) в отношении каждого прогнозного блока, который является единицей прогнозирования, в блоке кодирования, выведенном из переключателя 3 выбора, посредством использования параметров внутреннего прогнозирования, определенных посредством узла 2 управления кодированием, чтобы формировать изображение внутреннего прогнозирования при обращении к локальному декодированному изображению, которое сохраняется в памяти 10 для внутреннего прогнозирования. Когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным, узел 4 внутреннего прогнозирования суммирует значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным, узел 4 внутреннего прогнозирования суммирует значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения. Модуль внутреннего прогнозирования состоит из узла 4 внутреннего прогнозирования и памяти 10 для внутреннего прогнозирования.
[0017] Узел 5 прогнозирования с компенсированным движением выполняет процесс сравнения блока кодирования, выведенного из переключателя 3 выбора, с локальным декодированным изображением одного или более кадров, сохраненных в памяти 12 кадров прогнозирования с компенсированным движением для каждой единицы прогнозного блока, которая является единицей прогнозирования, чтобы выполнять поиск вектора движения, и выполнения процесса внешнего прогнозирования (процесса прогнозирования с компенсированным движением) в отношении каждого прогнозного блока в блоке кодирования посредством использования как вектора движения, так и параметров внешнего прогнозирования, определенных посредством узла 2 управления кодированием, чтобы формировать изображение внешнего прогнозирования.
[0018] Узел 6 вычитания выполняет процесс вычитания изображения внутреннего прогнозирования, сформированного посредством узла 4 внутреннего прогнозирования, или изображения внешнего прогнозирования, сформированного посредством узла 5 прогнозирования с компенсированным движением, из блока кодирования, выведенного из узла 1 разделения на блоки, чтобы выводить прогнозный разностный сигнал (разностное изображение), который является результатом вычитания, в узел 7 преобразования/квантования. Узел 7 преобразования/квантования выполняет процесс выполнения процесса ортогонального преобразования (например, процесс DCT (дискретного косинусного преобразования) или ортогонального преобразования, такого как KL-преобразование, в котором основания заранее рассчитываются для конкретной последовательности обучения) в отношении прогнозного разностного сигнала, выведенного из узла 6 вычитания, посредством обращения к параметру кодирования разности прогнозирования, определенному посредством узла 2 управления кодированием, чтобы вычислять коэффициенты преобразования, а также квантования коэффициентов преобразования посредством обращения к параметру кодирования разности прогнозирования и затем вывода сжатых данных, которые являются коэффициентами преобразования, квантованными посредством него, в узел 8 обратного квантования/обратного преобразования и узел 13 кодирования с переменной длиной слова. Модуль квантования состоит из узла 6 вычитания и узла 7 преобразования/квантования.
[0019] Узел 8 обратного квантования/обратного преобразования выполняет процесс обратного квантования сжатых данных, выведенных из узла 7 преобразования/квантования, посредством обращения к параметру кодирования разности прогнозирования, определенному посредством узла 2 управления кодированием, а также выполнения процесса обратного ортогонального преобразования в отношении коэффициентов преобразования, которые являются сжатыми данными, обратно квантованными посредством него, посредством обращения к параметру кодирования разности прогнозирования, чтобы вычислять локальный декодированный прогнозный разностный сигнал, соответствующий прогнозному разностному сигналу, выведенному из узла 6 вычитания. Узел 9 суммирования выполняет процесс суммирования локального декодированного прогнозного разностного сигнала, вычисленного посредством узла 8 обратного квантования/обратного преобразования, и изображения внутреннего прогнозирования, сформированного посредством узла 4 внутреннего прогнозирования, или изображения внешнего прогнозирования, сформированного посредством узла 5 прогнозирования с компенсированным движением, чтобы вычислять локальное декодированное изображение, соответствующее блоку кодирования, выведенному из узла 1 разделения на блоки.
[0020] Память 10 для внутреннего прогнозирования является носителем записи для сохранения локального декодированного изображения, вычисленного посредством узла 9 суммирования. Узел 11 контурной фильтрации выполняет процесс выполнения предварительно определенного процесса фильтрации в отношении локального декодированного изображения, вычисленного посредством узла 9 суммирования, чтобы выводить локальное декодированное изображение, в отношении которого выполняется процесс фильтрации. Память 12 кадров прогнозирования с компенсированным движением является носителем записи для сохранения локального декодированного изображения, в отношении которого выполняется процесс фильтрации.
[0021] Узел 13 кодирования с переменной длиной слова выполняет процесс кодирования с переменной длиной слова сжатых данных, выведенных в него из узла 7 преобразования/квантования, выходного сигнала узла 2 управления кодированием (информации разделения на блоки относительно разделения каждого наибольшего блока кодирования, режима кодирования, параметра кодирования разности прогнозирования и параметров внутреннего прогнозирования или параметров внешнего прогнозирования) и вектора движения, выведенного из узла 5 прогнозирования с компенсированным движением (когда режим кодирования представляет собой режим внешнего кодирования), чтобы формировать поток битов. Узел 13 кодирования с переменной длиной слова составляет модуль кодирования с переменной длиной слова.
[0022] В примере, показанном на фиг. 1, узел 1 разделения на блоки, узел 2 управления кодированием, переключатель 3 выбора, узел 4 внутреннего прогнозирования, узел 5 прогнозирования с компенсированным движением, узел 6 вычитания, узел 7 преобразования/квантования, узел 8 обратного квантования/обратного преобразования, узел 9 суммирования, память 10 для внутреннего прогнозирования, узел 11 контурной фильтрации, память 12 кадров прогнозирования с компенсированным движением и узел 13 кодирования с переменной длиной слова, которые являются компонентами устройства кодирования движущихся изображений, могут состоять из элементов аппаратных средств для монопольного использования (например, интегральных схем, в каждой из которых установлен CPU, однокристальных микрокомпьютеров и т.п.), соответственно. В качестве альтернативы, устройство кодирования движущихся изображений может состоять из компьютера, и программа, в которой описываются процессы, выполняемые посредством узла 1 разделения на блоки, узла 2 управления кодированием, переключателя 3 выбора, узла 4 внутреннего прогнозирования, узла 5 прогнозирования с компенсированным движением, узла 6 вычитания, узла 7 преобразования/квантования, узла 8 обратного квантования/обратного преобразования, узла 9 суммирования, узла 11 контурной фильтрации и узла 13 кодирования с переменной длиной слова, может быть сохранена в памяти компьютера, и CPU компьютера может быть выполнен с возможностью исполнять программу, сохраненную в памяти. Фиг. 2 является блок-схемой последовательности операций способа, показывающей обработку (способ кодирования движущихся изображений), выполняемую посредством устройства кодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения.
[0023] Фиг. 3 является блок-схемой, показывающей устройство декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения. Ссылаясь на фиг. 3, узел 31 декодирования с переменной длиной слова выполняет процесс, при приеме потока битов, сформированного посредством устройства кодирования движущихся изображений, показанного на фиг. 1, декодирования с переменной длиной слова потока битов, чтобы получать сжатые данные, информацию разделения на блоки, режим кодирования, параметры внутреннего прогнозирования (когда режим кодирования представляет собой режим внутреннего кодирования), параметры внешнего прогнозирования (когда режим кодирования представляет собой режим внешнего кодирования), параметр кодирования разности прогнозирования и вектор движения (когда режим кодирования представляет собой режим внешнего кодирования). Узел 31 декодирования с переменной длиной слова составляет модуль декодирования с переменной длиной слова.
[0024] Узел 32 обратного преобразования/обратного квантования выполняет процесс обратного квантования сжатых данных, декодированных с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, посредством обращения к параметру кодирования разности прогнозирования, декодированному с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, а также выполнения процесса обратного ортогонального преобразования в отношении коэффициентов преобразования, которые являются сжатыми данными, обратно квантованными посредством него, посредством обращения к параметру кодирования разности прогнозирования, чтобы вычислять декодированный прогнозный разностный сигнал, который является идентичным локальному декодированному прогнозному разностному сигналу, выведенному из узла 8 обратного преобразования/обратного квантования, показанного на фиг. 1. Узел 32 обратного преобразования/обратного квантования составляет модуль обратного квантования.
[0025] Переключатель 33 выбора выполняет процесс, когда режим кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования, вывода параметров внутреннего прогнозирования, декодированных с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, в узел 34 внутреннего прогнозирования, а когда режим кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования, вывода параметров внешнего прогнозирования и вектора движения, которые декодируются с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, в узел 35 компенсации движения.
[0026] Узел 34 внутреннего прогнозирования выполняет процесс выполнения процесса внутреннего прогнозирования (процесса внутрикадрового прогнозирования) с использованием параметров внутреннего прогнозирования, выведенных из переключателя 33 выбора в отношении каждого прогнозного блока, который является единицей для процесса прогнозирования, в блоке декодирования, который указывается из информации разделения на блоки и режима кодирования, которые декодируются с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова (в блоке, соответствующему "блоку кодирования" в устройстве кодирования движущихся изображений, показанном на фиг. 1), чтобы формировать изображение внутреннего прогнозирования при обращении к декодированному изображению, которое сохраняется в памяти 37 для внутреннего прогнозирования. Когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным, узел 4 внутреннего прогнозирования суммирует значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным, узел 4 внутреннего прогнозирования суммирует значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения. Модуль внутреннего прогнозирования состоит из узла 34 внутреннего прогнозирования и памяти 37 для внутреннего прогнозирования.
[0027] Узел 35 компенсации движения выполняет процесс выполнения процесса внешнего прогнозирования (процесса прогнозирования с компенсированным движением) с использованием вектора движения и параметров внешнего прогнозирования, которые выводятся из переключателя 33 выбора в отношении каждого прогнозного блока, который является единицей прогнозирования, в блоке декодирования, указываемом из информации разделения на блоки и режима кодирования, которые декодируются с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова при обращении к декодированному изображению, сохраненному в памяти 39 кадров прогнозирования с компенсированным движением, чтобы формировать изображение внешнего прогнозирования. Узел 36 суммирования выполняет процесс суммирования декодированного прогнозного разностного сигнала, вычисленного посредством узла 32 обратного преобразования/обратного квантования, и изображения внутреннего прогнозирования, сформированного посредством узла 34 внутреннего прогнозирования, или изображения внешнего прогнозирования, сформированного посредством узла 35 компенсации движения, чтобы вычислять декодированное изображение, идентичное локальному декодированному изображению, выведенному из узла 9 суммирования, показанного на фиг. 1.
[0028] Память 37 для внутреннего прогнозирования является носителем записи для сохранения декодированного изображения, вычисленного посредством узла 36 суммирования. Узел 38 контурной фильтрации выполняет процесс выполнения предварительно определенного процесса фильтрации в отношении декодированного изображения, вычисленного посредством узла 36 суммирования, чтобы выводить декодированное изображение, в отношении которого выполняется процесс фильтрации. Память 39 кадров прогнозирования с компенсированным движением является носителем записи для сохранения декодированного изображения, в отношении которого выполняется процесс фильтрации.
[0029] В примере, показанном на фиг. 3, узел 31 декодирования с переменной длиной слова, узел 32 обратного квантования/обратного преобразования, переключатель 33 выбора, узел 34 внутреннего прогнозирования, узел 35 компенсации движения, узел 36 суммирования, память 37 для внутреннего прогнозирования, узел 38 контурной фильтрации и память 39 кадров прогнозирования с компенсированным движением, которые являются компонентами устройства декодирования движущихся изображений, могут состоять из элементов аппаратных средств для монопольного использования (например, интегральных схем, в каждой из которых установлен CPU, однокристальных микрокомпьютеров и т.п.), соответственно. В качестве альтернативы, устройство декодирования движущихся изображений может состоять из компьютера, и программа, в которой описываются процессы, выполняемые посредством узла 31 декодирования с переменной длиной слова, узла 32 обратного квантования/обратного преобразования, переключателя 33 выбора, узла 34 внутреннего прогнозирования, узла 35 компенсации движения, узла 36 суммирования и узла 38 контурной фильтрации, может быть сохранена в памяти компьютера, и CPU компьютера может быть выполнен с возможностью исполнять программу, сохраненную в памяти. Фиг. 4 является блок-схемой последовательности операций способа, показывающей обработку (способ декодирования движущихся изображений), выполняемую посредством устройства декодирования движущихся изображений в соответствии с вариантом 1 осуществления настоящего изобретения.
[0030] Далее поясняется работа устройства кодирования движущихся изображений и работа устройства декодирования движущихся изображений. В этом варианте 1 осуществления поясняется случай, в котором устройство кодирования движущихся изображений принимает изображение каждого кадра видеоизображения в качестве введенного изображения, выполняет либо внутреннее прогнозирование из уже кодированных смежных пикселей, либо прогнозирование с компенсированным движением между смежными кадрами, выполняет процесс сжатия согласно ортогональному преобразованию и квантованию в отношении прогнозного разностного сигнала, полученного таким способом, и после этого выполняет кодирование с переменной длиной слова, чтобы формировать поток битов, и устройство декодирования движущихся изображений декодирует поток битов, выведенный из устройства кодирования движущихся изображений.
[0031] Устройство кодирования движущихся изображений, показанное на фиг. 1, отличается тем, что устройство кодирования движущихся изображений выполнено с возможностью локальных изменений видеосигнала в пространственном направлении и в направлении времени, разделяет видеосигнал на блоки, имеющие различные размеры, и выполняет внутрикадровое и межкадровое адаптивное кодирование. В общем, видеосигнал имеет характеристику локального варьирования своей сложности в пространстве и времени. Может возникать случай, когда шаблон, имеющий равномерную характеристику сигналов в относительно большой области изображения, такого как изображение неба или изображение стены, либо шаблон, имеющий сложный шаблон текстуры в небольшой области изображения, такого как изображение человека или графическое изображение, включающее в себя мелкозернистую текстуру, также сосуществует в определенном видеокадре с точки зрения пространства. Также с точки зрения времени, относительно большая область изображения, такого как изображение неба или изображение стены, имеет небольшое локальное изменение в направлении времени в своем шаблоне, в то время как изображение движущегося человека или объекта имеет большее временное изменение, поскольку его контур имеет перемещение твердого тела и перемещение нетвердого тела относительно времени.
[0032] Хотя в процессе кодирования выполняется процесс формирования прогнозного разностного сигнала, имеющего небольшую мощность сигнала и небольшую энтропию, посредством использования временного и пространственного прогнозирования, тем самым уменьшая совокупный объем кода, объем кода для параметров, используемых для прогнозирования, может быть уменьшен при условии, что параметры могут применяться равномерно к максимально возможно большой области сигнала изображения. С другой стороны, поскольку величина ошибок, возникающих в прогнозировании, увеличивается, когда идентичный параметр прогнозирования применяется к большой области изображения в шаблоне сигнала изображения, имеющем большое изменение во времени и пространстве, возрастает объем кода прогнозного разностного сигнала. Следовательно, желательно применять идентичный параметр прогнозирования к области изображения, имеющей большое изменение во времени и пространстве, чтобы уменьшать размер блока для блока, который подвергается процессу прогнозирования, тем самым увеличивая объем данных для параметра, который используется для прогнозирования, и уменьшая энергию и энтропию прогнозного разностного сигнала.
[0033] В этом варианте 1 осуществления предоставляется структура, с тем чтобы выполнять кодирование, которое адаптировано для таких типичных характеристик видеосигнала, начала процесса прогнозирования и т.д. от предварительно определенного максимального размера блока сначала, иерархического разделения области видеосигнала на блоки и адаптации процесса прогнозирования и процесса кодирования для кодирования прогнозной разности к каждому из разделенных блоков.
[0034] Видеосигнал, имеющий формат, который должен быть обработан посредством устройства кодирования движущихся изображений по фиг. 1, может быть YUV-сигналом, который состоит из сигнала яркости и двух цветоразностных сигналов, или сигналом цветного видеоизображения в произвольном цветовом пространстве, к примеру, RGB-сигналом, выведенным из датчика цифровых изображений, сигналом монохромного изображения или сигналом инфракрасного изображения, либо произвольным видеосигналом, в котором каждый видеокадр состоит из последовательности цифровых выборок (пикселей) в двух измерениях, горизонтальном и вертикальном. Градация каждого пикселя может быть 8-битовой, 10-битовой или 12-битовой.
[0035] В нижеприведенном пояснении, для удобства описывается случай, в котором видеосигнал введенного изображения является YUV-сигналом, если не указано иное, и обрабатываются две цветоразностные компоненты U и V, которые являются сигналами, имеющими формат 4:2:0, которые субдискретизируются относительно компоненты Y сигнала яркости. Дополнительно, единица данных, которая должна быть обработана, которая соответствует каждому кадру видеосигнала, упоминается как "графическое изображение". В этом варианте 1 осуществления, хотя приводится пояснение, в котором "графическое изображение" является сигналом видеокадра, в отношении которого выполняется построчное сканирование, "графическое изображение" может быть альтернативно сигналом полевого изображения, который является единицей, которая составляет видеокадр, когда видеосигнал является чересстрочным сигналом.
[0036] Во-первых, поясняется обработка, выполняемая посредством устройства кодирования движущихся изображений, показанного на фиг. 1. Во-первых, узел 2 управления кодированием определяет размер каждого наибольшего блока кодирования, который используется для кодирования графического изображения (текущего графического изображения), которое является целью, которая должна быть кодирована, и верхний предел на число иерархических уровней, на которые разделяется каждый наибольший блок кодирования (этап ST1 по фиг. 2). В качестве способа определения размера каждого наибольшего блока кодирования, например, предусмотрен способ определения идентичного размера для всех графических изображений согласно разрешению видеосигнала введенного изображения и способ количественного определения изменения сложности локального перемещения видеосигнала введенного изображения в качестве параметра и затем определения небольшого размера для графического изображения, имеющего большое и интенсивное перемещение, при определении большого размера для графического изображения, имеющего небольшое перемещение. В качестве способа определения верхнего предела на число иерархических уровней, например, может быть предусмотрен способ определения идентичной глубины иерархии для всех графических изображений согласно разрешению видеосигнала введенного изображения и способ увеличения глубины иерархии, т.е. числа иерархических уровней, чтобы позволять обнаруживать более точное перемещение, когда видеосигнал введенного изображения имеет большее и более интенсивное перемещение, или снижения глубины иерархии, т.е. числа иерархических уровней, когда видеосигнал введенного изображения имеет меньшее перемещение.
[0037] Узел 2 управления кодированием также выбирает режим кодирования, соответствующий каждому из разделенных блоков кодирования, на которые иерархически разделяется введенное изображение, из одного или более доступных режимов кодирования (этап ST2). Более конкретно, узел 2 управления кодированием иерархически разделяет каждую область изображения, имеющую размер наибольшего блока кодирования, на блоки кодирования, имеющие размер блока кодирования, до тех пор, пока число иерархических уровней не достигнет верхнего предела на число иерархических уровней, т.е. максимальной глубины иерархии, которая определяется заранее, и определяет режим кодирования для каждого из блоков кодирования. Режим кодирования может быть одним из одного или более режимов внутреннего кодирования (обобщенно называемых "внутренними") или одного или более режимов внешнего кодирования (обобщенно называемых "внешними"), и узел 2 управления кодированием выбирает режим кодирования, соответствующий каждому из блоков кодирования, из числа всех режимов кодирования, доступных в графическом изображении, в данный момент обрабатываемом, или поднабора этих режимов кодирования.
[0038] Каждый из блоков кодирования, на которые введенное изображение иерархически разделяется посредством узла 1 разделения на блоки, который упоминается ниже, дополнительно разделяется на один или более прогнозных блоков, каждый из которых является единицей, в отношении которой должен быть выполнен процесс прогнозирования, и состояние разделения на один или более прогнозных блоков также включается в качестве информации в информацию режима кодирования. Хотя опускается подробное пояснение способа выбора режима кодирования для использования в узле 2 управления кодированием, поскольку способ выбора является известной технологией, предусмотрен способ выполнения процесса кодирования в отношении каждого блока кодирования посредством использования произвольного доступного режима кодирования, например, чтобы анализировать эффективность кодирования и выбирать режим кодирования, имеющий самый высокий уровень эффективности кодирования, из множества доступных режимов кодирования.
[0039] Узел 2 управления кодированием дополнительно определяет параметр квантования и размер блока преобразования, которые используются, когда разностное изображение сжимается для каждого блока кодирования, а также определяет параметры прогнозирования (параметры внутреннего прогнозирования или параметры внешнего прогнозирования), которые используются, когда выполняется процесс прогнозирования. Когда каждый блок кодирования дополнительно разделяется на прогнозные блоки, в отношении каждого из которых выполняется процесс прогнозирования, узел управления кодированием может выбирать параметры прогнозирования (параметры внутреннего прогнозирования или параметр внешнего прогнозирования) для каждого из прогнозных блоков. Помимо этого, поскольку когда процесс внутреннего прогнозирования выполняется в отношении каждого прогнозного блока в блоке кодирования, режим кодирования которого представляет собой режим внутреннего кодирования, используются уже кодированные пиксели, смежные с прогнозным блоком, необходимо выполнять кодирование в расчете на прогнозный блок, и, следовательно, выбираемые размеры блоков преобразования ограничены размером прогнозного блока или меньше. Узел 2 управления кодированием выводит параметры прогнозирующего разностного кодирования, включающие в себя параметр квантования и размер блока преобразования, в узел 7 преобразования/квантования, узел 8 обратного преобразования/обратного квантования и узел 13 кодирования с переменной длиной слова. Узел 2 управления кодированием также выводит параметры внутреннего прогнозирования в узел 4 внутреннего прогнозирования по мере необходимости. Узел 2 управления кодированием дополнительно выводит параметры внешнего прогнозирования в узел 5 прогнозирования с компенсированным движением по мере необходимости. При приеме видеосигнала введенного изображения узел 1 разделения на блоки разделяет видеосигнал введенного изображения на блоки кодирования, имеющие размер наибольшего блока кодирования, определенный посредством узла 2 управления кодированием, и дополнительно иерархически разделяет каждый из наибольших блоков кодирования, на которые разделяется введенное изображение, на блоки кодирования, причем эти блоки кодирования определяются посредством узла 2 управления кодированием, и выводит каждый из блоков кодирования.
0
0
n
n
n
n
n
n
[0040] Фиг. 5 является пояснительным чертежом, показывающим пример, в котором каждый наибольший блок кодирования иерархически разделяется на множество блоков кодирования. Ссылаясь на фиг. 5, каждый наибольший блок кодирования является блоком кодирования, компонента яркости которого, которая показывается посредством "0-вого иерархического уровня", имеет размер (L, M). Посредством выполнения иерархического разделения при том, что этот наибольший блок кодирования задан в качестве начальной точки, до тех пор, пока глубина иерархии не достигнет предварительно определенной глубины, которая задается отдельно согласно структуре в виде дерева квадрантов, могут быть получены блоки кодирования. На глубине n каждый блок кодирования является областью изображения, имеющей размер (L, M). В этом примере, хотя L может быть идентичным или отличаться от M, случай L=M показывается на фиг. 5.
n
n
n+1
n+1
n
n
n
n
n
n
[0041] Далее, размер блока кодирования, определенный посредством узла 2 управления кодированием, задается как размер (L, M) в компоненте сигнала яркости каждого блока кодирования. Поскольку выполняется разделение на дерево квадрантов, всегда устанавливается (L, M)=(L/2, M/2). В случае сигнала цветного видеоизображения (формат 4:4:4), в котором все цветовые компоненты имеют идентичное число выборок, к примеру, RGB-сигнала, все цветовые компоненты имеют размер (L, M), в то время как в случае обработки формата 4:2:0, соответствующая цветоразностная компонента имеет размер блока кодирования (L/2, M/2).
n
n
n
n
[0042] Далее, каждый блок кодирования на n-ном иерархическом уровне выражается как B, и режим кодирования, выбираемый для каждого блока B кодирования, выражается как m(B). В случае цветового видеосигнала, который состоит из множества цветовых компонент, режим m(B) кодирования может быть сконфигурирован таким образом, что отдельный режим используется для каждой цветовой компоненты, или может быть сконфигурирован таким образом, что общий режим используется для всех цветовых компонент. Далее, пояснение приводится при условии, что режим кодирования указывает режим для компоненты яркости блока кодирования, имеющего формат 4:2:0 в YUV-сигнале, если не указано иное.
n
n
n
n
n
n
n
n
i
i
i
[0043] Каждый блок B кодирования разделяется на один или более прогнозных блоков, показывающих единицу прогнозирования, посредством узла 1 разделения на блоки, как показано на фиг. 6. Далее, каждый прогнозный блок, принадлежащий каждому блоку B кодирования, выражается как P (i показывает номер прогнозного блока на n-ном иерархическом уровне). Пример P00 и P10 показывается на фиг. 5. То, как выполняется разделение каждого блока B кодирования на прогнозные блоки, включается в качестве информации в режим m(B) кодирования. Хотя процесс прогнозирования выполняется в отношении каждого из всех прогнозных блоков P согласно режиму m(B) кодирования, отдельные параметры прогнозирования (параметры внутреннего прогнозирования или параметры внешнего прогнозирования) могут быть выбраны для каждого прогнозного блока P.
n
n
n
[0044] Узел 2 управления кодированием формирует такое состояние разделения на блоки, как показано на фиг. 6, для каждого наибольшего блока кодирования и затем указывает блоки кодирования. Каждый прямоугольник, обведенный посредством пунктирной линии по фиг. 6(a), показывает блок кодирования, и каждый блок, заполненный заштрихованными линиями в каждом блоке кодирования, показывает состояние разделения каждого прогнозного блока. Фиг. 6(b) показывает случай, в котором режим m(B) кодирования назначается каждому узлу через разделение на иерархические уровни в примере по фиг. 6(a) показывается посредством использования графа в виде дерева квадрантов. Каждый узел, обведенный посредством , показанного на фиг. 6(b), представляет собой узел (блок кодирования), которому назначается режим m(B) кодирования. Информация относительно этого графа в виде дерева квадрантов выводится из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова вместе с режимом m(B) кодирования и мультиплексируется в поток битов.
n
n
n
n
n
n
[0045] Когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внутреннего кодирования (в случае m(B) ∈ "внутренний"), переключатель 3 выбора выводит блок B кодирования, выведенный из узла 1 разделения на блоки, в узел 4 внутреннего прогнозирования. Напротив, когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внешнего кодирования (в случае m(B) ∈ "внешний"), переключатель 3 выбора выводит блок B кодирования, выведенный из узла 1 разделения на блоки, в узел 5 прогнозирования с компенсированным движением.
n
n
n
n
n
n
n
n
i
INTRAi
INTRAi
INTRAi
[0046] Когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внутреннего кодирования (в случае m(B) ∈ "внутренний"), и узел 4 внутреннего прогнозирования принимает блок B кодирования из переключателя 3 выбора (этап ST3), узел 4 внутреннего прогнозирования выполняет процесс внутреннего прогнозирования в отношении каждого прогнозного блока P в блоке B кодирования посредством использования параметров внутреннего прогнозирования, определенных посредством узла 2 управления кодированием при обращении к локальному декодированному изображению, сохраненному в памяти 10 для внутреннего прогнозирования, чтобы формировать изображение P внутреннего прогнозирования (этап ST4). Поскольку устройство декодирования движущихся изображений должно формировать изображение внутреннего прогнозирования, которое является полностью идентичным изображению P внутреннего прогнозирования, параметры внутреннего прогнозирования, используемые для формирования изображения P внутреннего прогнозирования, выводятся из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова и мультиплексируются в поток битов. Ниже упоминаются подробности обработки, выполняемой посредством узла 4 внутреннего прогнозирования.
n
n
n
n
n
n
n
n
n
n
i
i
INTERi
INTERi
INTERi
[0047] Когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внешнего кодирования (в случае m(B) ∈ "внешний"), и узел 5 прогнозирования с компенсированным движением принимает блок B кодирования из переключателя 3 выбора (этап ST3), узел 5 прогнозирования с компенсированным движением сравнивает каждый прогнозный блок P в блоке B кодирования с локальным декодированным изображением, для которого выполняется процесс фильтрации и который сохраняется в памяти 12 кадров прогнозирования с компенсированным движением, чтобы выполнять поиск вектора движения, и выполняет процесс внешнего прогнозирования в отношении каждого прогнозного блока P в блоке B кодирования посредством использования как вектора движения, так и параметров внешнего прогнозирования, определенных посредством узла 2 управления кодированием, чтобы формировать изображение P внешнего прогнозирования (этап ST5). Поскольку устройство декодирования изображений должно формировать изображение внешнего прогнозирования, которое является полностью идентичным изображению P внешнего прогнозирования, параметры внешнего прогнозирования, используемые для формирования изображения P внешнего прогнозирования, выводятся из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова и мультиплексируются в поток битов. Вектор движения, поиск которого осуществляется посредством узла 5 прогнозирования с компенсированным движением, также выводится в узел 13 кодирования с переменной длиной слова и мультиплексируется в поток битов.
n
n
n
n
n
n
INTRAi
INTERi
i
i
[0048] При приеме блока B кодирования из узла 1 разделения на блоки узел 6 вычитания вычитает изображение P внутреннего прогнозирования, сформированное посредством узла 4 внутреннего прогнозирования, или изображение P внешнего прогнозирования, сформированное посредством узла 5 прогнозирования с компенсированным движением, из прогнозного блока P блока B кодирования и выводит прогнозный разностный сигнал e, который является результатом вычитания, в узел 7 преобразования/квантования (этап ST6).
i
i
n
n
[0049] При приеме прогнозного разностного сигнала e из узла 6 вычитания узел 7 преобразования/квантования выполняет процесс ортогонального преобразования (например, процесс DCT (дискретного косинусного преобразования) или ортогонального преобразования, такого как KL-преобразование, в котором основания заранее рассчитываются для конкретной последовательности обучения) в отношении прогнозного разностного сигнала e посредством обращения к параметрам кодирования разности прогнозирования, определенным посредством узла 2 управления кодированием, чтобы вычислять коэффициенты преобразования. Узел 7 преобразования/квантования также квантует коэффициенты преобразования посредством обращения к параметрам кодирования разности прогнозирования и затем выводит сжатые данные, которые являются коэффициентами преобразования, квантованными посредством него, в узел 8 обратного квантования/обратного преобразования и узел 13 кодирования с переменной длиной слова (этап ST7).
i
n
[0050] При приеме сжатых данных из узла 7 преобразования/квантования узел 8 обратного преобразования/обратного квантования обратно квантует сжатые данные посредством обращения к параметрам кодирования разности прогнозирования, определенным посредством узла 2 управления кодированием. Узел 8 обратного преобразования/обратного квантования также выполняет процессы обратного ортогонального преобразования (например, обратное DCT или обратное KL-преобразование) в отношении коэффициентов преобразования, которые являются сжатыми данными, обратно квантованными посредством обращения к параметрам кодирования разности прогнозирования, и вычисляет локальный декодированный прогнозный разностный сигнал, соответствующий прогнозному разностному сигналу e, выведенному из узла 6 вычитания, и выводит локальный декодированный прогнозный разностный сигнал в узел 9 суммирования (этап ST8).
INTRAi
INTERi
n
n
[0051] При приеме локального декодированного прогнозного разностного сигнала из узла 8 обратного преобразования/обратного квантования узел 9 суммирования вычисляет локальное декодированное изображение посредством суммирования локального декодированного прогнозного разностного сигнала и либо изображения P внутреннего прогнозирования, сформированного посредством узла 4 внутреннего прогнозирования, либо изображения P внешнего прогнозирования, сформированного посредством узла 5 прогнозирования с компенсированным движением (этап ST9). Узел 9 суммирования выводит локальное декодированное изображение в узел 11 контурной фильтрации при сохранении локального декодированного изображения в памяти 10 для внутреннего прогнозирования. Это локальное декодированное изображение является сигналом кодированного изображения, который используется во время последующих процессов внутреннего прогнозирования.
[0052] При приеме локального декодированного изображения из узла 9 суммирования узел 11 контурной фильтрации выполняет предварительно определенный процесс фильтрации в отношении локального декодированного изображения и сохраняет локальное декодированное изображение, в отношении которого узел контурной фильтрации выполняет процесс фильтрации, в памяти 12 кадров прогнозирования с компенсированным движением (этап ST10). Процесс фильтрации посредством узла 11 контурной фильтрации может быть выполнен в отношении каждого наибольшего блока кодирования локального декодированного изображения, введенного в него, или каждого блока кодирования локального декодированного изображения, введенного в него. В качестве альтернативы, после того, как вводится одно графическое изображение из локальных декодированных изображений, узел контурной фильтрации может выполнять процесс фильтрации в отношении графического изображения из локальных декодированных изображений за раз. В качестве примеров предварительно определенного процесса фильтрации, может предоставляться процесс фильтрации границы блока между блоками кодирования таким образом, что неоднородность (блочный шум) на границе не становится заметной, процесс фильтрации для компенсации искажения, возникающего в локальном декодированном изображении, таким образом, что ошибка между видеосигналом, показанным на фиг. 1, который является введенным изображением, и локальным декодированным изображением минимизируется, и т.д. Поскольку узел 11 контурной фильтрации должен обращаться к видеосигналу при выполнении процесса фильтрации для компенсации искажения, возникающего в локальном декодированном изображении, таким образом, что ошибка между видеосигналом, показанным на фиг. 1, который является введенным изображением, и локальным декодированным изображением минимизируется, существует необходимость модифицировать устройство кодирования движущихся изображений, показанное на фиг. 1, таким образом, что видеосигнал вводится в узел 11 контурной фильтрации.
n
n
[0053] Устройство кодирования движущихся изображений многократно выполняет процессы этапов ST3-ST9 до тех пор, пока устройство кодирования движущихся изображений не завершит обработку в отношении всех блоков B кодирования, на которые иерархически разделяется введенное изображение, и при завершении обработки в отношении всех блоков B кодирования переходит к процессу этапа ST13 (этапы ST11 и ST12).
n
[0054] Узел 13 кодирования с переменной длиной слова энтропийно кодирует сжатые данные, выведенные в него из узла 7 преобразования/квантования, информацию разделения на блоки относительно разделения каждого наибольшего блока кодирования на блоки, которая выводится из узла 2 управления кодированием (информацию дерева квадрантов, которая показывается на фиг. 6(b) в качестве примера), режим m(B) кодирования и параметры прогнозирующего разностного кодирования, параметры внутреннего прогнозирования (когда режим кодирования представляет собой режим внутреннего кодирования) или параметры внешнего прогнозирования (когда режим кодирования представляет собой режим внешнего кодирования), выведенные из узла 2 управления кодированием, и вектор движения, выведенный из узла 5 прогнозирования с компенсированным движением (когда режим кодирования представляет собой режим внешнего кодирования), и формирует поток битов, показывающий эти кодированные результаты (этап ST13).
i
n
n
[0055] Далее подробнее поясняется обработка, выполняемая посредством узла 4 внутреннего прогнозирования. Фиг. 7 является пояснительным чертежом, показывающим пример параметров внутреннего прогнозирования (режима внутреннего прогнозирования), которые могут быть выбраны для каждого прогнозного блока P в блоке B кодирования. На фиг. 7 показаны режимы внутреннего прогнозирования и векторы направления прогнозирования, представленные посредством каждого из режимов внутреннего прогнозирования. В примере по фиг. 7, согласно расчетам относительный угол между векторами направления прогнозирования становится небольшим с увеличением числа выбираемых режимов внутреннего прогнозирования.
i
i
INTRAi
i
n
n
n
n
[0056] Узел 4 внутреннего прогнозирования выполняет процесс внутреннего прогнозирования в отношении каждого прогнозного блока P посредством обращения к параметрам внутреннего прогнозирования прогнозного блока P, чтобы формировать изображение P внутреннего прогнозирования, как упомянуто выше. Далее поясняется внутренний процесс формирования сигнала внутреннего прогнозирования прогнозного блока P в сигнале яркости.
i
i
i
i
i
i
i
i
i
i
i
i
n
n
n
n
n
n
n
n
n
n
n
n
[0057] Предполагается, что размер прогнозного блока P составляет lxm пикселей. Фиг. 8 является пояснительным чертежом, показывающим пример пикселей, которые используются при формировании прогнозированного значения каждого пикселя в прогнозном блоке P в случае l=m=4. Хотя (2xl+1) уже кодированных пикселей, расположенных выше прогнозного блока P, и (2xm) уже кодированных пикселей, расположенных слева от прогнозного блока P, задаются в качестве пикселей, используемых для прогнозирования в примере по фиг. 8, для прогнозирования может использоваться большее число или меньшее число пикселей, чем пиксели, показанные на фиг. 8. Дополнительно, хотя одна строка или столбец пикселей, смежных с прогнозным блоком P, используется для прогнозирования в примере, показанном на фиг. 8, для прогнозирования альтернативно могут использоваться две или более строк или столбцов пикселей, смежных с прогнозным блоком P.
i
i
n
n
[0058] Когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 0 (вертикальное прогнозирование), узел внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно следующему уравнению (1), чтобы формировать прогнозное изображение.
,
i
n
где координаты (x, y) являются относительными координатами, которые определяются с помощью пикселя в верхнем левом углу прогнозного блока P, заданного как начало координат (см. фиг. 9), и S'(x, y) представляет собой прогнозированное значение с координатами (x, y), а S(x, y) представляет собой значение яркости (декодированное значение яркости) уже кодированного пикселя с координатами (x, y).
i
i
n
n
[0059] Посредством такого суммирования значения, пропорционального (S(-1, y)-S(-1, -1)), показывающего величину изменения в вертикальном направлении значений яркости уже кодированных пикселей (пикселей, обведенных посредством прямоугольника с жирным контуром, показанного на фиг. 10), смежных с левой частью прогнозного блока P (т.е. значение, которое получается посредством масштабирования (S(-1, y)-S(-1, -1)), показывающего величину изменения в вертикальном направлении значений яркости уже кодированных пикселей на коэффициент 1/t), со значением яркости S(x, -1) уже кодированного пикселя, смежного с верхней частью прогнозного блока P, которое представляет собой прогнозированное значение, на основе традиционного вертикального прогнозирования (MPEG-4 AVC/H.264), чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, может быть реализовано вертикальное прогнозирование, которое соответствует всем изменениям значения яркости в направлении прогнозирования. В это время, когда вышеуказанное прогнозированное значение не попадает в диапазон значений, которые может иметь значение яркости, вышеуказанное прогнозированное значение округляется в меньшую или большую сторону таким образом, что оно попадает в диапазон.
x+1
n
n
n
n
n
n
n
i
i
i
i
i
i
i
[0060] Вышеуказанный коэффициент 1/t может быть фиксированным значением или переменной, которая меняется в зависимости от координат (x, y). Например, поскольку значения масштабирования, начиная со значения для пикселей в левом столбце, уменьшаются следующим образом: 1/2, 1/4, 1/8 и 1/16, когда t=2, как показано на фиг. 11, величина изменения в вертикальном направлении значений яркости, которые должны суммироваться, снижается с расстоянием от уже кодированных пикселей, смежных с левой частью прогнозного блока P. Как результат, поскольку чем больше расстояние от уже кодированных пикселей, смежных с левой частью прогнозного блока P, и, следовательно, чем более низкую корреляцию с уже кодированными пикселями имеет целевой пиксель, который должен быть прогнозирован, тем меньшее влияние уже кодированных пикселей, смежных с левой частью прогнозного блока P, может оказываться на целевой пиксель, который должен быть прогнозирован, высокоточное прогнозирование согласно корреляции с уже кодированными пикселями, смежными с левой частью прогнозного блока P, может быть выполнено. Помимо этого, размер блока для прогнозного блока P, для которого выполняется процесс прогнозирования на основе уравнения (1), может быть ограничен. В общем, блок, имеющий больший размер блока, проще подвергается различным изменениям сигнала, и иногда возникают случаи, в которых процесс прогнозирования в отношении такого блока может быть выполнен с использованием направленного прогнозирования с высокой степенью точности. Следовательно, например, уравнение (1) вообще не применяется к прогнозным блокам P, имеющим размер блока 16×16 пикселей или больше, и прогнозированное значение на основе традиционного вертикального прогнозирования (значение яркости S(x, -1) уже кодированного пикселя, смежного с верхней частью прогнозного блока P) задается в качестве прогнозированного значения прогнозного изображения, в то время как уравнение (1) применяется только к блокам, имеющим размер, меньший 16×16 пикселей, за счет этого позволяя подавлять увеличение объема вычислений при повышении производительности прогнозирования по сравнению со случаем использования традиционного вертикального прогнозирования.
i
i
n
n
[0061] Дополнительно, когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 1 (горизонтальное прогнозирование), узел внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно следующему уравнению (2), чтобы формировать прогнозное изображение.
,
i
n
где координаты (x, y) являются относительными координатами, которые определяются с помощью пикселя в верхнем левом углу прогнозного блока P, заданного как начало координат (см. фиг. 9), и S'(x, y) представляет собой прогнозированное значение с координатами (x, y), а S(x, y) представляет собой значение яркости (декодированное значение яркости) уже кодированного пикселя с координатами (x, y).
i
i
n
n
[0062] Посредством такого суммирования значения, пропорционального (S(x, -1)-S(-1, -1)), показывающего величину изменения в горизонтальном направлении значений яркости уже кодированных пикселей (пикселей, обведенных посредством прямоугольника с жирным контуром, показанного на фиг. 12), смежных с верхней частью прогнозного блока P (т.е. значения, которое получается посредством масштабирования (S(x, -1)-S(-1, -1)), показывающего величину изменения в горизонтальном направлении значений яркости уже кодированных пикселей на коэффициент 1/u), со значением яркости S(-1, y) уже кодированного пикселя, смежного с левой частью прогнозного блока P, которое представляет собой прогнозированное значение, на основе традиционного горизонтального прогнозирования (MPEG-4 AVC/H.264), чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, может быть реализовано горизонтальное прогнозирование, которое соответствует всем изменениям значения яркости в направлении прогнозирования. В это время, когда вышеуказанное прогнозированное значение не попадает в диапазон значений, которые может иметь значение яркости, вышеуказанное прогнозированное значение округляется в меньшую или большую сторону таким образом, что оно попадает в диапазон.
y+1
n
n
n
n
n
n
n
i
i
i
i
i
i
i
[0063] Вышеуказанный коэффициент 1/u может быть фиксированным значением или может быть переменной, которая меняется в зависимости от координат (x, y). Например, поскольку значения масштабирования начиная со значения для пикселей в верхней строке уменьшаются следующим образом: 1/2, 1/4, 1/8 и 1/16, когда u=2, как показано на фиг. 13, величина изменения в горизонтальном направлении значений яркости, которые должны суммироваться, снижается с расстоянием от уже кодированных пикселей, смежных с верхней частью прогнозного блока P. Как результат, поскольку чем больше расстояние от уже кодированных пикселей, смежных с верхней частью прогнозного блока P, и, следовательно, чем более низкую корреляцию с уже кодированными пикселями имеет целевой пиксел, который должен быть прогнозирован, тем меньшее влияние уже кодированных пикселей, смежных с верхней частью прогнозного блока P, может оказываться на целевой пиксел, который должен быть прогнозирован, высокоточное прогнозирование согласно корреляции с уже кодированными пикселями, смежными с верхней частью прогнозного блока P, может быть выполнено. Помимо этого, размер блока для прогнозного блока P, для которого выполняется процесс прогнозирования на основе уравнения (2), может быть ограничен. В общем, блок, имеющий больший размер блока, проще подвергается различным изменениям сигнала, и иногда возникают случаи, в которых процесс прогнозирования в отношении такого блока может быть выполнен с использованием направленного прогнозирования с высокой степенью точности. Следовательно, например, уравнение (2) вообще не применяется к прогнозным блокам P, имеющим размер блока 16×16 пикселей или больше, и прогнозированное значение на основе традиционного горизонтального прогнозирования (значение яркости S(-1, y) уже кодированного пикселя, смежного с левой частью прогнозного блока P) задается в качестве прогнозированного значения прогнозного изображения, в то время как уравнение (2) применяется только к блокам, имеющим размер, меньший 16×16 пикселей, за счет этого позволяя подавлять увеличение объема вычислений при повышении производительности прогнозирования по сравнению со случаем использования традиционного горизонтального прогнозирования.
i
i
i
i
i
p
i
i
n
n
n
n
n
n
n
[0064] Дополнительно, когда значение индекса, указывающее режим внутреннего прогнозирования для прогнозного блока P, равно 2 (прогнозирование по среднему), узел внутреннего прогнозирования формирует прогнозное изображение посредством задания среднего уже кодированных пикселей, смежных с верхней частью прогнозного блока P, и уже кодированных пикселей, смежных с левой частью прогнозного блока P, в качестве прогнозированного значения каждого пикселя в прогнозном блоке P. Когда значение индекса, указывающее режим внутреннего прогнозирования, является отличным от 0 (вертикальное прогнозирование), 1 (горизонтальное прогнозирование) и 2 (прогнозирование по среднему), узел внутреннего прогнозирования формирует прогнозированное значение каждого пикселя в прогнозном блоке P на основе вектора направления прогнозирования υ=(dx, dy), показанного посредством значения индекса. Как показано на фиг. 9, когда относительные координаты каждого пикселя в прогнозном блоке P выражаются как (x, y) с помощью пикселя в верхнем левом углу прогнозного блока P, заданного как начало координат, каждый опорный пиксель, который используется для прогнозирования, находится в точке пересечения L, показанного ниже, и смежного пикселя.
,
где k является отрицательным скалярным значением.
i
INTRAi
INTRAi
n
n
n
[0065] Когда опорный пиксель находится в целочисленнопиксельной позиции, значение соответствующего целочисленного пикселя определяется в качестве прогнозированного значения целевого пикселя, который должен быть прогнозирован, тогда как когда опорный пиксель не находится в целочисленнопиксельной позиции, значение интерполяционного пикселя, сформированного из целочисленных пикселей, которые являются смежными с опорным пикселом, определяется в качестве прогнозированного значения целевого пикселя, который должен быть прогнозирован. В примере, показанном на фиг. 8, поскольку опорный пиксель не находится в целочисленнопиксельной позиции, прогнозированное значение интерполируется из значений двух пикселей, смежных с опорным пикселом. Узел внутреннего прогнозирования может использовать не только смежные два пикселя, но также и один или более смежных пикселей для того, чтобы формировать интерполяционный пиксель, и определять значение этого интерполяционного пикселя в качестве прогнозированного значения. Хотя увеличение числа пикселей, используемых для интерполяционного процесса, обеспечивает преимущество повышения точности вычисления интерполяционного пикселя, поскольку степень сложности вычислений, требуемых для интерполяционного процесса, увеличивается с увеличением числа пикселей, используемых для интерполяционного процесса, предпочтительно формировать интерполяционный пиксель из большего числа пикселей в случае, если устройство кодирования движущихся изображений требует высокой производительности кодирования, даже если арифметическая нагрузка является большой. Согласно идентичной процедуре, узел внутреннего прогнозирования формирует прогнозные пиксели для всех пикселей сигнала яркости в прогнозном блоке P и выводит изображение P внутреннего прогнозирования. Параметры внутреннего прогнозирования, используемые для формирования изображения P внутреннего прогнозирования, выводятся в узел 13 кодирования с переменной длиной слова, чтобы мультиплексировать параметры внутреннего прогнозирования в поток битов.
[0066] Как и в случае внутреннего прогнозирования для блока 8×8 пикселей в MPEG-4 AVC/H.264, поясненного ранее, в качестве пикселей, которые используются при выполнении внутреннего прогнозирования, вместо самих пикселей в уже кодированном смежном блоке альтернативно могут использоваться пиксели, в отношении которых выполняется процесс фильтрации.
i
n
[0067] Узел внутреннего прогнозирования также выполняет процесс внутреннего прогнозирования на основе параметров внутреннего прогнозирования (режима внутреннего прогнозирования) в отношении каждого из цветоразностных сигналов прогнозного блока P согласно процедуре, идентичной процедуре, согласно которой узел внутреннего прогнозирования выполняет процесс внутреннего прогнозирования в отношении сигнала яркости, и выводит параметры внутреннего прогнозирования, используемые для формирования изображения внутреннего прогнозирования, в узел 13 кодирования с переменной длиной слова. Параметры внутреннего прогнозирования (режим внутреннего прогнозирования), выбираемые для цветоразностных сигналов, не должны быть идентичными параметрам внутреннего прогнозирования (режиму внутреннего прогнозирования) для сигнала яркости, и традиционный способ прогнозирования (MPEG-4 AVC/H.264) может использоваться для вертикального прогнозирования и для горизонтального прогнозирования. Например, в случае формата YUV 4:2:0, каждый из цветоразностных сигналов (U- и V-сигналов) представляет собой сигнал, разрешение которого уменьшается до половины разрешения сигнала яркости (Y-сигнала) как в горизонтальном направлении, так и в вертикальном направлении, и сложность каждого из цветоразностных сигналов ниже сложности сигнала яркости, и, следовательно, прогнозирование может быть выполнено в отношении каждого из цветоразностных сигналов проще, чем в отношении сигнала яркости. Следовательно, посредством уменьшения числа выбираемых параметров внутреннего прогнозирования (режима внутреннего прогнозирования) для каждого из цветоразностных сигналов так, что оно меньше указанного числа для сигнала яркости, и использования традиционного простого способа прогнозирования для каждого из вертикального и горизонтального прогнозирований, уменьшение объема кода, требуемого для того, чтобы кодировать параметры внутреннего прогнозирования (режим внутреннего прогнозирования), и уменьшение объема вычислений, требуемых для того, чтобы выполнять процесс прогнозирования, может быть реализовано без очень существенного снижения эффективности прогнозирования.
[0068] 1/t, который представляет собой значение масштабирования, используемое для вертикального прогнозирования, и 1/u, который представляет собой значение масштабирования, используемое для горизонтального прогнозирования, могут быть предварительно определены между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений. В качестве альтернативы, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений может выводить t и u в узел 13 кодирования с переменной длиной слова в расчете на последовательность или в расчете на графическое изображение, узел 13 кодирования с переменной длиной слова может кодировать с переменной длиной слова t и u и затем включать кодированные данные t и u в поток битов, и устройство декодирования движущихся изображений может декодировать с переменной длиной слова кодированные данные в потоке битов, чтобы получать t и u и использовать t и u. Посредством такой возможности адаптивно управлять t и u в расчете на последовательность или в расчете на графическое изображение, устройство кодирования движущихся изображений может обеспечивать большую применимость процесса прогнозирования для характеристик видеосигнала введенного изображения.
[0069] Дополнительно, размер блока, для которого используется вертикальное прогнозирование на основе уравнения (1), и размер блока, для которого используется горизонтальное прогнозирование на основе уравнения (2), могут быть предварительно определены между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений. В качестве альтернативы, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений может выводить флаг активации/деактивации, который задается для каждого размера блока, показывающий то, используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2) для размера блока, в узел 13 кодирования с переменной длиной слова в расчете на последовательность или в расчете на графическое изображение, узел 13 кодирования с переменной длиной слова может кодировать с переменной длиной слова вышеуказанный флаг активации/деактивации и включать кодированные данные флага активации/деактивации в поток битов, и устройство декодирования движущихся изображений может декодировать с переменной длиной слова кодированные данные в потоке битов, чтобы получать вышеуказанный флаг активации/деактивации и использовать вышеуказанный флаг активации/деактивации. Посредством такой возможности адаптивно управлять размером блока, для которого используется вертикальное прогнозирование на основе уравнения (1), и размером блока, для которого используется горизонтальное прогнозирование на основе уравнения (2), в расчете на последовательность или в расчете на графическое изображение, устройство кодирования движущихся изображений может обеспечивать большую применимость процесса прогнозирования для характеристик видеосигнала введенного изображения.
[0070] Далее подробно поясняется обработка, выполняемая посредством устройства декодирования движущихся изображений, показанного на фиг. 3. При приеме потока битов, сформированного посредством устройства кодирования движущихся изображений, показанного на фиг. 1, узел 31 декодирования с переменной длиной слова выполняет процесс декодирования с переменной длиной слова для потока битов (этап ST21 по фиг. 4) и декодирует информацию размера кадра в расчете на последовательность, причем каждая последовательность состоит из одного или более кадров графических изображений, либо в расчете на графическое изображение. В это время, когда даже любое одно из параметра t значения масштабирования, используемого для вертикального прогнозирования, параметра u значения масштабирования, используемого для горизонтального прогнозирования, и флага активации/деактивации, который задается для каждого размера блока, показывающего то, используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2) для размера блока, кодируется с переменной длиной слова и мультиплексируется в поток битов, устройство декодирования движущихся изображений декодирует кодированные данные в единицах, в которых устройство кодирования движущихся изображений, показанное на фиг. 1, выполняет процесс кодирования (в расчете на последовательность или в расчете на графическое изображение).
[0071] Узел 31 декодирования с переменной длиной слова определяет наибольший размер блока кодирования и верхний предел на число разделенных иерархических уровней, которые определяются посредством узла 2 управления кодированием устройства кодирования движущихся изображений, показанного на фиг. 1, согласно процедуре, идентичной процедуре, согласно которой работает устройство кодирования движущихся изображений (этап ST22). Например, когда размер наибольшего блока кодирования и верхний предел на число разделенных иерархических уровней определяются согласно разрешению видеосигнала, узел декодирования с переменной длиной слова определяет размер наибольшего блока кодирования на основе декодированной информации размера кадра и согласно процедуре, идентичной процедуре, согласно которой работает устройство кодирования движущихся изображений. Когда наибольший размер блока кодирования и верхний предел на число разделенных иерархических уровней мультиплексируются в поток битов посредством устройства кодирования движущихся изображений, узел декодирования с переменной длиной слова использует значения, декодированные из потока битов. Далее, вышеуказанный размер наибольшего блока кодирования упоминается как размер наибольшего блока декодирования, и наибольший блок кодирования упоминается как наибольший блок декодирования в устройстве декодирования движущихся изображений. Узел 31 декодирования с переменной длиной слова декодирует состояние разделения каждого наибольшего блока декодирования, как показано на фиг. 6, для каждого определенного наибольшего блока декодирования. Узел декодирования с переменной длиной слова иерархически указывает блоки декодирования (т.е. блоки, соответствующие "блокам кодирования", которые обрабатываются посредством устройства кодирования движущихся изображений, показанного на фиг. 1) на основе декодированного состояния разделения (этап ST23).
[0072] Узел 31 декодирования с переменной длиной слова затем декодирует режим кодирования, назначаемый каждому блоку декодирования. Узел декодирования с переменной длиной слова разделяет каждый блок декодирования на один или более прогнозных блоков, каждый из которых является единицей для процесса прогнозирования, на основе информации, включенной в декодированный режим кодирования, и декодирует параметры прогнозирования, назначаемые каждому из одного или более прогнозных блоков (этап ST24).
[0073] Когда режим кодирования, назначаемый блоку декодирования, представляет собой режим внутреннего кодирования, узел 31 декодирования с переменной длиной слова декодирует параметры внутреннего прогнозирования для каждого из одного или более прогнозных блоков, которые включаются в блок декодирования, и каждый из которых является единицей прогнозирования. Узел 31 декодирования с переменной длиной слова дополнительно разделяет блок декодирования на один или более блоков преобразования, каждый из которых является единицей для процесса преобразования, на основе информации размера блока преобразования, включенной в параметры прогнозирующего разностного кодирования, и декодирует сжатые данные (коэффициенты преобразования, преобразованные и квантованные) относительно каждого блока преобразования (этап ST24).
n
n
n
n
[0074] Когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования (когда m(B) ∈ "внутренний"), переключатель 33 выбора выводит параметры внутреннего прогнозирования каждой единицы прогнозного блока, которые декодируются с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, в узел 34 внутреннего прогнозирования. Напротив, когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования (когда m(B) ∈ "внешний"), переключатель выбора выводит параметры внешнего прогнозирования и вектор движения каждой единицы прогнозного блока, которые декодируются с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, в узел 35 компенсации движения.
n
n
n
n
n
n
n
n
n
n
n
n
n
i
INTRAi
i
i
INTRAi
i
i
INTRAi
i
i
[0075] Когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования (m(B) ∈ "внутренний") (этап ST25), узел 34 внутреннего прогнозирования принимает параметры внутреннего прогнозирования каждой единицы прогнозного блока, выведенные из переключателя 33 выбора, и выполняет процесс внутреннего прогнозирования для каждого прогнозного блока P в блоке B декодирования с использованием вышеуказанных параметров внутреннего прогнозирования посредством обращения к декодированному изображению, сохраненному в памяти 37 для внутреннего прогнозирования, чтобы формировать изображение P внутреннего прогнозирования согласно процедуре, идентичной процедуре, которую использует узел 4 внутреннего прогнозирования, показанный на фиг. 1 (этап ST26). Более конкретно, когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 0 (вертикальное прогнозирование), узел 34 внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно вышеуказанному уравнению (1), чтобы формировать изображение P внутреннего прогнозирования. Дополнительно, когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 1 (горизонтальное прогнозирование), узел 34 внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно вышеуказанному уравнению (2), чтобы формировать изображение P внутреннего прогнозирования. В этом случае, когда размер блока, для которого используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2), ограничен, процесс внутреннего прогнозирования на основе традиционного вертикального или горизонтального прогнозирования (MPEG-4 AVC/H.264) выполняется в отношении прогнозного блока P, когда прогнозный блок P имеет размер, отличный от размера блока, для которого используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2).
n
n
n
n
i
INTERi
[0076] Когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования (m(B) ∈ "внешний") (этап ST25), узел 35 компенсации движения принимает вектор движения и параметры внешнего прогнозирования каждой единицы прогнозного блока, которые выводятся из переключателя 33 выбора, и выполняет процесс внешнего прогнозирования в отношении каждого прогнозного блока P в блоке декодирования с использованием вышеуказанного вектора движения и вышеуказанных параметров внешнего прогнозирования при обращении к декодированному изображению, которое сохраняется в памяти 39 кадров прогнозирования с компенсированным движением, и в отношении которого выполняется процесс фильтрации, чтобы формировать изображение P внешнего прогнозирования (этап ST27).
[0077] При приеме сжатых данных и параметров прогнозирующего разностного кодирования из узла 31 декодирования с переменной длиной слова, узел 32 обратного квантования/обратного преобразования обратно квантует сжатые данные посредством обращения к параметрам кодирования разности прогнозирования согласно процедуре, идентичной процедуре, согласно которой работает узел 8 обратного квантования/обратного преобразования, показанный на фиг. 1, а также выполняет процесс обратного ортогонального преобразования в отношении коэффициентов преобразования, которые являются сжатыми данными, которые модуль обратного квантования/обратного преобразования обратно квантует посредством обращения к параметрам кодирования разности прогнозирования, чтобы вычислять декодированный прогнозный разностный сигнал, который является идентичным локальному декодированному прогнозному разностному сигналу, выведенному из узла 8 обратного преобразования/обратного квантования, показанного на фиг. 1 (этап ST28).
INTRAi
INTERi
n
n
[0078] Узел 36 суммирования суммирует декодированный прогнозный разностный сигнал, вычисленный посредством узла 32 обратного преобразования/обратного квантования, и либо изображение P внутреннего прогнозирования, сформированное посредством узла 34 внутреннего прогнозирования, либо изображение P внешнего прогнозирования, сформированное посредством узла 35 компенсации движения, чтобы вычислять декодированное изображение и выводить это декодированное изображение в узел 38 контурной фильтрации, а также сохраняет декодированное изображение в памяти 37 для внутреннего прогнозирования (этап ST29). Это декодированное изображение является сигналом декодированного изображения, который используется во время последующих процессов внутреннего прогнозирования.
n
[0079] При завершении процессов этапов ST23-ST29 для всех блоков B декодирования (этап ST30), узел 38 контурной фильтрации выполняет предварительно определенный процесс фильтрации в отношении декодированного изображения, выведенного из узла 36 суммирования, и сохраняет декодированное изображение, в отношении которого узел контурной фильтрации выполняет процесс фильтрации, в памяти 39 кадров прогнозирования с компенсированным движением (этап ST31). Процесс фильтрации посредством узла 38 контурной фильтрации может быть выполнен в отношении каждого наибольшего блока декодирования декодированного изображения, введенного в него, или каждого блока декодирования декодированного изображения, введенного в него. В качестве альтернативы, после того, как вводится одно графическое изображение из декодированных изображений, узел контурной фильтрации может выполнять процесс фильтрации в отношении графического изображения из декодированных изображений за раз. В качестве примеров предварительно определенного процесса фильтрации, может предоставляться процесс фильтрации границы блока между блоками кодирования таким образом, что неоднородность (блочный шум) на границе не становится заметной, процесс фильтрации для компенсации искажения, возникающего в декодированном изображении, и т.д. Это декодированное изображение является опорным изображением для прогнозирования с компенсированным движением, а также является воспроизведенным изображением.
[0080] Как можно видеть из вышеприведенного описания, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений согласно этому варианту 1 осуществления имеет такую структуру, чтобы когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным, суммировать значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным, суммировать значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения. Следовательно, обеспечивается преимущество возможности реализовывать высокоточное прогнозирование, в силу этого повышая качество изображений, даже когда значение сигнала варьируется вдоль направления прогнозирования.
[0081] Дополнительно, узел 34 внутреннего прогнозирования устройства декодирования движущихся изображений согласно этому варианту 1 осуществления имеет такую структуру, чтобы когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным, суммировать значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным, суммировать значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения. Следовательно, обеспечивается преимущество возможности реализовывать высокоточное прогнозирование, в силу этого повышая качество изображений, даже когда значение сигнала варьируется вдоль направления прогнозирования.
[0082] Согласно этому варианту 1 осуществления, поскольку 1/u, который представляет собой значение масштабирования, используемое, когда процесс горизонтального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, конфигурируется таким образом, что значение масштабирования, заданное для каждой строки в прогнозном блоке, снижается с расстоянием от пикселей, смежных с верхней частью прогнозного блока, чем больше расстояние от пикселей, смежных с верхней частью прогнозного блока, и, следовательно, чем более низкую корреляцию с пикселями имеет целевой пиксел, который должен быть прогнозирован, тем меньшее влияние пикселей, смежных с верхней частью прогнозного блока, может оказываться на целевой пиксел, который должен быть прогнозирован. Как результат, обеспечивается преимущество возможности выполнять процесс прогнозирования с высокой степенью точности. Дополнительно, поскольку 1/t, который представляет собой значение масштабирования, используемое, когда процесс вертикального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, конфигурируется таким образом, что значение масштабирования, заданное для каждого столбца в прогнозном блоке, снижается с расстоянием от пикселей, смежных с левой частью прогнозного блока, чем больше расстояние от пикселей, смежных с левой частью прогнозного блока, и, следовательно, чем более низкую корреляцию с пикселями имеет целевой пиксел, который должен быть прогнозирован, тем меньшее влияние пикселей, смежных с левой частью прогнозного блока, может оказываться на целевой пиксел, который должен быть прогнозирован. Как результат, обеспечивается преимущество возможности выполнять процесс прогнозирования с высокой степенью точности.
N+1
M+1
[0083] В этом варианте 1 осуществления показан пример, в котором значение масштабирования, заданное для N-ной строки в прогнозном блоке в момент, когда процесс горизонтального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, составляет 1/2 (=1/2, 1/4, 1/8, 1/16, …), и значение масштабирования, заданное для M-того столбца в прогнозном блоке в момент, когда процесс вертикального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, составляет 1/2 (=1/2, 1/4, 1/8, 1/16, …). Это является только примером. Значение масштабирования, заданное для N-ной строки в прогнозном блоке, может быть произвольным в момент, когда процесс горизонтального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования при условии, что значение масштабирования снижается с расстоянием от пикселей, смежных с верхней частью прогнозного блока, и значение масштабирования, заданное для M-того столбца в прогнозном блоке, может быть произвольным в момент, когда процесс вертикального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования при условии, что значение масштабирования снижается с расстоянием от пикселей, смежных с левой частью прогнозного блока.
[0084] Вариант 2 осуществления
В вышеуказанном варианте 1 осуществления показан пример, в котором каждый из узлов 4 и 34 внутреннего прогнозирования имеет такую структуру, чтобы когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным, суммировать изменение в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, которое умножается на значение масштабирования, заданное для каждого столбца в прогнозном блоке, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения. Чтобы реализовывать процесс прогнозирования, имеющий небольшой объем вычислений, для каждого из предварительно определенного числа столбцов, идущих вертикально, причем столбцы нумеруются от столбца в левом конце прогнозного блока, узел внутреннего прогнозирования может суммировать значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, в то время как для каждого из оставшихся столбцов в прогнозном блоке, узел внутреннего прогнозирования альтернативно может определять значение яркости пикселя, смежного с верхней частью прогнозного блока, в качестве прогнозированного значения прогнозного изображения. Дополнительно, по идентичной причине, когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным, для каждой из предварительно определенного числа строк, идущих горизонтально, причем строки нумеруются от строки в верхнем конце прогнозного блока, узел внутреннего прогнозирования может суммировать изменение в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, которое умножается на значение масштабирования, заданное для каждой строки в прогнозном блоке, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, в то время как для каждой из оставшихся строк в прогнозном блоке, узел внутреннего прогнозирования альтернативно может определять значение яркости пикселя, смежного с левой частью прогнозного блока, в качестве прогнозированного значения прогнозного изображения.
i
i
n
n
[0085] Далее подробно поясняется обработка, выполняемая посредством каждого из узлов 4 и 34 внутреннего прогнозирования согласно этому варианту осуществления. Когда значение индекса, указывающее режим внутреннего прогнозирования для прогнозного блока P, равно 0 (вертикальное прогнозирование), каждый из узлов 4 и 34 внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P, чтобы формировать прогнозное изображение согласно следующему уравнению (4).
i
i
i
i
i
i
n
n
n
n
n
n
[0086] В этом уравнении B является целым числом, равным или большим 0, и когда вычисленное прогнозированное значение превышает диапазон возможных значений, которые значение яркости может иметь во время x<B, в которое применяется верхняя часть в уравнении (4), прогнозированное значение округляется в меньшую или большую сторону таким образом, что оно попадает в диапазон. Процесс прогнозирования может быть реализован с меньшим объемом вычислений со снижением значения B. В случае B=0 объем вычислений равен объему вычислений в традиционном (MPEG-4 AVC/H.264) вертикальном прогнозировании с использованием только значения яркости S(x, -1) уже кодированного (уже декодированного) пикселя, смежного с верхней частью прогнозного блока P. Значение B может быть изменено согласно размеру блока для прогнозного блока P. В общем, поскольку различные изменения сигнала просто включать в прогнозный блок и трудно выполнять прогнозирование в одном направлении, когда размер блока для прогнозного блока становится большим, уменьшается число случаев, в которых значение каждого пикселя в прогнозном блоке может быть прогнозировано с высокой степенью точности посредством использования направленного прогнозирования. Следовательно, только тогда, когда размер блока для прогнозного блока P меньше предварительно определенного размера, B задается таким образом, что оно удовлетворяет B≥1, тогда как когда размер блока для прогнозного блока P равен или превышает предварительно определенный размер, B задается равным 0. Например, поскольку в случае, если предварительно определенный размер составляет 16×16 пикселей, B задается равным 0, когда прогнозный блок P имеет размер блока 16×16 пикселей или больше, процесс прогнозирования является идентичным традиционному вертикальному прогнозированию, и, как результат, может предотвращаться увеличение арифметической обработки. Более конкретно, поскольку процесс определения условия для определения того, удовлетворяет каждый пиксел в прогнозном блоке x<B или x≥B, становится необязательным, когда прогнозный блок имеет размер блока в B=0, увеличение арифметической обработки в результате традиционного процесса вертикального прогнозирования не вызывается за счет обеспечения выполнения посредством узла внутреннего прогнозирования всегда традиционного вертикального прогнозирования без выполнения вышеуказанного процесса определения условия. С другой стороны, поскольку B задается равным 1 или более, когда прогнозный блок P имеет размер блока, меньший 16×16 пикселей, к примеру, 4×4 пикселей или 8×8 пикселей, производительность прогнозирования может быть повышена по сравнению со случаем использования традиционного вертикального прогнозирования.
i
i
i
n
n
n
[0087] Например, когда B=1 для прогнозного блока P, имеющего размер блока 4×4 пикселей, верхняя часть уравнения (4) применяется к самому левому столбцу в прогнозном блоке P, и значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, суммируется со значением яркости пикселя в самом левом столбце. С другой стороны, нижняя часть уравнения (4) применяется к каждому из второго-четвертого столбцов в прогнозном блоке P, и значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, не суммируется со значением яркости пикселя в каждом из второго-четвертого столбцов. Посредством такого задания значения B небольшим, может быть значительно сокращено увеличение объема вычислений.
i
i
n
n
[0088] Фактическое устройство, в котором осуществляется узел внутреннего прогнозирования, может иметь такую структуру, чтобы использовать различные выражения для вычисления прогнозированного значения, как показано в вышеуказанном уравнении (4), для каждого пикселя в позиции x<B и для каждого пикселя в позиции x≥B, или может иметь произвольную структуру при условии, что узел внутреннего прогнозирования может вычислять прогнозированное значение, эквивалентное прогнозированному значению, вычисленному с использованием вышеуказанного уравнения. Например, фактическое устройство может иметь такую структуру, чтобы копировать значение яркости S(-x, 1) уже кодированного (или уже декодированного) пикселя, смежного с верхней частью прогнозного блока P, которое представляет собой прогнозированное значение, полученное с использованием традиционного вертикального прогнозирования для каждого из всех пикселей в прогнозном блоке P, и суммировать значение, которое получается посредством масштабирования (S(-1, y)-S(-1, -1)) на коэффициент 1/t, со значением яркости каждого пикселя только в позиции x<B.
i
i
n
n
[0089] Дополнительно, когда значение индекса, указывающее режим внутреннего прогнозирования для прогнозного блока P, равно 0 (горизонтальное прогнозирование), каждый из узлов 4 и 34 внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P, чтобы формировать прогнозное изображение согласно следующему уравнению (5).
i
i
i
i
i
i
n
n
n
n
n
n
[0090] В этом уравнении C является целым числом, равным или большим 0, и когда вычисленное прогнозированное значение превышает диапазон возможных значений, которые значение яркости может иметь во время x<C, в которое применяется верхняя часть в уравнении (5), прогнозированное значение округляется в меньшую или большую сторону таким образом, что оно попадает в диапазон. Процесс прогнозирования может быть реализован с меньшим объемом вычислений со снижением значения C. В случае C=0 объем вычислений равен объему вычислений в традиционном (MPEG-4 AVC/H.264) горизонтальном прогнозировании с использованием только значения яркости S(-1, y) уже кодированного (уже декодированного) пикселя, смежного с левой частью прогнозного блока P. Значение C может быть изменено согласно размеру блока для прогнозного блока P. В общем, поскольку различные изменения сигнала просто включать в прогнозный блок и трудно выполнять прогнозирование в одном направлении, когда размер блока для прогнозного блока становится большим, уменьшается число случаев, в которых значение каждого пикселя в прогнозном блоке может быть прогнозировано с высокой степенью точности посредством использования направленного прогнозирования. Следовательно, только тогда, когда размер блока для прогнозного блока P меньше предварительно определенного размера, C задается таким образом, что оно удовлетворяет C≥1, тогда как когда размер блока для прогнозного блока P равен или превышает предварительно определенный размер, C задается равным 0. Например, поскольку в случае, если предварительно определенный размер составляет 16×16 пикселей, C задается равным 0, когда прогнозный блок P имеет размер блока 16×16 пикселей или больше, процесс прогнозирования является идентичным традиционному горизонтальному прогнозированию, и, как результат, может предотвращаться увеличение арифметической обработки. Более конкретно, поскольку процесс определения условия для определения того, удовлетворяет каждый пиксел в прогнозном блоке y<C или y≥C, становится необязательным, когда прогнозный блок имеет размер блока в C=0, увеличение арифметической обработки в результате традиционного процесса горизонтального прогнозирования не вызывается за счет обеспечения выполнения посредством узла внутреннего прогнозирования всегда традиционного горизонтального прогнозирования без выполнения вышеуказанного процесса определения условия. С другой стороны, поскольку C задается равным 1 или более, когда прогнозный блок P имеет размер блока, меньший 16×16 пикселей, к примеру, 4×4 пикселей или 8×8 пикселей, производительность прогнозирования может быть повышена по сравнению со случаем использования традиционного горизонтального прогнозирования.
i
i
i
n
n
n
[0091] Например, когда C=1 для прогнозного блока P, имеющего размер блока 4×4 пикселей, верхняя часть уравнения (5) применяется к самой верхней строке в прогнозном блоке P, и значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, суммируется со значением яркости каждого пикселя в самой верхней строке. С другой стороны, нижняя часть уравнения (5) применяется к каждой из второй-четвертой строк в прогнозном блоке P, и значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, не суммируется со значением яркости каждого пикселя в каждом из второго-четвертого столбцов. Посредством такого задания значения C небольшим, может быть значительно сокращено увеличение объема вычислений.
i
i
n
n
[0092] Фактическое устройство, в котором осуществляется узел внутреннего прогнозирования, может иметь такую структуру, чтобы использовать различные выражения для вычисления прогнозированного значения, как показано в вышеуказанном уравнении (5), для каждого пикселя в позиции y<C и для каждого пикселя в позиции x≥C, или может иметь произвольную структуру при условии, что узел внутреннего прогнозирования может вычислять прогнозированное значение, эквивалентное прогнозированному значению, вычисленному с использованием вышеуказанного уравнения. Например, фактическое устройство может иметь такую структуру, чтобы копировать значение яркости S(-1, y) уже кодированного (или уже декодированного) пикселя, смежного с левой частью прогнозного блока P, которое представляет собой прогнозированное значение, полученное с использованием традиционного горизонтального прогнозирования для каждого из всех пикселей в прогнозном блоке P, и суммировать значение, которое получается посредством масштабирования (S(x, -1)-S(-1, -1)) на коэффициент 1/u, со значением яркости каждого пикселя только в позиции y<C.
[0093] 1/t, который представляет собой значение масштабирования, и B, которые используются для вертикального прогнозирования (внутриблочная информация, указывающая столбцы, для каждого из которых значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, суммируется со значением яркости пикселя, смежного с верхней частью прогнозного блока), и 1/u, который представляет собой значение масштабирования, и C, которые используются для горизонтального прогнозирования (внутриблочная информация, указывающая строки, для каждой из которых значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, суммируется со значением яркости пикселя, смежного с левой частью прогнозного блока), могут быть предварительно определены между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений. В качестве альтернативы, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений может выводить t, u, B и C в узел 13 кодирования с переменной длиной слова в расчете на последовательность или в расчете на графическое изображение, узел 13 кодирования с переменной длиной слова может кодировать с переменной длиной слова t, u, B и C и затем включать кодированные данные t, u, B и C в поток битов, и устройство декодирования движущихся изображений может декодировать с переменной длиной слова кодированные данные в потоке битов, чтобы получать t, u, B и C и использовать t, u, B и C. Посредством такой возможности адаптивно управлять t, u, B и C в расчете на последовательность или в расчете на графическое изображение, устройство кодирования движущихся изображений может обеспечивать большую применимость процесса прогнозирования для характеристик видеосигнала введенного изображения.
[0094] Дополнительно, размер блока, для которого используется вертикальное прогнозирование на основе уравнения (4), и размер блока, для которого используется горизонтальное прогнозирование на основе уравнения (5), могут быть предварительно определены между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений. В качестве альтернативы, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений может выводить флаг активации/деактивации, который задается для каждого размера блока, показывающий то, используется вертикальное прогнозирование на основе уравнения (4) или горизонтальное прогнозирование на основе уравнения (5) для размера блока, в узел 13 кодирования с переменной длиной слова в расчете на последовательность или в расчете на графическое изображение, узел 13 кодирования с переменной длиной слова может кодировать с переменной длиной слова вышеуказанный флаг активации/деактивации и включать кодированные данные флага активации/деактивации в поток битов, и устройство декодирования движущихся изображений может декодировать с переменной длиной слова кодированные данные в потоке битов, чтобы получать вышеуказанный флаг активации/деактивации и использовать вышеуказанный флаг активации/деактивации. Посредством такой возможности адаптивно управлять размером блока, для которого используется вертикальное прогнозирование на основе уравнения (4), и размером блока, для которого используется горизонтальное прогнозирование на основе уравнения (5), в расчете на последовательность или в расчете на графическое изображение, устройство кодирования движущихся изображений может обеспечивать большую применимость процесса прогнозирования для характеристик видеосигнала введенного изображения.
[0095] Как можно видеть из вышеприведенного описания, каждый из узлов 4 и 34 внутреннего прогнозирования согласно этому варианту 2 осуществления имеет такую структуру, чтобы когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным для каждой из предварительно определенного числа строк, идущих горизонтально, причем строки нумеруются от строки в верхнем конце прогнозного блока, суммировать значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения и, для каждой из оставшихся строк в прогнозном блоке, определять значение яркости пикселя, смежного с левой частью прогнозного блока, в качестве прогнозированного значения прогнозного изображения. Следовательно, обеспечивается преимущество возможности повышать эффективность прогнозирования горизонтального прогнозирования при уменьшении увеличения объема вычислений. Дополнительно, каждый из узлов 4 и 34 внутреннего прогнозирования согласно этому варианту 2 осуществления имеет такую структуру, чтобы когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным для каждого из предварительно определенного числа столбцов, идущих вертикально, причем столбцы нумеруются от столбца в левом конце прогнозного блока, суммировать значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения и, для каждого из оставшихся столбцов в прогнозном блоке, определять значение яркости пикселя, смежного с верхней частью прогнозного блока, в качестве прогнозированного значения прогнозного изображения. Следовательно, обеспечивается преимущество возможности повышать эффективность прогнозирования вертикального прогнозирования при уменьшении увеличения объема вычислений.
[0096] Вариант 3 осуществления
Блок-схема, показывающая структуру устройства кодирования движущихся изображений в соответствии с этим вариантом 3 осуществления, является идентичной блок-схеме по фиг. 1, показанной в вышеуказанном варианте 1 осуществления, и блок-схема, показывающая структуру устройства декодирования движущихся изображений в соответствии с этим вариантом 3 осуществления, является идентичной блок-схеме по фиг. 3, показанной в вышеуказанном варианте 1 осуществления.
[0097] Далее поясняются операции устройства кодирования движущихся изображений и устройства декодирования движущихся изображений. В этом варианте 3 осуществления поясняется случай, в котором устройство кодирования движущихся изображений принимает изображение каждого кадра видео в качестве введенного изображения, выполняет прогнозирование с компенсированным движением между смежными кадрами и выполняет процесс сжатия с ортогональным преобразованием и квантованием для обнаруженного прогнозного разностного сигнала, и после этого выполняет кодирование с переменной длиной слова, чтобы формировать поток битов, и устройство декодирования движущихся изображений декодирует поток битов, выведенный из устройства кодирования движущихся изображений.
[0098] Устройство кодирования движущихся изображений, показанное на фиг. 1, отличается тем, что устройство кодирования движущихся изображений выполнено с возможностью локальных изменений видеосигнала в пространственном направлении и в направлении времени, разделяет видеосигнал на блоки, имеющие различные размеры, и выполняет внутрикадровое и межкадровое адаптивное кодирование. В общем, видеосигнал имеет характеристику локального варьирования своей сложности в пространстве и времени. Может возникать случай, когда шаблон, имеющий равномерную характеристику сигналов в относительно большой области изображения, такого как изображение неба или изображение стены, либо шаблон, имеющий сложный шаблон текстуры в небольшой области изображения, такого как изображение человека или графическое изображение, включающее в себя мелкозернистую текстуру, также сосуществует в определенном видеокадре с точки зрения пространства. Также с точки зрения времени, относительно большая область изображения, такого как изображение неба или изображение стены, имеет небольшое локальное изменение в направлении времени в своем шаблоне, в то время как изображение движущегося человека или объекта имеет большее временное изменение, поскольку его контур имеет перемещение твердого тела и перемещение нетвердого тела относительно времени.
[0099] Хотя в процессе кодирования выполняется процесс формирования прогнозного разностного сигнала, имеющего небольшую мощность сигнала и небольшую энтропию, посредством использования временного и пространственного прогнозирования, тем самым уменьшая совокупный объем кода, объем кода для параметра, используемого для прогнозирования, может быть уменьшен при условии, что параметр может применяться равномерно к максимально возможно большой области сигнала изображения. С другой стороны, поскольку величина ошибок, возникающих в прогнозировании, увеличивается, когда идентичный параметр прогнозирования применяется к большой области изображения в шаблоне сигнала изображения, имеющем большое изменение во времени и пространстве, возрастает объем кода прогнозного разностного сигнала. Следовательно, желательно применять идентичный параметр прогнозирования к области изображения, имеющей большое изменение во времени и пространстве, чтобы уменьшать размер блока для блока, который подвергается процессу прогнозирования, тем самым увеличивая объем данных для параметра, который используется для прогнозирования, и уменьшая энергию и энтропию прогнозного разностного сигнала.
[0100] В этом варианте 3 осуществления предоставляется структура, с тем чтобы выполнять кодирование, которое адаптировано для таких типичных характеристик видеосигнала, начала процесса прогнозирования и т.д. от предварительно определенного максимального размера блока сначала, иерархического разделения области видеосигнала на блоки и адаптации процесса прогнозирования и процесса кодирования для кодирования прогнозной разности к каждому из разделенных блоков.
[0101] Видеосигнал, имеющий формат, который должен быть обработан посредством устройства кодирования движущихся изображений по фиг. 1, может быть YUV-сигналом, который состоит из сигнала яркости и двух цветоразностных сигналов, или сигналом цветного видеоизображения в произвольном цветовом пространстве, к примеру, RGB-сигналом, выведенным из датчика цифровых изображений, сигналом монохромного изображения или сигналом инфракрасного изображения, либо произвольным видеосигналом, в котором каждый видеокадр состоит из последовательности цифровых выборок (пикселей) в двух измерениях, горизонтальном и вертикальном. Градация каждого пикселя может быть 8-битовой, 10-битовой или 12-битовой.
[0102] В нижеприведенном пояснении, для удобства видеосигнал введенного изображения является YUV-сигналом, если не указано иное. Дополнительно, описывается случай, в котором сигналы, имеющие формат 4:2:0, которые субдискретизируются, обрабатываются в качестве двух цветоразностных компонент U и V относительно компоненты Y сигнала яркости. Дополнительно, единица данных, которая должна быть обработана, которая соответствует каждому кадру видеосигнала, упоминается как "графическое изображение". В этом варианте 3 осуществления, хотя "графическое изображение" поясняется в качестве сигнала видеокадра, для которого выполняется построчное сканирование, "графическое изображение" может быть сигналом полевого изображения, который является единицей, которая составляет видеокадр, когда видеосигнал является чересстрочным сигналом.
[0103] Во-первых, поясняется обработка, выполняемая посредством устройства кодирования движущихся изображений, показанного на фиг. 1. Во-первых, узел 2 управления кодированием определяет размер каждого наибольшего блока кодирования, который используется для кодирования графического изображения (текущего графического изображения), которое является целью, которая должна быть кодирована, и верхний предел на число иерархических уровней, на которые разделяется каждый наибольший блок кодирования (этап ST1 по фиг. 2). В качестве способа определения размера каждого наибольшего блока кодирования, например, предусмотрен способ определения идентичного размера для всех графических изображений согласно разрешению видеосигнала введенного изображения и способ количественного определения изменения сложности локального перемещения видеосигнала введенного изображения в качестве параметра и затем определения небольшого размера для графического изображения, имеющего большое и интенсивное перемещение, при определении большого размера для графического изображения, имеющего небольшое перемещение. В качестве способа определения верхнего предела на число разделенных иерархических уровней, например, существует способ определения идентичной глубины иерархии, т.е. идентичного числа иерархических уровней для всех графических изображений согласно разрешению видеосигнала введенного изображения, и способ увеличения глубины иерархии, т.е. числа иерархических уровней, чтобы позволять обнаруживать более точное перемещение, когда видеосигнал введенного изображения имеет большое и интенсивное перемещение, или сокращения числа иерархических уровней, когда видеосигнал введенного изображения имеет небольшое перемещение.
[0104] Узел 2 управления кодированием также выбирает режим кодирования, соответствующий каждому из блоков кодирования, на которые иерархически разделяется введенное изображение, из одного или более доступных режимов кодирования (этап ST2). Более конкретно, узел 2 управления кодированием иерархически разделяет каждую из областей изображения, имеющих размер наибольшего блока кодирования, на блоки кодирования, имеющие размер блока кодирования, до тех пор, пока число иерархических уровней не достигнет предварительно определенного верхнего предела на число разделенных иерархических уровней, и определяет режим кодирования для каждого из блоков кодирования. Режим кодирования может быть одним из одного или более режимов внутреннего кодирования (обобщенно называемых "внутренними") или одного или более режимов внешнего кодирования (обобщенно называемых "внешними"), и узел 2 управления кодированием выбирает режим кодирования, соответствующий каждому из блоков кодирования, из числа всех режимов кодирования, доступных в графическом изображении, в данный момент обрабатываемом, или поднабора этих режимов кодирования.
[0105] Каждый из блоков кодирования, на которые иерархически разделяется введенное изображение, дополнительно разделяется на один или более прогнозных блоков, каждый из которых является единицей для процесса прогнозирования посредством узла 1 разделения на блоки, который упоминается ниже. Состояние разделения каждого из блоков кодирования на один или более прогнозных блоков также включается в качестве информации в информацию режима кодирования. Хотя опускается подробное пояснение способа выбора режима кодирования для использования в узле 2 управления кодированием, поскольку способ выбора является известной технологией, предусмотрен способ выполнения процесса кодирования для блока кодирования посредством использования произвольного доступного режима кодирования, например, чтобы анализировать эффективность кодирования и выбирать режим кодирования, имеющий самый высокий уровень эффективности кодирования, из множества доступных режимов кодирования.
[0106] Узел 2 управления кодированием дополнительно определяет параметр квантования и размер блока преобразования, которые используются, когда разностное изображение сжимается для каждого из блоков кодирования, а также определяет параметры внутреннего прогнозирования или параметры внешнего прогнозирования, которые используются, когда выполняется процесс прогнозирования. Когда каждый из блоков кодирования дополнительно разделяется на одну или более единиц прогнозного блока, в отношении каждой из которых выполняется процесс прогнозирования, узел управления кодированием может выбирать параметры прогнозирования (параметры внутреннего прогнозирования или параметры внешнего прогнозирования) для каждого прогнозного блока. Помимо этого, в блоке кодирования, в котором режим кодирования представляет собой режим внутреннего кодирования, поскольку уже кодированные пиксели, смежные с каждым прогнозным блоком, используются, когда процесс внутреннего прогнозирования выполняется в отношении прогнозного блока, как упомянуто ниже, узел управления кодированием должен выполнять кодирование в отношении каждого прогнозного блока. Следовательно, выбираемый размер блока преобразования ограничен размером прогнозного блока или меньше. Узел 2 управления кодированием выводит параметры прогнозирующего разностного кодирования, включающие в себя параметр квантования и размер блока преобразования, в узел 7 преобразования/квантования, узел 8 обратного преобразования/обратного квантования и узел 13 кодирования с переменной длиной слова. Узел 2 управления кодированием также выводит параметры внутреннего прогнозирования в узел 4 внутреннего прогнозирования по мере необходимости. Узел 2 управления кодированием также выводит параметры внешнего прогнозирования в узел 5 прогнозирования с компенсированным движением по мере необходимости. При приеме видеосигнала введенного изображения узел 1 разделения на блоки разделяет видеосигнал введенного изображения на блоки, имеющие размер наибольшего блока кодирования, определенный посредством узла 2 управления кодированием, и дополнительно иерархически разделяет каждый из наибольших блоков кодирования, на которые разделяется введенное изображение, на блоки кодирования, которые определяются посредством узла 2 управления кодированием, и выводит каждый из блоков кодирования.
0
0
n
n
n
n
n
n
[0107] Фиг. 5 является пояснительным чертежом, показывающим пример, в котором каждый наибольший блок кодирования иерархически разделяется на множество блоков кодирования. Ссылаясь на фиг. 5, каждый наибольший блок кодирования является блоком кодирования, компонента яркости которого, которая показывается посредством "0-вого иерархического уровня", имеет размер (L, M). Посредством выполнения иерархического разделения при том, что этот наибольший блок кодирования задан в качестве начальной точки, до тех пор, пока глубина иерархии не достигнет предварительно определенной глубины, которая задается отдельно согласно структуре в виде дерева квадрантов, могут быть получены блоки кодирования. На глубине n каждый блок кодирования является областью изображения, имеющей размер (L, M). В этом примере, хотя M может быть идентичным или отличаться от L, случай L=M показывается на фиг. 5.
n
n
n+1
n+1
n
n
n
n
n
n
[0108] Далее, размер блока кодирования, определенный посредством узла 2 управления кодированием, задается как размер (L, M) в компоненте яркости каждого блока кодирования. Чтобы выполнять разделение на дерево квадрантов, всегда устанавливается (L, M)=(L/2, M/2). В случае сигнала цветного видеоизображения (формат 4:4:4), в котором все цветовые компоненты имеют идентичное число выборок, к примеру, RGB-сигнала, все цветовые компоненты имеют размер (L, M), в то время как в случае обработки формата 4:2:0, соответствующая цветоразностная компонента имеет размер блока кодирования (L/2, M/2).
n
n
n
n
[0109] Далее, каждый блок кодирования на n-ном иерархическом уровне выражается как B, и режим кодирования, выбираемый для каждого блока B кодирования, выражается как m(B). В случае цветового видеосигнала, который состоит из множества цветовых компонент, режим m(B) кодирования может быть сконфигурирован таким образом, что отдельный режим используется для каждой из цветовых компонент, или может быть сконфигурирован таким образом, что общий режим используется для всех цветовых компонент. Далее, пояснение приводится при условии, что режим кодирования указывает режим для компоненты яркости блока кодирования, имеющего формат 4:2:0 в YUV-сигнале, если не указано иное.
n
n
n
i
[0110] Каждый блок B кодирования разделяется на один или более прогнозных блоков, показывающих единицу прогнозирования, посредством узла 1 разделения на блоки, как показано на фиг. 6. Далее, каждый прогнозный блок, принадлежащий блоку B кодирования, выражается как P (i показывает номер прогнозного блока на n-ном иерархическом уровне).
n
n
n
n
n
i
i
Пример P00 и P10 показывается на фиг. 5. То, как выполняется разделение каждого блока B кодирования на один или более прогнозных блоков, включается в качестве информации в режим m(B) кодирования. Хотя процесс прогнозирования выполняется для каждого из всех прогнозных блоков P согласно режиму m(B) кодирования, отдельные параметры прогнозирования (параметры внутреннего прогнозирования или параметры внешнего прогнозирования) могут быть выбраны для каждого прогнозного блока P.
n
n
n
n
[0111] Узел 2 управления кодированием формирует такое состояние разделения на блоки, как показано на фиг. 6, для каждого наибольшего блока кодирования и затем указывает блоки кодирования. Каждый прямоугольник, обведенный посредством пунктирной линии, показанной на фиг. 6(a), показывает блок кодирования, и каждый блок, заполненный заштрихованными линиями в каждом блоке кодирования, показывает состояние разделения прогнозного блока. Фиг. 6(b) показывает случай, в котором режимы m(B) кодирования, соответственно, назначаются прогнозным блокам в примере по фиг. 6(a) согласно разделению на иерархические уровни посредством использования графа в виде дерева квадрантов. Каждый узел, обведенный посредством , показанного на фиг. 6(b), представляет собой узел (блок B кодирования), которому назначается режим m(B) кодирования. Информация относительно этого графа в виде дерева квадрантов выводится из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова вместе с режимом m(B) кодирования и мультиплексируется в поток битов.
n
n
n
n
n
n
[0112] Когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внутреннего кодирования (в случае m(B) ∈ "внутренний"), переключатель 3 выбора выводит блок B кодирования, выведенный из узла 1 разделения на блоки, в узел 4 внутреннего прогнозирования. Напротив, когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внешнего кодирования (в случае m(B) ∈ "внешний"), переключатель выбора выводит блок B кодирования, выведенный из узла 1 разделения на блоки, в узел 5 прогнозирования с компенсированным движением.
n
n
n
n
n
n
n
n
i
INTRAi
INTRAi
INTRAi
[0113] Когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внутреннего кодирования (в случае m(B) ∈ "внутренний"), и узел 4 внутреннего прогнозирования принимает блок B кодирования из переключателя 3 выбора (этап ST3), узел 4 внутреннего прогнозирования выполняет процесс внутреннего прогнозирования для каждого прогнозного блока P в блоке B кодирования посредством использования параметров внутреннего прогнозирования, определенных посредством узла 2 управления кодированием при обращении к локальному декодированному изображению, сохраненному в памяти 10 для внутреннего прогнозирования, чтобы формировать изображение P внутреннего прогнозирования (этап ST4). Поскольку устройство декодирования движущихся изображений должно формировать изображение внутреннего прогнозирования, которое является полностью идентичным изображению P внутреннего прогнозирования, параметры внутреннего прогнозирования, используемые для формирования изображения P внутреннего прогнозирования, выводятся из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова и мультиплексируются в поток битов. Ниже упоминаются подробности обработки, выполняемой посредством узла 4 внутреннего прогнозирования.
n
n
n
n
n
n
n
n
n
n
i
i
INTERi
INTERi
INTERi
[0114] Когда режим m(B) кодирования, определенный посредством узла 2 управления кодированием, представляет собой режим внешнего кодирования (в случае m(B) ∈ "внешний"), и узел 5 прогнозирования с компенсированным движением принимает блок B кодирования из переключателя 3 выбора (этап ST3), узел 5 прогнозирования с компенсированным движением сравнивает каждый прогнозный блок P в блоке B кодирования с локальным декодированным изображением, для которого выполняется процесс фильтрации и который сохраняется в памяти 12 кадров прогнозирования с компенсированным движением, чтобы выполнять поиск вектора движения, и выполняет процесс внешнего прогнозирования в отношении каждого прогнозного блока P в блоке B кодирования посредством использования как вектора движения, так и параметров внешнего прогнозирования, определенных посредством узла 2 управления кодированием, чтобы формировать изображение P внешнего прогнозирования (этап ST5). Поскольку устройство декодирования изображений должно формировать изображение внешнего прогнозирования, которое является полностью идентичным изображению P внешнего прогнозирования, параметры внешнего прогнозирования, используемые для формирования изображения P внешнего прогнозирования, выводятся из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова и мультиплексируются в поток битов. Вектор движения, поиск которого осуществляется посредством узла 5 прогнозирования с компенсированным движением, также выводится в узел 13 кодирования с переменной длиной слова и мультиплексируется в поток битов.
n
n
n
n
n
n
INTRAi
INTERi
i
i
[0115] При приеме блока B кодирования из узла 1 разделения на блоки узел 6 вычитания вычитает изображение P внутреннего прогнозирования, сформированное посредством узла 4 внутреннего прогнозирования, или изображение P внешнего прогнозирования, сформированное посредством узла 5 прогнозирования с компенсированным движением, из прогнозного блока P в блоке B кодирования и выводит прогнозный разностный сигнал e, показывающий результат вычитания, в узел 7 преобразования/квантования (этап ST6).
i
i
n
n
[0116] При приеме прогнозного разностного сигнала e из узла 6 вычитания узел 7 преобразования/квантования выполняет процесс ортогонального преобразования (например, процесс DCT (дискретного косинусного преобразования) или ортогонального преобразования, такого как KL-преобразование, в котором основания заранее рассчитываются для конкретной последовательности обучения) в отношении прогнозного разностного сигнала e посредством обращения к параметрам кодирования разности прогнозирования, определенным посредством узла 2 управления кодированием, чтобы вычислять коэффициенты преобразования. Узел 7 преобразования/квантования также квантует коэффициенты преобразования посредством обращения к параметрам кодирования разности прогнозирования и затем выводит сжатые данные, которые являются коэффициентами преобразования, квантованными посредством него, в узел 8 обратного квантования/обратного преобразования и узел 13 кодирования с переменной длиной слова (этап ST7).
i
n
[0117] При приеме сжатых данных из узла 7 преобразования/квантования узел 8 обратного преобразования/обратного квантования обратно квантует сжатые данные посредством обращения к параметрам кодирования разности прогнозирования, определенным посредством узла 2 управления кодированием. Узел 8 обратного преобразования/обратного квантования также выполняет процесс обратного ортогонального преобразования (например, обратное DCT или обратное KL-преобразование) в отношении коэффициентов преобразования, которые являются сжатыми данными, обратно квантованными посредством него, посредством обращения к параметрам кодирования разности прогнозирования, чтобы вычислять локальный декодированный прогнозный разностный сигнал, соответствующий прогнозному разностному сигналу e, выведенному из узла 6 вычитания, и выводит локальный декодированный прогнозный разностный сигнал в узел 9 суммирования (этап ST8).
INTRAi
INTERi
n
n
[0118] При приеме локального декодированного прогнозного разностного сигнала из узла 8 обратного преобразования/обратного квантования узел 9 суммирования суммирует локальный декодированный прогнозный разностный сигнал и изображение P внутреннего прогнозирования, сформированное посредством узла 4 внутреннего прогнозирования, или изображение P внешнего прогнозирования, сформированное посредством узла 5 прогнозирования с компенсированным движением, чтобы вычислять локальное декодированное изображение (этап ST9). Узел 9 суммирования выводит локальное декодированное изображение в узел 11 контурной фильтрации при сохранении локального декодированного изображения в памяти 10 для внутреннего прогнозирования. Это локальное декодированное изображение является сигналом уже кодированного изображения, который используется во время последующих процессов внутреннего прогнозирования.
[0119] При приеме локального декодированного изображения из узла 9 суммирования узел 11 контурной фильтрации выполняет предварительно определенный процесс фильтрации в отношении локального декодированного изображения и сохраняет локальное декодированное изображение, в отношении которого узел контурной фильтрации выполняет процесс фильтрации, в памяти 12 кадров прогнозирования с компенсированным движением (этап ST10). Процесс фильтрации посредством узла 11 контурной фильтрации может быть выполнен в отношении каждого наибольшего блока кодирования введенного локального декодированного изображения или каждого блока кодирования введенного локального декодированного изображения. В качестве альтернативы, после того, как вводятся локальные декодированные изображения одного графического изображения, процесс фильтрации может быть выполнен в отношении всех локальных декодированных изображений из одного графического изображения за раз. Дополнительно, в качестве примеров предварительно определенного процесса фильтрации, может предоставляться процесс фильтрации границы блока между блоками кодирования таким образом, что неоднородность (блочный шум) на границе не становится заметной, процесс фильтрации для компенсации искажения, возникающего в локальном декодированном изображении, таким образом, что ошибка между видеосигналом, показанным на фиг. 1, который является введенным изображением, и локальным декодированным изображением минимизируется, и т.д. Поскольку узел 11 контурной фильтрации должен обращаться к видеосигналу при выполнении процесса фильтрации для компенсации искажения, возникающего в локальном декодированном изображении, таким образом, что ошибка между видеосигналом, показанным на фиг. 1, который является введенным изображением, и локальным декодированным изображением минимизируется, существует необходимость модифицировать устройство кодирования движущихся изображений, показанное на фиг. 1, таким образом, что видеосигнал вводится в узел 11 контурной фильтрации.
n
n
[0120] Устройство кодирования движущихся изображений многократно выполняет процессы этапов ST3-ST9 до тех пор, пока устройство кодирования движущихся изображений не завершит обработку в отношении всех блоков B кодирования, на которые иерархически разделяется введенное изображение, и при завершении обработки в отношении всех блоков B кодирования переходит к процессу этапа ST13 (этапы ST11 и ST12).
n
[0121] Узел 13 кодирования с переменной длиной слова кодирует с переменной длиной слова сжатые данные, выведенные из узла 7 преобразования/квантования, информацию разделения на блоки относительно разделения каждого наибольшего блока кодирования (информацию дерева квадрантов, как показано, например, на фиг. 6(b)) и режим m(B) кодирования и параметры прогнозирующего разностного кодирования, которые выводятся из узла 2 управления кодированием, параметры внутреннего прогнозирования (когда режим кодирования представляет собой режим внутреннего кодирования) или параметры внешнего прогнозирования (когда режим кодирования представляет собой режим внешнего кодирования), выведенные из узла 2 управления кодированием, и вектор движения, выведенный из узла 5 прогнозирования с компенсированным движением (когда режим кодирования представляет собой режим внешнего кодирования), чтобы формировать поток битов, показывающий кодированные результаты этих данных (этап ST13).
i
I
n
n
[0122] Далее подробнее поясняется обработка, выполняемая посредством узла 4 внутреннего прогнозирования. Фиг. 17 является пояснительным чертежом, показывающим пример параметров внутреннего прогнозирования (режима внутреннего прогнозирования), которые могут быть выбраны для каждого прогнозного блока P в блоке B кодирования. На чертеже N показывает число режимов внутреннего прогнозирования. На фиг. 17 показаны режимы внутреннего прогнозирования и векторы направления прогнозирования, представленные посредством каждого из режимов внутреннего прогнозирования. В примере по фиг. 17, согласно расчетам относительный угол между векторами направления прогнозирования становится небольшим с увеличением числа выбираемых режимов внутреннего прогнозирования.
i
i
INTRAi
i
n
n
n
n
[0123] Узел 4 внутреннего прогнозирования выполняет процесс внутреннего прогнозирования в отношении каждого прогнозного блока P посредством обращения к параметрам внутреннего прогнозирования прогнозного блока P, чтобы формировать изображение P внутреннего прогнозирования, как упомянуто выше. Далее поясняется внутренний процесс формирования сигнала внутреннего прогнозирования прогнозного блока P в сигнале яркости.
i
i
i
i
i
i
i
i
i
i
i
n
n
n
n
n
n
n
n
n
n
n
[0124] Предполагается, что размер прогнозного блока P составляет lxm пикселей. Фиг. 8 является пояснительным чертежом, показывающим пример пикселей, которые используются при формировании прогнозированного значения каждого пикселя в прогнозном блоке P в случае l=m=4. Хотя (2xl+1) уже кодированных пикселей, расположенных выше прогнозного блока P, и (2xm) уже кодированных пикселей, расположенных слева от прогнозного блока P, задаются в качестве пикселей, используемых для прогнозирования в примере по фиг. 8, для прогнозирования может использоваться меньшее число пикселей, чем пиксели, показанные на фиг. 8. Хотя одна строка или столбец пикселей, которые являются смежными с прогнозным блоком P, используется для прогнозирования в примере по фиг. 8, для прогнозирования могут использоваться две строки или столбца пикселей либо три или более строк или столбцов пикселей.
i
i
i
i
n
n
n
n
[0125] Когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 0 (планарное прогнозирование), узел внутреннего прогнозирования использует уже кодированные пиксели, смежные с верхней частью прогнозного блока P и уже кодированные пиксели, смежные с левой частью прогнозного блока P, чтобы получать значение, интерполированное согласно расстоянию между целевым пикселом, который должен быть прогнозирован, в прогнозном блоке P и вышеуказанными смежными пикселями в качестве прогнозированного значения, и формирует прогнозное изображение.
i
i
n
n
[0126] Когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 1 (вертикальное прогнозирование), узел внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно следующему уравнению (1), чтобы формировать прогнозное изображение.
,
i
n
где координаты (x, y) являются относительными координатами, которые определяются с помощью пикселя в верхнем левом углу прогнозного блока P, заданного как начало координат (см. фиг. 9), и S'(x, y) представляет собой прогнозированное значение с координатами (x, y), а S(x, y) представляет собой значение яркости (декодированное значение яркости) уже кодированного пикселя с координатами (x, y).
i
i
n
n
[0127] Посредством такого суммирования значения, пропорционального (S(-1, y)-S(-1, -1)), показывающего величину изменения в вертикальном направлении значений яркости уже кодированных пикселей (пикселей, обведенных посредством прямоугольника с жирным контуром, показанного на фиг. 10), смежных с левой частью прогнозного блока P (т.е. значения, которое получается посредством масштабирования (S(-1, y)-S(-1, -1)), показывающего величину изменения в вертикальном направлении значений яркости уже кодированных пикселей на коэффициент 1/t), со значением яркости S(x, -1) уже кодированного пикселя, смежного с верхней частью прогнозного блока P, которое представляет собой прогнозированное значение, на основе традиционного вертикального прогнозирования (MPEG-4 AVC/H.264), чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, может быть реализовано вертикальное прогнозирование, которое соответствует всем изменениям значения яркости в направлении прогнозирования. В это время, когда вышеуказанное прогнозированное значение не попадает в диапазон значений, которые может иметь значение яркости, вышеуказанное прогнозированное значение может быть округлено в меньшую или большую сторону таким образом, что оно попадает в диапазон. За счет этого, хотя объем вычислений немного увеличивается на величину, соответствующую процессу округления, может подавляться возникновение прогнозированного значения, которое не попадает в диапазон значений, которые может иметь значение яркости, и могут быть уменьшены ошибки прогнозирования.
x+1
n
n
n
n
x+1
i
i
i
i
[0128] Вышеуказанный коэффициент 1/t может быть фиксированным значением или переменной, которая меняется в зависимости от координат (x, y). Например, поскольку значения масштабирования, начиная со значения для пикселей в левом столбце, уменьшаются следующим образом: 1/2, 1/4, 1/8 и 1/16, когда t=2, как показано на фиг. 11, величина изменения в вертикальном направлении значений яркости, которые должны суммироваться, снижается с расстоянием от уже кодированных пикселей, смежных с левой частью прогнозного блока P. Как результат, поскольку чем больше расстояние от уже кодированных пикселей, смежных с левой частью прогнозного блока P, и, следовательно, чем более низкую корреляцию с уже кодированными пикселями имеет целевой пиксель, который должен быть прогнозирован, тем меньшее влияние уже кодированных пикселей, смежных с левой частью прогнозного блока P, может оказываться на целевой пиксель, который должен быть прогнозирован, высокоточное прогнозирование согласно корреляции с уже кодированными пикселями, смежными с левой частью прогнозного блока P, может быть выполнено. Дополнительно, в случае t=2, уравнение (1) может выражаться посредством уравнения, показывающего операцию побитового сдвига, как показано ниже.
x+1
В уравнении (1a), ">>a" показывает операцию выполнения арифметического сдвига вправо на a битов. Использование операции сдвига вместо деления по уравнению (1) предоставляет возможность узлу внутреннего прогнозирования выполнять высокоскоростные вычисления в случае, если узел внутреннего прогнозирования устанавливается на компьютере. Поскольку S(-1, y)-S(-1, -1) может иметь отрицательное значение, ">>" обрабатывается не в качестве арифметического сдвига, а в качестве логического сдвига, в зависимости от окружения реализации (компилятора) и т.д., и результат вычисления может отличаться от результата вычисления, полученного из уравнения (1). Чтобы разрешать эту проблему, в качестве аппроксимированного выражения уравнения (1) в случае t=2, независимого от окружения реализации, может предоставляться следующее уравнение (1b).
В уравнении (1b), поскольку вычитание выполняется после того, как значения яркости S(-1, y) и S(-1, -1) сдвигаются вправо на (x+1) битов, соответственно, идентичный результат вычисления может быть получен как для арифметического сдвига, так и для логического сдвига, когда положительные значения задаются как значения яркости.
i
i
i
n
n
n
[0129] Помимо этого, размер блока для прогнозного блока P, для которого выполняется процесс прогнозирования на основе уравнения (1), может быть ограничен. В общем, блок, имеющий больший размер блока, проще подвергается различным изменениям сигнала, и иногда возникают случаи, в которых процесс прогнозирования для такого блока может быть выполнен с использованием направленного прогнозирования с высокой степенью точности. Следовательно, например, уравнение (1) вообще не применяется к прогнозным блокам P, имеющим размер блока 16×16 пикселей или больше, и прогнозированное значение на основе традиционного вертикального прогнозирования (значение яркости S(x, -1) уже кодированного пикселя, смежного с верхней частью прогнозного блока P) задается в качестве прогнозированного значения прогнозного изображения, в то время как уравнение (1) применяется только к блокам, имеющим размер, меньший 16×16 пикселей, за счет этого позволяя подавлять увеличение объема вычислений при повышении производительности прогнозирования по сравнению со случаем использования традиционного вертикального прогнозирования.
i
i
n
n
[0130] Дополнительно, когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 1 (горизонтальное прогнозирование), узел внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно следующему уравнению (2), чтобы формировать прогнозное изображение.
,
i
n
где координаты (x, y) являются относительными координатами, которые определяются с помощью пикселя в верхнем левом углу прогнозного блока P, заданного как начало координат (см. фиг. 9), и S'(x, y) представляет собой прогнозированное значение с координатами (x, y), а S(x, y) представляет собой значение яркости (декодированное значение яркости) уже кодированного пикселя с координатами (x, y).
i
i
n
n
[0131] Посредством такого суммирования значения, пропорционального (S(x, -1)-S(-1, -1)), показывающего величину изменения в горизонтальном направлении значений яркости уже кодированных пикселей (пикселей, обведенных посредством прямоугольника с жирным контуром, показанного на фиг. 12), смежных с верхней частью прогнозного блока P (т.е. значения, которое получается посредством масштабирования (S(x, -1)-S(-1, -1)), показывающего величину изменения в горизонтальном направлении значений яркости уже кодированных пикселей на коэффициент 1/u), со значением яркости S(-1, y) уже кодированного пикселя, смежного с левой частью прогнозного блока P, которое представляет собой прогнозированное значение, на основе традиционного горизонтального прогнозирования (MPEG-4 AVC/H.264), чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, может быть реализовано горизонтальное прогнозирование, которое соответствует всем изменениям значения яркости в направлении прогнозирования. В это время, когда вышеуказанное прогнозированное значение не попадает в диапазон значений, которые может иметь значение яркости, вышеуказанное прогнозированное значение может быть округлено в меньшую или большую сторону таким образом, что оно попадает в диапазон. За счет этого, хотя объем вычислений немного увеличивается на величину, соответствующую процессу округления, может подавляться возникновение прогнозированного значения, которое не попадает в диапазон значений, которые может иметь значение яркости, и могут быть уменьшены ошибки прогнозирования.
y+1
n
n
n
n
y+1
i
i
i
i
[0132] Вышеуказанный коэффициент 1/u может быть фиксированным значением или может быть переменной, которая меняется в зависимости от координат (x, y). Например, поскольку значения масштабирования начиная со значения для пикселей в верхней строке уменьшаются следующим образом: 1/2, 1/4, 1/8 и 1/16, когда u=2, как показано на фиг. 13, величина изменения в горизонтальном направлении значений яркости, которые должны суммироваться, снижается с расстоянием от уже кодированных пикселей, смежных с верхней частью прогнозного блока P. Как результат, поскольку чем больше расстояние от уже кодированных пикселей, смежных с верхней частью прогнозного блока P, и, следовательно, чем более низкую корреляцию с уже кодированными пикселями имеет целевой пиксель, который должен быть прогнозирован, тем меньшее влияние уже кодированных пикселей, смежных с верхней частью прогнозного блока P, может оказываться на целевой пиксель, который должен быть прогнозирован, высокоточное прогнозирование согласно корреляции с уже кодированными пикселями, смежными с верхней частью прогнозного блока P, может быть выполнено. Дополнительно, в случае u=2, уравнение (2) может выражаться посредством уравнения, показывающего операцию побитового сдвига, как показано ниже.
y+1
В уравнении (2a), ">>a" показывает операцию выполнения арифметического сдвига вправо на a битов. Использование операции сдвига вместо деления по уравнению (2) предоставляет возможность узлу внутреннего прогнозирования выполнять высокоскоростные вычисления в случае, если узел внутреннего прогнозирования устанавливается на компьютере. Поскольку S(x, -1)-S(-1, -1) может иметь отрицательное значение, ">>" обрабатывается не в качестве арифметического сдвига, а в качестве логического сдвига, в зависимости от окружения реализации (компилятора) и т.д., и результат вычисления может отличаться от результата вычисления, полученного из уравнения (2). Чтобы разрешать эту проблему, в качестве аппроксимированного выражения уравнения (2) в случае u=2, независимого от окружения реализации, может предоставляться следующее уравнение (2b).
В уравнении (2b), поскольку вычитание выполняется после того, как значения яркости S(x, -1) и S(-1, -1) сдвигаются вправо на (y+1) битов, соответственно, идентичный результат вычисления может быть получен как для арифметического сдвига, так и для логического сдвига, когда положительные значения задаются как значения яркости.
i
i
i
n
n
n
[0133] Помимо этого, размер блока для прогнозного блока P, в отношении которого выполняется процесс прогнозирования на основе уравнения (2), может быть ограничен. В общем, блок, имеющий больший размер блока, проще подвергается различным изменениям сигнала, и иногда возникают случаи, в которых процесс прогнозирования в отношении такого блока может быть выполнен с использованием направленного прогнозирования с высокой степенью точности. Следовательно, например, уравнение (2) вообще не применяется к прогнозным блокам P, имеющим размер блока 16×16 пикселей или больше, и прогнозированное значение на основе традиционного горизонтального прогнозирования (значение яркости S(-1, y) уже кодированного пикселя, смежного с левой частью прогнозного блока P) задается в качестве прогнозированного значения прогнозного изображения, в то время как уравнение (2) применяется только к блокам, имеющим размер, меньший 16×16 пикселей, за счет этого позволяя подавлять увеличение объема вычислений при повышении производительности прогнозирования по сравнению со случаем использования традиционного горизонтального прогнозирования.
i
i
i
i
i
p
i
i
n
n
n
n
n
n
n
[0134] Дополнительно, когда значение индекса, указывающее режим внутреннего прогнозирования для прогнозного блока P, равно 3 (прогнозирование (DC) по среднему), узел внутреннего прогнозирования формирует прогнозное изображение посредством задания среднего уже кодированных пикселей, смежных с верхней частью прогнозного блока P, и уже кодированных пикселей, смежных с левой частью прогнозного блока P, в качестве прогнозированного значения каждого пикселя в прогнозном блоке P. Когда значение индекса, указывающее режим внутреннего прогнозирования, является отличным от 0 (планарное прогнозирование), 1 (вертикальное прогнозирование), 2 (горизонтальное прогнозирование) и 3 (прогнозирование по среднему), узел внутреннего прогнозирования формирует прогнозированное значение каждого пикселя в прогнозном блоке P на основе вектора направления прогнозирования υ=(dx, dy), показанного посредством значения индекса. Как показано на фиг. 9, когда относительные координаты каждого пикселя в прогнозном блоке P выражаются как (x, y) с помощью пикселя в верхнем левом углу прогнозного блока P, заданного как начало координат, каждый опорный пиксел, который используется для прогнозирования, находится в точке пересечения L, показанного ниже, и смежного пикселя.
,
где k является отрицательным скалярным значением.
i
INTRAi
INTRAi
n
n
n
[0135] Когда опорный пиксел находится в целочисленнопиксельной позиции, значение соответствующего целочисленного пикселя определяется в качестве прогнозированного значения целевого прогнозного пикселя, тогда как когда опорный пиксел не находится в целочисленнопиксельной позиции, значение интерполяционного пикселя, сформированного из целочисленных пикселей, которые являются смежными с опорным пикселом, определяется в качестве прогнозированного значения целевого прогнозного пикселя. В примере, показанном на фиг. 8, поскольку опорный пиксель не находится в целочисленнопиксельной позиции, прогнозированное значение интерполируется из значений двух пикселей, смежных с опорным пикселом. Узел внутреннего прогнозирования может использовать не только смежные два пикселя, но также и один или более смежных пикселей для того, чтобы формировать интерполяционный пиксель, и определять значение этого интерполяционного пикселя в качестве прогнозированного значения. Хотя увеличение числа пикселей, используемых для интерполяционного процесса, обеспечивает преимущество повышения точности вычисления интерполяционного пикселя, поскольку степень сложности вычислений, требуемых для интерполяционного процесса, увеличивается с увеличением числа пикселей, используемых для интерполяционного процесса, предпочтительно формировать интерполяционный пиксель из большего числа пикселей в случае, если устройство кодирования движущихся изображений требует высокой производительности кодирования, даже если арифметическая нагрузка является большой. Согласно идентичной процедуре, узел внутреннего прогнозирования формирует прогнозные пиксели для всех пикселей сигнала яркости в прогнозном блоке P и выводит изображение P внутреннего прогнозирования. Параметры внутреннего прогнозирования, используемые для формирования изображения P внутреннего прогнозирования, выводятся в узел 13 кодирования с переменной длиной слова, чтобы мультиплексировать параметры внутреннего прогнозирования в поток битов.
[0136] Как и в случае внутреннего прогнозирования для блока 8×8 пикселей в MPEG-4 AVC/H.264, поясненного ранее, в качестве пикселей, которые используются при выполнении внутреннего прогнозирования, вместо самих пикселей в уже кодированном смежном блоке альтернативно могут использоваться пиксели, в отношении которых выполняется процесс фильтрации.
i
n
[0137] Узел внутреннего прогнозирования также выполняет процесс внутреннего прогнозирования на основе параметров внутреннего прогнозирования (режима внутреннего прогнозирования) в отношении каждого из цветоразностных сигналов прогнозного блока P согласно процедуре, идентичной процедуре, согласно которой узел внутреннего прогнозирования выполняет процесс внутреннего прогнозирования для сигнала яркости, и выводит параметры внутреннего прогнозирования, используемые для формирования изображения внутреннего прогнозирования, в узел 13 кодирования с переменной длиной слова. Параметры внутреннего прогнозирования (режим внутреннего прогнозирования), выбираемые для цветоразностных сигналов, не должны быть идентичными параметрам внутреннего прогнозирования (режиму внутреннего прогнозирования) для сигнала яркости, и традиционный способ прогнозирования (MPEG-4 AVC/H.264) может использоваться для вертикального прогнозирования и для горизонтального прогнозирования. Например, в случае формата YUV 4:2:0, каждый из цветоразностных сигналов (U- и V-сигналов) представляет собой сигнал, разрешение которого уменьшается до половины разрешения сигнала яркости (Y-сигнала) как в горизонтальном направлении, так и в вертикальном направлении, и сложность каждого из цветоразностных сигналов ниже сложности сигнала яркости, и, следовательно, прогнозирование может быть выполнено для каждого из цветоразностных сигналов проще, чем для сигнала яркости. Следовательно, посредством уменьшения числа выбираемых параметров внутреннего прогнозирования (режима внутреннего прогнозирования) для каждого из цветоразностных сигналов так, что оно меньше указанного числа для сигнала яркости, и использования традиционного простого способа прогнозирования для каждого из вертикального и горизонтального прогнозирований, уменьшение объема кода, требуемого для того, чтобы кодировать параметры внутреннего прогнозирования (режим внутреннего прогнозирования), и уменьшение объема вычислений, требуемых для того, чтобы выполнять процесс прогнозирования, может быть реализовано без очень существенного снижения эффективности прогнозирования.
[0138] 1/t, который представляет собой значение масштабирования, используемое для вертикального прогнозирования, и 1/u, который представляет собой значение масштабирования, используемое для горизонтального прогнозирования, могут быть предварительно определены между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений. В качестве альтернативы, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений может выводить t и u в узел 13 кодирования с переменной длиной слова в расчете на последовательность или в расчете на графическое изображение, узел 13 кодирования с переменной длиной слова может кодировать с переменной длиной слова t и u и затем включать кодированные данные t и u в поток битов, и устройство декодирования движущихся изображений может декодировать с переменной длиной слова кодированные данные в потоке битов, чтобы получать t и u и использовать t и u. Посредством такой возможности адаптивно управлять t и u в расчете на последовательность или в расчете на графическое изображение, устройство кодирования движущихся изображений может обеспечивать большую применимость процесса прогнозирования для характеристик видеосигнала введенного изображения.
[0139] Дополнительно, размер блока, для которого используется вертикальное прогнозирование на основе уравнения (1), и размер блока, для которого используется горизонтальное прогнозирование на основе уравнения (2), могут быть предварительно определены между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений. В качестве альтернативы, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений может выводить флаг активации/деактивации, который задается для каждого размера блока, показывающий то, используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2) для размера блока, в узел 13 кодирования с переменной длиной слова в расчете на последовательность или в расчете на графическое изображение, узел 13 кодирования с переменной длиной слова может кодировать с переменной длиной слова вышеуказанный флаг активации/деактивации и включать кодированные данные флага активации/деактивации в поток битов, и устройство декодирования движущихся изображений может декодировать с переменной длиной слова кодированные данные в потоке битов, чтобы получать вышеуказанный флаг активации/деактивации и использовать вышеуказанный флаг активации/деактивации. Посредством такой возможности адаптивно управлять размером блока, для которого используется вертикальное прогнозирование на основе уравнения (1), и размером блока, для которого используется горизонтальное прогнозирование на основе уравнения (2), в расчете на последовательность или в расчете на графическое изображение, устройство кодирования движущихся изображений может обеспечивать большую применимость процесса прогнозирования для характеристик видеосигнала введенного изображения.
[0140] Далее подробно поясняется обработка, выполняемая посредством устройства декодирования движущихся изображений, показанного на фиг. 3. При приеме потока битов, сформированного посредством устройства кодирования движущихся изображений, показанного на фиг. 1, узел 31 декодирования с переменной длиной слова выполняет процесс декодирования с переменной длиной слова для потока битов (этап ST21 по фиг. 4) и декодирует информацию размера кадра в расчете на последовательность, причем каждая последовательность состоит из одного или более кадров графических изображений, либо в расчете на графическое изображение. В это время, когда даже любое одно из параметра t значения масштабирования, используемого для вертикального прогнозирования, параметра u значения масштабирования, используемого для горизонтального прогнозирования, и флага активации/деактивации, который задается для каждого размера блока, показывающего то, используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2) для размера блока, кодируется с переменной длиной слова и мультиплексируется в поток битов, устройство декодирования движущихся изображений декодирует кодированные данные в единицах, в которых устройство кодирования движущихся изображений, показанное на фиг. 1, выполняет процесс кодирования (в расчете на последовательность или в расчете на графическое изображение).
[0141] Более конкретно, узел 31 декодирования с переменной длиной слова определяет наибольший размер блока кодирования и верхний предел на число разделенных иерархических уровней, которые определяются посредством узла 2 управления кодированием устройства кодирования движущихся изображений, показанного на фиг. 1, согласно процедуре, идентичной процедуре, согласно которой работает устройство кодирования движущихся изображений (этап ST22). Например, когда размер наибольшего блока кодирования и верхний предел на число разделенных иерархических уровней определяются согласно разрешению видеосигнала, узел декодирования с переменной длиной слова определяет размер наибольшего блока кодирования на основе декодированной информации размера кадра и согласно процедуре, идентичной процедуре, согласно которой работает устройство кодирования движущихся изображений. Когда наибольший размер блока кодирования и верхний предел на число разделенных иерархических уровней мультиплексируются в поток битов посредством устройства кодирования движущихся изображений, узел декодирования с переменной длиной слова использует значения, декодированные из потока битов. Далее, вышеуказанный размер наибольшего блока кодирования упоминается как размер наибольшего блока декодирования, и наибольший блок кодирования упоминается как наибольший блок декодирования в устройстве декодирования движущихся изображений. Узел 31 декодирования с переменной длиной слова декодирует состояние разделения каждого наибольшего блока декодирования, как показано на фиг. 6, для каждого определенного наибольшего блока декодирования. Узел декодирования с переменной длиной слова иерархически указывает блоки декодирования (т.е. блоки, соответствующие "блокам кодирования", которые обрабатываются посредством устройства кодирования движущихся изображений, показанного на фиг. 1) на основе декодированного состояния разделения (этап ST23).
[0142] Узел 31 декодирования с переменной длиной слова затем декодирует режим кодирования, назначаемый каждому блоку декодирования. Узел декодирования с переменной длиной слова разделяет каждый блок декодирования на один или более прогнозных блоков, каждый из которых является единицей для процесса прогнозирования, на основе информации, включенной в декодированный режим кодирования, и декодирует параметры прогнозирования, назначаемые каждому из одного или более прогнозных блоков (этап ST24).
[0143] Более конкретно, когда режим кодирования, назначаемый блоку декодирования, представляет собой режим внутреннего кодирования, узел 31 декодирования с переменной длиной слова декодирует параметры внутреннего прогнозирования для каждого из одного или более прогнозных блоков, которые включаются в блок декодирования, и каждый из которых является единицей прогнозирования. Напротив, когда режим кодирования, назначаемый блоку декодирования, представляет собой режим внешнего кодирования, узел декодирования с переменной длиной слова декодирует параметры внешнего прогнозирования и вектор движения для каждого из одного или более прогнозных блоков, которые включаются в блок декодирования, и каждый из которых является единицей прогнозирования (этап ST24).
[0144] Узел 31 декодирования с переменной длиной слова дополнительно разделяет блок декодирования на один или более блоков преобразования, каждый из которых является единицей для процесса преобразования, на основе информации размера блока преобразования, включенной в параметры прогнозирующего разностного кодирования, и декодирует сжатые данные (коэффициенты преобразования, преобразованные и квантованные) относительно каждого блока преобразования (этап ST24).
n
n
n
n
[0145] Когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования (когда m(B) ∈ "внутренний"), переключатель 33 выбора выводит параметры внутреннего прогнозирования каждой единицы прогнозного блока, которые декодируются с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, в узел 34 внутреннего прогнозирования. Напротив, когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования (когда m(B) ∈ "внешний"), переключатель выбора выводит параметры внешнего прогнозирования и вектор движения каждой единицы прогнозного блока, которые декодируются с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, в узел 35 компенсации движения.
n
n
n
n
n
n
n
n
n
n
n
n
n
i
INTRAi
i
i
INTRAi
i
i
INTRAi
i
i
[0146] Когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования (m(B) ∈ "внутренний") (этап ST25), узел 34 внутреннего прогнозирования принимает параметры внутреннего прогнозирования каждой единицы прогнозного блока, выведенные из переключателя 33 выбора, и выполняет процесс внутреннего прогнозирования в отношении каждого прогнозного блока P в блоке B декодирования с использованием вышеуказанных параметров внутреннего прогнозирования посредством обращения к декодированному изображению, сохраненному в памяти 37 для внутреннего прогнозирования, чтобы формировать изображение P внутреннего прогнозирования согласно процедуре, идентичной процедуре, которую использует узел 4 внутреннего прогнозирования, показанный на фиг. 1 (этап ST26). Более конкретно, когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 0 (вертикальное прогнозирование), узел 34 внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно вышеуказанному уравнению (1), чтобы формировать изображение P внутреннего прогнозирования. Дополнительно, когда значение индекса, показывающее режим внутреннего прогнозирования для прогнозного блока P, равно 1 (горизонтальное прогнозирование), узел 34 внутреннего прогнозирования вычисляет прогнозированное значение каждого пикселя в прогнозном блоке P согласно вышеуказанному уравнению (2), чтобы формировать изображение P внутреннего прогнозирования. В этом случае, когда размер блока, для которого используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2), ограничен, процесс внутреннего прогнозирования на основе традиционного вертикального или горизонтального прогнозирования (MPEG-4 AVC/H.264) выполняется в отношении прогнозного блока P, когда прогнозный блок P имеет размер, отличный от размера блока, для которого используется вертикальное прогнозирование на основе уравнения (1) или горизонтальное прогнозирование на основе уравнения (2).
n
n
n
n
i
INTERi
[0147] Когда режим m(B) кодирования, декодированный с переменной длиной слова посредством узла 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования (m(B) ∈ "внешний") (этап ST25), узел 35 компенсации движения принимает вектор движения и параметры внешнего прогнозирования каждой единицы прогнозного блока, которые выводятся из переключателя 33 выбора, и выполняет процесс внешнего прогнозирования в отношении каждого прогнозного блока P в блоке декодирования с использованием вышеуказанного вектора движения и вышеуказанных параметров внешнего прогнозирования при обращении к декодированному изображению, которое сохраняется в памяти 39 кадров прогнозирования с компенсированным движением, и в отношении которого выполняется процесс фильтрации, чтобы формировать изображение P внешнего прогнозирования (этап ST27).
[0148] При приеме сжатых данных и параметров прогнозирующего разностного кодирования из узла 31 декодирования с переменной длиной слова, узел 32 обратного квантования/обратного преобразования обратно квантует сжатые данные посредством обращения к параметрам кодирования разности прогнозирования согласно процедуре, идентичной процедуре, согласно которой работает узел 8 обратного квантования/обратного преобразования, показанный на фиг. 1, а также выполняет процесс обратного ортогонального преобразования для коэффициентов преобразования, которые являются сжатыми данными, которые модуль обратного квантования/обратного преобразования обратно квантует посредством обращения к параметрам кодирования разности прогнозирования, чтобы вычислять декодированный прогнозный разностный сигнал, который является идентичным локальному декодированному прогнозному разностному сигналу, выведенному из узла 8 обратного преобразования/обратного квантования, показанного на фиг. 1 (этап ST28).
INTRAi
INTERi
n
n
[0149] Узел 36 суммирования суммирует декодированный прогнозный разностный сигнал, вычисленный посредством узла 32 обратного преобразования/обратного квантования, и либо изображение P внутреннего прогнозирования, сформированное посредством узла 34 внутреннего прогнозирования, либо изображение P внешнего прогнозирования, сформированное посредством узла 35 компенсации движения, чтобы вычислять декодированное изображение и выводить это декодированное изображение в узел 38 контурной фильтрации, а также сохраняет декодированное изображение в памяти 37 для внутреннего прогнозирования (этап ST29). Это декодированное изображение является сигналом декодированного изображения, который используется во время последующих процессов внутреннего прогнозирования.
n
[0150] При завершении процессов этапов ST23-ST29 в отношении всех блоков B декодирования (этап ST30), узел 38 контурной фильтрации выполняет предварительно определенный процесс фильтрации в отношении декодированного изображения, выведенного из узла 36 суммирования, и сохраняет декодированное изображение, в отношении которого узел контурной фильтрации выполняет процесс фильтрации, в памяти 39 кадров прогнозирования с компенсированным движением (этап ST31). Процесс фильтрации посредством узла 38 контурной фильтрации может быть выполнен в отношении каждого наибольшего блока декодирования декодированного изображения, введенного в него, или каждого блока декодирования декодированного изображения, введенного в него. В качестве альтернативы, после того, как вводится одно графическое изображение из декодированных изображений, узел контурной фильтрации может выполнять процесс фильтрации в отношении графического изображения из декодированных изображений за раз. В качестве примеров предварительно определенного процесса фильтрации, может предоставляться процесс фильтрации границы блока между блоками кодирования таким образом, что неоднородность (блочный шум) на границе не становится заметной, процесс фильтрации для компенсации искажения, возникающего в декодированном изображении, и т.д. Это декодированное изображение является опорным изображением для прогнозирования с компенсированным движением, а также является воспроизведенным изображением.
[0151] Как можно видеть из вышеприведенного описания, узел 4 внутреннего прогнозирования устройства кодирования движущихся изображений согласно этому варианту 3 осуществления имеет такую структуру, чтобы, когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным, суммировать значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным, суммировать значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения. Следовательно, обеспечивается преимущество возможности реализовывать высокоточное прогнозирование, в силу этого повышая качество изображений, даже когда значение сигнала варьируется вдоль направления прогнозирования.
[0152] Дополнительно, узел 34 внутреннего прогнозирования устройства декодирования движущихся изображений согласно этому варианту 3 осуществления имеет такую структуру, чтобы, когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является горизонтальным, суммировать значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью прогнозного блока, со значением яркости пикселя, смежного с левой частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения, тогда как когда процесс внутрикадрового прогнозирования во время формирования прогнозного изображения является вертикальным, суммировать значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью прогнозного блока, со значением яркости пикселя, смежного с верхней частью прогнозного блока, чтобы определять результат суммирования в качестве прогнозированного значения прогнозного изображения. Следовательно, обеспечивается преимущество возможности реализовывать высокоточное прогнозирование, в силу этого повышая качество изображений, даже когда значение сигнала варьируется вдоль направления прогнозирования.
[0153] Согласно этому варианту 3 осуществления, поскольку 1/u, который представляет собой значение масштабирования, используемое, когда процесс горизонтального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, конфигурируется таким образом, что значение масштабирования, заданное для каждой строки в прогнозном блоке, снижается с расстоянием от пикселей, смежных с верхней частью прогнозного блока, чем больше расстояние от пикселей, смежных с верхней частью прогнозного блока, и, следовательно, чем более низкую корреляцию с пикселями имеет целевой пиксель, который должен быть прогнозирован, тем меньшее влияние пикселей, смежных с верхней частью прогнозного блока, может оказываться на целевой пиксель, который должен быть прогнозирован. Как результат, обеспечивается преимущество возможности выполнять процесс прогнозирования с высокой степенью точности. Дополнительно, поскольку 1/t, который представляет собой значение масштабирования, используемое, когда процесс вертикального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, конфигурируется таким образом, что значение масштабирования, заданное для каждого столбца в прогнозном блоке, снижается с расстоянием от пикселей, смежных с левой частью прогнозного блока, чем больше расстояние от пикселей, смежных с левой частью прогнозного блока, и, следовательно, чем более низкую корреляцию с пикселями имеет целевой пиксель, который должен быть прогнозирован, тем меньшее влияние пикселей, смежных с левой частью прогнозного блока, может оказываться на целевой пиксель, который должен быть прогнозирован. Как результат, обеспечивается преимущество возможности выполнять процесс прогнозирования с высокой степенью точности.
N+1
M+1
[0154] В этом варианте 3 осуществления показан пример, в котором значение масштабирования, заданное для N-ной строки в прогнозном блоке в момент, когда процесс горизонтального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, составляет 1/2 (=1/2, 1/4, 1/8, 1/16, ...), и значение масштабирования, заданное для M-того столбца в прогнозном блоке в момент, когда процесс вертикального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования, составляет 1/2 (=1/2, 1/4, 1/8, 1/16, ...). Это является только примером. Значение масштабирования, заданное для N-ной строки в прогнозном блоке, может быть произвольным в момент, когда процесс горизонтального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования при условии, что значение масштабирования снижается с расстоянием от пикселей, смежных с верхней частью прогнозного блока, и значение масштабирования, заданное для M-того столбца в прогнозном блоке, может быть произвольным в момент, когда процесс вертикального прогнозирования выполняется посредством каждого из узлов 4 и 34 внутреннего прогнозирования при условии, что значение масштабирования снижается с расстоянием от пикселей, смежных с левой частью прогнозного блока.
[0155] Хотя изобретение описано в предпочтительных вариантах осуществления, следует понимать, что может осуществляться произвольная комбинация двух или более вышеуказанных вариантов осуществления, различные изменения могут быть внесены в произвольный компонент согласно любому из вышеуказанных вариантов осуществления, и произвольный компонент согласно любому из вышеуказанных вариантов осуществления может опускаться в пределах объема изобретения.
Промышленная применимость
[0156] Настоящее изобретение является применимым для устройства кодирования движущихся изображений, которое должно кодировать движущееся изображение с высокой степенью эффективности, а также является применимым для устройства декодирования движущихся изображений, которое должно декодировать движущееся изображение, которое кодируется с высокой степенью эффективности.
Пояснения к ссылкам с номерами
[0157] 1 - узел разделения на блоки (модуль разделения на блоки), 2 - узел управления кодированием (модуль управления кодированием), 3 -переключатель выбора, 4 - узел внутреннего прогнозирования (модуль внутреннего прогнозирования), 5 - узел прогнозирования с компенсированным движением (модуль прогнозирования с компенсированным движением), 6 - узел вычитания (модуль квантования), 7 - узел преобразования/квантования (модуль квантования), 8 - узел обратного преобразования/обратного квантования, 9 - узел суммирования, 10 - память для внутреннего прогнозирования (модуль внутреннего прогнозирования), 11 - узел контурной фильтрации, 12 -память кадров прогнозирования с компенсированным движением (модуль прогнозирования с компенсированным движением), 13 - узел кодирования с переменной длиной слова (модуль кодирования с переменной длиной слова), 31 - узел декодирования с переменной длиной слова (модуль декодирования с переменной длиной слова), 32 - узел обратного преобразования/обратного квантования (модуль обратного квантования), 33 -переключатель выбора, 34 - узел внутреннего прогнозирования (модуль внутреннего прогнозирования), 35 - узел компенсации движения (модуль прогнозирования с компенсированным движением), 36 - узел суммирования, 37 - память для внутреннего прогнозирования (модуль внутреннего прогнозирования), 38 - узел контурной фильтрации, 39 -память кадров прогнозирования с компенсированным движением (модуль прогнозирования с компенсированным движением).