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

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству для обработки изображения и способу обработки изображения.
Уровень техники
Стандарт 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/TEC 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А представляет первую половину логической схемы, иллюстрирующей первый пример процесса кодирования согласно одному из вариантов.
Фиг. 6В представляет вторую половину логической схемы, иллюстрирующей первый пример процесса кодирования согласно одному из вариантов.
Фиг. 7А представляет первую половину логической схемы, иллюстрирующей второй пример процесса кодирования согласно одному из вариантов.
Фиг. 7В представляет вторую половину логической схемы, иллюстрирующей второй пример процесса кодирования согласно одному из вариантов.
Фиг. 8 представляет блок-схему, иллюстрирующую конфигурацию устройства для декодирования изображения согласно одному из вариантов.
Фиг. 9 представляет блок-схему, иллюстрирующую подробную конфигурацию секции обратного квантования и обратного ортогонального преобразования согласно одному из вариантов.
Фиг. 10 блок-схему, иллюстрирующую более подробную конфигурацию секции генератора матриц согласно одному из вариантов.
Фиг. 11А представляет первую половину логической схемы, иллюстрирующей первый пример процесса декодирования согласно одному из вариантов.
Фиг. 11В представляет вторую половину логической схемы, иллюстрирующей первый пример процесса декодирования согласно одному из вариантов.
Фиг. 12А представляет первую половину логической схемы, иллюстрирующей второй пример процесса декодирования согласно одному из вариантов.
Фиг. 12В представляет вторую половину логической схемы, иллюстрирующей второй пример процесса декодирования согласно одному из вариантов.
Фиг. 13А представляет первую половину логической схемы, иллюстрирующей пример процесса кодирования согласно одной из модификаций.
Фиг. 13В представляет вторую половину логической схемы, иллюстрирующей пример процесса кодирования согласно одной из модификаций.
Фиг. 14А представляет первую половину логической схемы, иллюстрирующей пример процесса декодирования согласно одной из модификаций.
Фиг. 14В представляет вторую половину логической схемы, иллюстрирующей пример процесса декодирования согласно одной из модификаций.
Фиг. 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 аналого-цифрового (А/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]
Например, прогнозируемая матрица PSL2 размером 8×8 может быть сформирована посредством секции 152 прогнозирования на основе матрицы SL1 квантования и вычислена следующим образом согласно приведенному ниже выражению (2) прогнозирования.
[Математическое выражение 2]
В соответствии с этим выражением (2) прогнозирования дублирование одного из двух расположенных один рядом с другим элементов матрицы SL1 квантования приводит к созданию прогнозируемой матрицы PSL2, в которой дублированный элемент вставлен между указанными двумя элементами.
Вместо этого, прогнозируемая матрица PSL2 может быть вычислена на основе матрицы SL1 квантования в соответствии с приведенным ниже выражением (3) прогнозирования.
[Математическое выражение 3]
33
В соответствии с выражением (3) прогнозирования линейная интерполяция двух элементов, расположенных один рядом с другим в матрице SL1 квантования позволяет создать прогнозируемую матрицу PSL2, в которой интерполированный элемент вставлен между указанными двумя соседними элементами. Выражение (3) прогнозирования дублирует крайний правый элемент в прогнозируемой матрице PSL2 с использованием соседнего с ним элемента слева. Аналогично, можно использовать линейную экстраполяцию для вычисления нижнего элемента в прогнозируемой матрице PSL2 согласно выражению (3) прогнозирования вместо того, чтобы дублировать соседний элемент непосредственно выше. Например, выражение (3) прогнозирования дает величину а для элемента PSL28.8 в восьмой строке и восьмом столбце прогнозируемой матрицы PSL2. Этот же элемент может быть вычислен следующим образом с применением линейной экстраполяции.
[Математическое выражение 4]
Выражение (2) прогнозирования позволяет генерировать прогнозируемую матрицу PSL2 при меньших вычислительных затратах, чем выражение (3) прогнозирования. Применение выражения (3) прогнозирования может позволить создать «гладкую» прогнозируемую матрицу, в большей степени приближенную к матрице квантования, которая должна быть использована первоначально. Поэтому, использование выражения (3) прогнозирования способно уменьшить объем кодированной информации путем приблизительного обнуления элементов разностной матрицы, которая будет описана ниже.
Оба выражения - и (2), и (3), прогнозирования представляют собой только примеры возможных выражений прогнозирования. Здесь могут быть использованы какие-либо другие выражения прогнозирования.
После генерации прогнозируемой матрицы PSL2 на основе матрицы SL1 квантования указанная секция 152 прогнозирования передает сформированную прогнозируемую матрицу PSL2 в секцию 154 вычисления разности. Например, секция 152 прогнозирования формирует прогнозируемую матрицу PSL3 размером 16×16 на основе матрицы SL2 квантования размером 8×8 из состава множества матриц квантования и передает эту прогнозируемую матрицу PSL3 в секцию 154 вычисления разности. Далее, секция 152 прогнозирования формирует прогнозируемую матрицу PSL4 размером 32×32 на основе матрицы квантования SL3 размером 16×16 из состава множества матриц квантования и передает эту прогнозируемую матрицу PSL4 в секцию 154 вычисления разности. Для формирования прогнозируемых матриц PSL3 и PSL4 можно использовать выражение прогнозирования, эквивалентное приведенным выше выражениям (2) и (3) прогнозирования. Указанная секция 152 прогнозирования передает информацию базовой матрицы в секцию 16 кодирования без потерь. Эта информация базовой матрицы задает матрицу SL1 квантования размером 4×4 в качестве базы для генерации описанных выше прогнозируемых матриц PSL2, PSL3 и PSL4.
(2) Секция вычисления разности
Указанная секция 154 вычисления разности вычисляет разностные матрицы DSL2, DSL3 и DSL4 в соответствии с выражениями с (5) по (7). Каждая из разностных матриц DSL2, DSL3 и DSL4 представляет разность между каждой из прогнозируемых матриц PSL2, PSL3 и PSL4, поступающих от секции 152 прогнозирования, и каждой из соответствующих матриц SL2, SL3 и SL4 квантования.
[Математическое выражение 5]
Секция 154 вычисления разности передает в секцию 16 кодирования без потерь информацию, представляющую разностные матрицы DSL2, DSL3 и DSL4.
Если для некоторого данного размера используется матрица квантования по умолчанию, указанная секция 150 обработки матриц не выполняет прогнозирование и вычисление разности применительно к матрице квантования этого размера. Вместо этого секция 150 обработки матриц передает в секцию 16 кодирования без потерь только флаг, указывающий использование матрицы квантования по умолчанию в ассоциации с соответствующим размером. Если нет разницы между прогнозируемой матрицей и матрицей квантования, секция 154 вычисления разности не передает на выход информацию разностной матрицы, а вместо этого передает в секцию 16 кодирования без потерь только флаг, обозначающий отсутствие разности. Если матрица квантования в момент смены кадра не обновляется, секция 150 обработки матриц может передать в секцию 16 кодирования без потерь только флаг, обозначающий, что матрица квантования не обновляется.
1-4. Примеры информации, подлежащей кодированию
(1) Набор параметров последовательности
На фиг. 4 представлена пояснительная диаграмма, иллюстрирующая информацию, вводимую в набор параметров последовательности согласно рассматриваемому варианту. На фиг. 4 показаны три типа информации, такие как «флаг типа матрицы», «флаг разности» и «информация матрицы (подлежащая кодированию)», в качестве информации, подлежащей кодированию, для каждого размера матрицы квантования или размера единицы преобразования (TU).
Флаг типа указывает для каждого размера, использовать ли определяемую пользователем матрицу квантования или матрицу квантования по умолчанию. Если флаг типа матрицы для некоего размера задан равным 1, для этого размера использована определяемая пользователем матрица квантования. Если флаг типа матрицы для некоего размера задан равным 0, для этого размера использована матрица квантования по умолчанию. Если флаг типа матрицы задан равным 0, не кодируют никакую информацию следующих типов - информацию матрицы, информацию разностной матрицы и флаг разности.
Флаг разности идентифицирует, имеется ли разница между прогнозируемой матрицей и матрицей квантования, если флаг типа матрицы задан равным 1 для каждого размера, чтобы указать определяемую пользователем матрицу квантования. Если флаг типа матрицы для некого размера задан равным 1, имеет место разность между прогнозируемой матрицей и матрицей квантования для этого размера и осуществляют кодирование информации разностной матрицы. Если флаг типа матрицы для некоего размера задан равным 0, информацию разностной матрицы для этого размера не кодируют. Для размера (например, 4×4), служащего базой для прогнозирования, флаг разности не кодируют независимо от флага типа матрицы.
(2) Набор параметров кадра изображения
На фиг. 5 представлена пояснительная диаграмма, иллюстрирующая информацию, вводимую в набор параметров кадра изображения, согласно рассматриваемому варианту. На фиг. 5 показаны четыре типа информации, такой как «флаг обновления», «флаг типа матрицы», «флаг разности» и «информация матрицы (подлежащая кодированию)», в качестве информации, подлежащей кодированию, для каждого размера матрицы квантования или размера единицы преобразования (TU). Указанные флаг типа матрицы и флаг разности имеют такие же значения, как и флаги с такими же названиями в составе наборов параметров последовательности, описанных со ссылками на Фиг. 4.
Указанный флаг обновления обозначает, происходит ли обновление матрицы квантования в момент изменения кадра для каждого размера. Если флаг обновления для некоего размера задан равным 1, происходит обновление матрицы квантования для этого размера. Если флаг обновления задан равным 0, матрица квантования для этого размера не обновляется, а применяется матрица квантования, определенная для предыдущего кадра или текущей последовательности. Если флаг обновления задан равным 0, ни одну из характеристик - ни флаг типа матрицы, ни флаг разности, ни информацию разностной матрицы (или информацию матрицы для размера 4×4), для этого размера не кодируют.
2. Логическая схема процесса кодирования согласно одному из вариантов
На фиг. 6А и 6В представлены логические схемы, иллюстрирующие первый пример процесса кодирования согласно рассматриваемому варианту. Указанные секция 150 обработки матриц и секция 16 кодирования без потерь могут осуществить процедуру, представленную главным образом этими логическими схемами, для каждой последовательности кодированных потоков.
Как показано на фиг. 6А, секция 150 обработки матриц получает множество матриц квантования, используемых для секции 130 квантования в этой последовательности, от буфера 140 матриц квантования (этап S100). В качестве примера предполагается, что множество матриц квантования содержит матрицы квантования, соответствующие размерам 4×4, 8×8, 16×16 и 32×32.
Указанная секция 150 обработки матриц проверяет, является ли матрица квантования размером 4×4 матрицей, определяемой пользователем (этап S102). Если матрица квантования размером 4×4 является матрицей, определяемой пользователем, секция 16 кодирования без потерь осуществляет кодирование информации базовой матрицы, которая представляет матрицу квантования размером 4×4 при флаге типа матрицы, заданном равным 1 (этап S106). Если матрица квантования размером 4×4 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S108).
Указанная секция 150 обработки матриц проверяет, является ли матрица квантования размером 8×8 матрицей, определяемой пользователем (этап S112). Если матрица квантования размером 8×8 представляет собой матрицу, определяемую пользователем, эта секция 150 обработки матриц использует рассмотренные выше выражения (2) или (3) прогнозирования для вычисления прогнозируемой матрицы размером 8×8 на основе матрицы квантования размером 4×4 (этап S114). Упомянутая секция 16 кодирования без потерь кодирует флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 8×8 и вычисленной прогнозируемой матрицей (этап S116). Если матрица квантования размером 8×8 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S118).
Как показано на фиг. 6В, секция 150 обработки матриц проверяет, является ли матрица квантования размером 16×16 матрицей, определяемой пользователем (этап S122). Если матрица квантования размером 16×16 представляет собой матрицу, определяемую пользователем, эта секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 16×16 на основе матрицы квантования размером 8×8 (этап S124). Упомянутая секция 16 кодирования без потерь кодирует флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 16×16 и вычисленной прогнозируемой матрицей (этап S126). Если матрица квантования размером 16×16 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S128).
Указанная секция 150 обработки матриц проверяет, является ли матрица квантования размером 32×32 матрицей, определяемой пользователем (этап S132). Если матрица квантования размером 32×32 представляет собой матрицу, определяемую пользователем, эта секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 32×32 на основе матрицы квантования размером 16×16 (этап S134). Упомянутая секция 16 кодирования без потерь кодирует флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 32×32 и вычисленной прогнозируемой матрицей (этап S136). Если матрица квантования размером 32×32 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S138).
На фиг. 7А и 7В представлены логические схемы, иллюстрирующие второй пример процедуры кодирования согласно рассматриваемому варианту. Указанные секция 150 обработки матриц и секция 16 кодирования без потерь могут осуществить процедуру, представленную логическими схемами, главным образом применительно к каждому кадру, соответствующему последовательности кодированных потоков.
Как показано на фиг. 7А, секция 150 обработки матриц получает множество матриц квантования, используемых для секции 130 квантования в этом кадре, от буфера 140 матриц квантования (этап S150). Аналогично примерам, изображенным на фиг. 6А и 6В, предполагается, что множество матриц квантования содержит матрицы квантования, соответствующие размерам 4×4, 8×8, 16×16 и 32×32.
Указанная секция 150 обработки матриц определяет, происходит ли обновление матрицы квантования размером 4×4 в рассматриваемом кадре (этап S152). Если обновление матрицы квантования не происходит, секция 16 кодирования без потерь кодирует только флаг обновления, заданный равным 0 (этап S158). Если матрица квантования обновляется, процедура переходит к этапу S154. Если матрица квантования обновляется, секция 150 обработки матриц проверяет, является ли новая матрица квантования размером 4×4 матрицей, определяемой пользователем (этап S154). Если матрица квантования размером 4×4 является матрицей, определяемой пользователем, секция 16 кодирования без потерь кодирует информацию базовой матрицы, которая представляет матрицу квантования размером 4×4 при флаге обновления, заданном равном 1, и флаге типа матрицы, заданном равным 1 (этап S156). Если матрица квантования размером 4×4 представляет собой матрицу по умолчанию, секция 16 кодирования без потерь кодирует флаг обновления, заданный равным 1, и флаг типа матрицы, заданный равным 0 (этап S158).
Указанная секция 150 обработки матриц определяет, происходит ли обновление матрицы квантования размером 8×8 в рассматриваемом кадре (этап S160). Если обновление матрицы квантования не происходит, секция 16 кодирования без потерь кодирует только флаг обновления, заданный равным 0 (этап S168). Если матрица квантования обновляется, процедура переходит к этапу S162. Если матрица квантования обновляется, секция 150 обработки матриц проверяет, является ли матрица квантования размером 8×8 матрицей, определяемой пользователем (этап S162). Если матрица квантования размером 8×8 является матрицей, определяемой пользователем, секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 8×8 на основе матрицы квантования размером 4×4 для нового кадра независимо от того, произошло ли обновление матрицы квантования размером 4×4 (этап S164). Указанная секция 16 кодирования без потерь кодирует флаг обновления (=1), флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 8×8 и вычисленной прогнозируемой матрицей (этап S166). Если матриц квантования размером 8×8 представляет собой матрицу по умолчанию, секция 16 кодирования без потерь кодирует флаг обновления, заданный равным 1, и флаг типа матрицы, заданный равным 0 (этап S168).
Как показано на фиг. 7В, указанная секция 150 обработки матриц определяет, происходит ли обновление матрицы квантования размером 16×16 в рассматриваемом кадре (этап S170). Если обновление матрицы квантования не происходит, секция 16 кодирования без потерь кодирует только флаг обновления, заданный равным 0 (этап S178). Если матрица квантования обновляется, процедура переходит к этапу S172. Если матрица квантования обновляется, секция 150 обработки матриц проверяет, является ли матрица квантования размером 16×16 матрицей, определяемой пользователем (этап S172). Если матрица квантования размером 16×16 является матрицей, определяемой пользователем, секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 16×16 на основе матрицы квантования размером 8×8 для нового кадра независимо от того, произошло ли обновление матрицы квантования размером 8×8 (этап S174). Упомянутая секция 16 кодирования без потерь кодирует флаг обновления (=1), флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 16×16 и вычисленной прогнозируемой матрицей (этап S176). Если матрица квантования размером 16×16 представляет собой матрицу по умолчанию, секция 16 кодирования без потерь кодирует флаг обновления, заданный равным 1, и флаг типа матрицы, заданный равным 0 (этап S178).
Указанная секция 150 обработки матриц определяет, происходит ли обновление матрицы квантования размером 32×32 в рассматриваемом кадре (этап S180). Если обновление матрицы квантования не происходит, секция 16 кодирования без потерь кодирует только флаг обновления, заданный равным 0 (этап S188). Если матрица квантования обновляется, процедура переходит к этапу S182. Если матрица квантования обновляется, секция 150 обработки матриц проверяет, является ли матрица квантования размером 32×32 матрицей, определяемой пользователем (этап S182). Если матрица квантования размером 32×32 является матрицей, определяемой пользователем, секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 32×32 на основе матрицы квантования размером 16×16 для нового кадра независимо от того, произошло ли обновление матрицы квантования размером 16×16 (этап S184). Упомянутая секция 16 кодирования без потерь кодирует флаг обновления (=1), флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 32×32 и вычисленной прогнозируемой матрицей (этап S186). Если матрица квантования размером 32×32 представляет собой матрицу по умолчанию, секция 16 кодирования без потерь кодирует флаг обновления, заданный равным 1, и флаг типа матрицы, заданный равным 0 (этап S188).
Способ прогнозирования матриц квантования на основе одной матрицы квантования позволяет исключить необходимость передавать несколько матриц квантования, соответствующих нескольким размерам единиц преобразования, от кодирующей стороны на декодирующую сторону. Тем самым можно эффективно исключить или ослабить увеличение объема кода даже при возрастании числа матриц квантования.
3. Примеры конфигурации устройства для декодирования изображения согласно одному из вариантов
Далее следует описание примеров конфигурации устройства для декодирования изображения согласно одному из вариантов.
3-1. Пример общей конфигурации
На фиг. 8 представлена блок-схема, изображающая пример конфигурации устройства 60 для декодирования изображения согласно одному из вариантов. Как показано на фиг. 8, устройство 60 для декодирования изображения включает накопительный буфер 61, секцию 62 декодирования без потерь, секцию 63 обратного квантования и обратного ортогонального преобразования, секцию 65 суммирования, деблокирующий фильтр 66, буфер 67 реорганизации кадров, секцию 68 цифро-аналогового (D/A) преобразования, память 69 кадров, селекторы 70 и 71, секцию 80 внутрикадрового прогнозирования и секцию 90 компенсации движения.
Указанный накопительный буфер 61 временно сохраняет кодированный поток, поступивший по линии передачи, с использованием носителя записи.
Указанная секция 62 декодирования без потерь декодирует кодированный поток, поступивший из накопительного буфера 61, в соответствии с системой кодирования, использованной для кодирования этого потока. Эта секция 62 декодирования без потерь декодирует информацию, мультиплексированную в области заголовка кодированных потоков. Указанная информация, мультиплексированная в области заголовка кодированных потоков, может включать информацию базовой матрицы и информацию разностной матрицы для генерации описанной выше матрицы квантования и информацию относительно внутрикадрового прогнозирования и межкадрового прогнозирования в заголовке блока. Секция 62 декодирования без потерь передает в секцию 63 обратного квантования и обратного ортогонального преобразования информацию для генерации квантованных данных и матрицы квантования после декодирования. Эта секция 62 декодирования без потерь передает в секцию 80 внутрикадрового прогнозирования информацию о внутрикадровом прогнозировании. Секция 62 декодирования без потерь передает в секцию 90 компенсации движения информацию о межкадровом прогнозировании.
Указанная секция 63 обратного квантования и обратного ортогонального преобразования осуществляет обратное квантование и обратное ортогональное преобразование применительно к квантованным данным, поступающим от секции 62 декодирования без потерь, с целью генерации данных погрешности прогнозирования. Эта секция 63 обратного квантования и обратного ортогонального преобразования передает сформированные ею данные погрешности прогнозирования в секцию 65 суммирования.
Указанная секция 65 суммирования осуществляет суммирование данных погрешности прогнозирования, поступивших от секции 63 обратного квантования и обратного ортогонального преобразования, с данными прогнозируемого изображения, поступившими от селектора 71, для генерации декодированных данных изображения. Затем секция 65 суммирования передает сформированные декодированные данные изображения в деблокирующий фильтр 66 и в память 69 кадров.
Указанный деблокирующий фильтр 66 устраняет искажения блоков путем фильтрации декодированных данных изображения, поступивших от секции 65 суммирования, и затем, после фильтрации, передает декодированные данные изображения в буфер 67 реорганизации кадров и в память 69 кадров.
Указанный буфер 67 реорганизации кадров генерирует ряд данных изображения во временной последовательности путем изменения порядка (реорганизации) изображений кадров, поступающих от деблокирующего фильтра 66. Затем этот буфер 67 реорганизации кадров передает сформированные данные изображения в секцию 68 цифро-аналогового преобразования.
Указанная секция 68 цифро-аналогового преобразования осуществляет преобразование данных изображения в цифровом формате, поступающих от буфера 67 реорганизации кадров, в сигнал изображения в аналоговом формате. Затем секция 68 цифро-аналогового преобразования обеспечивает представление изображения на дисплее путем передачи аналогового сигнала изображения дисплею (не показан), соединенному с устройством 60 для декодирования изображения, например.
Указанная память 69 кадров использует носитель записи для сохранения декодированных данных изображения, поступающих от секции 65 суммирования, до фильтрации и декодированных данных изображения, поступающих от деблокирующего фильтра 66, после фильтрации.
Селектор 70 переключает пункт назначения для передачи данных изображения из памяти 69 кадров между секцией 80 внутрикадрового прогнозирования и секцией 90 компенсации движения для каждого блока в составе изображения в соответствии с информацией о режиме, полученной секцией 62 декодирования без потерь. Например, если задан режим внутрикадрового прогнозирования, селектор 70 передает декодированные данные изображения до фильтрации, поступающие из памяти 69 кадров, в секцию 80 внутрикадрового прогнозирования в качестве данных опорного изображения. Кроме того, если задан режим межкадрового прогнозирования, селектор 70 передает декодированные данные изображения после фильтрации, поступающие из памяти 69 кадров, в секцию 90 компенсации движения в качестве данных опорного изображения.
Указанный селектор 71 переключает источник данных для передачи данных прогнозируемого изображения, которые нужно направить в секцию 65 суммирования, между секцией 80 внутрикадрового прогнозирования и секцией 90 компенсации движения для каждого блока в составе изображения в соответствии с информацией о режиме, полученной секцией 62 декодирования без потерь. Например, если задан режим внутрикадрового прогнозирования, этот селектор 71 передает в секцию 65 суммирования данные прогнозируемого изображения с выхода секции 80 внутрикадрового прогнозирования. Если задан режим межкадрового прогнозирования, селектор 71 передает в секцию 65 суммирования данные прогнозируемого изображения с выхода секции 90 компенсации движения.
Указанная секция 80 внутрикадрового прогнозирования осуществляет прогнозирование величины пиксела в пределах экрана на основе информации о режиме внутрикадрового прогнозирования, поступившей от секции 62 декодирования без потерь, и данных опорного изображения, поступивших из памяти 69 кадров, и генерирует данные прогнозируемого изображения. Затем эта секция 80 внутрикадрового прогнозирования передает сформированные данные прогнозируемого изображения селектору 71.
Указанная секция 90 компенсации движения осуществляет процедуру компенсации движения на основе информации о режиме межкадрового прогнозирования, поступившей от секции 62 декодирования без потерь, и данных опорного изображения, поступающих из памяти 69 кадров, и генерирует данные прогнозируемого изображения. Затем эта секция 90 компенсации движения передает сформированные данные прогнозируемого изображения селектору 71.
3-2. Пример конфигурации секции обратного квантования и обратного ортогонального преобразования
На фиг. 9 представлена блок-схема, иллюстрирующая подробную конфигурацию секции 63 обратного квантования и обратного ортогонального преобразования в составе устройства 60 для декодирования изображения, показанного на фиг. 8. Как изображено на фиг. 9, эта секция 63 обратного квантования и обратного ортогонального преобразования включает секцию 210 генератора матриц, селекторную секцию 230, секцию 240 обратного квантования и секцию 250 обратного ортогонального преобразования.
(1) Секция генератора матриц
Указанная секция 210 генератора матриц осуществляет генерацию матрицы квантования, соответствующей единицам преобразования, представляющим один или несколько размеров, на основе матрицы квантования, соответствующей единице преобразования, представляющей один размер, для каждой последовательности кодированных потоков и каждого кадра. Матрицу квантования обычно можно генерировать на основе минимального из размеров единиц преобразования. Согласно рассматриваемому варианту эта секция 210 генератора матриц генерирует матрицы квантования с размерами 8×8, 16×16 и 32×32 на основе матрицы квантования размером 4×4 в качестве матрицы минимального размера с использованием информации разностных матриц относительно больших размеров.
(2) Селекторная секция
Указанная селекторная секция 230 выбирает единицу преобразования (TU), используемую для обратного ортогонального преобразования данных изображения, подлежащих декодированию, из совокупности нескольких единиц преобразования, имеющих разные размеры. Совокупность размеров-кандидатов для единиц преобразования, из которой должна выбрать размер селекторная секция 230, включает размеры 4×4 и 8×8 для стандарта H.264/AVC и размеры 4×4, 8×8, 16×16 и 32×32 для стандарта HEVC. Эта селекторная секция 230 может выбрать единицу преобразования на основе параметров LCU, SCU и split_flag, содержащихся в заголовке кодированного потока. Эта селекторная секция 230 передает информацию, указывающую размер выбранной единицы преобразования, в секцию 240 обратного квантования и в секцию 250 обратного ортогонального преобразования.
(3) Секция обратного квантования
Указанная секция 240 обратного квантования использует матрицу квантования, соответствующую единице преобразования, выбранной селекторной секцией 230, с целью обратного квантования данных коэффициентов преобразования, квантованных в процессе кодирования изображения. Совокупность матриц квантования, используемых для обратного квантования, содержит матрицу, генерируемую в секции 210 генератора матриц. Например, селекторная секция 230 может выбрать единицу преобразования размером 8×8, 16×16 или 32×32. В таком случае выбранная единица преобразования может соответствовать матрице квантования, которую секция 210 генератора матриц формирует на основе матрицы квантования размером 4×4. Эта секция 240 обратного квантования передает в секцию 250 обратного ортогонального преобразования данные коэффициентов преобразования, прошедшие обратное квантование.
(4) Секция обратного ортогонального преобразования
Указанная секция 250 обратного ортогонального преобразования генерирует данные погрешности прогнозирования в соответствии с системой ортогонального преобразования, использованной для кодирования. С этой целью секция 250 обратного ортогонального преобразования использует выбранную единицу преобразования для осуществления обратного ортогонального преобразования применительно к данным коэффициентов преобразования, прошедшим обратное квантование в секции 240 обратного квантования. Эта секция 250 обратного ортогонального преобразования передает сформированные ею данные погрешности прогнозирования в секцию 65 суммирования.
3-3. Пример подробной конфигурации секции генератора матриц
На фиг. 10 представлена блок-схема, иллюстрирующая более подробную конфигурацию секции 210 генератора матриц из состава секции 63 обратного квантования и обратного ортогонального преобразования, изображенной на фиг. 9. Как показано на фиг. 10, эта секция 210 генератора матриц включает секцию 212 получения базовой матрицы, секцию 214 получения разности, секцию 216 прогнозирования, секцию 218 реконструкции и буфер 220 матриц квантования.
(1) Секция получения базовой матрицы
Указанная секция 212 получения базовой матрицы получает информацию базовой матрицы, поступающую от секции 62 декодирования без потерь. Как описано выше, эта информация базовой матрицы согласно рассматриваемому варианту обозначает матрицу SL1 квантования размером 4×4 в качестве матрицы минимального размера. Эта секция 212 получения базовой матрицы позволяет буферу 220 матриц квантования сохранить матрицу SL1 квантования размером 4×4, обозначенную в качестве информации базовой матрицы. Если заданный равным 0 флаг типа матрицы получен для каждой последовательности или кадра, секция 212 получения базовой матрицы позволяет буферу 220 матриц квантования сохранить матрицу квантования размером 4×4 по умолчанию без получения информации базовой матрицы. Если заданный равным 0 флаг обновления получен для каждого кадра, секция 212 получения базовой матрицы не обновляет матрицу SL1 квантования, сохраненную в буфере 220 матриц квантования во время предшествующей процедуры. Эта секция 212 получения базовой матрицы передает матрицу SL1 квантования размером 4×4 в секцию 216 прогнозирования.
(2) Секция получения разности
Указанная секция 214 получения разности получает информацию разностной матрицы, поступающую от секции 62 декодирования без потерь. Как описано выше, информация разностной матрицы согласно рассматриваемому варианту специфицирует разностные матрицы DSL2, DSL3 и DSL4, каждая из которых представляет разность между каждой из прогнозируемых матриц PSL2, PSL3 и PSL4, полученных на основе матрицы SL1 квантования размером 4×4, и каждой из матриц SL2, SL3 и SL4, квантования, соответственно. Эта секция 214 получения разности передает в секцию 218 реконструкции разностные матрицы DSL2, DSL3 и DSL4, специфицированные в составе информации разностной матрицы. Если заданный равным 0 флаг типа матрицы получен для каждой последовательности или кадра, либо получен флаг разности, заданный равным 0, секция 214 получения разности определяет, что разностная матрица соответствующего размера является нулевой, без получения информации разностной матрицы. Если заданный равным 0 флаг обновления получен для каждого кадра, секция 214 получения разности не передает на выход разностную матрицу соответствующего размера.
(3) Секция прогнозирования
Указанная секция 216 прогнозирования следует выражению прогнозирования, использованному при кодировании, такому как выражение (2) или (3) прогнозирования, описанное выше, для вычисления прогнозируемой матрицы PSL2 размером 8×8, имеющей больший размер, на основе базовой матрицы, такой как матрица SL1 квантования размером 4×4 согласно рассматриваемому варианту, поступающей от секции 212 получения базовой матрицы. Эта секция 216 прогнозирования использует вычисленную прогнозируемую матрицу PSL2 размером 8×8 для вычисления прогнозируемой матрицы PSL3 размером 16×16 на основе матрицы SL2 квантования, реконструированной посредством секции 218 реконструкции. Далее, секция 216 прогнозирования использует вычисленную прогнозируемую матрицу PSL3 размером 16×16 для вычисления прогнозируемой матрицы PSL4 размером 32×32 на основе матрицы SL3 квантования, реконструированной посредством секции 218 реконструкции. Указанная секция 216 прогнозирования передает в секцию 218 реконструкции прогнозируемые матрицы PSL2, PSL3 и PSL4. Эта секция 216 прогнозирования не генерирует никакой прогнозируемой матрицы для размера, для которого флаг типа матрицы задан равным 0, и использует матрицу квантования по умолчанию для вычисления прогнозируемых матриц, имеющих большие размеры. Секция 212 получения базовой матрицы не генерирует никакой прогнозируемой матрицы для размера, для которого флаг обновления задан равным 0, и использует матрицу квантования, сформированную в результате предшествующей процедуры, для вычисления прогнозируемых матриц, имеющих большие размеры.
(4) Секция реконструкции
Указанная секция 218 реконструкции осуществляет реконструкцию матриц SL2, SL3 и SL4 квантования путем суммирования прогнозируемых матриц PSL2, PSL3 и PSL4, поступающих от секции 216 прогнозирования, с соответствующими разностными матрицами DSL2, DSL3 и DSL4, поступающими от секции 214 получения разности.
[Математическое выражение 6]
Эта секция 218 реконструкции позволяет буферу 220 матрицы квантования сохранить реконструированные матрицы SL2, SL3 и SL4 квантования, имеющие размеры 8×8, 16×16 и 32×32. Если заданный равным 0 флаг типа матрицы получен для каждой последовательности или каждого кадра, секция 218 реконструкции позволяет буферу 220 матриц квантования сохранить матрицу квантования по умолчанию в качестве матрицы квантования, имеющей соответствующий размер. Если заданный равным 0 флаг обновления получен для каждого кадра, указанная секция 212 получения базовой матрицы не обновляет матрицу SL2, SL3 или SL4 квантования, имеющую соответствующий размер и сохраненную в буфере 220 матриц квантования во время предшествующей процедуры.
(5) Буфер матриц квантования
Указанный буфер 220 матриц квантования временно сохраняет матрицу SL1 квантования, заданную секцией 212 получения базовой матрицы и матрицы SL2, SL3 и SL4 квантования, реконструированные секцией 218 реконструкции. Матрицы SL1, SL2, SL3 и SL4 квантования, сохраняемые в буфере 220 матриц квантования, используют для секции 240 обратного квантования с целью осуществить обратное квантование применительно к квантованным данным коэффициентов преобразования.
Конфигурация секции 63 обратного квантования и обратного ортогонального преобразования в составе устройства 60 для декодирования изображения, описанная выше, применима также к секции 21 обратного квантования и секции 22 обратного ортогонального преобразования в составе устройства 10 для декодирования изображения, показанного на фиг. 1.
4. Логическая схема процесса декодирования согласно одному из вариантов
На фиг. 11А и 11В представлены логические схемы, иллюстрирующие первый пример процедуры декодирования согласно рассматриваемому варианту. Указанная секция 210 генератора матриц может осуществить процедуру, представленную этими логическими схемами преимущественно, применительно к каждой последовательности кодированных потоков.
Как показано на фиг. 11А, секция 210 генератора матриц проверяет флаг типа матрицы, содержащийся в наборе параметров последовательности, чтобы выяснить, является ли матрица квантования размером 4×4 матрицей, определяемой пользователем (этап S202). Если матрица квантования размером 4×4 является матрицей, определяемой пользователем, эта секция 210 генератора матриц использует информацию базовой матрицы, чтобы задать матрицу квантования размером 4×4, а именно, сохранить эту матрицу в буфере 220 матриц квантования (этап S204). Если матрица квантования размером 4×4 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию размером 4×4 (этап S206).
Указанная секция 210 генератора матриц проверяет, является ли матрица квантования размером 8×8 матрицей, определяемой пользователем (этап S212). Если матрица квантования размером 8×8 является матрицей, определяемой пользователем, секция 210 генератора матриц использует описанное выше выражение (2) или (3) прогнозирования с целью вычисления прогнозируемой матрицы размером 8×8 на основе матрицы квантования размером 4×4 и суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 8×8. В результате, оказывается реконструирована матрица квантования размером 8×8 (этап S214). Если флаг разности для размера 8×8 задан равным 0, разностная матрица является нулевой. Прогнозируемая матрица размером 8×8 может быть непосредственно задана в качестве матрицы квантования. Если матрица квантования размером 8×8 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию размером 8×8 (этап S216).
Как показано на фиг. 11В, указанная секция 210 генератора матриц проверяет, является ли матрица квантования размером 16×16 матрицей, определяемой пользователем (этап S222). Если матрица квантования размером 16×16 является матрицей, определяемой пользователем, секция 210 генератора матриц вычисляет прогнозируемую матрицу размером 16×16 на основе матрицы квантования размером 8×8 и суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 16×16. В результате, оказывается реконструирована матрица квантования размером 16×16 (этап S224). Если флаг разности для размера 16×16 задан равным 0, разностная матрица является нулевой. Прогнозируемая матрица размером 16×16 может быть непосредственно задана в качестве матрицы квантования. Если матрица квантования размером 16×16 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию размером 16×16 (этап S226).
Указанная секция 210 генератора матриц проверяет, является ли матрица квантования размером 32×32 матрицей, определяемой пользователем (этап S232). Если матрица квантования размером 32×32 является матрицей, определяемой пользователем, секция 210 генератора матриц вычисляет прогнозируемую матрицу размером 32×32 на основе матрицы квантования размером 16×16 и суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 32×32. В результате, оказывается реконструирована матрица квантования размером 32×32 (этап S234). Если флаг разности для размера 32×32 задан равным 0, разностная матрица является нулевой. Прогнозируемая матрица размером 32×32 может быть непосредственно задана в качестве матрицы квантования. Если матрица квантования размером 32×32 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию размером 32×32 (этап S236).
На фиг. 12А и 12В представлены логические схемы, иллюстрирующие второй пример процедуры декодирования согласно рассматриваемому варианту. Указанная секция 210 генератора матриц может осуществлять процедуру, представленную этими логическими схемами, преимущественно для каждого кадра в кодированном потоке.
Как показано на фиг. 12А, секция 210 генератора матриц проверяет флаг обновления, содержащийся в наборе параметров кадра изображения, чтобы выяснить, происходит ли обновление матрицы квантования размером 4×4 в рассматриваемом кадре (этап S250). Если обновления матрицы квантования размером 4×4 не происходит, процедура пропускает этапы с S252 по S256. Если матрица квантования размером 4×4 обновляется, секция 210 генератора матриц проверяет флаг типа матрицы, чтобы выяснить, является ли новая матрица квантования размером 4×4 матрицей, определяемой пользователем (этап S252). Если матрица квантования размером 4×4 является матрицей, определяемой пользователем, секция 210 генератора матриц задает матрицу квантования размером 4×4 с использованием информации базовой матрицы (этап S254). Если матрица квантования размером 4×4 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию размером 4×4 (этап S256).
Указанная секция 210 генератора матриц проверяет флаг обновления, чтобы выяснить, происходит ли обновление матрицы квантования размером 8×8 в рассматриваемом кадре (этап S260). Если обновления матрицы квантования размером 8×8 не происходит, процедура пропускает этапы с S262 по S266. Если матрица квантования размером 8×8 обновляется, секция 210 генератора матриц проверяет флаг типа матрицы, чтобы выяснить, является ли новая матрица квантования размером 8×8 матрицей, определяемой пользователем (этап S262). Если матрица квантования размером 8×8 является матрицей, определяемой пользователем, секция 210 генератора матриц вычисляет прогнозируемую матрицу размером 8×8 на основе матрицы квантования размером 4×4 для нового кадра независимо от того, происходит ли обновление матрицы квантования размером 4×4. Эта секция 210 генератора матриц затем суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 8×8. В результате, матрица квантования размером 8×8 оказывается реконструирована (этап S264). Если флаг разности для размера 8×8 задан равным 0, разностная матрица является нулевой. Прогнозируемая матрица размером 8×8 может быть непосредственно задана в качестве матрицы квантования. Если матрица квантования размером 8×8 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию размером 8×8 (этап S266).
Как показано на фиг. 12В, указанная секция 210 генератора матриц проверяет флаг обновления, чтобы выяснить, происходит ли обновление матрицы квантования размером 16×16 в рассматриваемом кадре (этап S270). Если обновления матрицы квантования размером 16×16 не происходит, процедура пропускает этапы с S272 по S276. Если матрица квантования размером 16×16 обновляется, секция 210 генератора матриц проверяет флаг типа матрицы, чтобы выяснить, является ли новая матрица квантования размером 16×16 матрицей, определяемой пользователем (этап S272). Если матрица квантования размером 16×16 является матрицей, определяемой пользователем, секция 210 генератора матриц вычисляет прогнозируемую матрицу размером 16×16 на основе матрицы квантования размером 8×8 для нового кадра независимо от того, происходит ли обновление матрицы квантования размером 8×8. Эта секция 210 генератора матриц затем суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 16×16. В результате, матрица квантования размером 16×16 оказывается реконструирована (этап S274). Если флаг разности для размера 16×16 задан равным 0, разностная матрица является нулевой. Прогнозируемую матрицу размером 16×16 задают непосредственно в качестве матрицы квантования. Если матрица квантования размером 16×16 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию квантования размером 16×16 (этап S276).
Указанная секция 210 генератора матриц проверяет флаг обновления, чтобы выяснить, происходит ли обновление матрицы квантования размером 32×32 в рассматриваемом кадре (этап S280). Если обновления матрицы квантования размером 32×32 не происходит, процедура пропускает этапы с S282 по S286. Если матрица квантования размером 32×32 обновляется, секция 210 генератора матриц проверяет флаг типа матрицы, чтобы выяснить, является ли новая матрица квантования размером 32×32 матрицей, определяемой пользователем (этап S282). Если матрица квантования размером 32×32 является матрицей, определяемой пользователем, секция 210 генератора матриц вычисляет прогнозируемую матрицу размером 32×32 на основе матрицы квантования размером 16×16 для нового кадра независимо от того, происходит ли обновление матрицы квантования размером 16×16. Эта секция 210 генератора матриц затем суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 32×32. В результате, матрица квантования размером 32×32 оказывается реконструирована (этап S284). Если флаг разности для размера 32×32 задан равным 0, разностная матрица является нулевой. Прогнозируемую матрицу 32×32 задают непосредственно в качестве матрицы квантования. Если матрица квантования размером 32×32 является матрицей по умолчанию, секция 210 генератора матриц задает матрицу квантования по умолчанию размером 32×32 (этап S286).
На декодирующей стороне можно адекватно реконструировать матрицу квантования с использованием способа прогнозирования матриц квантования на основе одной матрицы квантования, даже если кодирующая сторона передает декодирующей стороне только разностную информацию относительно матрицы квантования, которую нужно прогнозировать. Здесь можно эффективно уменьшить увеличение объема кода, даже если число матриц квантования возрастает.
В настоящем описании рассмотрен пример задания одного типа матрицы квантования для одного размера единиц преобразования. Однако, не ограничиваясь этим, несколько типов матриц квантования могут быть заданы для одного размера единицы преобразования. В таком случае набор параметров последовательности и набор параметров кадра изображения могут содержать дополнительный флаг, указывающий, что несколько типов матриц квантования необходимо использовать в качестве основы для прогнозирования матрицы квантования большего размера. Может оказаться предпочтительным задать несколько типов матриц квантования для одного размера единицы преобразования и избирательно переходить от одной матрицы квантования к другой для каждого среза или блока в пределах кадра.
5. Модификации
Как описано выше, технология, рассматриваемая в настоящем описании, может быть реализована путем прогнозирования матрицы квантования меньшего размера на основе матриц квантования большего размера. Например, матрица SL2 квантования размером 8×8 определена следующим образом.
[Математическое выражение 7]
Например, секция 152 прогнозирования в составе секции 14 ортогонального преобразования и квантования в устройстве 10 для кодирования изображения вычисляет прогнозируемую матрицу PSL1 размером 4×4 на основе матрицы SL2 согласно выражению (12) прогнозирования следующим образом.
[Математическое выражение 8]
Как показано в выражении (12) прогнозирования, приведенная в нем прогнозируемая матрица PSL1 получена путем вычеркивания элементов матрицы SL2 квантования, расположенных в каждой второй строке и в каждом втором столбец. Элементы, которые должны быть вычеркнуты, могут быть расположены иначе, чем в примере, иллюстрируемом выражением (12) прогнозирования. Увеличение числа элементов, подлежащих вычеркиванию, может привести к образованию прогнозируемой матрицы, в которой размер каждой стороны составляет одну четверть или даже меньшую долю размера стороны матрицы квантования.
Вместо этого, прогнозируемую матрицу PSL1 можно вычислить на основе матрицы SL2 квантования в соответствии с выражением (13) прогнозирования, приведенным ниже.
[Математическое выражение 9]
Как показано в выражении (13) прогнозирования, приведенная в нем прогнозируемая матрица PSL1 получена путем вычисления среднего четырех элементов, соседствующих один с другим по вертикали и по горизонтали в матрице SL2 квантования, и использования этого среднего в качестве одного элемента прогнозируемой матрицы PSL1. Усреднение большего числа элементов (например, 16 элементов), соседствующих один с другим по вертикали и по горизонтали, может привести к генерации прогнозируемой матрицы, размер стороны которой равен одной четверти размера стороны порождающей матрицы квантования или меньше этой четверти. Вместо средних величин, примененных в выражении (13) прогнозирования, могут быть использованы другие репрезентативные величины, такие как центральная величина, минимальная величина или максимальная величина, вычисляемые на основе этих элементов.
Прогнозируемая матрица меньшего размера может быть вычислена на основе матрицы квантования большего размера. Кроме того, в подобном случае секция 154 вычисления разности вычисляет разностную матрицу, представляющую разность между прогнозируемой матрицей, поступающей от секции 152 прогнозирования, и соответствующей матрицей квантования и передает в секцию 16 кодирования без потерь информацию разностной матрицы, представляющей вычисленную разностную матрицу. Указанная секция 210 генератора матриц в составе секции 63 обратного квантования и обратного ортогонального преобразования в устройстве 60 для декодирования изображения генерирует матрицу квантования, имеющую меньший размер, на основе матрицы квантования, специфицированной в информации базовой матрицы, с использованием какого-либо из приведенных выше выражений прогнозирования и информации разностной матрицы.
На фиг. 13А и 13В представлены логические схемы, иллюстрирующие пример процедуры кодирования согласно одной из модификаций. Указанные секция 150 обработки матриц и секция 16 кодирования без потерь могут осуществлять процедуру, представленную логическими схемами, предпочтительно для каждой последовательности кодированных потоков.
Как показано на фиг. 13А, указанная секция 150 обработки матриц получает множество матриц квантования, используемых для секции 130 квантования в этой последовательности, из буфера 140 матриц квантования (этап S300). В качестве примера, предполагается, что множество матриц квантования содержит матрицы квантования, соответствующие размерам 4×4, 8×8, 16×16 и 32×32.
Секция 150 обработки матриц проверяет, является ли матрица квантования размером 32×32 матрицей, определяемой пользователем (этап S302). Если матрица квантования размером 32×32 является матрицей, определяемой пользователем, секция 16 кодирования без потерь кодирует информацию базовой матрицы, представляющую матрицу квантования размером 32×32, для которой флаг типа матрицы задан равным 1 (этап S306). Если матрица квантования размером 32×32 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S308).
Указанная секция 150 обработки матриц проверяет, является ли матрица квантования размером 16×16, матрицей, определяемой пользователем (этап S312). Если матрица квантования размером 16×16 является матрицей, определяемой пользователем, секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 16×16 на основе матрицы квантования размером 32×32 в соответствии с выражением (12) или (13) прогнозирования, описанным выше (этап S314). Секция 16 кодирования без потерь кодирует флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 16×16 и вычисленной прогнозируемой матрицей (этап S316). Если матрица квантования размером 16×16 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S318).
Как показано на фиг. 13В, указанная секция 150 обработки матриц проверяет, является ли матрица квантования размером 8×8 матрицей, определяемой пользователем (этап S322). Если матрица квантования размером 8×8 является матрицей, определяемой пользователем, секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 8×8 на основе матрицы квантования размером 16×16 (этап S324). Секция 16 кодирования без потерь кодирует флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 8×8 и вычисленной прогнозируемой матрицей (этап S326). Если матрица квантования размером 8×8 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S328).
Указанная секция 150 обработки матриц проверяет, является ли матрица квантования размером 4×4 матрицей, определяемой пользователем (этап S332). Если матрица квантования размером 4×4 является матрицей, определяемой пользователем, секция 150 обработки матриц вычисляет прогнозируемую матрицу размером 4×4 на основе матрицы квантования размером 8×8 (этап S334). Секция 16 кодирования без потерь кодирует флаг типа матрицы (=1), флаг разности и информацию разностной матрицы (если таковая имеется), указывающую разность между матрицей квантования размером 4×4 и вычисленной прогнозируемой матрицей (этап S336). Если матрица квантования размером 4×4 представляет собой матрицу по умолчанию, эта секция 16 кодирования без потерь кодирует только флаг типа матрицы, заданный равным 0 (этап S338).
Если для определения матрицы квантования используется SPS, рассматриваемая модификация может вычислять и кодировать прогнозируемые матрицы в порядке убывания размеров матрицы квантования. Если для обновления матрицы квантования используется PPS, рассматриваемая модификация может вычислять и кодировать прогнозируемые матрицы в порядке убывания размеров матрицы квантования.
На фиг. 14А и 14В представлены логические схемы, иллюстрирующие пример процедуры декодирования согласно рассматриваемому варианту. Указанная секция 210 генератора матриц может осуществлять процедуру, представленную логическими матрицами, преимущественно для каждой последовательности кодированных потоков.
Как показано на фиг. 14А, указанная секция 210 генератора матриц проверяет флаг типа матрицы, содержащийся в наборе параметров последовательности, с целью выяснения, является ли матрица квантования размером 32×32 матрицей, определяемой пользователем (этап S402). Если матрица квантования размером 32×32 является матрицей, определяемой пользователем, секция 210 генератора матриц использует информацию базовой матрицы с целью задания матрицы квантования размером 32×32, а именно, сохранения этой матрицы в буфере 220 матриц квантования (этап S404). Если матрица квантования размером 32×32 представляет собой матрицу по умолчанию, эта секция 210 генератора матриц задает матрицу квантования по умолчанию размером 32×32 (этап S406).
Указанная секция 210 генератора матриц проверяет, является ли матрица квантования размером 16×16 матрицей, определяемой пользователем (этап S412). Если матрица квантования размером 16×16 является матрицей, определяемой пользователем, секция 210 генератора матриц использует описанные выше выражения (12) или (13) прогнозирования с целью вычисления прогнозируемой матрицы размером 16×16 на основе матрицы квантования размером 32×32 и суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 16×16. В результате, матрица квантования размером 16×16 оказывается реконструирована (этап S414). Если флаг разности для размера 16×16 задан равным 0, разностная матрица является нулевой. Прогнозируемую матрицу размером 16×16 задают непосредственно в качестве матрицы квантования. Если матрица квантования размером 16×16 представляет собой матрицу по умолчанию, эта секция 210 генератора матриц задает матрицу квантования по умолчанию размером 16×16 (этап S416).
Как показано на фиг. 14В, указанная секция 210 генератора матриц проверяет, является ли матрица квантования размером 8×8 матрицей, определяемой пользователем (этап S422). Если матрица квантования размером 8×8 является матрицей, определяемой пользователем, секция 210 генератора матриц вычисляет прогнозируемую матрицу размером 8×8 на основе матрицы квантования размером 16×16 и суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 8×8. В результате, матрица квантования размером 8×8 оказывается реконструирована (этап S424). Если флаг разности для размера 8×8 задан равным 0, разностная матрица является нулевой. Прогнозируемая матрица размером 8×8 может быть задана непосредственно в качестве матрицы квантования. Если матрица квантования размером 8×8 представляет собой матрицу по умолчанию, эта секция 210 генератора матриц задает матрицу квантования по умолчанию размером 8×8 (этап S426).
Указанная секция 210 генератора матриц проверяет, является ли матрица квантования размером 4×4 матрицей, определяемой пользователем (этап S432). Если матрица квантования размером 4×4 является матрицей, определяемой пользователем, секция 210 генератора матриц вычисляет прогнозируемую матрицу размером 4×4 на основе матрицы квантования размером 8×8 и суммирует вычисленную прогнозируемую матрицу с разностной матрицей размером 4×4. В результате, матрица квантования размером 4×4 оказывается реконструирована (этап S434). Если флаг разности для размера 4×4 задан равным 0, разностная матрица является нулевой. Прогнозируемая матрица размером 4×4 может быть задана непосредственно в качестве матрицы квантования. Если матрица квантования размером 4×4 представляет собой матрицу по умолчанию, эта секция 210 генератора матриц задает матрицу квантования по умолчанию размером 4×4 (этап S436).
Если для декодирования матрицы квантования используется SPS, рассматриваемая модификация может реконструировать матрицы квантования в порядке убывания размеров матрицы квантования. Если для обновления матрицы квантования используется PPS, рассматриваемая модификация может также реконструировать матрицы квантования в порядке убывания размеров матрицы квантования.
6. Примеры приложений
Устройство 10 для кодирования изображения и устройство 60 для декодирования изображения согласно описанному выше варианту могут быть применены в разнообразной электронной аппаратуре, такой как приемопередатчик для систем спутникового вещания, кабельного вещания, такой как кабельное телевидение, распределения сигналов в сети Интернет, распределения сигналов для терминалов через сети сотовой связи и т.п., устройство записи, которое записывает изображения на носителе, таком как оптический диск, магнитный диск или флэш-память, устройство воспроизведения, которое воспроизводит изображения с такого носителя записи, или другое подобное устройство. Ниже будут описаны четыре примера приложений.
6-1. Первый пример приложения
На фиг. 15 представлена блок-схема, показывающая пример схематичной конфигурации телевизионного устройства, использующего описанный выше вариант. Телевизионное устройство 900 включает антенну 901, тюнер 902, демультиплексор 903, декодер 904, секцию 905 для обработки видеосигнала, дисплейную секцию 906, секцию 907 для обработки аудио сигнала, громкоговоритель 908, внешний интерфейс 909, секцию 910 управления, интерфейс 911 пользователя и шину 912.
Тюнер 902 выделяет сигнал нужного канала из совокупности радиосигналов вещания, принимаемых через антенну 901, и демодулирует выделенный сигнал. Затем этот тюнер 902 передает кодированный поток битов, полученный в результате демодуляции, в демультиплексор 903. Иными словами, тюнер 902 служит для телевизионного устройства 900 средством связи для приема кодированного потока, в составе которого кодировано изображение.
Этот демультиплексор 903 выделяет видео поток и аудио поток программы, которую нужно просматривать, из кодированного потока битов и передает каждый выделенный таким образом поток в декодер 904. Кроме того, демультиплексор 903 выделяет из этого кодированного потока битов вспомогательные данные, такие как электронная программа передач (EPG (Electronic Program Guide)), и передает выделенные данные в секцию 910 управления. В дополнение к этому, демультиплексор 903 может осуществлять дескремблирование, если рассматриваемый кодированный поток битов был скремблирован.
Декодер 904 осуществляет декодирование видео потока и аудио потока, поступающих от демультиплексора 903. После этого декодер 904 передает видеоданные, сформированные в результате процедуры декодирования, в секцию 905 для обработки видеосигнала. Кроме того, декодер 904 передает аудиоданные, сформированные в результате процедуры декодирования, в секцию 907 для обработки аудио сигнала.
Секция 905 для обработки видеосигнала воспроизводит видеоданные, поступившие от декодера 904, и инициирует представление видео на экране дисплейной секции 906. Секция 905 для обработки видеосигнала может также инициировать представление экрана приложения, поступившего через сеть связи, на экране дисплейной секции 906. Далее, секция 905 для обработки видеосигнала может выполнить дополнительную процедуру, такую как устранение шумов, например, применительно к видеоданным в соответствии с настройкой. Более того, секция 905 для обработки видеосигнала может сформировать изображение графического интерфейса пользователя (GUI (Graphical User Interface)), такое как меню, кнопка, курсор или аналогичный компонент, например, и наложить это сформированное изображения на выходное изображение.
Дисплейная секция 906 работает под управлением драйверного сигнала, поступающего от секции 905 для обработки видеосигнала, и представляет видео или изображение на видео экране дисплейного устройства (например, жидкокристаллический дисплей, плазменный дисплей, дисплей на органических светодиодах (OLED) или другое подобное устройство).
Секция 907 для обработки аудио сигнала осуществляет процедуры воспроизведения, такие как цифро-аналоговое преобразование и усиление, применительно к аудиоданным, поступающим от декодера 904, и воспроизводит аудио программу через громкоговоритель 908. Кроме того, секция 907 для обработки аудио сигнала может выполнить дополнительную процедуру, такую как устранение шумов применительно к аудиоданным.
Внешний интерфейс 909 представляет собой интерфейс для соединения телевизионного устройства 900 с внешней аппаратурой или сетью связи. Например, видео поток или аудио поток, принимаемый через внешний интерфейс 909, может быть декодирован посредством декодера 904. Иными словами, внешний интерфейс 909 служит для телевизионного устройства 900 средством связи для приема кодированного потока, в составе которого кодировано изображение.
Секция 910 управления содержит процессор, такой как центральный процессор CPU (Central Processing Unit), и память, такую как запоминающее устройство с произвольной выборкой (ЗУПВ (RAM (Random Access Memory))), постоянное запоминающее устройство (ПЗУ (ROM (Read Only Memory))) или другое подобное устройство. В памяти сохраняют программу, которую должен выполнять процессор CPU, данные программы, данные электронной программы передач (EPG), данные, получаемые через сеть связи, и другую подобную информацию. Процессор CPU считывает и начинает выполнять программу, сохраняемую в памяти, в момент, например, включения телевизионного устройства 900. Процессор CPU управляет работой телевизионного устройства 900 в соответствии с рабочими сигналами, поступающими, например, от интерфейса 911 пользователя, путем выполнения программы.
Указанный интерфейс 911 пользователя соединен с секцией 910 управления. Этот интерфейс 911 пользователя содержит кнопку и выключатель, используемые пользователем для управления работой телевизионного устройства 900, и приемную секцию для приема сигнала дистанционного управления, например. Интерфейс 911 пользователя определяет операции пользователя посредством перечисленных выше структурных элементов, генерирует рабочий сигнал и передает сформированный таким образом рабочий сигнал в секцию 910 управления.
Указанная шина 912 соединяет тюнер 902, демультиплексор 903, декодер 904, секцию 905 для обработки видеосигнала, секцию 907 для обработки аудио сигнала, внешний интерфейс 909 и секцию 910 управления.
В телевизионном устройстве 900, конфигурированном таким образом, декодер 904 имеет функции устройства 60 для декодирования изображения согласно описанному выше варианту. Соответственно, в случае декодирования изображения в телевизионном устройстве 900 также можно исключить или ослабить эффект увеличения объема кода вследствие увеличения числа матриц квантования.
6-2. Второй пример приложения
На фиг. 16 представлена блок-схема, показывающая пример схематичной конфигурации мобильного телефона, в котором применяется описанный выше вариант, настоящего изобретения. Мобильный телефон 920 содержит антенну 921, секцию 922 связи, аудио кодек 923, громкоговоритель 924, микрофон 925, секцию 926 видеокамеры, секцию 927 для обработки изображения, секцию 928 демультиплексора, секцию 929 записи/воспроизведения, дисплейную секцию 930, секцию 931 управления, операционную секцию 932 и шину 933.
Антенна 921 соединена с секцией 922 связи. Громкоговоритель 924 и микрофон 925 соединены с аудио кодеком 923. Операционная секция 932 соединена с секцией 931 управления. Шина 933 соединяет секцию 922 связи, аудио кодек 923, секцию 926 видео камеры, секцию 927 для обработки изображения, секцию 928 демультиплексора, секцию 929 записи/воспроизведения, дисплейную секцию 930 и секцию 931 управления.
Мобильный телефон 920 осуществляет операции, такие как прием/передача аудио сигнала, прием/передача сообщений электронной почты или данных изображения, считывание (съемку) изображения, запись данных и другие подобные операции в различных режимах работы, включая режим голосовой связи, режим передачи данных, режим считывания (съемки) изображения и режим видеофона.
В режиме голосовой связи аналоговый аудио сигнал, генерируемый микрофоном 925, поступает в аудио кодек 923. Этот Аудио кодек 923 преобразует аналоговый аудио сигнал в аудиоданные и осуществляет аналого-цифровое преобразование и сжатие преобразованных аудиоданных. Затем аудио кодек 923 передает сжатые аудиоданные в секцию 922 связи. Эта секция 922 связи кодирует и модулирует аудиоданные и генерирует передаваемый сигнал. Затем секция 922 связи передает сформированный ею передаваемый сигнал в адрес базовой станции (не показана) через антенну 921. Кроме того, секция 922 связи усиливает радиосигнал, принятый через антенну 921, преобразует частоту этого радиосигнала и получает принятый сигнал. Далее, секция 922 связи демодулирует и декодирует принятый сигнал, генерирует аудиоданные и передает эти сформированные аудиоданные в аудио кодек 923. Аудио кодек 923 расширяет эти аудиоданные, осуществляет их цифро-аналоговое преобразование и генерирует аналоговый аудио сигнал. Затем аудио кодек 923 передает сформированный им аудио сигнал громкоговорителю 924 и инициирует воспроизведение звука.
Кроме того, в режиме передачи данных секция 931 управления генерирует текстовые данные, составляющие сообщение электронной почты, в соответствии с операциями пользователя на операционной секции 932, например. Более того, секция 931 управления инициирует представление этого текста на экране дисплейной секции 930. Далее, секция 931 управления генерирует данные электронной почты в соответствии с командой пользователя передать сообщение, введенной через операционную секцию 932, и передает сформированные данные электронной почты в секцию 922 связи. Затем эта секция 922 связи кодирует и модулирует полученные данные электронной почты и генерирует передаваемый сигнал. Далее, секция 922 связи передает сформированный ею передаваемый сигнал в адрес базовой станции (не показана) через антенну 921. Кроме того, секция 922 связи усиливает радиосигнал, принятый через антенну 921, преобразует частоту этого радиосигнала и получает принятый сигнал. Далее, секция 922 связи демодулирует и декодирует принятый сигнал, восстанавливает данные электронной почты и передает восстановленные данные электронной почты в секцию 931 управления. Секция 931 управления дает команду дисплейной секции 930 представить содержание сообщения электронной почты на экране дисплея, а также дает команду сохранить данные электронной почты на носителе записи в секции 929 записи/воспроизведения.
Секция 929 записи/воспроизведения включает произвольно считываемый и записываемый носитель записи. Таким носителем записи может быть, например, встроенный носитель записи, такой как ЗУПВ RAM, флэш-память или другой подобный носитель, либо установленный вне телефона носитель записи, такой как жесткий диск, магнитный диск, магнитооптический диск, оптический диск, USB-память, карта памяти или другой подобный носитель.
Более того, в режиме считывания (съемки) изображения секция 926 видеокамеры считывает изображение предмета, генерирует данные изображения и передает сформированные данные изображения в секцию 927 для обработки изображения, например. Эта секция 927 для обработки изображения кодирует данные изображения, поступившие от секции 926Видеокамеры, и дает команду сохранить кодированный поток на носителе записи в секции 929 записи/воспроизведения.
Кроме того, в режиме видеофона секция 928 демультиплексора осуществляет мультиплексирование видео потока, кодированного секцией 927 для обработки изображения, и аудио потока, поступившего от аудио кодека 923, и передает мультиплексированный поток, например, в секцию 922 связи. Эта секция 922 связи кодирует и модулирует полученный поток и генерирует передаваемый сигнал. Затем секция 922 связи передает сформированный ею передаваемый сигнал в адрес базовой станции (не показана) через антенну 921. Кроме того, станция 922 связи усиливает радиосигнал, принятый через антенну 921, преобразует частоту этого радиосигнала и получает принятый сигнал. Эти передаваемый сигнал и принятый сигнал могут включать кодированный поток битов. Далее, секция 922 связи демодулирует и декодирует принятый сигнал, восстанавливает поток и передает восстановленный поток в секцию 928 демультиплексора. Эта секция 928 демультиплексора выделяет видео поток и аудио поток из входного потока и передает видео поток в секцию 927 для обработки изображения, а аудио поток в аудио кодек 923. Секция 927 для обработки изображения декодирует видео поток и генерирует видеоданные. Эти видеоданные поступают в дисплейную секцию 930, которая представляет последовательность изображений на экране своего дисплея. Аудио кодек 923 расширяет полученный аудио поток, осуществляет его цифро-аналоговое преобразование и генерирует аналоговый аудио сигнал. Затем аудио кодек 923 передает сформированный им аудио сигнал громкоговорителю 924 и инициирует воспроизведение звука.
В мобильном телефоне 920, конфигурированном таким образом, секция 927 для обработки изображения имеет функции устройства 10 для кодирования изображения и устройства 60 для декодирования изображения согласно варианту, описанному выше. Соответственно, в случае декодирования и кодирования изображения в мобильном телефоне 920 также можно исключить или ослабить эффект увеличения объема кода вследствие увеличения числа матриц квантования.
6-3. Третий пример приложения
На фиг. 17 представлена блок-схема, показывающая пример схематичной конфигурации устройства записи/воспроизведения, в котором использован описанный выше вариант. Устройство 940 записи/воспроизведения кодирует и записывает на носителе записи аудиоданные и видеоданные из состава принятой вещательной программы, например. Это устройство 940 записи/воспроизведения может также кодировать и записывать на носителе записи аудиоданные и видеоданные, принятые от другого устройства, например. Более того, устройство 940 записи/воспроизведения осуществляет воспроизведение, с использованием монитора или громкоговорителя, данных, записанных на носителе записи, в соответствии с командой пользователя, например. В этот момент устройство 940 записи/воспроизведения декодирует такие аудиоданные и видеоданные.
Устройство 940 записи/воспроизведения включает тюнер 941, внешний интерфейс 942, кодирующее устройство 943, накопитель 944 на жестком диске (HDD (Hard Disk Drive)), дисковод 945, селектор 946, декодер 947, модуль 948 экранного меню (OSD (On-Screen Display)), секцию 949 управления и интерфейс 950 пользователя.
Тюнер 941 выделяет сигнал нужного канала из принятых антенной (не показана) вещательных сигналов и демодулирует выделенный сигнал. Затем тюнер 941 передает кодированный поток битов, полученный в результате демодуляции, селектору 946. Иными словами, тюнер 941 служит средствами связи для устройства 940 записи/воспроизведения.
Внешний интерфейс 942 представляет собой интерфейс для соединения устройства 940 записи/воспроизведения с внешним устройством или сетью связи. Например, этот внешний интерфейс 942 может быть интерфейсом согласно стандарту IEEE1394, сетевым интерфейсом, USB-интерфейсом, интерфейсом флэш-памяти или другим подобным интерфейсом. Например, видеоданные и аудиоданные, принятые внешним интерфейсом 942, направляют в кодирующее устройство 943. Иными словами, внешний интерфейс 942 служит средствами связи для устройства 940 записи/воспроизведения.
Если видеоданные и аудиоданные, поступающие от внешнего интерфейса 942, не были кодированы, кодирующее устройство 943 осуществляет кодирование этих видеоданных и аудиоданных. Затем кодирующее устройство 943 передает кодированный поток битов селектору 946.
Накопитель HDD 944 на жестком диске записывает на своем внутреннем жестком диске кодированный поток битов, представляющий собой сжатые данные контента, видео или аудио, различных программ и другие сегменты данных. Кроме того, накопитель HDD 944 считывает эти сегменты данных с жесткого диска во время воспроизведения видео или аудио программы.
Дисковод 945 записывает или считывает данные на/с носителя записи, установленного в этом дисководе. Носитель записи, установленный в дисководе 945, может представлять собой, например, диск DVD (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+, DVD+RW или другой подобный диск), диск Blu-ray (зарегистрированная торговая марка) или другой подобный диск.
Селектор 946 во время записи видео или аудио программы выбирает кодированный поток битов, поступающий от тюнера 941 или кодирующего устройства 943, и передает выбранный кодированный поток битов накопителю HDD 944 или дисководу 945. Кроме того, селектор 946 передает во время воспроизведения видео или аудио программы кодированный поток битов, поступающий от накопителя HDD 944 или от дисковода 945 декодеру 947.
Указанный декодер 947 осуществляет декодирование полученного кодированного потока битов и генерирует видеоданные и аудиоданные. Затем этот декодер 947 передает сформированные им видеоданные в модуль OSD 948 экранного меню. Кроме того, декодер 947 передает сформированные им аудиоданные внешнему громкоговорителю.
Указанный модуль OSD 948 экранного меню воспроизводит видеоданные, поступившие от декодера 947, и представляет видео на экране дисплея. Кроме того, модуль OSD 948 может наложить изображение интерфейса GUI, такое как меню, кнопку, курсор или другой подобный элемент, на представляемую на дисплее видео программу.
Секция 949 управления включает процессор, такой как процессор CPU, и память, такую как ЗУПВ RAM или ПЗУ ROM. В памяти сохраняют программу, которую должен выполнять процессор CPU, данные программы и другую подобную информацию Процессор CPU считывает и начинает выполнять программу, сохраняемую в памяти, в момент включения, например, устройства 940 записи/воспроизведения. Процессор CPU управляет работой устройства 940 записи/воспроизведения в соответствии с рабочими сигналами, поступающими, например, от интерфейса 950 пользователя, путем выполнения программы.
Указанный интерфейс 950 пользователя соединен с секцией 949 управления. Этот интерфейс 950 пользователя включает кнопку и выключатель, используемые пользователем для управления работой устройства 940 записи/воспроизведения, и приемную секцию для приема сигнала дистанционного управления, например. Интерфейс 950 пользователя определяет операции пользователя посредством перечисленных выше структурных элементов, генерирует рабочий сигнал и передает сформированный таким образом рабочий сигнал в секцию 949 управления.
В устройстве 940 записи/воспроизведения, конфигурированном таким образом, кодирующее устройство 943 имеет функции устройства 10 для кодирования изображения согласно варианту, описанному выше. Кроме того, декодер 947 имеет функции устройства 60 для декодирования изображения согласно варианту, описанному выше. Соответственно, в случае декодирования и кодирования изображения в устройстве 940 записи/воспроизведения также можно исключить или ослабить эффект увеличения объема кода вследствие увеличения числа матриц квантования.
6-4. Четвертый пример приложения
На фиг. 18 представлена блок-схема, показывающая пример схематичной конфигурации устройства для считывания изображения, использующего вариант, описанный выше. Устройство 960 для считывания изображения осуществляет считывание (съемку) изображения предмета, генерирует изображение, кодирует данные изображения и записывает эти данные изображения на носителе записи.
Указанное устройство 960 для считывания изображения содержит оптический блок 961, секцию 962 для считывания изображения, секцию 963 для обработки сигнала, секцию 964 для обработки изображения, дисплейную секцию 965, внешний интерфейс 966, память 967, привод 968 носителя записи, модуль 969 экранного меню (OSD), секцию 970 управления, интерфейс 971 пользователя и шину 972.
Оптический блок 961 соединен с секцией 962 для считывания изображения. Эта секция 962 для считывания изображения соединена с секцией 963 для обработки сигнала. Дисплейная секция 965 соединена с секцией 964 для обработки изображения. Интерфейс 971 пользователя соединен с секцией 970 управления. Шина 972 соединяет секцию 964 для обработки изображения, внешний интерфейс 966, память 967, привод 968 носителя записи, модуль OSD 969 и секцию 970 управления.
Оптический блок 961 содержит фокусирующую линзу, механизм диафрагмы и другие подобные компоненты. Оптический блок 961 формирует оптическое изображение предмета на входной (фотоприемной) поверхности секции 962 для считывания изображения. Секция 962 для считывания изображения содержит формирователь сигналов изображения, такой как CCD-формирователь, CMOS-формирователь или другое подобное устройство, и преобразует оптическое изображение, сформированное на входной (фотоприемной) поверхности, с применением фотоэлектрического преобразования в сигнал изображения, представляющий собой электрический сигнал. Затем секция 962 для считывания изображения передает полученный сигнал изображения в секцию 963 для обработки сигнала.
Секция 963 для обработки сигнала осуществляет разнообразные процедуры обработки сигнала видеокамеры, такие как коррекция изгиба характеристики передачи яркости, гамма-коррекция, цветокоррекция и другие подобные виды обработки, применительно к сигналу изображения, поступающему от секции 962 для считывания изображения. Секция 963 для обработки сигнала передает данные изображения, прошедшие обработку сигнала видеокамеры, в секцию 964 для обработки данных изображения.
Секция 964 для обработки изображения кодирует данные изображения, поступающие от секции 963 для обработки сигнала, и генерирует кодированные данные. Затем эта секция для обработки изображения передает сформированные ею кодированные данные внешнему интерфейсу 966 или приводу 968 носителя записи. Кроме того, секция 964 для обработки изображения декодирует кодированные данные, поступившие от внешнего интерфейса 966 или привода 968 носителя записи, и генерирует данные изображения. Затем секция 964 для обработки изображения передает сформированные ею данные изображения в дисплейную секцию 965. Кроме того, секция 964 для обработки изображения может передавать данные изображения, поступившие от секции 963 для обработки сигнала, в дисплейную секцию 965 и инициировать представление изображения на экране дисплея. Более того, секция 964 для обработки изображения может накладывать данные, полученные от модуля OSD 969, на изображение, подлежащее передаче в дисплейную секцию 965.
Модуль OSD 969 генерирует изображение интерфейса GUI, такое как меню, кнопку, курсор или другой подобный элемент, и передает сформированное им изображение в секцию 964 для обработки изображения.
Внешний интерфейс 966 конфигурирован, например, в виде USB-порта ввода/вывода. Этот внешний интерфейс 966 соединяет устройство 960 для считывания изображения и, например, принтер на время печати изображения. Кроме того, с внешним интерфейсом 966 соединяют по мере необходимости внешний привод носителя записи. На этом внешнем приводе может быть установлен сменный носитель записи, такой как магнитный диск, оптический диск или другой подобный носитель, так что в устройстве 960 для считывания изображения может быть инсталлирована программа, считываемая с этого носителя. Более того, внешний интерфейс 966 может быть конфигурирован в виде сетевого интерфейса для соединения с сетью связи, такой как локальная сеть связи (LAN), Интернет или другой подходящей связи. Иными словами, внешний интерфейс 966 служит средствами связи в устройстве 960 для считывания изображения.
Носитель записи, который можно установить на приводе 968 носителя записи, может представлять собой произвольный считываемый и записываемый носитель, такой как магнитный диск, магнитооптический диск, оптический диск, полупроводниковое запоминающее устройство или другой подобный носитель, например. Кроме того, носитель записи может быть постоянно установлен в приводе 968, образуя несъемную запоминающую секцию, такую как встроенный накопитель на жестком диске или твердотельный накопитель (SSD (Solid State Drive)), например.
Секция 970 управления включает процессор, такой как процессор CPU, и память, такую как ЗУПВ RAM или ПЗУ ROM. В памяти сохраняют программу, которую должен выполнять процессор CPU, данные программы и другую подобную информацию Процессор CPU считывает и начинает выполнять программу, сохраняемую в памяти, в момент включения, например, устройства 960 для считывания изображения. Процессор CPU управляет работой устройства 960 для считывания изображения в соответствии с рабочими сигналами, поступающими, например, от интерфейса 971 пользователя, путем выполнения программы.
Указанный интерфейс 971 пользователя соединен с секцией 970 управления. Этот интерфейс 971 пользователя включает кнопку, выключатель и другие подобные элементы, используемые пользователем для управления работой устройства 960 для считывания изображения, например. Интерфейс 971 пользователя определяет операции пользователя посредством перечисленных выше структурных элементов, генерирует рабочий сигнал и передает сформированный таким образом рабочий сигнал в секцию 970 управления.
В устройстве 960 для считывания изображения, конфигурированном таким образом, секция 964 для обработки изображения имеет функции устройства 10 и устройства 60 для декодирования изображения согласно варианту, описанному выше. Соответственно, в случае декодирования и кодирования изображения в устройстве 960 для считывания изображения также можно исключить или ослабить эффект увеличения объема кода вследствие увеличения числа матриц квантования.
7. Заключение
Выше были описаны устройство 10 для кодирования изображения и устройство 60 для декодирования изображения согласно одному из вариантов со ссылками на Фиг. 1-18. Описанные здесь варианты используют способ прогнозирования для генерации второй матрицы квантования, соответствующей единице преобразования, представляющей второй размер, на основе первой матрицы квантования, соответствующей единице преобразования, представляющей первый размер, если несколько матриц квантования соответствуют нескольким единицам преобразования, представляющим различные размеры. Это может исключить необходимость кодирования второй матрицы квантования целиком. Здесь можно эффективно исключить или ослабить увеличение объема кода, даже если число матриц квантования увеличивается.
В рассматриваемом варианте вторую матрицу квантования генерируют с использованием информации матрицы, определяющей первую матрицу квантования, и разностной информации (информация разностной матрицы), представляющей разность между прогнозируемой матрицей и второй матрицей квантования. Поэтому можно получить вторую матрицу квантования, подходящую для стороны декодирования изображения, просто путем кодирования только разности между второй матрицей квантования и прогнозируемой матрицей.
Согласно рассматриваемому варианту первый флаг может обозначать отсутствие разности между прогнозируемой матрицей и второй матрицей квантования и может быть получен из набора параметров последовательности или набора параметров кадра изображения. В таком случае предполагается, что прогнозируемая матрица, сформированная на основе второй матрицы квантования, является этой второй матрицей квантования. В этом случае, объем кода может быть еще больше уменьшен, поскольку для второй матрицы квантования не кодируют даже разностную информацию.
Указанная первая матрица квантования может иметь минимальный размер из всей совокупности размеров единиц преобразования. Описанная выше конфигурация не требует кодирования всех матриц квантования помимо матрицы квантования, имеющей минимальный размер. Поэтому, можно более эффективно исключить или ослабить увеличение объема кода даже при увеличении числа матриц квантования.
В настоящем описании было рассмотрено, как происходит мультиплексирование информации для генерации матрицы квантования в заголовке кодированного потока и передача этой информации от кодирующей стороны на декодирующую сторону. Однако способ передачи такой информации не ограничивается способом, рассмотренным выше. Например, эту информацию можно не мультиплексировать в кодированный поток битов, а передать или записать в виде отдельных данных, ассоциированных с этим кодированным потоком битов. Термин «ассоциирование» означает обеспечение возможности связать изображение (или часть изображения, такую как срез или блок), содержащегося в потоке битов, с информацией, соответствующей этому изображению. А именно, указанная информация может быть передана по тракту передачи, отличному от линии, используемой для передачи изображений (или потоков битов). Эта информация может быть записана на носителе записи (или в другой области записи на том же самом носителе записи), отличном от носителя записи, используемого для записи изображений (или потоков битов). Информация и изображение (или поток битов) могут быть ассоциированы одна с другим на основе любых единиц, таких как множество кадров, один кадр или часть кадра.
Выше предпочтительные варианты настоящего изобретения были описаны со ссылками на прилагаемые чертежи, тогда как настоящее изобретение, безусловно, не ограничивается приведенными выше примерами. Специалист в рассматриваемой области может найти разнообразные изменения и модификации в пределах объема прилагаемой Формулы изобретения и должен понимать, что они естественным образом укладываются в технический объем настоящего изобретения.
Список позиционных обозначений
10 Устройство для обработки изображения (устройство для кодирования изображения)
16 Секция кодирования
110 Селекторная секция
120 Секция ортогонального преобразования
130 Секция квантования
60 Устройство для обработки изображения (устройство для декодирования изображения)
210 Секция генератора матриц
230 Селекторная секция
240 Секция обратного квантования
250 Секция обратного ортогонального преобразования