Способ сигнальной адаптивной фильтрации, сигнальный адаптивный фильтр и машинно-считываемый носитель (варианты) для хранения их программ
Иллюстрации
Показать всеИзобретение относится к фильтрации данных, и в частности, к сигнальной адаптивной фильтрации для снижения эффекта блокирования и шума окантовки. Технический результат - снижение эффекта блокирования и шума окантовки при кодировании с сильным сжатием. Для этого, когда кадр формируется из блоков заранее заданного размера, осуществляются следующие операции: выработка информации блокирования для снижения эффекта блокирования и информации окантовки для снижения шума окантовки из коэффициентов заранее заданных пикселей верхней и левой граничных областей блока данных, когда кадр, получаемый путем разложения данных изображения в потоке двоичных разрядов для инверсного квантования, является внутренним кадром, и адаптивная фильтрация данных изображения, проходящих через инверсное квантование и инверсное дискретное косинусное преобразование, в соответствии с выработанными информацией блокирования и информацией окантовки. Поэтому эффект блокирования и шум окантовки могут быть устранены из изображения, восстановленного из изображения на основе блоков, тем самым улучшая изображение, восстановленное из сжатия. 2 н.п. ф-лы, 7 ил.
Реферат
Область техники
Настоящее изобретение относится к фильтрации данных, и в частности к способу сигнальной адаптивной фильтрации для снижения эффекта блокирования и шума окантовки, сигнальному адаптивному фильтру и машинно-считываемому носителю для хранения программы.
Известный уровень техники
В общем случае стандарты кодирования изображений, такие как стандарты MPEG Международной организации по стандартизации (ISO) и Н.263, рекомендованные Международным союзом электросвязи (ITU), принимают основанное на блоках оценивание движения и блоки дискретного косинусного преобразования (ДКП) (DCT). Когда изображение сжато очень сильно, основанное на блоках кодирование может вызвать хорошо известный эффект блокирования. Обычным эффектом блокирования является шум сетки в однородной области, в которой соседние пиксели имеют относительно одинаковые значения пикселей. Другим эффектом блокирования является лестничный шум, который имеет форму лестницы и вырабатывается вдоль краев изображения. Кроме того, шум окантовки является обычным Гиббсовым явлением, появляющимся из-за усечения, когда коэффициенты ДКП квантуются так, чтобы сжать изображение как можно сильнее.
Шум сетки показывает следы основанного на блоках процесса на краях между блоками, когда сжатые данные отображаются на экране после восстановления. Таким образом, возможно идентифицировать края между блоками. Кроме того, лестничный шум имеет форму лестницы на краях изображения, так что можно заметить неровный край на изображении. Можно также заметить перекрывание изображений с заранее заданным интервалом из-за шума окантовки.
Для того чтобы уменьшить эффект блокирования и шум окантовки, появляющиеся при выполнении основанного на блоках кодирования, было предложено несколько способов. В соответствии с кодированием по стандарту Н.261 для снижения эффекта блокирования в качестве фильтра в цепи обратной связи используется простой фильтр нижних частот (ФНЧ) 3×3 [Video Codec for audiovisual Services at Px62 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 MPEG 95/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", взвешенная фильтрация выполняется для пикселей А, В, С, D, Е и F на фиг.6 с помощью 7-отводного (1, 1, 1, 2, 1, 1, 1) фильтра нижних частот (ФНЧ).
Если ИГБ или ИО блоков I и J на фиг.6, не равны "0", фильтрация выполняется для пикселей В, С, D и Е с помощью следующего алгоритма:
В вышеописанном алгоритме ABS представляет абсолютное значение, а Q представляет делимое, используемое, когда квантуются блоки, образующие кадр.
Подробнее абсолютное значение (ABS(d)) разности (d) между пикселями D и С равно или меньше Q, текущее пиксельное значение пикселя D устанавливается путем вычитания d/2 из текущего пиксельного значения, и текущее пиксельное значение пикселя С устанавливается путем прибавления d/2 к текущему пиксельному значению. Кроме того, абсолютное значение (ABS(d)) разности (d) между пикселями Е и D равно или меньше Q, текущее пиксельное значение пикселей устанавливается путем вычитания d/4 из текущего пиксельного значения. Кроме того, если абсолютное значение (ABS(d)) разности (d) между пикселями С и В равно или меньше Q, текущее пиксельное значение пикселя В устанавливается путем вычитания d/4 из текущего пиксельного значения. Аналогично вышеописанному пиксельные значения пикселей В, С, D и Е устанавливаются в соответствии с алгоритмом, отличным от вышеописанного, который очевиден для специалиста, так что его объяснение пропущено. Кроме того, вертикальная фильтрация выполняется по принципу, аналогичному принципу горизонтальной фильтрации.
Далее будет описан способ фильтрации для снижения шума окантовки. Во-первых, проверяется выработанная информация окантовки. Если информация окантовки устанавливается на "1", фильтрация выполняется. Иначе фильтрация не выполняется. Для окончания этого определяются краевые пиксели блока, которые были подвергнуты инверсному квантованию и ИДКП. Для определения краевых пикселей на блоках, которые были подвергнуты инверсному квантованию и ИДКП, выполняется градиентная операция с помощью операторов одномерного горизонтального и вертикального градиента.
Затем абсолютное значение разности между одним обработанным градиентным оператором пиксельным значением и значением соседнего пикселя и значение Q, используемое как делимое при квантовании блока, используются для выработки двоичной краевой карты, представляющей края каждого пикселя. Здесь блок имеет 8×8 пикселей, и размер двоичной карты краев представляется двумерным матричным краем [10][10], как показано на фиг.7.
Для выработки двоичной краевой карты выполняются обнаружение вертикальных краев и обнаружение горизонтальных краев. Алгоритмы для обнаружения вертикальных краев и горизонтальных краев таковы:
/"Обнаружение вертикальных краев"/
А1=ABS(PrtImage [0]-PrtImage [1]);
А2=ABS(PrtImage [0]-PrtImage [-1]);
если (((A1>Th)&&(A2>Th))||(A1>5*Th/2)||(A2)>5*Th/2))
Край[m][n]=1;/"край"/
иначе {/"обнаружение горизонтальных краев"/
A'1=ABS(PrtImage [0]-PrtImage [ширина]);
А'2=ABS(PrtImage [0]-PrtImage [-ширина]);
если(((A'1>Th)&&(A'2>Th))||(А'1>5*Th/2)||(А'2)>5*Th/2))
Край [m][n]=1;/"край"/
}
Для обнаружения вертикальных краев вычисляется абсолютное значение (А1) разности между обработанными градиентным оператором результатами пикселя (PrtImage [0]), по которому проводится определение того, находится ли этот пиксель на краю блока или нет, и правым пикселем (PrtImage [1]) этого пикселя (PrtImage [0]). Затем вычисляется абсолютное значение (А2) разности между обработанными градиентным оператором результатами пикселя (PrtImage [0]) и левым пикселем (PrtImage [-1]) пикселя (PrtImage [0]). Таким образом, определение того, находится ли пиксель на краю, выполняется в зависимости от логических значений, полученных после того, как абсолютные значения А1 и А2 сравниваются с заранее заданным пороговым значением Th, и затем вышеописанный процесс выполняется для всех пикселей блока. Обнаружение вертикальных краев выполняется в соответствии с логической формулой (A1>Th)&&(A2>Th)||(A1>5*Th/2)||(A2)>5*Th/2). Если эта логическая формула верна, пиксель определяется как вертикальный край. Иначе пиксель определяется как не являющийся вертикальным краем.
Обнаружение горизонтальных краев выполняется в соответствии с аналогичным принципом обнаружения горизонтальных краев. Во-первых, вычисляется абсолютное значение (А'1) разности между обработанными градиентным оператором результатами пикселя (PrtImage [0]), по которому проводится определение того, находится ли этот пиксель на краю блока или нет, и нижним пикселем (PrtImage [ширина]) этого пикселя (PrtImage [0]). Затем вычисляется абсолютное значение (А'2) разности между обработанными градиентным оператором результатами пикселя (PrtImage [0]) и верхним пикселем (PrtImage [-ширина]) пикселя (PrtImage [0]). Таким образом, определение того, находится ли пиксель на краю, выполняется в зависимости от логических значений, полученных после того, как абсолютные значения А'1 и А'2 сравниваются с заранее заданным пороговым значением Th, и затем вышеописанный процесс выполняется для всех пикселей блока. Обнаружение горизонтальных краев выполняется в соответствии с логической формулой (A'1>Th)&&(A'2>Th)||(A'1>5*Th/2)||(А'2)>5*Th/2). Если эта логическая формула верна, пиксель определяется как горизонтальный край. Иначе этот пиксель определяется как не являющийся горизонтальным краем. Здесь "&&" представляют операцию Логическое И, а "||" представляют операцию Логическое ИЛИ.
Далее фильтрация выполняется путем применения заранее заданного фильтрового окна к выработанной двоичной карте краев. Фильтрация может выполняться обычным способом фильтрации путем применения фильтрового окна, имеющего заранее заданный размер. Однако в данном выполнении фильтрация не выполняется, если центральный пиксель фильтрового окна является краем, и фильтрация выполняется, если центральный пиксель фильтрового окна не является краем. Фильтровое окно может быть общим фильтровым окном. В этом выполнении используется четырехсвязное фильтровое окно, имеющее пять пикселей, расположенных в форме креста с одним центральным пикселем, как показано на фиг.7. На фиг.7 "Х" представляет краевой пиксель, а области, отличные от областей с "X", представляют некраевые пиксели.
Кроме того, если фильтровое окно не имеет краевого пикселя, проводится обычная фильтрация, тогда как если краевой пиксель существует, проводится взвешенная фильтрация. Пример взвешенной фильтрации показан на фиг.7. На фиг.7, "≪" представляет сдвиг влево, "≫" представляет сдвиг вправо.
Изобретение может быть воплощено в цифровом компьютере общего назначения, который выполняет программы с используемого в компьютере носителя, включая, но не ограничиваясь, такими носителями данных, как магнитные носители данных (например, ПЗУ, гибкие диски, жесткие диски и т.п.), оптически считываемые носители (например, CD-ROM, DVD и т.п.) и несущие колебаний (например, передачи по Интернету). Следовательно, настоящее изобретение может быть воплощено как используемый в компьютере носитель с воплощенным на нем компьютерно-считываемым программным кодовым блоком для сигнальной адаптивной фильтрации, причем компьютерно-считываемое программное кодовое средство содержит: компьютерно-считываемое программное кодовое средство для того, чтобы заставить компьютер воздействовать на выработку информации блокирования для снижения эффекта блокирования и информации окантовки для снижения шума окантовки из коэффициентов заранее заданных пикселей верхней и левой краевых областей блока данных, когда кадр, полученный путем разложения данных изображения в потоке двоичных разрядов для инверсного квантования, является внутренним кадром; компьютерно-считываемое программное кодовое средство для того, чтобы заставить компьютер воздействовать на установку информации блокирования и информации окантовки предыдущего кадра в соответствии с вектором движения как информации блокирования и информации окантовки текущего кадра, если кадр является промежуточным кадром, и для установки информации окантовки на "1", что представляет требование фильтрации для данных изображения, если существует остаточный сигнал инверсно квантованного текущего блока; и компьютерно-считываемое программное кодовое средство для того, чтобы заставить компьютер воздействовать на адаптивную фильтрацию данных изображения, проходящих через основанные на блоке инверсное квантование и инверсное дискретное косинусное преобразование, в соответствии, например, с выработанными информацией блокирования и информацией окантовки. Функциональная программа, код и сегменты кода, используемые для воплощения настоящего изобретения, могут быть получены специалистом по компьютерному программированию из описания изобретения, содержащегося здесь.
Промышленная применимость
Как описано выше, настоящее изобретение может удалить шум блокирования и шум окантовки из изображения, восстановленного из изображения, сжатого на основе блоков, тем самым улучшая изображение, восстановленное из сжатия.
1. Способ фильтрации данных изображения для снижения эффекта блокирования и шума, содержащий этапы, на которых получают из потока битов данных изображения информацию флага для блока текущих данных изображения, указывающую является ли режим блока текущих данных изображения внешним режимом или внутренним режимом, формируют для блока текущих данных изображения информацию внешней фильтрации из коэффициентов заранее заданных пикселей верхней и левой граничной областей блока текущих данных, когда информация флага указывает, что режим блока текущих данных является внешним режимом, формируют для блока текущих данных изображения информацию внутренней фильтрации, используя вектор движения и остаточный сигнал блока текущих данных, когда информация флага указывает, что режим блока текущих данных является внутренним режимом, воспроизводят блок текущих данных путем выполнения инверсного квантования и инверсного дискретного косинусного преобразования и осуществляют фильтрацию воспроизведенного блока текущих данных в соответствии со сформированной информацией о внешней фильтрации или о внутренней фильтрации.
2. Устройство для фильтрации данных изображения для снижения эффекта блокирования и шума, содержащее блок проверки флага режима для проверки информации флага, полученной из потока битов данных изображения, для блока текущих данных изображения, указывающей является ли режим блока текущих данных изображения внешним режимом или внутренним режимом, блок формирования информации внешней фильтрации, соединенный с блоком проверки флага режима и формирующий информацию внешней фильтрации для блока текущих данных из коэффициентов заранее заданных пикселей верхней и левой граничной областей блока текущих данных, когда информация флага указывает, что режим блока текущих данных является внешним режимом, блок формирования информации внутренней фильтрации, соединенный с блоком проверки флага режима и формирующий информацию внутренней фильтрации для блока текущих данных, используя вектор движения и остаточный сигнал текущего блока, когда информация флага указывает, что режим блока текущих данных является внутренним режимом, и блок адаптивной фильтрации для фильтрации воспроизведенного блока текущих данных, воспроизведенного путем выполнения инверсного квантования и инверсного дискретного косинусного преобразования блока текущих данных в соответствии со сформированной информацией о внешней фильтрации или о внутренней фильтрации.