Устройство обработки изображения, способ и программа

Иллюстрации

Показать все

Изобретение относится к устройству/способу обработки изображения и устройству кодирования изображений, которые выполнены с возможностью улучшения качества изображения. Техническим результатом является улучшение качества изображения путем правильного выполнения обработки удаления блоков. Указанный технический результат достигается тем, что фильтр 113 удаления блоков регулирует значение disable_deblocking_filter-idc, slice_alpha_c0_offset_div2 или slice_beta_offset_div2 на основе значения Activity изображения, рассчитанного с помощью блока 141 расчета активности, общей суммы коэффициентов ортогонального преобразования изображения, рассчитанного с помощью блока 142 ортогонального преобразования, значения Complexity изображения, рассчитанного модулем 119 управления скоростью, или общей суммы ошибок прогнозирования изображения, рассчитанной модулем 120 суммирования ошибки прогнозирования. 3 н. и 5 з.п. ф-лы, 7 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к устройству обработки изображения, способу и программе, и к устройству обработки изображения, способу и программе, которые позволяют улучшить качество изображения.

Уровень техники

Шумы блоков представляют собой фактор, который приводит к ухудшению качества изображения, кодированного с использованием способа MPEG-2 (Экспертная группа по вопросам движущегося изображения, фаза 2). Таким образом, в устройстве, которое кодирует изображения с помощью способа MPEG-4 (Экспертная группа по вопросам движущегося изображения, фаза 4) или с помощью способа H.264/AVC (Расширенное видеокодирование), предусмотрен фильтр удаления блоков, который выполняет обработку удаления блоков для удаления шумов блоков (например, см. Патентный документ 1). При использовании такой обработки удаления блоков, даже, например, в изображении с малой скоростью передачи битов можно подавить ухудшение качества изображения.

Патентный документ 1: японский патент №3489735

Сущность изобретения

Техническая задача

Однако поскольку при обработке удаления блоков выполняют обработку фильтрации низкой частоты для границ между блоками, возникает проблема, состоящая в том, что шумы блока могут быть удалены вместе с потерей подробной информации о структуре и т.п. (ниже также называется текстурой) изображения.

Настоящее изобретение было разработано с учетом описанных выше обстоятельств и с целью улучшить качество изображения путем правильного выполнения обработки удаления блоков.

Техническое решение

Устройство обработки изображения в соответствии с аспектом настоящего изобретения включает в себя фильтр удаления блоков, который выполняет обработку удаления блоков в декодированном изображении, полученном в результате декодирования второго изображения, которое используется для оценки движения первого изображения, в случае, когда первое изображение кодировано, и которое было кодировано перед первым изображением, и средство расчета количества деталей, предназначенное для расчета количества деталей, представляющего сложность второго изображения. Фильтр удаления блоков выполняет управление в отношении, следует или нет применять обработку удаления блоков к декодированному изображению, или выполняет управление степенью, в которой обработку удаления блоков следует применять к декодированному изображению, на основе количества деталей.

Средство расчета количества деталей может рассчитывать сложность кодирования второго изображения как количество деталей.

В случае, когда второе изображение представляет собой изображение, кодированное с использованием прогнозирования между кадрами, средство расчета количества деталей может устанавливать, как количество деталей, значение, полученное в результате нормализации трудности кодирования второго изображения путем использования трудности кодирования третьего изображения, кодированного путем использования прогнозирования внутри кадра перед кодированием второго изображения.

Средство расчета количества деталей может разделять второе изображение, которое не было кодировано, на множество блоков, и рассчитывать количество деталей на основе распределения значений пикселя для каждого из блоков.

Средство расчета количества деталей может разделять второе изображение, которое не было кодировано, на множество блоков, и рассчитывать количество деталей на основе коэффициента преобразования, полученного путем выполнения ортогонального преобразования для каждого из блоков.

Средство расчета количества деталей может рассчитывать количество деталей на основе ошибки прогнозирования, которая представляет собой разницу между прогнозируемым изображением для второго изображения, прогнозируемого на основе прогнозирования между кадрами, и второго изображения, которое не было кодировано.

