Способ сигнальной адаптивной фильтрации, сигнальный адаптивный фильтр и машинно-считываемый носитель (варианты) для хранения их программ

Реферат

 

Изобретения относятся к вычислительной технике и могут быть использованы для обработки изображения. Техническим результатом является повышение качества изображения. Способы основаны на том, что вырабатывается информация блокирования для уменьшения эффекта блокирования и информация окантовки для снижения шума окантовки из коэффициентов заранее заданных пикселей граничных областей блока данных. При этом осуществляется адаптивная фильтрация данных изображения, проходящих через инверсное квантование и инверсное дискретное косинусное преобразование в соответствии с выработанной информацией блокирования и информацией окантовки. 3 с. и 14 з.п.ф-лы, 7 ил.

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

Известный уровень техники В общем случае, стандарты кодирования изображений, такие как стандарты MPEG Международной организации по стандартизации (ISO) и Н.263, рекомендованные Международным союзом электросвязи (ITU), принимают основанное на блоках оценивание движения и блоки дискретного косинусного преобразования (ДКП) (DCT). Когда изображение сжато очень сильно, основанное на блоках кодирование может вызвать хорошо известный эффект блокирования. Обычным эффектом блокирования является шум сетки в однородной области, в которой соседние пиксели имеют относительно одинаковые значения пикселей. Другим эффектом блокирования является лестничный шум, который имеет форму лестницы и вырабатывается вдоль краев изображения. Кроме того, шум окантовки является обычным Гиббсовым явлением, появляющимся из-за усечения, когда коэффициенты ДКП квантуются так, чтобы сжать изображение как можно сильнее.

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

