Устройство для обработки изображения и способ обработки изображения
Иллюстрации
Показать всеИзобретение относится к технологиям обработки изображений. Техническим результатом является повышение эффективности обработки данных изображений, за счет генерирования матрицы квантования большего размера, на основе матрицы квантования меньшего размера. Предложено устройство для обработки изображений, содержащее схему. Схема выполнена с возможностью выбора, из совокупности нескольких единиц преобразования разного размера, одной единицы преобразования 16×16, используемой для ортогонального преобразования данных изображения, подлежащих кодированию. Схема также выполнена с возможностью квантования данных коэффициентов преобразования, генерируемых посредством ортогонального преобразования данных изображения на основе единицы преобразования 16×16 с использованием матрицы квантования 16×16 на основании матрицы квантования 8×8. 2 н. и 12 з.п. ф-лы, 19 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству для обработки изображения и способу обработки изображения.
Уровень техники
Стандарт H.264/AVC, одна из спецификаций способов кодирования изображения, может использовать различные величины шага квантования для составляющих коэффициентов ортогонального преобразования с целью квантования данных изображения в профиле, эквивалентном Высокому Профилю (High Profile) или выше. Шаг квантования для каждой составляющей коэффициентов ортогонального преобразования может быть конфигурирован на основе матрицы квантования (именуемой также списком масштабирования) и величины опорного шага. Указанная матрица квантования определена в виде матрицы по существу такого же размера, как единица ортогонального преобразования.
Фиг.19 иллюстрирует заданные величины (величины по умолчанию) для четырех типов матриц квантования, определенных в стандарте H.264/AVC. Например, матрица SL01 представляет собой матрицу по умолчанию для матрицы квантования, если единица преобразования имеет размер 4×4 в режиме внутрикадрового прогнозирования. Матрица SL02 представляет собой матрицу по умолчанию для матрицы квантования, если единица преобразования имеет размер 4×4 в режиме межкадрового прогнозирования. Матрица SL03 представляет собой матрицу по умолчанию для матрицы квантования, если единица преобразования имеет размер 8×8 в режиме внутрикадрового прогнозирования. Матрица SL04 представляет собой матрицу по умолчанию для матрицы квантования, если единица преобразования имеет размер 8×8 в режиме межкадрового прогнозирования. Пользователь может использовать набор параметров последовательности или набор параметров кадра изображения, чтобы специфицировать специальную матрицу квантования, отличную от матриц по умолчанию, показанных на фиг.19. Если матрица квантования не используется, для всех составляющих шага квантования, применяемого для квантования, используется одинаковая величина.
Стандарт «Высокоэффективное видео кодирование» (High Efficiency Video Coding (HEVC)) представляет собой способ следующего поколения для кодирования изображения, являющийся преемником стандарта H.264/AVC, так что сейчас осуществляется стандартизация этого способа. Стандарт HEVC включает концепцию единицы кодирования (CU), которая соответствует обычному макроблоку (см. Непатентную литературу 1 ниже). Набор параметров последовательности определяет диапазон размеров единиц кодирования с использованием группы величин, равных степеням двойки и представляющих наибольшую единицу кодирования (LCU), и наименьшую единицу кодирования (SCU). Использование флага split_flag задает конкретный размер единиц кодирования в пределах диапазона, ограниченного величинами наибольшей LCU и наименьшей SCU единиц кодирования.
Согласно стандарту HEVC, одна единица кодирования может быть разделена на одну или несколько единиц ортогонального преобразования, а именно на одну или несколько единиц преобразования (TU). Здесь может быть задан любой размер единицы преобразования из ряда 4×4, 8×8, 16×16 и 32×32. Соответственно, матрица квантования может быть определена согласно каждому из этих размеров-кандидатов единиц преобразования.
Стандарт H.264/AVC позволяет назначить только одну матрицу квантования для одного размера единицы преобразования в пределах одного кадра изображения, как это определено в выпущенном опорном программном обеспечении (http://iphome.hhi.de/suehring/tml/index.htm), называемом обычно совместной моделью (joint model (JM)). Напротив, приведенная ниже Непатентная литература 2, предлагает назначать несколько кандидатов матриц квантования для одного размера единицы преобразования в пределах одного кадра и осуществлять адаптивный выбор матрицы квантования для каждого блока с точки зрения оптимизации функции зависимости искажений от скорости передачи данных (rate-distortion (RD)).
Список литературы
Непатентная литература
Непатентная литература 1: «Рассматриваемая тестовая модель» (JCTVC-B205, "Test Model under Consideration", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting: Geneva, CH, 21-28 July, 2010)
Непатентная литература 2: «Способ адаптивного выбора матрицы квантования с использованием программного обеспечения для ключевых технических областей» (VCEG-AD06, "Adaptive Quantization Matrix Selection on KTA Software", ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG) 30th Meeting: Hangzhou, China, 23-24 October, 2006)
Сущность изобретения
Техническая проблема
Однако увеличение числа возможных размеров единиц преобразования ведет также к увеличению числа возможных матриц квантования. Увеличение объема кодов матриц квантования может привести к деградации эффективности кодирования. Эта эффективность кодирования может деградировать более заметно, если число матриц квантования, которые могут быть назначены для каждого размера единицы преобразования, увеличивается и становится больше 1.
Технология согласно настоящему изобретению направлена на создание устройства для обработки изображения и способа обработки изображения, позволяющего исключить или ослабить эффект увеличения объема кодов из-за увеличения числа матриц квантования.
Решение проблемы
Согласно одному из вариантов настоящего изобретения предложено устройство для обработки изображения, содержащее селекторную секцию, конфигурированную для выбора, из нескольких единиц преобразования разного размера, единицы преобразования, используемой для обратного ортогонального преобразования данных изображения, подлежащих декодированию, секцию генератора, конфигурированную для генерации, на основе первой матрицы квантования, соответствующей единице преобразования первого размера, второй матрицы квантования, соответствующей единице преобразования второго размера, и секцию обратного квантования, конфигурированную для обратного квантования данных коэффициентов преобразования для данных изображения с использованием второй матрицы квантования, сформированной секцией генератора, когда селекторная секция выберет единицу преобразования для второго размера.
Предлагаемое устройство для обработки изображения может быть обычно реализовано в виде устройства для декодирования изображения.
Далее, указанная секция генератора может генерировать вторую матрицу квантования с использованием информации матрицы, описывающей первую матрицу квантования, и разностной информации, представляющей разность между прогнозируемой матрицей второго размера, сформированной посредством прогнозирования на основе первой матрицы квантования, и второй матрицей квантования.
Далее, секция генератора может получать информацию матрицы и разностную информацию из набора параметров последовательности и набора параметров кадра изображения.
Далее, секция генератора может задавать прогнозируемую матрицу в качестве второй матрицы квантования, когда один из наборов параметров - набор параметров последовательности или набор параметров кадра изображения, содержит первый флаг, указывающий на отсутствие разности между этими прогнозируемой матрицей и второй матрицей квантования.
Далее, первый размер может представлять собой минимальный размер из всей совокупности возможных размеров единиц преобразования.
Далее, второй размер может быть больше первого размера. Секция генератора может вычислять прогнозируемую матрицу путем дублирования одного из элементов - первого элемента или второго элемента, и вставки элемента-дубликата между этими расположенными один рядом с другим первым элементом и вторым элементом в первой матрице квантования.
Далее, второй размер может быть больше первого размера. Секция генератора может вычислять прогнозируемую матрицу путем линейной интерполяции величины элемента на основе первого элемента и второго элемента и вставки интерполированного элемента между этими расположенными один рядом с другим первым элементом и вторым элементом в первой матрице квантования.
Далее, второй размер может быть вдвое больше первого размера с одной стороны.
Далее, второй размер может быть меньше первого размера. Секция генератора может вычислять прогнозируемую матрицу путем вычеркивания элемента в первой матрице квантования.
Далее, второй размер может быть меньше первого размера. Секция генератора может вычислять прогнозируемую матрицу путем усреднения нескольких элементов, соседствующих один с другим в первой матрице квантования.
Далее, секция генератора может генерировать вторую матрицу квантования на основе первой матрицы квантования, когда один из наборов параметров - набор параметров последовательности или набор параметров кадра изображения, содержит второй флаг, указывающий использование определяемой пользователем матрицы в качестве второй матрицы квантования.
Далее, согласно другому варианту настоящего изобретения предложен способ обработки изображения, включающий выбор, из совокупности нескольких единиц преобразования с разными размерами, одной единицы преобразования, используемой для обратного ортогонального преобразования данных изображения, подлежащих декодированию, генерацию, на основе первой матрицы квантования, соответствующей единице преобразования первого размера, второй матрицы квантования, соответствующей единице преобразования второго размера, и обратное квантование данных коэффициентов преобразования для данных изображения с использованием второй матрицы квантования, сформированной на основе первой матрицы квантования, когда выбрана единица преобразования второго размера.
Далее, согласно другому варианту настоящего изобретения, предложено устройство для обработки изображения, содержащее селекторную секцию, конфигурированную для выбора, из совокупности нескольких единиц преобразования разного размера, одной единицы преобразования, используемой для ортогонального преобразования данных изображения, подлежащих кодированию, секцию квантования, конфигурированную для квантования данных коэффициентов преобразования, генерируемых посредством ортогонального преобразования данных изображения на основе единицы преобразования, выбранной посредством селекторной секции, с использованием матрицы квантования, соответствующей выбранной единице преобразования, и секцию кодирования, конфигурированную для кодирования информации с целью генерации второй матрицы квантования, соответствующей единице преобразования второго размера, на основе первой матрицы квантования, соответствующей единице преобразования первого размера.
Такое устройство для обработки изображения может быть обычно реализовано в виде устройства для кодирования изображения.
Далее, согласно другому варианту настоящего изобретения предложен способ обработки изображения, содержащий выбор, из нескольких единиц преобразования разного размера, одной единицы преобразования, используемой для ортогонального преобразования данных изображения, подлежащих кодированию, квантование данных коэффициентов преобразования, генерируемых путем ортогонального преобразования этих данных изображения на основе выбранной единицы преобразования с использованием матрицы квантования, соответствующей выбранной единице преобразования, и кодирование информации для генерации второй матрицы квантования, соответствующей единице преобразования второго размера, на основе первой матрицы квантования, соответствующей единице преобразования первого размера.
Преимущества изобретения
Как описано выше, устройство для обработки изображения и способ обработки изображения согласно настоящему изобретению могут исключить или ослабить эффект увеличения объема кода из-за увеличения числа матриц квантования.
Краткое описание чертежей
Фиг.1 представляет блок-схему, иллюстрирующую конфигурацию аппаратуры устройства для кодирования изображения согласно одному из вариантов.
Фиг.2 представляет блок-схему, иллюстрирующую подробную конфигурацию секции ортогонального преобразования и квантования согласно одному из вариантов.
Фиг.3 представляет блок-схему, иллюстрирующую более подробную конфигурацию секции обработки матриц согласно одному из вариантов.
Фиг.4 представляет пояснительную диаграмму, иллюстрирующую информацию, вводимую в набор параметров последовательности согласно одному из вариантов.
Фиг.5 представляет пояснительную диаграмму, иллюстрирующую информацию, вводимую в набор параметров кадра изображения согласно одному из вариантов.
Фиг.6А представляет первую половину логической схемы, иллюстрирующей первый пример процесса кодирования согласно одному из вариантов.
Фиг.6B представляет вторую половину логической схемы, иллюстрирующей первый пример процесса кодирования согласно одному из вариантов.
Фиг.7А представляет первую половину логической схемы, иллюстрирующей второй пример процесса кодирования согласно одному из вариантов.
Фиг.7B представляет вторую половину логической схемы, иллюстрирующей второй пример процесса кодирования согласно одному из вариантов.
Фиг.8 представляет блок-схему, иллюстрирующую конфигурацию устройства для декодирования изображения согласно одному из вариантов.
Фиг.9 представляет блок-схему, иллюстрирующую подробную конфигурацию секции обратного квантования и обратного ортогонального преобразования согласно одному из вариантов.
Фиг.10 блок-схему, иллюстрирующую более подробную конфигурацию секции генератора матриц согласно одному из вариантов.
Фиг.11A представляет первую половину логической схемы, иллюстрирующей первый пример процесса декодирования согласно одному из вариантов.
Фиг.11B представляет вторую половину логической схемы, иллюстрирующей первый пример процесса декодирования согласно одному из вариантов.
Фиг.12А представляет первую половину логической схемы, иллюстрирующей второй пример процесса декодирования согласно одному из вариантов.
Фиг.12B представляет вторую половину логической схемы, иллюстрирующей второй пример процесса декодирования согласно одному из вариантов.
Фиг.13А представляет первую половину логической схемы, иллюстрирующей пример процесса кодирования согласно одной из модификаций.
Фиг.13B представляет вторую половину логической схемы, иллюстрирующей пример процесса кодирования согласно одной из модификаций.
Фиг.14А представляет первую половину логической схемы, иллюстрирующей пример процесса декодирования согласно одной из модификаций.
Фиг.14B представляет вторую половину логической схемы, иллюстрирующей пример процесса декодирования согласно одной из модификаций.
Фиг.15 представляет блок-схему, иллюстрирующую схематичную конфигурацию телевизионного устройства.
Фиг.16 представляет блок-схему, иллюстрирующую схематичную конфигурацию мобильного телефона.
Фиг.17 представляет блок-схему, иллюстрирующую схематичную конфигурацию устройства записи/воспроизведения.
Фиг.18 представляет блок-схему, иллюстрирующую схематичную конфигурацию устройства для считывания изображения.
Фиг.19 представляет пояснительную диаграмму, иллюстрирующую примеры матриц квантования по умолчанию, заданных согласно стандарту H.264/AVC.
Подробное описание изобретения
В дальнейшем предпочтительные варианты настоящего изобретения будут описаны подробно со ссылками на прилагаемые чертежи. Отметим, что в настоящем описании и на чертежах элементы, имеющие по существу одинаковые функции и структуру, отмечены одинаковыми позиционными обозначениями, а повторное пояснение опущено.
Кроме того, подробное описание варианта(ов) рассмотрено в следующем порядке.
1. Примеры конфигурации устройства для кодирования изображения согласно одному из вариантов
1-1. Пример общей конфигурации
1-2. Пример конфигурации секции ортогонального преобразования и квантования
1-3. Пример подробной конфигурации секции обработки матриц
1-4. Примеры информации, подлежащей кодированию
2. Логическая схема процесса кодирования согласно одному из вариантов
3. Примеры конфигурации устройства для декодирования изображения согласно одному из вариантов
3-1. Пример общей конфигурации
3-2. Пример конфигурации секции обратного квантования и обратного ортогонального преобразования
3-3. Пример подробной конфигурации секции генератора матриц
4. Логическая схема процесса декодирования согласно одному из вариантов
5. Модификации
6. Примеры приложений
7. Заключение
1. Примеры конфигурации устройства для кодирования изображения согласно одному из вариантов
Далее следует описание примеров конфигурации устройства для кодирования изображения согласно одному из вариантов.
[1-1. Устройство для кодирования изображения]
На фиг.1 представлена блок-схема, показывающая пример конфигурации устройства 10 для кодирования изображения согласно одному из вариантов. Как показано на фиг.1, устройство 10 для кодирования изображения включает секцию 11 аналого-цифрового (A/D) преобразования, буфер 12 реорганизации кадров, секцию 13 вычитания, секцию 14 ортогонального преобразования и квантования, секцию 16 кодирования без потерь, накопительный буфер 17, секцию 18 управления частотой дискретизации, секцию 21 обратного квантования, секцию 22 обратного ортогонального преобразования, секцию 23 суммирования, деблокирующий фильтр 24, память 25 кадров, селектор 26, секцию 30 внутрикадрового прогнозирования, секцию 40 оценки движения и секцию 50 выбора режима.
Указанная секция 11 аналого-цифрового преобразования преобразует сигнал изображения, поступающий в аналоговом формате, в данные изображения в цифровом формате и передает последовательность цифровых данных изображения в буфер 12 реорганизации кадров.
Этот буфер 12 реорганизации кадров сортирует изображения, входящие в состав последовательности данных изображения, поступающей от секции 11 аналого-цифрового преобразования. После реорганизации изображений согласно структуре GOP (группа изображений) в соответствии с процессом кодирования буфер 12 реорганизации кадров передает отсортированные данные изображения в секцию 13 вычитания, секцию 30 внутрикадрового прогнозирования и секцию 40 оценки движения.
Данные изображения, поступающие от буфера 12 реорганизации кадров и данные прогнозируемого изображения, выбранные секцией 50 выбора режима, описываемой позднее, поступают в секцию 13 вычитания. Эта секция 13 вычитания вычисляет данные погрешности прогнозирования, представляющие собой разность между данными изображения, поступившими из буфера 12 реорганизации кадров, и данными прогнозируемого изображения, поступившими из секции 50 выбора режима, и передает вычисленные данные погрешности прогнозирования в секцию 14 ортогонального преобразования и квантования.
Указанная секция 14 ортогонального преобразования и квантования осуществляет ортогональное преобразование и квантование данных погрешности прогнозирования, поступивших от секции 13 вычитания, и передает квантованные данные коэффициентов преобразования (в дальнейшем именуемые квантованными данными) в секцию 16 кодирования без потерь и в секцию 21 обратного квантования. Скоростью передачи битов квантованных данных с выхода секции 14 ортогонального преобразования и квантования управляют на основе сигнала управления скоростью от секции 18 управления частотой дискретизации. Подробная конфигурация секции 14 ортогонального преобразования и квантования будет описана позднее.
Указанная секция 16 кодирования без потерь получает на вход квантованные данные от секции 14 ортогонального преобразования и квантования, информацию для генерации матрицы квантования на декодирующей стороне и информацию о режиме внутрикадрового прогнозирования или межкадрового прогнозирования, выбранном секцией 50 выбора режима. Информация о режиме внутрикадрового прогнозирования может содержать информацию о режиме прогнозирования, указывающую подходящий режим внутрикадрового прогнозирования для каждого блока. Информация о режиме межкадрового прогнозирования может содержать информацию о режиме прогнозирования, позволяющую прогнозировать вектор движения для каждого блока, разностный вектор движения и информацию опорного изображения, например.
Рассматриваемая секция 16 кодирования без потерь осуществляет кодирование без потерь применительно к квантованным данным с целью генерации кодированного потока. Эта секция 16 кодирования без потерь может осуществлять кодирование в коде переменной длины или арифметическое кодирование в качестве кодирования без потерь. Указанная секция 16 кодирования без потерь мультиплексирует информацию для генерации матрицы квантования (будет рассмотрена позднее) в заголовке (например, набор параметров последовательности и набор параметров кадра изображения) кодированного потока. Более того, секция 16 кодирования без потерь мультиплексирует информацию о режиме внутрикадрового прогнозирования или режиме межкадрового прогнозирования в заголовке кодированного потока. Эта секция 16 кодирования без потерь передает сформированный ею кодированный поток в накопительный буфер 17.
Этот накопительный буфер 17 временно сохраняет кодированный поток, поступающий от секции 16 кодирования без потерь, с использованием носителя записи, такого как полупроводниковое запоминающее устройство. Затем накопительный буфер 17 передает накопленный кодированный поток на выход со скоростью, соответствующей ширине полосы пропускания линии передачи (или выходной линии от устройства 10 для кодирования изображения).
Указанная секция 18 управления частотой дискретизации контролирует объем свободного пространства в накопительном буфере 17. Затем, эта секция 18 управления частотой дискретизации генерирует сигнал управления скоростью в соответствии с текущим объемом свободного пространства в накопительном буфере 17 и передает сформированный сигнал управления скоростью в секцию 14 ортогонального преобразования и квантования. Например, если объем свободного пространства в накопительном буфере 17 невелик, секция 18 управления частотой дискретизации генерирует сигнал управления скоростью для снижения скорости передачи битов квантованных данных. Кроме того, если, например, объем свободного пространства в накопительном буфере 17 достаточно велик, секция 18 управления частотой дискретизации генерирует сигнал управления скоростью для увеличения скорости передачи битов квантованных данных.
Указанная секция 21 обратного квантования осуществляет процедуру обратного квантования применительно к квантованным данным, поступающим от секции 14 ортогонального преобразования и квантования. Затем эта секция 21 обратного квантования передает данные коэффициентов преобразования, полученные в результате процедуры обратного квантования, в секцию 22 обратного ортогонального преобразования.
Указанная секция 22 обратного ортогонального преобразования осуществляет процедуру обратного ортогонального преобразования применительно к данным коэффициентов преобразования, поступающим от секции 21 обратного квантования, с целью восстановить данные погрешности прогнозирования. Затем эта секция 22 обратного ортогонального преобразования передает восстановленные данные погрешности прогнозирования в секцию 23 суммирования.
Указанная секция 23 суммирования осуществляет суммирование восстановленных данных погрешности прогнозирования, поступающих от секции 22 обратного ортогонального преобразования, с данными прогнозируемого изображения, поступающими от секции 50 выбора режима, с целью генерации декодированных данных изображения. Затем эта секция 23 суммирования передает сформированные декодированные данные изображения в деблокирующий фильтр 24 и в память 25 кадров.
Деблокирующий фильтр 24 осуществляет процедуру фильтрации с целью уменьшения искажений блоков, возникающих в процессе кодирования изображения. Этот деблокирующий фильтр 24 устраняет искажения блоков путем фильтрации декодированных данных изображения, поступающих от секции 23 суммирования и затем, после фильтрации, передает декодированные данные изображения в память 25 кадров.
Указанная память 25 кадров сохраняет с использованием носителя записи декодированные данные изображения, поступившие от секции 23 суммирования, и декодированные данные изображения после фильтрации, поступившие от деблокирующего фильтра 24.
Селектор 26 считывает из памяти 25 кадров декодированные данные изображения перед фильтрацией, которые должны быть использованы для внутрикадрового прогнозирования, и передает эти воспроизведенные декодированные данные изображения, в секцию 30 внутрикадрового прогнозирования в качестве данных опорного изображения. Кроме того, селектор 26 считывает из памяти 25 кадров декодированные данные изображения после фильтрации, которые должны быть использованы для межкадрового прогнозирования, и передает эти воспроизведенные декодированные данные изображения в секцию 40 оценки движения в качестве данных опорного изображения.
Указанная секция 30 внутрикадрового прогнозирования осуществляет процедуру внутрикадрового прогнозирования в каждом режиме внутрикадрового прогнозирования на основе подлежащих кодированию данных изображения, поступивших из буфера 12 реорганизации кадров, и декодированных данных изображения, поступивших через селектор 26. Например, секция 30 внутрикадрового прогнозирования оценивает результат прогнозирования в каждом режиме внутрикадрового прогнозирования с использованием заданной целевой функции. Затем эта секция 30 внутрикадрового прогнозирования выбирает режим внутрикадрового прогнозирования, которому соответствует наименьшая величина целевой функции, иными словами, режим внутрикадрового прогнозирования, в котором достигается наибольшая величина коэффициента сжатия, в качестве оптимального режима внутрикадрового прогнозирования. Более того, секция 30 внутрикадрового прогнозирования передает в секцию 50 выбора режима информацию о режиме прогнозирования, указывающую оптимальный режим внутрикадрового прогнозирования, данные прогнозируемого изображения и информацию о режиме внутрикадрового прогнозирования, такую как величина целевой функции.
Секция 40 оценки движения осуществляет процедуру межкадрового прогнозирования (процедуру прогнозирования между кадрами) на основе данных изображения для кодирования, поступающих от буфера 12 реорганизации кадров, и декодированных данных изображения, поступающих через селектор 26. Например, секция 40 оценки движения оценивает результат прогнозирования в каждом режиме прогнозирования с использованием заданной целевой функции. Затем эта секция 40 оценки движения выбирает оптимальный режим прогнозирования, а именно, режим прогнозирования, минимизирующий величину целевой функции или максимизирующий коэффициент сжатия. Эта секция 40 оценки движения передает информацию о режиме межкадрового прогнозирования, такую как информация, связанная с режимом межкадрового прогнозирования, включая информацию о режиме прогнозирования, указывающую оптимальный режим внутрикадрового прогнозирования, данные прогнозируемого изображения и величину целевой функции, в секцию 50 выбора режима.
Эта секция 50 выбора режима сравнивает относящуюся к режиму внутрикадрового прогнозирования величину целевой функции, поступившую из секции 30 внутрикадрового прогнозирования, и относящуюся к режиму межкадрового прогнозирования величину целевой функции, поступившую из секции 40 оценки движения. Затем эта секция 50 выбора режима выбирает способ прогнозирования, которому соответствует меньшая величина целевой функции, среди режимов внутрикадрового прогнозирования и межкадрового прогнозирования. В случае выбора режима внутрикадрового прогнозирования секция 50 выбора режима передает информацию о режиме внутрикадрового прогнозирования в секцию 16 кодирования без потерь, а также передает данные прогнозируемого изображения в секцию 13 вычитания и в секцию 23 суммирования. Кроме того, в случае выбора режима межкадрового прогнозирования секция 50 выбора режима передает информацию о режиме межкадрового прогнозирования, описанную выше, в секцию 16 кодирования без потерь, а также передает данные прогнозируемого изображения в секцию 13 вычитания и в секцию 23 суммирования.
1-2. Пример конфигурации секции ортогонального преобразования и квантования
На фиг.2 представлена блок-схема, иллюстрирующая подробную конфигурацию секции 14 ортогонального преобразования и квантования в составе устройства 10 для кодирования изображения, изображенного на фиг.1. Как показано на фиг.2, секция 14 ортогонального преобразования и квантования включает селекторную секцию 110, секцию 120 ортогонального преобразования, секцию 130 квантования, буфер 140 матриц квантования и секцию 15 обработки матриц.
(1) Селекторная секция
Указанная селекторная секция 110 выбирает единицу преобразования (TU), используемую для ортогонального преобразования данных изображения, подлежащего кодированию, из совокупности нескольких единиц преобразования, имеющих разные размеры. Совокупность размеров-кандидатов для единиц преобразования, которые может выбрать селекторная секция 110, включает размеры 4×4 и 8×8 для стандарта H.264/AVC и размеры 4×4, 8×8, 16×16 и 32×32 для стандарта HEVC. Селекторная секция 110 может выбрать любую из единиц преобразования в соответствии с размером изображения, подлежащего кодирования, качеством этого изображения или характеристиками аппаратуры, например. Пользователь, разрабатывающий аппаратуру, может вручную настроить выбор единиц преобразования посредством селекторной секции 110. Эта селекторная секция 110 передает информацию, указывающую размер выбранной единицы преобразования, в секцию 120 ортогонального преобразования, секцию 130 квантования, секцию 16 кодирования без потерь и секцию 21 обратного квантования.
(2) Секция ортогонального преобразования
Указанная секция 120 ортогонального преобразования осуществляет ортогональное преобразование данных изображения (т.е., данных погрешности прогнозирования), поступающих от секции 13 вычитания, с использованием единицы преобразования, выбранной посредством селекторной секции 110. Ортогональное преобразование, выполняемое секцией 120 ортогонального преобразования, может представлять собой, например, дискретное косинусное преобразование (discrete cosine transform (DCT)) или преобразование Карунена-Лоэва. Эта секция 120 ортогонального преобразования передает данные коэффициентов преобразования, полученные в результате выполнения процедуры ортогонального преобразования, в секцию 130 квантования.
(3) Секция квантования
Указанная секция 130 квантования осуществляет квантование данных коэффициентов преобразования, генерируемых секцией 120 ортогонального преобразования, с использованием матрицы квантования, соответствующей единице преобразования, выбранной посредством селекторной секции 110. Эта секция 130 квантования изменяет скорость передачи выходных квантованных данных путем изменения шага квантования (частоты дискретизации) на основе сигнала управления скоростью от секции 18 управления частотой дискретизации.
Указанная секция 130 квантования позволяет буферу 140 матриц квантования сохранять множества матриц квантования, соответствующих единицам преобразования, выбираемым селекторной секцией 110. Например, стандарт HEVC предлагает кандидаты единиц преобразования четырех типоразмеров, таких как 4×4, 8×8, 16×16 и 32×32. В таком случае буфер 140 матриц квантования может сохранять четыре типа множеств матриц квантования, соответствующие указанным четырем типоразмерам. Возможен случай, когда какой-то конкретный размер использует матрицу квантования по умолчанию, как показано на фиг.19. В таком случае буфер 140 матриц квантования может сохранять только флаг, обозначающий использование матрицы квантования по умолчанию (не используется определяемая пользователем матрица квантования), поставленной в соответствии конкретному размеру.
Множество матриц квантования, которые может использовать секция 130 квантования, может обычно быть конфигурировано для каждой последовательности кодированных потоков. Если для каждой последовательности конфигурировано некое множество матриц квантования, секция 130 квантования может обновлять это множество для каждого кадра. Информация для управления конфигурацией и обновления множества матриц квантования может быть введена в набор параметров последовательности и в набор параметров кадра изображения, например.
(4) Буфер матриц квантования
Указанный буфер 140 матриц квантования использует носитель записи, такой как полупроводниковое запоминающее устройство, для временного хранения множеств матриц квантования, соответствующих единицам преобразования, выбираемым селекторной секцией 110. Процедура, выполняемая секцией 150 обработки матриц, которая будет описана ниже, использует множество матриц квантования, сохраняемое в буфере 140 матриц квантования.
(5) Секция обработки матриц
Указанная секция 150 обработки матриц использует множество матриц квантования, сохраняемое в буфере 140 матриц квантования для каждой последовательности кодированных потоков и каждого кадра, и генерирует информацию для формирования матрицы квантования, соответствующей единице преобразования одного или нескольких размеров, на основе другой матрицы квантования, соответствующей единице преобразования одного размера. Матрицу квантования можно генерировать обычно на основе минимального из размеров единиц преобразования. Если стандарт HEVC предлагает кандидаты единиц преобразования для четырех типоразмеров, таких как 4×4, 8×8, 16×16 и 32×32, то матрицу квантования размером 4×4 можно использовать с целью генерации информации для формирования матриц квантования других размеров. Информация, генерируемая секцией 15 обработки матриц, может включать информацию базовой матрицы и информацию разностной матрицы, что будет рассмотрено позднее. Информацию, генерируемую секцией 150 обработки матриц, передают в секцию 16 кодирования без потерь, причем эта информация может быть вставлена в заголовок кодированного потока.
Настоящее описание рассматривает главным образом пример генерации матрицы квантования большего размера на основе матрицы квантования минимального размера. Однако, не ограничиваясь этим, матрицу квантования меньшего размера и/или большего размера можно генерировать на основе матрицы квантования, размер которой отличается от минимального.
1-3. Подробный пример конфигурации секции обработки матриц
На фиг.3 представлена блок-схема, иллюстрирующая более подробную конфигурацию секции 150 обработки матриц из состава секции 14 ортогонального преобразования и квантования, изображенной на фиг.2. Как показано на фиг.3, секция 150 обработки матриц включает секцию 152 прогнозирования и секцию 154 вычисления разности.
(1) Секция прогнозирования
Указанная секция 152 прогнозирования получает множество матриц квантования, сохраняемое в буфере 140 матриц квантования, и прогнозирует вторую матрицу квантования, имеющую больший размер, на основе первой матрицы квантования, содержащейся в полученном множестве. Например, матрица SL1 квантования размером 4х4 определена следующим образом.
[Математическое выражение 1]
S L 1 = ( a 00 a 10 a 20 a 30 a 01 a 11 a 21 a 31 a 02 a 12 a 22 a 32 a 03 a 13 a 23 a 33