Устройство обработки изображения может кодировать изображение с использованием способа H.264/AVC (Расширенное видеокодирование). Фильтр удаления блоков может выполнять управление, следует ли или нет применять обработку удаления блоков к декодируемому изображению, или выполнять управление степенью, в которой обработка удаления блоков должна быть применена к декодируемому изображению, путем регулировки значения disable_deblocking_filter_idc, slice_alpha_c0_offset_div2 или slice_beta_offset_div2.

Устройство обработки изображения может кодировать изображение с использованием способа MPEG-4 (Экспертная группа по вопросам движущегося изображения, фаза 4), H.264/AVC (Расширенное видеокодирование), или VC-1 (Видео Кодек 1).

Способ обработки изображения или программа в соответствии с аспектом настоящего изобретения включает в себя этапы расчета количества деталей, представляющего сложность второго изображения, которое используют для оценки движения первого изображения в случае, когда первое изображение кодировано, и которое было кодировано перед первым изображением, и управления, следует или нет применять обработку удаления блоков к декодированному изображению, полученному в результате декодирования второго изображения, или управления степенью, в которой обработку удаления блоков требуется применять к декодированному изображению, на основе количества деталей.

В одном аспекте настоящего изобретения количество деталей, представляющее сложность второго изображения, которое используют для оценки движения первого изображения, в случае, когда первое изображение кодировано, и которое кодируют перед расчетом первого изображения, и управление, следует ли или нет применять обработку удаления блоков к декодированному изображению, полученному в результате декодирования второго изображения, или управления степенью, в которой следует применять обработку удаления блоков к декодированному изображению, выполняют на основе количества деталей.

Предпочтительные эффекты

В соответствии с аспектом настоящего изобретения обработку удаления блоков можно правильно выполнять в соответствии с деталями изображения. Кроме того, в соответствии с аспектом настоящего изобретения можно улучшить качество изображения.

Краткое описание чертежей

На фиг.1 показана блок-схема, представляющая вариант воплощения устройства обработки изображения, в котором применяют настоящее изобретение.

На фиг.2 показана блок-схема последовательности операций, предназначенная для пояснения обработки кодирования, выполняемой устройством обработки изображения по фиг.1.

На фиг.3 показана блок-схема последовательности операций, поясняющая первый вариант воплощения обработки управления удаления блоков, выполняемой с помощью устройства обработки изображения по фиг.1.

На фиг.4 показана блок-схема последовательности операций, предназначенная для пояснения второго варианта воплощения обработки управления удалением блоков, выполняемой с помощью устройства обработки изображения по фиг.2.

На фиг.5 показана блок-схема последовательности операций, предназначенная для пояснения третьего варианта воплощения обработки управления удалением блоков, выполняемой устройством обработки изображения по фиг.3.

На фиг.6 показана блок-схема последовательности операций, поясняющая четвертый вариант воплощения обработки управления удалением блоков, выполняемой устройством обработки изображения по фиг.4.

На фиг.7 показана блок-схема, представляющая пример конфигурации персонального компьютера.

Пояснение номеров ссылочных позиций

101 - устройство обработки изображения, 113 - модуль расчета количества деталей, 114 - сумматор, 115 - модуль ортогонального преобразования, 119 - модуль управления скоростью, 120 - модуль суммирования ошибки прогнозирования, 124 - фильтр удаления блоков, 126 - модуль прогнозирования внутри кадра, 127 - модуль оценки и компенсации движения, 141 - блок расчета активности, 142 - блок ортогонального преобразования.

Подробное описание изобретения

Ниже будут описаны варианты воплощения настоящего изобретения со ссылкой на чертежи.

На фиг.1 показана блок-схема, представляющая конфигурацию варианта воплощения устройства обработки изображения, в котором применяется настоящее изобретение.

Устройство 101 обработки изображения представляет собой устройство, предназначенное для кодирования входного изображения, с использованием способа H.264/AVC (Расширенное видеокодирование) и вывода кодированного изображения, например, в устройство записи или в канал передачи, которые не показаны, на последующем этапе.

