Устройство обработки изображений и способ обработки изображений
Иллюстрации
Показать всеИзобретение относится к способу и устройству обработки изображений, и ,в частности, к применению фильтра удаления блочности для стандарта высокоэффективного кодирования видео (HEVC). Техническим результатом является обеспечение дополнительного распараллеливания обработки при применении фильтра удаления блочности. Предложено устройство обработки изображений, содержащее: секцию декодирования для декодирования изображения из закодированного потока, секцию горизонтальной фильтрации для применения фильтра удаления блочности к вертикальной границе блока в изображении, которое должно быть декодировано в секции декодирования, секцию вертикальной фильтрации для применения фильтра удаления блочности к горизонтальной границе блока в изображении, которое должно быть декодировано в секции декодирования, и секцию управления, в результате работы которой в секции горизонтальной фильтрации параллельно фильтруют несколько вертикальных границ блока, содержащихся в обрабатываемом элементе, который включает в себя несколько кодируемых элементов, и в секции вертикальной фильтрации параллельно фильтруют несколько горизонтальных границ блока, содержащихся в обрабатываемом элементе. 3 н. и 10 з.п. ф-лы, 47 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение касается устройства обработки изображений и способа обработки изображений.
Уровень техники
H.264/AVC, один из стандартов схемы кодирования изображений, применяет фильтр удаления блочности к границе блока в объединениях блоков, каждый из которых содержит, например, 4×4 пикселей, что нужно для предотвращения ухудшения качества изображения из-за блочности изображения при его кодировании. Фильтр удаления блочности требует большого объема обработки и может требовать, например, до 50% всего объема обработки при декодировании изображений.
Стандартная работа для высокоэффективного видеокодирования (HEVC), схема кодирования изображений следующего поколения, предлагает применение фильтра удаления блочности в объединениях блоков, каждый из которых содержит 8×8 пикселей или более в соответствии с JCTVC-A119 (смотри документ 1, который не относится к патентной литературе 1). Технология, предложенная в JCTVC-A119, увеличивает размер блока до минимального элемента, который позволяет применить фильтр удаления блочности для параллельного осуществления процессов фильтрации границ блока в том же направлении в одном макроблоке.
Список цитируемой литературы Литература, не относящаяся к патентам Документ 1, который не относится к патентной литературе: К Угур (K.Ugur) (компания Nokia), К.Р. Андерссон (K.R. Andersson) (компания LM Ericsson), А. Фалдсет (A. Fuldseth) (компания Tandberg Telecom), "JCTVC-A119: предложение по технологии видеокодирования, Tandberg, Nokia и Ericsson", документы первого собрания Объединенной команды по видеокодированию (JCT-VC), Дрезден, Германия, 15-23 апреля, 2010.
Сущность изобретения
Техническая задача
Даже при использовании технологии, предложенной в JCTVC-A119, остается зависимость между обработкой вертикальной границы блока и обработкой горизонтальной границы блока. Более конкретно, обработка вертикальной границы блока для одного макроблока ждет осуществления обработки горизонтальной границы соседнего макроблока. Обработка горизонтальной границы блока для одного макроблока ждет осуществления обработки вертикальной границы того же макроблока. Описанная выше технология обеспечивает только очень ограниченную параллельную обработку, осуществляемую фильтром удаления блочности. Соответственно, описанная выше технология не может успешно решить проблемы задержки и уменьшить скорости обработки данных из-за большого объема обработки при применении фильтра удаления блочности.
Технология, соответствующая этому изобретению, направлена на то, чтобы предоставить устройство обработки изображений и способ обработки изображений, которые способны обеспечить дополнительное распараллеливание обработки при применении фильтра удаления блочности.
Решение задачи
В соответствии с некоторым вариантом осуществления настоящего изобретения предложено устройство обработки изображений, содержащее: секцию декодирования, приспособленную для декодирования изображения из закодированного потока, секцию горизонтальной фильтрации, приспособленную для применения фильтра удаления блочности к вертикальной границе блока в изображении, которое должно быть декодировано в секции декодирования, секцию вертикальной фильтрации, приспособленную для применения фильтра удаления блочности к горизонтальной границе блока в изображении, которое должно быть декодировано в секции декодирования, и секцию управления, в результате работы которой в секции горизонтальной фильтрации параллельно фильтруют несколько вертикальных границ блока, содержащихся в обрабатываемом элементе, который включает в себя несколько кодируемых элементов, и в секции вертикальной фильтрации параллельно фильтруют несколько горизонтальных границ блока, содержащихся в обрабатываемом элементе.
Как правило, устройство обработки изображений может быть реализовано в виде устройства декодирования изображений, которое декодирует изображения.
В соответствии с некоторым вариантом осуществления настоящего изобретения предложен способ обработки изображений, включающий в себя следующее: декодируют изображение из закодированного потока, осуществляют горизонтальную фильтрацию путем применения фильтра удаления блочности к вертикальной границе блока в изображении, которое должно быть декодировано, осуществляют вертикальную фильтрацию путем применения фильтра удаления блочности к горизонтальной границе блока в изображении, которое должно быть декодировано, и управляют горизонтальной фильтрацией и вертикальной фильтрацией так, чтобы параллельно фильтровать несколько вертикальных границ блока, содержащихся в обрабатываемом элементе, который включает в себя несколько кодируемых элементов, и параллельно фильтровать несколько горизонтальных границ блока, содержащихся в обрабатываемом элементе.
В соответствии с некоторым вариантом осуществления настоящего изобретения предложено устройство обработки изображений, содержащее: секцию горизонтальной фильтрации, приспособленную для применения фильтра удаления блочности к вертикальной границе блока в изображении, которое должно быть локально декодировано при кодировании изображения, которое должно быть закодировано, секцию вертикальной фильтрации, приспособленную для применения фильтра удаления блочности к горизонтальной границе блока в изображении, секцию управления, в результате работы которой в секции горизонтальной фильтрации параллельно фильтруют несколько вертикальных границ блока, содержащихся в обрабатываемом элементе, который включает в себя несколько кодируемых элементов, и в секции вертикальной фильтрации параллельно фильтруют несколько горизонтальных границ блока, содержащихся в обрабатываемом элементе, и секцию кодирования, приспособленную для кодирования изображения, которое должно быть закодировано, с использованием изображения, прошедшего фильтрацию с помощью секции горизонтальной фильтрации и секции вертикальной фильтрации.
Как правило, устройство обработки изображений может быть реализовано в виде устройства кодирования изображений, которое кодирует изображения.
В соответствии с некоторым вариантом осуществления настоящего изобретения предложен способ обработки изображений, включающий в себя следующее: осуществляют горизонтальную фильтрацию путем применения фильтра удаления блочности к вертикальной границе блока в изображении, которое должно быть локально декодировано при кодировании изображения, которое должно быть закодировано, осуществляют вертикальную фильтрацию путем применения фильтра удаления блочности к горизонтальной границе блока в изображении, управляют горизонтальной фильтрацией и вертикальной фильтрацией так, чтобы параллельно фильтровать несколько вертикальных границ блока, содержащихся в обрабатываемом элементе, который включает в себя несколько кодируемых элементов, и параллельно фильтровать несколько горизонтальных границ блока, содержащихся в обрабатываемом элементе, и кодируют изображение, которое должно быть закодировано, с использованием изображения, прошедшего фильтрацию в ходе горизонтальной фильтрации и вертикальной фильтрации.
Полезные эффекты изобретения
Как описано выше, устройство обработки изображений и способ обработки изображений, соответствующие варианту осуществления настоящего изобретения, дополнительно улучшают параллельную обработку при использовании фильтра удаления блочности.
Краткое описание чертежей
фиг.1 - вид, показывающий структурную схему одного примера структуры устройства кодирования изображений в соответствии с некоторым вариантом осуществления изобретения;
фиг.2 - вид, показывающий структурную схему одного примера структуры устройства декодирования изображений в соответствии с некоторым вариантом осуществления изобретения;
фиг.3 - пояснительный вид, показывающий один пример соседних пикселей вокруг границы;
фиг.4 - пояснительный вид, иллюстрирующий опорные пиксели во время процессов определения необходимости фильтрации в соответствии с существующей технологией;
фиг.5 - пояснительный вид, показывающий пиксели, обновленные с помощью процессов фильтрации;
фиг.6 - пояснительный вид, показывающий определение краев для описания варианта осуществления изобретения;
фиг.7 - пояснительный вид, иллюстрирующий параллельную обработку в соответствии с существующей технологией.
фиг.8 - первый пояснительный вид, иллюстрирующий зависимость между процессами, соответствующими существующей технологии;
фиг.9 - второй пояснительный вид, иллюстрирующий зависимость между процессами, соответствующими существующей технологии;
фиг.10 - пояснительный вид, иллюстрирующий последовательность процессов в соответствии с существующей технологией;
фиг.11 - пояснительный вид, иллюстрирующий последовательность процессов в соответствии с первым демонстрационным примером;
фиг.12 - структурная схема, иллюстрирующая подробную структуру фильтра удаления блочности в соответствии с первым вариантом осуществления изобретения;
фиг.13 - структурная схема, показывающая подробную структуру секции определения;
фиг.14 - пояснительный вид, показывающий соседние блоки вокруг границы среза;
фиг.15 - пояснительный вид, показывающий первый пример последовательности процессов, для каждого среза;
фиг.16 - пояснительный вид, показывающий второй пример последовательности процессов, для каждого среза;
фиг.17 - пояснительный вид, иллюстрирующий первый и второй примеры технологии определения, предложенной в модификации;
фиг.18 - пояснительный вид, иллюстрирующий третий и четвертый примеры технологии определения, предложенной в модификации;
фиг.19 - пояснительный вид, иллюстрирующий пятый и шестой примеры технологии определения, предложенной в модификации;
фиг.20 - вид, показывающий блок-схему, иллюстрирующую пример последовательности операций обработки для фильтра удаления блочности в соответствии с первым демонстрационным примером;
фиг.21 - вид, показывающий блок-схему, иллюстрирующую последовательность операций процесса определения необходимости фильтрации;
фиг.22 - пояснительный вид, иллюстрирующий последовательность процессов в соответствии со вторым демонстрационным примером;
фиг.23 - вид, показывающий структурную схему, иллюстрирующую подробную структуру фильтра удаления блочности, в соответствии со вторым демонстрационным примером;
фиг.24 - вид, показывающий блок-схему, иллюстрирующую пример последовательности операций обработки для фильтра удаления блочности в соответствии со вторым демонстрационным примером;
фиг.25 - пояснительный вид, показывающий последовательность операций обработки для каждого LCU;
фиг.26 - вид, показывающий блок-схему, иллюстрирующую последовательность операций обработки для каждого LCU;
фиг.27 - пояснительный вид, иллюстрирующий обзор третьего демонстрационного примера;
фиг.28 - вид, показывающий структурную схему, иллюстрирующую подробную структуру фильтра удаления блочности в соответствии с третьим демонстрационным примером;
фиг.29 - пояснительный вид, иллюстрирующий определение веса для взвешенного среднего;
фиг.30 - пояснительный вид, иллюстрирующий пример веса для взвешенного среднего;
фиг.31 - пояснительный вид, иллюстрирующий выходное значение пикселя из секции вычисления в соответствии с третьим демонстрационным примером;
фиг.32 - пояснительный вид, показывающий первый пример последовательности операций обработки для сравнения;
фиг.33 - пояснительный вид, показывающий первый пример последовательности операций обработки, предусмотренный в третьем демонстрационном примере;
фиг.34 - пояснительный вид, показывающий второй пример последовательности операций обработки для сравнения;
фиг.35 - пояснительный вид, показывающий второй пример последовательности операций обработки, предусмотренный в третьем демонстрационном примере;
фиг.36 - вид, показывающий блок-схему, иллюстрирующую первый пример последовательности операций обработки для фильтра удаления блочности в соответствии с третьим демонстрационным примером;
фиг.37 - вид, показывающий блок-схему, иллюстрирующую последовательность операций процесса вычисления значений пикселей, который показан на фиг.36;
фиг.38 - пояснительный вид, показывающий кодек нескольких видов;
фиг.39 - пояснительный вид, показывающий процесс кодирования изображений, соответствующий варианту осуществления изобретения, примененному в кодеке нескольких видов;
фиг.40 - пояснительный вид, показывающий процесс декодирования изображений, соответствующий варианту осуществления изобретения, примененному в кодеке нескольких видов;
фиг.41 - пояснительный вид, показывающий масштабируемый кодек;
фиг.42 - пояснительный вид, показывающий процесс кодирования изображений, соответствующий варианту осуществления изобретения, примененному в масштабируемом кодеке;
фиг.43 - пояснительный вид, показывающий процесс декодирования изображений, соответствующий варианту осуществления изобретения, примененному в масштабируемом кодеке;
фиг.44 - вид, показывающий схематическую структуру телевизионного устройства;
фиг.45 - вид, показывающий схематическую структуру устройства мобильного телефона;
фиг.46 - вид, показывающий схематическую структуру устройства записи/воспроизведения;
фиг.47 - вид, показывающий схематическую структуру устройства формирования изображений.
Описание вариантов осуществления изобретения
Далее со ссылками на приложенные чертежи будут подробно описаны предпочтительные варианты осуществления настоящего изобретения. Заметим, что в этом описании и на чертежах элементы, выполняющие по существу одинаковые функции и имеющие аналогичную структуру, обозначены одинаковыми ссылочными позициями и их повторное описание опущено.
Вариант осуществления изобретения будет описан в следующем порядке.
1. Обзор устройства
1-1. Устройство кодирования изображений
1-2. Устройство декодирования изображений
2. Существующая технология
2-1. Базовая структура фильтра удаления блочности
2-2. Зависимость между процессами в соответствии с существующей технологией
3. Первый демонстрационный пример
3-1. Пример структуры фильтра удаления блочности
3-2. Модификации условий определения
3-3. Последовательность операций обработки
4. Второй демонстрационный пример
4-1. Пример структуры фильтра удаления блочности
4-2. Последовательность операций обработки
4-3. Пример процесса для каждого LCU
5. Третий демонстрационный пример
5-1. Обзор
5-2. Пример структуры фильтра удаления блочности
5-3. Пример последовательности операций обработки
5-4. Последовательность операций обработки
6. Применение для различных кодеков
6-1. Кодек нескольких видов
6-2. Масштабируемый кодек
7. Примеры приложений
8. Подведение итогов
1. Обзор устройства
Далее со ссылками на фиг.1 и 2 приведено общее описание устройства, в котором применима технология, предложенная в этом описании. Технология, предложенная в этом описании, применима, например, к устройству кодирования изображений и устройству декодирования изображений.
[1-1. Устройство кодирования изображений]
На фиг.1 показана структурная схема одного примера структуры устройства 10 кодирования изображений в соответствии с некоторым вариантом осуществления изобретения. Как показано на фиг.1, устройство 10 кодирования изображений содержит секцию 11 А/Ц (аналого-цифрового) преобразования, буфер 12 переупорядочивания, секцию 13 вычитания, секцию 14 ортогонального преобразования, секцию 15 квантования, секцию 16 кодирования без потерь, буфер 17 накопления, секцию 18 управления скоростью, секцию 21 обратного квантования, секцию 22 обратного ортогонального преобразования, секцию 23 сложения, фильтр 24а удаления блочности, память 25 кадра, переключатель 26, секцию 30 предсказания без компенсации движения, секцию 40 оценки движения и секцию 50 выбора режима.
В секции 11 А/Ц преобразования преобразуют входной сигнал изображения аналогового формата в данные изображения цифрового формата и подают набор данных цифрового изображения в буфер 12 переупорядочивания.
В буфере 12 переупорядочивания изменяют порядок изображений, содержащихся в наборе данных изображения, который поступил из секции 11 А/Ц преобразования. После переупорядочивания изображений в соответствии со ГИ (группа изображений) структурой согласно процессу кодирования, в буфере 12 переупорядочивания выводят данные изображения, которые были переупорядочены, в секцию 13 вычитания, секцию 30 предсказания без компенсации движения и секцию 40 оценки движения.
Данные изображения, полученные из буфера 12 переупорядочивания, и предсказанные данные изображения, выбранные в секции 50 выбора режима, подают в секцию 13 вычитания. В секции 13 вычитания вычисляют данные предсказанной ошибки, которые являются разностью между данными изображения, полученными из буфера 12 переупорядочивания, и предсказанными данными изображения, полученными из секции 50 выбора режима, и выводят вычисленные данные предсказанной ошибки в секцию 14 ортогонального преобразования.
В секции 14 ортогонального преобразования осуществляют ортогональное преобразование для данных предсказанной ошибки, полученных из секции 13 вычитания. Ортогональное преобразование, которое осуществляют в секции 14 ортогонального преобразования, может быть, например, дискретным косинусным преобразованием (ДКП) или преобразованием Карунена-Лоэва. В секции 14 ортогонального преобразования выводят данные коэффициентов преобразования, полученные в процессе ортогонального преобразования, в секцию 15 квантования.
Данные коэффициентов преобразования, полученные из секции 14 ортогонального преобразования, и сигнал управления скоростью из секции 18 управления скоростью, описанной ниже, подают в секцию 15 квантования. В секции 15 квантования осуществляют квантование данных коэффициентов преобразования и выводят данные коэффициентов преобразования, которые прошли квантование (здесь и далее называются квантованными данными), в секцию 16 кодирования без потерь и секцию 21 обратного квантования. Также в секции 15 квантования переключают параметр квантования (шкала квантования) на основе сигнала управления скоростью от секции 18 управления скоростью, чтобы таким образом изменять скорость передачи квантованных данных, передаваемых в секцию 16 кодирования без потерь.
Квантованные данные, полученные из секции 15 квантования, информацию, описанную ниже и касающуюся предсказания без компенсации движения или предсказания с компенсацией движения и выработанную секцией 30 предсказания без компенсации движения или секцией 40 оценки движения и выбранную секцией 50 выбора режима, подают в секцию 16 кодирования без потерь. Информация о предсказании без компенсации движения может содержать информацию о режиме предсказания, которая показывает, например, оптимальный режим предсказания без компенсации движения для каждого блока. Также информация о предсказании с компенсацией движения может содержать, например, информацию о режиме предсказания для предсказания вектора движения для каждого блока, информацию о разности векторов движения, информацию об опорном изображении и подобную информацию.
В секции 16 кодирования без потерь вырабатывают закодированный поток, что делают путем осуществления процесса кодирования без потерь для квантованных данных. Кодирование без потерь, осуществляемое секцией 16 кодирования без потерь, может быть, например, кодированием с переменной длиной слова или арифметическим кодированием. Более того, в секции 16 кодирования без потерь объединяют информацию о предсказании без компенсации движения или информацию о предсказании с компенсацией движения, которые упомянуты выше, в заголовок закодированного потока (например, заголовок блока, заголовок среза или что-то подобное). Далее в секции 16 кодирования без потерь выводят выработанный закодированный поток в буфер 17 накопления.
В буфере 17 накопления временно сохраняют закодированный поток, полученный из секции 16 кодирования без потерь, с использованием носителя информации, такого как полупроводниковая память. Далее в буфере 17 накопления подают на выход накопленный закодированный поток со скоростью, соответствующей полосе частот линии передачи (или линии вывода из устройства 10 кодирования изображений).
В секции 18 управления скоростью отслеживают свободное пространство буфера 17 накопления. Далее в секции 18 управления скоростью вырабатывают сигнал управления скоростью, соответствующий свободному пространству в буфере 17 накопления, и выводят выработанный сигнал управления скоростью в секцию 15 квантования. Например, когда нет большого количества свободного пространства в буфере 17 накопления, в секции 18 управления скоростью вырабатывают сигнал управления скоростью, предназначенный для снижения скорости передачи квантованных данных. Также, например, когда свободного пространства в буфере 17 накопления достаточно много, в секции 18 управления скоростью вырабатывают сигнал управления скоростью, предназначенный для повышения скорости передачи квантованных данных.
В секции 21 обратного квантования осуществляют процесс, обратный квантованию, для квантованных данных, полученных из секции 15 квантования. Далее в секции 21 обратного квантования выводят данные коэффициентов преобразования, полученные в процессе, обратном квантованию, в секцию 22 обратного ортогонального преобразования.
В секции 22 обратного ортогонального преобразования осуществляют процесс, обратный ортогональному преобразованию, для данных коэффициентов преобразования, полученных из секции 21 обратного квантования, что делают с целью восстановления данных предсказанной ошибки. Далее в секции 22 обратного ортогонального преобразования выводят восстановленные данные предсказанной ошибки в секцию 23 сложения.
В секции 23 сложения складывают восстановленные данные предсказанной ошибки, полученные из секции 22 обратного ортогонального преобразования, и предсказанные данные изображения, полученные из секции 50 выбора режима, что делают с целью выработки данных декодированного изображения. Далее в секции 23 сложения выводят выработанные данные декодированного изображения в фильтр 24а удаления блочности и память 25 кадра.
В фильтре 24а удаления блочности осуществляют процессы фильтрации, направленные на уменьшение блочности изображения, которая возникает при кодировании изображений. Например, в фильтре 24а удаления блочности определяют необходимость фильтрации каждой границы блока для данных декодированного изображения, поданных из секции 23 сложения, и применяют фильтр удаления блочности к границе, для которой определена необходимость фильтрации. Также из секции 23 сложения на фильтр 24а удаления блочности подают информацию, используемую для определения необходимости фильтрации (например, информацию о режиме, информацию о коэффициентах преобразования и информацию о векторе движения), а также данные декодированного изображения. После фильтрации из данных декодированного изображения исключают блочность и с помощью фильтра 24а удаления блочности подают данные декодированного изображения в память 25 кадра. Процесс работы фильтра 24а удаления блочности будет подробнее описан ниже.
В памяти 25 кадра сохраняют с использованием носителя информации данные декодированного изображения, полученные из секции 23 сложения, и данные декодированного изображения после фильтрации, полученные из фильтра 24 удаления блочности.
В переключателе 26 считывают из памяти 25 кадра данные декодированного изображения до фильтрации, то есть данные, которые используют для предсказания без компенсации движения, и подают считанные данные декодированного изображения в секцию 30 предсказания без компенсации движения в качестве данных опорного изображения. Также в переключателе 26 считывают из памяти 25 кадра данные декодированного изображения после фильтрации, которые используют для предсказания с компенсацией движения, и подают считанные данные декодированного изображения в секцию 40 оценки движения в качестве данных опорного изображения.
В секции 30 предсказания без компенсации движения осуществляют процесс предсказания без компенсации движения в каждом режиме предсказания без компенсации движения на основе кодируемых данных изображения, которые получены из буфера 12 переупорядочивания, и данных декодированного изображения, полученных через переключатель 26. Например, в секции 30 предсказания без компенсации движения оценивают результат предсказания для каждого режима предсказания без компенсации движения с использованием заданной целевой функции. Далее в секции 30 предсказания без компенсации движения выбирают в качестве оптимального режима предсказания без компенсации движения режим предсказания без компенсации движения, для которого значение целевой функции принимает наименьшее значение, то есть режим предсказания без компенсации движения с наибольшей степенью сжатия. Более того, в секции 30 предсказания без компенсации движения выводят в секцию 50 выбора режима информацию о режиме предсказания, показывающую оптимальный режим предсказания без компенсации движения, предсказанные данные изображения и информацию о предсказании без компенсации движения, такую как значение целевой функции.
В секции 40 оценки движения осуществляют процесс предсказания с компенсацией движения (процесс предсказания между кадрами) на основе данных изображения для кодирования, поданных из буфера 12 переупорядочивания, и данных декодированного изображения, проданных через переключатель 26. Например, в секции 40 оценки движения оценивают результат предсказания для каждого режима предсказания без компенсации движения с использованием заданной целевой функции. Далее в секции 40 оценки движения выбирают оптимальный режим предсказания, а именно режим предсказания, который минимизирует значение целевой функции или максимизирует степень сжатия. В секции 40 оценки движения вырабатывают предсказанные данные изображения в соответствии с оптимальным режимом предсказания. В секции 40 оценки движения подают на секцию 50 выбора режима информацию о предсказании с компенсацией движения, такую как информация о режиме предсказания, указывающая оптимальный режим предсказания без компенсации движения, предсказанные данные изображения и значение целевой функции.
В секции 50 выбора режима сравнивают значение целевой функции, связанное с предсказанием без компенсации движения, полученным из секции 30 предсказания без компенсации движения, и значение целевой функции, связанное с предсказанием с компенсацией движения, полученным из секции 40 оценки движения. Далее в секции 50 выбора режима выбирают способ предсказания с наименьшим значением целевой функции из предсказания без компенсации движения и предсказания с компенсацией движения. В случае выбора предсказания без компенсации движения с помощью секции 50 выбора режима выдают информацию о предсказании без компенсации движения в секцию 16 кодирования без потерь и также подают предсказанные данные изображения в секцию 13 вычитания и секцию 23 сложения. Также в случае выбора предсказания с компенсацией движения с помощью секции 50 выбора режима подают описанную выше информацию о предсказании с компенсацией движения в секцию 16 кодирования без потерь и также подают предсказанные данные изображения в секцию 13 вычитания и секцию 23 сложения.
[1-2. Устройство декодирования изображений]
На фиг.2 показана структурная схема одного примера структуры устройства 60 декодирования изображений в соответствии с некоторым вариантом осуществления изобретения. Как показано на фиг.2, устройство 60 декодирования изображений содержит буфер 61 накопления, секцию 62 декодирования без потерь, секцию 63 обратного квантования, секцию 64 обратного ортогонального преобразования, секцию 65 сложения, фильтр 66 удаления блочности, буфер 67 сортировки, секцию 68 Ц/А (цифро-аналогового) преобразования, память 69 кадра, переключатели 70 и 71, секцию 80 предсказания без компенсации движения и секцию 90 компенсации движения.
В буфере 61 накопления с использованием носителя информации временно хранят закодированный поток, полученный через линию передачи.
В секции 62 декодирования без потерь декодируют закодированный поток, полученный из буфера 61 накопления, что делают в соответствии со способом кодирования, использованным во время кодирования. Также в секции 62 декодирования без потерь декодируют информацию, объединенную в области заголовка закодированного потока. Информация, которая объединена в области заголовка закодированного потока, может содержать, например, информацию о предсказании без компенсации движения и информацию о предсказании с компенсацией движения в заголовке блока. В секции 62 декодирования без потерь выводят в секцию 80 предсказания без компенсации движения информацию о предсказании без компенсации движения. Также в секции 62 декодирования без потерь выводят в секцию 90 компенсации движения информацию о предсказании с компенсацией движения.
В секции 63 обратного квантования осуществляют преобразование, обратное квантованию, для квантованных данных, которые были декодированы в секции 62 декодирования без потерь. В секции 64 обратного ортогонального преобразования вырабатывают данные предсказанной ошибки путем осуществления преобразования, обратного ортогональному преобразованию, для данных коэффициентов преобразования, полученных из секции 63 обратного квантования, что делают в соответствии со способом ортогонального преобразования, используемого во время кодирования. Далее в секции 64 обратного ортогонального преобразования выводят в секцию 65 сложения выработанные данные предсказанной ошибки.
В секции 65 сложения складывают данные предсказанной ошибки, полученные из секции 64 обратного ортогонального преобразования, и предсказанные данные изображения, полученные из переключателя 71, что делают с целью выработки данных декодированного изображения. Далее в секции 65 сложения выводят выработанные данные декодированного изображения в фильтр 24b удаления блочности и память 69 кадра.
В фильтре 24b удаления блочности осуществляют процессы фильтрации, направленные на уменьшение блочности изображения, которая видна в декодированном изображении. В фильтре 24b удаления блочности определяют необходимость фильтрации каждой границы, например, блока для данных декодированного изображения, поданных из секции 65 сложения, и применяют фильтр удаления блочности к границе, для которой определена необходимость фильтрации. Также из секции 65 сложения в фильтр 24b удаления блочности подают информацию, используемую для определения необходимости фильтрации, а также данные декодированного изображения. После фильтрации из данных декодированного изображения исключают блочность изображения и с помощью фильтра 24b удаления блочности подают данные декодированного изображения в буфер 67 переупорядочивания и память 69 кадра. Процесс работы фильтра 24b удаления блочности будет подробнее описан ниже.
В буфере 67 переупорядочивания вырабатывают набор данных изображения во временной последовательности, что делают путем переупорядочивания изображений, полученных из фильтра 24b удаления блочности. Далее в буфере 67 переупорядочивания выводят в секцию 68 Ц/А преобразования выработанные данные изображения.
В секции 68 Ц/А преобразования преобразуют находящиеся в цифровом формате данные изображения, полученные из буфера 67 переупорядочивания, в сигнал изображения аналогового формата. Далее работа секции 68 Ц/А преобразования приводит к отображению изображения путем вывода аналогового сигнала с изображением на дисплей (не показан), который, например, соединен с устройством 60 декодирования изображений.
В памяти 69 кадра используют носитель данных для хранения данных декодированного изображения до фильтрации, полученных из секции 65 сложения, и данных декодированного изображения после фильтрации, полученных из фильтра 24 удаления блочности.
В переключателе 70 переключают путь вывода данных изображения из памяти 69 кадра между секцией 80 предсказания без компенсации движения и секцией 90 компенсации движения для каждого блока в изображении, что делают в соответствии с информацией о режиме, полученной в секции 62 декодирования без потерь. Например, в случае установки режима предсказания без компенсации движения, переключатель 70 в качестве данных опорного изображения выводит в секцию 80 предсказания без компенсации движения данные декодированного изображения до фильтрации, которые были поданы из памяти 69 кадра. Также в случае установки режима предсказания с компенсацией движения, переключатель 70 в качестве данных опорного изображения выводит в секцию 90 компенсации движения данные декодированного изображения после фильтрации, которые были поданы из памяти 69 кадра.
В переключателе 71 переключают источник вывода для предсказанных данных изображения, которые необходимо подать в секцию 65 сложения, между секцией 80 предсказания без компенсации движения и секцией 90 компенсации движения для каждого блока в изображении, что делают в соответствии с информацией о режиме, полученной в секции 62 декодирования без потерь. Например, в случае установки режима предсказания без компенсации движения, переключатель 71 подает в секцию 65 сложения предсказанные данные изображения, поданные на выход из секции 80 предсказания без компенсации движения. В случае установки режима предсказания с компенсацией движения, переключатель 71 подает в секцию 65 сложения предсказанные данные изображения, поданные на выход из секции 90 компенсации движения.
В секции 80 предсказания без компенсации движения осуществляют предсказание «в экране» значения пикселя на основе информации о предсказании без компенсации движения, полученной из секции 62 декодирования без потерь, и данных опорного изображения из памяти 69 кадра и вырабатывают предсказанные данные изображения. Далее в секции 80 предсказания без компенсации движения выводят на переключатель 71 выработанные предсказанные данные изображения.
В секции 90 компенсации движения осуществляют процесс предсказания движения на основе информации о предсказании с компенсацией движения, полученной из секции 62 декодирования без потерь, и данных опорного изображения из памяти 69 кадра и вырабатывают предсказанные данные изображения. Далее в секции 90 компенсации движения выводят выработанные предсказанные данные изображения на переключатель 71.
<2. Существующая технология>
[2-1. Базовая структура фильтра удаления блочности]
В общем, обработка с использованием фильтра удаления блочности в существующей схеме кодирования изображений, такой как H.264/AVC или HEVC, содержит два типа процессов, а именно: процессы определения необходимости фильтрации и процессы фильтрации. Далее описаны эти два процесса, например, в HEVC.
(1) Процессы определения необходимости фильтрации
Процессы определения необходимости фильтрации определяют, нужно ли применять фильтр удаления блочности к каждой границе блоков во входном изображении. Границы блока содержат вертикальную границу между блоками, которые примыкают друг к другу по горизонтали, и горизонтальную границу между блоками, которые примыкают друг к другу по вертикали. JCTVC-A119 использует размер блока, равный 8×8 пикселей, в качестве минимального обрабатываемого элемента. Например, макроблок из 16×16 пикселей содержит четыре блока из 8×8 пикселей. Процесс применяют к одной (левой) вертикальной границе и одной (верхней) горизонтальной границе для каждого блока, а именно четыре границы плюс четыре границы, итого в целом восемь границ. Описание предполагает то, что макроблок, как технический термин, содержит кодируемый элемент (CU) в контексте HEVC.
Фиг.3 является типовым видом, показывающим пример пикселей в двух блоках (соседни