Универсальная корректировка блочности изображения

Иллюстрации

Показать все

Изобретение относится к области обработки изображения и, более конкретно, к способам универсальной корректировки блочности изображения при низком быстродействии (малом количестве миллионов команд в секунду) (MIP). Техническим результатом является создание способа универсальной корректировки блочности, включая унаследованную блочность. Указанный технический результат достигается тем, что устройство содержит процессор, выполненный с возможностью реализации набора команд для вызова средства внутрицикловой фильтрации удаления блочности и для универсальной корректировки блочности в декодированном выходном сигнале во время операции постцикловой фильтрации с использованием средства внутрицикловой фильтрации удаления блочности, при этом универсальная корректировка блочности содержит: выполнение операции сильной фильтрации в отношении блоков в декодированном выходном сигнале для корректировки унаследованной блочности, при этом блоки содержат пропущенные макроблоки и блоки с шаблоном кодированного блока, равным нулю, и включение средства внутрицикловой фильтрации удаления блочности для краев фрагмента изображения фиксированного размера, не расположенных на границе блока соответствующего промежуточного макроблока, для корректировки унаследованной блочности; и память, связанную с процессором. 5 н. и 14 з.п. ф-лы, 23 ил., 7 табл.

Реферат

Настоящее раскрытие в основном относится к области обработки изображения и, более конкретно, к способам универсальной корректировки блочности изображения при низком быстродействии (малом количестве миллионов команд в секунду) (MIP).

УРОВЕНЬ ТЕХНИКИ

Блочность изображения является одним из наиболее существенных искажений изображения, вносимых при кодировании видеоинформации и изображения на основе блоков. Причины возникновения блочности изображения заключаются в том, что при кодировании на основе блоков в качестве основной единицы для преобразования, дискретизации и кодирования текстуры используют блок (например, 8×8 или 4×4), и при таком кодировании происходит потеря межблочной корреляции. Проблема особенно серьезна при кодировании содержимого видеоинформации/изображения с очень низкой скоростью передачи битов (большой размер qp шага дискретизации). Для внутренних макроблоков (МB) искажения изображения видимы только в окрестности границ блока. Однако для промежуточных МB компенсация движения может вносить искажения внутри блоков. Блочные искажения, исходящие из опорных кадров, называют "унаследованной блочностью", так как блочность наследуется из предыдущих кадров. Унаследованная блочность может быть видимой в любом местоположении и иметь любую протяженность.

Существуют два вида подходов для решения проблемы унаследованной блочности. Первый подход состоит в том, чтобы использовать фильтрацию с длинными ответвлениями на всех пикселях для сглаживания искажений, так как унаследованная блочность может возникать везде. При первом подходе используется режим смещения DC, определенный стандартом экспертной группы по кинематографии (MPEG)-4, в котором применяется фильтрация с 9 ответвлениями на всех восьми соседних пикселях в окрестности края блока. При втором подходе отслеживается траектория перемещения блочности и на перемещаемых искажениях применяют DB.

Проверено, что второй подход является эффективным инструментом для удаления унаследованной блочности, требование на MIP для удаления блочности изображения VGA 30 кадров в секунду (fps) слишком высоко для мобильных или беспроводных приложений.

Известно использование аппаратного устройства (DB) удаления блочности H.264 в качестве постциклового устройства удаления блочности для MPEG-4 и серий Беспроводного Медиа Видео 9 (WMV9). Однако, ранее, постцикловое устройство удаления блочности осуществляло фильтрацию только пикселей в окрестности блоков 8×8, так что унаследованная блочность оставалась. Дополнительно, сила фильтрации для пропущенных блоков МB и блоков 0-го шаблона кодированного блока (CBP) не является достаточной. В стандартной практике для промежуточного МB BS всегда устанавливают в два или менее (если только соседний МB не является внутренним).

Следовательно, существует потребность в способах универсальной корректировки блочности, включая унаследованную блочность, при низком быстродействии (MIP).

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг.1 изображает блок-схему беспроводного устройства.

Фиг.2A изображает общую блок-схему внутрициклового устройства удаления блочности H264.

Фиг.2B изображает общую блок-схему декодера с устройством постциклового удаления искажения/блочности (DAB), совместно использующих механизм внутрицикловой фильтрации удаления блочности.