Устройство 101 обработки изображения выполнено так, что оно включает в себя модуль 111 A/D преобразования (А/Ц, аналогово-цифровое), буфер 112 изменения компоновки экрана, модуль 113 расчета количества деталей, сумматор 114, модуль 115 ортогонального преобразования, модуль 116 квантования, модуль 117 кодирования без потерь, буфер 118 накопителя, модуль 119 управления скоростью, модуль 120 суммирования ошибки прогнозирования, модуль 121 удаления квантования, модуль 122 инверсного ортогонального преобразования, сумматор 123, фильтр 124 удаления блоков, запоминающее устройство 125 кадра, модуль 126 прогнозирования внутри кадра и модуль 127 оценки и компенсации движения. Кроме того, модуль 113 расчета количества деталей выполнен так, что он включает в себя блок 141 расчета активности и блок 142 ортогонального преобразования.

Модуль 111 А/Ц преобразования выполняет аналогово-цифровое преобразование аналогового изображения, вводимого извне, с получением цифрового изображения, и передает преобразованное цифровое изображение (ниже также называется оригинальным изображением, когда это соответствует) в буфер 112 изменения компоновки экрана.

Буфер 112 изменения компоновки экрана изменяет компоновку оригинальных изображений, передаваемых из модуля 111 А/Ц преобразования, на основе структуры ГРИ (ГРИ, группа изображений), и последовательно передает оригинальные изображения в модуль 113 расчета количества деталей.

Модуль 113 расчета количества деталей рассчитывает количество деталей, представляющее сложность оригинального изображения. Кроме того, модуль 113 расчета количества деталей передает в сумматор 114, модуль 126 прогнозирования внутри кадра и модуль 127 оценки и компенсации движения оригинальное изображение, для которого был закончен подсчет количества деталей.

Среди элементов, составляющих модуль 113 подсчета количества деталей, блок 141 расчета активности разделяет оригинальное изображение на множество блоков и рассчитывает количество деталей оригинального изображения на основе дисперсии значений пикселей в каждом блоке, как описано ниже со ссылкой на фиг.4. Блок 141 расчета активности передает информацию, обозначающую рассчитанное количество деталей, в фильтр 124 удаления блоков.

Кроме того, как описано ниже со ссыпкой на фиг.5, блок 142 ортогонального преобразования разделяет оригинальное изображение на множество блоков, и рассчитывает количество деталей оригинального изображения на основе коэффициента преобразования, полученного в результате выполнения ортогонального преобразования для каждого из блоков. Блок 142 ортогонального преобразования передает информацию, обозначающую рассчитанное количество деталей, в фильтр 124 удаления блоков.

Для каждого макроблока сумматор 114 получает из модуля 126 прогнозирования внутри кадра или модуля 127 оценки и компенсации движения одно из изображения, прогнозируемого внутри кадра, прогнозируемого на основе прогнозирования внутри кадра (прогнозирование внутри, кадра), и изображения, прогнозируемого между кадрами, прогнозируемого на основе прогнозирования между кадрами (прогнозирование между кадрами, прогнозирование компенсации движения) для оригинального изображения. Сумматор 114 рассчитывает для каждого макроблока разность между оригинальным изображением и изображением, прогнозируемым внутри кадра, или изображением, прогнозируемым между кадрами, и применяет к модулю 115 ортогонального преобразования и к модулю 120 суммирования ошибки прогнозирования разностное изображение, формируемое из ошибки прогнозирования, полученной путем расчета разности.

Модуль 115 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, по разностному изображению для каждого блока, имеющего заданный размер, и передает полученные, таким образом, коэффициенты преобразования в модуль 116 квантования.

Модуль 116 квантования выполняет квантование коэффициентов преобразования, переданных из модуля 115 ортогонального преобразования, используя масштабы квантования, управляемые модулем 119 управления скоростью, и передает квантованные коэффициенты преобразования в модуль 117 кодирования без потерь и в модуль 121 удаления квантования.

Модуль 117 кодирования без потерь получает информацию о прогнозировании внутри кадра из модуля 126 прогнозирования внутри кадра и получает информацию о прогнозировании между кадрами из модуля 127 оценки и компенсации движения. Модуль 117 кодирования без потерь располагает квантованные коэффициенты преобразования, информацию о прогнозировании внутри кадра, информацию о прогнозировании между кадрами и т.п.в заданном порядке, и выполняет обработку кодирования без потерь, такую как кодирование с переменной длиной, такое как CAVLC (КЗАКПД, Контекстнозависимое адаптивное кодирование с переменной длиной кодового слова) или арифметическое кодирование, такое как САВАС (КЗДАК, Контекстнозависимое двоичное арифметическое кодирование), для скомпонованных данных. Модуль 117 кодирования без потерь передает кодированные данные в буфер-накопитель 118 для сохранения в нем.

