Устройство и способ обработки изображений
Иллюстрации
Показать всеИзобретение относится к устройству и способу обработки изображений. Техническим результатом является устранение снижения эффективности кодирования изображений за счет сокращения частоты обновления матрицы квантования. Устройство обработки изображения включает блок декодирования, блок установки и блок обратного квантования. Блок декодирования декодирует кодированный поток для генерирования квантованных данных. Блок установки устанавливает текущую матрицу квантования в соответствии с параметром, указывающим, следует ли использовать ту же матрицу квантования, что и опорная матрица квантования, выбранная в соответствии с типом опорной матрицы квантования, который включает в себя сочетание режима предсказания и цветового компонента. Блок обратного квантования выполняет обратное квантование квантованных данных, генерируемых блоком декодирования, с использованием текущей матрицы квантования, устанавливаемой блоком установки. 2 н. и 6 з.п. ф-лы, 38 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству и способу обработки изображений.
Уровень техники
В H.264/AVC, одной из спецификаций стандарта для схем кодирования изображения, можно использовать разные шаги квантования для каждого компонента коэффициентов ортогонального преобразования при выполнении квантования данных изображения с высоким профилем или более высоким профилем. Шаг квантования (или масштаб квантования) для каждого компонента коэффициентов ортогонального преобразования может быть установлен на основе матрицы квантования (также называемой списком масштабирования), определенной с тем же размером, в качестве модулей ортогонального преобразования, и стандартного значения шага.
На фиг.38 иллюстрируются четыре класса принятых по умолчанию матриц квантования, которые заранее определены в H.264/AVC. Матрица SL1 представляет собой принятую по умолчанию матрицу квантования 4×4 для режима прогнозирования внутри кадра. Матрица SL2 представляет собой принятую по умолчанию матрицу 4×4 квантования для режима прогнозирования между кадрами. Матрица SL3 представляет собой принятую по умолчанию матрицу квантования 8×8 для режима прогнозирования внутри кадра. Матрица SL4 представляет собой принятую по умолчанию матрицу квантования 8×8 для режима прогнозирования между кадрами. Пользователь может также определить собственную матрицу квантования, которая отличается от принятых по умолчанию матриц, показанных на фиг.38, в наборе параметров последовательности или в наборе параметров изображения. Следует отметить, что в случае, когда матрица квантования не установлена, может использоваться плоская матрица квантования, имеющая равный шаг квантования для всех компонентов.
При кодировании видеоданных с высокой эффективностью (HEVC), стандартизация которого в настоящее время выполняется как схема кодирования изображения следующего поколения, которая следует после H.264/AVC, вводится понятие модуля кодирования (CU), который соответствует понятию макроблока, использовавшегося в прошлом (см. Непатентную литературу 1, указанную ниже). Диапазон размеров модуля кодирования устанавливают в наборе параметров последовательности как пару значений степени 2, называемых наибольшим модулем кодирования (LCU) и наименьшим модулем кодирования (SCU). Кроме того, используют SPLIT_FLAG для обозначения конкретного размера модуля кодирования в пределах диапазона, установленного по LCU и SCU.
В HEVC один модуль кодирования может быть разделен на один или больше модулей ортогонального преобразования, или другими словами, один или больше модулей преобразования (TU). Любой из размеров 4×4, 8×8, 16×16 и 32×32 может использоваться, как размер модуля преобразования. Следовательно, матрица квантования также может быть установлена для каждого из этих кандидатов размера модуля преобразования. В Непатентной литературе 2, представленной ниже, предложено установление множества кандидатов матрицы квантования для одного размера модуля преобразования в одном изображении, и выбор адаптивной матрицы квантования для каждого блока, с точки зрения оптимизации скорость-искажения (RD).
Список литературы
Непатентная литература
Непатентная литература 1: JCTVC-B205, "Test Model under Consideration", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting: Geneva, CH, 21-28 July, 2010.
Non-Patent Literature 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.
Раскрытие изобретения
Техническая задача
Однако матрица квантования, выполненная с возможностью квантования и обратного квантования, отличается в зависимости от характеристик каждого изображения, включенного в видеоданные. По этой причине частота обновлений матрицы квантования будет расти при попытке кодировать видеоизображение, характеристики изображения которого изменяются от момента к моменту, с оптимальными матрицами квантования. В H.264/AVC матрица квантования определена в наборе параметров последовательности (SPS) или в наборе параметров изображения (PPS). Следовательно, если частота обновлений матрицы квантования растет, доля кодируемого потока, занятая SPS или PPS, увеличивается. Это означает, что эффективность кодирования снижается из-за увеличенного количества служебных данных. Для HEVC, в котором размер матриц квантования дополнительно увеличен и в котором несколько разных матриц квантования могут быть определены для каждого изображения, существует риск, что такое снижение эффективности кодирования, сопровождающее обновление матрицы квантования, может стать еще более существенным.
Следовательно, желательно обеспечить механизм, позволяющий сдерживать снижение эффективности кодирования, сопровождающее обновление матрицы квантования.
Решение задачи
В соответствии с вариантом осуществления настоящего раскрытия, предложено устройство обработки изображения, включающее в себя блок получения, выполненный с возможностью получения параметров матрицы квантования из кодированного потока, причем параметры матрицы квантования, определяющие матрицу квантования, установлены в рамках набора параметров, отличного от набора параметров последовательности и набора параметров изображения, блок установки, выполненный с возможностью установки, на основе параметров матрицы квантования, получаемых блоком получения, матрицы квантования, используемой при обратном квантовании данных, декодируемых из кодированного потока, и блок обратного квантования, выполненный с возможностью обратного квантования данных, декодируемых из кодированного потока, с использованием матрицы квантования, устанавливаемой блоком установки.
Устройство обработки изображения может обычно быть реализовано в виде устройства декодирования изображения, декодирующего изображение.
В соответствии с вариантом осуществления настоящего раскрытия предусмотрен способ обработки изображения, включающий в себя этапы, на которых: получают параметры матрицы квантования из кодированного потока, причем параметры матрицы квантования, определяющие матрицу квантования, установлены в рамках набора параметров, который отличается от набора параметров последовательности и набора параметров изображения, устанавливают, на основе полученных параметров матрицы квантования, матрицу квантования, используемую при обратном квантовании данных, декодированных из кодированного потока, и выполняют обратное квантование данных, декодированных из кодированного потока, с использованием установленной матрицы квантования.
В соответствии с вариантом осуществления настоящего раскрытия, предложено устройство обработки изображения, включающее в себя блок квантования, выполненный с возможностью квантования данных с использованием матрицы квантования, блок установки, выполненный с возможностью установки параметров матрицы квантования, определяющих матрицу квантования, подлежащую использованию при выполнении блоком квантования квантование данных, и блок кодирования, выполненный с возможностью кодировать параметры матрицы квантования, устанавливаемые блоком установки, в рамках набора параметров, отличного от набора параметров последовательности и набора параметров изображения.
Устройство обработки изображения обычно может быть реализовано в виде устройства кодирования изображения, кодирующего изображение.
В соответствии с вариантом осуществления настоящего раскрытия предусмотрен способ обработки изображений, включающий в себя этапы, на которых: квантуют данные с использованием матрицы квантования, устанавливают параметры матрицы квантования, определяющие матрицу квантования, подлежащую использованию при выполнении квантования данных, и кодируют установленные параметры матрицы квантования в рамках набора параметров, отличного от набора параметров последовательности и набора параметров изображения.
Полезные результаты изобретения
В соответствии с устройством обработки изображений и способом обработки изображений согласно настоящему раскрытию, возможно сдерживать снижение эффективности кодирования, сопровождающее обновление матрицы квантования.
Краткое описание чертежей
На фиг.1 показана блок-схема, иллюстрирующая примерную конфигурацию устройства кодирования изображения в соответствии с вариантом осуществления.
На фиг.2 показана блок-схема, иллюстрирующая пример подробной конфигурации блока обработки синтаксиса, представленного на фиг.1.
На фиг.3 показана пояснительная схема, иллюстрирующая примерные параметры, включенные в набор параметров матрицы квантования, в соответствии с вариантом осуществления.
На фиг.4 показана пояснительная схема, иллюстрирующая примерные параметры, включенные в заголовок среза, в соответствии с вариантом осуществления.
На фиг.5 показана блок-схема последовательности операций, иллюстрирующая примерный поток процесса вставки набора параметров в соответствии с вариантом осуществления.
На фиг.6 показана пояснительная схема для пояснения разницы в структуре потока между технологией в соответствии с вариантом осуществления и существующей технологией.
На фиг.7 показана блок-схема, иллюстрирующая примерную конфигурацию декодера изображения, в соответствии с вариантом осуществления.
На фиг.8 показана блок-схема, иллюстрирующая пример подробной конфигурации блока обработки синтаксиса, представленного на фиг.7.
На фиг.9 показана блок-схема последовательности операций, иллюстрирующая примерный поток процесса генерирования матрицы квантования, в соответствии с вариантом осуществления.
На фиг.10 показана блок-схема последовательности операций, иллюстрирующая пример потока подробной обработки в режиме копии в соответствии с вариантом осуществления.
На фиг.11 показана блок-схема последовательности операций, иллюстрирующая пример потока подробной обработки в режиме обозначения оси в соответствии с вариантом осуществления.
На фиг.12 показана блок-схема последовательности операций, иллюстрирующая пример потока подробной обработки для установления матрицы квантования для среза в соответствии с вариантом осуществления.
На фиг.13 показана первая пояснительная схема, иллюстрирующая первый пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.14 показана вторая пояснительная схема, иллюстрирующая первый пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.15 показана третья пояснительная схема, иллюстрирующая первый пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.16 показана первая пояснительная схема, иллюстрирующая второй пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.17 показана вторая пояснительная схема, иллюстрирующая второй пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.18 показана третья пояснительная схема, иллюстрирующая второй пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.19 показана четвертая пояснительная схема, иллюстрирующая второй пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.20 показана пятая пояснительная схема, иллюстрирующая второй пример иллюстративного псевдокода, выражающего синтаксис набора параметров матрицы квантования.
На фиг.21 показана пояснительная схема, иллюстрирующая пример областей установки масштаба квантования, определенных для квантования матрицы квантования.
На фиг.22 показана пояснительная схема, иллюстрирующая пример наборов масштабов квантования в соответствующих областях установки масштаба квантования, представленных, как пример, на фиг.21.
На фиг.23 показана пояснительная схема для пояснения 11 классов таблиц VLC, подготовленных в LCEC.
На фиг.24 показана пояснительная схема, иллюстрирующая пример кодированного потока, структурированного в соответствии с первой технологией, в которой используется APS.
На фиг.25 показана пояснительная схема, иллюстрирующая пример синтаксиса APS, определенного в соответствии с первой технологией, в которой используется APS.
На фиг.26 показана пояснительная схема, иллюстрирующая пример синтаксиса заголовка среза, определенного в соответствии с первой технологией, в которой используется APS.
На фиг.27 показана пояснительная схема, иллюстрирующая пример синтаксиса APS, определенного в соответствии с примерной модификацией первой технологии, в которой используется APS.
На фиг.28 показана пояснительная схема, иллюстрирующая пример кодированного потока, структурированного в соответствии со второй технологией, в которой используется APS.
На фиг.29 показана пояснительная схема, иллюстрирующая пример кодированного потока, структурированного в соответствии с третьей технологией, в которой используется APS.
На фиг.30 показана пояснительная схема, иллюстрирующая пример синтаксиса APS, определенного в соответствии с третьей технологией, в которой используется APS.
На фиг.31 показана пояснительная схема, иллюстрирующая пример синтаксиса заголовка среза, определенного в соответствии с третьей технологией, в которой используется APS.
На фиг.32 показана таблица, представляющая особенности параметра для каждого из нескольких типичных инструментов кодирования.
На фиг.33 показана пояснительная схема для пояснения примера кодированного потока, структурированного в соответствии с примерной модификацией третьей технологии, в которой используется APS.
На фиг.34 показана блок-схема, иллюстрирующая пример схематичной конфигурации телевизора.
На фиг.35 показана блок-схема, иллюстрирующая пример схематичной конфигурации мобильного телефона.
На фиг.36 показана блок-схема, иллюстрирующая пример схематичной конфигурации устройства записи и воспроизведения.
На фиг.37 показана блок-схема, иллюстрирующая пример схематичной конфигурации устройства формирования изображения.
На фиг.38 показана пояснительная схема, иллюстрирующая принятые по умолчанию матрицы квантования, которые предварительно определены в H.264/AVC.
Подробное описание изобретения
Ниже будут подробно описаны предпочтительные варианты осуществления настоящего изобретения со ссылкой на приложенные чертежи. Следует отметить, что, в данном описании и на чертежах, элементы, которые имеют, по существу, одинаковую функцию и структуру, обозначены одинаковыми номерами ссылочных позиций, и повторное их пояснение исключено.
Кроме того, описание будет представлено в следующем порядке.
1. Пример конфигурации устройства кодирования изображения в соответствии с вариантом осуществления.
1-1. Пример общей конфигурации.
1-2. Пример конфигурации блока обработки синтаксиса.
1-3. Пример структуры параметра.
2. Поток обработки при кодировании в соответствии с вариантом осуществления.
3. Пример конфигурации устройства декодирования изображения в соответствии с вариантом осуществления.
3-1. Пример общей конфигурации.
3-2. Пример конфигурации блока обработки синтаксиса.
4. Поток обработки во время декодирования в соответствии с вариантом осуществления.
4-1. Генерирование матриц квантования.
4-2. Установка матрицы квантования для среза.
5. Примеры синтаксиса.
5-1. Первый пример.
5-2. Второй пример.
6. Различные примерные конфигурации наборов параметров.
6-1. Первая технология.
6-2. Пример модификации первой технологии.
6-3. Вторая технология.
6-4. Третья технология.
6-5. Пример модификации третьей технологии.
7. Варианты применения.
8. Заключение.
1. Пример конфигурации устройства кодирования изображения в соответствии с вариантом осуществления
В данном разделе описана примерная конфигурация устройства кодирования изображения в соответствии с вариантом осуществления.
1-1. Пример общей конфигурации
На фиг.1 показана блок-схема, иллюстрирующая примерную конфигурацию устройства 10 кодирования изображения в соответствии с вариантом осуществления. На фиг.1 устройство 10 кодирования изображения оборудовано блоком 11 аналого-цифрового (A/D) преобразования, буфером 12 изменения порядка, блоком 13 обработки синтаксиса, блоком 14 вычитания, блоком 15 ортогонального преобразования, блоком 16 квантования, блоком 17 кодирования без потерь, буфером 18 накопления, блоком 19 управления скоростью, блоком 21 обратного квантования, блоком 22 обратного ортогонального преобразование, блоком 23 суммирования, фильтром 24 устранения блоков, запоминающим устройством 25 кадра, селектором 26, блоком 30 прогнозирования внутри кадра, блоком 40 оценки движения и блоком 50 выбора режима.
Блок 11 A/D преобразования преобразует сигнала изображения, вводимый в аналоговом формате, в данные изображения в цифровом формате и выводит последовательность цифровых данных изображения в буфер 12 изменения порядка.
Буфер 12 изменения порядка изменяет порядок изображений, включенных в последовательность данных изображения, поступающих из блока 11 A/D преобразования. После изменения порядка изображений, в соответствии со структурой группы изображений (GOP), в соответствии с процессом кодирования, буфер 12 изменения порядка выводит данные изображения с измененным порядком в блок 13 обработки синтаксиса.
Данные изображения, выводимые из буфера 12 изменения порядка в блок 13 обработки синтаксиса, отображают на поток битов в единицах, называемых модулями уровня абстракции сети (NAL). Поток данных изображения включает в себя одну или больше последовательностей. Ведущее изображение в последовательности называется изображением обновления мгновенного декодирования (IDR). Каждая последовательность включает в себя одно или больше изображений, и каждое изображение дополнительно включает в себя один или больше срезов. В H.264/AVC и в HEVC, такие срезы представляют собой основные модули для кодирования и декодирования видеоданных. Данные для каждого среза распознают, как модуль уровня кодирования видеоданных (VCL) NAL.
Блок 13 обработки синтаксиса последовательно распознает модули NAL в потоке данных изображения, поступающих из буфера 12 изменения порядка, и вставляет в поток модули NAL, не являющиеся VCL, содержащие информацию заголовка. Модули NAL, не являющиеся VCL, которые блок обработки 13 синтаксиса вставляет в поток, включают в себя наборы параметров последовательности (SPS) и наборы параметров изображения (PPS). Кроме того, в настоящем варианте осуществления, блок 13 обработки синтаксиса вставляет в поток набор параметров матрицы квантования (QMPS), модуль NAL, не являющийся VCL, отличающийся от SPS и PPS. Блок 13 обработки синтаксиса также добавляет заголовок среза (SH) в начало срезов. Блок 13 обработки синтаксиса затем выводит поток данных изображения, включающий в себя модули VCL NAL и модули NAL, не являющиеся VCL, в блок 14 вычитания, блок 30 прогнозирования внутри кадра и блок 40 оценки движения. Подробная конфигурация блока 13 обработки синтаксиса будет дополнительно описана ниже.
В блок 14 вычитания подают данные изображения, выводимые из блока 13 обработки синтаксиса, и данные прогнозируемого изображения, выбранные блоком 50 выбора режима, описанным ниже. Блок 14 вычитания рассчитывает данные ошибки прогнозирования, которые представляют собой разность между данными изображения, выводимыми из блока 13 обработки синтаксиса, и данными прогнозируемого изображения, выводимыми из блока 50 выбора режима, и выводит данные рассчитанной ошибки прогнозирования в блок 15 ортогонального преобразования.
Блок 15 ортогонального преобразования выполняет ортогональное преобразование данных ошибки прогнозирования, выводимых из блока 13 вычитания. Ортогональное преобразование, выполняемое блоком 15 ортогонального преобразования, может представлять собой, например, дискретное косинусное преобразование (DCT) или преобразование Карунена-Лоэва. Блок 15 ортогонального преобразования выводит данные коэффициента преобразования, полученные с помощью процесса ортогонального преобразования, в блок 16 квантования.
Блок 16 квантования использует матрицу квантования для квантования данных коэффициента преобразования, вводимых из блока 15 ортогонального преобразования, и выводит квантованные данные коэффициента преобразования (в дальнейшем называются квантованными данными) в блок 17 кодирования без потерь и в блок 21 обратного квантования. Скоростью передачи битов квантованных данных управляют на основе сигнала управления скоростью из блока 19 управления скоростью. Матрицу квантования, используемую блоком 16 квантования, определяют в наборе параметров матрицы квантования, и она может быть установлена в заголовке среза для каждого среза. В случае, когда матрица квантования не установлена, используется плоская матрица квантования, имеющая одинаковый шаг квантования для всех компонентов.
Блок 17 кодирования без потерь генерирует кодированный поток, выполняя процесс кодирования без потерь для вывода квантованных данных из блока 16 квантования. Кодирование без потерь, выполняемое блоком 17 кодирования без потерь, может представлять собой, например, кодирование переменной длины или арифметическое кодирование. Кроме того, блок 17 кодирования без потерь мультиплексирует информацию о прогнозировании внутри кадра или информацию о прогнозирования между кадрами, вводимую из блока 50 выбора режима, в заголовок кодированного потока. Блок 17 кодирования без потерь затем выводит кодированный поток, сгенерированный таким образом, в буфер 18 накопления.
Буфер 18 накопления использует носитель информации, такой как полупроводниковое запоминающее устройство, для временного сохранения в буфере кодированного потока, вводимого из блока 17 кодирования без потерь. Буфер 18 накопления затем выводит кодированный поток, помещенный, таким образом, в буфере, в блок передачи, который не показан (такой как, например, интерфейс передачи данных или соединительный интерфейс с периферийным оборудованием), с частотой, соответствующей полосе пропускания канала передачи.
Блок 19 управления скоростью отслеживает свободное пространство в буфере 18 накопления. Затем блок 19 управления скоростью генерирует сигнал управления скоростью в соответствии со свободным пространством в буфере 18 накопления, и выводит сгенерированный сигнал управления скоростью в блок 16 квантования. Например, когда отсутствует большое свободное пространство в буфере 18 накопления, блок 19 управления скоростью генерирует сигнал управления скоростью для понижения скорости битов квантованных данных. Кроме того, например, когда имеется достаточно свободного пространства в буфере 18 накопления, блок 19 управления скоростью генерирует сигнал управления скоростью для повышения скорости битов квантованных данных.
Блок 21 обратного квантования использует матрицу квантования для выполнения процесса обратного квантования для квантованных данных, вводимых из блока 16 квантования. Блок 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 прогнозирования внутри кадра выполняет процесс прогнозирования внутри кадра в каждом режиме прогнозирования внутри кадра, на основе данных изображения, которые должны быть кодированы, которые вводят из блока 13 обработки синтаксиса, и данные декодированного изображения, подаваемые через селектор 26. Например, в блоке 30 прогнозирования внутри кадра выполняют оценку результата прогнозирования для каждого режима прогнозирования внутри кадра, используя заданную функцию стоимости. Затем блок 30 прогнозирования внутри кадра выбирает режим прогнозирования внутри кадра, который приводит к наименьшему значению функции стоимости, то есть, режим прогнозирования внутри кадра, в результате которого получают наибольшую степень сжатия, как оптимальный режим прогнозирования внутри кадра. Кроме того, блок 30 прогнозирования внутри кадра выводит информацию о прогнозировании внутри кадра, такую как информация о режиме прогнозирования, обозначающая оптимальный режим прогнозирования внутри кадра, данные прогнозируемого изображения и значение функции стоимости в блок 50 выбора режима.
Блок 40 оценки движения выполняет процесс прогнозирования между кадрами (процесс прогнозирования между кадрами) на основе данных изображения, которые должны быть кодированы, то есть, подаваемых из блока 13 обработки синтаксиса, и данных декодированного изображения, подаваемых через селектор 26. Например, блок 40 оценки движения выполняет оценку результата прогнозирования каждого режима прогнозирования, используя заданную функцию стоимости. Затем блок 40 оценки движения выбирает режим прогнозирования, приводящий к наименьшему значению функции стоимости, то есть, режим прогнозирования, с помощью которого получают самую большую степень сжатия, как оптимальный режим прогнозирования. Блок 40 оценки движения генерирует данные прогнозируемого изображения в соответствии с оптимальным режимом прогнозирования. Блок 40 оценки движения выводит информацию о прогнозировании между кадрами, такую, как информация о режиме прогнозирования, обозначающую оптимальный режим прогнозирования внутри кадра, выбранный таким образом, данные прогнозируемого изображения и значение функции стоимости, в блок 50 выбора режима.
Блок 50 выбора режима сравнивает значение функции стоимости, относящейся к прогнозированию внутри кадра, выводимое из блока 30 прогнозирования внутри кадра, со значением функции стоимости, которое соотносится с вводом прогнозирования между кадрами из блока 40 оценки движения. Затем блок 50 выбора режима выбирает способ прогнозирования с меньшим значением функции стоимости между прогнозированием внутри кадра и прогнозированием между кадрами. В случае выбора прогнозирования внутри кадра, блок 50 выбора режима выводит информацию о прогнозировании внутри кадра в блок 17 кодирования без потерь, и также выводит данные прогнозируемого изображения в блок 14 вычитания и в блок 23 суммирования. Кроме того, в случае выбора прогнозирования между кадрами, блок 50 выбора режима выводит информацию о прогнозировании между кадрами, описанную выше, в блок 17 кодирования без потерь, и также выводит данные прогнозируемого изображения в блок 14 вычитания и в блок 23 суммирования.
1-2. Пример конфигурации блока обработки синтаксиса
На фиг.2 показана блок-схема, иллюстрирующая пример подробной конфигурации блока 13 обработки синтаксиса устройства 10 кодирования изображения, представленного на фиг.1. Как показано на фиг.2, блок 13 обработки синтаксиса включает в себя блок 110 установки, блок 120 генерирования параметра и блок 130 вставки.
(1) Блок установки
Блок 110 установки содержит различные установки, используемые для процесса кодирования, выполняемого устройством 10 кодирования изображения. Например, блок 110 установки содержит профиль для каждой последовательности в данных изображения, режима кодирования для каждого изображения, данные, относящиеся к структуре GOP, и т.п. Кроме того, в настоящем варианте осуществления блок 110 установки содержит установки, относящиеся к матрицам квантования, используемым блоком 16 квантования (и блоком 21 обратного квантование). Вопрос о том, какую матрицу квантования следует использовать в блоке 16 квантования, может быть заранее определен для каждого среза, обычно на основе анализа изображения без подключения к сети.
Например, в примерных вариантах применения, таких как цифровые видеокамеры, артефакты сжатия не существуют во входных изображениях, и, таким образом, может использоваться матрица квантования с уменьшенным шагом квантования, даже в высоком диапазоне. Матрица квантования изменяется в модулях изображения или в модулях кадра. В случае входных изображений с малой сложностью, с использованием плоской матрицы квантования с меньшим шагом квантования, обеспечивается возможность улучшения качества изображения, субъективно воспринимаемого пользователем. С другой стороны, в случае входных изображений с высокой сложностью, желательно использовать больший шаг квантования для сдерживания повышения скорости. В этом случае, использование плоской матрицы квантования представляет риск возникновения артефактов в сигнале низкого диапазона, распознаваемых как шум блоков. По этой причине предпочтительно уменьшить шум, используя матрицу квантования, в которой шаг квантования увеличивается, начиная с низкого диапазона, до высокого диапазона.
В примерных вариантах применения, таких как устройства записи, которые повторно сжимают содержание, переданное в режиме широковещательной передачи, кодированное в MPEG 2, артефакты сжатия MPEG 2, такие как москитные шумы, будут присутствовать в самих входных изображениях. Москитный шум представляет собой шум, формируемый в результате квантования сигнала в высоком диапазоне с большим шагом квантования, и частотные компоненты шумов сами по себе становятся очень высокочастотными. Когда выполняют повторное сжатие таких входных изображений, желательно использовать матрицу квантования, имеющую большой шаг квантования в высоком диапазоне. Кроме того, в сигналах с перемежением корреляция сигнала в горизонтальном направлении будет выше, чем корреляция сигнала в вертикальном направлении, по сравнению с прогрессивными сигналами, ввиду эффекта чересстрочной развертки. По этой причине также предпочтительно использовать разные матрицы квантования, в соответствии с тем, является ли сигнал изображения прогрессивным сигналом или сигналом с перемежением. В любом случае, оптимальная матрица квантования может изменяться в модулях изображения или в модулях кадров, в зависимости от содержания изображения.
(2) Блок генерирования параметра
Блок 120 генерирования параметра генерирует параметры, определяющие установки для процесса кодирования, которые поддерживает блок 110 установки, и выводит сгенерированные параметры в блок 130 вставки.
Например, в настоящем варианте осуществления, блок 120 генерирования параметра генерирует параметры матрицы квантования, определяющие матрицы квантования, предназначенные для использования блоком 16 квантования. Группа параметров матрицы квантования, сгенерированная блоком 120 генерирования параметра, включена в набор параметров матрицы квантования (QMPS). Каждому QMPS назначают QMPS ID, который представляет собой идентификатор для различения отдельных QMPS друг от друга. Как правило, множество классов матриц квантования определены в одном QMPS. Классы матриц квантования различают друг от друга по размеру матрицы, вместе с соответствующим способом прогнозирования, и компонентами сигнала. Например, максимум шесть классов матриц квантования (компоненты Y/Cb/Cr в режиме прогнозирования внутри кадра/между кадрами) может быть определено для каждого из размеров 4×4, 8×8, 16×16 и 32×32 в одном QMPS.
Более конкретно, блок 120 генерирования параметра может преобразовывать каждую матрицу квантования в линейный массив, используя зигзагообразную развертку, и может кодировать значение каждого элемента в линейном массиве, в формате дифференциальной импульсно-кодовой модуляции (DPCM), аналогично процессу кодирования матрицы квантования в H.264/AVC. В таком случае, линейные массивы дифференциальных данных DPCM становятся параметрами матрицы квантования. В данном описании такой режим для генерирования параметров матрицы квантования обозначен режимом полной развертки.
Кроме того, блок 120 генерирования параметра также может генерировать параметры матрицы квантования в режиме, который отличается от режима полной развертки, для уменьшения количества кодов параметров матрицы квантования. Например, вместо режима полной развертки, блок 120 генерирования параметра также может генерировать параметры матрицы квантования в режиме копирования или в режиме обозначения оси, которые описаны ниже.
Режим копирования представляет собой режим, который может быть выбран в случае, когда матрица квантования, используемая для данного среза, напоминает или эквивалентна уже определенной матрице квантования. В случае режима копирования, блок 120 генерирования параметра включает в себя QMPS ID для QMPS, в котором определена матрица квантования источника копии, а также размер и тип матрицы квантования источника копии в QMPS, в качестве параметров матрицы квантования. Следует отметить, что в данном описании, комбинация способа прогнозирования и компонентов сигнала, соответствующих заданной матрице квантования, обозначена типом этой матрицы квантования. В случае, когда существует разность между матрицей квантования, которая должна быть определена, и матрицей квантования источника копии, блок 120 генерирования параметра может дополнительно включить остаточные данные для генерирования остаточной матрицы, выражающей остаточную ошибку каждого компонента в QMPS.
Обработка для режима обозначения оси далее разделяется в соответствии с двумя способами установления: дифференциальным способом и способом интерполяции. В дифференциальном способе блок 120 генерирования параметра устанавливает только значения элементов матрицы квантования, соответствующих вертикальной оси, которая представляет собой самый левый столбец, горизонтальной оси, которая представляет собой верхний ряд, и диагональной оси вдоль диагонали модуля преобразования. В способе интерполяции блок 120 генерирования параметра устанавливает только значения элементов в матрице квантования, соответствующих четырем углам в верхнем левом (компонент DC), верхнем правом, нижнем левом и нижнем правом модулях преобразования. Значения остальных элементов могут быть интерполированы, используя произвольную технологию, такую как линейная интерполяция, кубическая интерполяция или интерполяция Лагран