Фиг.2C изображает общую блок-схему декодера с устройством постциклового удаления искажения/блочности (DAB).

Фиг.3 изображает местоположения пикселя для края фрагмента изображения фиксированного размера.

Фиг.4A изображает опорный кадр макроблока с блочностью.

Фиг.4B изображает следующий кадр макроблока с унаследованной блочностью фиг.4A.

Фиг.5A изображает унаследованную блочность в изображении.

Фиг.5B изображает изображение без унаследованной блочности.

Фиг.6 изображает блок постциклового удаления искажения/блочности (DAB).

Фиг.7 изображает модуль инициализации постциклового DAB.

Фиг.8 изображает модуль изменения силы постциклового DAB.

Фиг.9 изображает модуль изменения параметров постциклового DAB.

Фиг.10 изображает модуль процедуры постциклового DAB.

Фиг.11 - общая блок-схема последовательности операций адаптируемого процесса послециклового DAB.

Фиг.12 - общая блок-схема последовательности операций процедуры постциклового DAB для внутреннего MB.

Фиг.13 изображает график зависимости силы qp-фильтрации для внутреннего МB.

Фиг.14 изображает возможные местосположения края фрагмента изображения фиксированного размера в блоке 8×8.

Фиг.15 изображает график зависимости силы qp-фильтрации для промежуточных МB.

Фиг.16 изображает возможную зависимость между текущим краем фрагмента изображения фиксированного размера и предыдущим краем фрагмента изображения фиксированного размера.

Фиг.17 изображает общую блок-схему последовательности операций упрощенной процедуры постциклового DAB для промежуточного MB.

Фиг.18 изображает график зависимости силы qp-фильтрации для внутреннего MB для полного варианта.

Фиг.19 изображает график зависимости силы qp-фильтрации для промежуточных MB для полного варианта.

Фиг.20A и фиг.20B изображают блок-схему процедуры для установки интенсивности границы в полном варианте.

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

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

ПОДРОБНОЕ ОПИСАНИЕ

Слово "возможный" используется здесь в значении «служащий в качестве возможного варианта, примера или иллюстрации». Любая конфигурация или разработка, описанная здесь, как "возможная" не обязательно должна рассматриваться как предпочтительная или имеющая преимущества перед другими конфигурациями или разработками, и термины "ядро", "механизм", "машина", "процессор" и "блок обработки" используются взаимозаменяемо.

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

Фиг.1 изображает блок-схему конфигурации беспроводного устройства 10 в системе беспроводной связи. Беспроводным устройством 10 может быть телефонная трубка. Телефонной трубкой может быть сотовый телефон или телефон с камерой, терминал, персональный цифровой ассистент (PDA), оборудованный беспроводной связью, устройство беспроводной связи, игровую видеоприставку, портативный компьютер, устройство с возможностями видео или некоторое другое устройство, оборудованное беспроводной связью. Системой беспроводной связи может быть система множественного доступа с кодовым разделением каналов (CDMA), система глобальной системы мобильной связи (GSM) или некоторая другая система.

Беспроводное устройство 10 выполнено с возможностью обеспечения двунаправленной связи через тракт приема и тракт передачи. На тракте приема сигналы, переданные базовыми станциями, принимаются антенной 12 и обеспечиваются на приемник 14 (RCVR). Приемник 14 приводит в определенное состояние и оцифровывает принятый сигнал и обеспечивает выборки на цифровой участок 20 для дальнейшей обработки. На тракте передачи передатчик 16 (TMTR) принимает из цифрового участка 20 данные, которые должны быть переданы, обрабатывает данные и приводит их в определенное состояние, и формирует модулированный сигнал, который передается через антенну 12 в базовые станции.