Буфер-накопитель 118 выводит, как изображение, кодированное с помощью способа H.264/AVC, данные, переданные из модуля 117 кодирования без потерь, например, в устройство записи или в канал передачи, который не представлен на иллюстрации, на следующем этапе.

Модуль 119 управления скоростью управляет на основе количества кода изображения, сохраненного в буфере-накопителе 118, скоростью передачи битов, которая представляет собой количество кода за единицу времени, назначенную для кодируемого изображения.

Например, модуль управления 119 скоростью управляет, путем использования способа управления скоростью, определенного в соответствии с MPEG-2 TestModel 5 (ТМ5), скорость передачи битов, путем управления значением масштаба квантователя, которое представляет собой значение, определяющее коэффициент преобразования, когда модуль 116 квантования выполняет квантование. Кроме того, как описано ниже со ссылкой на фиг.3, модуль 119 управления скоростью рассчитывает сложность кодирования, как количество деталей, представляющих сложность оригинального изображения, и передает рассчитанную сложность кодирования в фильтр 124 удаления блоков.

Модуль 120 суммирования ошибки прогнозирования рассчитывает, как описано ниже со ссылкой на фиг.6, количество деталей, представляющее сложность изображения, на основе ошибок прогнозирования, формирующих разностное изображение, полученное из сумматора 114. Модуль 120 суммирования ошибки прогнозирования передает информацию, обозначающую рассчитанное количество деталей, в фильтр 124 удаления блоков.

Модуль 121 удаления квантования удаляет квантование коэффициентов преобразования, переданных из модуля 116 квантования, и передает коэффициенты преобразования после удаления квантования в модуль 122 инверсного ортогонального преобразования.

Модуль 122 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование, такое как инверсное дискретно-косинусное преобразование или инверсное преобразование Карунена-Лоэва, для коэффициентов преобразования, переданных из модуля 121 удаления квантования. Таким образом, в результате декодирования получают разностное изображение. Модуль 122 инверсного ортогонального преобразования передает декодированное разностное изображение в сумматор 123.

Сумматор 123 получает из модуля 126 прогнозирования внутри кадра или модуля 127 оценки и компенсации движения изображение, прогнозированное внутри кадра, или изображение, прогнозированное между кадрами, которое использовали для генерирования разностного изображения, и суммирует вместе разностное изображение и полученное изображение, прогнозированное внутри кадра, или изображение, прогнозированное между кадрами. Таким образом, в результате декодирования получают оригинальное изображение. Сумматор 123 передает декодированное изображение (ниже называется декодированным изображением, когда это соответствует) в фильтр 124 удаления блоков.

Фильтр 124 удаления блоков выполняет обработку удаления блоков для удаления шумов блока в декодированном изображении. Следует отметить, что, как описано ниже со ссылкой на фиг.3-6, фильтр 124 удаления блоков выполняет управление, следует ли или нет применять обработку удаления блоков к декодированному изображению, или управляет степенью, в который следует применять обработку удаления блоков к декодированному изображению, на основе количества деталей, полученного из модуля 119 управления скоростью, модуля 120 суммирования ошибки прогнозирования, модуля 141 расчета активности или модуля 142 ортогонального преобразования. Фильтр удаления 124 блоков передает декодированное изображение, которое подверглось обработке удаления блоков, в запоминающее устройство 125 кадра. Кроме того, фильтр 124 удаления блоков непосредственно передает, как изображение для использования при прогнозировании внутри кадра, декодированное изображение, которое не подвергалось обработке удаления блоков, в запоминающее устройство 125 кадра.

Запоминающее устройство 125 кадра сохраняет, как изображение, к которому обращаются в случае выполнения прогнозирования внутри кадра или прогнозирования между кадрами (ниже называется опорным изображением, когда это соответствует), декодированное изображение, переданное из фильтра 124 удаления блоков.

