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

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к устройству кодирования изображений и к способу кодирования изображений для кодирования движущегося изображения с высокой степенью эффективности, а также к устройству декодирования изображений и к способу декодирования изображений для декодирования кодированного движущегося изображения с высокой степенью эффективности.
УРОВЕНЬ ТЕХНИКИ
[0002] Традиционно, в соответствии со способом кодирования видео по международным стандартам, таким как MPEG или ITU-T H.26x, после того, как введенный видеокадр сегментируется на макроблоки, каждый из которых состоит из блоков 16x16 пикселов, и прогнозирование с компенсацией движения выполняется для каждого из макроблоков, сжатие информации выполняется для введенного видеокадра посредством выполнения ортогонального преобразования и квантования для сигнала ошибки прогнозирования в расчете на блок. Тем не менее, проблема состоит в том, что по мере того, как коэффициент сжатия становится высоким, эффективность сжатия уменьшается вследствие ухудшения качества прогнозного опорного изображения, используемого при выполнении прогнозирования с компенсацией движения. Чтобы разрешать эту проблему, в соответствии со способом кодирования, таким как MPEG-4 AVC/H.264 (см. непатентный противопоставленный документ 1), посредством выполнения процесса внутриконтурной фильтрации блочности, исключается искажение в виде блочности, возникающее в прогнозном опорном изображении и вызываемое посредством квантования коэффициентов ортогонального преобразования.
[0003] В частности, при выполнении прогнозирования с компенсацией движения между кадрами, поиск вектора движения выполняется для каждого макроблока непосредственно или для каждого из субблоков, на которые каждый макроблок точно дополнительно сегментируется. Затем, прогнозное изображение с компенсацией движения формируется посредством выполнения прогнозирования с компенсацией движения для сигнала опорного изображения, сохраненного в запоминающем устройстве 107, посредством использования вектора движения, и сигнал ошибки прогнозирования вычисляется посредством определения разности между сигналом прогнозирования, показывающим прогнозное изображение с компенсацией движения, и сигналом изображения, сформированным посредством сегментации. Дополнительно, модуль 102 прогнозирования выводит параметры для формирования сигналов прогнозирования, которые модуль прогнозирования определяет при получении сигнала прогнозирования, в модуль 108 кодирования с переменной длиной слова. Например, параметры для формирования сигналов прогнозирования включают в себя режим внутреннего прогнозирования, указывающий то, как пространственное прогнозирование выполняется в кадре, и вектор движения, указывающий величину движения между кадрами.
[0004] При приеме сигнала ошибки прогнозирования из модуля 102 прогнозирования модуль 103 сжатия удаляет корреляцию сигналов посредством выполнения процесса DCT (дискретного косинусного преобразования) для сигнала ошибки прогнозирования и затем квантует этот сигнал ошибки прогнозирования, чтобы получать сжатые данные. При приеме сжатых данных из модуля 103 сжатия модуль 104 локального декодирования вычисляет сигнал ошибки прогнозирования, соответствующий сигналу ошибки прогнозирования, выведенному из модуля 102 прогнозирования, посредством обратного квантования сжатых данных и затем выполнения процесса обратного DCT для сжатых данных.
[0005] При приеме сигнала ошибки прогнозирования из модуля 104 локального декодирования, модуль 105 суммирования суммирует сигнал ошибки прогнозирования и сигнал прогнозирования, выведенный из модуля 102 прогнозирования, чтобы формировать локальное декодированное изображение. Контурный фильтр 106 исключает искажение в виде блочности, наложенное на сигнал локального декодированного изображения, показывающий локальное декодированное изображение, сформированное посредством модуля 105 суммирования, и сохраняет сигнал локального декодированного изображения, из которого исключается искажение, в запоминающем устройстве 107 в качестве сигнала опорного изображения.
[0006] При приеме сжатых данных из модуля 103 сжатия, модуль 108 кодирования с переменной длиной слова энтропийно кодирует сжатые данные и выводит поток битов, который является кодированным результатом. При выводе потока битов модуль 108 кодирования с переменной длиной слова мультиплексирует параметры для формирования сигналов прогнозирования, выведенные из модуля 102 прогнозирования в поток битов, и выводит этот поток битов.
[0007] В соответствии со способом кодирования, раскрытым посредством непатентного противопоставленного документа 1, контурный фильтр 106 определяет интенсивность сглаживания для соседнего пиксела на границе блока в DCT на основе информации, включающей в себя степень детализации квантования, режим кодирования, степень изменения вектора движения и т.д., в силу этого уменьшая искажения, возникающие на границах блоков. Как результат, может быть повышено качество опорного сигнала изображения, и может быть повышена эффективность прогнозирования с компенсацией движения в последующих процессах кодирования.
[0008] В отличие от этого, проблема в способе кодирования, раскрытом посредством непатентного противопоставленного документа 1, состоит в том, что количество высокочастотных компонентов, потерянных из сигнала, увеличивается с увеличением коэффициента сжатия, и это приводит к чрезмерной гладкости на всем экране, и, следовательно, видеоизображение становится размытым. Чтобы разрешать эту проблему, следующий непатентный противопоставленный документ 1 предлагает технологию применения фильтра Винера в качестве контурного фильтра 106 и формирования этого контурного фильтра 106 таким образом, что искажение в зависимости от квадратической ошибки между сигналом изображения, который должен быть закодирован, который представляет собой сигнал исходного изображения, и сигналом опорного изображения, соответствующим этому сигналу изображения, минимизируется.
[0009] Фиг. 22 является пояснительным чертежом, показывающим принцип в основе повышения качества сигнала опорного изображения посредством использования фильтра Винера в устройстве кодирования изображений, раскрытом посредством патентного противопоставленного документа 1. Ссылаясь на фиг. 22, сигнал s соответствует сигналу изображения, который должен быть закодирован, который вводится в модуль 101 сегментации на блоки, показанный на фиг. 21, сигнал s' представляет собой сигнал локального декодированного изображения, выведенный из модуля 105 суммирования, показанного на фиг. 21, или сигнал, соответствующий сигналу локального декодированного изображения, в котором искажения, возникающие на границах блоков, уменьшаются посредством контурного фильтра 106, раскрытого посредством непатентного противопоставленного документа 1. Более конкретно, сигнал s' представляет собой сигнал, в котором искажение e (шум) при кодировании накладывается на сигнал s.
s's'
ss'
s's'
ss'
[0010] Фильтр Винера задается как фильтр, который должен выполняться для сигнала s' таким образом, чтобы минимизировать это искажение (шум) e при кодировании в пределах искажения в зависимости от квадратической ошибки. В общем, коэффициенты w фильтрации могут быть определены из матрицы R автокорреляции сигнала s' и вектора R взаимной корреляции сигналов s и s' согласно следующему уравнению (1). Абсолютные величины матриц R и R соответствуют числу отводов определенного фильтра.
[0011] Посредством применения фильтра Винера, имеющего коэффициенты w фильтрации, сигнал s "шляпка", качество которого повышается ("^" присоединенный к букве алфавита, выражается как "шляпка", поскольку эта заявка на патент подана с использованием электронной системы подачи и регистрации), получается в качестве сигнала, соответствующего сигналу опорного изображения. Согласно технологии, раскрытой посредством патентного противопоставленного документа 1, классификация областей (классификация по классам) выполняется для каждого кадра согласно информации движения и локальным характеристикам сигналов изображения, и оптимальный фильтр Винера рассчитывается для каждого класса, так что реализуется высокоточная компенсация искажений согласно локальности изображения.
ДОКУМЕНТЫ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
ПАТЕНТНЫЕ ПРОТИВОПОСТАВЛЕННЫЕ ДОКУМЕНТЫ
[0012] Патентный противопоставленный документ 1. WO 2008/010929
НЕПАТЕНТНЫЕ ПРОТИВОПОСТАВЛЕННЫЕ ДОКУМЕНТЫ
[0013] Непатентный противопоставленный документ 1. Стандарты MPEG-4 AVC (ISO/IEC 14496-10)/H.ITU-T 264
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ЗАДАЧИ, КОТОРЫЕ ДОЛЖНЫ БЫТЬ РЕШЕНЫ ИЗОБРЕТЕНИЕМ
[0014] Поскольку традиционное устройство кодирования изображений имеет такую структуру, как указано выше, может быть реализована высокоточная компенсация искажений согласно локальности изображения, которое должно быть кодировано. Тем не менее, проблема состоит в том, что, поскольку классификация по классам выполняется посредством использования способа, предварительно определенного согласно информации движения и локальным характеристикам сигналов изображения, эффект процесса фильтрации значительно отличается в зависимости от изображения, которое должно быть кодировано, и формируется изображение, в котором эффект компенсации искажений, вызываемый посредством процесса фильтрации, практически не проявляется касательно искажений.
[0015] Настоящее изобретение осуществлено, чтобы разрешать вышеуказанную проблему, и, следовательно, цель настоящего изобретения заключается в том, чтобы предоставлять устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений, допускающие повышение точности для повышения качества изображений.
СРЕДСТВО ДЛЯ РЕШЕНИЯ ЗАДАЧ
[0016] В соответствии с настоящим изобретением, предусмотрено устройство декодирования видео, в котором фильтр выполняет процесс адаптивного к пикселю смещения, при котором выполняется классификация по классам каждого пиксела в декодированном изображении, сформированном посредством формирователя декодированных изображений, на один класс для каждого блока кодирования, имеющего наибольший размер, посредством использования способа классификации по классам, и суммируется смещение каждого класса с пиксельным значением каждого пиксела, принадлежащего вышеуказанному классу. В соответствии с настоящим изобретением, предусмотрено устройство декодирования видео, включающее в себя: декодер с переменной длиной слова, который декодирует с переменной длиной слова сжатые данные, ассоциированные с каждым из блоков кодирования, иерархически сегментированных из закодированных данных, мультиплексированных в поток битов, а также декодирует с переменной длиной слова параметры фильтра для каждого блока кодирования, имеющего наибольший размер, из закодированных данных; предиктор, который выполняет процесс прогнозирования для блока кодирования, чтобы формировать прогнозное изображение; формирователь разностных изображений, который формирует разностное изображение из сжатых данных; формирователь декодированных изображений, который суммирует разностное изображение и прогнозное изображение, чтобы формировать декодированное изображение; и фильтр, который выполняет процесс фильтрации с использованием параметров фильтра для декодированного изображения и выводит декодированное изображение, обработанное фильтрацией, при этом декодер с переменной длиной слова декодирует с переменной длиной слова флаг, расположенный для каждого блока кодирования, имеющего наибольший размер, и указывающий то, являются или нет параметры фильтра для блока кодирования, который должен быть декодирован, имеющего наибольший размер, идентичными параметрам фильтра для другого блока кодирования, имеющего наибольший размер и смежного сверху или слева, и когда флаг указывает то, что параметры являются идентичными параметрам для другого блока кодирования, задает параметры фильтра другого блока кодирования, имеющего наибольший размер и смежного сверху или слева, в качестве параметров фильтра для блока кодирования, который должен быть декодирован, имеющего наибольший размер.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
[0017] В соответствии с настоящим изобретением, фильтр выполняет процесс адаптивного к пикселю смещения, при котором выполняется классификация по классам каждого пиксела в декодированном изображении, сформированном посредством формирователя декодированных изображений, на один класс для каждого блока кодирования, имеющего наибольший размер, посредством использования способа классификации по классам, и суммируется смещение каждого класса с пиксельным значением каждого пиксела, принадлежащего вышеуказанному классу. В соответствии с настоящим изобретением, устройство декодирования видео имеет такую структуру, что устройство декодирования видео включает в себя: декодер с переменной длиной слова, который декодирует с переменной длиной слова сжатые данные, ассоциированные с каждым из блоков кодирования, иерархически сегментированных из закодированных данных, мультиплексированных в поток битов, а также декодирует с переменной длиной слова параметры фильтра для каждого блока кодирования, имеющего наибольший размер, из закодированных данных; предиктор, который выполняет процесс прогнозирования для блока кодирования, чтобы формировать прогнозное изображение; формирователь разностных изображений, который формирует разностное изображение из сжатых данных; формирователь декодированных изображений, который суммирует разностное изображение и прогнозное изображение, чтобы формировать декодированное изображение; и фильтр, который выполняет процесс фильтрации с использованием параметров фильтра для декодированного изображения и выводит декодированное изображение, обработанное фильтрацией, и декодер с переменной длиной слова декодирует с переменной длиной слова флаг, расположенный для каждого блока кодирования, имеющего наибольший размер, и указывающий то, являются или нет параметры фильтра для блока кодирования, который должен быть декодирован, имеющего наибольший размер, идентичными параметрам фильтра для другого блока кодирования, имеющего наибольший размер и смежного сверху или слева, и когда флаг указывает то, что параметры являются идентичными параметрам для другого блока кодирования, задает параметры фильтра другого блока кодирования, имеющего наибольший размер и смежного сверху или слева, в качестве параметров фильтра для блока кодирования, который должен быть декодирован, имеющего наибольший размер. Следовательно, предоставляется преимущество способности повышать точность для повышения качества изображений.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0018] Фиг. 1 является блок-схемой, показывающей устройство кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 2 является блок-схемой последовательности операций способа, показывающей обработку (способ кодирования видео), выполняемую посредством устройства кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 3 является блок-схемой, показывающей устройство декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 4 является блок-схемой последовательности операций способа, показывающей обработку (способ декодирования видео), выполняемую посредством устройства декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 5 является пояснительным чертежом, показывающим пример, в котором каждый наибольший блок кодирования иерархически сегментируется на множество блоков кодирования;
Фиг. 6(a) является пояснительным чертежом, показывающим распределение блоков кодирования и прогнозных блоков после сегментации, и фиг. 6(b) является пояснительным чертежом, показывающим состояние, в котором режим m(Bn) кодирования назначается каждому из блоков через сегментацию на иерархические слои;
Фиг. 7 является пояснительным чертежом, показывающим пример параметра внутреннего прогнозирования (режима внутреннего прогнозирования), который может быть выбран для каждого прогнозного блока Pin в блоке Bn кодирования;
i
i
i
n
n
n
Фиг. 8 является пояснительным чертежом, показывающим пример пикселов, которые используются при формировании прогнозированного значения каждого пиксела в прогнозном блоке P в случае l=m=4;
i
i
n
n
Фиг. 9 является пояснительным чертежом, показывающим относительные координаты каждого пиксела в прогнозном блоке P, которые определяются с помощью пиксела в верхнем левом углу прогнозного блока P, заданного как начало координат;
Фиг. 10 является пояснительным чертежом, показывающим пример структуры использования множества процессов контурной фильтрации в модуле контурного фильтра устройства кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 11 является пояснительным чертежом, показывающим пример классификации по классам, выполняемой для каждого наибольшего блока кодирования в процессе адаптивной фильтрации;
Фиг. 12 является пояснительным чертежом, показывающим пример структуры использования множества процессов контурной фильтрации в модуле контурного фильтра устройства кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 13 является блок-схемой последовательности операций способа, показывающей пример случая, в котором модуль контурного фильтра устройства кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения выполняет процесс адаптивной фильтрации;
Фиг. 14 является блок-схемой последовательности операций способа, показывающей другой пример случая, в котором модуль контурного фильтра устройства кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения выполняет процесс адаптивной фильтрации;
Фиг. 15 является пояснительным чертежом, показывающим пример того, выполняется или нет процесс фильтрации для каждого блока кодирования в процессе адаптивной фильтрации;
Фиг. 16 является пояснительным чертежом, показывающим процесс кодирования с использованием перемещения к началу номера класса, который выполняется для каждого наибольшего блока кодирования в процессе адаптивной фильтрации;
Фиг. 17 является пояснительным чертежом, показывающим другой пример того, выполняется или нет процесс фильтрации для каждого блока кодирования в процессе адаптивной фильтрации;
Фиг. 18 является пояснительным чертежом, показывающим пример потока битов, сформированного посредством модуля кодирования с переменной длиной слова устройства кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
Фиг. 19 является блок-схемой последовательности операций способа, показывающей пример случая, в котором модуль контурного фильтра устройства декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения выполняет процесс адаптивной фильтрации;
Фиг. 20 является пояснительным чертежом, показывающим часть способов классификации по классам в случае выполнения процесса адаптивного к пикселю смещения;
Фиг. 21 является блок-схемой, показывающей устройство кодирования изображений, раскрытое посредством непатентного противопоставленного документа 1;
Фиг. 22 является пояснительным чертежом, показывающим принцип в основе повышения качества сигнала опорного изображения с использованием фильтра Винера; и
Фиг. 23 является пояснительным чертежом, показывающим пример кодирования индекса каждого наибольшего блока кодирования в процессе адаптивной фильтрации или процессе адаптивного к пикселю смещения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0019] ВАРИАНТ 1 ОСУЩЕСТВЛЕНИЯ
Фиг. 1 является блок-схемой, показывающей устройство кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения. Ссылаясь на фиг. 1, модуль 1 сегментации на блоки выполняет процесс, при приеме видеосигнала в качестве введенного изображения, сегментации введенного изображения на наибольшие блоки кодирования, которые являются блоками кодирования, имеющими наибольший размер, определенный посредством модуля 2 управления кодированием, а также сегментации каждого из наибольших блоков кодирования на блоки иерархически до тех пор, пока число иерархических слоев не достигнет верхнего предела на число иерархических слоев, причем верхний предел определяется посредством модуля 2 управления кодированием. Более конкретно, модуль 1 сегментации на блоки выполняет процесс сегментации введенного изображения на блоки кодирования согласно сегменту, определенному посредством модуля 2 управления кодированием, и вывода каждого из блоков кодирования. Каждый из блоков кодирования дополнительно сегментируется на один или более прогнозных блоков, каждый из которых представляет собой единицу прогнозирования. Модуль 1 сегментации на блоки составляет модуль сегментации на блоки.
[0020] Модуль 2 управления кодированием выполняет процесс определения наибольшего размера каждого из блоков кодирования, который представляет собой единицу, которая должна быть обработана в момент, когда выполняется процесс прогнозирования, а также определения верхнего предела на число иерархических слоев в момент, когда каждый из блоков кодирования, имеющих наибольший размер, иерархически сегментируется на блоки, чтобы определять размер каждого из блоков кодирования. Модуль 2 управления кодированием также выполняет процесс выбора режима кодирования, который применяется к каждому блоку кодирования, выведенному из модуля 1 сегментации на блоки, из одного или более доступных режимов кодирования (одного или более режимов внутреннего кодирования, в которых отличается размер и т.п. каждого прогнозного блока, который представляет собой единицу для процесса прогнозирования, и одного или более режимов внешнего кодирования, в которых отличается размер и т.п. каждого прогнозного блока). В качестве примера способа выбора режима кодирования, существует способ выбора режима кодирования, который предоставляет наибольшую степень эффективности кодирования для каждого блока кодирования, выведенного из модуля 1 сегментации на блоки, из одного или более доступных режимов кодирования.
[0021] Модуль 2 управления кодированием также выполняет процесс, когда режим кодирования, имеющий наибольшую степень эффективности кодирования, представляет собой режим внутреннего кодирования, определения параметра внутреннего прогнозирования, который используется при выполнении процесса внутреннего прогнозирования для блока кодирования в режиме внутреннего кодирования для каждого прогнозного блока, который представляет собой единицу прогнозирования, показанную посредством вышеуказанного режима внутреннего кодирования, и когда режим кодирования, имеющий наибольшую степень эффективности кодирования, представляет собой режим внешнего кодирования, определения параметра внешнего прогнозирования, который используется при выполнении процесса внешнего прогнозирования для блока кодирования в режиме внешнего кодирования для каждого прогнозного блока, который представляет собой единицу прогнозирования, показанную посредством вышеуказанного режима внешнего кодирования. Модуль 2 управления кодированием дополнительно выполняет процесс определения параметров прогнозирующего разностного кодирования, которые модуль управления кодированием предоставляет для модуля 7 преобразования/квантования и модуля 8 обратного квантования/обратного преобразования. Информация сегментации на блоки ортогонального преобразования, показывающая информацию относительно сегментации на блоки ортогонального преобразования, которые представляют собой единицы для процесса ортогонального преобразования для блока кодирования, и параметр квантования, задающий размер шага квантования во время выполнения квантования для коэффициентов преобразования, включаются в параметры прогнозирующего разностного кодирования. Модуль 2 управления кодированием составляет контроллер кодирования.
[0022] Избирательный переключатель 3 выполняет процесс, когда режим кодирования, определенный посредством модуля 2 управления кодированием, представляет собой режим внутреннего кодирования, вывода блока кодирования, выведенного из модуля 1 сегментации на блоки, в модуль 4 внутреннего прогнозирования, и когда режим кодирования, определенный посредством модуля 2 управления кодированием, представляет собой режим внешнего кодирования, вывода блока кодирования, выведенного из модуля 1 сегментации на блоки, в модуль 5 прогнозирования с компенсацией движения.
[0023] Модуль 4 внутреннего прогнозирования выполняет процесс, когда режим внутреннего кодирования выбирается посредством модуля 2 управления кодированием в качестве режима кодирования, соответствующего блоку кодирования, выведенному из избирательного переключателя 3, выполнения процесса внутреннего прогнозирования (процесса внутрикадрового прогнозирования) для каждого прогнозного блока, который представляет собой единицу для процесса прогнозирования во время выполнения процесса прогнозирования в отношении блока кодирования, посредством использования параметра внутреннего прогнозирования, определенного посредством модуля 2 управления кодированием при обращении к локальному декодированному изображению, сохраненному в запоминающем устройстве 10 для внутреннего прогнозирования, чтобы формировать изображение внутреннего прогнозирования. Внутренний предиктор состоит из модуля 4 внутреннего прогнозирования и запоминающего устройства 10 для внутреннего прогнозирования.
[0024] Модуль 5 прогнозирования с компенсацией движения выполняет процесс, когда режим внешнего кодирования выбирается посредством модуля 2 управления кодированием в качестве режима кодирования, соответствующего блоку кодирования, выведенному из избирательного переключателя 3, сравнения блока кодирования с одним или более кадров локального декодированного изображения, сохраненных в запоминающем устройстве 12 кадров прогнозирования с компенсацией движения для каждого прогнозного блока, который представляет собой единицу для процесса прогнозирования, чтобы выполнять поиск вектора движения, и выполнения процесса внешнего прогнозирования (процесса прогнозирования с компенсацией движения) для каждого прогнозного блока в блоке кодирования посредством использования вектора движения и параметра внешнего прогнозирования, такого как номер кадра, который определяется посредством модуля 2 управления кодированием и к которому обращаются, чтобы формировать изображение внешнего прогнозирования. Предиктор с компенсацией движения состоит из модуля 5 прогнозирования с компенсацией движения и запоминающего устройства 12 кадров прогнозирования с компенсацией движения.
[0025] Модуль 6 вычитания выполняет процесс вычитания изображения внутреннего прогнозирования, сформированного посредством модуля 4 внутреннего прогнозирования, или изображения внешнего прогнозирования, сформированного посредством модуля 5 прогнозирования с компенсацией движения, из блока кодирования, выведенного из модуля 1 сегментации на блоки, и вывода прогнозного разностного сигнала, показывающего разностное изображение, которое представляет собой результат вычитания, в модуль 7 преобразования/квантования. Модуль 7 преобразования/квантования выполняет процесс выполнения процесса ортогонального преобразования (например, DCT (дискретного косинусного преобразования), DST (дискретного синусного преобразования) или процесса ортогонального преобразования, такого как KL-преобразование, в котором основания рассчитываются для конкретной обучающей последовательности заранее) для каждого блока ортогонального преобразования прогнозного разностного сигнала, выведенного из модуля 6 вычитания, посредством обращении к информации сегментации на блоки ортогонального преобразования, включенной в параметры прогнозирующего разностного кодирования, определенные посредством модуля 2 управления кодированием, чтобы вычислять коэффициенты преобразования, а также квантования коэффициентов преобразования каждого блока ортогонального преобразования посредством обращения к параметру квантования, включенному в параметры прогнозирующего разностного кодирования, и затем вывода сжатых данных, которые представляют собой квантованные коэффициенты преобразования, в модуль 8 обратного квантования/обратного преобразования и модуль 13 кодирования с переменной длиной слова. Модуль 7 преобразования/квантования составляет модуль сжатия изображений.
[0026] Модуль 8 обратного квантования/обратного преобразования выполняет процесс обратного квантования сжатых данных относительно каждого блока ортогонального преобразования, выведенного из модуля 7 преобразования/квантования, посредством обращения к параметру квантования и информации сегментации на блоки ортогонального преобразования, включенной в параметры прогнозирующего разностного кодирования, определенные посредством модуля 2 управления кодированием, а также выполнения процесса обратного ортогонального преобразования для коэффициентов преобразования, которые являются обратно квантованными сжатыми данными, чтобы вычислять локальный декодированный прогнозный разностный сигнал, соответствующий прогнозному разностному сигналу, выведенному из модуля 6 вычитания. Модуль 9 суммирования выполняет процесс суммирования локального декодированного прогнозного разностного сигнала, вычисленного посредством модуля 8 обратного квантования/обратного преобразования, и изображения внутреннего прогнозирования, сформированного посредством модуля 4 внутреннего прогнозирования или изображения внешнего прогнозирования, сформированного посредством модуля 5 прогнозирования с компенсацией движения, чтобы вычислять локальное декодированное изображение, соответствующее блоку кодирования, выведенному из модуля 1 сегментации на блоки. Формирователь декодированных изображений состоит из модуля 8 обратного квантования/обратного преобразования и модуля 9 суммирования. Запоминающее устройство 10 для внутреннего прогнозирования является носителем записи для сохранения локального декодированного изображения, вычисленного посредством модуля 9 суммирования.
[0027] Модуль 11 контурного фильтра выполняет процесс выполнения предварительно определенного процесса фильтрации для локального декодированного изображения, вычисленного посредством модуля 9 суммирования, чтобы выводить локальное декодированное изображение, обработанное фильтрацией. Конкретно, модуль контурного фильтра выполняет процесс фильтрации (фильтрации для удаления блочности) для уменьшения искажения, возникающего на границе между блоками ортогонального преобразования, и искажения, возникающего на границе между прогнозными блоками, процесс (процесс адаптивного к пикселю смещения) для адаптивного суммирования смещения в расчете на пиксел, процесс адаптивной фильтрации для адаптивного переключения между линейными фильтрами, такими как фильтры Винера, чтобы выполнять процесс фильтрации, и т.д. Модуль 11 контурного фильтра может иметь такую структуру, чтобы выполнять один из вышеуказанного процесса фильтрации для удаления блочности, вышеуказанного процесса адаптивного к пикселю смещения и вышеуказанного процесса адаптивной фильтрации, или выполнять два или более процессов, как показано на фиг. 10. В общем, тогда как качество изображений повышается с увеличением числа типов используемых процессов фильтрации, нагрузка по обработке увеличивается с увеличением числа типов используемых процессов фильтрации. Более конкретно, поскольку существует компромисс между качеством изображений и нагрузкой по обработке, структура модуля контурного фильтра должна быть определена только согласно нагрузке по обработке, допустимой в устройстве кодирования видео. Модуль 11 контурного фильтра составляет фильтр.
[0028] В процессе адаптивного к пикселю смещения случай невыполнения процесса смещения задается как один способ классификации по классам для каждого наибольшего блока кодирования сначала, и один способ классификации по классам выбирается из множества способов классификации по классам, которые подготавливаются заранее. Затем, посредством использования выбранного способа классификации по классам, каждый пиксел, включенный в блок, классифицируется на один из классов, и смещение, минимизирующее сумму квадратических ошибок значений яркости между изображением, которое должно быть кодировано, и локальным декодированным изображением, вычисляется для каждого из классов. В завершение, выполняется процесс суммирования смещения со значением яркости локального декодированного изображения, за счет этого повышая качество изображений для локального декодированного изображения. Следовательно, в процессе адаптивного к пикселю смещения, индекс, указывающий способ классификации по классам для каждого наибольшего блока кодирования, и смещение, предоставленное для каждого из классов каждого наибольшего блока кодирования, выводятся в модуль 13 кодирования с переменной длиной слова в качестве части параметров фильтра.
[0029] Дополнительно, в процессе адаптивной фильтрации, как показано на фиг. 11, классификация по классам (классификация групп) выполняется, при этом случай невыполнения процесса фильтрации включается для каждого наибольшего блока кодирования (в примере, показанном на фиг. 11, номер класса 0 показывает "без процесса фильтрации"), фильтр для компенсации наложенного искажения рассчитывается для каждой области (локального декодированного изображения), принадлежащей каждому классу (группе), и процесс фильтрации выполняется для локального декодированного изображения посредством использования фильтра. Затем, число вышеуказанных классов (групп) (число фильтров), фильтр для локального декодированного изображения, принадлежащего каждому классу (группе), и номер класса (номер фильтра), который является идентификационной информацией для идентификации класса (группы) каждого наибольшего блока кодирования, выводятся в модуль 13 кодирования с переменной длиной слова в качестве части параметров фильтра. Поскольку необходимо обращаться к видеосигналу посредством использования модуля 11 контурного фильтра при выполнении процесса адаптивного к пикселю смещения и процесса адаптивной фильтрации, устройство кодирования видео, показанное на фиг. 1, модифицируется таким образом, что видеосигнал вводится в модуль 11 контурного фильтра.
[0030] Дополнительно, в качестве способа использования как процесса адаптивного к пикселю смещения, так и процесса адаптивной фильтрации, вместо использования структуры, показанной на фиг. 10, процесс адаптивного к пикселю смещения или процесс адаптивной фильтрации может быть оптимально выбран для каждого наибольшего блока кодирования. В случае если устройство кодирования видео имеет такую структуру, высокоточный процесс фильтрации может быть реализован при уменьшении объема вычислений процесса фильтрации для каждого наибольшего блока кодирования. Тем не менее, в случае если устройство кодирования видео имеет такую структуру, информация выбора, указывающая то, какой из процесса адаптивного к пикселю смещения для каждого наибольшего блока кодирования и процесса адаптивной фильтрации для каждого наибольшего блока кодирования должен быть выполнен, выводится в модуль 13 кодирования с переменной длиной слова в качестве части параметров фильтра.
[0031] Запоминающее устройство 12 кадров прогнозирования с компенсацией движения является носителем записи для сохранения локального декодированного изображения, для которого процесс фильтрации выполняется посредством модуля 11 контурного фильтра. Модуль 13 кодирования с переменной длиной слова выполняет процесс кодирования с переменной длиной слова сжатых данных, выведенных в него из модуля 7 преобразования/квантования, выходного сигнала модуля 2 управления кодированием (информации сегментации на блоки относительно сегмента в каждом наибольшем блоке кодирования, режима кодирования, параметров прогнозирующего разностного кодирования и параметра внутреннего прогнозирования или параметра внешнего прогнозирования), вектора движения, выведенного из модуля 5 прогнозирования с компенсацией движения (когда режим кодирования представляет собой режим внешнего кодирования), и параметров фильтра, выведенных из модуля 11 контурного фильтра, чтобы формировать поток битов. Модуль 13 кодирования с переменной длиной слова составляет кодер с переменной длиной слова.
[0032] В примере, показанном на фиг. 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 осуществления настоящего изобретения.
[0033] Фиг. 3 является блок-схемой, показывающей устройство декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения. Ссылаясь на фиг. 3, при приеме потока битов, сформированного посредством устройства кодирования видео, показанного на фиг. 1, модуль 31 декодирования с переменной длиной слова декодирует с переменной длиной слова информацию сегментации на блоки, указывающую состояние сегментации каждого блока кодирования, сегментированного иерархически из потока битов. Модуль 31 декодирования с переменной длиной слова также выполняет процесс обращении к информации сегментации на блоки, чтобы указывать каждый блок декодирования (блок, соответствующий каждому "блоку кодирования" в устройстве кодирования видео по фиг. 1), который представляет собой одну из единиц, на которые иерархически сегментируется каждый наибольший блок декодирования и для которых устройство декодирования видео выполняет процесс декодирования для каждого наибольшего блока декодирования (блока, соответствующего каждому "наибольшему блоку кодирования" в устройстве кодирования видео, показанном на фиг. 1), декодирования с переменной длиной слова сжатых данных, режима кодирования, параметра внутреннего прогнозирования (когда режим кодирования представляет собой режим внутреннего кодирования), параметра внешнего прогнозирования (когда режим кодирования представляет собой режим внешнего кодирования), параметров прогнозирующего разностного кодирования и вектора движения (когда режим кодирования представляет собой режим внешнего кодирования), которые ассоциированы с каждым блоком декодирования, а также декодирования с переменной длиной слова параметров фильтра для каждого наибольшего блока декодирования, которые используются посредством модуля 38 контурного фильтра. Модуль 31 декодирования с переменной длиной слова составляет декодер с переменной длиной слова.
[0034] Модуль 32 обратного квантования/обратного преобразования выполняет процесс обратного квантования сжатых данных, декодированных с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова для каждого блока ортогонального преобразования, посредством обращения к параметру квантования и информации сегментации на блоки ортогонального преобразования, которые включаются в параметры прогнозирующего разностного кодирования, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, а также выполнения процесса обратного ортогонального преобразования для коэффициентов преобразования, которые являются обратно квантованными сжатыми данными, чтобы вычислять декодированный прогнозный разностный сигнал, который является идентичным локальному декодированному прогнозному разностному сигналу, выведенному из модуля 8 обратного квантования/обратного преобразования, показанного на фиг. 1. Модуль 32 обратного квантования/обратного преобразования составляет формирователь разностных изображений.
[0035] Избирательный переключатель 33 выполняет процесс, когда режим кодирования, декодированный с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования, вывода параметра внутреннего прогнозирования, декодированного с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, в модуль 34 внутреннего прогнозирования, а когда режим кодирования, декодированный с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования, вывода параметра внешнего прогнозирования и вектора движения, которые декодируются с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, в модуль 35 компенсации движения.
[0036] Модуль 34 внутреннего прогнозирования выполняет процесс, когда режим кодирования, ассоциированный с блоком декодирования, указываемым из информации сегментации на блоки, декодированной с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования, выполнения процесса внутреннего прогнозирования (процесса внутрикадрового прогнозирования) с использованием параметра внутреннего прогнозирования, выведенного из избирательного переключателя 33 для каждого прогнозного блока, который представляет собой единицу для процесса прогнозирования во время выполнения процесса прогнозирования в отношении блока декодирования, при обращении к декодированному изображению, сохраненному в запоминающем устройстве 37 для внутреннего прогнозирования, чтобы формировать изображение внутреннего прогнозирования. Внутренний предиктор состоит из модуля 34 внутреннего прогнозирования и запоминающего устройства 37 для внутреннего прогнозирования.
[0037] Модуль 35 компенсации движения выполняет процесс, когда режим кодирования, ассоциированный с блоком декодирования, указываемым из информации сегментации на блоки, декодированной с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования, выполнения процесса внешнего прогнозирования (процесса прогнозирования с компенсацией движения) с использованием вектора движения и параметра внешнего прогнозирования, которые выводятся из избирательного переключателя 33 для каждого прогнозного блока, который представляет собой единицу для процесса прогнозирования во время выполнения процесса прогнозирования для вышеуказанного блока декодирования, при обращении к декодированному изображению, сохраненному в запоминающем устройстве 39 кадров прогнозирования с компенсацией движения, чтобы формировать изображение внешнего прогнозирования. Предиктор с компенсацией движения состоит из модуля 35 компенсации движения и запоминающего устройства 39 кадров прогнозирования с компенсацией движения.
[0038] Модуль 36 суммирования выполняет процесс суммирования декодированного прогнозного разностного сигнала, вычисленного посредством модуля 32 обратного квантования/обратного преобразования, и изображения внутреннего прогнозирования, сформированного посредством модуля 34 внутреннего прогнозирования, или изображения внешнего прогнозирования, сформированного посредством модуля 35 компенсации движения, чтобы вычислять декодированное изображение, которое является идентичным локальному декодированному изображению, выведенному из модуля 9 суммирования, показанного на фиг. 1. Модуль 36 суммирования составляет формирователь декодированных изображений. Запоминающее устройство 37 для внутреннего прогнозирования является носителем записи для сохранения декодированного изображения, вычисленного посредством модуля 36 суммирования.
[0039] Модуль 38 контурного фильтра выполняет процесс выполнения предварительно определенного процесса фильтрации в отношении декодированного изображения, вычисленного посредством модуля 36 суммирования, чтобы выводить декодированное изображение, обработанное фильтрацией. Конкретно, модуль контурного фильтра выполняет процесс фильтрации (фильтрации для удаления блочности) для уменьшения искажения, возникающего на границе между блоками ортогонального преобразования, или искажения, возникающего на границе между прогнозными блоками, процесс (процесс адаптивного к пикселю смещения) для адаптивного суммирования смещения в расчете на пиксел, процесс адаптивной фильтрации для адаптивного переключения между линейными фильтрами, такими как фильтры Винера, чтобы выполнять процесс фильтрации, и т.д. Хотя модуль 38 контурного фильтра может иметь такую структуру, чтобы выполнять один из вышеуказанного процесса фильтрации для удаления блочности, вышеуказанного процесса адаптивного к пикселю смещения и вышеуказанного процесса адаптивной фильтрации, или выполнять два или более процессов, как показано на фиг. 12, модуль 38 контурного фильтра должен иметь такую структуру, чтобы выполнять процесс фильтрации, идентичный процессу фильтрации, выполняемому посредством модуля 11 контурного фильтра устройства кодирования видео. Модуль 38 контурного фильтра составляет фильтр.
[0040] В процессе адаптивного к пикселю смещения обращаются к индексу, указывающему набор способа классификации по классам для каждого наибольшего блока декодирования, причем индекс включается в параметры фильтра, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, и когда индекс не показывает "невыполнение процесса смещения", каждый пиксел в каждом наибольшем блоке декодирования классифицируется на один из классов. Затем выполняется процесс суммирования смещения, заданного для каждого класса, включенного в параметры фильтра, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, со значением яркости каждого пиксела, принадлежащего классу, за счет этого повышая качество изображений декодированного изображения. Дополнительно, в процессе адаптивной фильтрации, обращаются к параметрам фильтра, декодированным с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова (число классов (групп) (число фильтров), фильтр для локального декодированного изображения, принадлежащего каждому классу (группе), номер класса (номер фильтра), который является идентификационной информацией для идентификации класса (группы) каждого наибольшего блока декодирования), и когда класс (группа), указываемый посредством номера класса, не показывает "невыполнение процесса смещения", процесс фильтрации выполняется для декодированного изображения, принадлежащего классу (группе), посредством использования фильтра, соответствующего номеру класса. Запоминающее устройство 39 кадров прогнозирования с компенсацией движения является носителем записи для сохранения декодированного изображения, для которого процесс фильтрации выполняется посредством модуля 38 контурного фильтра.
[0041] Дополнительно, в случае если модуль 11 контурного фильтра устройства кодирования видео имеет такую структуру, чтобы оптимально выбирать процесс адаптивного к пикселю смещения или процесс адаптивной фильтрации для каждого наибольшего блока кодирования в качестве способа использования как процесса адаптивного к пикселю смещения, так и процесса адаптивной фильтрации при уменьшении объема вычислений всего процесса фильтрации модуля 38 контурного фильтра, обращаются к информации выбора, включенной в параметры фильтра, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, и указывающей то, какой из процесса адаптивного к пикселю смещения для каждого наибольшего блока декодирования и процесса адаптивной фильтрации для каждого наибольшего блока декодирования выполняется, и процесс адаптивного к пикселю смещения или процесс адаптивной фильтрации выполняется для каждого наибольшего блока декодирования.
[0042] В примере, показанном на фиг. 3, модуль 31 декодирования с переменной длиной слова, модуль 32 обратного квантования/обратного преобразования, избирательный переключатель 33, модуль 34 внутреннего прогнозирования, модуль 35 компенсации движения, модуль 36 суммирования, запоминающее устройство 37 для внутреннего прогнозирования, модуль 38 контурного фильтра и запоминающее устройство 39 кадров прогнозирования с компенсацией движения, которые являются компонентами устройства декодирования видео, могут состоять из элементов аппаратных средств для монопольного использования (например, полупроводниковых интегральных схем, в каждой из которых установлен CPU, однокристальных микрокомпьютеров и т.п.), соответственно. В качестве альтернативы, устройство декодирования видео может состоять из компьютера, и программа, в которой описываются процессы, выполняемые посредством модуля 31 декодирования с переменной длиной слова, модуля 32 обратного квантования/обратного преобразования, избирательного переключателя 33, модуля 34 внутреннего прогнозирования, модуля 35 компенсации движения, модуля 36 суммирования и модуля 38 контурного фильтра, может быть сохранена в запоминающем устройстве компьютера, и CPU компьютера может быть выполнен с возможностью исполнять программу, сохраненную в запоминающем устройстве. Фиг. 4 является блок-схемой последовательности операций способа, показывающей обработку (способ декодирования видео), выполняемую посредством устройства декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения.
[0043] Далее поясняются операции устройств кодирования и декодирования видео. В этом варианте 1 осуществления поясняется случай, в котором устройство кодирования видео принимает каждый видеокадр в качестве введенного изображения, выполняет внутреннее прогнозирование из уже кодированных соседних пикселов или прогнозирование с компенсацией движения между смежными кадрами и выполняет процесс сжатия с ортогональным преобразованием и квантованием для полученного прогнозного разностного сигнала и после этого выполняет кодирование с переменной длиной слова, чтобы формировать поток битов, и устройство декодирования видео декодирует поток битов, выведенный из устройства кодирования видео.
[0044] Устройство кодирования видео, показанное на фиг. 1, отличается тем, что устройство кодирования видео выполнено с возможностью локальных изменений видеосигнала в пространственном направлении и в направлении времени, сегментирует видеосигнал на блоки, имеющие различные размеры, и выполняет внутрикадровое и межкадровое адаптивное кодирование. В общем, видеосигнал имеет характеристику локального варьирования своей сложности в пространстве и времени. Может возникать случай, когда шаблон, имеющий равномерную характеристику сигналов в относительно большой области изображения, такого как изображение неба или изображение стены, либо шаблон, имеющий сложный шаблон текстуры в небольшой области изображения, такого как изображение человека или изображение, включающее в себя мелкозернистую текстуру, также сосуществует в определенном видеокадре с точки зрения пространства. Также с точки зрения времени, изображение неба и изображение стены имеют небольшое локальное изменение в направлении времени в шаблонах, тогда как изображение движущегося человека или объекта имеет большее временное изменение, поскольку его контур имеет перемещение твердого тела и перемещение нетвердого тела относительно времени.
[0045] Хотя в процессе кодирования выполняется процесс формирования прогнозного разностного сигнала, имеющего небольшую мощность сигнала и небольшую энтропию, посредством использования временного и пространственного прогнозирования, в силу этого уменьшая совокупный объем кода, объем кода для параметров, используемых для прогнозирования, может быть уменьшен при условии, что параметры могут применяться равномерно к максимально возможно большой области сигнала изображения. С другой стороны, поскольку величина ошибок, возникающих в прогнозировании, увеличивается, когда идентичный параметр прогнозирования применяется к большой области изображения в шаблоне сигнала изображения, имеющем большое изменение во времени и пространстве, возрастает объем кода прогнозного разностного сигнала. Следовательно, желательно применять идентичный параметр прогнозирования к области изображения, имеющей большое изменение во времени и пространстве, чтобы уменьшать размер блока для блока, который подвергается процессу прогнозирования, в силу этого увеличивая объем данных для параметра, который используется для прогнозирования, и уменьшая энергию и энтропию прогнозного разностного сигнала.
[0046] В этом варианте 1 осуществления предоставляется структура, с тем чтобы выполнять кодирование, которое адаптировано для таких типичных характеристик видеосигнала, начала процесса прогнозирования и т.д. от предварительно определенного наибольшего размера блока сначала, иерархической сегментации области видеосигнала на блоки и адаптации процесса прогнозирования и процесса кодирования для кодирования прогнозной разности к каждому из сегментированных блоков.
[0047] Видеосигнал, имеющий формат, который должен быть обработан посредством устройства кодирования видео, показанного на фиг. 1, может представлять собой YUV-сигнал, который состоит из сигнала яркости и двух цветоразностных сигналов, или сигнал цветного видеоизображения в произвольном цветовом пространстве, к примеру, RGB-сигнал, выведенный из датчика цифровых изображений, сигнал монохромного изображения или сигнал инфракрасного изображения, либо произвольный видеосигнал, в котором каждый видеокадр состоит из последовательности цифровых выборок (пикселов) в двух измерениях, горизонтальном и вертикальном. Градация каждого пиксела может быть 8-битовой, 10-битовой или 12-битовой.
[0048] В нижеприведенном пояснении, для удобства описывается случай, в котором видеосигнал введенного изображения представляет собой YUV-сигнал, если не указано иное, и обрабатываются два цветоразностных компонента U и V, которые представляют собой сигналы, имеющие формат 4:2:0, которые субдискретизируются относительно компонента Y сигнала яркости. Дополнительно, единица данных, которая должна быть обработана, которая соответствует каждому кадру видеосигнала, упоминается как "изображение". В этом варианте 1 осуществления, хотя приводится пояснение, в котором "изображение" представляет собой сигнал видеокадра, для которого выполняется построчное сканирование, "изображение" альтернативно может представлять собой сигнал полевого изображения, который представляет собой единицу, которая составляет видеокадр, когда видеосигнал является чересстрочным сигналом.
[0049] Во-первых, поясняется обработка, выполняемая посредством устройства кодирования видео, показанного на фиг. 1. Во-первых, модуль 2 управления кодированием определяет размер каждого наибольшего блока кодирования, который используется для кодирования изображения (текущего изображения), которое представляет собой цель, которая должна быть кодирована, и верхний предел на число иерархических слоев, на которые иерархически сегментируется каждый наибольший блок кодирования (этап ST1 по фиг. 2). В качестве способа определения размера каждого наибольшего блока кодирования, например, может быть предусмотрен способ определения идентичного размера для всех изображений согласно разрешению видеосигнала введенного изображения и способ количественного определения изменения сложности локального перемещения видеосигнала введенного изображения в качестве параметра и затем определения небольшого размера для изображения, имеющего большое и интенсивное перемещение, при определении большого размера для изображения, имеющего небольшое перемещение. В качестве способа определения верхнего предела на число сегментированных иерархических слоев, например, может быть предусмотрен способ определения идентичного числа иерархических слоев для всех изображений согласно разрешению видеосигнала введенного изображения, и способ увеличения числа иерархических слоев, чтобы позволять обнаруживать более точное перемещение по мере того, как видеосигнал введенного изображения имеет большее и более интенсивное перемещение, или снижение числа иерархических слоев по мере того, как видеосигнал введенного изображения имеет меньшее перемещение.
[0050] Модуль 2 управления кодированием также выбирает режим кодирования, соответствующий каждому из блоков кодирования, на которые иерархически сегментируется введенное изображение, из одного или более доступных режимов кодирования (этап ST2). Более конкретно, модуль 2 управления кодированием иерархически сегментирует каждую область изображения, имеющую размер наибольшего блока кодирования, на блоки кодирования, имеющие размер блока кодирования, до тех пор, пока число сегментированных иерархических слоев не достигнет верхнего предела на число сегментированных иерархических слоев, который определяется заранее, и определяет режим кодирования для каждого из блоков кодирования. Режим кодирования может быть одним из одного или более режимов внутреннего кодирования (обобщенно называемых "внутренними") или одного или более режимов внешнего кодирования (обобщенно называемых "внешними"), и модуль 2 управления кодированием выбирает режим кодирования, соответствующий каждому из блоков кодирования, из числа всех режимов кодирования, доступных в изображении, в данный момент обрабатываемом, или поднабора этих режимов кодирования.
[0051] Каждый из блоков кодирования, на которые введенное изображение иерархически сегментируется посредством модуля 1 сегментации на блоки, который упоминается ниже, дополнительно сегментируется на один или более прогнозных блоков, каждый из которых представляет собой единицу, для которой должен быть выполнен процесс прогнозирования, и состояние сегментации на один или более прогнозных блоков также включается в качестве информации в информацию режима кодирования. Более конкретно, информация режима кодирования является индексом, идентифицирующим или внутреннего кодирования или режим внешнего кодирования, а также то, какую сегментацию на прогнозные блоки имеет режим кодирования. Хотя далее опускается подробное пояснение способа выбора режима кодирования для использования в модуле 2 управления кодированием, поскольку способ выбора является известной технологией, предусмотрен способ выполнения процесса кодирования для каждого блока кодирования посредством использования произвольных доступных режимов кодирования, например, чтобы анализировать эффективность кодирования и выбирать режим кодирования, имеющий наибольшую степень эффективности кодирования, из множества доступных режимов кодирования.
[0052] Модуль 2 управления кодированием дополнительно определяет параметр квантования и состояние сегментации на блоки ортогонального преобразования, которые используются, когда сжимается разностное изображение, для каждого блока кодирования, а также определяет параметр прогнозирования (параметр внутреннего прогнозирования или параметр внешнего прогнозирования), который используется, когда выполняется процесс прогнозирования. Когда каждый блок кодирования дополнительно сегментируется на прогнозные блоки, для каждого из которых выполняется процесс прогнозирования, модуль управления кодированием может выбирать параметр прогнозирования (параметр внутреннего прогнозирования или параметр внешнего прогнозирования) для каждого из прогнозных блоков. Помимо этого, поскольку когда процесс внутреннего прогнозирования выполняется для каждого прогнозного блока в блоке кодирования, режим кодирования которого представляет собой режим внутреннего кодирования, используются уже кодированные пикселы, смежные с прогнозным блоком, необходимо выполнять кодирование в расчете на прогнозный блок, и, следовательно, выбираемые размеры блоков преобразования ограничены размером прогнозного блока или меньше, что подробно описано ниже.
[0053] Модуль 2 управления кодированием выводит параметры прогнозирующего разностного кодирования, включающие в себя параметр квантования и размер блока преобразования, в модуль 7 преобразования/квантования, модуль 8 обратного преобразования/обратного квантования и модуль 13 кодирования с переменной длиной слова. Модуль 2 управления кодированием также выводит параметры внутреннего прогнозирования в модуль 4 внутреннего прогнозирования по мере необходимости. Модуль 2 управления кодированием дополнительно выводит параметр внешнего прогнозирования в модуль 5 прогнозирования с компенсацией движения по мере необходимости.
[0054] При приеме видеосигнала в качестве введенного изображения модуль 1 сегментации на блоки сегментирует введенное изображение на блоки кодирования, имеющие размер наибольшего блока кодирования, определенный посредством модуля 2 управления кодированием, и дополнительно сегментирует каждый из наибольших блоков кодирования, на которые сегментируется введенное изображение, на блоки кодирования иерархически, причем эти блоки кодирования определяются посредством модуля 2 управления кодированием, и выводит каждый из блоков кодирования.
0
0
n
n
n
n
n
n
[0055] Фиг. 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
[0056] Далее, размер блока кодирования, определенный посредством модуля 2 управления кодированием, задается как размер (L, M) в компоненте сигнала яркости каждого блока кодирования. Поскольку выполняется сегментация на дерево квадрантов, всегда устанавливается (L, M)=(L/2, M/2). В случае сигнала цветного видеоизображения (формат 4:4:4), в котором все цветовые компоненты имеют идентичное число выборок, к примеру, RGB-сигнала, все цветовые компоненты имеют размер (L, M), в то время как в случае обработки формата 4:2:0, соответствующий цветоразностный компонент имеет размер блока кодирования (L/2, M/2).
[0057] Далее, каждый блок кодирования в n-ном иерархическом слое выражается как Bn, и режим кодирования, выбираемый для каждого блока Bn кодирования, выражается как m(Bn). В случае цветового видеосигнала, который состоит из множества цветовых компонентов, режим m(Bn) кодирования может быть сконфигурирован таким образом, что отдельный режим используется для каждого цветового компонента, или может быть сконфигурирован таким образом, что общий режим используется для всех цветовых компонентов. Далее, пояснение приводится при условии, что режим кодирования указывает режим для компонента сигнала яркости блока кодирования, имеющего формат 4:2:0 в YUV-сигнале, если не указано иное.
i
0
1
i
i
n
0
0
n
n
[0058] Каждый блок Bn кодирования сегментируется на один или более прогнозных блоков, показывающих единицу прогнозирования, посредством модуля 1 сегментации на блоки, как показано на фиг. 5. Далее, каждый прогнозный блок, принадлежащий каждому блоку Bn кодирования, выражается как P (i показывает номер прогнозного блока в n-ном иерархическом слое). Пример P и P показывается на фиг. 5. То, как выполняется сегментация каждого блока Bn кодирования на прогнозные блоки, включается в качестве информации в режим m(Bn) кодирования. Хотя процесс прогнозирования выполняется для каждого из всех прогнозных блоков P согласно режиму m(Bn) кодирования, отдельный параметр прогнозирования (параметр внутреннего прогнозирования или параметр внешнего прогнозирования) может быть выбран для каждого прогнозного блока P.
[0059] Модуль 2 управления кодированием формирует такое состояние сегментации на блоки, как показано на фиг. 6, для каждого наибольшего блока кодирования и затем указывает блоки кодирования. Каждый прямоугольник, обведенный посредством пунктирной линии по фиг. 6(a), показывает блок кодирования, и каждый блок, заполненный заштрихованными линиями в каждом блоке кодирования, показывает состояние сегментации каждого прогнозного блока. Фиг. 6(b) показывает случай, в котором режим m(Bn) кодирования назначается каждому узлу через сегментацию на иерархические слои в примере по фиг. 6(a) показывается посредством использования графа в виде дерева квадрантов. Каждый узел, обведенный посредством , показанного на фиг. 6(b), представляет собой узел (блок кодирования), которому назначается режим m(Bn) кодирования. Информация относительно этого графа в виде дерева квадрантов выводится из модуля 2 управления кодированием в модуль 13 кодирования с переменной длиной слова вместе с режимом m(Bn) кодирования и мультиплексируется в поток битов.
[0060] Когда режим m(Bn) кодирования, определенный посредством модуля 2 управления кодированием, представляет собой режим внутреннего кодирования (в случае m(Bn)Є"внутренний"), избирательный переключатель 3 выводит блок Bn кодирования, выведенный из модуля 1 сегментации на блоки, в модуль 4 внутреннего прогнозирования. В отличие от этого, когда режим m(Bn) кодирования, определенный посредством модуля 2 управления кодированием, представляет собой режим внешнего кодирования (в случае m(Bn)Є"внешний"), избирательный переключатель выводит блок Bn кодирования, выведенный из модуля 1 сегментации на блоки, в модуль 5 прогнозирования с компенсацией движения.
i
INTRAi
INTRAi
INTRAi
n
n
n
n
[0061] Когда режим m(Bn) кодирования, определенный посредством модуля 2 управления кодированием, представляет собой режим внутреннего кодирования (в случае m(Bn)Є"внутренний"), и модуль 4 внутреннего прогнозирования принимает блок Bn кодирования из избирательного переключателя 3 (этап ST3), модуль 4 внутреннего прогнозирования выполняет процесс внутреннего прогнозирования для каждого прогнозного блока P в блоке Bn кодирования посредством использования параметров внутреннего прогнозирования, определенных посредством модуля 2 управления кодированием при обращении к локальному декодированному изображению, сохраненному в запоминающем устройстве 10 для внутреннего прогнозирования, чтобы формировать изображение P внутреннего прогнозирования (этап ST4). Поскольку устройство декодирования видео должно формировать изображение внутреннего прогнозирования, которое является полностью идентичным изображению P внутреннего прогнозирования, параметр внутреннего прогнозирования, используемый для формирования изображения P внутреннего прогнозирования, выводится из модуля 2 управления кодированием в модуль 13 кодирования с переменной длиной слова и мультиплексируется в поток битов. Ниже упоминаются подробности обработки, выполняемой посредством модуля 4 внутреннего прогнозирования.
i
i
INTERi
INTERi
INTERi
n
n
n
n
n
[0062] Когда режим m(Bn) кодирования, определенный посредством модуля 2 управления кодированием, представляет собой режим внешнего кодирования (в случае m(Bn)Є"внешний"), и модуль 5 прогнозирования с компенсацией движения принимает блок Bn кодирования из избирательного переключателя 3 (этап ST3), модуль 5 прогнозирования с компенсацией движения сравнивает каждый прогнозный блок P в блоке Bn кодирования с локальным декодированным изображением, который сохраняется в запоминающем устройстве 12 кадров прогнозирования с компенсацией движения и для которого выполняется процесс фильтрации, чтобы выполнять поиск вектора движения, и выполняет процесс внешнего прогнозирования для каждого прогнозного блока P в блоке Bn кодирования посредством использования как вектора движения, так и параметра внешнего прогнозирования, определенного посредством модуля 2 управления кодированием, чтобы формировать изображение P внешнего прогнозирования (этап ST5). Поскольку устройство декодирования видео должно формировать изображение внешнего прогнозирования, которое является полностью идентичным изображению P внешнего прогнозирования, параметр внешнего прогнозирования, используемый для формирования изображения P внешнего прогнозирования, выводится из модуля 2 управления кодированием в модуль 13 кодирования с переменной длиной слова и мультиплексируется в поток битов. Вектор движения, поиск которого осуществляется посредством модуля 5 прогнозирования с компенсацией движения, также выводится в модуль 13 кодирования с переменной длиной слова и мультиплексируется в поток битов.
INTRAi
INTERi
i
i
n
n
n
n
[0063] При приеме блока Bn кодирования из модуля 1 сегментации на блоки модуль 6 вычитания вычитает изображение P внутреннего прогнозирования, сформированное посредством модуля 4 внутреннего прогнозирования, или изображение P внешнего прогнозирования, сформированное посредством модуля 5 прогнозирования с компенсацией движения, из прогнозного блока P в блоке Bn кодирования и выводит прогнозный разностный сигнал e, показывающий разностное изображение, которое является результатом вычитания, в модуль 7 преобразования/квантования (этап ST6).
i
i
n
n
[0064] При приеме прогнозного разностного сигнала e из модуля 6 вычитания модуль 7 преобразования/квантования обращается к информации сегментации на блоки ортогонального преобразования, включенной в параметры прогнозирующего разностного кодирования, определенные посредством модуля 2 управления кодированием, и выполняет процесс ортогонального преобразования (например, DCT (дискретного косинусного преобразования), DST (дискретного синусного преобразования) или процесс ортогонального преобразования, такого как KL-преобразование, в котором основания рассчитываются для конкретной обучающей последовательности заранее) для каждого блока ортогонального преобразования прогнозного разностного сигнала e, чтобы вычислять коэффициенты преобразования. Модуль 7 преобразования/квантования также обращается к параметру квантования, включенному в параметры прогнозирующего разностного кодирования, чтобы квантовать коэффициенты преобразования каждого блока ортогонального преобразования, и выводит сжатые данные, которые представляют собой квантованные коэффициенты преобразования, в модуль 8 обратного квантования/обратного преобразования и модуль 13 кодирования с переменной длиной слова (этап ST7).
i
n
[0065] При приеме сжатых данных из модуля 7 преобразования/квантования модуль 8 обратного квантования/обратного преобразования обращается к параметру квантования и информации сегментации на блоки ортогонального преобразования, которые включаются в параметры прогнозирующего разностного кодирования, определенные посредством модуля 2 управления кодированием, чтобы обратно квантовать сжатые данные относительно каждого блока ортогонального преобразования. Модуль 8 обратного квантования/обратного преобразования выполняет процесс обратного ортогонального преобразования (например, обратного DCT, обратного DST, обратного KL-преобразования и т.п.) для коэффициентов преобразования, которые являются обратно квантованными сжатыми данными для каждого блока ортогонального преобразования, и вычисляет локальный декодированный прогнозный разностный сигнал, соответствующий прогнозному разностному сигналу e, выведенному из модуля 6 вычитания, и выводит локальный декодированный прогнозный разностный сигнал в модуль 9 суммирования (этап ST8).
INTRAi
INTERi
n
n
[0066] При приеме локального декодированного прогнозного разностного сигнала из модуля 8 обратного преобразования/обратного квантования модуль 9 суммирования вычисляет локальное декодированное изображение посредством суммирования локального декодированного прогнозного разностного сигнала и либо изображения P внутреннего прогнозирования, сформированного посредством модуля 4 внутреннего прогнозирования, либо изображения P внешнего прогнозирования, сформированного посредством модуля 5 прогнозирования с компенсацией движения (этап ST9). Модуль 9 суммирования выводит локальное декодированное изображение в модуль 11 контурного фильтра при сохранении локального декодированного изображения в запоминающем устройстве 10 для внутреннего прогнозирования. Это локальное декодированное изображение представляет собой сигнал кодированного изображения, который используется во время последующих процессов внутреннего прогнозирования.
[0067] При приеме локального декодированного изображения из модуля 9 суммирования модуль 11 контурного фильтра выполняет предварительно определенный процесс фильтрации в отношении локального декодированного изображения и сохраняет локальное декодированное изображение, обработанное фильтрацией, в запоминающем устройстве 12 кадров прогнозирования с компенсацией движения (этап ST10). Ниже упоминаются подробности процесса, выполняемого посредством модуля 11 контурного фильтра.
[0068] Устройство кодирования видео многократно выполняет процессы этапов ST3-ST9 до тех пор, пока устройство кодирования видео не завершит обработку для всех блоков Bn кодирования, на которые иерархически сегментируется введенное изображение, и при завершении обработки для всех блоков Bn кодирования переходит к процессу этапа ST13 (этапы ST11 и ST12).
[0069] Модуль 13 кодирования с переменной длиной слова энтропийно кодирует сжатые данные, выведенные в него из модуля 7 преобразования/квантования, информацию сегментации на блоки относительно сегментации каждого наибольшего блока кодирования на блоки, которая выводится из модуля 2 управления кодированием (информацию дерева квадрантов, которая показывается на фиг. 6(b) в качестве примера), режим m(Bn) кодирования и параметры прогнозирующего разностного кодирования, параметр внутреннего прогнозирования (когда режим кодирования представляет собой режим внутреннего кодирования) или параметр внешнего прогнозирования (когда режим кодирования представляет собой режим внешнего кодирования), выведенные из модуля 2 управления кодированием, и вектор движения, выведенный из модуля 5 прогнозирования с компенсацией движения (когда режим кодирования представляет собой режим внешнего кодирования), и параметры фильтра, выведенные из модуля 11 контурного фильтра, и формирует поток битов, показывающий эти кодированные результаты (этап ST13). Ниже упоминаются подробности процесса кодирования с переменной длиной слова параметров фильтра посредством модуля 13 кодирования с переменной длиной слова.
i
I
n
[0070] Далее подробнее поясняется процесс, выполняемый посредством модуля 4 внутреннего прогнозирования. Фиг. 7 является пояснительным чертежом, показывающим пример режимов внутреннего прогнозирования, каждый из которых является параметром внутреннего прогнозирования, который может быть выбран для каждого прогнозного блока P в блоке Bn кодирования. На чертеже N показывает число режимов внутреннего прогнозирования. На фиг. 7, показаны значения индекса режимов внутреннего прогнозирования и векторов направления прогнозирования, представленных посредством каждого из режимов внутреннего прогнозирования. В примере по фиг. 7, согласно расчетам относительный угол между векторами направления прогнозирования становится небольшим с увеличением числа выбираемых режимов внутреннего прогнозирования.
i
i
INTRAi
i
n
n
n
n
[0071] Модуль 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
[0072] Предполагается, что размер прогнозного блока P составляет lxm пикселов. Фиг. 8 является пояснительным чертежом, показывающим пример пикселов, которые используются при формировании прогнозированного значения каждого пиксела в прогнозном блоке P в случае l=m=4. Хотя (2xl+1) уже кодированных пикселов, расположенных выше прогнозного блока P, и (2xm) уже кодированных пикселов, расположенных слева от прогнозного блока P, задаются в качестве пикселов, используемых для прогнозирования в примере по фиг. 8, для прогнозирования может использоваться большее число или меньшее число пикселов, чем пикселы, показанные на фиг. 8. Дополнительно, хотя одна строка или столбец пикселов, смежных с прогнозным блоком P, используется для прогнозирования в примере, показанном на фиг. 8, для прогнозирования альтернативно могут использоваться две или более строк или столбцов пикселов, смежных с прогнозным блоком P.
i
i
i
i
i
i
i
i
p
i
i
n
n
n
n
n
n
n
n
n
n
[0073] Когда значение индекса, указывающее режим внутреннего прогнозирования для прогнозного блока P, равно 0 (планарное прогнозирование), модуль внутреннего прогнозирования использует уже кодированные пикселы, смежные сверху от прогнозного блока P, и уже кодированные пикселы, смежные слева от прогнозного блока P, чтобы определять значение, интерполированное согласно расстоянию между этими пикселами и целевым пикселом, который должен быть прогнозирован в прогнозном блоке P, в качестве прогнозированного значения, и формирует прогнозное изображение. Дополнительно, когда значение индекса, указывающее режим внутреннего прогнозирования для прогнозного блока P, равно 2 (прогнозирование (DC) по среднему), модуль внутреннего прогнозирования определяет среднее уже кодированных пикселов, смежных расположенных сверху от прогнозного блока P, и уже кодированных пикселов, смежных слева от прогнозного блока P, в качестве прогнозированного значения каждого пиксела в прогнозном блоке Pin и формирует прогнозное изображение. Когда значение индекса, указывающее режим внутреннего прогнозирования, является отличным от 0 (планарное прогнозирование) и 2 (прогнозирование по среднему), модуль внутреннего прогнозирования формирует прогнозированное значение каждого пиксела в прогнозном блоке P на основе вектора направления прогнозирования υ=(dx, dy), показанного посредством значения индекса. Как показано на фиг. 9, когда относительные координаты каждого пиксела в прогнозном блоке P выражаются как (x, y) с помощью пиксела в верхнем левом углу прогнозного блока P, заданного как начало координат, каждый опорный пиксел, который используется для прогнозирования, находится в точке пересечения L, показанного ниже, и смежного пиксела.
(2),
где k является отрицательным скалярным значением.
[0074] Когда опорный пиксел находится в целопиксельной позиции, значение соответствующего целочисленного пиксела определяется в качестве прогнозированного значения целевого пиксела, который должен быть прогнозирован, тогда как когда опорный пиксел не находится в целопиксельной позиции, значение интерполяционного пиксела, сформированного из целочисленных пикселов, которые являются смежными с опорным пикселом, определяется в качестве прогнозированного значения целевого пиксела, который должен быть прогнозирован. В примере, показанном на фиг. 8, поскольку опорный пиксел не находится в целопиксельной позиции, прогнозированное значение интерполируется из значений двух пикселов, смежных с опорным пикселом. Модуль внутреннего прогнозирования может использовать не только смежные два пиксела, но также и один или более смежных пикселов, чтобы формировать интерполяционный пиксел и определять значение этого интерполяционного пиксела в качестве прогнозированного значения. Хотя увеличение числа пикселов, используемых для интерполяционного процесса, обеспечивает преимущество повышения точности вычисления интерполяционного пиксела, поскольку степень сложности вычислений, требуемых для интерполяционного процесса, увеличивается с увеличением числа пикселов, используемых для интерполяционного процесса, предпочтительно формировать интерполяционный пиксел из большего числа пикселов в случае, если устройство кодирования видео требует высокой производительности кодирования, даже если арифметическая нагрузка является большой.
i
INTRAi
INTRAi
n
n
n
[0075] Посредством процесса, описанного выше, модуль внутреннего прогнозирования формирует прогнозные пикселы для всех пикселов сигнала яркости в прогнозном блоке P и выводит изображение P внутреннего прогнозирования. Параметр внутреннего прогнозирования (режим внутреннего прогнозирования), используемый для формирования изображения P внутреннего прогнозирования, выводится в модуль 13 кодирования с переменной длиной слова, чтобы мультиплексировать параметр внутреннего прогнозирования в поток битов.
i
i
n
n
[0076] Как в случае выполнения процесса сглаживания для опорного изображения во время выполнения внутреннего прогнозирования для пиксельного блока 8x8 в изображении, которое соответствует MPEG-4 AVC/H.264, поясненному ранее, даже в случае, если уже кодированный пиксел, смежный с прогнозным блоком P, для которого выполняется процесс сглаживания, предоставляется в качестве опорного пиксела во время формирования промежуточного прогнозного изображения прогнозного блока P, модуль 4 внутреннего прогнозирования может выполнять процесс фильтрации, который является идентичным вышеуказанному примеру, для промежуточного прогнозного изображения.
i
n
[0077] Модуль внутреннего прогнозирования также выполняет процесс внутреннего прогнозирования, на основе параметра внутреннего прогнозирования (режима внутреннего прогнозирования) для каждого из цветоразностных сигналов прогнозного блока P согласно процедуре, идентичной процедуре, согласно которой модуль внутреннего прогнозирования выполняет процесс внутреннего прогнозирования для сигнала яркости и выводит параметр внутреннего прогнозирования, используемый для формирования изображения внутреннего прогнозирования, в модуль 13 кодирования с переменной длиной слова. Тем не менее, выбираемые параметры внутреннего прогнозирования (режимы внутреннего прогнозирования) для каждого из цветоразностных сигналов могут отличаться от параметров внутреннего прогнозирования (режимов внутреннего прогнозирования) для сигнала яркости. Например, в случае формата YUV 4:2:0, каждый из цветоразностных сигналов (U- и V-сигналов) представляет собой сигнал, разрешение которого уменьшается до половины разрешения сигнала яркости (Y-сигнала) как в горизонтальном направлении, так и в вертикальном направлении, и сложность каждого из цветоразностных сигналов ниже сложности сигнала яркости, и, следовательно, прогнозирование может быть выполнено для каждого из цветоразностных сигналов проще, чем для сигнала яркости. Следовательно, посредством уменьшения числа выбираемых параметров внутреннего прогнозирования (режимов внутреннего прогнозирования) для каждого из цветоразностных сигналов таким образом, что оно меньше числа выбираемых параметров внутреннего прогнозирования для сигнала яркости, может быть реализовано уменьшение объема кода, требуемого для того, чтобы кодировать параметр внутреннего прогнозирования (режим внутреннего прогнозирования), и уменьшение объема вычислений, требуемых для того, чтобы выполнять процесс прогнозирования.
[0078] Далее подробнее поясняется процесс, выполняемый посредством модуля 11 контурного фильтра. Модуль 11 контурного фильтра выполняет процесс выполнения предварительно определенного процесса фильтрации для локального декодированного изображения, вычисленного посредством модуля 9 суммирования, и вывода локального декодированного изображения, обработанного фильтрацией. Конкретно, модуль контурного фильтра выполняет процесс фильтрации (фильтрации для удаления блочности) для уменьшения искажения, возникающего на границе между блоками ортогонального преобразования, и искажения, возникающего на границе между прогнозными блоками, процесс (процесс адаптивного к пикселю смещения) для адаптивного суммирования смещения в расчете на пиксел, процесс адаптивной фильтрации для адаптивного переключения между линейными фильтрами, такими как фильтры Винера, и выполнения процесса фильтрации, и т.д. Модуль 11 контурного фильтра может иметь такую структуру, чтобы выполнять один из вышеуказанного процесса фильтрации для удаления блочности, вышеуказанного процесса адаптивного к пикселю смещения и вышеуказанного процесса адаптивной фильтрации, или выполнять два или более процессов, как показано на фиг. 10. В общем, тогда как качество изображений повышается с увеличением числа типов используемых процессов фильтрации, нагрузка по обработке увеличивается с увеличением числа типов используемых процессов фильтрации. Более конкретно, поскольку существует компромисс между качеством изображений и нагрузкой по обработке, структура модуля контурного фильтра должна быть определена только согласно нагрузке по обработке, допустимой в устройстве кодирования видео.
[0079] В процессе адаптивного к пикселю смещения, посредством использования предварительно определенного способа, пиксел, включенный в каждый наибольший блок кодирования, классифицируется на один из классов, и смещение, минимизирующее сумму квадратических ошибок значений яркости между изображением, которое должно быть кодировано, и локальным декодированным изображением, вычисляется для каждого из классов сначала. В завершение, выполняется процесс суммирования смещения, определенного для каждого из классов, со значением яркости каждого пиксела, принадлежащего классу (каждого пиксела локального декодированного изображения), за счет этого повышая качество изображений для локального декодированного изображения.
[0080] В качестве предварительно определенного способа выполнения классификации по классам, существуют способ классификации каждого пиксела на один из классов согласно значению яркости локального декодированного изображения и способ классификации каждого пиксела на один из классов согласно состоянию соседней области вокруг пиксела (например, является или нет соседняя область краевым участком) для каждого из направлений краев, как показано на фиг. 20. Эти способы обычно подготавливаются как в устройстве кодирования изображений, так и в устройстве декодирования изображений, и случай невыполнения процесса смещения задается как один способ классификации по классам. Сторона кодирования избирательно определяет то, какой из этих способов должен быть использован для того, чтобы выполнять классификацию по классам для каждого из вышеуказанных блоков. Дополнительно, сторона кодирования сравнивает случай невыполнения процесса адаптивного к пикселю смещения для всего изображения со случаем выполнения процесса адаптивного к пикселю смещения, определенного так, как упомянуто выше, и выбирает то, какой из случаев требуется. Соответственно, в процессе адаптивного к пикселю смещения, информация активации или деактивации, показывающая то, активируется или нет процесс адаптивного к пикселю смещения на уровне изображения, и индекс, указывающий способ классификации по классам, выбранный для каждого наибольшего блока кодирования, и смещение, предоставленное для каждого класса каждого наибольшего блока кодирования, когда эта информация активации или деактивации указывает то, что "процесс активируется", выводятся в модуль 13 кодирования с переменной длиной слова в качестве части параметров фильтра.
[0081] Далее конкретно поясняется процесс адаптивной фильтрации. Фиг. 13 является блок-схемой последовательности операций способа, показывающей пример процесса адаптивной фильтрации. В примере по фиг. 13, для того чтобы выполнять процесс адаптивной фильтрации для каждого наибольшего блока кодирования, выбор фильтра и процесс фильтрации, показанные на этапах ST102-ST106, выполняются для каждого наибольшего блока кодирования (этап ST101).
0
[0082] Ниже поясняются выбор фильтра и процесс фильтрации, показанные на этапах ST102-ST106. Во-первых, затраты C в случае невыполнения процесса фильтрации вычисляются как затраты в случае номера фильтра 0 для наибольшего блока кодирования, который представляет собой текущую цель, которая должна быть обработана (этап ST102). В качестве определения затрат предусмотрен пример, показанный ниже:
Cost=D+λ·R (3),
где D является суммой квадратических ошибок между сигналом изображения, который должен быть закодирован в блоке, и сигналом локального декодированного изображения, для которого выполняется процесс фильтрации, и λ является константой. Дополнительно, R является объемом кода, требуемым при кодировании номера фильтра для выбора фильтра, который должен быть использован, и коэффициентов фильтра, соответствующего номеру фильтра.
0
[0083] В этом варианте осуществления, хотя затраты выражаются посредством уравнения (3), затраты альтернативно могут задаваться, например, только посредством суммы D квадратических ошибок. Хотя точность затрат падает, когда затраты задаются таким образом, снижается нагрузка по вычислению затрат. В качестве альтернативы, D может быть суммой абсолютных значений ошибок с более низкой арифметической нагрузкой вместо суммы квадратических ошибок. То, какое уравнение используется для того, чтобы задавать затраты, может быть определено согласно арифметической нагрузке, допустимой посредством устройства кодирования видео. При вычислении затрат C в случае невыполнения процесса фильтрации, D является суммой квадратических ошибок между сигналом изображения, который должен быть закодирован, и сигналом локального декодированного изображения, для которого не выполняется процесс фильтрации, и объем R кода, требуемый для фильтра, равен 0.
new
[0084] Затем вычисляется фильтр Винера, минимизирующий сумму квадратических ошибок между сигналом изображения, который должен быть закодирован, и сигналом локального декодированного изображения, согласно уравнению (1), при этом каждый пиксел в наибольшем блоке кодирования, который представляет собой цель, которая должна быть обработана, задается в качестве цели (этап ST103), и вычисляются затраты C в случае выполнения процесса фильтрации для каждого пиксела в блоке (этап ST104). В этом случае, процесс фильтрации с использованием фильтра Винера выражается посредством следующего уравнения (4).
,
0
l
m
L
L
где x показывает целевой пиксел, который должен быть фильтрован, x (l=0, 1, 2, ..., L-1) показывает опорные пикселы фильтра (включающие в себя целевой пиксел, который должен быть фильтрован), и L показывает число опорных пикселов фильтра. Дополнительно, S(x) показывает значение яркости пиксела x, S'(x) показывает значение яркости, для которого выполняется процесс фильтрации, для пиксела x, и a (m=0, 1, 2, ..., L) показывает коэффициенты фильтрации; a показывает коэффициент смещения, и коэффициент смещения может всегда задаваться как недопустимый посредством задания a равным 0. За счет этого, хотя производительность фильтра падает, может сокращаться число коэффициентов фильтрации, которые должны быть кодированы, и может быть уменьшен объем кода, требуемый для того, чтобы кодировать коэффициенты фильтрации.
1
2
numbl
[0085] Помимо этого, фильтры (фильтры, номера фильтров которых задаются равными 1, 2, ..., и numbl, соответственно), которые могут быть использованы, отличные от фильтра, рассчитанного для наибольшего блока кодирования, который представляет собой текущую цель, которая должна быть обработана, используются для того, чтобы вычислять затраты C, C, ..., и C в случае выполнения процесса фильтрации (этап ST105); numbl показывает число фильтров, отличных от фильтра, рассчитанного для наибольшего блока кодирования, который представляет собой текущую цель, которая должна быть обработана, которые могут быть использованы. В качестве примеров фильтров, отличных от фильтра, рассчитанного для наибольшего блока кодирования, который представляет собой текущую цель, которая должна быть обработана, которые могут быть использованы, может быть предусмотрен фильтр, используемый для наибольшего блока кодирования, для которого уже выполнен процесс фильтрации, фильтры, подготовленные заранее до того, как выполняется процесс кодирования, и т.д.
new
0
1
2
numbl
[0086] Затем, наименьшие затраты указываются из числа затрат C, C, C, C, ..., и C, которые вычисляются к настоящему моменту, и процесс фильтрации, ассоциированный с наименьшими затратами, определяется в качестве процесса фильтрации для наибольшего блока кодирования, который представляет собой текущую цель, которая должна быть обработана (этап ST106). В это время, когда определенный процесс фильтрации представляет собой фильтр (затраты Cnew), рассчитанный для наибольшего блока кодирования, который представляет собой текущую цель, которая должна быть обработана, этот расчетный фильтр задается в качестве фильтра, имеющего номер numbl+1 (номер фильтра составляет numbl+1), который может быть использован для наибольшего блока кодирования, который представляет собой следующую цель, которая должна быть обработана, и число numbl фильтров, которые могут быть использованы, увеличивается на единицу. Устройство кодирования видео затем переходит к выбору фильтра для наибольшего блока кодирования, который представляет собой следующую цель, которая должна быть обработана, и процессу фильтрации для этого блока кодирования (этап ST107). Номер фильтра, который задается упомянутый выше, задается как номер класса, и число фильтров упоминается как "число классов".
[0087] Устройство кодирования видео выполняет вышеуказанный процесс для всех наибольших блоков кодирования и в завершение сравнивает случай невыполнения процесса адаптивного к пикселю смещения для всего изображения со случаем выполнения процесса адаптивного к пикселю смещения, определенного так, как упомянуто выше, для каждого наибольшего блока кодирования, и выбирает оптимальный из случаев. Следовательно, в процессе адаптивной фильтрации, информация активации или деактивации, указывающая то, активируется или нет процесс адаптивного к пикселю смещения на уровне изображения, и число классов, номер класса каждого наибольшего блока кодирования, включающего в себя "без процесса фильтрации", и коэффициенты фильтрации каждого класса, когда информация активации или деактивации указывает то, что "процесс активируется", выводятся в модуль 13 кодирования с переменной длиной слова в качестве части параметров фильтра.
0
1
2
numbl
[0088] В качестве примера процесса адаптивной фильтрации, помимо примера, показанного на фиг. 13, может предоставляться пример, показанный на фиг. 14. Пример по фиг. 14 отличается от примера по фиг. 13 только тем, что способ выбора процесса фильтрации для каждого наибольшего блока кодирования отличается, в то время как пример по фиг. 14 является идентичным примеру по фиг. 13 тем, что номер класса, показывающий фильтр, используемый для каждого наибольшего блока кодирования, и фильтр, соответствующий каждому номеру класса, задаются в качестве параметров фильтра, выведенных в модуль 13 кодирования с переменной длиной слова. Более конкретно, в примере по фиг. 14, фильтры, которые используются в изображении, подготавливаются заранее (этап ST108), затраты C (этап ST110) в случае невыполнения процесса фильтрации и затраты, C, C, ..., и C в случае использования фильтров, подготовленных заранее, соответственно, (этап ST111), вычисляются для каждого наибольшего блока кодирования, и выбирается оптимальный процесс фильтрации, затраты которого являются наименьшими (этап ST112). Процессы на этапах ST110-ST112 выполняются для всех наибольших блоков кодирования в изображении (этапы ST109 и ST113), чтобы определять процесс фильтрации для каждого из наибольших блоков кодирования.
[0089] По сравнению с примером, показанным на фиг. 13, поскольку только набор фильтров, подготовленный заранее, используется в примере по фиг. 14, процесс расчета фильтра для каждой единицы наибольшего блока кодирования становится необязательным. Следовательно, хотя оптимальность фильтра уменьшается, может уменьшаться нагрузка по обработке. Следовательно, когда большая важность придается нагрузке по обработке, чем эффекту повышения качества изображений посредством процесса фильтрации, необходимо использовать только пример, показанный на фиг. 14.
[0090] Дополнительно, хотя оптимальный процесс фильтрации определяется для каждого наибольшего блока кодирования в вышеуказанном примере, имеется вероятность того, что сумма квадратических ошибок значения яркости между изображением, которое должно быть кодировано, и локальным декодированным изображением увеличивается через процесс фильтрации с учетом случая выполнения процесса фильтрации для каждой из областей, меньших наибольших блоков кодирования. Следовательно, как показано на фиг. 15, может быть выбрано то, следует или нет выполнять процесс фильтрации для каждого из блоков кодирования, на которые сегментируется каждый наибольший блок кодирования. Поскольку за счет этого, может быть уменьшено число пикселов, в каждом из которых квадратические ошибки значения яркости между изображением, которое должно быть кодировано, и локальным декодированным изображением увеличивается, может быть реализован высокоточный процесс фильтрации. Когда этот процесс выполняется, необходимо также кодировать информацию активации или деактивации, указывающую то, активируется или нет процесс фильтрации для каждого блока кодирования, в качестве параметра фильтрации. Даже когда процесс активации/деактивации для активации или деактивации фильтра для каждого блока кодирования вводится в процесс адаптивного к пикселю смещения, предоставляется преимущество, идентичное преимуществу, предоставляемому в случае введения процесса активации/деактивации в процесс адаптивной фильтрации.
[0091] Помимо этого, хотя один оптимальный процесс фильтрации определяется для каждого наибольшего блока кодирования в вышеуказанном примере, блоки меньшего размера в каждом наибольшем блоке кодирования могут классифицироваться на группы согласно своим локальным характеристикам (степени разброса значений яркости, к примеру, дисперсии и направлению краев) и т.п., фильтр рассчитывается для каждой из групп, и процесс фильтрации может быть выполнен для каждой из групп. За счет этого, хотя объем кода, требуемый для фильтра, увеличивается, поскольку необходимо кодировать число фильтров, равное числу групп для каждого наибольшего блока кодирования, может быть реализован высокоточный процесс фильтрации, поскольку оптимальный фильтр может быть использован для каждой из областей меньшего размера. В случае если устройство кодирования видео имеет такую структуру, чтобы выполнять этот процесс, устройство декодирования видео также должно иметь такую структуру, чтобы выполнять классификацию групп, идентичную классификации групп, выполняемой посредством устройства кодирования видео.
[0092] Дополнительно, в качестве способа использования как процесса адаптивного к пикселю смещения, так и процесса адаптивной фильтрации, вместо использования структуры, показанной на фиг. 10, процесс адаптивного к пикселю смещения или процесс адаптивной фильтрации может быть оптимально выбран для каждого наибольшего блока кодирования. В случае если устройство кодирования видео имеет такую структуру, высокоточный процесс фильтрации может быть реализован при уменьшении объема вычислений процесса фильтрации для каждого наибольшего блока кодирования. Тем не менее, в случае если устройство кодирования видео имеет такую структуру, информация выбора, указывающая то, какой из процесса адаптивного к пикселю смещения для каждого наибольшего блока кодирования и процесса адаптивной фильтрации должен быть выполнен, выводится в модуль 13 кодирования с переменной длиной слова в качестве части параметров фильтра.
[0093] Дополнительно, хотя поясняется пример выполнения выбора способа классификации по классам в процессе адаптивного к пикселю смещения и выбора класса в процессе адаптивной фильтрации для каждого наибольшего блока кодирования, как описано выше, выборы альтернативно могут выполняться для каждого блока, имеющего произвольный размер блока. За счет этого, при кодировании изображения, не имеющего сложный шаблон, выборы выполняются для блоков, имеющих больший размер блока, чем наибольшие блоки кодирования. Как результат, информация выбора, ассоциированная с каждым блоком, который должен быть закодирован, может быть уменьшена без серьезного ухудшения характеристик повышения качества изображения. В отличие от этого, при кодировании изображения, имеющего сложный шаблон, выборы выполняются для блоков, имеющих меньший размер блока, чем наибольшие блоки кодирования. Как результат, хотя информация выбора, ассоциированная с каждым блоком, который должен быть закодирован, возрастает, могут быть реализованы процессы после изменения сложного шаблона, и, следовательно, может достигаться значительное повышение качества изображений. При выполнении выбора способа классификации по классам в процессе адаптивного к пикселю смещения и выбора класса в процессе адаптивной фильтрации для каждого блока кодирования, имеющего произвольный размер блока, как упомянуто выше, вышеуказанный размер блока выводится в модуль 13 кодирования с переменной длиной слова в качестве части параметров фильтра.
[0094] Далее поясняются подробности процесса кодирования с переменной длиной слова параметров фильтра. Модуль 13 кодирования с переменной длиной слова кодирует с переменной длиной слова параметры фильтра, выведенные в него из модуля 11 контурного фильтра. Параметры фильтра включают в себя, в качестве параметров, необходимых для процесса адаптивного к пикселю смещения, информацию активации или деактивации, указывающую то, активируется или нет процесс адаптивного к пикселю смещения на уровне изображения, и индекс, указывающий способ классификации по классам для каждого наибольшего блока кодирования, и смещение, предоставленное для каждого класса каждого наибольшего блока кодирования, когда информация активации или деактивации указывает то, что "процесс активируется". Дополнительно, параметры фильтра включают в себя, в качестве параметров, необходимых для процесса адаптивной фильтрации, информацию активации или деактивации, указывающую то, активируется или нет процесс адаптивной фильтрации на уровне изображения, и число классов, номер класса, показывающий фильтр, используемый для каждого наибольшего блока кодирования, и коэффициенты фильтрации, соответствующие каждому номеру класса, когда информация активации или деактивации указывает то, что "процесс активируется".
[0095] В частности, при кодировании с переменной длиной слова номера класса каждого наибольшего блока кодирования в процессе адаптивной фильтрации, выполняется процесс кодирования с использованием перемещения к началу, показанного на фиг. 16. Перемещение к началу является процессом кодирования номера класса и после этого назначения номера класса наименьшему индексу кодирования (индекс 0), а затем увеличения индекса кодирования, соответствующего каждому из других номеров классов, на единицу. За счет такого обновления индекса кодирования для каждого наибольшего блока кодирования, вероятность возникновения индекса кодирования концентрируется почти на нуле, когда пространственная корреляция существует между номерами классов. Следовательно, посредством выполнения кодирования с переменной длиной слова согласно этой вероятности частоты вхождения, номер класса может быть кодирован с высокой степенью эффективности кодирования. Помимо этого, в случае использования кодирования кодом Голомба при вышеуказанном кодировании с переменной длиной слова индекса кодирования, максимум индекса кодирования является необязательным для процесса декодирования. Более конкретно, поскольку число классов является необязательным в случае использования кодирования кодом Голомба, необязательно кодировать число классов. Соответственно, использование кодирования кодом Голомба позволяет уменьшать объем кода, требуемый для того, чтобы кодировать число классов. Дополнительно, поскольку максимум индекса кодирования аналогично является необязательным для процесса декодирования даже в случае использования альфа-кодирования (унарного кодирования), гамма-кодирования, дельта-кодирования и т.п., кодирование числа классов становится необязательным. В качестве альтернативы, вероятностная модель кодирования с переменной длиной слова посредством использования числа выбираемых индексов фильтра (numbl, показанного на фиг. 13) может рассчитываться каждый раз при выполнении кодирования для каждого наибольшего блока кодирования, и может выполняться энтропийное кодирование. Поскольку устройство кодирования видео может выполнять кодирование только на основе вероятности вхождения фильтра, который может быть фактически выбран за счет этого, устройство кодирования видео может выполнять кодирование с более высокой степенью эффективности. Также в этом случае, необязательно кодировать число классов, и может уменьшаться объем кода.
[0096] В качестве способа кодирования для кодирования номера класса (номера фильтра) каждого наибольшего блока кодирования может быть предусмотрен способ, как показано на фиг. 17, кодирования информации активации или деактивации, указывающей то, активируется или нет процесс фильтрации для каждого наибольшего блока кодирования сначала, и когда информация активации или деактивации указывает то, что "процесс фильтрации активируется", выполнения поясненного выше процесса кодирования номера класса. За счет этого, когда вероятность возникновения каждого класса в случае невыполнения процесса фильтрации значительно отличается от вероятности возникновения каждого класса в случае выполнения процесса фильтрации, схема вероятностной модели кодирования с переменной длиной слова может быть упрощена.
[0097] Дополнительно также, при выполнении процесса кодирования индекса, указывающего способ классификации по классам, выбранный для каждого наибольшего блока кодирования в процессе адаптивного к пикселю смещения, использование перемещения к началу упрощает концентрацию вероятности возникновения индекса кодирования концентрироваться почти на нуле, аналогично выполнению процесса кодирования номера класса каждого наибольшего блока кодирования в вышеуказанном процессе адаптивной фильтрации. Следовательно, посредством выполнения кодирования с переменной длиной слова согласно этой вероятности частоты вхождения, индекс может быть кодирован с высокой степенью эффективности кодирования.
[0098] Как для кодирования номера класса (индекса класса) каждого наибольшего блока кодирования в процессе адаптивной фильтрации, так и для кодирования индекса, указывающего способ классификации по классам, выбранный для каждого наибольшего блока кодирования в процессе адаптивного к пикселю смещения, вместо вышеуказанного способа кодирования с использованием перемещения к началу, может быть предусмотрен способ кодирования флага, указывающего то, является или нет способ классификации по классам, выбранный для каждого наибольшего блока кодирования, идентичным способу, выбранному для соседнего блока (например, блока сверху или слева от наибольшего блока кодирования), и индекса, указывающего то, какой блок имеет способ классификации по классам, идентичный способу классификации по классам наибольшего блока кодирования, когда флаг указывает то, что способ классификации по классам является "идентичным", или индекса, который должен кодироваться, когда флаг указывает то, что способ классификации по классам не является "идентичным". В качестве альтернативы, как показано на фиг. 23, может быть предусмотрен способ кодирования как флага, указывающего то, имеет или нет целевой блок кодирования индекс, идентичный индексу блока, расположенного сверху от целевого блока кодирования так и параметра (по длинам серий), показывающего то, сколько блоков, идущих справа, имеют индекс, идентичный индексу целевого блока кодирования, а когда целевой блок кодирования не имеет индекса, идентичного индексу блока, расположенного слева от целевого блока кодирования, и не имеет индекса, идентичного индексу блока, расположенного сверху от целевого блока кодирования, т.е. только когда длина серии завершается в блоке слева от целевого блока кодирования, и флаг, указывающий то, имеет или нет целевой блок кодирования индекс, идентичный индексу блока, расположенного сверху от целевого блока кодирования, указывает то, что целевой блок кодирования "не имеет идентичного индекса", кодирования индекса, который должен быть закодирован. Эти способы позволяют реализовывать высокую степень эффективности кодирования в случае, если существует пространственная корреляция с индексом блока слева от целевого блока кодирования, как в случае использования способа кодирования с использованием перемещения к началу. Помимо этого, эти способы позволяют реализовывать высокую степень эффективности кодирования также в случае, если существует пространственная корреляция с индексом блока сверху от целевого блока кодирования, в отличие от случая использования способа кодирования с использованием перемещения к началу.
[0099] В информации заголовка может быть кодировано наибольшее число смещений в процессе адаптивного к пикселю смещения, который может быть использован в расчете на изображение и наибольшее число классов в процессе адаптивной фильтрации, который может быть использован в расчете на изображение. Поскольку наибольшее число смещений и наибольшее число фильтров, которые должны быть декодированы в расчете на изображение посредством стороны декодирования, являются очевидными в случае, если сторона кодирования выполняет его, ограничения для реализации устройства декодирования в реальном времени могут быть заданы посредством информации заголовка.
[0100] Фиг. 18 показывает поток битов, сформированный посредством модуля 13 кодирования с переменной длиной слова. В поток битов, по меньшей мере, один заголовок уровня последовательности и, по меньшей мере, один заголовок уровня изображения вставляются перед изображенными данными, так что можно обращаться к параметру, требуемому для того, чтобы декодировать каждое изображение. Дополнительно, изображенные данные сегментируются на один или более слайсов (вырезок) и кодируются, и каждый слайс может иметь структуру для одного из блоков кодирования, на которые сегментируется каждый наибольший блок кодирования. Затем, по меньшей мере, один кодированный с переменной длиной слова параметр фильтрации вставляется, в качестве набора параметров фильтра, перед изображенными данными, аналогично заголовку уровня изображения. Каждый слайс выполнен с возможностью иметь индекс, указывающий то, к какому набору параметров фильтра обращаются, в заголовке слайса, так что можно обращаться к параметру, требуемому для процесса посредством модуля 11 контурного фильтра, для каждого слайса.
[0101] Дополнительно, как в процессе адаптивной фильтрации, так и в процессе адаптивного к пикселю смещения, когда процесс адаптивной фильтрации задается, чтобы выбирать то, следует или нет выполнять процесс фильтрации для каждого из блоков кодирования, на которые сегментируется каждый наибольший блок кодирования, как показано на фиг. 15, информация активации или деактивации, указывающая то, активируется или нет этот процесс фильтрации для каждого блока кодирования, кодируется с переменной длиной слова и мультиплексируется в поток битов. Кодированная информация активации или деактивации, указывающая то, активируется или нет процесс фильтрации для каждого блока кодирования, мультиплексируется в каждый слайс, показанный на фиг. 18, и информация активации или деактивации, указывающая то, активируется или нет процесс фильтрации в диапазоне блоков кодирования, принадлежавших каждому слайсу, мультиплексируется в заголовок слайса. В качестве альтернативы, информация может быть мультиплексирована в поток битов в качестве набора параметров фильтра, вместе с другими параметрами фильтрации.
[0102] Далее конкретно поясняется обработка, выполняемая посредством устройства декодирования видео, показанного на фиг. 3. При приеме потока битов, сформированного посредством устройства кодирования видео, показанного на фиг. 1, модуль 31 декодирования с переменной длиной слова выполняет процесс декодирования с переменной длиной слова для потока битов (этап ST21 по фиг. 4) и декодирует информацию размера кадра в расчете на последовательность, причем каждая последовательность состоит из одного или более кадров изображений, либо в расчете на изображение. В это время модуль декодирования с переменной длиной слова декодирует параметры фильтра, которые кодированы как набор параметров фильтра и которые используются посредством модуля 38 контурного фильтра. Параметры фильтра включают в себя, в качестве параметров, необходимых для процесса адаптивного к пикселю смещения, информацию активации или деактивации, указывающую то, активируется или нет процесс адаптивного к пикселю смещения на уровне изображения, и индекс, указывающий способ классификации по классам, выбранный для каждого наибольшего блока декодирования, и смещение, предоставленное для каждого класса каждого наибольшего блока декодирования, когда информация активации или деактивации указывает то, что "процесс активируется". Параметры фильтра включают в себя, в качестве параметров, необходимых для процесса адаптивной фильтрации, информацию активации или деактивации, указывающую то, активируется или нет процесс адаптивной фильтрации на уровне изображения, и число классов, номер класса, показывающий фильтр, используемый для каждого наибольшего блока декодирования, и коэффициенты фильтрации, соответствующие каждому номеру класса, когда информация активации или деактивации указывает то, что "процесс активируется". Тем не менее, поскольку информация размера кадра может быть декодирована, даже если число классов неизвестно в случае, если кодирование номера класса, показывающего фильтр, используемый для каждого наибольшего блока декодирования, выполняется посредством использования кодирования кодом Голомба, альфа-кодирования (унарного кодирования), гамма-кодирования, дельта-кодирования и т.п., или в случае, если вероятностная модель рассчитывается только посредством использования числа классов, которое может быть выбрано для каждого наибольшего блока декодирования, и выполняется энтропийное кодирование, устройство кодирования видео не должно кодировать число классов. В случае если устройство кодирования видео не кодирует число классов таким образом, устройство декодирования видео не выполняет декодирование числа классов.
[0103] Модуль 31 декодирования с переменной длиной слова также определяет размер наибольшего блока кодирования и верхний предел на число сегментированных иерархических слоев, которые определяются посредством модуля 2 управления кодированием устройства кодирования видео, показанного на фиг. 1, согласно процедуре, идентичной процедуре, согласно которой работает устройство кодирования видео (этап ST22). Например, когда размер наибольшего блока кодирования и верхний предел на число сегментированных иерархических слоев определяются согласно разрешению видеосигнала, модуль декодирования с переменной длиной слова определяет размер наибольшего блока кодирования на основе декодированной информации размера кадра и согласно процедуре, идентичной процедуре, согласно которой работает устройство кодирования видео. Когда наибольший размер блока кодирования и верхний предел на число сегментированных иерархических слоев мультиплексируются в поток битов посредством устройства кодирования видео, модуль декодирования с переменной длиной слова использует значения, декодированные из потока битов. Далее, вышеуказанный размер наибольшего блока кодирования упоминается как "размер наибольшего блока декодирования", а наибольший блок кодирования упоминается как "наибольший блок декодирования" в устройстве декодирования видео. Модуль 31 декодирования с переменной длиной слова декодирует состояние сегментации наибольшего блока декодирования, как показано на фиг. 6, для каждого определенного наибольшего блока декодирования. Модуль декодирования с переменной длиной слова иерархически указывает блоки декодирования (т.е. блоки, соответствующие "блокам кодирования", которые обрабатываются посредством устройства кодирования видео, показанного на фиг. 1) на основе декодированного состояния сегментации (этап ST23).
[0104] Модуль 31 декодирования с переменной длиной слова затем декодирует режим кодирования, назначаемый каждому блоку декодирования. Модуль 31 декодирования с переменной длиной слова сегментирует каждый блок декодирования на один или более прогнозных блоков, каждый из которых представляет собой единицу для процесса прогнозирования, на основе информации, включенной в режим кодирования, и декодирует параметр прогнозирования, назначаемый каждому из одного или более прогнозных блоков (этап ST24).
[0105] Более конкретно, когда режим кодирования, назначаемый блоку декодирования, представляет собой режим внутреннего кодирования, модуль 31 декодирования с переменной длиной слова декодирует параметр внутреннего прогнозирования для каждого из одного или более прогнозных блоков, которые включаются в блок декодирования, и каждый из которых представляет собой единицу для процесса прогнозирования. В отличие от этого, когда режим кодирования, назначаемый блоку декодирования, представляет собой режим внешнего кодирования, модуль декодирования с переменной длиной слова декодирует параметр внутреннего прогнозирования и вектор движения для каждого из одного или более прогнозных блоков, которые включаются в блок декодирования, и каждый из которых представляет собой единицу для процесса прогнозирования (этап ST24). Модуль 31 декодирования с переменной длиной слова также декодирует сжатые данные (преобразованные и квантованные коэффициенты преобразования) каждого блока ортогонального преобразования на основе информации сегментации на блоки ортогонального преобразования, включенной в параметры прогнозирующего разностного кодирования (этап ST24).
[0106] Когда режим m(Bn) кодирования, декодированный с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования (когда m(Bn)Є"внутренний"), избирательный переключатель 33 выводит параметр внутреннего прогнозирования каждой единицы прогнозного блока, который декодируется с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, в модуль 34 внутреннего прогнозирования. В отличие от этого, когда режим m(Bn) кодирования, декодированный с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования (когда m(Bn)Є"внешний"), избирательный переключатель выводит параметр внешнего прогнозирования и вектор движения каждой единицы прогнозного блока, которые декодируются с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, в модуль 35 компенсации движения.
i
INTRAi
n
n
[0107] Когда режим m(Bn) кодирования, декодированный с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внутреннего кодирования (m(Bn)Є"внутренний") (этап ST25), модуль 34 внутреннего прогнозирования принимает параметр внутреннего прогнозирования каждой единицы прогнозного блока, выведенный из избирательного переключателя 33, и выполняет процесс внутреннего прогнозирования для каждого прогнозного блока P в блоке Bn декодирования с использованием вышеуказанного параметра внутреннего прогнозирования посредством обращения к декодированному изображению, сохраненному в запоминающем устройстве 37 для внутреннего прогнозирования, чтобы формировать изображение P внутреннего прогнозирования согласно процедуре, идентичной процедуре, которую использует модуль 4 внутреннего прогнозирования, показанный на фиг. 1 (этап ST26).
i
INTERi
n
n
[0108] Когда режим m(Bn) кодирования, декодированный с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, представляет собой режим внешнего кодирования (m(Bn)Є"внешний") (этап ST25), модуль 35 компенсации движения принимает вектор движения и параметр внешнего прогнозирования каждой единицы прогнозного блока, которые выводятся из избирательного переключателя 33, и выполняет процесс внешнего прогнозирования для каждого прогнозного блока P в блоке декодирования с использованием вышеуказанного вектора движения и вышеуказанного параметра внешнего прогнозирования при обращении к декодированному изображению, сохраненному в запоминающем устройстве 39 кадров прогнозирования с компенсацией движения, и для которого выполняется процесс фильтрации, чтобы формировать изображение P внешнего прогнозирования (этап ST27).
[0109] При приеме сжатых данных и параметров прогнозирующего разностного кодирования из модуля 31 декодирования с переменной длиной слова, модуль 32 обратного квантования/обратного преобразования обратно квантует сжатые данные относительно каждого блока ортогонального преобразования посредством обращения к параметру квантования и информации сегментации на блоки ортогонального преобразования, которые включаются в параметры прогнозирующего разностного кодирования, согласно процедуре, идентичной процедуре, согласно которой работает модуль 8 обратного квантования/обратного преобразования, показанный на фиг. 1. Модуль 32 обратного квантования/обратного преобразования также выполняет процесс обратного ортогонального преобразования для коэффициентов преобразования каждого блока ортогонального преобразования, которые являются сжатыми данными, которые модуль обратного квантования/обратного преобразования обратно квантует, чтобы вычислять декодированный прогнозный разностный сигнал, который является идентичным локальному декодированному прогнозному разностному сигналу, выведенному из модуля 8 обратного квантования/обратного преобразования, показанного на фиг. 1 (этап ST28).
INTRAi
INTERi
n
n
[0110] Модуль 36 суммирования суммирует декодированный прогнозный разностный сигнал, вычисленный посредством модуля 32 обратного преобразования/обратного квантования, и либо изображение P внутреннего прогнозирования, сформированное посредством модуля 34 внутреннего прогнозирования, либо изображение P внешнего прогнозирования, сформированное посредством модуля 35 компенсации движения, чтобы вычислять декодированное изображение и выводить декодированное изображение в модуль 38 контурного фильтра, а также сохраняет декодированное изображение в запоминающем устройстве 37 для внутреннего прогнозирования (этап ST29). Это декодированное изображение представляет собой сигнал декодированного изображения, который используется во время последующих процессов внутреннего прогнозирования.
[0111] При выполнении процессов этапов ST23-ST29 для всех блоков Bn декодирования (этап ST30) модуль 38 контурного фильтра выполняет предварительно определенный процесс фильтрации в отношении декодированного изображения, выведенного из модуля 36 суммирования, и сохраняет декодированное изображение, обработанное фильтрацией, в запоминающем устройстве 39 кадров прогнозирования с компенсацией движения (этап ST31). Конкретно, модуль контурного фильтра выполняет процесс фильтрации (фильтрации для удаления блочности) для уменьшения искажения, возникающего на границе между блоками ортогонального преобразования, и искажения, возникающего на границе между прогнозными блоками, процесс (процесс адаптивного к пикселю смещения) для адаптивного суммирования смещения для каждого пиксела, процесс адаптивной фильтрации для адаптивного переключения между линейными фильтрами, такими как фильтры Винера, и выполнения процесса фильтрации, и т.д. Хотя модуль 38 контурного фильтра может иметь такую структуру, чтобы выполнять один из вышеуказанного процесса фильтрации для удаления блочности, вышеуказанного процесса адаптивного к пикселю смещения и вышеуказанного процесса адаптивной фильтрации, или выполнять два или более процессов, как показано на фиг. 12, модуль контурного фильтра должен иметь такую структуру, чтобы выполнять процесс фильтрации, идентичный процессу фильтрации, выполняемому посредством модуля 11 контурного фильтра устройства кодирования видео.
[0112] В процессе адаптивного к пикселю смещения обращаются к индексу, указывающему способ классификации по классам, выбранный для каждого наибольшего блока декодирования, включенного в параметры фильтра, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, способ классификации по классам, соответствующий индексу, указывается из способов классификации по классам, подготовленных заранее, и выполняется классификация каждого пиксела в каждом наибольшем блоке декодирования на один из классов посредством использования способа классификации по классам. Затем, выполняется процесс суммирования смещения, предоставленного для каждого класса, включенного в параметры фильтра, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, со значением яркости каждого пиксела (каждого пиксела декодированного изображения), принадлежащего вышеуказанному классу.
[0113] Дополнительно, в процессе адаптивной фильтрации, обращаются к параметрам фильтра, декодированным с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова (число классов (число фильтров)), фильтру для локального декодированного изображения, принадлежащего каждому классу, и номеру класса (номер фильтра), который является идентификационной информацией для идентификации класса каждого блока), и когда класс, показанный посредством номера класса, не показывает "процесс смещения не выполняется", процесс фильтрации выполняется для декодированного изображения, принадлежащего классу, посредством использования фильтра, соответствующего номеру класса.
[0114] Фиг. 19 является блок-схемой последовательности операций способа, показывающей пример процесса адаптивной фильтрации. В примере по фиг. 19, для того чтобы выполнять процесс адаптивной фильтрации для каждого наибольшего блока кодирования, процесс фильтрации, показанный на этапах ST222-ST224, выполняется для каждого наибольшего блока декодирования (этап ST221). Ниже поясняется процесс фильтрации, показанный на этапах ST222-ST224.
[0115] Во-первых, на основе номера класса каждого наибольшего блока декодирования, включенного в параметры фильтра, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, определяется то, следует или нет выполнять процесс фильтрации для наибольшего блока декодирования, который представляет собой цель, которая должна быть обработана (этап ST222). При выполнении процесса фильтрации, процесс фильтрации выполняется для каждого пиксела в блоке посредством использования фильтра, соответствующего вышеуказанному номеру класса (этап ST223). Устройство декодирования видео затем переходит к следующему наибольшему блоку декодирования (ST224). Устройство декодирования видео выполняет вышеуказанные процессы для всех наибольших блоков декодирования и сохраняет декодированные изображения, для которых устройство декодирования видео выполняет процессы, в запоминающем устройстве 39 кадров прогнозирования с компенсацией движения.
[0116] Дополнительно, в случае если модуль 11 контурного фильтра устройства кодирования видео имеет такую структуру, чтобы выполнять оптимальный выбор одного из процесса адаптивного к пикселю смещения и процесса адаптивной фильтрации для каждого наибольшего блока кодирования в качестве способа использования как процесса адаптивного к пикселю смещения, так и процесса адаптивной фильтрации при уменьшении объема вычислений всего процесса фильтрации модуля 38 контурного фильтра, устройство декодирования видео выполняет процесс адаптивного к пикселю смещения или процесс адаптивной фильтрации для каждого наибольшего блока декодирования посредством обращении к информации выбора, включенной в параметры фильтра, декодированные с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, и указывающей то, следует или нет выполнять процесс адаптивного к пикселю смещения или процесс адаптивной фильтрации для каждого наибольшего блока декодирования.
[0117] Дополнительно, хотя пример декодирования информации относительно выбора способа классификации по классам для процесса адаптивного к пикселю смещения для каждого наибольшего блока декодирования и информации относительно выбора класса для процесса адаптивной фильтрации и выполнения процесса контурной фильтрации поясняется выше, в случае если устройство кодирования видео имеет такую структуру, чтобы кодировать размер блока, информацию относительно выбора способа классификации по классам для процесса адаптивного к пикселю смещения для каждого блока, имеющего размер блока, и информацию относительно выбора класса для процесса адаптивной фильтрации, устройство декодирования видео декодирует с переменной длиной слова вышеуказанный размер блока, информацию относительно выбора способа классификации по классам для процесса адаптивного к пикселю смещения для каждого блока, имеющего размер блока, и информацию относительно выбора класса для процесса адаптивной фильтрации посредством использования модуля 31 декодирования с переменной длиной слова, и модуль 38 контурного фильтра выполняет процесс контурной фильтрации для каждого блока, имеющего вышеуказанный размер блока, на основе этих параметров.
[0118] В случае если информация, указывающая то, следует или нет выполнять процесс фильтрации для каждого из блоков декодирования, на которые сегментируется каждый наибольший блок декодирования, кодируется в заголовок слайса, модуль 31 декодирования с переменной длиной слова декодирует вышеуказанную информацию, и процесс фильтрации на этапе ST223 выполняется только для блоков декодирования, имеющих информацию, указывающую то, что выполняется процесс фильтрации. Декодированное изображение, для которого процесс фильтрации выполняется посредством этого модуля 38 контурного фильтра, предоставляется в качестве опорного изображения для прогнозирования с компенсацией движения и определяется в качестве воспроизведенного изображения.
[0119] Как можно видеть из вышеприведенного описания, в соответствии с этим вариантом 1 осуществления модуль 11 контурного фильтра устройства кодирования видео имеет такую структуру, чтобы выполнять классификацию локального декодированного изображения, сформированного посредством модуля 9 суммирования, на один класс для каждого блока кодирования, имеющего наибольший размер, определенный посредством модуля 2 управления кодированием, рассчитывать фильтр, который компенсирует искажение, наложенное для каждого локального декодированного изображения, принадлежащего каждому классу, и выполнять процесс фильтрации для вышеуказанного локального декодированного изображения посредством использования фильтра, и модуль 13 кодирования с переменной длиной слова имеет такую структуру, чтобы кодировать, в качестве параметров фильтра, фильтр, рассчитанный посредством модуля 11 контурного фильтра и используемый для локального декодированного изображения, принадлежащего каждому классу, и номер класса каждого наибольшего блока кодирования. Следовательно, поскольку пользователю позволяется инструктировать устройству кодирования видео выполнять классификацию по классам с произвольным числом классов для каждого блока, имеющем предварительно определенный размер блока, согласно произвольному способу и выполнять процесс фильтрации для каждой области, принадлежащей каждому классу, предоставляется преимущество возможности выполнять классификацию по классам согласно изображению, которое должно быть кодировано, и повышать точность для повышения качества изображений.
[0120] Согласно этому варианту 1 осуществления, поскольку устройство декодирования видео имеет такую структуру, чтобы выполнять процесс фильтрации посредством использования фильтра, принадлежащего каждому классу, посредством обращения к параметрам фильтра, декодированным с переменной длиной слова посредством модуля 31 декодирования с переменной длиной слова, предоставляется преимущество способности повышать точность для повышения качества изображений посредством инструктирования устройству кодирования видео определять оптимальную классификацию по классам и выполнять кодирование.
[0121] Хотя изобретение описано в предпочтительном варианте осуществления, следует понимать, что различные изменения могут вноситься в произвольные компоненты согласно варианту осуществления, и произвольные компоненты согласно варианту осуществления могут опускаться в пределах объема изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[0122] Устройство кодирования видео и способ кодирования видео в соответствии с настоящим изобретением являются подходящими для устройства кодирования видео, которое должно кодировать видеоизображение с высокой степенью эффективности, и устройство кодирования видео и способ кодирования видео в соответствии с настоящим изобретением являются подходящими для устройства декодирования видео, которое должно декодировать видеоизображение, которое кодируется с высокой степенью эффективности.
ПОЯСНЕНИЯ К ССЫЛКАМ С НОМЕРАМИ
[0123] 1 - модуль сегментации на блоки (модуль сегментации на блоки), 2 - модуль управления кодированием (контроллер кодирования), 3 - избирательный переключатель, 4 - модуль внутреннего прогнозирования (внутренний предиктор), 5 - модуль прогнозирования с компенсацией движения (предиктор с компенсацией движения), 6 - модуль вычитания (формирователь разностных изображений), 7 - модуль преобразования/квантования (модуль сжатия изображений), 8 - модуль обратного квантования/обратного преобразования (формирователь локальных декодированных изображений), 9 - модуль суммирования (формирователь локальных декодированных изображений), 10 - запоминающее устройство для внутреннего прогнозирования (внутренний предиктор), 11 - модуль контурного фильтра (фильтр), 12 - запоминающее устройство кадров прогнозирования с компенсацией движения (предиктор с компенсацией движения), 13 - модуль кодирования с переменной длиной слова (кодер с переменной длиной слова), 31 - модуль декодирования с переменной длиной слова (декодер с переменной длиной слова), 32 - модуль обратного квантования/обратного преобразования (формирователь разностных изображений), 33 - избирательный переключатель, 34 - модуль внутреннего прогнозирования (внутренний предиктор), 35 - модуль компенсации движения (предиктор с компенсацией движения), 36 - модуль суммирования (формирователь декодированных изображений), 37 - запоминающее устройство для внутреннего прогнозирования (внутренний предиктор), 38 - модуль контурного фильтра (фильтр), 39 - запоминающее устройство кадров прогнозирования с компенсацией движения (предиктор с компенсацией движения), 101 - модуль сегментации на блоки, 102 - модуль прогнозирования, 103 - модуль сжатия, 104 - модуль локального декодирования, 105 - сумматор, 106 - контурный фильтр, 107 - запоминающее устройство, 108 - модуль кодирования с переменной длиной слова.