Для того, чтобы уменьшить эффект блокирования и шум окантовки, появляющиеся при выполнении основанного на блоках кодирования, было предложено несколько способов. В соответствии с кодированием по стандарту Н.261, для снижения эффекта блокирования в качестве фильтра в цепи обратной связи используется простой фильтр нижних частот (ФНЧ) 3х3 [Video Codec for audiovisual Services at Pх62 kbit/s. CCITT Recomendation H.261, December 14, 1990 (Видео кодек для аудиовизуальных услуг на Px62 Кбит/с. - Рекомендация МККТТ H.261, 14 декабря 1990)]. Кроме того, простой краевой фильтр в цепи обратной связи был предложен для того, чтобы уменьшить эффект блокирования и "комариный" шум [G. Bjorntegaard, "A simple Edge Loop Filter to Reduce Blocking and Mosquito Noise", ISO/IEC JTC/Sc29/WG11 MPEG96/0617, January, 1996 (Простой краевой фильтр в цепи обратной связи для снижения эффекта блокирования и "комариного" шума]. Краевой фильтр в цепи обратной связи производит линейные значения двух пикселей, соседних с краем блока, и заменяет значения двух пикселей линеаризованными значениями. Такой краевой фильтр в цепи обратной связи может уменьшить эффект блокирования, но не шум окантовки. Для снижения шума окантовки был предложен нелинейный фильтр с использованием двоичного индекса [Y. Itoh, "Detail Preserving Nonlinear Filter using Binary Index", ISO/IEC JTC/SC29/WG11 MPEG95/0357, November, 1995 (Предохраняющий детали нелинейный фильтр с использованием двоичного индекса)]. Однако нелинейный фильтр не может уменьшить эффект блокирования.

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

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

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

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

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

Предпочтительно, в целях снижения эффекта блокирования, в операции (b) горизонтальная (или вертикальная) фильтрация выполняется с помощью взвешенного фильтра, имеющего заранее заданное взвешенное значение, когда информация горизонтального (или вертикального) блокирования для блока равна "1" и информация окантовки равна "0", и когда информация горизонтального (или вертикального) блокирования для блока не равна "1" или информация окантовки не равна "0", сравниваются абсолютное значение разности между смежными пикселями и значение Q, используемое как делимое для квантования блока, а затем выполняется фильтрация с заранее заданным значением согласно результату сравнения.

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

Изобретение может быть воплощено в цифровом компьютере общего назначения, который выполняет программы с используемого в компьютере носителя, включая, но не ограничиваясь такими носителями данных, как магнитные носители данных (например, ПЗУ, гибкие диски, жесткие диски и т.п.), оптически считываемые носители (например, CD-ROM, DVD и т.п.) и несущие колебания (например, передачи по Интернету). Следовательно, настоящее изобретение может быть воплощено как используемый в компьютере носитель.

В соответствии еще с одним аспектом настоящего изобретения, предложен машинно-считываемый носитель, имеющий воплощенную на нем компьютерную программу для сигнальной адаптивной фильтрации, способной снизить эффект блокирования и шум окантовки данных изображения, когда кадр формируется из блоков заранее заданного размера, где сигнальная адаптивная фильтрация содержит следующие операции: (а) выработка информации блокирования для снижения эффекта блокирования и информации окантовки для снижения шума окантовки, из коэффициентов заранее заданных пикселей верхней и левой граничных областей блока данных, когда кадр, получаемый путем разложения данных изображения в потоке двоичных разрядов для инверсного квантования, является внутренним кадром; (b) установка информации блокирования и информации окантовки предыдущего кадра в соответствии с вектором движения как информации блокирования и информации окантовки текущего кадра, если кадр является внутренним кадром, и установка информации окантовки на "1", что представляет требование фильтрации для данных изображения, если существует остаточный сигнал инверсно квантованного текущего блока, и (с) адаптивная фильтрация данных изображения, проходящих через основанные на блоках инверсное квантование и инверсное дискретное косинусное преобразование, в соответствии с выработанными информацией блокирования и информацией окантовки.

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

Краткое описание чертежей Фиг. 1 является блок-схемой сигнального адаптивного фильтра для снижения эффекта блокирования и шума окантовки в соответствии с настоящим изобретением.

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

Фиг.3 показывает инверсно квантованный блок, имеющий 8х8 пикселей.

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

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

Фиг.6 показывает расположение пикселей, смежных с краем кадра, для иллюстрации фильтрации для снижения эффекта блокирования.

Фиг.7 показывает местоположения пикселей, подлежащих обработке в текущем блоке.

Наилучшее выполнение изобретения На фиг.1 сигнальный адаптивный фильтр для снижения эффекта блокирования и шума окантовки в соответствии с настоящим изобретением включает в себя блок 120 проверки флага режима, генератор 130 информации о внутрикадровой фильтрации, генератор 140 информации о межкадровой фильтрации и блок 150 адаптивного фильтра. Когда данные изображения в потоке двоичных разрядов раскладываются для инверсного квантования, блок 120 проверки флага режима проверяет, является ли кадр внутренним кадром или промежуточным кадром. Генератор 130 информации о внутри-кадровой фильтрации вырабатывает информацию блокирования для снижения эффекта блокирования и информацию окантовки из коэффициентов заранее заданных пикселей верхней и левой граничных областей блока данных, когда кадр определен блоком 120 проверки флага режима как внутренний кадр. Когда блок 120 проверки флага режима определяет кадр как промежуточный кадр, генератор 140 информации о межкадровой фильтрации вырабатывает информацию блокирования и информацию окантовки предыдущего кадра в соответствии с вектором движения как информацию блокирования и информацию окантовки текущего кадра. Если остаточный сигнал инверсно квантованного текущего блока существует, информация окантовки устанавливается на "1". Блок 150 адаптивного фильтра адаптивно фильтрует данные изображения, которые прошли через инверсный квантователь 100 (К-1) и инверсный дискретный косинусный преобразователь (ДКП-1) 110 в соответствии с информацией блокирования и информацией окантовки, выработанными генератором 130 информации о внутрикадровой фильтрации и генератором 140 информации о межкадровой фильтрации.

Теперь будет описан способ сигнальной адаптивной фильтрации в соответствии с предпочтительным выполнением настоящего изобретения. Фиг.2 является блок-схемой алгоритма, иллюстрирующей способ сигнальной адаптивной фильтрации в соответствии с настоящим изобретением. Данные изображения в потоке двоичных разрядов, закодированные кодером, декодируются декодером для воспроизведения. Для окончания этого, данные в потоке разрядов раскладываются и затем инверсно квантуются инверсным квантователем 100 (операция 200). Здесь данные изображения состоят из множества кадров, а каждый кадр состоит из множества блоков. Фиг.3 показывает инверсно квантованный блок, имеющий 8х8 пикселей, которые образуют кадр.

Перед фильтрацией данных кадра с инверсным дискретным косинусным преобразованием (ИДКП) проверяется флаг для выдачи определения того, является ли кадр внутренним кадром или промежуточным кадром (операция 210). Если кадр является внутренним кадром (операция 220), вырабатывается информация, используемая для внутрикадровой фильтрации (операция 230). Если кадр является промежуточным кадром, вырабатывается информация, используемая для межкадровой фильтрации (операция 240). Затем данные кадра, которые прошли через ИДКП 110, адаптивно фильтруются в соответствии с выработанной информацией фильтрации, устраняя тем самым эффект блокирования и шум окантовки (операция 250).

Фиг. 4 является блок-схемой алгоритма, подробно иллюстрирующей операцию выработки информации, используемой для фильтрации внутреннего кадра. Как показано на фиг.4, если кадр определен блоком 120 проверки флага режима как внутренний кадр, проверяется коэффициент пикселя А по фиг.3 (операция 400). Если коэффициент пикселя А не равен "0", информация горизонтального блокирования (ИГБ) и информация вертикального блокирования (ИВБ) устанавливаются на "1" (операция 410). Если любой коэффициент пикселей (8 пикселей, включая пиксели А и В), принадлежащих верхней граничной области 300 блока, показанного на фиг. 3, не равен "0" (операция 420), ИВБ устанавливается на "1" (операция 430). Иначе ИВБ устанавливается на "0" (операция 440). Также, если любой коэффициент пикселей (8 пикселей, включая пиксели А и С), принадлежащих левой граничной области 310 блока, показанного на фиг.3, не равен "0" (операция 450), ИГБ устанавливается на "1" (операция 460). Иначе ИГБ устанавливается на "0" (операция 470).

После того, как ИГБ и ИВБ установлены, вырабатывается информация окантовки (ИО), используемая для фильтрации шума окантовки. То есть, если любой коэффициент пикселей кроме пикселей А, В и С блока, показанного на фиг.3, не равен "0" (операция 480), ИО устанавливается на "1" (операция 490). Иначе ИО устанавливается на "0" (операция 470). Здесь, ИГБ и ИВБ установлены на "1" только тогда, когда коэффициент пикселя А не равен "0" (операция 400). Однако, путем установки ИГБ и ИВБ на "1", даже если все коэффициенты пикселей А, В и С не равны "0", благоприятный эффект до некоторой степени может быть получен, когда сигнальная адаптивная фильтрация выполняется позднее.

Фиг. 5 является блок-схемой алгоритма, иллюстрирующей операцию выработки информации, используемой для фильтрации промежуточного кадра. Если кадр определен блоком 120 проверки флага режима как промежуточный кадр, ИГБ, ИВБ и ИО внутреннего кадра преобразуются в ИГБ, ИВБ и ИО промежуточного кадра в соответствии с вектором движения (операция 500). Также, если остаточный сигнал существует после компенсации движения (операция 510), ИО обновляется (операция 520).

Когда информация блокирования и информация окантовки для фильтрации вырабатываются как описано выше, фильтрация производится адаптивно в соответствии с информацией. Во-первых, будет описан способ фильтрации для снижения эффекта блокирования. Фильтрация для снижения эффекта блокирования классифицируется либо как вертикальная фильтрация, либо как горизонтальная фильтрация. Здесь будет пояснена горизонтальная фильтрация. Фиг.6 показывает расположение пикселей, смежных с границей кадра, для иллюстрации фильтрации для снижения эффекта блокирования. Выполняется определение того, равны ли "0" ИГБ и ИО блоков I и J на фиг.6. Если ИГБ и ИО блоков I и J на фиг.6 равны "0", взвешенная фильтрация выполняется для пикселей р1, р2, р3, р4, р5 и р6 на фиг. 6 с помощью 7-отводного (1, 1, 1, 2, 1, 1, 1) фильтра нижних частот (ФНЧ).

Если ИГБ или ИО блоков I и J на фиг.6, не равны "0", фильтрация выполняется для пикселей р2, р3, р4 и р5 с помощью следующего алгоритма: р4=р4-С; Если (ABS(d)(Q) { р4=р4-(d/2); р3=р3+(d/2); d=р5-р4; если (ABS(d)(Q); р5=р5-(d/4); d=р3-р2; если (ABS(d)(Q); р2-р2+(d/4); } иначе { если (ABS(d/2)(2Q) Если (d>0) { р4=р4-(Q-ABS(d/2)); р3=р3+(Q-ABS(d/2)); } иначе { р4=р4+(Q-ABS(d/2)); р3=р3+(Q-ABS(d/2)); } d=р5-р4; если (ABS(d)(Q); р5=р5-(d/4); d=р3-р2; если (ABS(d)(Q); р2=р2-(d/4); } } В вышеописанном алгоритме ABS представляет абсолютное значение, a Q представляет делимое, используемое, когда квантуются блоки, образующие кадр.

Подробнее, абсолютное значение (ABS(d)) разности (а) между пикселями р4 и р3 равно или меньше Q, текущее пиксельное значение пикселя р4 устанавливается путем вычитания d/2 из текущего пиксельного значения, и текущее пиксельное значение пикселя р3 устанавливается путем прибавления d/2 в текущему пиксельному значению. Кроме того, абсолютное значение (ABS(d)) разности (d) между пикселями р5 и р4 равно или меньше Q, текущее пиксельное значение пикселей устанавливается путем вычитания d/4 из текущего пиксельного значения. Кроме того, если абсолютное значение (ABS(d)) разности (d) между пикселями р3 и р2 равно или меньше Q, текущее пиксельное значение пикселя р2 устанавливается путем вычитания d/4 из текущего пиксельного значения. Аналогично вышеописанному, пиксельные значения пикселей р2, р3, р4 и р5 устанавливаются в соответствии с алгоритмом, отличным от вышеописанного, который очевиден для специалиста, так что его объяснение пропущено. Кроме того, вертикальная фильтрация выполняется по принципу, аналогичному принципу горизонтальной фильтрации.

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

Затем абсолютное значение разности между одним обработанным градиентным оператором пиксельным значением и значением соседнего пикселя, и значение Q, используемое как делимое при квантовании блока, используются для выработки двоичной краевой карты, представляющей края каждого пикселя. Здесь блок имеет 8х8 пикселей, и размер двоичной карты краев представляется двумерным матричным краем [10][10], как показано на фиг.7.

Для выработки двоичной краевой карты выполняются обнаружение вертикальных краев и обнаружение горизонтальных краев. Алгоритмы для обнаружения вертикальных краев и горизонтальных краев таковы: /"Обнаружение вертикальных краев"/ А1=ABS(PrtImage[0]-Prtlmage[1]); А2=ABS(Prtlmage[0]-Prtlmage[-1]); если Край[m][n]=1; /"край"/ иначе {/"обнаружение горизонтальных краев"/ А'1=ABS(Prtlmage[0]-Prtlmage[ширина]); А'2=ABS(Prtlmage[0]-Prtlmage[-ширина]); если Край [m][n]=1; /"край"/ } Для обнаружения вертикальных краев вычисляется абсолютное значение (А1) результатов применения градиентного оператора к пикселю (Prtlmage[0]), по этому значению проводится определение того, находится ли этот пиксель на краю блока или нет, и правому пикселю (Prtlmage[1]) для пикселя (Prtlmage[0] ). Затем вычисляется абсолютное значение (А2) результатов применения градиентного оператора к пикселю (Prtlmage[0]) и левому пикселю (Prtlmage[-1]) для пикселя (Prtlmage[0] ). Таким образом, определение того, находится ли пиксель на краю, выполняется в зависимости от логических значений, полученных после того, как абсолютные значения А1 и А2 сравниваются с заранее заданным пороговым значением Th, и затем вышеописанный процесс выполняется для всех пикселей блока. Обнаружение вертикальных краев выполняется в соответствии с логической формулой Если эта логическая формула верна, пиксель определяется как вертикальный край. Иначе пиксель определяется как не являющийся вертикальным краем.

Обнаружение горизонтальных краев выполняется в соответствии с аналогичным принципом обнаружения горизонтальных краев. Во-первых, вычисляется абсолютное значение (А'1) разности между обработанными градиентным оператором результатами пикселя (Prtlmage[0]), по которому проводится определение того, находится ли этот пиксель на краю блока или нет, и нижним пикселем (Prtlmage[ширина]) этого пикселя (Prtlmage[0]). Затем вычисляется абсолютное значение (А'2) разности между обработанными градиентным оператором результатами пикселя (Prtlmage[0]) и верхним пикселем (Prtlmaget-ширина]) пикселя (Prtlmage[0] ). Таким образом, определение того, находится ли пиксель на краю, выполняется в зависимости от логических значений, полученных после того, как абсолютные значения А'1 и А'2 сравниваются с заранее заданным пороговым значением Th, и затем вышеописанный процесс выполняется для всех пикселей блока. Обнаружение горизонтальных краев выполняется в соответствии с логической формулой . Если эта логическая формула верна, пиксель определяется как горизонтальный край. Иначе этот пиксель определяется как не являющийся горизонтальным краем. Здесь "&&" представляют операцию Логическое И, а "" представляют операцию Логическое ИЛИ.

Далее фильтрация выполняется путем применения заранее заданного фильтрового окна к выработанной двоичной карте краев. Фильтрация может выполняться обычным способом фильтрации путем применения фильтрового окна, имеющего заранее заданный размер. Однако в данном выполнении фильтрация не выполняется, если центральный пиксель фильтрового окна является краем, и фильтрация выполняется, если центральный пиксель фильтрового окна не является краем. Фильтровое окно может быть общим фильтровым окном. В этом выполнении используется четырехсвязное фильтровое окно, имеющее пять пикселей, расположенных в форме креста с одним центральным пикселем, как показано на фиг.7. На фиг. 7 Х представляет краевой пиксель, а области, отличные от областей с "X", представляют не краевые пиксели.

Кроме того, если фильтровое окно не имеет краевого пикселя, проводится обычная фильтрация, тогда как если краевой пиксель существует, проводится взвешенная фильтрация. Пример взвешенной фильтрации показан на фиг.7. На фиг.7 "<" представляет сдвиг влево, ">" представляет сдвиг вправо.

Изобретение может быть воплощено в цифровом компьютере общего назначения, который выполняет программы с используемого в компьютере носителя, включая, но не ограничиваясь, такими носителями данных, как магнитные носители данных (например, ПЗУ, гибкие диски, жесткие диски и т.п.), оптически считываемые носители (например, CD-ROM, DVD и т.п.) и несущие колебаний (например, передачи по Интернету). Следовательно, настоящее изобретение может быть воплощено как используемый в компьютере носитель с воплощенным на нем компьютерно-считываемым программным кодовым блоком для сигнальной адаптивной фильтрации, причем компьютерно-считываемое программное кодовое средство содержит: компьютерно-считываемое программное кодовое средство для того, чтобы заставить компьютер воздействовать на выработку информации блокирования для снижения эффекта блокирования и информации окантовки для снижения шума окантовки из коэффициентов заранее заданных пикселей верхней и левой краевых областей блока данных, когда кадр, полученный путем разложения данных изображения в потоке двоичных разрядов для инверсного квантования, является внутренним кадром; компьютерно-считываемое программное кодовое средство для того, чтобы заставить компьютер воздействовать на установку информации блокирования и информации окантовки предыдущего кадра в соответствии с вектором движения как информации блокирования и информации окантовки текущего кадра, если кадр является промежуточным кадром, и для установки информации окантовки на "1", что представляет требование фильтрации для данных изображения, если существует остаточный сигнал инверсно квантованного текущего блока; и компьютерно-считываемое программное кодовое средство для того, чтобы заставить компьютер воздействовать на адаптивную фильтрацию данных изображения, проходящих через основанные на блоке инверсное квантование и инверсное дискретное косинусное преобразование, в соответствии, например, с выработанными информацией блокирования и информацией окантовки. Функциональная программа, код и сегменты кода, используемые для воплощения настоящего изобретения, могут быть получены специалистом по компьютерному программированию из описания изобретения, содержащегося здесь.

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

Формула изобретения

1. Способ сигнальной адаптивной фильтрации, способный снизить эффект блокирования и шум окантовки в данных изображения, когда кадр формируется из блоков заранее заданного размера, содержащий следующие операции, на которых: (a) устанавливают информацию горизонтального блокирования равной "1", что означает требование фильтрации для данных изображения, когда лишь коэффициент пикселя А, расположенного в верхнем левом углу блока, не равен "0", или любой коэффициент для пикселей левой граничной области блока не равен "0", и устанавливают информацию вертикального блокирования равной "1", что означает требование фильтрации для данных изображения, когда лишь коэффициент пикселя А не равен "0" или любой коэффициент для пикселей верхней граничной области блока не равен "0", и устанавливают информацию окантовки равной "1", что означает требование фильтрации для данных изображения, когда любой коэффициент пикселей, отличающихся от пикселей А, В, расположенного справа от пикселя А, и С, расположенного ниже пикселя А, не равен "0", когда кадр, полученный путем разложения данных изображения в потоке двоичных разрядов для инверсного квантования, является внутренним кадром, и (b) обеспечивают адаптивную фильтрацию данных изображения в соответствии со сформированными информацией блокирования и информацией окантовки.

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

3. Способ по п.2, в котором в целях уменьшения эффекта блокирования в операции (b) горизонтальную фильтрацию выполняют с помощью взвешенного фильтра, имеющего заранее заданное взвешенное значение, когда информация горизонтального блокирования блока равна "1" и информация окантовки равна "0", и когда информация горизонтального блокирования блока равна "1" или информация окантовки не равна "0", сравнивают абсолютное значение разности между смежными пикселями и значение Q, используемое как делимое для квантования блока, и затем выполняют фильтрацию с заранее заданным значением в соответствии с результатом сравнения.

4. Способ по п.2, в котором в целях уменьшения эффекта блокирования в операции (b) вертикальную фильтрацию выполняют с помощью взвешенного фильтра, имеющего заранее заданное взвешенное значение, когда информация вертикального блокирования блока равна "1" и информация окантовки равна "0", и когда информация вертикального блокирования блока равна "1" или информация окантовки не равна "0", сравнивают абсолютное значение разности между соседними пикселями и значение Q, используемое как делимое для квантования блока, и затем выполняют фильтрацию с заранее заданным значением в соответствии с результатом сравнения.

5. Способ по п.3, в котором в предположении, что блок имеет размер 88 пикселей, и пикселями, расположенными по центру границы блока в окне 16 являются р1, р2, р3, р4, р5 и р6, для уменьшения эффекта блокирования фильтрацию выполняют на пикселях р1, р2, р3, р4, р5 и р6 по левой вертикальной границе блока с помощью взвешенного фильтра, имеющего взвешенное значение (1,1,1,2,1,1,1), когда информация горизонтального блокирования блока равна "1" и информация окантовки равна "0", а когда информация горизонтального блокирования блока не равна "1" или информация окантовки не равна "0", фильтрацию выполняют для пикселей р2, р3, р4 и р5 в соответствии со следующим алгоритмом d=p4-p3; если (ABS(d)Q){ р4=р4-(d/2); р3=р3+(d/2); d=р5-р4; если (ABS(d)Q) p5=p5-(d/4); d=р3-р2; если (ABS(d)Q) р2=р2+(d/4); } иначе { если (ABS(d/2)2Q) если (d>0) { p4=p4-(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2)); } иначе { p4=p4+(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2));} d=p5-p4; если (ABS(d)Q) p5=p5-(d/4); d=p3-p2; если (ABS(d)Q) p2=p2-(d/4); } }, где Q является делимым, используемым для квантования блоков, ABS(x) представляет собой операцию получения абсолютного значения от х, а "=" означает, что значение правой части уравнения заменяется значением левой части.

6. Способ по п.4, в котором, в предположении, что блок имеет размер 88 пикселей, и пикселями, расположенными по центру границы блока в окне 61, являются р1, р2, р3, р4, р5 и р6, для уменьшения эффекта блокирования фильтрацию выполняют на пикселях р1, р2, р3, р4, р5 и р6 по верхней горизонтальной границе блока с помощью взвешенного фильтра, имеющего взвешенное значение (1,1,1,2,1,1,1), когда информация вертикального блокирования блока равна "1" и информация окантовки равна "0", а когда информация вертикального блокирования блока не равна "1" или информация окантовки не равна "0", фильтрацию выполняют для пикселей р2, р3, р4 и р5 в соответствии со следующим алгоритмом: d=p4-p3; если (ABS (d)Q) { р4=р4-(d/2); р3=р3+(d/2); d=р5-р4; если (ABS(d)Q) р5=р5-(d/4); d=p3-p2; если (ABS(d)Q) p2=р2+(d/4); } иначе{ если (ABS(d/2)<2Q) p4=p4-(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2)); } иначе { p4=p4+(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2)); } d=p5-p4; если (ABS(d)Q) p5=p5-(d/4); d=p3-p2; если (ABS(d)Q) p2=p2-(d/4); } }, где Q является делимым, используемым для квантования блоков, ABS представляет абсолютное значение, а "=" означает, что значение правой части уравнения заменяется значением левой части.

7. Способ по пп.3, 4, 5 или 6 в котором для уменьшения шума окантовки способ далее содержит операцию проверки, установлена ли информация окантовки равной "1", и выполнения заранее заданной фильтрации, если информация окантовки установлена равной "1", и пропуска фильтрации, если информация окантовки не установлена равной "1".

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

9. Способ по п.8, в котором операция (y) содержит операцию (y1) обнаружения вертикального края и операцию (y2) обнаружения горизонтального края, а операция (y1) содержит следующие подоперации, на которых обеспечивают: (y11) вычисление абсолютного значения А1 обработанных градиентным оператором значений пикселя Р1, по которому проводится определение, является ли он краевым пикселем, и пикселя справа от пикселя Р1, (y12) вычисление абсолютного значения А2 обработанных градиентным оператором значений пикселя Р1 и пикселя слева от пикселя Р1, (y13) сравнение абсолютных значений А1 и А2 с заранее заданным пороговым значением Th и определение того, является ли пиксель Р1 пикселем вертикального края, в соответствии с логическим значением как результатом сравнения, и (y14) выполнение вышеупом