Модуль 126 прогнозирования внутри кадра выполняет для каждого макроблока, используя кодированный пиксель, расположенный рядом с соответствующим макроблоком в одном и том же кадре, сохраненном в запоминающем устройстве 125 кадра, прогнозирование внутри кадра для генерирования прогнозируемого изображения, в качестве оригинального изображения. Следует отметить, что, как описано выше, пиксель декодированного изображения, который не подвергали обработке удаления блоков, используется для прогнозирования внутри кадров.

Модуль 127 оценки и компенсации движения детектирует для каждого макроблока, путем использования опорного изображения в другом кадре, сохраненном в запоминающем устройстве 125 кадра, вектор движения оригинального изображения относительно опорного изображения, и выполняет компенсацию движения для опорного изображения, используя детектированный вектор движения. В соответствии с этим, модуль 127 оценки и компенсации движения выполняет прогнозирование между кадрами для генерирования изображения, прогнозированного между кадрами, для оригинального изображения.

Кроме того, режим прогнозирования, применяемый к каждому макроблоку, определяют, например, с помощью модуля определения режима, который не представлен, с использованием способа Режима малой сложности (высокоскоростной режим). В случае, когда применяемый режим прогнозирования представляет собой режим прогнозирования для прогнозирования внутри кадра, как показано на фиг.1, запоминающее устройство 125 кадра и модуль 126 прогнозирования внутри кадра соединены вместе, и модуль 126 прогнозирования внутри кадра, сумматор 114 и сумматор 123 соединены вместе. Модуль 126 прогнозирования внутри кадра генерирует изображение, прогнозируемое внутри кадра, на основе выбранного режима прогнозирования, и передает сгенерированное изображение, спрогнозированное внутри кадра, в сумматор 114 и в сумматор 123. Кроме того, модуль 126 прогнозирования внутри кадра передает без потерь, как информацию о прогнозировании внутри кадра макроблока, для которого было выполнено прогнозирование внутри кадра, информацию о применяемом режиме прогнозирования и т.п.в модуль 117 кодирования.

Кроме того, в случае, когда используемый режим прогнозирования представляет собой режим прогнозирования для прогнозирования между кадрами, хотя это и не показано на фиг.1, запоминающее устройство 125 кадра и модуль 127 оценки и компенсации движения соединены вместе, и модуль 127 оценки и компенсации движения, сумматор 114 и сумматор 123 соединены вместе. Модуль 127 оценки и компенсации движения генерирует изображение, прогнозируемое между кадрами, на основе выбранного режима прогнозирования и передает сгенерированное изображение, спрогнозированное между кадрами, в сумматор 114 и в сумматор 123. Кроме того, модуль 126 прогнозирования внутри кадра передает без потерь, в качестве информации о прогнозировании между кадрами макроблока, для которого было выполнено прогнозирование между кадрами, информацию о применяемом режиме прогнозирования, детектированный вектор движения, номер изображения (картинки), на которое делается ссылка, и т.п., в модуль 117 кодирования.

Ниже будет описана, со ссылкой на блок-схему последовательности операций, показанную на фиг.2, обработка кодирования, выполняемая устройством 101 обработки изображения по фиг.1. Следует отметить, что эта обработка начинается, например, когда начинается ввод изображения извне в устройство 101 обработки изображения.

На этапе S1 устройство 101 обработки изображения начинает кодировать изображение. Таким образом, в результате начала операций, описанных выше со ссылкой на фиг.1, выполняемых отдельными компонентами устройства 101 обработки изображения, начинается кодирование входного изображения в соответствии со способом H.264/AVC. Кроме того, также начинается обработка управления удаления блоков, которая будет описана ниже со ссылкой на фиг.3-6.

На этапе S2 устройство 101 обработки изображения определяет, были ли кодированы все изображения. Кодирование изображений выполняют до тех пор, пока не будет определено на этапе S2, что все изображения, введенные извне, были кодированы. В случае, когда определяют, что все изображения, введенные извне, были кодированы, обработка кодирования заканчивается.

Далее, со ссылкой на блок-схему последовательности операций, показанную на фиг.3, будет описан первый вариант воплощения обработки управления удаления блоков, выполняемой устройством 101 обработки изображения при обработке процесса кодирования, который был описан со ссылкой на фиг.2.