Цифровой участок 20 содержит различные блоки обработки, интерфейсные блоки и блоки памяти, например такие как процессор 22 модема, видеопроцессор 24, контроллер/процессор 26, процессор 28 отображения, ARM/DSP 32, блок 34 обработки графики (GPU), внутренняя память 36, и интерфейсная (EBI) 38 внутренней шины. Процессор 22 модема выполняет обработку для передачи и приема данных (например, кодирование, модуляцию, демодуляцию и декодирование). Видеопроцессор 24 выполняет обработку на содержимом видеоинформации (например, статических изображениях, движущихся видео и движущихся текстах) для видеоприложений, таких как видеокамера, видеофонограмма и видеоконференция. Контроллер/процессор 26 может управлять функционированием различных блоков обработки и интерфейсных блоков внутри цифрового участка 20. Процессор 28 отображения выполняет обработку, способствующую отображению видеоинформации, графики и текстов на блоке 30 отображения. ARM/DSP 32 может выполнять различные виды обработки для беспроводного устройства 10. Блок 34 обработки графики выполняет обработку графики.

Описанные здесь методики могут быть использованы для любого из процессоров на цифровом участке 20, например видеопроцессора 24. Во внутренней памяти 36 хранятся данные и/или команды для различных блоков внутри цифрового участка 20. EBI 38 способствует передаче данных между цифровым участком 20 (например, внутренней памятью 36) и основной памятью 40 по шине или линии передачи данных DL.

Цифровой участок 20 может быть реализован одним или большим количеством DSP, микропроцессоров, устройств RISC и т.д. Цифровой участок 20 также может быть скомпонован на одной или большем количестве специализированных интегральных схем (ASIC) или некотором другом виде интегральных схем (IC).

Описанные здесь методики могут быть реализованы в различных аппаратных блоках. Например, способы могут быть реализованы в схемах ASIC, процессорах DSP, устройствах RISC, процессорах FRM, устройствах обработки цифрового сигнала (DSPD), программируемых логических устройствах (PLD), программируемых вентильных матрицах (FPGA), процессорах, контроллерах, микроконтроллерах, микропроцессорах и других электронных блоках.

Дополнительно, описанные здесь методики для удаления искажений/блочности, вносимых кодированием видеоинформации, могут быть использованы для стандартов MPEG-4, H.263, WMV9 и H.264. Как может быть замечено из приведенного ниже описания, преимущество указанных способов состоит в удалении раздражающих унаследованных искажений при низких затратах, таких как 2,5-4 миллионов команд в секунду (MIP). Требования на новое устройство 70 постциклового удаления искажения/блочности (DAB) для конфигурации низкой сложности почти с 0% использования CPU для ARM и разумных MIP DSP могут быть достигнуты без размещения какого-либо модуля в ARM и без доступа к пикселю. Дополнительно, действительную фильтрацию выполняют в DSP.

В возможной конфигурации в внутрицикловом устройстве удаления блочности (DB) H.264 используют только фильтр, так как его создают аппаратными средствами (HW). Возможная конфигурация требует вычислений новой интенсивности границы (BS) дополнительно к FilterOffsetA и FilterOffsetB (фиг.2A), определенным в стандарте H.264.

Фиг.2А изображает общую блок-схему обычного внутрициклового устройства 50 удаления блочности. Существуют два вида операций фильтрации, определенных в стандарте H.264 для внутрициклового DB 50. Механизмом 60 фильтрации удаления блочности управляют для выполнения двух видов операций фильтрации. Одним видом фильтрации является операция сильной фильтрации (относится к BS=4) сильным фильтром 62 в механизме 60 фильтрации. Вторым видом фильтрации является операция слабой фильтрации (относится к BS=1, 2 или 3) слабым фильтром 64 в механизме 60 фильтрации удаления блочности. Когда BS равен 4, то применяют фильтрацию 4-ветвлениями или 5-ветвлениями на количестве до 6 пикселей яркости в окрестности края "фрагмента изображения фиксированного размера" посредством сильного фильтра 62. Два вида операций фильтрации также являются функцией FilterOffsetA 52 и FilterOffsetB 54. Внутрицикловое DB 50 принимает в качестве входных данных макроблоки MB, которые фильтруют механизмом 60 фильтрации удаления блочности описанным выше образом. Внутрицикловое DB 50 также содержит устройство 56 вычисления интенсивности границы, которое вычисляет интенсивность границы (BS) для МB. Механизм 60 фильтрации удаления блочности изображен пунктирной линией для обозначения той части внутрициклового DB 50, которая реализована аппаратными средствами. FilterOffsetA 52, FilterOffsetB 54 и устройство 56 вычисления интенсивности границы могут быть реализованы программируемым оборудованием, программным обеспечением или в их комбинации.

