Область техники, к которой относится изобретение
Настоящая технология относится к устройству обработки изображений и к способу обработки изображений. Конкретно, настоящая технология позволяет соответственно применить надлежащую фильтрацию в процессе деблокирующей фильтрации.
Уровень техники
В последние годы как при распространении информации на широковещательных станциях, так и при приеме информации в обычных домах получили широкое распространение устройства, работающие с информацией изображения, представляющей собой цифровые данные, которые в этом случае ориентированы на передачу и хранение информации с высокой эффективностью и которые соответствуют такой схеме, как MPEG2 (International Organization for Standardization and International Electrotechnical Commission (Международная организация по стандартизации и Международная электротехническая комиссия) (ISO/IEC) 13818-2), для сжатия информации об изображении, используя ортогональное преобразование, такое как дискретное косинусное преобразование, и используя компенсацию движения посредством наличия избыточности, уникальной для информации об изображении. Кроме того, также используются схемы под названием Н.264 и MPEG4 Часть 10 (Advanced Video Coding (передовое видеокодирование) (AVC)), требующие большего объема операций для кодирования и декодирования, но способные реализовать более высокую эффективность кодирования, чем MPEG2, и т.п. Дополнительно, на сегодня ведутся работы по стандартизации высокоэффективного видеокодирования (HEVC), являющегося схемой кодирования изображений следующего поколения, при которой могут быть эффективно получены сжатие, распространение и т.п. изображений с высокой разрешающей способностью 4000×2000 пикселей, которая в четыре раза превышает разрешающую способность высококонтрастных изображений.
В работах по стандартизации видеокодирования с высокой эффективностью (HEVC), которое является схемой кодирования изображений следующего поколения, схема JCTVC-A119 (смотрите ниже непатентный документ 1) предлагает применять деблокирующий фильтр к каждому блоку, имеющему размер 8×8 пикселей или больше. В способе, предложенном в JCTVC-A119, увеличивая минимальный размер единичного блока, к которому должен применяться деблокирующий фильтр, можно выполнять процесс фильтрации параллельно на множестве границ блоков в одном и том же направлении внутри одного макроблока.
Перечень литературы
Непатентные документы
Непатентный документ 1: K. Ugur (Nokia), K.R. Andersson (LM Ericsson), A. Fuldseth (Tandberg Telecom), "JCTVC-A119: Video coding technology proposal by Tandberg, Nokia, and Ericsson," Documents of the first meeting of the Joint Collaborative Team on Video Coding (JCT-VC), Dresden, Germany, 15-23 April, 2010.
Раскрытие изобретения
Проблемы, решаемые изобретением
Однако при традиционном процессе деблокирующей фильтрации фильтрация не выполняется должным образом.
Поэтому, задача настоящей технологии состоит в том, чтобы позволить применить надлежащую фильтрацию в процессе деблокирующей фильтрации.
Решения проблем
Устройство обработки изображений, соответствующее первому варианту настоящей технологии, содержит: модуль декодирования, декодирующий кодированный поток, который кодирован модулями, каждый из которых имеет уровневую структуру для формирования изображения; модуль фильтрации, применяющий деблокирующий фильтр к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком изображения, сформированным модулем декодирования, и соседним блоком, примыкающим к указанному блоку; и контроллер, управляющий модулем фильтрации, так что, когда интенсивная фильтрация применяется в качестве интенсивности деблокирующего фильтра, к деблокирующему фильтру применяется процесс ограничения в отношении компонент яркости изображения, формируемого модулем декодирования.
Контроллер может применять процесс ограничения к значениям частей, изменяющихся при применении деблокирующего фильтра.
Контроллер применяет процесс ограничения в соответствии со следующими выражениями:
где i=0,7 и pv - значение ограничения.
Контроллер может установить значение, кратное параметрам деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
Контроллер может установить значение, в два раза превышающее параметры деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
Устройство обработки изображений дополнительно содержит: модуль определения интенсивности фильтра, определяющий интенсивность деблокирующего фильтра, применяемого к границе блоков, причем модуль фильтрации может применить деблокирующий фильтр к границе блоков в соответствии с интенсивностью, определенной модулем определения интенсивности фильтра, а контроллер может управлять модулем фильтрации так, что когда модуль определения интенсивности фильтра определяет, что должна быть применена интенсивная фильтрация, к деблокирующему фильтру применяется процесс ограничения в отношении компонент сигнала яркости изображения, сформированного блоком декодирования.
Модуль определения интенсивности фильтра может определять интенсивность деблокирующего фильтра, используя в качестве блоков обработки множество строк.
Блок определения интенсивности фильтра может определять интенсивность деблокирующего фильтра, используя четыре строки в качестве блоков обработки.
Устройство обработки изображений дополнительно содержит: модуль определения необходимости фильтрации, определяющий, подлежит ли деблокирующий фильтр применению к границе блоков, используя множество строк в качестве блоков обработки, при этом модуль определения интенсивности фильтра может определять интенсивность деблокирующего фильтра, когда блок определения необходимости фильтрации определяет, что деблокирующий фильтр подлежит применению.
Способ обработки изображений согласно первому варианту настоящей технологии позволяет устройству обработки изображений выполнять: декодирование кодированного потока, который кодирован модулем, каждый из которых имеет уровневую структуру, для формирования изображения; применение деблокирующего фильтра к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемой к границе блоков, являющейся границей между блоком сформированного изображения и соседним блоком, примыкающим к указанному блоку; и управление, при котором, когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, к деблокирующему фильтру применяется процесс ограничения в отношении компонент яркости сформированного изображения.
Устройство обработки изображений, соответствующее второму варианту настоящей технологии, содержит: модуль фильтрации, применяющий деблокирующий фильтр к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком изображения, локально декодированным, когда изображение кодировано, и соседним блоком, примыкающим к блоку; контроллер, управляющий модулем фильтрации так, что когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, к деблокирующему фильтру применяется процесс ограничения в отношении компонент яркости локально декодированного изображения; и модуль кодирования, кодирующий изображение модулями, каждый из которых имеет уровневую структуру, используя изображение, к которому применен деблокирующий фильтр.
Контроллер может применять процесс ограничения к значениям частей, которые изменяются при применении деблокирующего фильтра.
Контроллер применяет процесс ограничения в соответствии со следующими выражениями:
где i=0,7 и pv - значение ограничения.
Контроллер может установить значение, кратное параметрам деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
Контроллер может установить значение, в два раза превышающее параметры деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
Устройство обработки изображений дополнительно содержит: модуль определения интенсивности фильтра, определяющий интенсивность деблокирующего фильтра, применяемого к границе блоков, при этом модуль фильтрации может применить деблокирующий фильтр к границе блоков в соответствии с интенсивностью, определенной модулем определения интенсивности фильтра, а контроллер может управлять модулем фильтрации так, что когда модуль определения интенсивности фильтра определяет, что подлежит применению интенсивная фильтрация, к деблокирующему фильтру применяется процесс ограничения в отношении компонент сигнала яркости изображения, сформированного модулем декодирования.
Блок определения интенсивности фильтра может определять интенсивность деблокирующего фильтра, используя в качестве блоков обработки множество строк.
Блок определения интенсивности фильтра может определять интенсивность деблокирующего фильтра, используя в качестве блоков обработки четыре строки.
Устройство обработки изображений дополнительно содержит: модуль определения необходимости фильтрации, определяющий, надлежит ли применить деблокирующий фильтр к границе блоков, используя множество строк в качестве обрабатываемых блоков, при этом модуль определения интенсивности фильтра может определять интенсивность деблокирующего фильтра, когда модуль определения необходимости фильтрации определяет, что деблокирующий фильтр подлежит применению.
Способ обработки изображений, соответствующий второму варианту настоящей технологии, позволяет устройству обработки изображений выполнять: применение деблокирующего фильтра к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком изображения, локально декодированным, когда изображение кодировано, и соседним блоком, примыкающим к указанному блоку; управление, при котором когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, к деблокирующему фильтру применяется процесс ограничения в отношении компонент яркости локально декодированного изображения; и кодирование изображения блоками, каждый из которых имеет уровневую структуру, используя изображение, к которому применен деблокирующий фильтр.
В первом варианте настоящей технологии кодированный поток, кодированный блоками, каждый из которых имеет уровневую структуру, декодируется для формирования изображения, и деблокирующий фильтр применяется к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком сформированного изображения и соседним блоком, примыкающим к указанному блоку. Кроме того, выполняется управление, при котором когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, к деблокирующему фильтру применяется процесс ограничения в отношении компонент яркости сформированного изображения.
Во втором варианте настоящей технологии деблокирующий фильтр применяется к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком изображения, локально декодированным, когда изображение кодировано, и соседним блоком, примыкающим к указанному блоку. Кроме того, выполняется управление, при котором когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, к деблокирующему фильтру применяется процесс ограничения в отношении компонент яркости локально декодированного изображения, и изображение кодируется блоками, каждый из которых имеет уровневую структуру, используя изображение, к которому применен деблокирующий фильтр.
Результаты изобретения
В соответствии с настоящей технологии, можно позволить применять процесс деблокирующей фильтрации для соответствующей фильтрации.
Краткое описание чертежей
Фиг.1(А) и 1(В) - описание традиционного процесса деблокирующей фильтрации.
Фиг.2 - конфигурация при применении к устройству кодирования изображений.
Фиг.3 - блок-схема последовательности выполнения операций кодирования изображений.
Фиг.4 - блок-схема последовательности выполнения операций процесса внутрикадрового предсказания.
Фиг.5 - блок-схема последовательности выполнения операций процесса межкадрового предсказания.
Фиг.6 - конфигурация при применении к устройству декодирования изображений.
Фиг.7 - блок-схема последовательности выполнения операций декодирования изображений.
Фиг.8 - описание базовой операции блока деблокирующей фильтрации.
Фиг.9 - конфигурация первого варианта осуществления блока деблокирующей фильтрации.
Фиг.10 - блок-схема последовательности выполнения операций первого варианта осуществления блока деблокирующей фильтрации.
Фиг.11 - конфигурации блока операции кодирования.
Фиг.12 - конфигурации блока операции кодирования.
Фиг.13(А) и 13(В) - порядок работы блока операции фильтрации.
Фиг.14(А) и 14(В) - порядок работы блока операции фильтрации.
Фиг.15 - блок-схема последовательности выполнения операций пятого варианта осуществления.
Фиг.16 - традиционный процесс деблокирующей фильтрации.
Фиг.17 - настоящая технология (шестой вариант осуществления).
Фиг.18 - настоящая технология (шестой вариант осуществления).
Фиг.19 - пиксели, используемые в процессе деблокирующей фильтрации настоящей технологии.
Фиг.20 - значения пикселей, изменяющиеся за счет традиционной интенсивной фильтрации.
Фиг.21 - эффекты интенсивной фильтрации на основе ограничения.
Фиг.22 - конфигурация шестого варианта осуществления блока деблокирующей фильтрации.
Фиг.23 - блок-схема последовательности выполнения операций шестого варианта осуществления блока деблокирующей фильтрации.
Фиг.24 - конфигурация седьмого варианта осуществления блока деблокирующей фильтрации.
Фиг.25 - конфигурация восьмого варианта осуществления блока деблокирующей фильтрации.
Фиг.26 - блок-схема последовательности выполнения операций восьмого варианта осуществления блока деблокирующей фильтрации.
Фиг.27 - блок-схема последовательности выполнения операций процесса деблокирования сигнала яркости.
Фиг.28 - пример случая R3W2.
Фиг.29 - пример схемы кодирования мультипроекционного изображения.
Фиг.30 - пример основных компонент устройства кодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг.31 - пример основных компонент устройства декодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг.32 - пример схемы кодирования уровневого изображения.
Фиг.33 - пример основных компонент устройства кодирования уровневого изображения, к которому применяется настоящая технология.
Фиг.34 - пример основных компонент устройства декодирования уровневого изображения, к которому применяется настоящая технология.
Фиг.35 - пример схемы конфигурации телевизионного устройства.
Фиг.36 - пример схемы конфигурации мобильного телефона.
Фиг.37 - пример схемы конфигурации устройства записи/воспроизведения.
Фиг.38 - пример схемы конфигурации устройства получения изображений.
Способ выполнения изобретения
Здесь далее будут описаны варианты выполнения настоящей технологии. Описание будет сделано в следующем порядке:
1. Предшествующий уровень техники
2. Конфигурация при применении к устройству кодирования изображений
3. Порядок работы устройства кодирования изображений
4. Конфигурация при применении к устройству кодирования изображений
5. Порядок работы устройства декодирования изображений
6. Основной порядок работы блока деблокирующей фильтрации
7. Первый вариант осуществления блока деблокирующей фильтрации
8. Второй вариант осуществления блока деблокирующей фильтрации
9. Третий вариант осуществления блока деблокирующей фильтрации
10. Четвертый вариант осуществления блока деблокирующей фильтрации
11. Пятый вариант осуществления блока деблокирующей фильтрации
12. Описание шестого-двенадцатого вариантов осуществления
13. Шестой вариант осуществления блока деблокирующей фильтрации
14. Седьмой вариант осуществления блока деблокирующей фильтрации
15. Восьмой вариант осуществления блока деблокирующей фильтрации
16. Девятый вариант осуществления
17. Десятый вариант осуществления (устройство кодирования и декодирования мультипроекционного изображения)
18. Одиннадцатый вариант осуществления (устройство кодирования и декодирования уровневого изображения)
19. Пример применения
1. Предшествующий уровень техники
Традиционный процесс деблокирующей фильтрации будет описан со ссылкой на фиг.1(А) и 1(В).
Как показано на фиг.1(А), например, когда процесс деблокирующей фильтрации выполняется в растровом порядке в соответствующих наибольших блоках кодирования (LCU), данные изображения, соответствующие заданному количеству строк из межблочной границы (ВВ), для LCUu, являющегося верхним блоком, запоминаются в устройстве памяти строк, а процесс вертикальной фильтрации выполняется, используя данные изображения и данные изображения LCUl, являющегося нижним блоком, полученным после запоминания. Например, как показано на фиг.1(В), когда выполняется операция фильтрации, используя данные изображения, соответствующие четырем строкам границы ВВ, в то же время используя в качестве диапазона обработки процесса вертикальной фильтрации данные изображения верхнего и нижнего блоков, каждый из которых соответствует трем строкам из межблочной границы ВВ, данные изображения, соответствующие четырем строкам из границы ВВ для блока LCUu, являющегося верхним блоком, сохраняются в устройстве памяти строк. На чертежах целевые пиксели деблокирующего фильтра помечены двойными кружками, а верхняя и нижняя границы диапазона обработки фильтра для деблокирующего фильтра обозначены как "DBU" и "DBL", соответственно.
То есть поскольку данные изображения, соответствующие заданному количеству строк из межблочной границы ВВ, сохранены в устройстве памяти строк, так чтобы использоваться для работы фильтра, если количество пикселей в горизонтальном направлении возрастает, емкость устройства памяти строк возрастает.
2. Конфигурация при применении к устройству кодирования изображения
На фиг.2 показана конфигурация в случае, когда устройство обработки изображений, соответствующее настоящей технологии, применяется к устройству кодирования изображения. Устройство 10 кодирования изображения содержит аналогово-цифровой преобразователь (A/D-преобразователь) 11, буфер 12 перегруппировки кадров, вычитающее устройство 13, ортогональный преобразователь 14, квантователь 15, кодер 16 без потерь, аккумулирующий буфер 17 и контроллер 18 скорости. Устройство 10 кодирования изображения дополнительно содержит инверсный квантователь 21, инверсный ортогональный преобразователь 22, сумматор 23, блок 24 деблокирующей фильтрации, устройство 25 памяти кадров, переключатель 26, внутрикадровый предсказатель 31, устройство 32 оценки/компенсатора движения и блок 33 выбора режима предсказанного изображения/оптимального режима.
A/D-преобразователь 11 преобразует аналоговый сигнал изображения в цифровые данные изображения и выводит цифровые данные изображения в буфер 12 перегруппировки кадров.
Буфер 12 перегруппировки кадров перегруппирует кадры данных изображения, выводимые из A/D-преобразователя. Буфер 12 перегруппировки кадров выполняет перегруппировку кадров в соответствии со структурой GOP (группы кадров), связанной с процессом кодирования, и выводит перегруппированные данные изображения на вычитающее устройство 13, внутрикадровый предсказатель 31 и устройство оценки/компенсатора 32 движения.
На вычитающее устройство 13 подаются данные изображения с выхода буфера 12 перегруппировки кадров и предсказанные данные изображения, выбранные блоком 33 выбора режима предсказанного изображения/оптимального режима, описанным далее. Вычитающее устройство 13 вычисляет данные ошибки предсказания, являющиеся разностью между данными изображения с выхода буфера 12 перегруппировки кадров и данными предсказанного изображения, поданными от блока 33 выбора режима предсказанного изображения/оптимального режима, и выводит данные ошибки предсказания на ортогональный преобразователь 14.
Ортогональный преобразователь 14 выполняет процесс ортогонального преобразования, такой как дискретное косинусное преобразование (DCT) или преобразование Карунена-Лоэва, в отношении данных ошибки предсказания, полученные с выхода вычитающего устройства 13. Ортогональный преобразователь 14 выводит данные коэффициента преобразования, полученные посредством выполнения процесса ортогонального преобразования, на квантователь 15.
На квантователь 15 подаются данные коэффициента преобразования с выхода ортогонального преобразователя 14 и сигнал управления скоростью с контроллера 18 скорости, описанного позже. Квантователь 15 квантует данные коэффициента преобразования и выводит квантованные данные на кодер 16 без потерь и инверсный квантователь 21. Кроме того, квантователь 15 переключает параметр квантования (масштаб квантования), основываясь на сигнале управления скоростью, получаемом от контроллера 18 скорости, чтобы изменять битовую скорость квантованных данных.
На кодер 16 без потерь подаются квантованные данные с выхода квантователя 15 и информация о режиме предсказания от внутрикадрового предсказателя 31, устройства 32 оценки/компенсатора движения и блока 33 выбора режима предсказанного изображения/оптимального режима, описанных далее. Информация о режиме предсказания содержит тип макроблока, который разрешает идентифицировать размер предсказанного блока, режим предсказания, информацию о векторе движения, информацию об опорной картинке и т.п. в соответствии с внутрикадровым предсказанием или межкадровым предсказанием. Кодер 16 без потерь выполняет процесс кодирования без потерь, например, такой как кодирование с переменной длиной или арифметическое кодирование, для квантованных данных, чтобы сформировать кодированный поток, и выводит кодированный поток на аккумулирующий буфер 17. Кроме того, кодер 16 без потерь кодирует без потерь информацию о режиме предсказания, чтобы добавить кодированную информацию о режиме предсказания к информации заголовка кодированного потока.
Аккумулирующий буфер 17 аккумулирует кодированные потоки, приходящие от кодера 16 без потерь. Кроме того, аккумулирующий буфер 17 выводит аккумулированные кодированные потоки со скоростью передачи, соответствующей линии передачи.
Контроллер 18 скорости контролирует свободное пространство аккумулирующего буфера 17, формирует сигнал управления скоростью, соответствующий свободному пространству, и выводит сигнал управления скоростью на квантователь 15. Контроллер 18 скорости получает информацию, указывающую свободное пространство, например, от аккумулирующего буфера 17. Контроллер 18 скорости понижает битовую скорость квантованных данных, используя сигнал управления скоростью, когда свободное пространство уменьшается. Кроме того, контроллер 18 скорости увеличивает битовую скорость квантованных данных, используя сигнал управления скоростью, когда свободное пространство аккумулирующего буфера 17 является достаточно большим.
Инверсный квантователь 21 выполняет процесс инверсного квантования для квантованных данных, полученных от квантователя 15. Инверсный квантователь 21 выводит данные коэффициента преобразования, полученные посредством выполнения процесса инверсного квантования, на инверсный ортогональный преобразователь 22.
Инверсный ортогональный преобразователь 22 выводит данные, полученные посредством выполнения процесса ортогонального преобразования для данных коэффициента преобразования, полученных от инверсного квантователя 21, на сумматор 23.
Сумматор 23 добавляет данные, полученные от инверсного ортогонального преобразователя 22, и данные предсказанного изображения, полученные от блока 33 выбора режима предсказанного изображения/оптимального режима, чтобы сформировать данные декодированного изображения, и выводит данные декодированного изображения на блок 24 деблокирующей фильтрации и устройство 25 памяти кадров.
Блок 24 деблокирующей фильтрации выполняет процесс фильтрации для уменьшения блочного искажения, возникающего во время кодирования изображения. Блок 24 деблокирующей фильтрации выполняет процесс фильтрации для удаления блочного искажения из данных декодированного изображения, поданных от сумматора 23, и выводит данные изображения, подвергнувшиеся процессу фильтрации, на устройство 25 памяти кадров. Кроме того, блок 24 деблокирующей фильтрации управляет диапазоном изображения, используемым для работы фильтра в блоке, расположенном на верхней стороне границы, соответствующей границе, обнаруженной при выполнении обнаружения межкадровой границы в вертикальном направлении. То есть управляя диапазоном изображения для работы фильтра, блок 24 деблокирующей фильтрации разрешает выполнение процесса вертикальной фильтрации, даже когда уменьшается емкость устройства памяти строк, которое хранит данные изображения. Подробности этого будут описаны позже.
Устройство 25 памяти кадров хранит данные декодированного изображения, полученные от сумматора 23, и данные декодированного изображения, подвергнутые процессу фильтрации, поданные от блока 24 деблокирующей фильтрации, в качестве данных опорного изображения.
Переключатель 26 подает данные опорного изображения до процесса фильтрации, считанные из устройства 25 памяти кадров, на внутрикадровый предсказатель 31, чтобы выполнить внутрикадровое предсказание. Кроме того, переключатель 26 подает данные опорного изображения, подвергнутого процессу фильтрации, считанные из устройства 25 памяти кадров, на устройство 32 оценки/компенсатора, чтобы выполнить межкадровое предсказание.
Внутрикадровый предсказатель 31 выполняет процесс внутрикадрового предсказания во всех возможных режимах внутрикадрового предсказания, используя данные изображения кодированного целевого изображения с выхода буфера 12 перегруппировки кадров и данные опорного изображения до процесса фильтрации, считанные из устройства 25 памяти кадров. Дополнительно, внутрикадровый предсказатель 31 вычисляет значение функции стоимости для каждого режима внутрикадрового предсказания и выбирает режим внутрикадрового предсказания, в котором вычисленное значение функции стоимости является наименьшим (то есть режим внутрикадрового предсказания, в котором получается наилучшая эффективность кодирования), в качестве оптимального режима внутрикадрового предсказания. Внутрикадровый предсказатель 31 выводит данные предсказанного изображения, сформированные в оптимальном режиме внутрикадрового предсказания, информацию о режиме предсказания об оптимальном режиме внутрикадрового предсказания и значение функции стоимости в оптимальном режиме внутрикадрового предсказания на блок 33 выбора режима предсказанного изображения/оптимального режима. Кроме того, внутрикадровый предсказатель 31 выводит информацию режима предсказания о режиме внутрикадрового предсказания в процессе внутрикадрового предсказания в соответствующих режимах внутрикадрового предсказания на кодер 16 без потерь, чтобы получить сформированную кодовый объем, используемый при вычислении значения функции стоимости, как описано позже.
Устройство 32 оценки/компенсатора движения выполняет процесс оценки/компенсации движения для всех размеров предсказанных блоков, соответствующих макроблокам. Устройство 32 оценки/компенсатора движения обнаруживает вектор движения, используя данные опорного изображения, подвергнутого процессу фильтрации, считанного из устройства 25 памяти кадров, в отношении каждого из кодируемых целевых изображений соответствующих размеров предсказанных блоков, считанных из буфера 12 перегруппировки кадров. Дополнительно, устройство 32 оценки/компенсатора движения выполняет процесс компенсации движения для декодированного изображения, основываясь на обнаруженном векторе движения, чтобы сформировать предсказанное изображение. Кроме того, устройство 32 оценки/компенсатора движения вычисляет значение функции стоимости для каждого размера предсказанного блока и выбирает размер предсказанного блока, в котором вычисленное значение функции стоимости является наименьшим (то есть размер предсказанного блока, при котором получается наилучшая эффективность кодирования), в качестве оптимального режима межкадрового предсказания. Устройство 32 оценки/компенсатора движения выводит данные предсказанного изображения, сформированные в оптимальном режиме межкадрового предсказания, информацию о режиме предсказания об оптимальном режиме межкадрового предсказания и значение функции стоимости в оптимальном режиме межкадрового предсказания на блок 33 выбора режима предсказанного изображения/оптимального режима. Кроме того, устройство 32 оценки/компенсатора движения выводит информацию о режиме предсказания для режима межкадрового предсказания в процессе межкадрового предсказания в соответствующих размерах предсказанных блоков на кодер 16 без потерь, чтобы получить сформированный кодовый объем, используемый при вычислении значения функции стоимости. Устройство 32 оценки/компенсатора движения также выполняет предсказание в режиме пропущенного макроблока и прямом режиме в качестве режима межкадрового предсказания.
Блок 33 выбора режима предсказанного изображения/оптимального режима сравнивает значение функции стоимости, поданное от внутрикадрового предсказателя 31, и значение функции стоимости, поданное от устройства 32 оценки/компенсатора движения, в соответствующих блоках макроблоков и выбирает режим, в котором значение функции стоимости меньше, чем в оптимальном режиме, в котором получена наилучшая эффективность кодирования. Кроме того, блок 33 выбора режима предсказанного изображения/оптимального режима выводит данные предсказанного изображения, сформированные в оптимальном режиме, на вычитающее устройство 13 и на сумматор 23. Дополнительно, блок 33 выбора режима предсказанного изображения/оптимального режима выводит информацию о режиме предсказания для оптимального режима на кодер 16 без потерь. Блок 33 выбора режима предсказанного изображения/оптимального режима может выполнить внутрикадровое предсказание или межкадровое предсказание в соответствующих блоках срезов.
Блок кодирования в формуле изобретения содержит внутрикадровый предсказатель 31, формирующий данные предсказанного изображения, устройство 32 оценки/компенсатора движения, блок 33 выбора режима предсказанного изображения/оптимального режима, вычитающее устройство 13, ортогональный преобразователь 14, квантователь 15, кодер 16 без потерь и т.п.
3. Порядок работы устройства кодирования изображений
На фиг.3 представлена блок-схема последовательности выполнения операций процесса кодирования изображений. На этапе ST11 A/D-преобразователь 11 выполняет A/D-преобразование входного сигнала изображения.
На этапе ST12 буфер 12 перегруппировки кадров выполняют перегруппировку экранов. Буфер 12 перегруппировки кадров хранит данные изображения, полученные от A/D-преобразователя 11, и перегруппирует соответствующие картинки так, чтобы картинки, установленные в порядке отображения, перегруппируются в порядке кодирования.
На этапе ST13 вычитающее устройство 13 формирует данные ошибки предсказания. Вычитающее устройство 13 вычисляет разность между данными изображения для изображений, перегруппированных на этапе ST12, и данными предсказанного изображения, выбранными блоком выбора режима предсказанного изображения/оптимального режима, чтобы сформировать данные ошибки предсказания. Данные ошибки предсказания имеют объем данных, который меньше, чем объем данных для первоначального изображения. То есть можно сжать объем данных по сравнению со случаем, в котором изображение кодируется так, как оно есть. Когда блок 33 выбора режима предсказанного изображения/оптимального режима выбирает предсказанное изображение, подаваемое от внутрикадрового предсказателя 31, и предсказанное изображение из устройства 32 оценки/компенсатора движения в соответствующих блоках срезов, внутрикадровое предсказание выполняется в срезе, в котором выбирается предсказанное изображение, подаваемое от внутрикадрового предсказателя 31. Кроме того, межкадровое предсказание выполняется в срезе, в котором выбирается предсказанное изображение от устройства 32 оценки/компенсатора.
На этапе ST14 ортогональный преобразователь 14 выполняет процесс ортогонального преобразования. Ортогональный преобразователь 14 выполняет ортогональное преобразовании для данных ошибки предсказания, поданных от вычитающего устройства 13. Конкретно, ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, выполняется для данных ошибки предсказания и выводятся данные коэффициента преобразования.
На этапе ST15 квантователь 15 выполняет процесс квантования. Квантователь 15 квантует данные коэффициента преобразования. Когда квантование выполнено, выполняется управление скоростью, как будет описано в процессе этапа ST25.
На этапе ST16 инверсный квантователь 21 выполняет процесс инверсного квантования. Инверсный квантователь 21 выполняет инверсное квантование для данных коэффициента преобразования, квантованных квантователем 15 в соответствии со свойством, соответствующим свойству квантователя 15.
На этапе ST17 инверсный ортогональный преобразователь 22 выполняет процесс ортогонального преобразования. Инверсный ортогональный преобразователь 22 выполняет инверсное ортогональное преобразование для данных коэффициента преобразования, инверсно квантованных инверсным квантователем 21 в соответствии со свойством, соответствующим свойству ортогонального преобразователя 14.
На этапе ST18 сумматор 23 формирует данные декодированного изображения. Сумматор 23 добавляет данные предсказанного изображения, поданные от блока 33 выбора режима предсказанного изображения/оптимального режима, и данные после инверсного ортогонального преобразования в положении, соответствующем предсказанному изображению, чтобы сформировать данные декодированного изображения.
На этапе ST19 блок 24 деблокирующей фильтрации выполняет процесс деблокирующей фильтрации. Блок 24 деблокирующей фильтрации выполняет фильтрацию для данных декодированного изображения, полученных от сумматора 24, чтобы удалить блочное искажение. Кроме того, блок 24 деблокирующей фильтрации выполнен с возможностью осуществления процесса вертикальной фильтрации, когда сокращается емкость устройства памяти строк, которое хранит данные изображения. Конкретно, блок 24 деблокирующей фильтрации управляет диапазоном изображения, используемым для работы фильтра в блоке, расположенном на верхней стороне границы, соответствующей границе, обнаруженной при выполнении обнаружения межблочной границы в вертикальном направлении.
На этапе ST20 устройство 25 памяти кадров сохраняет данные декодированного изображения. Устройство 25 памяти кадров сохраняет данные декодированного изображения до процесса деблокирующей фильтрации.
На этапе ST21 внутрикадровый предсказатель 31 и устройство 32 оценки/компенсатора движения выполняют процессы предсказания. То есть внутрикадровый предсказатель 31 выполняет процесс внутрикадрового предсказания в режиме внутрикадрового предсказания, а устройство 32 оценки/компенсатора выполняет процесс оценки/компенсации движения в режиме межкадрового предсказания. С помощью этого процесса процессы предсказания выполняются во всех возможных режимах предсказания и вычисляются значения функции стоимости во всех возможных режимах предсказания. Оптимальный режим внутрикадрового предсказания и оптимальный режим межкадрового предсказания выбираются на основе вычисленных значений функции стоимости и предсказанное изображение, сформированное в выбранном режиме предсказания, и информация о функция стоимости о режиме предсказания подается на блок 33 выбора режима предсказанного изображения/оптимального режима.
На этапе ST22 блок 33 выбора режима предсказанного изображения/оптимального режима выбирает данные предсказанного изображения. Блок 33 выбора режима предсказанного изображения/оптимального режима определяет оптимальный режим, в котором получается наибольшая эффективность кодирования, основываясь на соответствующих значениях функции стоимости, полученных с выхода внутрикадрового предсказателя 31 и устройства 32 оценки/компенсатора движения. Дополнительно, блок 33 выбора режима предсказанного изображения/оптимального режима выбирает данные предсказанного изображения в определенном оптимальном режиме и подает данные предсказанного изображения на вычитающее устройство 13 и на сумматор 23. Предсказанное изображение используется для операций на этапах ST13 и ST18, как описано выше.
На этапе ST23 кодер 16 без потерь выполняет процесс кодирования без потерь. Кодер 16 без потерь выполняет кодирование без потерь для квантованных данных, полученных с выхода квантователя 15. То есть кодирование без потерь, такое как кодирование с переменной длиной или арифметическое кодирование, выполняется для квантованных данных, за счет чего квантованные данные сжимаются. В этом случае, на этапе ST22, описанном выше, информация о режиме предсказания (например, содержащая тип макроблока, режим предсказания, информацию о векторе движения, информацию об опорном изображении и т.п.), введенная в кодер 16 без потерь, также подвергается кодированию без потерь. Дополнительно, данные кодирования без потерь информации о режиме предсказания добавляются в информацию заголовка кодированного потока, сформированного посредством кодирования без потерь квантованных данных.
На этапе ST24 аккумулирующий буфер 17 выполняет процесс аккумулирования, чтобы аккумулировать кодированный поток. Кодированный поток, аккумулированный в аккумулирующем буфере 17, соответственно считывается и передается на декодирующую сторону через линию передачи.
На этапе ST25 контроллер 18 скорости выполняет управление скоростью. Контроллер 18 скорости управляет скоростью операции квантования квантователя 15, так что в аккумулирующем буфере 17, когда аккумулирующий буфер 17 аккумулирует кодированный поток, не происходит переполнение или недостаточное наполнение.
Далее будет описан процесс предсказания на этапе ST21, показанном на фиг.3. Внутрикадровый предсказатель 31 выполняет процесс внутрикадрового предсказания. Внутрикадровый предсказатель 31 выполняет внутрикадровое предсказание для изображения в текущем блоке во всех возможных режимах внутрикадрового предсказания. Данные изображения опорного изображения, на которые делается ссылка при внутрикадровом предсказании, не подвергаются процессу фильтрации блоком 24 деблокирующей фильтрации, но данные опорного изображения, хранящиеся в устройстве 25 памяти кадров, используются. Хотя подробности процесса внутрикадрового предсказания описываются позднее, посредством этого процесса внутрикадровое предсказание выполняется во всех возможных режимах внутрикадрового предсказания и значения функции стоимости вычисляются во всех возможных режимах внутрикадрового предсказания. Кроме того, один режим внутрикадрового предсказания, в котором получается наилучшая эффективность кодирования, выбирается из всех режимов внутрикадрового предсказания, основываясь на вычисленных значениях функции стоимости. Устройство 32 оценки/компенсатора движения выполняет процесс межкадрового предсказания. Устройство 32 оценки/компенсатора движения выполняет процесс межкадрового предсказания во всех возможных режимах межкадрового предсказания (все размеры предсказанного блока), используя данные опорного изображения, подвергнутого процессу фильтрации, хранящиеся в устройстве 25 памяти кадров. Хотя подробности процесса межкадрового предсказания описываются позднее, посредством этого процесса процесс предсказания выполняется во всех возможных режимах межкадрового предсказания и значения функции стоимости вычисляются во всех возможных режимах межкадрового предсказания. Кроме того, один режим межкадрового предсказания, в котором получается наилучшая эффективность кодирования, выбирается из всех режимов межкадрового предсказания, основываясь на вычисленных значениях функции стоимости.
Процесс внутрикадрового предсказания будет описан со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг.4. На этапе ST31 внутрикадровый предсказатель 31 выполняет внутрикадровое предсказание в соответствующих режимах предсказания. Внутрикадровый предсказатель 31 формирует данные предсказанного изображения в каждом режиме внутрикадрового предсказания, используя данные декодированного изображения, полученные до процесса фильтрации, хранящиеся в устройстве 25 памяти кадров.
На этапе ST32 внутрикадровый предсказатель 31 вычисляет значение функции стоимости для соответствующих режимов предсказания. Например, процесс кодирования без потерь выполняется приближенно во всех возможных режимах предсказания, значение функции стоимости, определяемое приведенным ниже выражением (1), вычисляется в соответствующих режимах предсказания.
Здесь, "Ω" представляет универсальный набор возможных режимов предсказания для кодирования блоков и макроблоков. "D" представляет разностную энергию (искажение) между декодированным изображением и входным изображением, когда кодирование выполняется в режиме предсказания. "R" представляет сформированную кодовую сумму, содержащую коэффициенты ортогонального преобразования, информацию о режиме предсказания и т.п., и ʺλʺ представляет множитель Лагранжа, заданный как функция параметра квантования QP.
Кроме того, в отношении всех возможных режимов предсказания, предсказанные изображения формируются и биты заголовка, такие как информация о векторе движения и информация о режиме предсказания, вычисляются и значение функции стоимости, представленное ниже выражением (2) вычисляется в соответствующих режимах предсказания.
Здесь, "Q" представляет универсальный набор возможных режимов предсказания для кодирования блоков и макроблоков. "D" представляет разностную энергию (искажение) между декодированным изображением и входным изображением, когда кодирование выполняется в режиме предсказания. "Header_Bit" является битом заголовка режима предсказания и "QPtoQuant" является функцией, заданной как функция параметра квантования QP.
На этапе ST33 внутрикадровый предсказатель 31 определяет оптимальный режим внутрикадрового предсказания. Внутрикадровый предсказатель 31 выбирает один режим внутрикадрового предсказания, в котором вычисленное значение функции стоимости является наименьшим, основываясь на значениях функции стоимости, вычисленных на этапе ST32, и определяет режим внутрикадрового предсказания как оптимальный режим внутрикадрового предсказания.
Процесс внутрикадрового предсказания будет описан со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг.5. На этапе ST31 внутрикадровый предсказатель 32 выполняет внутрикадровое предсказание в соответствующих режимах предсказания. То есть устройство 32 оценки/компенсатора движения определяет вектор движения и опорное изображение текущего блока соответствующих режимов предсказания.
На этапе ST42 устройство 32 оценки/компенсатора выполняет компенсацию движения в соответствующих режимах предсказания. Устройство 32 оценки/компенсатора движения выполняет компенсацию движения для опорного изображения, основываясь на векторе движения, определенном на этапе ST41 в соответствующих режимах предсказания (для соответствующих размеров предсказанных блоков), и формирует данные предсказанного изображения в соответствующих режимах предсказания.
На этапе ST43 устройство 32 оценки/компенсатора формирует информацию о векторе движения в соответствующих режимах предсказания. Устройство 32 оценки/компенсатора движения формирует информацию о векторе движения, содержащуюся в кодированном потоке, в отношении векторов движения, определенных в соответствующих режимах предсказания. Например, предсказанный вектор движения определяется, используя медианное предсказание, и формируется информация о векторе движения, указывающая разность между вектором движения, определенным посредством оценки движения, и предсказанным вектором движения. Информация о векторе движения, сформированная таким образом, используется также при вычислении значения функции стоимости на следующем этапе ST44 и когда соответствующее предсказанное изображение окончательно выбрано блоком 33 выбора режима предсказанного изображения/оптимального режима, информация о векторе движения вводится в информацию о режиме предсказания и выводится на кодер 16 без потерь.
На этапе ST44 устройство 32 оценки/компенсатора движения вычисляет значение функции стоимости в соответствующих режимах межкадрового предсказания. Устройство 32 оценки/компенсатора движения вычисляет значение функции стоимости, используя выражение (1) или (2), описанные выше.
На этапе ST45 устройство 32 оценки/компенсатора движения определяет оптимальный режим межкадрового предсказания. Устройство 32 оценки/компенсатора движения выбирает один режим предсказания, в котором вычисленное значение функции стоимости является наименьшим, основываясь на значениях функции стоимости, вычисленных на этапе ST44.
4. Конфигурация при применений к устройству декодирования изображения
Кодированный поток, сформированный, кодируя входное изображение, подается на устройство декодирования изображения через заданную линию передачи, носитель записи и т.п. и декодируется.
На фиг.6 показана конфигурация устройства декодирования изображения. Устройство 50 декодирования изображения содержит аккумулирующий буфер 51, устройство 52 декодирования без потерь, инверсный квантователь 53, инверсный ортогональный преобразователь 54, сумматор 55, блок 56 деблокирующей фильтрации, буфер 57 перегруппировки кадров и цифро-аналоговый (D/A) преобразователь 58. Устройство 50 декодирования изображения дополнительно содержит устройство 61 памяти кадров, переключатели 62 и 65, внутрикадровый предсказатель 63 и блок 64 компенсации движения.
Аккумулирующий буфер 51 аккумулирует переданные в него кодированные потоки. Устройство 52 декодирования без потерь декодирует кодированные потоки, поданные от аккумулирующего буфера 51 согласно схеме, соответствующей схеме кодирования кодера без потерь, показанного на фиг.2. Кроме того, декодер 52 без потерь выводит информацию о режиме предсказания, полученную декодированием информации заголовка кодированных потоков, на внутрикадровый предсказатель 63 и блок 64 компенсации движения.
Инверсный квантователь 53 выполняет инверсное квантование для квантованных данных, декодированных декодером 52 без потерь, согласно схеме, соответствующей схеме квантования квантователя 15, показанного на фиг.2. Инверсный ортогональный преобразователь 54 выполняет инверсное ортогональное преобразование на выходе инверсного квантователя 53 согласно схеме, соответствующей схеме ортогонального преобразования ортогонального преобразователя 14, показанного на фиг.2, и выводит выходной результат на сумматор 55.
Сумматор 55 добавляет данные после инверсного ортогонального преобразования и данные предсказанного изображения, поданные от переключателя 65, чтобы сформировать данные декодированного изображения, и выводит данные декодированного изображения на блок 56 деблокирующей фильтрации 56 и на устройство 61 памяти кадров.
Блок 56 деблокирующей фильтрации выполняет процесс фильтрации для данных декодированного изображения, поданных от сумматора 55, аналогично блоку 24 деблокирующей фильтрации, показанному на фиг.2, чтобы удалить блочное искажение, и выводит данные декодированного изображения на буфер 57 перегруппировки кадров и устройство 61 памяти кадров.
Буфер 57 перегруппировки кадров выполняет перегруппировку экранов. То есть кадры, перегруппированные из порядка кодирования, используемые в буфере 12 перегруппировки кадров, показанном на фиг.2, перегруппируются в первоначальном порядке отображения и выводятся на D/A-преобразователь 58.
D/A-преобразователь 58 выполняет D/A-преобразование данных изображения, поданных от буфера 57 перегруппировки кадров, и выводит данные изображения на дисплей (не показан), чтобы таким образом отображать изображения на дисплее.
Устройство 61 памяти кадров хранит декодированные данные изображения до процесса фильтрации, поданные от сумматора 55, и декодированные данные изображения, подвергнутые процессу фильтрации, поданные от блока 56 деблокирующей фильтрации, в качестве данных изображения для опорного изображения.
Переключатель 62 подает данные опорного изображения до процесса фильтрации, считанные из устройства 61 памяти кадров, на внутрикадровый предсказатель 63, когда предсказанный блок, подвергнутый внутрикадровому предсказанию, декодируется на основе информации о режиме предсказания, предоставленной от декодера 52 без потерь. Кроме того, переключатель 26 подает данные опорного изображения, подвергнутые процессу фильтрации, считанные из устройства 61 памяти кадров, на блок 64 компенсации движения 64, когда предсказанный блок, подвергнутый межкадровому предсказанию, декодируется на основе информации о режиме предсказания, поданной от декодера 52 без потерь.
Внутрикадровый предсказатель 63 формирует предсказанные изображения, основываясь на информации о режиме предсказания, полученной от декодера 52 без потерь, и выводит сформированные данные предсказанного изображения на переключатель 65.
Блок 64 компенсации движения выполняет компенсацию движения, основываясь на информации о режиме предсказания, предоставленной от декодера 52 без потерь, чтобы сформировать данные предсказанного изображения, и выводит данные предсказанного изображения на переключатель 65. То есть блок 64 компенсации движения выполняет компенсацию движения, используя вектор движения, основанный на информации о векторе движения, в отношении опорного изображения, указанного информацией об опорном кадре, основываясь на информации о векторе движения и информации об опорном кадре, содержащейся в информации о режиме предсказания, чтобы сформировать данные предсказанного изображения.
Переключатель 65 подает данные предсказанного изображения, сформированные внутрикадровым предсказателем 63, на сумматор 55. Кроме того, переключатель 65 подает на сумматор 55 данные предсказанного изображения, сформированные блоком 64 компенсации движения.
Блок декодирования в формуле изобретения содержит декодер 52 без потерь, инверсный квантователь 53, инверсный ортогональный преобразователь 54, сумматор 55, внутрикадровый предсказатель 63, блок 64 компенсации движения и т.п.
5. Порядок работ устройства декодирования изображения
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг.7, будет описано устройство обработки изображений, выполняемой устройством 50 декодирования изображения.
На этапе ST51 аккумулирующий буфер 51 аккумулирует кодированные потоки, переданные ему. На этапе ST52 декодер 52 без потерь выполняет процесс декодирования без потерь. Декодер 52 без потерь декодирует кодированные потоки, поданные от аккумулирующего буфера 51. То есть получает квантованные данные соответствующих картинок, кодированные кодером 16 без потерь, показанным на фиг.2. Кроме того, декодер 52 без потерь выполняет декодирование без потерь для информации о режиме предсказания, содержащейся в информации заголовка кодированного потока, чтобы получить информацию о режиме предсказания, и подает информацию о режиме предсказания на блок 56 деблокирующей фильтрации и переключатели 62 и 65. Дополнительно, декодер 52 без потерь выводит информация о режиме предсказания на внутрикадровый предсказатель 63, когда информация о режиме предсказания является информацией о режиме внутрикадрового предсказания. Кроме того, декодер 52 без потерь выводит информацию о режиме предсказания на блок 64 компенсации движения, когда информация о режиме предсказания является информацией о режиме межкадрового предсказания.
На этапе ST53 инверсный квантователь 53 выполняет процесс инверсного квантования. Инверсный квантователь 53 выполняет инверсное квантование для квантованных данных, декодированных декодером 52 без потерь в соответствии со свойством, соответствующим свойству квантователя 15 на фиг.2.
На этапе ST54 инверсный ортогональный преобразователь 54 выполняет процесс ортогонального преобразования. Инверсный ортогональный преобразователь 54 выполняет инверсное ортогональное преобразование на данных коэффициентов преобразования, инверсно квантованных инверсным квантователем 53 в соответствии со свойством, соответствующим свойству ортогонального преобразователя 14, показанного на фиг.2.
На этапе ST55 сумматор 55 формирует данные декодированного изображения. Сумматор 55 добавляет данные, полученные, выполняя процесс ортогонального преобразования, и данные предсказанного изображения, выбранные на этапе ST59, описанном позже, чтобы сформировать данные декодированного изображения. То есть исходное изображение декодируется.
На этапе ST56 блок 56 деблокирующей фильтрации выполняет процесс деблокирующей фильтрации. Блок 56 деблокирующей фильтрации выполняет процесс фильтрации для данных декодированного изображения с выхода сумматора 55, чтобы удалить блочное искажение, содержащееся в декодированном изображении.
На этапе ST57 устройство 61 памяти кадров запоминает данные декодированного изображения.
На этапе ST58 внутрикадровый предсказатель 63 и блок 64 компенсации движения выполняют процесс предсказания. Внутрикадровый предсказатель 63 и блок 64 компенсации движения выполняет процесс предсказания для информации о режиме предсказания, поданной от декодера 52 без потерь.
То есть, когда информация о режиме предсказания внутрикадрового предсказания предоставляется от декодера 52 без потерь, внутрикадровый предсказатель 63 выполняет процесс внутрикадрового предсказания, основываясь на информации о режиме предсказания, чтобы сформировать данные предсказанного изображения. Кроме того, когда информация о режиме предсказания для межкадрового предсказания подается от декодера 52 без потерь, блок 64 компенсации движения выполняет компенсацию движения, основываясь на информации о режиме предсказания, чтобы сформировать данные предсказанного изображения.
На этапе ST59 переключатель 65 выбирает данные предсказанного изображения. То есть переключатель 65 выбирает предсказанное изображение, поданное от внутрикадрового предсказателя 63, и данные предсказанного изображения, сформированные блоком 64 компенсации движения, и предоставляет предсказанное изображение и данные предсказанного изображения на сумматор 55, чтобы они были добавлены к выходному сигналу инверсного ортогонального преобразователя 54 на этапе ST55, как описано выше.
На этапе ST60 буфер 57 перегруппировки кадров выполняет перегруппировку экранов. То есть буфер 57 перегруппировки кадров перегруппирует кадры так, что кадры, перегруппированные в порядке кодирования, используемом в буфере 12 перегруппировки кадров устройства 10 кодирования изображения, показанного на фиг.2, перегруппируются в первоначальный порядок отображения.
На этапе ST61 D/A-преобразователь 58 выполняет D/A-преобразование данных изображения, полученных из буфера 57 перегруппировки кадров. Это изображение выводится на дисплей (не показан) и отображается на дисплее.
6. Основной порядок работы блока деблокирующей фильтрации
В целом, процесс деблокирующей фильтрации, соответствующий схеме кодирования изображения, такой как H.264/AVC или HEVC, содержит определение того, необходима ли фильтрация, и выполняет процесс фильтрации относительно межблочной границы, для которой фильтрация определяется как необходимая.
Межблочная граница содержит границы (то есть смежные по горизонтали межблочные границы (здесь далее упоминаемые как "вертикальные границы")), обнаруживаемые при выполнении обнаружения межблочных границ в горизонтальном направлении. Кроме того, межблочная граница содержит межблочные границы (то есть смежные по вертикали межблочные границы (здесь далее упоминаемые как "строчные границы"), обнаруживаемые при выполнении обнаружения межблочных границ в вертикальном направлении.
На фиг.8 представлена пояснительная диаграмма, показывающая пример пикселей в двух блоках ВKа и BKb, смежных со вставленной границей. В этом примере, хотя вертикальная граница используется в качестве примера, то же самое может быть применено к строчной границе. В примере на фиг.8 данные изображения пикселей в блоке ВKа представляются символом "pi, j". Здесь, "i" - индекс столбца пикселя, и "j" - индекс строки пикселя. Кроме того, самый малый блок процесса кодирования является блоком 8×8 пикселей, и индексы "i" столбцов 0, 1, 2 и 3 назначаются последовательно (слева направо) от столбца, ближнего к вертикальной границе. Индексы "j" строк 0, 1, 2 … и 7 назначаются сверху вниз. Левая половина блока ВKа на чертеже не показана. С другой стороны, данные изображения пикселей в блоке BKb представляются символом "qk, j". Здесь, "k" - индекс столбца пикселя, и "j" - индекс строки пикселя. Индексы "k" столбцов 0, 1, 2 и 3 назначаются последовательно (слева направо) от столбца, ближнего к вертикальной границе. Правая половина блока BKb также не показана на чертеже.
Когда определено, что деблокирующий фильтр должен быть применен к границе и граница является вертикальной границей, например, процесс фильтрации выполняется на пикселях на левой и правой сторонах границы. Что касается компонент яркости, фильтр, имеющий большую интенсивность фильтрации и фильтр, имеющий слабую интенсивность фильтрации переключаются в соответствии со значением данных изображения.
Фильтрация компонент яркости
При выборе интенсивности для каждой строки (или каждого столбца) определяется, удовлетворяются ли условия выражений (3)-(5). Фильтр с большой интенсивностью фильтрации выбирается, когда удовлетворяются все условия выражений (3)-(5), и фильтр со слабой интенсивностью фильтрации выбирается, когда условия любого из этих выражений не удовлетворяются.
В выражении (3), "d" - значение, вычисленное на основе выражения (6). Кроме того, "β" в выражениях (4) и (5) и "tc" в выражении (5) являются значениями, которые устанавливаются на основе параметра квантования Q, как указано в таблице 1.
При слабой фильтрации компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции выражений (7)-(11).
Математическая формула 3
При интенсивной фильтрации компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции выражений (12)-(18).
Математическая формула 4
Кроме того, при фильтрации компонент цветности, компоненты цветности соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции выражений (19)-(21).
В приведенных выше выражениях "Clip1Y" и "Clip1c" представляют операции выражений (22) и (23) и "Clip3 (x, y, z)" в выражениях (22) и (23) представляет значение, определяемое выражением (24).
Кроме того, что касается строчной границы, операция, выполняемая для каждой строки, используя пиксели в горизонтальном направлении на вертикальной границе, выполняется для каждого столбца, используя пиксели в вертикальном направлении, и выполняется процесс фильтрации.
В процессе деблокирующей фильтрации процесс, требующий устройства памяти строк, является процессом вертикальной фильтрации и здесь далее уменьшение объема устройства памяти строк в процессе вертикальной фильтрации будет описан подробно. Поскольку блок 24 деблокирующей фильтрации устройства 10 кодирования изображения имеет ту же самую конфигурацию и выполняет те же самые операции, что и конфигурация и операции блока 56 деблокирующей фильтрации устройства 50 декодирования изображения, будет описан только блок 24 деблокирующей фильтрации.
7. Первый вариант осуществления блока деблокирующей фильтрации
На фиг.9 показана конфигурация первого варианта осуществления блока деблокирующей фильтрации. Блок 24 деблокирующей фильтрации содержит устройство 241 памяти строк, блок 242 обнаружения границы строк, блок 243 определения интенсивности фильтрации, устройство 244 памяти коэффициентов, блок 245 операции фильтрации и контроллер 246 фильтрации.
Устройство 241 памяти строк хранит данные изображения, поданные от сумматора 23, основываясь на сигнале управления, полученном от контроллера 246 фильтрации. Кроме того, устройство 241 памяти строк считывает данные изображения, хранящиеся в нем, и выводит считанные данные изображения чтения на блок 242 обнаружения границы строк, блок 243 определения интенсивности фильтрации и блок 245 операции фильтрации.
Блок 242 обнаружения границы строк обнаруживает границу строк, на которой выполняется процесс вертикальной фильтрации. Блок 242 обнаружения границы строк выполняет процесс определения необходимости фильтрации для каждого блока, используя данные изображения, полученные от сумматора 23, и данные изображения, считанные из устройства 241 памяти строк, и обнаруживает границу строк, на которой выполняется процесс вертикальной фильтрации. Блок 242 обнаружения границы строк выводит результаты обнаружения на блок 243 определения интенсивности фильтрации.
Блок 243 определения интенсивности фильтрации определяет интенсивность фильтрации, как описано выше. Блок 243 определения интенсивности фильтрации определяет, должен ли процесс вертикальной фильтрации выполняться в режиме интенсивной фильтрации или в режиме слабой фильтрации, используя данные изображения двух блоков, смежных со вставленной строчной границей, на которой выполняется процесс вертикальной фильтрации, и выводит результаты определения на блок 245 операции фильтрации.
Устройство 244 памяти коэффициентов хранит коэффициенты фильтра, используемые в операции фильтрации процесса деблокирующей фильтрации.
Блок 245 операции фильтрации выполняет операцию фильтрации с интенсивностью фильтрации, определяемой блоком 243 определения интенсивности фильтрации, используя данные изображения, получаемые от сумматора 23, данные изображения, хранящиеся в устройстве 241 памяти строк, и коэффициенты фильтра, считанные из устройства 244 памяти коэффициентов. Блок 245 операции фильтрации выводит данные изображения, подвергнутые процессу вертикальной фильтрации, на устройство 25 памяти кадров. Кроме того, блок 245 операции фильтрации управляет диапазоном изображения, используемым в операции фильтрации в блоке, расположенном на верхней стороне строчной границы, основываясь на результате определения границы блоков, подаваемом от контроллера 246 фильтра.
Контроллер 246 фильтра управляет устройством 241 памяти строк, чтобы хранить данные изображения, соответствующие заданному количеству строк на нижней стороне в блоке. Кроме того, контроллер 246 фильтра считывает данные изображения, хранящиеся в устройстве 241 памяти строк. Дополнительно, контроллер 246 фильтра содержит блок 2461 определения границы строк. Блок 2461 определения границы строк определяет, является ли граница границей строк (например, границей строк между блоками LCU) в соответствующих блоках, в которых процесс последовательно выполняется в направлении растровой развертки, и выводит результаты определения на блок 245 операции фильтрации. Блок 245 операции фильтрации выполняет управление, то есть процесс вертикальной фильтрации может быть выполнен, даже когда емкость памяти устройства памяти строк уменьшается.
На фиг.10 показан порядок действия первого варианта осуществления блока деблокирующей фильтрации. На этапе ST71 блок 24 деблокирующей фильтрации обнаруживает границу строк. Блок 24 деблокирующей фильтрации обнаруживает границу строк, на которой выполняется процесс вертикальной фильтрации.
На этапе ST72 блок 24 деблокирующей фильтрации определяет интенсивность фильтрации. Блок 24 деблокирующей фильтрации определяет, будут ли использоваться режим интенсивной фильтрации или режим слабой фильтрации для границы строк, на которой выполняется процесс вертикальной фильтрации.
На этапе ST73 блок 24 деблокирующей фильтрации определяет, является ли граница, на которой выполняется процесс вертикальной фильтрации границы строк между блоками LCU. Блок 24 деблокирующей фильтрации переходит к этапу ST74, когда граница, на которой выполняется процесс вертикальной фильтрации, является границей строк между блоками LCU и переходит к этапу ST75, когда граница не является границей строк между блоками LCU.
На этапе ST74 блок 24 деблокирующей фильтрации выполняет процесс вертикальной фильтрации для уменьшенного диапазона. Блок 24 деблокирующей фильтрации выполняет процесс вертикальной фильтрации, уменьшая диапазон изображения, используемый для операции фильтрации верхнего соседнего блока LCU, и последовательность выполнения операций переходит к этапу ST76.
На этапе ST75 блок 24 деблокирующей фильтрации выполняет обычный процесс вертикальной фильтрации. Блок 24 деблокирующей фильтрации выполняет процесс вертикальной фильтрации, используя заданные отводы и коэффициенты без уменьшения диапазона изображения, используемого для операции фильтрации и последовательность выполнения операций переходит к этапу ST76.
На этапе ST76 блок 24 деблокирующей фильтрации определяет, был ли закончен процесс вертикальной фильтрации на границе. Когда процесс вертикальной фильтрации для соответствующих столбцов границы не был закончен, блок 24 деблокирующей фильтрации 24 возвращается к этапу ST76 и выполняет процесс для следующего столбца. Кроме того, когда процесс вертикальной фильтрации для соответствующих столбцов границы был закончен, последовательность выполнения операций переходит к этапу ST77.
На этапе ST77 блок 24 деблокирующей фильтрации определяет, был ли процесс закончен до окончания экрана. Когда процесс не был закончен до окончания экрана, блок 24 деблокирующей фильтрации возвращается к этапу ST71, обнаруживает новую границу и выполняет процесс вертикальной фильтрации. Когда процесс был закончен до окончания экрана, блок 24 деблокирующей фильтрации заканчивает процесс для 11 экранов.
Конфигурация и порядок работы блока операции фильтрации
На фиг.11 и 12 показана конфигурация блока операции фильтрации. Когда изменяемый отводом процесс вертикальной фильтрации выполнен, блок 245 операции фильтрации изменяет данные изображения отвода или изменяет количество отводов так, что процесс вертикальной фильтрации может быть выполнен, даже когда количество строк, которые хранят данные изображения, уменьшается. На фиг.11 показана конфигурация блока операции фильтрации, когда процесс вертикальной фильтрации выполняется, изменяя данные изображения для отвода. Кроме того, на фиг.12 показана конфигурация блока операции фильтрации, когда процесс вертикальной фильтрации выполняется, изменяя количество отводов.
На фиг.11 блок 245 операции фильтрации содержит блок 2451 хранения данных, блок 2452 выбора данных и арифметический процессор 2453.
Когда объем памяти устройства памяти строк уменьшается, устройство 2451 хранения данных хранит данные изображения, которые должны использоваться для отвода в положении уменьшенной строки. Устройство 2451 хранения данных выводит данные изображения, хранящиеся в нем, на блок 2452 выбора данных в качестве данных изображения для отвода в положении уменьшенной строки.
Блок 2452 выбора данных выбирает одни из данных изображения, хранящиеся в устройстве 2451 хранения данных, и данные изображения, хранящиеся в устройстве памяти строк, и выводит выбранные данные изображения на арифметический процессор 2453.
Арифметический процессор 2453 выполняет арифметический процесс, используя данные изображения, поданные от сумматора 23 и блока 2452 выбора данных, и коэффициенты фильтра, считанные из устройства 244 памяти коэффициентов, чтобы сформировать данные изображения после процесса вертикальной фильтрации, и выводит данные изображения в устройство 25 памяти кадров.
На фиг.12 блок 245 операции фильтрации содержит арифметический процессор 2455 и арифметический процессор 2456.
Арифметический процессор 2455 выполняет арифметический процесс с заданным количеством отводов и выводит данные изображения после процесса вертикальной фильтрации на блок 2457 выбора данных.
Арифметический процессор 2456 выполняет арифметический процесс без использования данных изображения уменьшенной строки, сокращая количество отводов в соответствии с уменьшением объема памяти устройства памяти строк и выводит данные изображения после процесса вертикальной фильтрации на блок 2457 выбора данных.
Блок 2457 выбора данных выбирает данные изображения в зависимости от того, является ли граница границей строк между блоками LCU. Когда граница не является границей между блоками LCU, блок 2457 выбора данных выбирает данные изображения с выхода арифметического процессора 2455. Кроме того, когда граница является границей строк между блоками LCU, блок 2457 выбора данных выбирает данные изображения, полученные с выхода арифметического процессора 2456.
На фиг.13(А) и 13(В) представлены диаграммы, описывающие работу блока 245 операции фильтрации. На чертежах показаны данные изображения соответствующих пикселей двух смежных блоков BKu и BK1. Здесь операция фильтрации выполняется, используя три пикселя, каждый из которых берется от границы (границы строки) ВВ в качестве диапазона операции фильтрации процесса вертикальной фильтрации, и четыре пикселя, каждый из которых берется от границы ВВ, в качестве отвода. Когда определено, что фильтрация должна быть выполнена в режиме интенсивной фильтрации, операции выражений (12)-(18), описанные выше, выполняются для каждого столбца арифметическими процессорами 2453 и 2455. Кроме того, когда определено, что фильтрация должна быть выполнена в режиме слабой фильтрации, операции выражений (7)-(10), описанные выше, выполняются для каждого столбца арифметическими процессорами 2453 и 2455.
Когда процесс деблокирующей фильтрации выполняется в растровом порядке в соответствующих блоках LCU, определяется, что процесс вертикальной фильтрации выполняется в режиме интенсивной фильтрации и выполняются операции выражений (12)-(18), описанные выше. То есть как показано на фиг.13(А), данные изображения блока BKu на верхней стороне границы ВВ, соответствующей четырем строкам из границы ВВ, должны быть сохранены в устройстве памяти строк.
Здесь блок 245 операции фильтрации управляет диапазоном изображения, используемым для операции фильтрации в блоке, расположенном на верхней стороне границы ВВ, за счет чего процесс вертикальной фильтрации может выполняться, даже когда объем памяти устройства памяти строк уменьшен. Например, как показано на фиг.13(В), данные изображения, соответствующие трем строкам от граничного ВВ, хранятся и процесс вертикальной фильтрации выполняется, используя хранящиеся данные изображения. То есть арифметический процессор 2453, показанный на фиг.11, выполняет операцию, соответствующую выражению (25). Кроме того, арифметический процессор 2456, показанный на фиг.12, выполняет операцию, соответствующую выражению (26), и блок 2457 выбора данных берет данные изображения от арифметического процессора 2456 и выводит данные изображения. В выражениях (25) и (26) "i" указывает на индекс столбца пикселя, и когда процесс фильтрации выполняется в блоках 8×8 пикселей, "i=0-7".
Арифметический процессор 2453 копирует пиксели в верхнем блоке BKu на верхний конец диапазона обработки фильтра в восходящем направлении и использует их же. То есть, используя данные изображения р2 пикселей на верхнем конце диапазона обработки фильтра, хранящиеся в блоке 2451 хранения данных, как данные изображения р3, данные изображения p2i' после процесса фильтрации вычисляются посредством операции, соответствующей выражению (25).
Арифметический процессор 2456 уменьшает количество отводов и вычисляет данные изображения p2i' после процесса фильтрации посредством операции, соответствующей выражению (26), используя изменения коэффициентов с уменьшением количества отводов. В этом случае коэффициенты изменяются так, что коэффициент данных изображения р2 изменяется с "3" на "5", чтобы соответствовать копированию пикселей верхнего конца в диапазоне отвода.
Когда граница ВВ не является границей строк между блоками LCU, поскольку нет необходимости использовать данные изображения устройства 241 памяти строк, такая же операция фильтрации, как традиционная операция, выполняется без сужения диапазона изображения, используемого для операции фильтрации. То есть арифметический процессор 2453, показанный на фиг.11, выполняет ту же самую операцию фильтрации, что и традиционная операция. Кроме того, арифметический процессор 2455, показанный на фиг.12, выполняет ту же самую операцию фильтрации, что и традиционная операция, и блок 2457 выбора данных выбирает и выводит данные изображения от арифметического процессора 2455.
То есть, когда граница является границей строк блоков, в которых процесс последовательно выполняется в порядке растровой развертки, управляя диапазоном изображения, используемым для операции фильтрации, даже когда объем памяти устройства памяти строк уменьшается, процесс деблокирующей фильтрации может быть выполнен тем же самым способом, что и до уменьшения. Кроме того, например, одна строка изображения 4K×2K соответствует двум строкам изображения 2K×1K. Дополнительно, в схеме H.264/AVC содержится устройство памяти строк, соответствующее четырем строкам, и объем памяти, соответствующий одной строке изображения 4K×2K, соответствует 50% объема памяти схемы H.264/AVC. То есть эффект уменьшения объема памяти в изображении с высокой разрешающей способностью улучшается.
8. Второй вариант осуществления блока деблокирующей фильтрации
Второй вариант осуществления блока деблокирующей фильтрации отличается от первого варианта осуществления тем, что операции арифметического процессора 2453 и арифметического процессора 2456 отличаются от операций в первом варианте осуществления.
При интенсивной фильтрации, когда граница ВВ является границей строк между блоками LCU и операции выражений (12)-(18), описанные выше, выполняются, как показано на фиг.13(А), данные изображения блока BKu на верхней стороне границы ВВ, соответствующей четырем строкам от границы ВВ, должен быть сохранены в устройстве памяти строк.
Здесь блок 245 операции фильтрации управляет диапазоном изображения, используемым для операции фильтрации в блоке, расположенном на верхней стороне границы ВВ, за счет чего процесс вертикальной фильтрации может быть выполнен, даже когда объем памяти устройства памяти строк уменьшается. Например, как показано на фиг.13(В), данные изображения, соответствующие трем строкам из границы ВВ, сохраняются и процесс вертикальной фильтрации выполняется, используя хранящиеся данные изображения. То есть арифметический процессор 2453, показанный на фиг.11, выполняет операцию, соответствующую выражению (27). Кроме того, арифметический процессор 2456, показанный на фиг.12, выполняет операцию, соответствующую выражению (28), и блок 2457 выбора данных берет данные изображения из арифметического процессора 2456 и выводит данные изображения. В выражениях (27) и (28) "i" указывает индекс столбца пикселя и когда процесс фильтрации выполняется в блоках 8×8 пикселей, "i=0-7."
Арифметический процессор 2453 выполняет зеркальное копирование пикселей в верхнем блоке BKu на верхнем конце диапазона обработки фильтра. То есть сохраняя данные р1 изображения в блоке 2451 хранения данных, зеркальное копирование данных р1 изображения пикселей верхнего конца в диапазоне обработки фильтра, чтобы использовать данные р1 изображения в качестве данных р3 изображения, данных изображения p2i' после процесса фильтрации, вычисляется посредством операции, соответствующей выражению (27).
Арифметический процессор 2456 сокращает количество отводов и вычисляет данные p2i' изображения после процесса фильтрации с помощью операции, соответствующей выражению (28), используя изменения коэффициентов, связанные с уменьшением количества отводов. В этом случае коэффициенты изменяются так, что коэффициент данных р1 изображения изменяется с "2" на "3", чтобы соответствовать зеркальной копии пикселей на верхнем конце в диапазоне обработки фильтра.
Когда граница ВВ не является границей строк между блоками LCU, то поскольку нет необходимости использовать данные изображения устройства 241 памяти строк, выполняется та же самая операция фильтрации, что и традиционная операция, без сужения диапазона изображения, используемого для операции фильтрации. То есть арифметический процессор 2453, показанный на фиг.11, выполняет ту же самую операцию фильтрации, что и традиционная операция. Кроме того, арифметический процессор 2455, показанный на фиг.12, выполняет ту же самую операцию фильтрации, что и традиционная операция, и блок 2457 выбора данных выбирает и выводит данные изображения из арифметического процессора 2455.
То есть, когда граница является границей строк блоков, в которых процесс выполняется последовательно в порядке растровой развертки, управляя диапазоном изображения, используемым для операции фильтрации, подобно первому варианту осуществления, даже когда объем памяти уменьшается, процесс деблокирующей фильтрации может быть выполнен.
9. Третий вариант осуществления блока деблокирующей фильтрации
Третий вариант осуществления блока деблокирующей фильтрации отличается от первого и второго вариантов осуществления тем, что операции арифметического процессора 2453 и арифметического процессора 2456 отличаются от операций первого варианта осуществления.
На фиг.14(А) и 14(В) представлены диаграммы для описания операций блока 245 операции фильтрации. На чертежах показаны данные изображения соответствующих пикселей двух смежных блоков BKu и BK1. Здесь операция фильтрации выполняется, используя три пикселя, каждый из которых взят из границы (границы строк) ВВ, в качестве диапазона обработки фильтра процесса вертикальной фильтрации, и четыре пикселя, каждый из которых взят от границы ВВ в качестве отвода. Когда определено, что фильтрация должна быть выполнена в режиме интенсивной фильтрации, операции, соответствующие выражениям (12)-(18), описанным выше, выполняются арифметическими процессорами 2453 и 2455 для каждого столбца. Кроме того, когда определено, что фильтрация должна быть выполнена в режиме слабой фильтрации, операции, соответствующие выражениям (7)-(10), описанные выше, выполняются арифметическими процессорами 2453 и 2455 для каждого столбца.
Когда процесс деблокирующей фильтрации выполняется в растровом порядке в соответствующих блоках LCU, определяется, что процесс вертикальной фильтрации выполняется в режиме интенсивной фильтрации, и выполняются операции, соответствующие выражениям (12)-(18), описанным выше. То есть как показано на фиг.14(А), данные изображения блока BKu на верхней стороне границы ВВ, соответствующей четырем строкам границы ВВ, должны быть сохранены в устройстве памяти строк.
Здесь блок 245 операции фильтрации управляет диапазоном обработки фильтра и диапазоном изображения, используемым для операции фильтрации в блоке, расположенном на верхней стороне границы ВВ, за счет чего процесс вертикальной фильтрации может быть выполнен, даже когда объем памяти устройства памяти строк уменьшается. Например, как показано на фиг.14(В), диапазон обработки фильтра в верхнем блоке BKu устанавливается в диапазон двух пикселей из границы ВВ и данные изображения, соответствующие двум строкам границы ВВ, сохраняются. Дополнительно, процесс вертикальной фильтрации выполняется, используя хранящиеся данные изображения, как в первом варианте осуществления. То есть арифметический процессор 2453, показанный на фиг.11, выполняет операции, соответствующие выражениям (29) и (30). Кроме того, арифметический процессор 2456, показанный на фиг.12, выполняет операции, соответствующие выражениям (31) и (32), и блок 2457 выбора данных выбирает данные изображения из арифметического процессора 2456 и выводит данные изображения. В выражениях (29)-(32) "i" указывает индекс столбца пикселя и когда процесс фильтрации выполняется в блоках 8×8 пикселей, "i=0-7".
Арифметический процессор 2453 копирует пиксели в верхнем блоке BKu на верхний конец диапазона обработки фильтра в восходящем направлении и использует их же. То есть при использовании данных р1 изображения пикселей на верхнем конце диапазона обработки фильтра, хранящихся в устройстве 2451 хранения данных, как данные р2 изображения, данные p1i' и p0i' изображения после процесса фильтрации вычисляются с помощью операций, соответствующих выражениям (29) и (30).
Арифметический процессор 2456 уменьшает количество отводов и вычисляет данные p1i' и p0i' изображения после процесса фильтрации с помощью операций, соответствующих выражениям (31) и (32), используя изменения коэффициентов с уменьшением количества отводов. В этом случае коэффициенты изменяются так, что коэффициент данных р1 изображения в выражении (31) изменяется с "1" на "2" и данные р1 изображения в выражении (32) изменяются с "2" на "3", чтобы соответствовать копированию пикселей верхнего конца в диапазоне отвода.
Когда граница ВВ не является границей строк между блоками LCU, поскольку нет необходимости использовать данные изображения устройства 241 памяти строк, то та же самая операция фильтрации, что и традиционная операция, выполняется без сужения диапазона изображения, используемого для операции фильтрации. То есть арифметический процессор 2453 иллюстрированный на фиг.11 выполняет ту же самую операцию фильтрации, что и традиционная операция. Кроме того, арифметический процессор 2455, показанный на фиг.12, выполняет такую же операцию фильтрации, что и традиционная операция, и блок 2457 выбора данных выбирает и выводит данные изображения от арифметического процессора 2455.
То есть, когда граница является границей строк блоков, в которых процесс выполняется последовательно в порядке растровой развертки, управляя диапазоном обработки фильтра и диапазоном изображения, используемым для операции фильтрации, даже когда объем памяти уменьшается, процесс деблокирующей фильтрации может быть выполнен таким же способом, что и до уменьшения. Кроме того, возможно намного большее уменьшение объема памяти.
10. Четвертый вариант осуществления блока деблокирующей фильтрации
Четвертый вариант осуществления блока деблокирующей фильтрации отличается от первого варианта осуществления тем, что операции арифметического процессора 2453 и арифметического процессора 2456 отличаются от операций третьего варианта осуществления.
При интенсивной фильтрации, когда границей ВВ является граница строк между блоками LCU и операции, соответствующие выражениям (12)-(18), описанные выше, выполняются, как показано на фиг.14(А), данные изображения блока BKu на верхней стороне границы ВВ, соответствующие четырем строкам границы ВВ, необходимо сохранить в устройстве памяти строк.
Здесь блок 245 операции фильтрации управляет диапазоном обработки фильтра и диапазоном изображения, используемыми для операции фильтрации в блоке, расположенном на верхней стороне границы ВВ, за счет чего процесс вертикальной фильтрации может быть выполнен, даже когда объем памяти устройства памяти строк уменьшается. Например, как показано на фиг.14(В), диапазон обработки фильтра в верхнем блоке BKu устанавливается в диапазоне двух пикселей от границы ВВ и данные изображения, соответствующие двум строкам границы ВВ, сохраняются. Дополнительно, процесс вертикальной фильтрации выполняется, используя хранящиеся данные изображения, так же как для второго варианта осуществления. То есть арифметический процессор 2453, показанный на фиг.11, выполняет операции, соответствующие выражениям (33) и (34). Кроме того, арифметический процессор 2456, показанный на фиг.12, выполняет операции, соответствующие выражениям (35) и (36), и блок 2457 выбора данных выбирает данные изображения из арифметического процессора 2456 и выводит данные изображения. В выражениях (33)-(36) "i" указывает индекс столбца пикселя и когда процесс фильтрации выполняется в блоках 8×8 пикселей, "i=0-7".
Арифметический процессор 2453 выполняет зеркальное копирование пикселей в верхнем блоке BKu на верхнем конце диапазона обработки фильтра. То есть сохраняя данные р0 изображения в устройстве 2451 хранения данных, зеркально копируя данные р0 изображения пикселей на верхнем конце в диапазоне обработки фильтра, чтобы использовать данные р0 изображения в качестве данных р2 изображения, данные pli' и p0i' изображения после процесса фильтрации вычисляются посредством операций, соответствующих выражениям (33) и (34).
Арифметический процессор 2456 уменьшает количество отводов и вычисляет данные p1i' и p0i' изображения после процесса фильтрации посредством операций, соответствующих выражениям (35) и (36), используя изменения коэффициентов с уменьшением количества отводов. В этом случае коэффициенты изменяются так, что коэффициент данных р0 изображения в выражении (35) изменяется с "1" на "2" и данные р0 изображения в выражении (36) изменяются с "2" на "3", чтобы соответствовать зеркальному копированию пикселей на верхнем конце в диапазоне обработки фильтра.
Когда граница ВВ не является границей строк между блоками LCU, поскольку нет необходимости использовать данные изображения устройства 241 памяти строк, выполняется операция фильтрации, такая же, как традиционная операция, без сужения диапазона изображения, используемого для операции фильтрации. То есть арифметический процессор 2453, показанный на фиг.11, выполняет такую же операцию, как и традиционная операция. Кроме того, арифметический процессор 2455, показанный на фиг.12, выполняет ту же самую операцию фильтрации, что и традиционная операция, и блок 2457 выбора данных выбирает и выводит данные изображения от арифметического процессора 2455.
То есть, когда граница является границей строк блоков, в которых процесс выполняется последовательно в порядке растровой развертки, управляя диапазоном обработки фильтра и диапазоном изображения, используемым для операции фильтрации, даже когда объем памяти уменьшается, процесс деблокирующей фильтрации может быть выполнен тем же самым способом что и до уменьшения. Кроме того, можно еще больше уменьшить объем памяти.
11. Пятый вариант осуществления блоки деблокирующей фильтрации
Блок деблокирующей фильтрации, описанный выше, управляет диапазоном изображения, используемый для операции фильтрации в блоке, расположенном на верхней стороне границы, и управляет диапазоном обработки фильтра в зависимости от того, является ли граница ВВ границей строк между блоками LCU. Далее для пятого варианта осуществления будет описан случай, когда обеспечиваются режим, в котором диапазон изображения управляется, когда границей ВВ является граница строк между блоками LCU, и режим, в котором диапазон изображения управляется независимо от того, является ли граница ВВ границей строке между блоками LCU.
На фиг.15 представлена блок-схема последовательности выполнения операций пятого варианта осуществления. На этапе ST81 блок 24 деблокирующей фильтрации обнаруживает границу строк. Блок 24 деблокирующей фильтрации 24 обнаруживает границу строк, на которой выполняется процесс вертикальной фильтрации.
На этапе ST82 блок 24 деблокирующей фильтрации определяет интенсивность фильтрации. Блок 24 деблокирующей фильтрации определяет, будет ли для границы строк, для которой выполняется процесс вертикальной фильтрации использоваться режим интенсивной фильтрации или режим слабой фильтрации.
На этапе ST83 блок 24 деблокирующей фильтрации определяет, должен ли выполняться процесс вертикальной фильтрации в уменьшенном диапазоне только в отношении границы строк между блоками LCU (то есть должен ли процесс вертикальной фильтрации выполняться, уменьшая диапазон изображения, используемый для операции фильтрации). Когда определено, что процесс вертикальной фильтрации с уменьшенным диапазоном должен быть выполнен в отношении границы строк блоков, меньших, чем размер LCU, а также границы строк между LCU, блок 24 деблокирующей фильтрации переходит к этапу ST84. Кроме того, когда определено, что процесс вертикальной фильтрации для уменьшенного диапазона должен быть выполнен в отношении только границы строк между блоками LCU, блок 24 деблокирующей фильтрации переходит к этапу ST85.
Блок 24 деблокирующей фильтрации определяет, должен ли быть выполнен процесс вертикальной фильтрации в уменьшенном диапазоне в отношении относительно границы строк между блоками LCU, основываясь, например, только на наборе параметров квантования, установленных в блоках кадров. Когда параметр квантования мал, лучшее качество изображения получается по сравнению с тем, когда параметр квантования большой. То есть, когда параметр квантования больше заданного порогового значения, блок 24 деблокирующей фильтрации определяет, что процесс вертикальной фильтрации должен быть выполнен в режиме, в котором качество изображения улучшается, выполняя процесс вертикальной фильтрации в уменьшенном диапазоне только в отношении границы строк между блоками LCU строки и выполняя обычный процесс вертикальной фильтрации в отношении границы строк блоков, меньших чем размер LCU, и переходит к этапу ST84. Кроме того, когда параметр квантования равен или меньше заданного порогового значения, блок 24 деблокирующей фильтрации определяет, что процесс вертикальной фильтрации должен быть выполнен в режиме, в котором управление делается простым, выполняя процесс вертикальной фильтрации в уменьшенном диапазоне в отношении границы строк между блоками, меньшими, чем размер LCU, а также в отношении границы строк между блоками LCU, и переходит к этапу ST85.
На этапе ST84 блок 24 деблокирующей фильтрации определяет, является ли граница, на которой выполняется процесс вертикальной фильтрации, границей строк между блоками LCU. Блок 24 деблокирующей фильтрации переходит к этапу ST85, когда граница, на которой выполняется процесс вертикальной фильтрации, является границей строк между блоками LCU, и переходит к этапу ST86, когда граница является границей строк блоков, меньших по размеру, чем LCU.
На этапе ST85 блок 24 деблокирующей фильтрации выполняет процесс вертикальной фильтрации в уменьшенном диапазоне. Блок 24 деблокирующей фильтрации 24 выполняет процесс вертикальной фильтрации, в то же время уменьшая диапазон изображения, используемый для операции фильтрации верхнего смежного LCU, и переходит к этапу ST87. В процессе вертикальной фильтрации в уменьшенном диапазоне может быть уменьшен диапазон фильтрации.
На этапе ST86 блок 24 деблокирующей фильтрации выполняет обычный процесс вертикальной фильтрации. Блок 24 деблокирующей фильтрации выполняет процесс вертикальной фильтрации без уменьшения диапазона изображения, используемого для операции фильтрации, и переходит к этапу ST87.
На этапе ST87 блок 24 деблокирующей фильтрации определяет, был ли закончен процесс вертикальной фильтрации на границе. Когда процесс вертикальной фильтрации для соответствующих столбцов границы не был закончен, блок 24 деблокирующей фильтрации возвращается к этапу ST87 и выполняет процесс для следующего столбца. Кроме того, когда процесс вертикальной фильтрации для соответствующих столбцов границы был закончен, последовательность выполнения операций переходит к этапу ST88.
На этапе ST88 блок 24 деблокирующей фильтрации определяет, был ли процесс закончен до конца экрана. Когда процесс не был закончен до конца экрана, блок 24 деблокирующей фильтрации возвращается к этапу ST81, обнаруживает новую границу и выполняет процесс вертикальной фильтрации. Когда процесс был закончен до конца экрана, блок 24 деблокирующей фильтрации заканчивает процесс для одного экрана.
Когда такой процесс выполнен, можно уменьшить объем памяти устройства памяти строк. Когда процесс вертикальной процесс фильтрации с уменьшенным диапазоном выполняется в отношении других границ строк, а также границы строк между блоками LCU, переключение процессов фильтрации не требуется и управление упрощается. Кроме того, когда процесс вертикальной фильтрации в уменьшенном диапазоне выполняется только в отношении границ строк между блоками LCU, может быть получено лучшее качество изображения.
12. Описание шестого-восьмого вариантов осуществления
Описание традиционной технологии
Выше был описан пример, в котором данные изображения для отвода в диапазоне изображения копируются или зеркально копируются и используются в качестве данных изображения отвода, который находится вне диапазона изображения из-за сужения диапазона изображения, используемого для операции фильтрации. Здесь, в настоящем описании, копирование является синонимом дополнения (padding).
Как и в настоящей технологии, способ выполнения процесса фильтрации, использующего дополнение на границе строк LCU, был предложен только в JCTVC-F053.
Процесс фильтрации с высокой интенсивностью фильтрации и процесс фильтрации, использующий дополнение для сигналов яркости в схеме HEVC, будут описаны со ссылкой на фиг.16.
На фиг.16 показан пример пикселей в двух блоках BKu и BK1, смежных по вертикали, со вставленной границей строк. В примере на фиг.16 данные изображения пикселей в блоке BKu представляется символом "pji". Здесь, "j" - индекс строки пикселя и "i" - индекс столбца пикселя. Кроме того, самый маленький блок процесса кодирования является блоком 8×8 пикселей, и индексы "j" строк 0, 1, 2 и 3 назначаются последовательно (сверху вниз), начиная от строки, ближней к границе ВВ строк. Индексы "i" 0, 1, 2 …, и 7 столбцов назначаются в блоке слева направо. Верхняя половина блока BKu на чертеже не показана. С другой стороны, данные изображения пикселей в блоке BK1 представляются символом "qki". Здесь, "k" - индекс строки пикселя, и "i" - индекс столбца пикселя. Индексы "k" строк 0, 1, 2 и 3 назначаются последовательно (сверху вниз), начиная от строки, ближней к границе ВВ строк. Нижняя половина блока ВK1 на чертеже также не показана.
При интенсивной фильтрации сигнала яркости в схеме HEVC компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (37)-(42), выражения (37)-(42) соответствуют выражениям (14), (16), (13), (17), (12) и (18), соответственно.
Здесь, "Clip0-255" указывает на процесс ограничения округления значения вверх до "0", когда значение равно "0" или меньше, и округление значения вниз до "255", когда значение равно "255" или больше. То же самое применяется к последующим выражениям.
Напротив, в традиционном предложении, описанном выше, процесс фильтрации выполняется, используя дополнение с уменьшением R2W2, хотя процесс фильтрации выполняется только на границе строк блоков LCU. Здесь R2W2 представляет, что процесс фильтрации применяется к двум пикселям на границе строк между блоками LCU, обращаясь к двум пикселям на границе строк между блоками LCU.
При интенсивной фильтрации сигналов яркости в традиционном предложении компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (43)-(47).
Здесь выражение (43) интенсивной фильтрации в традиционном предложении отличается тем, что "p2i" в выражении (37) интенсивной фильтрации схемы HEVC изменяется на "p1i". Выражение (45) интенсивной фильтрации в традиционном предложении отличается тем, что "p2i" в выражении (39) интенсивной фильтрации схемы HEVC изменяется на "p1i". Интенсивная фильтрация в традиционном предложении отличается тем, что выражение, соответствующее выражению (41) интенсивной фильтрации схемы HEVC, удаляется.
Выражения (44), (46) и (47) интенсивной фильтрации в традиционном предложении являются такими же, как выражения (38), (40) и (42), соответственно, для интенсивной фильтрации в схеме HEVC.
То есть в традиционном предложении, поскольку пиксель "p2i" на третьей строке от границы строк ВВ блока Bku не упоминается, пиксель "p1i" на строке, следующей сразу ниже третьей строки того же самого столбца, дополняется и используется вместо него.
Кроме того, процесс фильтрации не применяется к пикселю "р20" на третьей строке от границы строк ВВ блока Bku. Поэтому при интенсивной фильтрации традиционного предложения, выражение, соответствующее выражению (41) интенсивной фильтрации в схеме HEVC, удаляется.
Поступая таким образом, в традиционном предложении объем памяти устройства памяти строк сокращается вместо того, чтобы становиться больше, чем в схеме HEVC.
Однако, в случае изображений 4k, поскольку необходимо иметь большую память строк, требуются дополнительно уменьшить устройство памяти строк в процессе деблокирования. Кроме того, при уменьшении устройства памяти строк требуется поддержать лучшую функцию шумоподавления блоков для процесса деблокирования, чем в способе, соответствующем традиционному предложению.
Здесь, при определении межблочной границы в схеме HEVC, как указано ниже в выражении (48), процессу подвергается форма сигнала, имеющая постоянный наклон с обеих сторон границы строки. Поэтому в настоящей технологии процесс деблокирования на границе строк между блоками LCU выполняется, используя наклон формы сигнала, используемого при определении границы между блоками, который далее будет описан подробно.
Описание настоящей технологии (линейная аппроксимация)
В примере на фиг.17 показано выражение (48) для определения границы между блоками, используемое в схеме HEVC.
Как показано на фиг.17, первый член на левой стороне выражения (48) является выражением для определения пикселя в третьем столбце с левой стороны блока Bku и может быть выражен разницей разностей (разностей второго порядка) (то есть дифференциалом второго порядка, имеющим постоянную крутизну.
Второй-четвертый члены на левой стороне выражения (48) являются выражением для определения пикселя в шестом столбце с левой стороны блока Bku, выражением для определения пикселя в третьем столбце с левой стороны блока Bkl, и выражением для определения пикселя в шестом столбце с левой стороны блока Bkl, соответственно. То же самое можно сказать для второго-четвертого членов с левой стороны выражения (48).
Как сказано выше, в определении границы между блоками в схеме HEVC, поскольку процессу подвергается форма сигнала, имеющая постоянный наклон, деблокирующий процесс на границе строк между блоками LCU использует наклон формы сигнала, используемого при определении границы между блоками.
В традиционной технологии для пикселей, на которые не может делаться ссылка, процесс деблокирования на границе строк между блоками LCU использует дополнения. Напротив, в настоящей технологии в отношении пикселей, на которые не может делаться ссылка в процессе деблокирования, процесс деблокирования на границе строк между блоками LCU выполняет линейную аппроксимацию, используя наклон формы сигнала.
То есть в процессе разблокирования на границе строк между блоками LCU в настоящей методике используется приведенное ниже выражение (49) линейной аппроксимации.
Как показано на фиг.18, когда пиксельные значения p2i, p1i и p0i имеют наклон, на пиксельное значение p2i не может делаться ссылка при традиционном дополнении на основе R2W2. То есть хотя пиксельное значение p1i, следующее сразу под пикселем p2i, дополняется и используется вместо пиксельного значения р2i, как указано заштрихованным кружком, так как фактическое пиксельное значение p2i находится в положении точечного кружка, возникает ошибка.
Напротив, при линейном предсказании на основе R2W2 согласно настоящей технологии, так как на пиксельное значение p2i не может делаться ссылка, пиксельное значение (равное тому же пиксельному значению, что и фактическое пиксельное значение), предсказанное линейным предсказанием, исходя из наклона, основанного на пиксельных значениях p1i и p0i, используется в качестве пиксельного значения p2i как указывается заштрихованным кружком.
Поступая таким образом, когда пиксельные значения имеют наклон, настоящая технология не подвергается большему количеству ошибок, чем при традиционном способе дополнений. То есть хотя используется технология на основе R2W2, можно уменьшить устройство памяти строк, в то же время сохраняя функцию шумоподавления блоков в процессе деблокирования.
Кроме того, например, одна строка изображения 4K × 2K соответствует двум строкам изображения 2K × 1K. Дополнительно, в схеме H.264/AVC содержится устройство памяти строк, соответствующее четырем строкам, и объем памяти, соответствующий одной строке изображения 4K × 2K, соответствует 50% объема памяти схемы H.264/AVC. То есть эффект уменьшения объема памяти в изображении с высокой разрешающей способностью улучшается.
Когда пиксельные значения p2i, p1i и p0i не имеют наклона, получается, по существу, тот же самый результат, как когда используется пиксельное значение p1i, находящее сразу ниже пикселя p2i. В этом случае, хотя используется технология на основе R2W2, можно уменьшить устройство памяти строк, в то же время сохраняя функцию шумоподавления блоков в процесса деблокирования.
Операция фильтрации для случая R2W2
Далее будет описан процесс фильтрации сигналов яркости для случая R2W2. Здесь, R2 представляет количество пикселей, на которые делается ссылка, и W2 представляет количество пикселей, к которым применяется процесс фильтрации. То есть R2W2 представляет, что процесс фильтрации применяется к двум пикселям на границе строк между блоками LCU, посредством ссылки на два пикселя на границе строк между блоками LCU, как показано на фиг.19.
В примере на фиг.19 показано, что на пиксели в третьем и четвертом столбцах, считая от границы ВВ строк в блоке BKu на фиг.16, не может делаться ссылка.
Как показано снова для сравнения, при интенсивной фильтрации сигнала яркости в схеме HEVC компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (50)-(55). Выражения (50)-(55) соответствуют выражениям (37)-(42), соответственно.
Напротив, при интенсивной фильтрации сигнала яркости в случае R2W2 настоящей технологии компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (56)-(60).
Здесь, выражение (56)для интенсивной фильтрации в случае R2W2 отличается тем, что "p2i+2*p1i+2*p0i" в выражении (50) для интенсивной фильтрации в схеме HEVC изменяется на "4*p1i+p0i" соответственно выражению (49) линейной аппроксимации.
Выражение (58) для интенсивной фильтрации в случае R2W2 отличается тем, что "p2i+2*p1i+p0i" в выражении (52) для интенсивной фильтрации в схеме HEVC изменяется на "3*p1i" соответственно выражению (49) линейной аппроксимации.
Интенсивная фильтрация в случае R2W2 отличается тем, что выражение, соответствующее выражению (54) для интенсивной фильтрации в схемы HEVC, удаляется.
То есть в случае R2W2 настоящей технологии, поскольку на пиксель "p2i" на третьей строке, считая от границы ВВ строк блока BKu ссылка не делается, выражение (49) линейной аппроксимации заменяет и используется вместо него.
Кроме того, процесс фильтрации не применяется к пикселю "р20" на третьей строке от границы ВВ строк блока Bku. Поэтому при интенсивной фильтрации в случае R2W2 выражение, соответствующее выражению (54) для интенсивной фильтрации в схеме HEVC, удаляется.
Далее будут описаны выражение определения слабой фильтрации для сигналов яркости на границе строк и слабая фильтрация.
Сначала, в выражении определения слабой фильтрации для сигналов яркости в схеме HEVC и слабой фильтрации компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (61)-(63). Первые члены выражений (61)-(63) являются выражениями для определения слабой фильтрации.
Здесь, как описано выше, "Clip0-255" указывает на процесс ограничения с округлением значения вверх до "0", когда значение равно "0" или меньше и с округлением вниз до значения "255", когда значение равно "255" или больше. Кроме того, Clip(-tc)-tc указывает на процесс ограничения с округлением значения вверх до "-tc", когда значение равно "-tc" или меньше, и с округлением вниз до значения "tc", когда значение равно "tc" или больше. Ограничение для "tc2" является таким же. То же самое применяется к последующим выражениям. Здесь, "tc" является значением, установленным на основе параметра Q, как указано в таблице 1.
Напротив, в выражении определения слабой фильтрации для сигналов яркости в случае R2W2 и слабой фильтрации, компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (64)-(66). Первые сроки выражений (64)-(б6) являются выражениями определения слабой фильтрации.
Здесь, выражение в пределах ограничения tc2 второго члена, который является выражением слабой фильтрации в пределах выражения (65) в случае R2W2, отличается от выражения в пределах ограничения tc2 второго члена в выражении (62) для схемы HEVC согласно выражению (49) линейной аппроксимации. То есть выражение "((((p2i+p0i+1)>>1)-p1i+дельта)>>1)" в пределах ограничения tc2 второго члена для схемы HEVC изменяется на выражение" ((((p1i+p1i+1)>>1)-p1i+дельта)>>1)" в пределах ограничения tc2 второго члена.
Кроме того, выражение в пределах условного оператора if первого члена, который является выражением определения слабой фильтрации внутри выражения (65) в случае R2W2, отличается от выражения в пределах условного оператора if первого члена в выражении (62) схемы HEVC. То есть выражение "abs(р22-2*p12+р02)+abs(p25-2*p15+р05)" в пределах условного оператора if первого члена в схеме HEVC изменяется на выражение "abs(0-(р12-р02))+abs(0-(p15-p05))" в пределах условного оператора if первого члена.
То есть в первом члене выражения (65) пиксель, находящийся сразу ниже текущего пикселя, дополняется, как указано в приведенном ниже выражении (67) вместо его линейной аппроксимации. Другими словами, "0" в выражении "abs(0-(р12-р02))" представляет "0=р22-р12", и "0" в выражении "abs(0-(p15-p05))" представляет "0=p25-P15."
Причина состоит в том, что при определении наклона в выражении определения фильтрации, использование линейной аппроксимации позволяет игнорировать определение, которое фактически игнорироваться не может. То есть при определении наклона в выражения определения слабой фильтрации, пиксель, находящийся сразу ниже текущего пикселя, дополняется, как указано в выражении (67). То же самое можно сказать для выражения определения интенсивной фильтрации и определения границы между блоками, описанного ниже.
Далее будут описаны выражение для определения границы между блоками и выражение для определения интенсивной фильтрации для сигналов яркости на границе строк.
Во-первых, выражение для определения границы между блоками для сигналов яркости в схеме HEVC представляется выражением (68), показанным ниже, и выражение для определения интенсивной фильтрации представляется выражением (69), показанным ниже.
Напротив, выражение для определения границы между блоками в случае R2W2 настоящей технологии представляется ниже выражением (70), и выражение для определения интенсивной фильтрации представляется ниже выражением (71).
Первый и второй члены в выражении условного оператора if выражения (70) для определения границы между блоками в случае R2W2 отличаются от первого и второго членов в выражении условного оператора if в выражении (68) для определения границы между блоками в схеме HEVC в соответствии с выражением (67) для дополнения. То есть первый и второй члены "abs(р22-2*p12+р02)+abs(p25-2*p15+р05)" в выражении условного оператора if в схеме HEVC изменяются на первый и второй члены "abs(0-(р12-p02))+abs(0-(р15-р05))" в выражении условного оператора if.
Кроме того, выражение в абсолютном значении на первой строке выражения (71) для определения интенсивной фильтрации в случая R2W2 отличается от выражения в абсолютном значении на первой строке выражения (69) для определения интенсивной фильтрации в схеме HEVC согласно выражению (67) для дополнения. То есть выражение "abs(p22-2*p12+p02)+abs(p25-2*p15+р05)" в абсолютном значении на первой строке выражения (69) изменяется на выражение "abs(0-(р12-р02))+abs(0-(p15-р05))" в абсолютном значении на первой строке выражения (71).
Дополнительно, выражение, появляющееся после первого "and" в выражении (71) для определения интенсивной фильтрации в случае R2W2, отличается от выражения, появляющегося после первого "and" в выражении (69) для определения интенсивной фильтрации в схеме HEVC. То есть выражение "(|p3i-p0i<<1|+|q0i-q3i|)<(β>>3))", появляющийся после того, как первое "and" выражения (69) изменяется на выражение "(|p1i-p0i<<1|+|q0i-q3i|)<(β>>3))", появляющийся после первого "and" в выражении (71).
Так как определение этой части является определением величин пиксельных значений, используются выражение (49) для линейной аппроксимации и выражение (67) для дополнения. То есть выражение, появляющееся после первого "and" в выражении (71), сформировано таким способом, что "p3i" в выражении, появляющемся после первого "and", выражения (69) является первоначально аппроксимированным как "p2i" посредством дополнения, и "p2i" аппроксимируется как "2*p1i - p0i" посредством линейной аппроксимации.
Процесс фильтрации для случая R2W1
Далее будет описан процесс фильтрации сигналов яркости для случая R2W1. Здесь, R2 представляет количество пикселей, на которые делается ссылка, и W1 представляет количество пикселей, к которым применяется процесс фильтрации. То есть R2W1 представляет, что процесс фильтрации применяется к одному пикселю на границе строк между блоками LCU посредством ссылки на два пикселя на границе строк между блоками LCU, как показано на фиг.19.
При интенсивной фильтрации сигнала яркости в случае. R2W1 настоящей технологии компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (72)-(75).
Здесь, выражение (72) для интенсивной фильтрации в случае R2W1 отличается тем, что ʺp2i+2*p1i+2*p0iʺ в выражении (50) для интенсивной фильтрации схемы HEVC изменяется на ʺ4*p1i+p0iʺ соответственно выражению (49) линейной аппроксимации.
Интенсивная фильтрация в случае R2W1 отличается тем, что выражения, соответствующие выражениям (52) и (54) для интенсивной фильтрации в схеме HEVC, удаляются.
То есть в настоящей технологии, поскольку на пиксель "p2i", находящийся на третьей строке границы ВВ строк блока Bku, не делается ссылка, выражение (49) линейной аппроксимации заменяется и используется вместо него.
Кроме того, процесс фильтрации не применяется к пикселям "р10" и "р20" на второй и третьей строках, считая от границы ВВ строк блока Bku. Поэтому при интенсивной фильтрации в случае R2W1 выражения, соответствующие выражениям (52) и (54) интенсивной фильтрации в схеме HEVC, удаляются.
Далее будут описаны выражение для определения слабой фильтрации для сигналов яркости на границе строк и слабая фильтрация.
В выражении определения слабой фильтрации для сигналов яркости в случае R2W1 и слабой фильтрации, компоненты яркости соответствующих пикселей в диапазоне обработки фильтра вычисляются, выполняя операции, соответствующие выражениям (76) и(77).
Здесь, в случае R2W1 процесс фильтрации не применяется к пикселю "р10" на второй строке от границы ВВ строк блока Bku. Поэтому в выражении определения слабой фильтрации для случая R2W1 и слабой фильтрации, выражение, соответствующее выражению (62) в схеме HEVC, удаляется.
Далее будут описаны выражение для определения границы между блоками и выражение определения интенсивной фильтрации для сигналов яркости на границе строк.
Выражение определения границы между блоками в случае R2W1 определяется приведенным ниже выражением (78) и выражение определения интенсивной фильтрации определяется приведенным ниже выражением (79).
Первый и второй члены в выражении условного оператора if в выражении (78) для определения границы между блоками в случае R2W1 отличаются от первого и второго членов в выражении условного оператора if в выражении (68) определения границы между блоками схемы HEVC соответственно выражению (67) для дополнения. То есть первый и второй члены "abs(р22-2*р12+р02)+abs(р25-2*p15+p05)" в выражении условного оператора if схемы HEVC изменяются на первый и второй члены "abs(0-(p12-p02))+abs(0-(p15-р05))" в выражении условного оператора if.
Кроме того, выражение в абсолютном значении на первой строке выражения (79) для определения интенсивной фильтрации в случае R2W1 отличается от выражения в абсолютном значении на первой строке выражения (69) для определения интенсивной фильтрации в схеме HEVC согласно выражению (67) для дополнения. То есть выражение "abs(p22-2*р12+р02)+abs(p25-2*p15+р05)" в абсолютном значении на первой строке выражения (69) изменяется на выражение "abs(0-(р12-р02))+abs(0-(p15-p05))" в абсолютном значении на первой строке выражения (79).
Дополнительно, выражение, появляющееся после первого оператора "and" в выражении (79) для определения интенсивной фильтрации в случае R2W1, отличается от выражения, появляющегося после первого оператора "and" в выражении (69) для определения интенсивной фильтрации в схеме HEVC. То есть выражение" (|p3i-p0i<<1|+|q0i-q3i|)<(β>>3))", появляющееся после первого оператора "and" в выражении (69) изменяется на выражение "(|p1i-p0i<<1|+|q0i-q3i|)<(β>>3))", появляющееся после первого оператора "and" в выражении (79).
Как описано выше в связи со случаем R2W2, так как определение этой части является определением величин пиксельных значений, используются выражение (49) для линейной аппроксимации и выражение (67) для дополнения. То есть выражение, появляющееся после первого оператора "and" выражения (79), сформировано таким способом, что "p3i" в выражении, появляющемся после первого оператора "и" выражения (69), сначала аппроксимируется как "p2i", и "p2i" аппроксимируется как "2*p1i-p0i."
Пример конфигурации и операции по реализации описанного выше процесса определения, основанного на линейной аппроксимации, будет описан со ссылкой на фиг.22-24 как шестой и седьмой варианты осуществления блока деблокирующей фильтрации.
Как описано выше, в настоящей технологии выражение для определения границы между блоками на границе строк и выражение для определения интенсивной фильтрации изменяются, используя выражение (49) для линейной аппроксимации и выражение (67) для дополнения. То есть процесс ограничения добавляется к процессу интенсивной фильтрации как контрмера в случае, когда выражение для определения ошибочно игнорируется и ошибочно выполняется процесс деблокирующей фильтрации.
Описание настоящей технологии (процесс ограничения при интенсивной фильтрации)
Здесь будет описан процесс ограничения при интенсивной фильтрации, который является восьмым вариантом осуществления. Интенсивная фильтрация для сигналов яркости в случае R2W2 может также использовать выражения (80)-(84), в которые добавлен процесс ограничения.
Выражение (80) для интенсивной фильтрации является выражением вычисления р00 после фильтрации. В выражении (80) для интенсивной фильтрации процесс ограничения (-tc) до tc применяется к разнице между выражением в процессе ограничения от 0 до 255 в выражении (56)и р00, чтобы получить значение, далее значение добавляется к р00, чтобы получить другое значение, и другое значение подвергается процессу ограничения от 0 до 255.
Выражение (81) для интенсивной фильтрации является вычисленным выражением для q00 после фильтрации. В выражении (81) для интенсивной фильтрации процесс ограничения для (-tc)-tc применяется к разнице между выражением в процессе ограничения от 0 до 255 в выражении (57) и q00, чтобы получить значение, далее значение добавляется к q00, чтобы получить другое значение, и другое значение подвергается процессу ограничения от 0 до 255.
Выражение (82) для интенсивной фильтрации является вычисленным выражением для р10 после фильтрации. В выражении (82) для интенсивной фильтрации процесс ограничения от (-tc) до tc применяется к разности между выражением в процессе ограничения от 0 до 255 в выражении (58) и р10, чтобы получить значение, затем значение добавляется к р10, чтобы получить другое значение, и другое значение подвергается процессу ограничения от 0 до 255.
Выражение (83) для интенсивной фильтрации является вычисленным выражением для q10 после фильтрации. В выражении (83) для интенсивной фильтрации процесс ограничения от (-tc) до tc применяется к разности между выражением в процессе ограничения от 0 до 255 в выражении (59) и q10, чтобы получить значение, затем значение добавляется к q10, чтобы получить другое значение, и другое значение подвергается процессу ограничения от 0 до 255.
Выражение (84) для интенсивной фильтрации является вычисленным выражением для q20 после фильтрации. В выражении (84) для интенсивной фильтрации процесс ограничения от (-tc) до tc применяется к разнице между выражением в процессе ограничения от 0 до 255 в выражении (60) и q20, чтобы получить значение, затем значение добавляется к q20, чтобы получить другое значение, и другое значение подвергается процессу ограничения от 0 до 255.
Поступая таким образом, можно подавить чрезмерное применение процесса фильтрации.
Здесь предлагается для рассмотрения работа Matthias Narroschke, Tomas Wedi, Semih Esenlik, "Results for modified decisions for deblocking," JCTVC-G590, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 7-ая встреча, Женева, СН, 21-30 ноября 2011 г. (здесь далее упоминается как непатентный документ 2).
В непатентном документе 2 описывается, что процесс определения интенсивной/слабой фильтрации выполняется в соответствующих блоках. Однако, в процессе определения, описанном в непатентном документе 2, когда результаты определения на текущей строке и блок, к которому принадлежит строка, различаются (например, когда слабая фильтрация определяется для текущей строки, тогда как интенсивная фильтрация определяется для блока, который содержит строку, информация статьи применяется к текущей строке), применяется чрезмерный процесс фильтрации.
Кроме того, в непатентном документе 2, так как процесс определения интенсивной/слабой фильтрации выполняется блоками по четыре строки, происходит несовпадение между определением и процессом фильтрации. Как пример несоответствия, определяется слабая фильтрация, хотя необходимо определить интенсивную фильтрацию, и интенсивная фильтрация определяется, хотя необходимо определить слабую фильтрацию.
При интенсивной фильтрации сигналов яркости в схеме HEVC (НМ 5.0), используются выражения (85)-(89), приведенные ниже.
В настоящей технологии, чтобы устранить несоответствие процесса определения и неполноту в процессе определения, применяется процессе ограничения, указанный ниже в выражениях (90)-(94). В выражении (90), поскольку процесс ограничения должен быть выполнен на частичном Δ-значении, которое изменяется с процессом фильтрации, p0i находится вне процесса ограничения. То же самое применяется к выражениям (91)-(94).
Здесь, значение ограничения "pv" является любым 1-кратным, 2-кратным, 3-кратным, 4-кратным, 5-кратным, 6-кратным, 7-кратным и 8-кратным параметром tc. To есть pv=tc, 2*tc, 3*tc, 4*tc, 5*tc, 6*tc, 7*tc, 8*tc. Хотя значение ограничения "pv" предпочтительно равно 2-кратному параметру to, значение ограничения может быть любым от 1-кратного до 8-кратного параметра. Кроме того, значение ограничения не ограничивается 1-8-кратностью, пока получаются одни и те же эффекты.
Кроме того, "to" изменяет в зависимости от параметра квантования QP. То есть коэффициент умножения значения ограничения, применяемый к "to", может также быть увеличен (то есть изменяется вместе с QP) по мере увеличения QP. Параметр (значение ограничения или значение коэффициента умножения значения ограничения, применяемое к "to"), применяемый к процессу ограничения, может быть установлен заранее и может быть добавлен к кодированному потоку и разделителю передачи на стороне декодирования.
Выражения (90)-(94), описанные выше, могут изменяться так, что процесс ограничения выполняется как в приведенных ниже выражениях (95)-(99).
Здесь, выражения (85)-(89) для интенсивной фильтрации сигналов яркости в схеме HEVC (НМ 5.0) являются выражениями для интенсивной фильтрации сигналов яркости на границе строк. То есть в схеме HEVC (НМ 5.0), интенсивная фильтрация сигналов яркости фактически представляется выражениями (100)-(105), приведенными ниже.
В настоящей технологии, чтобы устранить несоответствие процесса определения и неполноту процесса определения, процесс ограничения может быть применен к интенсивной фильтрации для сигналов яркости, как указано в выражениях (106)-(111), чтобы он соответствовал выражениям (100)-(105). В первой части выражения (106), подобно выражениям (90)-(94), описанным выше, так как процесс ограничения должен быть выполнен на частичном Л-значении, которое изменяется с процессом фильтрации, "p0i" находится вне процесса ограничения. То же самое применяется к первым частям выражений (107)-(111).
Здесь, значение ограничения "pv" является любым 1-кратным, 2-кратным, 3-кратным, 4-кратным, 5-кратным, 6-кратным, 7-кратным и 8-кратным параметром tc. To есть pv=to, 2*tc, 3*tc, 4*tc, 5*tc, 6*tc, 7*tc, 8*tc. Хотя значение ограничения "pv" предпочтительно равно 2-хкратному параметру tc, значение ограничения может быть любым от 1-кратного до 8-кратного параметра. Кроме того, значение ограничения не ограничивается 1-8-кратностью, пока получаются одни и те же эффекты.
Кроме того, "tc" изменяет в зависимости от параметра квантования QP. То есть коэффициент умножения значения ограничения, применяемый к "tc", может также быть увеличен (то есть изменяться вместе с QP) по мере увеличения QP. Параметр (значение ограничения или значение коэффициента умножения значения ограничения, применяемое к "tc"), применяемый к процессу ограничения, может быть установлен заранее и может быть добавлен к кодированному потоку и разделителю передачи на стороне декодирования.
На фиг.20 показаны самые большие значения пиксельных значений, которые изменяются вместе с интенсивной фильтрацией сигналов яркости в схеме HEVC (НМ 5.0) выражений (100)-(105), описанных выше, полученные посредством эксперимента.
AI_HE, RA_HE, LB_HE, и LP_HE указывают условия этого эксперимента. AI_НЕ указывает, что эксперимент выполнялся в режиме ALL INTRA High Efficiency (высокой эффективности всегда внутри кадров). RA_HE указывает, что эксперимент выполнялся в режиме Random Access High Efficiency (высокой эффективности с произвольным доступом). LB_HE указывает, что эксперимент выполнялся в режиме Low Delay В High Efficiency (высокой эффективности с низкой задержкой В). LP_HE указывает, что эксперимент выполнялся в режиме Low Delay P High Efficiency (высокой эффективности с низкой задержкой P).
"22, 27, 32 и 37" под AI_HE, RA_HE, LB_HE, и LP_HE являются значениями параметров квантования, используемыми в эксперименте. Кроме того, Class A-Class F указывают на тип тестовой последовательности, используемой в эксперименте.
Как показано на фиг.20, пиксельное значение, которое изменяется вместе с интенсивной фильтрацией сигналов яркости в схеме HEVC (НМ 5.0) (то есть пиксельное значение, которое изменяется вместе с интенсивной фильтрацией, когда процесс ограничения не присутствует), в некоторых случаях изменяется значительно больше 100 или более раз.
Поэтому, процесс ограничения применяется к интенсивной фильтрации сигналов яркости. Благодаря этому, как показано на фиг.21, можно в максимально возможной степени подавить влияние несоответствия процесса определения и неполноты процесса определения.
В примере фиг.21, когда существует край (который не является границей блоков), обозначенный сплошной линией, хотя процесс деблокирования не должен выполняться, если процесс разблокирования выполняется согласно технологии непатентного документа 2, пиксельные значения изменяются значительно, что указывается точечными линиями.
Например, как указано сплошной линией, перед тем, как выполняется процессом деблокирования, значения пикселей p2i, p1i и p0i равны 255, значения пикселей q0i, q1i и q2i равны 0, и разность D между значениями пикселей p0i и q0i равна 255.
Напротив, как обозначено точечной линией, после того, как процесс деблокирования выполнен, значение пикселя p2i равно 223, значение пикселя p1i равно 191 и значение пикселя p0i равно 159. То есть пиксельные значения для пикселей p2i, p1i, и p0i значительно изменились. Кроме того, после того, как процесс деблокирования выполнен, значение пикселя q0i равно 96, значение пикселя q1i равно 64 и значение пикселя q2i равно 32. То есть пиксельные значения пикселей q0i, q1i и q2i значительно изменились.
В таком случае, при интенсивной фильтрации согласно выражениям (106)-(111), описанным выше, выполняется процесс ограничения, в котором значение ограничения равно 10.
Напротив, как указано жирной линией, после того, как процесс деблокирования выполнен, значения пикселей p2i, p1i и p0i равны 245 и значения пикселей q0i, q1i и q2i равны 255. То есть изменение в пиксельных значениях может быть подавлено в максимально возможной степени.
Пример конфигурации и операция процесса ограничения при интенсивной фильтрации будут представлены со ссылкой на фиг.25-27, описанные позже как восьмой вариант осуществления блока деблокирующей фильтрации.
13. Шестой вариант осуществления блока деблокирующей фильтрации
Пример конфигурации блока деблокирующей фильтрации
На фиг.22 представлена конфигурация шестого варианта осуществления блока деблокирующей фильтрации. Блок 24 деблокирующей фильтрации выполнен с возможностью содержания в нем устройства 71 видеопамяти, блока 72-1 определения границы блоков, блока 73-1 определения интенсивности фильтрации, блока 74-1 операции фильтрации, переключателя 75, устройства 76 памяти коэффициентов и контроллера 77 фильтра. Блок 24 деблокирующей фильтрации выполнен с возможностью дополнительного содержания в нем блока 72-2 определения границы строк/границы блоков, блока 73-2 определения интенсивности фильтрации на границе строк и блока 74-2 операции фильтрации на границе строк.
Устройство 71 видеопамяти является блоком, соответствующим устройству 241 памяти строк, показанному на фиг.9, и выполнено как устройство памяти строк. Устройство 71 видеопамяти хранит данные изображения, поданные от сумматора 23. Устройство 71 видеопамяти считывает данные изображения, хранящиеся в нем, и подает считанные данные изображения на блок 72-1 определения границы блоков, блок 73-1 определения интенсивности фильтрации и блок 74-1 операции фильтрации. Кроме того, устройство 71 видеопамяти считывает данные изображения, хранящиеся в нем, и подает считанные данные изображения на блок 72-2 определения границы строк/границы блоков, блок 73-2 определения интенсивности фильтрации на границе блоков и блок 74-2 операции фильтрации границы строк.
В местах, отличных от границы строк, данные изображения не хранятся в устройстве 71 видеопамяти, но возможен случай, когда данные изображения, поданные от сумматора 23, подаются на соответствующие блоки и обрабатываются. Однако, в примере, показанном на фиг.22, для удобства показано, что данные изображения, прошедшие через устройство 71 видеопамяти, обрабатываются.
Блок 72-1 определения границы блоков выполняет определение границы между блоками под управлением контроллера 77. То есть блок 72-1 определения границы блоков выполняет процесс определения границы между блоками для каждого блока, используя данные изображения, считанные из устройства 71 видеопамяти и обнаруживает границу между блоками, на которой выполняется процесс фильтрации. Блок 72-1 определения границы блоков выводит результаты обнаружения на блок 73-1 определения интенсивности фильтрации.
Блок 73-1 определения интенсивности фильтрации определяет интенсивность фильтрации описанным выше способом под управлением контроллера 77. То есть блок 73-1 определения интенсивности фильтрации определяет, будет ли процесс фильтрации выполняться в режиме интенсивной фильтрации или в режиме слабой фильтрации для каждой строки, используя данные изображения двух блоков со вставленной границей между блоками, поданные из устройства 71 видеопамяти, и выводит результаты определения на блок 74-1 операции фильтрации.
Блок 74-1 операции фильтрации выполняет операцию фильтрации с интенсивностью фильтрации, определенной блоком 73-1 определения интенсивности фильтрации для каждой строки под управлением контроллера 77, используя данные изображения, хранящиеся в устройстве 71 видеопамяти, и коэффициенты фильтра, считанные из устройства 76 памяти коэффициентов. Блок 74-1 операции фильтрации выводит данные изображения, подвергнутые процессу фильтрации, на переключатель 75.
Когда граница является границей между блоками LCU, блок 72-2 определения границы строк/границы блоков выполняет определение границы между блоками под управлением контроллера 77. То есть блок 72-2 определения границы строк/границы блоков выполняет процесс определения границы между блоками для каждого блока, используя данные изображения, считанные из устройства 71 видеопамяти, и обнаруживает границу между блоками, на которой выполняется процесс фильтрации. Блок 72-2 определения границы строк/границы блоков выводит результаты обнаружения на блок 73-2 определения интенсивности фильтрации для границы строк.
Когда граница является границей строк между LCU, блок 73-2 определения интенсивности фильтрации на границе строк определяет интенсивность фильтрации описанным выше способом под управлением контроллера 77. То есть блок 73-2 определения интенсивности фильтрации на границе строк определяет, будет ли процесс фильтрации выполняться в режиме интенсивной фильтрации или в режиме слабой фильтрации для каждой строки, используя данные изображения двух блоков, смежных со вставленной между блоками границей, поданные от устройства 71 видеопамяти, и выводит результаты определения на блок 74-2 операции фильтрации для границы строк.
Блок 74-2 операции фильтрации для границы строк выполняет операцию фильтрации с интенсивностью фильтрации, определенной блоком 7302 определения интенсивности фильтрации на границе строк для каждой строки под управлением контроллера 77, используя данные изображения, хранящиеся в устройстве 71 видеопамяти, и коэффициенты фильтра, считанные из памяти 76 коэффициентов. Блок 74-2 операции фильтрации на границе строк выводит данные изображения, подвергнутые процессу фильтрации, на переключатель 75.
Переключатель 75 выбирает любые данные изображения, полученные от блока 74-1 операции фильтрации, и данные изображения, полученные от блока 74-2 операции фильтрации на границе строк под управлением контроллера 77, и выводит выбранные данные изображения на устройство 25 памяти кадров.
Устройство 76 памяти коэффициентов хранит коэффициенты фильтра, используемые для операции фильтрации процесса деблокирующей фильтрации. Устройство 76 память коэффициентов считывает коэффициенты фильтра, хранящиеся в нем, и подает считанные коэффициенты фильтра на блок 74-1 операции фильтрации и на блок 74-2 операции фильтрации на границе строк.
Контроллер 77 управляет соответствующими блоками блока 24 деблокирующей фильтрации. Например, контроллер 77 управляет устройством 71 видеопамяти, чтобы хранить данные изображения, соответствующие заданному количеству строк на нижней стороне в блоке, и считывать данные изображения, хранящиеся в устройстве 71 видеопамяти. Контроллер 77 выполнен с содержанием в нем блока 77А определения строк внутри блоков LCU.
Блок 77А определения строк внутри блоков LCU определяет, является ли граница границей строк между блоками LCU в соответствующих блоках, в которых процесс выполняется последовательно в направлении растровой развертки, и подает результаты определения на блок 72-1 определения границы блоков, на блок 73-1 определения интенсивности фильтрации и на блок 74-1 операции фильтрации, так что блоки выполняют процесс, когда граница не является границей строки. Кроме того, блок 77А определения строк внутри блоков LCU также подает результаты определения на блок 72-2 определения границы строк/границы блоков, на блок 73-2 определения интенсивности фильтрации на границе строк и на блок 74-2 операции фильтрации на границе строк, так что блоки выполняют процесс, когда граница является границей строк. Дополнительно, блок 77А определения строк внутри блоков LCU подает результаты определения на переключатель 75, так чтобы переключатель 75 выбирал данные изображения от блока 74-2 операции фильтрации на границе строк, когда граница является границей строк, и выбирал данные изображения от блока 74-1 операции фильтрации, когда граница не является границей строк.
Блок 24 деблокирующей фильтрации, показанный на фиг.22, может быть выполнен с возможностью выполнения заранее, например, процесса R2W2 и может быть выполнен с возможностью управления диапазоном обработки фильтра и диапазоном операции фильтрации подобно примеру, показанному на фиг.9.
Порядок работы блока деблокирующей фильтрации
Далее процесс деблокирования блока 24 деблокирующей фильтрации, показанный на фиг.22, будет описан со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг.23. В примере на фиг.23, будет описан случай, когда выполняется процесс R2W2.
На этапе S91 блок 77А определения строк внутри LCU определяет, является ли примененный фильтр вертикальным фильтром границы LCU в соответствующих блоках, в которых процесс выполняется последовательно в направлении растровой развертки. То есть на этапе S91 определяется, является ли граница границей строк между блоками LCU и является ли примененный фильтр вертикальным фильтром.
Когда на этапе S91 определено, что примененный фильтр является вертикальным фильтром границы LCU, порядок выполнения операций переходит к этапу S92. На этапе S92 блок 72-2 определения границы строк/границы блоков выполняет определение границы между блоками для границы строк под управлением контроллера 77, когда граница является границей строк между блоками LCU.
То есть блок 72-2 определения границы строк/границы блоков выполняет процесс определения границы между блоками для каждого блока согласно выражению (70), описанному выше, используя данные изображения, считанные из устройства 71 видеопамяти, и обнаруживает границу между блоками, на которой выполняется процесс фильтрации. Блок 72-2 определения границы строк/границы блоков выводит результаты обнаружения на блок 73-2 определения интенсивности фильтрации для границы строк.
На этапе S93 блок 73-2 определения интенсивности фильтрации для границы строк определяет интенсивность фильтрации для границы строк, как описано выше, под управлением контроллера 77, когда граница является границей между блоками LCU.
То есть блок 73-2 определения интенсивности фильтрации для границы строк определяет, будет ли процесс фильтрации выполняться в режиме интенсивной фильтрации или в режиме слабой фильтрации, используя данные изображения двух блоков, смежных с границей между блоками, поданные от устройства 71 видеопамяти. Режим интенсивной фильтрации определяется согласно выражению (71), описанному выше. Кроме того, режим слабой фильтрации определяется согласно первым членам выражений (64)-(66), описанных выше. Блок 73-2 определения интенсивности фильтрации для границы строк выводит результаты определения на блок 74-2 операции фильтрации границы строк.
На этапе S94 блок 74-2 операции фильтрации границы строк выполняет процесс фильтрации границы строки под управлением контроллера 77. То есть блок 74-2 операции фильтрации границы строк выполняет операцию фильтрации с интенсивностью фильтрации, определенной блоком 73-2 определения интенсивности фильтрации для границы строк, используя данные изображения, хранящиеся в устройстве 71 видеопамяти, и коэффициент фильтра, считанный из устройства 76 памяти коэффициентов.
В случае интенсивной фильтрации операция фильтрации выполняется согласно выражениям (56)-(60), описанным выше. Кроме того, в случае слабой фильтрации, операция фильтрации выполняется согласно второму и третьему членам выражений (64)-(66), описанных выше. Блок 74-2 операции фильтрации границы строк выводит данные изображения, подвергнутые процессу фильтрации, на переключатель 75.
На этапе S95 блок 77А определения строк внутри LCU определяет, является ли текущая строка последней восьмой строкой LCU. Когда на этапе S95 определено, что текущая строка не является последней восьмой строкой LCU, последовательность операций возвращается к этапу S93, и последующие процессы повторяются.
Кроме того, когда на этапе S95 определено, что текущая строка является последней восьмой строкой LCU, последовательность выполнения операций переходит к этапу S100.
С другой стороны, когда на этапе S91 определено, что применяемый фильтр не является вертикальным фильтром границы LCU, последовательность выполнения операций переходит к этапу S96. На этапе S96 блок 72-1 определения границы блоков выполняет определение границы между блоками под управлением контроллера 77.
То есть блок 72-1 определения границы между блоками выполняет процесс определения границы между блоками для каждого блока согласно выражению (68), описанному выше, используя данные изображения, считанные из устройства 71 видеопамяти, и обнаруживает границу между блоками, на которой выполняется процесс фильтрации. Блок 72-1 определения границы между блоками выводит результаты обнаружения на блок 73-1 определения интенсивности фильтрации.
На этапе S97 блок 73-1 определения интенсивности фильтрации определяет интенсивность фильтрации описанным выше способом под управлением контроллера 77.
То есть блок определения интенсивности фильтрации 73-1 определяет, будет ли процесс фильтрации выполняться в режиме интенсивной фильтрации или в режиме слабой фильтрации для каждой строки, используя данные изображения двух блоков, смежных с вставленной границей между блоками, поданные от устройства 71 видеопамяти. Режим интенсивной фильтрации определяется согласно выражению (69), описанному выше. Режим слабой фильтрации определяется согласно первым членам выражений (61)-(63), описанных выше. Блок 73-1 определения интенсивности фильтрации выводит результаты определения на блок 74-1 операции фильтрации.
На этапе S98 блок 74-1 операции фильтрации выполняет операцию фильтрации для границы блоков под управлением контроллера 77. То есть блок 74-1 операции фильтрации выполняет операцию фильтрации с интенсивностью фильтрации, определенной блоком 73-1 определения интенсивности фильтрации для каждой строки, используя данные изображения, хранящиеся в устройстве 71 видеопамяти, и коэффициенты фильтра, считанные из устройства 76 памяти коэффициентов.
В случае интенсивной фильтрации операция фильтрации выполняется согласно выражениям (50)-(55), описанным выше. Кроме того, в случае слабой фильтрации операция фильтрации выполняется согласно второму и третьему членам выражений (61)-(63), описанных выше. Блок 74-1 операции фильтрации выводит данные изображения, подвергнутые процессу фильтрации, на переключатель 75.
На этапе S99 блок 77А определения строк внутри LCU определяет, является ли текущая строка последней восьмой строкой LCU. Когда на этапе S99 определено, что текущая строка не является последней восьмой строкой LCU, последовательность выполнения операций возвращается к этапу S97 и последующие процессы повторяются.
Кроме того, когда на этапе S99 определено, что текущая строка является последней восьмой строкой LCU, последовательность выполнения операций переходит к этапу S100.
На этапе S100 блок 77А определения строк внутри LCU определяет, является ли текущий блок последним блоком изображения. То есть на этапе S100 определяется, является ли граница границей строк другого блока в экране.
Когда на этапе S100 определено, что блок является последним блоком изображения, процесс деблокирования заканчивается. Когда на этапе S100, что блок не является последним блоком изображения, последовательность выполнения операций возвращается к этапу S91 и последующие процессы повторно выполняются для следующего LCU в порядке растровой развертки.
В примере, показанном на фиг.22, блок 77А определения строк внутри LCU выбирает, будут ли использоваться коэффициенты, используемые для случая, отличного от границы строки в блоке 74-1 операции фильтрации, или коэффициенты для случая границы строк в блоке 74-2 операции фильтрации на границе строк. Таким образом переключаются процесс фильтрации на границе строк и процесс фильтрации в позициях, отличных от границы строк.
Напротив, только один тип коэффициентов может использоваться и адресом пикселя, который должен считываться, можно управлять так, что процесс фильтрации на границе строк и процесс фильтрации в позициях, отличных от границы строк, переключаются.
Например, в качестве примера будет описано вычисление Р00 при интенсивной фильтрации на основе R2W2. В выражении (50) для интенсивной фильтрации в схеме HEVC, членом, относящимся к "р (блок BKu)", является "p2i+2*P1i+2*q0i."
С другой стороны, в выражении (56)для интенсивной фильтрации в схеме HEVC, членом, относящимся к "р (блок BKu)", является "4*P1i+q0i."
Здесь, 4*P1i+q0i=q0i+2*P1i+2*P1i.
To есть член, относящийся к "р" в выражении (50), и член, относящийся к "р" в выражении (56)также, используют коэффициенты 1, 2, и 2 в таком порядке, считая слева. То есть заменяя (изменяя адреса считывания) пиксельные значения, которые должны умножаться на коэффициенты, используя одни и те же коэффициенты, возможно переключаться между процессом фильтрации на границе строк и процессом фильтрации в местах, отличных от границы строк.
14. Седьмой вариант осуществления блока деблокирующей фильтрации
Пример конфигурации блока деблокирующей фильтрации
На фиг.24 показана конфигурация седьмого варианта осуществления блока деблокирующей фильтрации.
В примере, показанном на фиг.24, блок 24 деблокирующей фильтрации выполнен с возможностью содержания устройства 71 видеопамяти, блока 72 определения границы блоков, блока 73 определения интенсивности фильтрации, блока 74 операции фильтрации, устройства 76 памяти коэффициентов и контроллера 77.
В блоке 24 деблокирующей фильтрации на фиг.24 устройство 71 видеопамяти, устройство 76 памяти коэффициентов и контроллер 77 являются такими же, как в блоке 24 деблокирующей фильтрации на фиг.22.
Блок 24 деблокирующей фильтрации на фиг.24 отличается от блока 24 деблокирующей фильтрации на фиг.22 тем, что блок 72-1 определения границы блоков и блок 72-2 определения границы строк/границы блоков вместе заменяются на блок 72 определения границы блоков. Блок 24 деблокирующей фильтрации на фиг.24 отличается от блока 24 деблокирующей фильтрации на фиг.22 тем, что блок 73-1 определения интенсивности фильтрации и блок 73-2 определения интенсивности фильтрации на границе строк вместе заменяются на блок 73 определения интенсивности фильтрации. Блок 24 деблокирующей фильтрации на фиг.24 отличается от блока 24 деблокирующей фильтрации на фиг.22 тем, что блок 74-1 операции фильтрации и блок 74-2 операции фильтрации на границе строк вместе заменяются на блок 74 операции фильтрации.
Дополнительно, блок 24 деблокирующей фильтрации на фиг.24 отличается от блока 24 деблокирующей фильтрации на фиг.22 тем, что блок 77А определения строк внутри блоков LCU контроллера 77 заменяется на блок 77В определения строк внутри блоков LCU.
То есть блок 77В определения строк внутри блоков LCU управляет адресом пикселя, считываемым из устройства 71 видеопамяти, как описано выше посредством примера вычисления Р00 при интенсивной фильтрации на основе R2W2. То есть устройство 71 видеопамяти считывает пиксели, основываясь на управлении блока 77В определения строк внутри блоков LCU, и подает считанные пиксели на блок 72 определения границы блоков, на блок 73 определения интенсивности фильтрации и на блок 74 операции фильтрации.
Блок 72 определения границы блоков выполняет определение границы между блоками. То есть блок 72 определения границы блоков выполняет процесс определения границы между блоками, описанный выше, для каждого блока, используя данные изображения, считанные из устройства 71 видеопамяти, и обнаруживает границу между блоками, на которой выполняется процесс фильтрации. Блок 72 определения границы блоков выводит результаты обнаружения на блок 73 определения интенсивности фильтрации.
Блок 73 определения интенсивности фильтрации определяет интенсивность фильтрации описанным выше способом. То есть блок 73 определения интенсивности фильтрации определяет, будет ли процесс фильтрации выполняться в режиме интенсивной фильтрации или в режиме слабой фильтрации для каждой строки, используя данные изображения двух блоков, смежных со вставленной границей между блоками, поданных из устройства 71 видеопамяти, и выводит результаты определения на блок 74 операции фильтрации.
Блок 74 операции фильтрации выполняет операцию фильтрации с интенсивностью фильтрации, определенной блоком 73 определения интенсивности фильтрации для каждой строки, используя данные изображения, хранящиеся в устройстве 71 видеопамяти, и коэффициенты фильтра, считанные из устройства 76 памяти коэффициентов. Блок 74 операции фильтрации выводит данные изображения, подвергнутые процессу фильтрации, на устройство 25 памяти кадров.
Процесс деблокирующей фильтрации блока 24 деблокирующей фильтрации, показанный на фиг.24, является, в основном, таким же, как процессом деблокирующей фильтрации, описанный выше со ссылкой на фиг.23, и его описание представляться не будет.
Как сказано выше, пиксели, на которые не может делаться ссылка из-за суженного диапазона изображения, используемого для операции фильтрации, интерполируются, используя наклон формы сигнала, используемого при определении границы между блоками. В результате, процесс деблокирования, когда пиксельные значения имеют наклон, может быть выполнен, даже когда диапазон изображения на границе строк между блоками LCU сужается.
Кроме того, при определении границы между блоками и определении интенсивной/слабой фильтрации пиксели, на которые не может делаться ссылка из-за суженного диапазона изображения, используемого для операции фильтрации, интерполируются, используя наклон и дополнение сигнала, используемого при определении границы между блоками. В результате, процесс деблокирования, когда пиксельные значения имеют наклон, может быть выполнен, даже когда диапазон изображения на границе строк между блоками LCU сужается.
Таким образом, для границы строк между блоками LCU, даже когда диапазон изображения сужается, можно уменьшить устройство памяти строк, в то же время сохраняя функцию процесса деблокирования.
15. Восьмой вариант осуществления блока деблокирующей фильтрации
Пример конфигурации блока деблокирующей фильтрации
На фиг.25 показана конфигурация восьмого варианта осуществления блока деблокирующей фильтрации.
В примере, показанном на фиг.25, блок 24 деблокирующей фильтрации выполнен с использованием устройства 81 видеопамяти, блока 82 определения границы блоков, блока 83 определения интенсивности фильтрации, блока 84 операции фильтрации, устройства 85 память коэффициентов и контроллера 86.
Устройство 81 видеопамяти является блоком, соответствующим устройству 71 видеопамяти, показанному на фиг.22, и выполняется как устройство памяти строк. Устройство 81 видеопамяти хранит данные изображения, поданные от сумматора 23. Устройство 81 видеопамяти считывает данные изображения, хранящиеся в нем, и подает считанные данные изображения на блок 82 определения границы блоков, на блок 83 определения интенсивности фильтрации и на блок 84 операции фильтрации.
В положениях, отличных от границы строк, данные изображения не хранятся в устройстве 81 видеопамяти, но возможен случай, когда данные изображения, поданные от сумматора 23, подаются на соответствующие блоки и обрабатываются. Однако, в примере, показанном на фиг.25, для удобства показано, что данные изображения, прошедшие через устройство 81 видеопамяти, обрабатываются.
Блок 82 определения границы блоков получает границы каждых восьми строк под управлением контроллера 86, чтобы вычислить параметры, используемые для определения, и выполняет определение границ между блоками для каждых четырех строк. То есть блок 82 определения границы между блоками получает границу между TU и PU, используя данные изображения, считанные из устройства 81 видеопамяти, и получает значение BS. Дополнительно, блок 82 определения границы блоков получает среднее значение параметров квантования QP двух областей, смежных с текущей границей, вставленной для вычисления среднего QP (параметра квантования), и вычисляет параметры tc и β, основываясь на расчетном среднем значении QP.
Кроме того, блок 82 определения границы блоков определяет, должна ли выполняться фильтрация каждых четырех строк, используя данные изображения двух блоков, смежных со вставленной границей между блоками, поданными из устройства 81 видеопамяти, и вычисленные параметры. Блок 82 определения границы между блоками подает вычисленные параметры на блок 83 определения интенсивности фильтрации вместе с результатами определения границы.
Блок 83 определения интенсивности фильтрации определяет интенсивность фильтрации для каждых четырех строк под управлением контроллера 86. То есть, когда блок 82 определения границы блоков определяет, что фильтрация должна быть выполнена, блок 83 определения интенсивности фильтрации определяет, должен ли процесс фильтрации выполняться в режиме интенсивной фильтрации или в режиме слабой фильтрации, и выводит результаты определения на блок 84 операции фильтрации.
Блок 84 операции фильтрации выполняет операцию фильтрации с интенсивностью фильтрации, определенной блоком 83 определения интенсивности фильтрации 83 для каждых четырех строк, используя данные изображения, хранящиеся в устройстве 81 видеопамяти, и коэффициенты фильтра, считанные из устройства 85 памяти коэффициентов под управлением контроллера 86. В частности, когда блок 83 определения интенсивности фильтрации определяет, что должна быть выполнена интенсивная фильтрация, блок 84 операции фильтрации выполняет процесс фильтрации на основе ограничения, используя выражения (106)-(111), описанные выше. Блок 84 операции фильтрации на последующем этапе выводит данные изображения, подвергнутые процессу фильтрации, на устройство 25 памяти кадров.
Устройство 85 памяти коэффициентов хранит коэффициенты фильтра, используемые при операции фильтрации процесса деблокирующей фильтрации. Устройство 85 памяти коэффициентов считывает коэффициенты фильтра, хранящиеся в нем, и подает коэффициенты фильтра на блок 84 операции фильтрации.
Контроллер 86 принимает информацию (информацию включения/выключения деблокирующего фильтра, значения смещения параметров β и tc, и параметры ограничения) от операционного блока (не показан) (в случае стороны декодирования, устройство 52 декодирования без потерь). Кроме того, контроллеру 86 также подается информация о режиме предсказания и параметрах, необходимых для деблокирующего фильтра, такие как параметры квантования.
Например, контроллер 86 подает входную информацию на соответствующий блок и управляет соответствующими блоками блока 24 деблокирующей фильтрации, основываясь на входной информации включения/выключения.
Контроллер 86 управляет устройством 81 видеопамяти, чтобы хранить данные изображения, соответствующие заданному количеству строк, на нижней стороне в блоке и считывает данные изображения, хранящиеся в устройстве 81 видеопамяти. Кроме того, когда выполняется интенсивная фильтрация, контроллер 86 управляет блоком 84 операции фильтрации, чтобы выполнить процесс интенсивной фильтрации, основанный на ограничении. В этом случае, контроллер 86 подает параметры (например, значение ограничения и значение tc умножения для значения ограничения), относящиеся к процессу ограничения, на блок 84 операции фильтрации.
Порядок работы блока деблокирующей фильтрации
Далее процесс деблокирования блока 24 деблокирующей фильтрации, показанного на фиг.25, будет описан со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг.26.
Например, информация о включении/выключении, значение смещения β, значение смещения Tc и параметры, относящиеся к процессу ограничения, вводятся в контроллер 86 через операционный блок (не показан) (в случае стороны декодирования, это устройство 52 декодирования без потерь). Кроме того, на контроллер 86 также подается информация о режиме предсказания и параметры, необходимые для деблокирующего фильтра, такие как параметры квантования.
На этапе S201 контроллер 86 устанавливает смещения фильтра (смещения β и Tc) и подает информацию об установленном смещении на блок 83 определения интенсивности фильтрации.
На этапе S202 контроллер 86 определяет, может ли использоваться деблокирующий фильтр, основываясь на информации о включении/выключении. Когда на этапе S202 определено, что деблокирующий фильтр не может использоваться, процесс деблокирующей фильтрации заканчивается.
Когда на этапе S202 определено, что деблокирующий фильтр может использоваться, контроллер 86 посылает уведомление об этом на блок 82 определения границы блоков, на блок 83 определения интенсивности фильтрации и на блок 84 операции фильтрации и последовательность выполнения операций переходит к этапу S203. В этом случае необходимые параметры и т.п. также предоставляются контроллером 86 на соответствующие блоки.
На этапе S203 блок 82 определения границы блоков получает границу между TU и PU для каждых 8 строк. На этапе S204 блок 82 определения границы блоков получает значение прочности границ (BS), основываясь на информации о границе между TU и PU, полученной на этапе S203, и информации о режиме предсказания и т.п., поданной от контроллера 86.
На этапе S205 блок 82 определения границы блоков, блок 83 определения интенсивности фильтрации и блок 84 операции фильтрации выполняют процесс фильтрации границы яркости. В процессе фильтрации границы яркости фильтрация границы яркости выполняется для сигналов яркости посредством процесса на этапе S205, который будет описан со ссылкой на фиг.27.
На этапе S206 блок 82 определения границы блоков, блок 83 определения интенсивности фильтрации и блок 84 операции фильтрации выполняет процесс фильтрации границы цветности. Посредством процесса на этапе S206 фильтрация границы цветности выполняется для сигналов цветности.
На этапе S207 контроллер 86 определяет, все ли границы были обработаны. Когда на этапе S207 определено, что не все границы были обработаны, последовательность выполнения операций возвращается к этапу S205 и последующие процессы выполняются повторно. Когда на этапе S207 определено, что все границы были обработаны, последовательность выполнения операций переходит к этапу S208.
На этапе S208 контроллер 86 определяет, все ли CU были обработаны. Когда на этапе S208 определено, что не все CU были обработаны, последовательность выполнения операций возвращается к этапу S203 и последующие процессы выполняются повторно.
Когда на этапе S208 определено, что все CU были обработаны, процесс деблокирующей фильтрации заканчивается.
Пример процесса фильтрации границы яркости
Далее процесс фильтрации границы яркости на этапе S205, показанном на фиг.26, будет описан со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг.27.
На этапе S231 блок 82 определения границы блоков определяет, является ли значение BS большим, чем 0, для каждых восьми строк. Когда S231 определено, что значение BS не больше 0, процесс фильтрации границы яркости прекращается. То есть в этом случае, процесс фильтрации блока 84 операции фильтрации не выполняется на границе яркости и пиксельные значения, существующие до фильтрации, выводятся такими, какие они есть.
Когда на этапе S231 определено, что значение BS больше, чем 0, последовательность выполнения операций переходит к этапу S232. На этапе S232 блок 82 определения границы блоков получает среднее значение параметров квантования QP двух областей, смежных с текущей границей, используя пиксельные значения, полученные из устройства 81 видеопамяти для каждых восьми строк, чтобы вычислить среднее значение QP (параметр квантования). В этом случае, параметры квантования QP подаются от контроллера 86.
На этапе S233 блок 82 определения границы блоков вычисляет параметры tc и β, основываясь на среднем значении QP, вычисленном на этапе S232 для каждых восьми строк.
На этапе S234 блок 82 определения границы блоков выполняет определение включения/выключения фильтра для каждых четырех строк. То есть блок 82 определения границы блоков выполняет определение включения/выключения фильтра для каждых четырех строк, используя вычисленные параметры β и т.п. Этот процесс определения использует, например, выражение (68), описанное выше.
Результаты определения включения/выключения на этапе S234 подаются на блок 83 определения интенсивности фильтрации вместе с вычисленными параметрами в качестве результатов определения границы.
Кроме того, на этапе S235 блок 83 определения интенсивности фильтрации выполняет определение интенсивности фильтрации для каждых четырех строк. То есть блок 83 определения интенсивности фильтрации выполняет определение интенсивности фильтрации для каждых четырех строк, используя параметры β, tc и т.п., вычисленные блоком 82 определения границы блоков. Этот процесс определения использует, например, первые члены выражений (69) и (61-63), описанных выше.
Результаты определения включения/выключения на этапе S234 и результаты определения интенсивности фильтрации на этапе S235 подаются на блок 84 операции фильтрации. В этом случае, параметр tc также подается на блок 84 операции фильтрации.
На этапе S236 блок 84 операции фильтрации, основываясь на результатах определения, полученных от блока 83 определения интенсивности фильтрации, определяет, должна ли к текущим четырем строкам применяться интенсивная фильтрация. Когда на этапе S236 определено, что к текущим четырем строкам должна быть применена интенсивная фильтрация, последовательность выполнения операций переходит к этапу S237.
На этапе S237 блок 84 операции фильтрации выполняет основанный на ограничении процесс интенсивной фильтрации, используя описанные выше выражения (106-111), под управлением контроллера 86. Блок 84 операции фильтрации выводит пиксельные значения после процесса фильтрации на последующий этап.
Когда на этапе S236 определено, что интенсивная фильтрация не должна применяться, блок 84 операции фильтрации определяет на этапе S238, должна ли применяться слабая фильтрация к текущим четырем строкам, основываясь на результатах определения, полученных от блока 83 определения интенсивности фильтрации. Когда на этапе S238 определено, что должна применяться слабая фильтрация, последовательность выполнения операций переходит к этапу 239.
На этапе S239 блок 84 операции фильтрации выполняет процесс слабой фильтрации. Блок 84 операции фильтрации выводит пиксельные значения после процесса фильтрации на последующий этап.
Когда на этапе S238 определено, что слабая фильтрация не должна применяться, последовательность выполнения операций переходит к этапу 240. На этапе S240 блок 84 операции фильтрации не выполняет процесс на текущих четырех строках, основываясь на результатах определения, полученных от блока 83 определения интенсивности фильтрации, а выводит пиксельные значения после процесса фильтрации на последующий этап такими, какие они есть.
На этапе S240 блок 84 операции фильтрации определяет, был ли завершен процесс для восьми строк, и заканчивает процесс деблокирования сигнала яркости, когда определено, что процесс для восьми строк был завершен. Когда на этапе S240 определено, что процесс для восьми строк не был завершен, последовательность выполнения операций возвращается к этапу S234, и последующие процессы выполняются повторно.
Как было сказано выше, так как процесс интенсивной фильтрации на основе ограничения выполняется, когда определено, что должна применяться интенсивная фильтрация, можно в максимально возможной степени подавить влияние несоответствия процесса определения и неполноты процесса определения. То есть можно позволить процессу деблокирования соответственно применять фильтрацию.
.В приведенном выше описании была описана линейная аппроксимация и процесс интенсивной фильтрации на основе ограничения. При описании линейной аппроксимации, хотя были описаны случаи R2W2 и R2W1, процесс линейной аппроксимации для случаев R3W2 и R1W1 может быть выполнен тем же самым способом.
16. Девятый вариант осуществления
Пример R3W2
Далее будет описан случай R3W2 со ссылкой на фиг.28. В примере на фиг.28 белые кружки на сплошной линии указывают пиксельные значения соответствующих пикселей p2i, p1i, p0i, q0i, q1i и q2i около границы ВВ, показанной на фиг.16, до деблокирующего фильтра. Как показано на фиг.28, зазор между блоками BKu и BKl составляет D=p0i-q0i.
Кроме того, кружки на точечной линии указывают соответствующие пиксельные значения после интенсивной фильтрации сигналов яркости в схеме HEVC. То есть в этом случае разница между пиксельными значениями до и после интенсивной фильтрации составляет 1/8*D для q2i, 2/8*D для q1i и 3/8*D для q0i. Точно также, разность между пиксельными значениями до и после интенсивной фильтрации составляет 3/8*D для p0i, 2/8*D для p1i и 1/8*D для p2i.
Здесь, рассматривая процесс фильтрации сигнала яркости для случая R3W2, пиксель p2i не подвергается фильтрации. То есть пиксель p2i имеет пиксельное значение, указанное точечным кружком на сплошной линии, и разность с пиксельным значением p1i, указанная точечной линией, увеличивается. Таким образом, пиксельные значения имеют резкий наклон только между пиксельными значениями p2i, указанными точечным кружком на сплошной линии, и p1i, указанным точечной линией.
Таким образом, в случае R3W2, чтобы сделать этот наклон пологим, разница Δp1i между пиксельным значением (белый кружок) для p0i до фильтрации и пиксельным значением (заштрихованный кружок) после интенсивной фильтрации выражается приведенным ниже выражением (112).
То есть выражение (112) получается так, что Δp1i занимает 3/16*D, который является половиной разности Δp0i между пиксельным значением (белый кружок) p0i до фильтрации и пиксельным значением (заштрихованный кружок) после интенсивной фильтрации.
Так как второй член на правой стороне последнего уравнения аппроксимации выражения (112) является пиксельным значением (белый кружок) до фильтрации, первый член на правой стороне последнего уравнения аппроксимации выражения (112) представляет пиксельное значение после интенсивной фильтрации, p1i, обозначенное заштрихованным кружком.
То есть коэффициенты, умноженные на соответствующие пиксельные значения в первом члене на правой стороне последнего уравнения аппроксимации выражения (112), используются в качестве коэффициентов интенсивной фильтрации для случая R3W2. В итоге, результаты интенсивной фильтрации для случая R3W2 могут быть сделаны пологими по сравнению с наклоном точечной линии стандартной технологии, как указано наклоном жирной линии на фиг.28.
Выражение определения для интенсивной фильтрации в случае R3W2 представлено ниже выражением (113).
Выражение, появляющееся после первого оператора "and" ("и") в выражении (113) для определения интенсивной фильтрации в случае R3W2, отличается от выражения, появляющегося после первого оператора "and" ("и") выражения (69) для определения интенсивной фильтрации в схеме HEVC. В случае R3W2, так как на p3i не может делаться ссылка, дополнение (то есть p3i=p2i) не применяется.
Таким образом, эти два выражения отличаются только тем, что выражение "(|p3i-p0i<<1|+|q0i-q3i|)<(β>>3))", появляющийся после первого оператора "and" ("и") выражения (69), изменяется на выражение"(|p2i-p0i<<1|+|q0i-q3i|)<(β>>3))", появляющееся после первого оператора "and" ("и") выражения (113).
Кроме того, при интенсивной фильтрации в случае R3W2 выражение, относящееся к р10, отличается от выражения (52) для интенсивной фильтрации в схеме HEVC согласно выражению (112), описанному выше, как показано в выражении (114).
При интенсивной фильтрации в случае R3W2 выражение (54), относящееся к Р20, для интенсивной фильтрации в схеме HEVC, не является необходимым и опускается.
Таким образом, интенсивная фильтрация в случае R3W2 может быть выполнена без ухудшения точности.
Кроме того, в настоящем описании размер обрабатываемых блоков деблокирующего фильтра может иметь, например, размер макроблоков H.264/AVC, размер кодирования древовидных блоков для блоков кодирования HEVC, и т.п. Кроме того, в настоящем описании, термин "блок" или "макроблок" также содержит блок кодирования (CU), блок предсказания (PU), и блок преобразования (TU) в контексте HEVC.
Ряд процессов, представленных в настоящем описании, может быть выполнен посредством аппаратурного обеспечения, программного обеспечения или их комбинацией. Когда процессы выполняются посредством программного обеспечения, программа, содержащая последовательность процесса, может быть установлена и выполняться устройством памяти компьютера, смонтированным в специализированном аппаратурном обеспечении. Альтернативно, программа может быть установлена и выполняться универсальным компьютером, выполняющим различные процессы.
Например, программа может быть записана заранее на жестком диске или в постоянном запоминающем устройстве (ROM) как носителе записи. Альтернативно, программа может записываться временно или постоянно, например, на магнитном диске (таком как дискета), оптическом диске (таком как CD-ROM (постоянное запоминающее устройство на компакт-диске), МО (магнитооптическом) диске или на DVD (цифровом универсальном диске)), и съемном носителе (не показан) (таком как полупроводниковая память). Такой съемный носитель может быть обеспечиваться как так называемый пакет программного обеспечения.
Программа может беспроводными средствами передаваться с выгружаемого сайта на компьютер или может быть передана на компьютер по проводам через сеть, такую как локальная сеть (LAN) или Интернет, в дополнение к установке программы в компьютере со съемного носителя записи, описанного выше. Компьютер может принять программу, переданную таким способом, и установить ее на носитель записи, такой как встроенный жесткий диск.
19. Десятый вариант осуществления
Применение для кодирования и декодирования мультипроекционных изображений
Ряд процессов может применяться для кодирования и декодирования мультипроекционных изображений. На фиг.29 показан пример схемы кодирования мультипроекционного изображения.
Как показано на фиг.29, мультипроекционное изображение содержит изображения, состоящие из множества проекций и изображение заданной одиночной проекции из числа множества проекций назначается как изображение основной проекции. Соответствующие изображения проекций, кроме изображения базовой проекции, обрабатываются как изображения неосновных проекций.
Когда мультипроекционное изображение, такое как показано на фиг.29, кодируется, для соответствующих проекций (одних и тех же проекций) могут быть установлены параметры (например, значение ограничения и коэффициент умножения, относящийся к tc значения ограничения), относящиеся к процессу ограничения для интенсивной фильтрации. Кроме того, для соответствующих проекций (других проекций), параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для других проекций, могут использоваться совместно.
В этом случае, параметры, относящиеся к процессу ограничения, установленные для основной проекции, используются по меньшей мере для одной неосновной проекции. Альтернативно, например, параметры, относящиеся к процессу ограничения, установленные для неосновной проекции (view_id=0), используются по меньшей мере для основной проекции или неосновной проекции (view_id=1).
Дополнительно, для соответствующих проекций (одних и тех же проекций) могут быть установлены параметры, относящиеся к процессу ограничения для интенсивной фильтрации. Кроме того, для соответствующих проекций (других проекций), параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для других проекций, могут использоваться совместно.
В этом случае, параметры, относящиеся к процессу ограничения, установленные для основной проекции, используются по меньшей мере для одной неосновной проекции. Альтернативно, например, параметры, относящиеся к процессу ограничения, установленные для неосновной проекции (view_id=0), используются по меньшей мере для основной проекции или для неосновной проекции (view_id=1).
Таким образом, можно позволить процессу деблокирования соответственно применять фильтрацию.
Устройство кодирования мультипроекционных изображений
На фиг.30 представлена схема, показывающая устройство кодирования мультипроекционных изображений, выполняющее описанное выше кодирование мультипроекционных изображений. Как показано на фиг.30, устройство 600 кодирования мультипроекционных изображений содержит блок 601 кодирования, блок 602 кодирования 602, и мультиплексор 603.
Блок 601 кодирования кодирует изображение базовой проекции, чтобы создать кодированный поток изображение базовой проекции. Блок 602 кодирования кодирует изображение неосновной проекции, чтобы создать кодированный поток изображения неосновной проекции. Мультиплексор 603 мультиплексирует кодированный поток изображения основной проекции, сформированный блоком 601 кодирования, и кодированный поток изображения неосновной проекции, сформированный блоком 602 кодирования, чтобы создать кодированный поток мультипроекционного изображения.
Устройство 10 кодирования изображения (фиг.1) может применяться к блокам 601 и 602 кодирования устройства 600 кодирования мультипроекционного изображения. В этом случае, устройство 600 кодирования мультипроекционного изображения устанавливает параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленной блоком 601, и параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные блоком 602 кодирования, и передает параметры.
Как описано выше, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленной блоком 601 кодирования, могут быть переданы, так чтобы они использовались совместно блоками 601 и 602 кодирования. И наоборот, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные блоком 602 кодирования, могут быть переданы, чтобы совместно использоваться блоками 601 и 602 кодирования.
Устройство декодирования мультипроекционного изображения
На фиг.31 показана схема устройства декодирования мультипроекционного изображения, выполняющего декодирование мультипроекционного изображения, описанного выше. Как показано на фиг.31, устройство 610 декодирования мультипроекционного изображения содержит демультиплексор 611, блок 612 декодирования и блок 613 декодирования.
Демультиплексор 611 демультиплексирует кодированный поток мультипроекционного изображения, в котором кодированный поток изображения основной проекции и кодированный поток изображения неосновной проекции мультиплексированы, чтобы извлечь кодированный поток изображения основной проекции и кодированный поток изображения неосновной проекции. Блок 612 декодирования декодирует кодированный поток изображения основной проекции, извлеченный демультиплексором 611, чтобы получить изображение основной проекции. Блок 613 декодирования декодирует кодированный поток изображения неосновной проекции, извлеченный демультиплексором 611, чтобы получить изображение неосновной проекции.
Устройство 50 декодирования изображения (фиг.6) может применяться к блокам 612 и 613 декодирования устройства 610 декодирования мультипроекционного изображения. В этом случае, устройство 610 декодирования мультипроекционного изображения выполняет процесс, используя параметры, связанные с процессом ограничения для интенсивной фильтрации, которые установлены блоком 601 кодирования и декодированы блоком 612 декодирования, и параметры относящиеся к процессу ограничения для интенсивной фильтрации, которые устанавливаются блоком 602 кодирования и декодируются блоком 613 декодирования.
Как описано выше, существует случай, когда параметры, связанные с процессом ограничения для интенсивной фильтрации, установленные блоком 601 кодирования (или блоком 602 кодирования), передаются, чтобы совместно использоваться блоками 601 и 602 кодирования. В этом случае, устройство 610 декодирования мультипроекционного изображения выполняет процесс, используя параметры, относящиеся к процессу ограничения для интенсивной фильтрации, которые устанавливаются блоком 601 кодирования (или блоком 602 кодирования) и декодируются блоком 612 декодирования (или блоком 613 декодирования).
18. Одиннадцатый вариант осуществления
Применение кодирования и декодирования уровневого изображения
Приведенные выше последовательности процессов могут применяться к кодированию и декодированию уровневого изображения. На фиг.32 показан пример схемы кодирования мультипроекционного изображения.
Как показано на фиг.32, уровневое изображение содержит изображения множества уровней (разрешений), и изображение заданного одиночного уровня из числа множества разрешений назначается в качестве изображения основного уровня. Соответствующие уровневые изображения, кроме изображения основного уровня, обрабатываются как изображения неосновного уровня.
Когда кодирование изображения уровня (масштабируемость пространства), как показано на фиг.32, выполняется на соответствующих уровнях (одних и тех же уровнях), могут быть установлены параметры, относящиеся к процессу ограничения для интенсивной фильтрации. Кроме того, на соответствующих уровнях (различных уровнях), параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для других уровней, могут использоваться совместно.
В этом случае, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для основного уровня, используются по меньшей мере на одном неосновном уровне. Альтернативно, например, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для неосновного уровня (layer_id=0), используются по меньшей мере для основного уровня или неосновного уровня (layer_id=1).
Дополнительно, на соответствующих уровнях (одних и тех же уровнях) могут быть установлены параметры, относящиеся к процессу ограничения для интенсивной фильтрации. Кроме того, на соответствующих уровнях (различных уровнях), могут совместно использоваться параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для других проекций.
В этом случае, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для основного уровня, используются по меньшей мере для одного неосновного уровня. Альтернативно, например, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные для неосновного уровня (layer_id=0), используются по меньшей мере для основного уровня или неосновного уровня (layer_id=1).
Таким способом можно позволить процессу деблокирования соответственно применять фильтрацию.
Устройство кодирования уровневого изображения
На фиг.33 представлена схема устройства кодирования уровневого изображения, выполняющего кодирование уровневого изображения, описанное выше. Как показано на фиг.33, устройство 620 кодирования уровневого изображения содержит блок 621 кодирования, блок 622 кодирования и мультиплексор 623.
Блок 621 кодирования кодирует изображение основного уровня, чтобы сформировать кодированный поток изображения основного уровня. Блок 622 кодирования кодирует изображение неосновного уровня, чтобы сформировать кодированный поток изображения неосновного уровня. Мультиплексор 623 мультиплексирует кодированный поток изображения основного уровня, сформированный блоком 621 кодирования, и кодированный поток изображения неосновного уровня, сформированный блоком 622 кодирования, чтобы создать кодированный поток уровневого изображения.
Устройство 10 кодирования изображения (фиг.1) может применяться в блоках 621 и 622 кодирования устройства 620 кодирования уровневого изображения. В этом случае, устройство 620 кодирования уровневого изображения устанавливает параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные блоком 621 кодирования, и параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные блоком 602 кодирования, и передает параметры.
Как описано выше, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные блоком 621 кодирования, могут быть переданы так, чтобы совместно использоваться блоками 621 и 622 кодирования. И наоборот, параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные блоком 622 кодирования, могут быть переданы, чтобы совместно использоваться блоками 621 и 622 кодирования.
Устройство декодирования уровневого изображения
На фиг.34 представлена схема устройства декодирования уровневого изображения, выполняющего декодирование уровневого изображения, описанного выше. Как показано на фиг.34, устройство 630 декодирования уровневого изображения содержит демультиплексор 631, блок 632 декодирования и блок 633 декодирования.
Демультиплексор 631 демультиплексирует кодированный поток уровневого изображения, в котором кодированный поток изображения основного уровня и кодированный поток изображения неосновного уровня мультиплексированы, чтобы извлечь кодированный поток изображения основного уровня и кодированный поток изображения неосновного уровня. Блок 632 декодирования декодирует кодированный поток изображения основного уровня, извлеченный демультиплексором 631, чтобы получить изображение основного уровня. Блок 633 декодирования декодирует кодированный поток изображения неосновного уровня, извлеченный демультиплексором 631, чтобы получить изображение неосновного уровня.
Устройство 50 декодирования изображения 50 (фиг.6) может быть применено к блокам 632 и 633 декодирования устройства 630 декодирования мультипроекционного изображения. В этом случае, устройство 630 декодирования мультипроекционного изображения выполняет процесс, используя параметры, относящиеся к процессу ограничения для интенсивной фильтрации, которые устанавливаются блоком 621 кодирования и декодируются блоком 632 декодирования, и параметры, относящиеся к процессу ограничения для интенсивной фильтрации, которые устанавливаются блоком 622 кодирования и декодируются блоком 633 декодирования.
Как описано выше, существует случай, когда параметры, относящиеся к процессу ограничения для интенсивной фильтрации, установленные блоком 621 кодирования (или блоком 622 кодирования), передаются, чтобы совместно использоваться блоками 621 и 622 кодирования. В этом случае, устройство 630 декодирования мультипроекционного изображения выполняет процесс, используя параметры, относящиеся к процессу ограничения для интенсивной фильтрации, которые устанавливаются блоком 621 кодирования 621 (или блоком 622 кодирования) и декодируются блоком 632 632 (или блоком 633 декодирования).
19. Пример применения
Устройство 10 кодирования изображения, устройство 50 декодирования изображения, соответствующие описанным выше вариантам осуществления, могут применяться в различных электронных устройствах, таких как передатчик или приемник, которые распространяют сигналы кабельного вещания (такого как спутниковое вещание или кабельное телевидение) или Интернета и распространяют сигналы оконечным устройствам посредством сотовой связи, устройства записи, записывающие изображения на носителе данных, таком как оптический диск, магнитный диск или флэш-память, или устройства воспроизведения, воспроизводящие изображения с этих носителей записи. Ниже будут описаны четыре примера применений.
Первый пример применения
На фиг.35 показан пример структуры телевизионного устройства, к которому применяется описанный выше вариант осуществления. Телевизионное устройство 900 содержит антенну 901, тюнер 902, демультиплексор 903, декодер 904, видеопроцессор 905, блок 906 отображения, аудиопроцессор 907, громкоговоритель 908, внешний интерфейс 909. Телевизионное устройство 900 дополнительно содержит контроллер 910, интерфейс 911 пользователя и т.п.
Тюнер 902 извлекает сигнал желаемого канала из широковещательного сигнала, принятого через антенну 901 и демодулирует извлеченный сигнал. Тюнер 902 подает кодированный битовый поток, полученный при демодуляции, на демультиплексор 903. То есть в телевизионном устройстве 900 тюнер 903 служит в качестве передающего средства, которое принимает кодированный поток, в котором кодировано изображение.
Демультиплексор 903 разделяет видеопоток и аудиопоток программы, которая должна просматриваться, кодированного битового потока и выводит каждый отдельный поток на декодер 904. Кроме того, демультиплексор 903 извлекает дополнительные данные, такие как EPG (Electronic Program Guide, электронная телевизионная программа), из кодированного битового потока и подает извлеченные данные на контроллер 910. Демультиплексор 903 может осуществлять дескремблирование, если кодовый поток скремблирован.
Декодер 904 декодирует видеопоток и аудиопоток, поступающие от демультиплексора 903. Декодер 904 затем выводит видеоданные, сформированные посредством декодирования, на видеопроцессор 905. Кроме того, декодер 904 выводит аудиоданные, сформированные в процессе декодирования, на аудиопроцессор 907.
Видеопроцессор 905 воспроизводит видеоданные, введенные от декодера 904, и разрешает отображение видеоданных на блоке 906 отображения. Видеопроцессор 905 может также разрешить блоку 906 отображения отображать экран приложений, подаваемый через сеть. Видеопроцессор 905 может также выполнять дополнительный процесс, такой как удаление шума, в соответствии с настройкой для видеоданных. Дополнительно видеопроцессор 905 может формировать изображение GUI (Graphical User Interface, графический интерфейс пользователя), такое, например, как меню, кнопка и курсор, и накладывать сформированное изображение на выходное изображение.
Блок 906 отображения приводится в действие запускающим сигналом от видеопроцессора 905 и отображает видеоданные или изображения на видеоэкране устройства отображения (таком как жидкокристаллический дисплей, плазменный дисплей или OELC (Organic Electro Luminescence Display, органоэлектролюминесцентный дисплей) и т.п.).
Аудиопроцессор 907 выполняет процесс воспроизведения, такой как D/A-преобразование и усиление аудиоданных, поступающих от декодера 904, и выводит звуковой сигнал через громкоговоритель 908-Аудиопроцессор 907 может также выполнять дополнительный процесс, такой как удаление шума, в отношении аудиоданных. Внешний интерфейс 909 является интерфейсом для соединения телевизионного устройства 900 с внешним устройством или сетью. Например, видеопоток или аудиопоток, принятый через внешний интерфейс 909, может декодироваться декодером 904. То есть в телевизионном устройстве 900, которое принимает кодированный поток, в котором кодировано изображение, внешний интерфейс 909 служит также в качестве передающего средства,
Контроллер 910 содержит процессор, такой как центральный процессор (CPU), и устройство памяти, такое как оперативное запоминающее устройство (RAM) и постоянное запоминающее устройство (ROM). Устройство памяти хранит программы, исполняемые CPU, программные данные, данные EPG, данные, полученные через сеть, и т.п. Программа, хранящаяся в устройстве памяти, которая должна исполняться, считывается CPU, например, при включении телевизионного устройства 900. CPU управляет работой телевизионного устройства 900 в соответствии с сигналом управления, вводимым от интерфейса 911 пользователя, например, при выполнении программы.
Интерфейс 911 пользователя соединяется с контроллером 910. Интерфейс 911 пользователя имеет, например, кнопку и переключатель для работы пользователя с телевизионным устройством 900, приемник сигнала дистанционного управления и т.п. Интерфейс 911 пользователя обнаруживает выполненную пользователем операцию через эти компоненты, формирует сигнал управления и выводит сформированный сигнал управления на контроллер 910.
Шина 912 соединяет между собой тюнер 902, демультиплексор 903, декодер 904, видеопроцессор 905, аудиопроцессор 907, внешний интерфейс 909 и контроллер 910.
В телевизионном устройстве 900, построенном таким образом, декодер 904 имеет функцию устройства 50 декодирования изображения, соответствующую описанному выше варианту осуществления. Следовательно, когда в телевизионном устройстве 900 изображения декодированы, процесс деблокирующей фильтрации может соответственно применить фильтрацию.
Второй пример применения
На фиг.36 показан пример структуры мобильного телефона, к которому применяется описанный выше вариант осуществления. Мобильный телефон 920 содержит антенну 921, блок 922 связи, аудиокодек 923, громкоговоритель 924, микрофон 925, блок 926 камеры, видеопроцессор 927, демультиплексор 928, блок 929 записи/воспроизведения, блок 930 отображения, контроллер 931, операционный блок 932 и шину 933.
Антенна 921 соединяется с блоком 922 связи. Громкоговоритель 924 и микрофон 925 соединяются с аудиокодеком 923. Операционный блок 932 соединяется с контроллером 931. Шина 933 соединяет друг с другом блок 922 связи, аудиокодек 923, блок 926 камеры, видеопроцессор 927, демультиплексор 928, блок 929 записи/воспроизведения, блок 930 отображения и контроллер 931.
Мобильный телефон 920 выполняет операцию, такую как передача/прием аудиосигнала, передача/прием электронной почты или данных изображения, запись данных в различных рабочих режимах, к которым относятся режим аудиосвязи, режим передачи данных, режим получения изображений и режим телевизионного телефона.
В режиме аудиосвязи аналоговый аудиосигнал, сформированный микрофоном 925, подается на аудиокодек 923. Аудиокодек 923 преобразует аналоговый аудиосигнал в аудиоданные и A/D преобразует преобразованные аудиоданные для сжатия. Затем аудиокодек 923 выводит сжатые аудиоданные на блок 922 связи. Блок 922 связи кодирует и модулирует аудиоданные, чтобы сформировать сигнал передачи. Затем блок 922 связи передает сформированный сигнал передачи на базовую станцию (не показана) через антенну 921. Кроме того, блок 922 связи усиливает радиосигнал, принятый через антенну 921 и выполняет для него преобразование частоты, чтобы получить сигнал приема. Затем блок 922 связи формирует аудиоданные, демодулируя и декодируя сигнал приема, и выводит сформированные аудиоданные на аудиокодек 923. Аудиокодек 923 расширяет аудиоданные D/A-преобразователь преобразует эти данные, чтобы сформировать аналоговый аудиосигнал. Аудиокодек 923 затем подает сформированный аудиосигнал на громкоговоритель 924 для вывода через него звукового сигнала.
В режиме передачи данных контроллер 931 формирует текстовые данные, составляющие сообщение электронной почты, в соответствии с операцией пользователя через операционный блок 932. Кроме того, контроллер 931 позволяет блоку 930 отображения отображать на экране символы. Контроллер 931 формирует данные электронной почты в ответ на команду передачи от пользователя через операционный блок 932 и выводит сформированные данные электронной почты на блок 922 связи. Блок 922 связи кодирует и модулирует данные электронной почты, чтобы сформировать сигнал передачи. Затем блок 922 связи передает сформированный сигнал передачи на базовую станцию (не показана) через антенну 921. Кроме того, блок 922 связи усиливает радиосигнал, принятый через антенну 921, и выполняет для него преобразование частоты, чтобы получить сигнал приема. Блок 922 связи затем демодулирует и декодирует сигнал приема, чтобы восстановить данные электронной почты, и выводит восстановленные данные электронной почты на контроллер 931. Контроллер 931 разрешает блоку 930 отображения отобразить на экране данные электронной почты и разрешает носителю хранения данных блока 929 записи/воспроизведения сохранить данные электронной почты.
Блок 929 записи/воспроизведения содержит произвольный носитель для хранения считываемых/записываемых данных. Например, носитель для хранения данных может быть встроенным носителем для хранения данных, таким как RAM или флэш-память, или может быть внешним устанавливаемым носителем для хранения данных, таким как жесткий диск, магнитный диск, магнито-оптический диск, оптический диск, устройством памяти USB и картой памяти.
В режиме получения изображения блок 926 камеры получает изображение объекта, чтобы сформировать данные изображения, и выводит сформированные данные изображения на видеопроцессор 927. Видеопроцессор 927 кодирует данные изображения, введенные из блока 926 камеры, и сохраняет кодированный поток на носителе для хранения данных блока 929 записи/воспроизведения.
Кроме того, в режиме телевизора-телефона, например, демультиплексор 928 мультиплексирует видеопоток, кодированный видеопроцессором 927, и аудиопоток, введенный от аудиокодека 923, и выводит мультиплексированный поток на блок 922 связи. Блок 922 связи кодирует и модулирует поток, чтобы сформировать сигнал передачи. Затем блок 922 связи передает сформированный сигнал передачи на базовую станцию (не показана) через антенну 921. Кроме того, блок 922 связи усиливает радиосигнал, принятый через антенну 921, и выполняет для него преобразование частоты, чтобы получить сигнал приема. Сигнал передачи и сигнал приема могут содержать кодированный битовый поток. Затем блок 922 связи восстанавливает поток, демодулируя и декодируя сигнал приема, и выводит восстановленный поток на демультиплексор 92 8. Демультиплексор 928 отделяет видеопоток и аудиопоток от входного потока и выводит видеопоток и аудиопоток на видеопроцессор 927 и на аудиокодек 923, соответственно. Видеопроцессор 927 декодирует видеопоток, чтобы сформировать видеоданные. Видеоданные подаются на блок 930 отображения и последовательность изображений отображается блоком 930 отображения. Аудиокодек 923 расширяет аудиопоток и D/A-преобразователь преобразует эти данные, чтобы сформировать аналоговый аудиосигнал. Аудиокодек 923 затем подает сформированный аудиосигнал на громкоговоритель 924 для вывода через него звукового сигнала.
В мобильном телефоне 920, выполненном таким образом, видеопроцессор 927 имеет функции устройства 10 кодирования изображения и устройства 50 декодирования изображения, соответствующие вариантам осуществления, описанным выше. Следовательно, когда в мобильном телефоне 920 изображения декодированы, процесс деблокирующей фильтрации может соответственно применить фильтрацию.
Третий пример применения
На фиг.37 показан пример структуры устройства записи/воспроизведения, к которому применяется описанный выше вариант осуществления. Устройство 940 записи/воспроизведения кодирует аудиоданные и видеоданные принятой вещательной программы, чтобы записать их, например, на носитель для записи. Кроме того, устройство 940 записи/воспроизведения может кодировать аудиоданные и видеоданные, принятые от другого устройства, чтобы записать их, например, на носитель для записи. Кроме того, устройство 940 записи/воспроизведения воспроизводит данные, записанные на носителе, посредством монитора и громкоговорителя в соответствии с командой пользователя. В этом случае, устройство 940 записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство 940 записи/воспроизведения содержит тюнер 941, внешний интерфейс 942, кодер 943, блок 944 HDD (жесткий диск), дисковод 945, переключатель 946, декодер 947, блок 948 OSD (экранное меню), контроллер 949 и интерфейс 950 пользователя.
Тюнер 941 извлекает сигнал желаемого канала из широковещательного сигнала, принятого через антенну (не показана), и демодулирует извлеченный сигнал. Тюнер 941 затем выводит кодированный битовый поток, полученный при демодуляции, на переключатель 946. То есть в устройстве 940 записи/воспроизведения тюнер 941 служит в качестве средства передачи. Внешний интерфейс 942 является интерфейсом для соединения устройства 940 записи/воспроизведения с внешним устройством или сетью. Внешний интерфейс 942 может быть, например, интерфейсом IEEE1394, сетевым интерфейсом, интерфейсом USB, интерфейсом флэш-памяти и т.п. Например, видеоданные и аудиоданные, принятые через внешний интерфейс 942 вводятся на кодер 943. То есть в устройстве 940 записи/воспроизведения внешний интерфейс 942 служит в качестве средства передачи.
Кодер 943 кодирует видеоданные и аудиоданные в случае, когда видеоданные и аудиоданные, введенные от внешнего интерфейса 942, не кодированы. Затем кодер 943 выводит кодированный битовый поток на переключатель 946.
HDD 944 записывает кодированный битовый поток, в котором данные содержания, такие как видеоданные и аудиоданные, сжаты, различные программы и другие данные на внутреннем жестком диске. Кроме того, при воспроизведении видеоданных и аудиоданных HDD 944 считывает данные с жесткого диска.
Дисковод 945 записывает на носителе для записи и считывает данные с установленного на нем носителя для записи. Носителем записи, монтируемым на дисковод 945, могут быть, например, диск DVD (DVD-video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW и т.п.) диск Blu-ray (зарегистрированная торговая марка) и т.п. Для записи видеоданных и аудиоданных переключатель 946 выбирает кодированный битовый поток, который вводится от тюнера 941 или кодера 943, и выводит выбранный кодированный битовый поток на HDD 944 или на дисковод 945. Кроме того, для воспроизведения видеоданных и аудиоданных переключатель 946 выводит кодированный битовый поток, вводимый от HDD 944 или дисковода 945 на декодер 947.
Декодер 947 декодирует кодированный битовый поток, чтобы сформировать видеоданные и аудиоданные. Затем декодер 947 выводит сформированные видеоданные на OSD 948. Кроме того, декодер 904 выводит сформированные аудиоданные на внешний громкоговоритель. OSD 948 воспроизводит видеоданные, которые вводятся от декодера 947, для отображения видеоданных. OSD 948 может также накладывать изображение GUI, такое, например, как меню, кнопка или курсор, на отображаемые видеоданные.
Контроллер 949 содержит процессор, такой как CPU, и устройство памяти, такое как RAM и ROM. Устройство памяти хранит программу, исполняемую CPU, программные данные и т.п. Программа, хранящаяся в устройстве памяти, считывается CPU, чтобы исполняться, например, при включении устройства 940 записи/воспроизведения. CPU управляет работой устройства 940 записи/воспроизведения в соответствии с сигналом управления, вводимым от интерфейса 950 пользователя, например, при выполнении программы.
Интерфейс 950 пользователя соединяется с контроллером 949. Интерфейс 950 пользователя имеет, например, кнопку и переключатель для работы пользователя с устройством 940 записи/воспроизведения, и приемник сигнала дистанционного управления. Интерфейс 950 пользователя обнаруживает выполненную пользователем операцию через эти компоненты, формирует сигнал управления и выводит сформированный сигнал управления на контроллер 949.
В устройстве 940 записи/воспроизведения, построенном таким образом, декодер 943 имеет функцию устройства 10 декодирования изображения, соответствующую описанному выше варианту осуществления. Кроме того, декодер 947 имеет функции устройства 50 декодирования изображения, соответствующего описанному выше варианту осуществления. Следовательно, когда в устройстве 940 записи/воспроизведения изображения кодированы и декодированы, процесс деблокирующей фильтрации может соответственно применить фильтрацию.
Четвертый пример применения
На фиг.38 показан пример структуры устройства получения изображения, к которому применяется описанный выше вариант осуществления. Устройство 960 получения изображения получает изображение объекта, чтобы создать изображение, кодирует данные изображения и записывает кодированные данные изображения на носителе записи данных.
Устройство 960 получения изображения содержит оптический блок 961, блок 962 получения изображения, сигнальный процессор 963, видеопроцессор 964, блок 965 отображения, внешний интерфейс 966, устройство 967 памяти, привод 968 носителя данных, OSD 969, контроллер 970, интерфейс 971 пользователя и шину 972.
Оптический блок 961 содержит объектив, диафрагменный механизм и т.п. Оптический блок 961 формирует оптическое изображение объекта на поверхности получения изображения блока 962 получения изображения. Блок 962 получения изображения содержит датчик изображения, такой как CCD (Charge Coupled Device, прибор с зарядовой связью) или CMOS (Complementary Metal Oxide Semiconductor, комплементарный металло-оксидный полупроводник) и преобразует оптическое изображение, полученное на поверхности получения изображения, в сигнал изображения в виде электрического сигнала, используя для этого фотоэлектрическое преобразование. Затем блок 962 получения изображения выводит сигнал изображения на сигнальный процессор 963.
Сигнальный процессор 963 выполняет различные виды обработки сигналов камеры, такие как г-образная коррекция, гамма-коррекция или коррекция цвета сигнала изображения, поданного от блока 962 получения изображения. Сигнальный процессор 963 выводит данные изображения, после обработки сигнала камеры, на видеопроцессор 964.
Видеопроцессор 964 кодирует данные изображения, полученные от сигнального процессора 963, чтобы сформировать кодированные данные. Видеопроцессор 964 затем выводит сформированные кодированные данные на внешний интерфейс 966 или на дисковод 968 носителя данных. Кроме того, видеопроцессор 964 декодирует кодированные данные, поданные от внешнего интерфейса 966 или дисковода 968 носителя данных, чтобы сформировать данные изображения. Видеопроцессор 964 затем выводит сформированные данные изображения на блок 965 отображения. Видеопроцессор 964 может также вывести данные изображения, пришедшие от сигнального процессора 963, на блок 965 отображения для отображения изображений на экране. Видеопроцессор 964 может также наложить данные для отображения, полученные от OSD 969, на изображение, выведенное на блок 965 отображения.
OSD 969 формирует изображение GUI, такое как, например, меню, кнопка и курсор, и выводит сформированное изображение на видеопроцессор 964.
Внешний интерфейс 966 выполнен, например, как терминал ввода-вывода USB. Внешний интерфейс 966, например, при печати изображения соединяется с устройством 960 получения изображения и принтером. Кроме того, если необходимо, с внешним интерфейсом 966 соединяется дисковод. В дисководе монтируется съемный носитель, например, такой как магнитный диск или оптический диск, и программа, которая считывается со съемного носителя, может устанавливаться в устройство 960 получения изображения. Дополнительно, внешний интерфейс 966 может быть выполнен как сетевой интерфейс, соединенный с сетью, такой как LAN и Интернет. То есть в устройстве 960 получения изображения внешний интерфейс 966 служит в качестве средства передачи.
Носитель записи данных, монтируемый на дисководе 968 носителя данных, может быть произвольным считываемым/перезаписываемым съемным носителем, таким как, например, магнитный диск, магнитно-оптический диск, оптический диск или полупроводниковая память. Кроме того, записываемый носитель может фиксировано монтироваться на дисководе 968 носителя данных, образуя несъемный блок хранения данных, такой как, например, встроенный дисковод жесткого диска или SSD (твердотельный дисковод).
Контроллер 970 содержит процессор, такой как CPU, и устройство памяти, такое как RAM и ROM. Устройство памяти хранит программу, исполняемую CPU, и программные данные. Программа, хранящаяся в устройстве памяти, которая должна исполняться, считывается CPU, например, при включении устройства 960 получения изображения. CPU управляет работой устройства 960 получения изображения в соответствии с сигналом управления, поступающим от интерфейса 971 пользователя, например, при выполнении программы.
Интерфейс 971 пользователя соединяется с контроллером 970. Интерфейс 971 пользователя имеет, например, кнопку, переключатель и т.п. для работы пользователя с устройством 960 получения изображения. Интерфейс 971 пользователя обнаруживает выполненную пользователем операцию через эти компоненты, чтобы сформировать сигнал управления, и выводит сформированный сигнал управления на контроллер 970.
Шина 972 соединяет друг с другом видеопроцессор 964, внешний интерфейс 966, устройство 967 памяти, дисковод 968 носителя данных, OSD 969 и контроллер 970.
В устройстве 960 получения изображения, выполненном таким образом, видеопроцессор 964 имеет функции устройства 10 кодирования изображения и устройства 50 декодирования изображения, соответствующие вариантам осуществления, описанным выше. Следовательно, когда в устройстве 960 получения изображения эти изображения кодированы и декодированы, процесс деблокирующей фильтрации может соответственно применить фильтрацию.
В настоящем описании приведен пример, в котором различные типы информации, такие как параметры, относящиеся к процессу ограничения для интенсивной фильтрации, мультиплексируются в кодированный поток и передаются со стороны кодирования на сторону декодирования. Однако, способ передачи этих фрагментов информации не ограничивается этим примером. Например, фрагменты информации могут передаваться или записываться как отдельные данные, связанные с кодированным битовым потоком, а не мультиплексироваться в кодированный поток данных. Здесь термин "ассоциировать" означает, что изображение (или часть изображения, такая как срез и блок), содержащееся в битовом потоке, и информация, соответствующая изображению, могут быть связаны друг с другом во время декодирования. То есть информация может передаваться по линии передачи информации, отличной от линии передачи изображения (или битового потока). Кроме того, информация может записываться на другом носителе записи данных (или в другой области записи на том же самом носителе записи), отличном от того, на котором записывается изображение(или битовый поток). Дополнительно, информация и изображение (или битовый поток) могут ассоциироваться друг с другом, например, в произвольных блоках, таких как множество кадров, один кадр или участок кадра.
Дополнительно, настоящая технология не должна истолковываться как ограниченная описанными выше вариантами осуществления. Варианты осуществления раскрывают настоящую технологию в примерной и иллюстративной форме и специалистам в данной области техники очевидно, что могут появиться изменения и замены, не отступающие от сущности настоящего изобретения. Другими словами, сущность настоящей технологии должны быть определена с учетом формулы изобретения.
Заметим, что устройство обработки изображения, соответствующее настоящей технологии, может содержать следующие положения.
(1) Устройство обработки изображений, содержащее:
блок декодирования, который декодирует кодированный поток, кодированный блоками, каждый из которых имеет уровневую структуру, чтобы сформировать изображение;
блок фильтрации, который применяет деблокирующий фильтр к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком изображения, сформированным блоком декодирования, и соседним блоком, примыкающим к блоку; и
контроллер, управляющий модулем фильтрации, так что когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, процесс ограничения применяется к деблокирующему фильтру в отношении компонент яркости изображения, сформированного блоком декодирования.
(2) Устройство обработки изображений по п.(1), в котором:
контроллер применяет процесс ограничения к значениям частей, которые изменяются при применении деблокирующего фильтра.
(3) Устройство обработки изображений по п.(2), в котором:
контроллер применяет процесс ограничения в соответствии со следующими выражениями:
где i=0,7 и pv - значение ограничения.
(4) Устройство обработки изображений по п.(3), в котором:
контроллер устанавливает такое значение, которое является целочисленным множителем параметров деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
(5) Устройство обработки изображений по п.(4), в котором:
контроллер устанавливает такое значение, которое является двукратным значением параметров деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
(6) Устройство обработки о любому из пп. (1)-(5), дополнительно содержащее:
блок определения интенсивности фильтрации, который определяет интенсивность деблокирующего фильтра, приложенную к границе блоков, в котором
блок фильтрации применяет деблокирующий фильтр к границе блоков в соответствии с интенсивностью, определенной блоком определения интенсивности фильтрации, и
контроллер управляет модулем фильтрации так, что когда блок определения интенсивности фильтрации определяет, что должна применяться интенсивная фильтрация, процесс ограничения применяется к деблокирующему фильтру в отношении компонент яркости изображения, сформированного блоком декодирования.
(7) Устройство обработки изображений по п.(6), в котором:
блок определения интенсивности фильтрации определяет интенсивность деблокирующего фильтра, используя множество строк в качестве обрабатываемых блоков.
(8) Устройство обработки изображений по п.(7), в котором:
блок определения интенсивности фильтрации определяет интенсивность деблокирующего фильтра, используя четыре строки в качестве обрабатываемых блоков.
(9) Устройство обработки изображений по п.(7), дополнительно содержащее:
блок определения необходимой фильтрации, определяющий, должен ли деблокирующий фильтр применяться к границе блоков, используя множество строк в качестве обрабатываемых блоков, в котором
блок определения интенсивности фильтрации определяет интенсивность деблокирующего фильтра, когда блок определения необходимой фильтрации определяет, что должен применяться деблокирующий фильтр.
(10) Способ обработки изображений, разрешающий устройству обработки изображений выполнять этапы, на которых:
декодируют кодированный поток, кодированный в блоках, каждый из которых имеет уровневую структуру, чтобы сформировать изображение;
применяют деблокирующий фильтр к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком сформированного изображения и соседним блоком, примыкающим к блоку; и
управляют таким образом, что когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, процесс ограничения применяется к деблокирующему фильтру в отношении компонент яркости сформированного изображения.
(11) Устройство обработки изображений, содержащее:
блок фильтрации, который применяет деблокирующий фильтр к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком изображения, локально декодированного, когда изображение кодировано и соседний блок примыкает к блоку;
контроллер, управляющий модулем фильтрации так, что когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, процесс ограничения применяется к деблокирующему фильтру в отношении компонент яркости локально декодированного изображения; и
блок кодирования, который кодирует изображение в блоках, каждый из которых имеет уровневую структуру, используя изображение, к которому применяется деблокирующий фильтр.
(12) Устройство обработки изображений по п.(11), в котором:
контроллер применяет процесс ограничения к значениям частей, которые изменяются при применении деблокирующего фильтра.
(13) Устройство обработки изображений по п.(12), в котором:
контроллер применяет процесс ограничения в соответствии со следующими выражениями:
Математическая формула 38
где i=0,7 и pv - значение ограничения.
(14) Устройство обработки изображений по п.(13), в котором:
контроллер устанавливает такое значение, которое является целочисленным множителем параметров деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
(15) Устройство обработки изображений по п.(14), в котором:
контроллер устанавливает такое значение, которое является двукратным значением параметров деблокирующего фильтра, в качестве значения ограничения, используемого при выполнении процесса ограничения.
(16) Устройство обработки о любому из пп.(11)-(15), дополнительно содержащее:
блок определения интенсивности фильтрации, который определяет интенсивность деблокирующего фильтра, приложенную к границе блоков, в котором
блок фильтрации применяет деблокирующий фильтр к границе блоков в соответствии с интенсивностью, определенной блоком определения интенсивности фильтрации, и
контроллер управляет модулем фильтрации, так что когда блок определения интенсивности фильтрации определяет, что должна применяться интенсивная фильтрация, процесс ограничения применяется к деблокирующему фильтру в отношении компонент яркости изображения, сформированного блоком декодирования.
(17) Устройство обработки изображений по п.(16), в котором:
блок определения интенсивности фильтрации определяет интенсивность деблокирующего фильтра, используя множество строк в качестве обрабатываемых блоков.
(18) Устройство обработки изображений по п.(17), в котором:
блок определения интенсивности фильтрации определяет интенсивность деблокирующего фильтра, используя четыре строки в качестве обрабатываемых блоков.
(19) Устройство обработки изображений по п.(17), дополнительно содержащее:
блок определения необходимой фильтрации, определяющий, должен ли деблокирующий фильтр применяться к границе блоков, используя множество строк в качестве обрабатываемых блоков, в котором
блок определения интенсивности фильтрации определяет интенсивность деблокирующего фильтра, когда блок определения необходимой фильтрации определяет, что должен применяться деблокирующий фильтр.
(20) Способ обработки изображений, разрешающий устройству обработки изображений выполнять этапы, на которых:
применяют деблокирующий фильтр к границе блоков в соответствии с интенсивностью деблокирующего фильтра, применяемого к границе блоков, являющейся границей между блоком изображения, локально декодированного, когда изображение кодировано, и соседним блоком, примыкающим к блоку;
управляют таким образом, что когда в качестве интенсивности деблокирующего фильтра применяется интенсивная фильтрация, процесс ограничения применяется к деблокирующему фильтру в отношении компонент яркости сформированного изображения; и
кодируют изображение в блоках, каждый из которых имеет уровневую структуру, используя изображение, к которому применяется деблокирующий фильтр.
Перечень ссылочных позиций
10: Устройство кодирования изображения
11: A/D-преобразователь
12, 57: Буфер перегруппировки кадров
13: Вычитающее устройство
14: Ортогональный преобразователь
15: Квантователь
16: Кодер без потерь
17: Аккумулирующий буфер
18: Контроллер скорости
21, 53: Инверсный квантователь
22, 54: Инверсный ортогональный преобразователь
23, 55: Сумматор
24, 56: Блок деблокирующей фильтрации
25, 61: Устройство памяти кадров
26, 62, 65: Переключатель
31, 63: Внутрикадровый предсказатель
32 Устройство оценки/компенсатора движения
33 Блок выбора режима предсказанного изображения/оптимального режима
50 Устройство декодирования изображения
51 Аккумулирующий буфер
52 Декодер без потерь
61 Устройство памяти кадров
64 Блок компенсации движения
71 Устройство памяти изображения
72, 72-1: Блок определения границы блоков
72-2: Блок определения границы строк/границы блоков
73, 73-1: Блок определения интенсивности фильтрации
73-2: Блок определения интенсивности фильтрации границы строк
74, 74-1: Блок операции фильтрации
74-2: Блок операции фильтрации границы строк
7 5: Переключатель
76: Устройство памяти коэффициентов
77: Контроллер
77А, 77В: Блок определения строк между блоками LCU
241: Устройство памяти строк
242: Блок определения границы строк
243: Блок определения интенсивности фильтрации
244: Устройство памяти коэффициентов
245: Блок операции фильтрации
246: Контроллер фильтра
2451: Блок хранения данных
2452: Блок выбора данных
2453, 2455, 2456: Блок арифметических операций
2457: Блок выбора данных
2461: Блок определения границы строк
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2018 |
|
RU2680349C1 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2012 |
|
RU2643468C1 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2012 |
|
RU2607243C2 |
ПАРАМЕТР КВАНТОВАНИЯ ДЛЯ ДЕБЛОКИРУЮЩЕЙ ФИЛЬТРАЦИИ ЦВЕТНОСТИ | 2020 |
|
RU2822510C1 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2737038C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2012 |
|
RU2585657C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2012 |
|
RU2701715C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2017 |
|
RU2731125C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2630385C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2633140C2 |
Изобретение относится к области обработки изображений. Техническим результатом является обеспечение повышенной эффективности фильтрации на границах между блоками пикселей. Устройство обработки изображений, содержащее: модуль фильтрации, выполненный с возможностью применения фильтра с большой интенсивностью фильтрации к соседним пикселям, прилегающим к границе блоков в пределах декодированного изображения, генерируемого в процессе декодирования; и контроллер, выполненный с возможностью управления модулем фильтрации так, чтобы применить к фильтру с большой интенсивностью фильтрации процесс ограничения с использованием значения ограничения фильтра с большой интенсивностью фильтрации, превышающего значение ограничения фильтра со слабой интенсивностью фильтрации. 2 н. и 6 з.п. ф-лы, 38 ил.
1. Устройство обработки изображений, содержащее:
модуль фильтрации, выполненный с возможностью применения фильтра с большой интенсивностью фильтрации к соседним пикселям, прилегающим к границе блоков в пределах декодированного изображения, генерируемого в процессе декодирования; и
контроллер, выполненный с возможностью управления модулем фильтрации так, чтобы применить к фильтру с большой интенсивностью фильтрации процесс ограничения с использованием значения ограничения фильтра с большой интенсивностью фильтрации, превышающего значение ограничения фильтра со слабой интенсивностью фильтрации.
2. Устройство обработки изображений по п. 1, в котором:
контроллер выполнен с возможностью применения процесса ограничения в соответствии со следующими выражениями:
p0'=p0+Clip(-pv)-(pv)((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip(p0-pv)-(p0+pv)((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-pv,p0+pv,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1'=p1+Clip(-pv)-(pv)((p2-3*p1+p0+q0+2)>>2);
=Clip(p1-pv)-(p1+pv)((p2+p1+p0+q0+2)>>2);
=Clip3(p1-pv,p1+pv,(p2+p1+p0+q0+2)>>2);
p2'=p2+Clip(-pv)-(pv)((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip(p2-pv)-(p2+pv)((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-pv,p2+pv,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0'=q0+Clip(-pv)-(pv)((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip(q0-pv)-(q0+pv)((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-pv,q0+pv,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1'=q1+Clip(-pv)-(pv)((p0+q0-3*q1+q2+2)>>2);
=Clip(q1-pv)-(q1+pv)((p0+q0+q1+q2+2)>>2);
=Clip3(q1-pv,q1+pv,(p0+q0+q1+q2+2)>>2);
q2'=q2+Clip(-pv)-(pv)((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip(q2i-pv)-(q2i+pv)((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-pv,q2+pv,(p0+q0+q1+3*q2+2*q3+4)>>3);
где p0', р1', p2', q0', q1', q2' - отфильтрованные пиксели, p0, p1, p2, q0, q1, q2 - данные изображения для соответствующего пикселя, a pv - значение ограничения фильтра с большой интенсивностью фильтрации.
3. Устройство обработки изображений по п. 2, в котором:
контроллер выполнен с возможностью применения процесса ограничения в соответствии со следующими выражениями:
p0'=p0+Clip(-2*tc)-(2*tc)((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip(p0i-2*tc)-(p0i+2*tc)((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0i-2*tc,p0i+2*tc,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
q0'=q0+Clip(-2*tc)-(2*tc)((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip(q0-2*tc)-(q0+2*tc)((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-2*tc,q0+2*tc,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
p1'=p1+Clip(-2*tc)-(2*tc)((p2-3*p1+p0+q0+2)>>2);
=Clip(p1-2*tc)-(p1+2*tc)((p2+p1+p0+q0+2)>>2);
=Clip3(p1-2*tc,p1+2*tc,(p2+p1+p0+q0+2)>>2);
q1'=q1+Clip(-2*tc)-(2*tc)((p0+q0-3*q1+q2+2)>>2);
=Clip(q1-2*tc)-(q1+2*tc)((p0+q0+q1+q2+2)>>2);
=Clip3(q1-2*tc,q1+2*tc,(p0+q0+q1+q2+2)>>2);
p2'=p2+Clip(-2*tc)-(2*tc)((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip(p2-2*tc)-(p2+2*tc)((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-2*tc,p2+2*tc,(2*p3+3*p2+p1+p0+q0+4)>>3);
q2'=q2+Clip(-2*tc)-(2*tc)((p0+q0+ql-5*q2+2*q3+4)>>3);
=Clip(q2-2*tc)-(q2+2*tc)((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-2*tc,q2+2*tc,(p0+q0+q1+3*q2+2*q3+4)>>3);
где tc - пороговое значение, используемое для разграничения фильтрации большой/слабой интенсивности.
4. Устройство обработки изображений по п.1, дополнительно содержащее:
модуль декодирования, выполненный с возможностью декодирования кодированного потока для генерирования декодированного изображения.
5. Способ обработки изображений, обеспечивающий выполнение устройством обработки изображений этапов, на которых:
применяют фильтр с большой интенсивностью фильтрации к соседним пикселям, прилегающим к границе блоков в пределах декодированного изображения, сгенерированного в процессе декодирования; и
выполняют управление так, чтобы применить к фильтру с большой интенсивностью фильтрации процесс ограничения с использованием значения ограничения фильтра с большой интенсивностью фильтрации, превышающего значение ограничения фильтра со слабой интенсивностью фильтрации.
6. Способ обработки изображений по п. 5, в котором:
выполняют управление так, что применить процесс ограничения в соответствии со следующими выражениями:
p0'=p0+Clip(-pv)-(pv)((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip(p0-pv)-(p0+pv)((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-pv,p0+pv,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1'=p1+Clip(-pv)-(pv)((p2-3*p1+p0+q0+2)>>2);
=Clip(p1-pv)-(p1+pv)((p2+p1+p0+q0+2)>>2);
=Clip3(p1-pv,p1+pv,(p2+p1+p0+q0+2)>>2);
p2'=p2+Clip(-pv)-(pv)((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip(p2-pv)-(p2+pv)((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-pv,p2+pv,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0'=q0+Clip(-pv)-(pv)((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip(q0-pv)-(q0+pv)((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-pv,q0+pv,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1'=q1+Clip(-pv)-(pv)((p0+q0-3*q1+q2+2)>>2);
=Clip(q1-pv)-(q1+pv)((p0+q0+q1+q2+2)>>2);
=Clip3(q1-pv,q1+pv,(p0+q0+q1+q2+2)>>2)
q2'=q2+Clip(-pv)-(pv)((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip(q2i-pv)-(q2i+pv)((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-pv,q2+pv,(p0+q0+q1+3*q2+2*q3+4)>>3);
где p0', p1', p2', q0', q1', q2' - отфильтрованные пиксели, p0, p1, p2, q0, q1, q2 - данные изображения для соответствующего пикселя, a pv - значение ограничения фильтра с большой интенсивностью фильтрации.
7. Способ обработки изображений по п. 6, в котором:
выполняют управление так, чтобы применить процесс ограничения в соответствии со следующими выражениями:
p0'=p0+Clip(-2*tc)-(2*tc)((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip(p0i-2*tc)-(p0i+2*tc)((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0i-2*tc,p0i+2*tc,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
q0'=q0+Clip(-2*tc)-(2*tc)((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip(q0-2*tc)-(q0+2*tc)((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-2*tc,q0+2*tc,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
p1'=p1+Clip(-2*tc)-(2*tc)((p2-3*p1+p0+q0+2)>>2);
=Clip(p1-2*tc)-(p1+2*tc)((p2+p1+p0+q0+2)>>2);
=Clip3(p1-2*tc,p1+2*tc,(p2+p1+p0+q0+2)>>2);
q1'=q1+Clip(-2*tc)-(2*tc)((p0+q0-3*q1+q2+2)>>2);
=Clip(q1-2*tc)-(q1+2*tc)((p0+q0+q1+q2+2)>>2);
=Clip3(q1-2*tc,q1+2*tc,(p0+q0+q1+q2+2)>>2);
p2'=p2+Clip(-2*tc)-(2*tc)((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip(p2-2*tc)-(p2+2*tc)((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-2*tc,p2+2*tc,(2*p3+3*p2+p1+p0+q0+4)>>3);
q2'=q2+Clip(-2*tc)-(2*tc)((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip(q2-2*tc)-(q2+2*tc)((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-2*tc,q2+2*tc,(p0+q0+q1+3*q2+2*q3+4)>>3);
где tc - пороговое значение, используемое для разграничения фильтрации большой/слабой интенсивности.
8. Способ обработки изображений по п. 5, дополнительно содержащий этап, на котором:
выполняют декодирование кодированного потока для генерирования декодированного изображения.
US20050276505 A1, 15.12.2005 | |||
Устройство для сортировки рыбы по удельному весу | 1989 |
|
SU1613095A1 |
US20080170629 A1, 17.07.2008 | |||
СПОСОБ КОДИРОВАНИЯ, КОДИРУЮЩЕЕ УСТРОЙСТВО, ПРОГРАММА ОБРАБОТКИ КОДИРОВАНИЯ И РЕГИСТРИРУЮЩИЙ НОСИТЕЛЬ, НА КОТОРОМ ЗАПИСАНА ПРОГРАММА ОБРАБОТКИ КОДИРОВАНИЯ | 2006 |
|
RU2344566C1 |
Авторы
Даты
2017-01-18—Публикация
2012-05-28—Подача