На этапе S21 модуль 119 управления скоростью рассчитывает сложность кодирования Complexity. В частности, модуль 119 управления скоростью получает кодированное изображение из буфера 118 накопителя. Модуль 119 управления скоростью рассчитывает сложность кодирования Complexity как количество деталей, представляющих сложность изображения, используя следующее уравнение (1):

Здесь PictureGeneratedBis представляет количество сгенерированного кода изображения. Кроме того, PictureAverageQuant представляет среднее значение масштабов квантователя, применяемых к изображению, и рассчитанное по следующему уравнению (2):

[Выражение 1]

Здесь, MBNum представляет количество макроблоков изображения. Кроме того, Quantk представляет масштаб квантователя, примененный к k-му макроблоку изображения, и его рассчитывают по следующему уравнению (3):

[Выражение 2]

Здесь QPk представляет собой параметр квантования k-го макроблока в изображении.

Таким образом, значение Complexity, рассчитанное по уравнению (1), представляет собой значение, полученное путем умножения сгенерированного количества кода изображения на среднее значение масштаба квантователя. Таким образом, значение Complexity становится меньшим при уменьшении количества движения в изображении. Кроме того, значение Complexity становится большим, при увеличении количества движения в изображении.

На этапе S22 фильтр 124 удаления блоков регулирует параметры, относящиеся к обработке удаления блоков. В частности, модуль 119 управления скоростью передает информацию, обозначающую рассчитанное значение Complexity, в фильтр 124 удаления блоков. Фильтр 124 удаления блоков регулирует значения disable_deblocking_filter_idc, slice_alpha_c0_offset_div2 и slice_beta_offset_div2 в соответствии со значением Complexity изображения, подвергаемого обработке удаления блоков.

Disable_deblocking_filter_idc представляет собой параметр для установки, следует применять или нет обработку удаления блоков, и может быть установлен для каждого среза. Disable_deblocking_filter_idc устанавливают равным 0 в случае, когда обработку удаления блоков применяют, и устанавливают равным 1 в случае, когда обработку удаления блоков не применяют, и устанавливают равным 2 в случае, когда обработку удаления блоков не применяют на границе между срезами.

Slice_alpha_c0_offset_div2 представляет собой параметр для регулировки степени, в которой обработку удаления блоков применяют к границе между блоками в случае, когда срез разделен на блоки размером 4×4 пикселя, и может быть установлен для каждого среза. Slice_alpha_c0_offset_div2 может быть установлен в пределах диапазона от -6 до +6. По мере уменьшения его значения степень, в которой применяют обработку удаления блоков, становится меньшей. При увеличении его значения степень, в которой применяют обработку удаления блоков, увеличивается.

Slice_beta_offset_div2 представляет собой параметр для регулировки степени, в которой обработку удаления блоков применяют к пикселю в блоке, в случае, когда срез разделен на блоки размером 4x4 пикселя, и может быть установлен для каждого среза. Slice_beta_offset_div2 может быть установлен в пределах диапазона от -6 до +6. По мере уменьшения его значения степень, в которой применяют обработку удаления блоков, становится меньшей. По мере увеличения его значения степень, в которой применяют обработку удаления блоков, становится большей.

На этапе S22, например, в случае, когда значение Complexity меньше, чем заданное пороговое значение Thc, disable_deblocking_filter_idc устанавливают равным 1. Таким образом, для изображения, в котором сгенерированы только незначительные шумы, и происходит очень незначительное движение, обработку удаления блоков не применяют.

Кроме того, например, в случае, когда значение Complexity равно или больше, чем пороговое значение Thc, значения slice_alpha_c0_offset_div2 и slice_beta_offset_div2 регулируют в соответствии со значением Complexity. Например, по мере того, как значение Complexity становится меньше, значения slice_alpha_c0_orfset_div2 и slice_beta_offset_div2 устанавливают близкими к -6. Кроме того, по мере того, как значение Complexity становится больше, значения slice_alpha_c0_offset_div2 и slice_beta_offset_div2 устанавливают близкими к +6. Таким образом, для изображения, в котором шумы блоков менее вероятно будут сгенерированы и в котором происходит малое количество движений, степень, в которой применяют обработку удаления блоков, уменьшают. Кроме того, для изображения, в котором шумы блока, более вероятно, будут сгенерированы, и присутствует большое количество движения, степень, в которой применяют обработку удаление блоков, увеличивается.