Для ясности, «фрагмент изображения фиксированного размера» определен здесь для предотвращения какого-либо недоразумения, вносимого различными определениями "блока" в различных стандартах. В этом раскрытии фрагмент изображения фиксированного размера определен как неперекрывающийся квадрат 4×4, а блок определен как неперекрывающийся квадрат 8×8.

Фиг.3 изображает местоположения пикселя для края фрагмента изображения фиксированного размера TE. С левой стороны от края фрагмента изображения фиксированного размера TE находятся пиксели P1-P4. С правой стороны от края фрагмента изображения фиксированного размера TE находятся пиксели P5-P8. Операция сильной фильтрации (BS=4) для края фрагмента изображения фиксированного размера яркости зарегистрирована в Таблице 1, приведенной ниже, где значение элемента таблицы указывает количество ветвлений фильтрации для пикселей P1-P8. Нулевое количество (0) обозначает отсутствие ветвлений фильтра и, соответственно, отсутствие фильтрации.

Для предотвращения размывания истинных краев в стандарте H.264 для принятия решения по фильтрации определены три условия проверки пространственной активности, определенные в уравнениях Eq.(1)-(3). В стандарте H.264 предполагается, что блочность имеет более слабую разность амплитуды, чем истинный край. Следовательно, реализуют больше ветвлений фильтрации на большем количестве пикселей, когда все три условия сохраняют справедливость, как сформулировано в уравнениях Eq.(1)-(3).

|P5-P4|<Thd1(qp, FilterOffsetA), (1)

|P4-P2|<Thd2(qp, FilterOffsetB), и (2)

|P7-P5|<Thd2(qp, FilterOffsetB), (3)

где P2, P4, P5 и P7 являются пикселями; qp является размером шага дискретизации; FilterOffsetA является предварительно определенной константой для установки Thd1; FilterOffsetB является предварительно определенной константой для установки Thd2; Thd1 является пороговым значением для соответствующих qp и FilterOffsetA; и Thd2 является пороговым значением для соответствующих qp и FilterOffsetB. Значения FilterOffsetA и FilterOffsetB влияют на Thd1 и Thd2 и, соответственно, влияют на пиксели, которые должны быть фильтрованы.

Для цветности при фильтрации 3-ветвлениями изменяют только два пикселя (например, P4 и P5).

Таблица 1 Операции фильтрации BS=4 для края фрагмента изображения фиксированного размера яркости
Условие Р 1 Р 2 Р 3 Р 4 Р 5 Р 6 Р 7 Р 8
(1) или (2)ложноИ (1) или (3)ложно 0 0 0 3 3 0 0 0
(1) и (3)(1) сохраняют(1) справедливость(2) ложно 0 0 0 3 5 4 5 0
(2) и (3) сохраняютсправедливость(1) ложно 0 5 4 5 3 0 0 0
(1) и (2) и (3)все истинны 0 5 4 5 5 4 5 0

Операция слабой фильтрации (относится к BS=1, 2 и 3) изменяет до 4 пикселей яркости и до 4 пикселей цветности для края фрагмента изображения фиксированного размера, как представлено в Таблице 2. В Таблице 2 символ Y обозначает фильтрацию и N обозначает отсутствие фильтрации.

Таблица 2 Операции фильтрации BS=1, 2 или 3 для края фрагмента изображения фиксированного размера
Условие Р 1 Р 2 Р 3 Р 4 Р 5 Р 6 Р 7 Р 8
Цветность илиоба (2) и (3)являются ложными N N N Y Y N N N
(3) сохраняетсправедливость(2) ложно N N N Y Y Y N N
(2) сохраняетсправедливость(3) ложно N N Y Y Y N N N
Оба (2) и (3)являются истинными N N Y Y Y Y N N

Фиг.4A изображает опорный кадр 100 макроблока с блочностью. Блочность обозначена заштрихованными квадратами 102А и 102B. Опорный фрагмент 104 изображения фиксированного размера изображен затененным в центре кадра 100.

Фиг.4B изображает следующий кадр 110 макроблока с унаследованной блочностью фиг.4A. Унаследованная блочность обозначена заштрихованными квадратами 102A' и 102B'. Фрагмент 104' изображения фиксированного размера изображен смещенным от центра кадра 110. Унаследованная блочность также смещена.

Фиг.5А изображает возможный вариант унаследованной блочности в изображении 150A. Область, обозначенная как 155A, 155B и 155C, представляет области унаследованной блочности, созданные кодированием видеоинформации и изображения на основе блоков.

Фиг.2B изображает общую блок-схему декодера 65 с устройством 70 постциклового удаления искажения/блочности (DAB), совместно использующих механизм 60A внутрицикловой фильтрации удаления блочности. Устройство 70 DAB содержит блок 200 постциклового DAB, который осуществляет интерфейс с механизмом 60А внутрицикловой фильтрации удаления блочности и принудительно вызывает механизм 60А внутрицикловой фильтрации удаления блочности для универсальной корректировки блочности. В основном блок 200 постциклового DAB обеспечивает схему вычисления новой BS для управления механизмом 60A фильтрации, как будет более подробно описано ниже.

В иллюстративных целях, для декодирования входного сигнала декодер 65 содержит участок программируемого оборудования, программного обеспечения или их комбинации и участок 66 аппаратных средств декодера. Участок 66 аппаратных средств декодера для декодера 65 содержит модуль 67 компенсации движения и модуль 69 декодирования текстуры. Модуль 67 компенсации движения принимает поток данных в качестве входных данных из анализатора 75 битов и принимает опорный кадр из механизма 60A внутрицикловой фильтрации удаления блочности при операциях внутрицикловой фильтрации. Модуль 67 компенсации движения также формирует выходной сигнал, который передают в модуль 69 декодирования структуры. Модуль 69 декодирования структуры, в свою очередь, формирует выходной сигнал, который передают в механизм 60A внутрицикловой фильтрации удаления блочности. Механизм 60А внутрицикловой фильтрации удаления блочности создает фильтрованные выходные данные, которые содержат опорный кадр для ввода в модуль 67 компенсации движения и фильтрованные выходные данные (далее упомянутые, как "выходные данные внутрицикловой фильтрации"). Пунктирная линия, обозначенная как 72, содержит программное обеспечение, программируемое оборудование или их комбинацию для выполнения операций декодирования в соответствии с процедурой кодека.

При операциях постцикловой фильтрации DAB устройство 70 постциклового удаления искажения/блочности принудительно вызывает механизм 60А внутрицикловой фильтрации удаления блочности, причем выходные данные внутрицикловой фильтрации циклически подают обратно через механизм 60А внутрицикловой фильтрации удаления блочности для операций постцикловой фильтрации под управлением блока 200 постциклового DAB, описанного подробно далее.

Постцикловая фильтрация происходит после декодерирования (декодера), и фильтрованные кадры не используют в качестве опорных кадров для декодера 65. Так как постцикловая фильтрация не определена в стандартах кодека, каждый может произвольно спроектировать свой собственный фильтр. Если операции внутрицикловой фильтрации являются частью декодера 65, то такие операции должны быть полностью согласованы с стандартами кодека.

Фиг.2C изображает общую блок-схему декодера 65' с устройством 70' постциклового удаления искажения/блочности (DAB). Некоторые кодеки, такие как MPEG4 и H263P0, не поддерживают внутрициклового удаления блочности. В некоторых случаях, участок 66' аппаратных средств декодера остается оборудованным механизмами 60В внутрицикловой фильтрации удаления блочности. Соответственно, в этом случае механизм 60В внутрицикловой фильтрации удаления блочности декодера 65' не используют для выполнения внутрициклового удаления блочности. Вместо этого механизм 60В внутрицикловой фильтрации удаления блочности может быть установлен бездействующим. Устройство 70' DAB содержит блок 200 постциклового DAB, который осуществляет интерфейс с механизмом 60В внутрицикловой фильтрации удаления блочности и принудительно вызывает механизм 60В внутрицикловой фильтрации удаления блочности для универсальной корректировки блочности. В основном блок 200 постциклового DAB обеспечивает схему вычисления новой BS для управления механизмом 60В фильтрации.