На этапе S23 фильтр 124 удаления блоков выполняет обработку удаления блоков, и на этом обработка управления удалением блоков заканчивается. Декодированное изображение, которое подвергли обработке удаления блоков, сохраняют как опорное изображение в запоминающем устройстве 125 кадра. Следует отметить, что в случае, когда disable_deblocking_filter_idc установлен равным 1, обработку удаления блоков не выполняют.

Как описано выше, в соответствии со значением Complexity, обработку удаления блоков соответствующим образом выполняют для декодированного изображения, и генерируют опорное изображение, из которого были удалены шумы блоков, при сохранении текстуры. Таким образом, может быть улучшено качество изображения для изображения, которое подвергали кодированию прогнозирования между кадрами, используя опорные изображения.

Следует отметить, что пороговое значение Thc можно изменять в соответствии с типом изображения, то есть в соответствии с тем, является ли изображение I-изображением, Р-изображением, или В-изображением.

Кроме того, сложность кодирования Р-изображения и В-изображения, которые представляют собой изображения, кодированные с использованием прогнозирования между кадрами, может быть нормализовано путем использования значения Complexity I - изображения, которое представляет собой изображение, кодированное с использованием прогнозирования внутри кадра, перед тем как обработкой изображения и удаления блоков можно управлять на основе нормализованных значений (Norm_Complexity). Norm_ComplexityPpic, которые получают в результате нормализации значения Complexity Р-изображения и Norm_ComplexityBpic, которые получают путем нормализации значения Complexity В-изображения, рассчитывают с помощью следующих уравнений (4)-(8):

Следует отметить, что значение ComplexityIpic, PictureGeneratedBisIpic и PictureAverageQuantIpic представляют сложность кодирования, количество сгенерированного кода и среднее значение масштаба квантователя I-изображения, соответственно. Кроме того, ComplexityPpic, PictureGeneratedBisPpic и PictureAverageQuantPpic представляют сложность кодирования, количество сгенерированного кода и среднее значение масштаба квантователя Р-изображения, соответственно. Кроме того, ComplexityBpic, PictureGeneratedBisBpic и PictureAverageQuantIBic представляют сложность кодирования, количество сгенерированного кода и среднее значение масштаба квантователя В-изображения, соответственно.

Например, в случае, когда изображение, подвергаемое обработке удаления блоков, представляет собой Р-изображение или В-изображение, если Norm_Complexity меньше, чем заданное пороговое значение, Thcn, disable_deblocking_filter_idc устанавливают равным 1. Таким образом, для изображения, в котором генерируется только незначительное количество шумов блоков и происходит очень малое движение, обработку удаления блоков не применяют.

Кроме того, например, в случае, когда Norm_Complexity равно или больше, чем пороговое значение Thcn, значения slice_alpha_c0_offset_div2 и slice_beta_offset_div2 регулируют в соответствии со значением Norm_Complexity. Например, по мере того, как значение Norm_Complexity становится меньше, slice_alpha_c0_offset_div2 и slice_beta_offset_div2 устанавливают близкими -6. Кроме того, по мере того, как значение Norm_Complexity становится больше, slice_alpha_c0_offset_div2 и slice_beta_offset_div2 устанавливают близкими +6. Таким образом, для изображения, в котором шумы блоков менее вероятно будут сгенерированы и присутствует малое количество движения, степень, в которой применяют обработку удаления блоков, уменьшают. Кроме того, для изображения, в котором шумы блоков более вероятно будут сгенерированы и присутствует большое количество движения, степень, в которой применяют обработку удаления блоков, увеличивают.

Поскольку Norm_ComplexityPpic и Norm_ComplexityBpic представляют движение Р-изображения и В-изображения в случае, когда движение I-изображения установлено равным 1, и сложность движения каждого изображения можно, таким образом, более точно выделить, обработку удаления блоков можно выполнять более соответствующим образом. Таким образом, качество изображения для изображения, которое подвергают кодированию с прогнозированием между кадрами, может быть дополнительно улучшено.

Следует отметить, что пороговое значение Thcn можно изменять в соответствии с типом изображения, то есть в соответствии с тем, является ли изображение Р-изображением или В-изображением.