В иллюстративных целях, для декодирования входного сигнала декодер 65' содержит участок программируемого оборудования, программного обеспечения или их комбинации и участок 66' аппаратных средств декодера. Участок 66' аппаратных средств декодера для декодера 65' содержит модуль 67' компенсации движения и модуль 69' декодирования текстуры. Модуль 67' компенсации движения принимает поток данных в качестве входных данных из анализатора 75 битов и принимает опорный кадр из модуля 69' декодирования текстуры при операциях декодирования. Модуль 67' компенсации движения также формирует выходной сигнал, который передают в модуль 69' декодирования текстуры. Модуль 69' декодирования текстуры формирует декодированный выходной сигнал. Пунктирная линия, обозначенная как 72', содержит программное обеспечение, программируемое оборудование или их комбинацию для выполнения операций декодирования в соответствии с процедурой кодека без внутрицикловой фильтрации.

При операциях фильтрации постциклового DAB устройство 70' постциклового удаления искажения/блочности (DAB) принудительно вызывает механизм 60В внутрицикловой фильтрации удаления блочности, причем декодированный выходной сигнал модуля 69' декодирования текстуры циклически подают обратно через механизм 60В внутрицикловой фильтрации удаления блочности для операций постцикловой фильтрации под управлением блока 200 постциклового DAB.

Фиг.5B изображает изображение 150B без унаследованной блочности с использованием схемы вычисления новой BS из устройства 70 постциклового DAB.

Фиг.6 изображает блок 200 постциклового удаления искажения/блочности (DAB). Блок 200 DAB содержит модуль 202 инициализации постциклового DAB, модуль 204 изменения силы постциклового DAB, модуль 206 изменения параметров постциклового DAB и модуль 208 процедуры постциклового DAB. Блок 200 постциклового DAB может быть автономным блоком. Модуль 202 инициализации постциклового DAB, модуль 204 изменения силы постциклового DAB, модуль 206 изменения параметров постциклового DAB и модуль 208 процедуры постциклового DAB обеспечивают четыре программных интерфейса приложения (API) для внешних пользователей.

Фиг.7 изображает модуль 202 инициализации постциклового DAB. Модуль 202 инициализации постциклового DAB в основном требуется только один раз вначале, или при инсталляции. Модуль 202 инициализации постциклового DAB имеет четыре входных параметра 212. Входные параметры 212 включают в себя кодек, ширину, высоту и силу_DB. Модуль 202 инициализации постциклового DAB также содержит инициализатор 220 для инициализации операций для блока 200 постциклового удаления искажения/блочности (DAB) и устройства 70 DAB. На основе вида введенного кодека модуль 202 инициализации постциклового DAB инициализирует операции для определенного кодека, например, без ограничения, кодек с внутрицикловым DB 50 или без внутрициклового DB и т.д. Это обеспечивает возможность универсального применения блока 200 постциклового удаления искажения/блочности (DAB) к различным декодерам 65 или 65'.

Фиг.8 изображает модуль 204 изменения силы постциклового DAB. Модуль 204 изменения силы постциклового DAB обеспечивает возможность изменения пользователями интенсивности границы (BS), используемой блоком 200 постциклового DAB для управления операциями механизма 60А или 60В внутрицикловой фильтрации удаления блочности для постцикловых операций. Модуль 204 изменения силы постциклового DAB содержит интерфейс 232 для силы DB для изменения post_db_strength и входных параметров 236 DAB, таких как пороговое значение qp и т.д. Дополнительно, соответственно изменяются параметры постциклового DAB (фиг.9). Модуль 204 изменения силы постциклового DAB имеет множество входных параметров 238, которые содержат post_db_strength, ширину и высоту.

Фиг.9 изображает модуль 206 изменения параметров DAB. Модуль 206 изменения параметров DAB является дополнительным вариантом изменения параметров постциклового DAB. Модуль 230 изменения интенсивности границы постциклового DAB получает параметры DAB посредством post_db_strength. Однако модуль 240 изменения параметров постциклового DAB обеспечивает возможность установки параметров DAB непосредственно пользователями.