Кроме того, предпочтительно, чтобы I-изображение, используемое для нормализации, представляло собой I-изображение, которое было кодировано самым последним перед изображением, или I-изображением, на которое ссылались при кодировании изображения.

Кроме того, для I-изображения обработкой удаления блоков управляют на основе значения Complexity, как описано выше.

Далее, со ссылкой на блок-схему последовательности операций, показанную на фиг.4, будет описан второй вариант воплощения обработки управления удалением блоков, выполняемой устройством 101 обработки изображения, при обработке кодирования, которая была описана со ссыпкой на фиг.2.

На этапе S41 блок 141 расчета активности рассчитывает значение Activity. В частности, блок 141 расчета активности рассчитывает значение Activity как количество деталей, представляющее сложность изображения, предназначенного для кодирования, используя следующее уравнение (9):

[Выражение 3]

Здесь, actk представляет активность k-го макроблока изображения, и его рассчитывают с помощью следующего уравнения (10):

[Выражение 4]

Здесь один макроблок разделяют на четыре подблока, сформированных из 8×8 пикселей, и var sblk представляют значение, обозначающее дисперсию значений пикселей разделенного подблока, и ее рассчитывают с помощью следующих уравнений (11) и (12):

[Выражение 5]

Здесь Pk представляет собой значение пикселя для k-го пикселя в подблоке. Кроме того, var sblk получают для каждого подблока в двух случаях, в режиме кодирования DCT кадра и в режиме кодирования DCT поля, и minsblk=1,8 (var sblk) в уравнении (10) представляет минимальное значение полученного var sblk.

Таким образом, значение Activity, рассчитанное по уравнению (9), представляет собой среднее значение активности отдельных макроблоков в изображении, и представляет собой значение, например, используемое для управления скоростью, определенной по MPEG-2 TestModel 5 (ТМ5). Таким образом, значение Activity становится меньшим, по мере того, как степень изменения значений пикселя уменьшается. Кроме того, значение Activity становится большим, по мере того, как степень изменения значений пикселя увеличивается.

На этапе S42 фильтр 124 удаления блоков регулирует параметры, относящиеся к обработке удаления блоков. В частности, блок 141 расчета активности передает информацию, обозначающую рассчитанное значение Activity, в фильтр 124 удаления блоков. Фильтр 124 удаления блоков регулирует значения disable_deblocking_filter_idc, slice_alpha_c0_offset_div2 и slice_beta_offset_div2 в соответствии со значением Activity изображения, подвергаемого обработке удаления блоков.

Например, в случае, когда значение Activity меньше, чем заданное пороговое значение Tha, disable_deblocking_filter_idc устанавливают равным 1. То есть для ровного изображения, в котором генерируется только незначительное количество шумов блоков и происходит очень небольшое количество изменений значений пикселей, обработку удаления блоков не применяют.

Кроме того, например, в случае, когда значение Activity равно или больше, чем пороговое значение Tha, значения slice_alpha_c0_offset_div2 и slice_beta_offset_div2 регулируют в соответствии со значением Activity. Например, по мере того, как значение Activity становится меньше, slice_alpha_c0_offset_div2 и slice_beta_offset_div2 устанавливают равным значениям, близким к -6. Кроме того, по мере того, как значение Activity становится большим, slice_alpha_c0_offset_div2 и slice_beta_offset_div2 устанавливают равными значениям, близким к +6. Таким образом, для изображения, в котором, менее вероятно, будут сгенерированы шумы блока, и небольшое количество изменений происходит в значениях пикселей, степень, в которой применяют обработку удаления блоков, уменьшается. Кроме того, для сложного изображения, в котором более вероятно будут сгенерированы шумы блока, и большое количество изменений происходит в значениях пикселей, степень, в которой применяют обработку удаления блоков, увеличивается.

На этапе S43, как и в описанной выше обработке на этапе S23 по фиг.3, выполняют обработку удаления блоков, и заканчивается обработка управления удалением блоков.

Как описано выше, в соответствии со значением Activity, обработку удаления блоков соответствующим образом выполняют для декодированного изображения, и опорное изображение, в котором были удалены шумы блоков, генерируют при сохранении текстуры.