Модуль 204 изменения параметров постциклового DAB содержит интерфейс 242 установки параметров постциклового DAB для обеспечения установки множества параметров DAB. Множество параметров DAB содержит множество пороговых значений qp. Пороговые значения qp включают в себя intra_mb_qp_thd_0, inter_mb_qp_thd_boundary_0, inter_mb_qp_thd_inside_0, inter_mb_qp_thd_boundary_4, inter_mb_qp_thd_inside_4. Дополнительные параметры включают в себя qp_jump_for_not_coded_block и num_not_coded_blocks_thd. И модуль 204 изменения силы постциклового DAB, и модуль 206 изменения параметров постциклового DAB, факультативно, обозначены пунктирными прямоугольниками на фиг.6. Зависимость между пороговыми значениями qp и силой фильтрации изображена на фиг.15.

Пороговые значения qp являются настраиваемыми. Один параметр "post_db_strength" управляет всеми пятью пороговыми значениями qp. Малый параметр post_db_strength ассоциирован с бóльшими пороговыми значениями qp, которые поднимают планку для осуществления фильтрации. В возможной конфигурации, параметр post_db_strength находится в диапазоне от 0 до 20, и значением по умолчанию является 14.

Фиг.10 изображает модуль 208 процедуры постциклового DAB. Модуль 208 процедуры постциклового DAB выполняет операции постцикловой фильтрации DAB с использованием существующего механизма 60А внутрицикловой фильтрации удаления блочности. Модуль 208 процедуры постциклового DAB содержит вычислитель 262 интенсивности границы, которое вычисляет интенсивность границы (BS) на основе указанных ниже правил, некоторые из которых нарушают стандарт H.264. Модуль 208 процедуры постциклового DAB также содержит программатор 264 регистра HW и вызывающее средство 266 внутрициклового DB HW, которое вызывается один раз на макроблок (МB).

Входные параметры для модуля 208 процедуры постциклового DAB содержат, inter_mb, qp, mb_num_x (номер MB в горизонтальном направлении), mb_num_y (номер MB в вертикальном направлении), not_coded (пропущенный) и CBP (шаблон кодированного блока). Параметр not_coded (пропущенный) является флажком, указывающим, кодирован ли МB. Если флажок установлен, то МB не кодирован. Следовательно, поток битов не переносит вектор движения и информацию текстуры. МB восстанавливают посредством компенсации движения с вектором движения = вектору движения, заданному по умолчанию. Следует отметить, что вектор движения, заданный по умолчанию, определяют по-разному для разных кодеков. Параметр «шаблон кодированного блока CPB» представляет собой набор флажков, где каждый флажок используют для указания, кодирован ли соответствующий блок в MB. Значение 0 обозначает, что соответствующий блок (следует отметить, что здесь единицей скорее является блок, чем МB) не кодирован, и, соответственно, в потоке битов отсутствует информация текстуры.

Вычисление BS

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

Используют новую совокупность правил для процесса решения относительно BS на основе параметров кодирования (Вид МB, qp и т.д.). Как упомянуто ранее, интенсивность границы (BS) непосредственно связана с силой фильтрации. Когда BS=4, используют операцию сильной фильтрации, когда BS=1, 2 или 3, используют операцию слабой фильтрации, и когда BS=0, операцию фильтрации не используют. В возможной конфигурации используют три интенсивности границы, которые включают в себя 4, 2 или 0.

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

Фиг.11 - общая блок-схема последовательности операций адаптируемого процесса 300 постциклового DAB. В возможной конфигурации BS определяют на основе четырех параметров кодирования: вид внутренних/промежуточных, qp (размер шага дискретизации), пропущенный МB и CBP. Адаптируемый процесс 300 постциклового DAB начинается с блока 302, где делают определение, является ли внутренним МB. Если определяют, что "ДА", то за блоком 302 следует блок 304. В блоке 304 выполняют изображенную на фиг.12 процедуру 400 постциклового DAB внутреннего MB. Блок 304 заканчивает процесс 300.

На фиг.11 в иллюстративных целях изображен блок 306, который, в общем, обозначает, что делают определение, является ли промежуточным МB. Если текущий МB является промежуточным МB, то в блоке 308 делают определение, является ли промежуточный МВ пропущенным МB. Если в блоке 308 определяют, что "Нет", то за блоком 308 следует блок 310, где делают определение, является ли МB (шаблоном) CBP. Если в обоих блоках, 308 и 310, принимают решение, что "Нет", что означает, что МВ не является ни пропущенным МВ, ни CBP МВ, то процесс 300 переходит к процедуре 500 постциклового DAB для промежуточного MB, как изображено на фиг.17. Однако если в блоке 308 или блоке 310 принимают решение, что "Да", то процесс 300 уменьшает пороговые значения qp и FilterOffsetA, и FilterOffsetB, соответственно, перед выполнением процедуры 500 постциклового DAB для промежуточного MB, которая изображена на фиг.17.

Фиг.12 - общая блок-схема последовательности операций процесса 400 постциклового DAB для внутреннего МB (упрощенный вариант). Процесс 400 будет описан в комбинации с фиг.13 и фиг.14. Фиг.13 изображает зависимость силы qp - фильтрация для внутренних МB. Фиг.14 изображает возможные местоположения края фрагмента изображения фиксированного размера в блоке 450 8x8.

Для внутренних MB решение относительно интенсивности границы (BS) принимают исключительно на основе размера шага дискретизации (qp), так как во внутренних MB отсутствуют случаи, подобные пропущенным МВ и 0-м блокам CPB. Дополнительно, так как внутренние MB не имеют проблем унаследованной блочности, операции фильтрации DAB должны применяться только на пикселях в окрестности границы блока 8x8, как лучше всего заметно на фиг.14.

Процедура 400 постциклового DAB для внутренних MB начинается с блока 402, где определяют qp. За блоком 402 следует блок 404, где делают определение, является ли qp меньшим порогового значения THD, где THD является intra_mb_qp_thd на фиг.13. Если в блоке 404 определяют, что "Да", то в блоке 406 BS устанавливают в ноль (0). Если в блоке 404 определяют, что "Нет", то в блоке 408 определяют края фрагмента изображения фиксированного размера. Блок 408 может быть размещен перед блоком 404. За блоком 408 следует блок 410, где для каждого края фрагмента изображения фиксированного размера делают определение, находится ли край фрагмента изображения фиксированного размера на границе блока. Если в блоке 410 для края фрагмента изображения фиксированного размера определяют, что "Да", то в блоке 414 BS для этого края фрагмента изображения фиксированного размера устанавливают в 4. В блоке 412, для тех краев фрагмента изображения фиксированного размера, которые не расположены на границе блока, BS устанавливают в ноль (0). После блоков 412 и 414 осуществляется переход в блок 420, где имеет место фильтрация с использованием механизма 60А внутрицикловой фильтрации удаления блочности с использованием вычисленного BS. Блок 420 заканчивает процедуру 400. В иллюстративных целях изображен блок 406, после которого осуществляется переход в блок 420 для фильтрации.

Согласно фиг.14 изображен возможный блок 450 8×8. В иллюстративных целях, текущий МВ имеет края фрагмента изображения фиксированного размера V0, V1, H0, H1. Следует отметить, что V0 расположен на границе блока между текущим блоком и блоком слева; H0 расположен на границе блока между текущим блоком и блоком сверху; V1 удален на четыре выборки от V0 в горизонтальном направлении; и H1 удален на четыре выборки от H0 в вертикальном направлении.

Вычисление правила BS для внутренних MB изображено для определенного возможного варианта фиг.14. Соответственно, значения в Таблице 3 должны изменяться в зависимости от местоположения краев фрагментов изображения фиксированного размера.

Таблица 3 Вычисление BS для внутренних MB
BS(V 0 ) BS(V 1 ) BS(H 0 ) BS(H 1 )
qp<intra_mb_qp_thd 0 0 0 0
qp<intra_mb_qp_thd 4 0 4 0

Промежуточные МВ

Унаследованная блочность может стать проблемой для промежуточных МВ. Соответственно, устройство 70 постциклового DAB в основном корректирует унаследованную блочность посредством включения механизма 60А внутрицикловой фильтрации удаления блочности для краев фрагмента изображения фиксированного размера, расположенных не на границе блока. В частности, решение относительно BS края фрагмента изображения фиксированного размера принимают на основе следующего: текущего qp, текущег