СПОСОБ УДАЛЕНИЯ БЛОЧНОСТИ, УСТРОЙСТВО ДЛЯ УДАЛЕНИЯ БЛОЧНОСТИ, ПРОГРАММА ДЛЯ УДАЛЕНИЯ БЛОЧНОСТИ И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ЗАПИСИ, ЗАПИСЫВАЕМЫЙ ПОСРЕДСТВОМ ЭТОЙ ПРОГРАММЫ
DEBLOCKING METHOD, DEBLOCKING APPARATUS, DEBLOCKING PROGRAMME AND COMPUTER-READABLE RECORDING MEDIUM RECORDED WITH SAID PROGRAMME

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способу удаления блочности, используемому в устройстве кодирования видеосигнала и устройстве декодирования видеосигнала, которые реализуют кодирование на блочной основе, устройству для него, программе для удаления блочности, используемой для осуществления упомянутого способа удаления блочности, и машиночитаемому носителю записи, записываемому посредством упомянутой программы.
По заявке испрашивается приоритет по дате подачи японской патентной заявки № 2008-271496, поданной 22 октября 2008 года.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
При кодировании видеосигнала inter-кодирование с предсказанием (компенсация движения) для выполнения предсказания между разными кадрами использует декодированное изображение как опорное изображение. Поэтому, когда кодирование выполняется при низкой скорости передачи битов, происходит блочное искажение, которое ухудшает декодируемое изображение, и, соответственно, существует проблема увеличения ухудшения качества изображения из-за ссылки на ухудшенное изображение.
Следовательно, предложен и представлен внутриконтурный фильтр для уменьшения блочного искажения для стандартов кодирования видеосигнала. Кроме того, даже в MPEG (Экспертная группа по вопросам движущегося изображения) ISO (Международная организация по стандартизации) и VCEG (Экспертная группа ITU по вопросам кодирования изображения) ITU-T (Сектор телекоммуникаций Международного союза электросвязи) сделано много предложений в отношении фильтров, в том числе префильтров и постфильтров, а также внутриконтурных фильтров, которые теперь активно обсуждаются. В отличие от префильтров и постфильтров, если используется внутриконтурный фильтр, то качество отфильтрованного изображения улучшается, и также улучшается влияние на последующие кадры, ссылающиеся на это изображение, вследствие этого обеспечивается возможность улучшения качества всего видео (улучшение эффективности кодирования). Поэтому сильно ожидается улучшение внутриконтурных фильтров.
В действующих стандартах кодирования видеосигнала, например, MPEG-1, MPEG-2, MPEG-4, H.261, H.262 и H.264, при кодировании видеоинформации изображение разделяют на M*N блоков (М и N являются кратными 2, например, 4, 8 или 16) и после этого кодируют. После разделения получают разность между блоком, который должен быть обработан, и опорным блоком (декодированным блоком) внутри кадра или между кадрами, разностный сигнал подвергается ортогональному преобразованию, выполняется квантование, и применяется энтропийное кодирование, и получающийся в результате сигнал выводится в виде двоичных данных.
С использованием того факта, что зрение человека является нечувствительным к высокой частоте, когда выполняется квантование, высокочастотные составляющие изображения удаляются. На данном этапе, так как высокочастотные составляющие удаляются поблочно блок за блоком, в декодируемом изображении выделяются границы блоков, и на них накладывается блочный шум. В частности, если количество кодирования, выделяемое видеосигналу является маленьким (т.е. с низкой скоростью передачи битов), то наблюдается высокий уровень блочного шума.
В inter-кодировании с предсказанием типа компенсации движения, для уменьшения избыточности во временной области передаются разностный сигнал между предшествующим или последующим опорным кадром и кадром, который должен быть обработан, и вектор движения (количество движения). В этом inter-кодировании с предсказанием типа компенсации движения, когда изображение, на которое ссылаются, включает в себя шум блочной формы и, соответственно, ухудшается, разностный сигнал, который получается при вычислении разности между опорным кадром и кадром, который должен быть обработан, увеличивается, что в результате приводит к ухудшению эффективности кодирования.
Соответственно, в H.264/AVC, когда опорный кадр, то есть декодированное изображение, сохраняется в памяти для кадров, используется фильтр для уменьшения блочного шума, формируемого при кодировании. Этот фильтр называется фильтром для удаления блочности.
Следует отметить, что вышеупомянутое описание раскрыто в патентном документе 1 Sakae Okubo, Shinya Kadono, Yoshihiro Kikuchi, Teruhiko Suzuki, "Revised edition H.264/AVC textbook", Impress, 2006 на стр.140-144 и стр.269.
На фиг.24A изображено положение фильтра для удаления блочности в процессе кодирования, и фиг.24B изображает положение фильтра для удаления блочности в процессе декодирования.
Процесс с использованием фильтра для удаления блочности применяется к границе каждого блока из 16 блоков (4×4), которые получаются посредством разделения одного макроблока (далее в этом документе сокращенно как MB). Кроме того, в случае границы MB, если присутствует смежный MB, то могут быть получены пикселы, требуемые для фильтра, и, соответственно, к нему применяется идентичный процесс.
На фиг.25A и фиг.25B изображены конкретные позиции, которые должны быть обработаны. Здесь на фиг.25A изображена позиция фильтра относительно границы блока в вертикальном направлении. Кроме того, на фиг.25B изображена позиция фильтра относительно границы блока в горизонтальном направлении. Отметим, что, по существу, обрабатываются только части, указанные сплошными линиями, если MB, который должен быть обработан, рассматривается как блоки 8*8 сигнала яркости, в то время как обрабатываются обе части, указанные как сплошными линиями, так и пунктирными линиями, если MB, который должен быть обработан, рассматривается как блоки 4×4 сигнала яркости и сигнала цветности.
Следует отметить, что вышеупомянутое описание раскрыто в Непатентном документе 2 ITU-T Study Group 16-Questions 6/16: "Draft new Corrigendum 1 to H.264 Advanced video coding for generic audiovisual services", 2005 на стр.182-193.
В зависимости от характеристик изображения существует позиция, где блочное искажение формируется легко, и позиция, где блочное искажение не формируется легко, и, соответственно, процесс фильтра для удаления блочности применяется адаптивно. В частности, процесс изменяется в соответствии со следующими условиями.
Устойчивость границы (значение Bs)
Абсолютное значение разности между пикселами на границе
Устойчивость границы определена в нижеследующей Таблице 1.
Таблица 1
По меньшей мере, один из двух блоков является intra-кодированным (intra-режим) и находится на границе MB.
Bs=4
Любой из двух блоков находится в intra-режиме, но не на границе MB.
Bs=3
Ни один блок не находится в intra-режиме, и любой из блоков имеет коэффициент ортогонального преобразования.
Bs=2
Ни один не находится в intra-режиме, ни один не имеет коэффициента преобразования, опорные кадры являются разными, номера опорных кадров являются разными и значения вектора движения являются разными.
Bs=1
Ни один не находится в intra-режиме, ни один не имеет коэффициента преобразования и опорные кадры и значения вектора движения являются идентичными.
Bs=0
m
n
Как изображено на фиг.25A и фиг.25B, при предположении того, что значение пиксела одного блока равно p (0≤m<4: чем позиция ближе к границе блока, тем меньше значение нижнего индекса), и значение пиксела другого блока равно q (0≤n<4: чем позиция ближе к границе блока, тем меньше значение нижнего индекса), фильтр для удаления блочности задействуется, если удовлетворяются следующие два условия.
1. Bs>0
0
0
1
0
1
0
2. |p-q|<α && |p-p|<β && |q-q|<β
Здесь, α и β определяются однозначно, в зависимости от параметра квантования (QP), который устанавливается при кодировании. Кроме того, с использованием двух параметров, флажка slice_alpha_c0_offset_div2 и флажка slice_beta_offset_div2, включенных в заголовок слайса, пользователь также может регулировать α и β.
Кроме того, в дополнение к вышеупомянутым двум параметрам, фильтром для удаления блочности можно управлять на трех уровнях, как представлено ниже, посредством двух параметров, а именно deblocking_filter_controlpresent_flag и disable_deblocking_filter_idc, в наборе параметра изображения (часть заголовка)
1. Фильтр для удаления блочности применяется к границам блока и границам MB.
2. Фильтр для удаления блочности применяется только к границам MB.
3. Фильтр для удаления блочности не применяется.
Следует отметить, что, несмотря на то, что они не относятся к фильтру для удаления блочности, предлагаются различные схемы для улучшения intra-предсказания. Авторы настоящего изобретения также предлагают схему для улучшения intra-предсказания с назначением весов в соответствии с текстурой в изображении и последующим выполнением предсказания (см. Shohei Matsuo, Seishi Takamura, Kazuto Kamikura, Yoshiyuki Yashima: "A Study on weighted intra prediction", Picture Coding Symposium Japan, PCSJ2007, Непатентный документ 3).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ПРОБЛЕМЫ, КОТОРЫЕ РЕШАЮТСЯ ПОСРЕДСТВОМ ИЗОБРЕТЕНИЯ
В стандартном фильтре для удаления блочности всегда используются пикселы в направлении (90°), перпендикулярном к границе блока, и адаптивно применяется фильтр в соответствии с двумя условиями, а именно (i) устойчивость границы и (ii) абсолютное значение разности между выбранными пикселами.
Однако так как в стандартной технологии обрабатываются только пикселы в перпендикулярном направлении, то, если изображение, которое должно быть закодировано, содержит текстуру в присущем ему наклонном направлении (например, наклонный узор или линию), то существует вероятность того, что эта текстура становится неясной.
Другими словами, несмотря на то что процесс стандартного фильтра для удаления блочности применяется адаптивно, он не содержит механизма обработки с учетом направления текстуры, изначально включенной в изображение. Поэтому в стандартной технологии, фильтр применяется даже к текстуре, которая должна по существу быть сохранена, и соответственно существует вероятность того, что наклонная составляющая текстуры сглаживается, вследствие чего ухудшается субъективное качество изображения.
Настоящее изобретение выполнено с учетом таких обстоятельств, и его задачей является обеспечение новой технологии удаления блочности, в которой сохраняются текстуры в наклонных направлениях, которые должны быть сохранены в изображении, и блочный шум может быть эффективно уменьшен. Кроме того, в результате его задачей является не только улучшение субъективного качества изображения одного изображения, но также и улучшение характеристик inter-кодирования с предсказанием посредством ссылки на изображение с улучшенным качеством изображения, так что может быть улучшена эффективность кодирования всей видеоинформации.
СРЕДСТВО ДЛЯ РЕШЕНИЯ УПОМЯНУТЫХ ПРОБЛЕМ
Для решения упомянутых задач предложен способ удаления блочности в соответствии с настоящим изобретением, который является способом удаления блочности для уменьшения блочного искажения в схеме кодирования видеосигнала для выполнения кодирования с предсказанием на основе блоков и в схеме декодирования видеосигнала для декодирования видеосигнала, закодированного посредством упомянутой схемы кодирования видеосигнала, и этот способ включает в себя: этап обнаружения по обнаружению, для каждого блока, направления, в котором изменяется значение пиксела, которое представляется краем, который указывает направление изменения значения пиксела в каждом блоке, этап определения по определению направления, в котором фильтр для удаления блочности должен быть применен к границе блока, на основе направления края, обнаруженного для блока, который должен быть обработан, который включает в себя границу блока, подвергающуюся удалению блочности, и на основе направления края, обнаруженного для блока, соприкасающегося с блоком, который должен быть обработан, и этап фильтрации по применению фильтра для удаления блочности к границе блока в соответствии с определенным направлением.
В способе удаления блочности в соответствии с настоящим изобретением, для каждого блока, на этапе обнаружения может быть обнаружена составляющая в горизонтальном направлении изменения значения пиксела в каждом блоке, может быть обнаружена составляющая в вертикальном направлении изменения значения пиксела в каждом блоке, и может быть обнаружено направление края на основе обнаруженной составляющей в горизонтальном направлении и обнаруженной составляющей в вертикальном направлении.
В способе удаления блочности в соответствии с настоящим изобретением, для каждого блока, на этапе обнаружения может быть получена информация по режиму предсказания, которая используется, когда выполняется intra-кодирование каждого блока, и может быть обнаружено направление края на основе полученной информации относительно режима предсказания.
Способ удаления блочности в соответствии с настоящим изобретением может также включать в себя этап вычисления по вычислению, для каждого блока, устойчивости края на основе обнаруженной составляющей в горизонтальном направлении и обнаруженной составляющей в вертикальном направлении, причем на этапе определения может сравниваться устойчивость края, вычисленная для блока, который должен быть обработан, с предварительно определенным пороговым значением, и, когда устойчивость края меньше или равна предварительно определенному пороговому значению, может изменяться направление, в котором должен быть применен фильтр для удаления блочности, которое определено на основе направления края, на направление, ортогональное к границе блока.
В способе удаления блочности в соответствии с настоящим изобретением, когда информация по режиму предсказания для блока, который должен быть обработан, представляет режим предсказания с использованием среднего значения пиксела как сигнала предсказания, на этапе определения может быть изменено направление, в котором должен быть применен фильтр для удаления блочности, которое определено на основе направления края, на направление, ортогональное к границе блока.
В способе удаления блочности в соответствии с настоящим изобретением, на этапе определения может определяться направление, в котором должен быть применен фильтр для удаления блочности, согласно данным, хранящимся в средстве для хранения, в котором хранится информация, которая описывает корреляцию между направлением края блока, который должен быть обработан, направлением края блока, соприкасающегося с блоком, который должен быть обработан, и направлением, в котором должен быть применен фильтр для удаления блочности, с использованием направления края, обнаруженного для блока, который должен быть обработан, и направления края, обнаруженного для блока, соприкасающегося с блоком, который должен быть обработан, в качестве ключа.
Устройство для удаления блочности в соответствии с настоящим изобретением является устройством для удаления блочности для уменьшения блочного искажения, происходящего в схеме кодирования видеосигнала для выполнения кодирования с предсказанием на основе блоков и в схеме декодирования видеосигнала для декодирования видеосигнала, закодированного посредством упомянутой схемы кодирования видеосигнала, и это устройство включает в себя: средство обнаружения для обнаружения, для каждого блока, направления, в котором изменяется значение пиксела, которое представляется краем, который указывает направление изменения значения пиксела в каждом блоке, средство определения для определения направления, в котором к границе блока должен быть применен фильтр для удаления блочности, на основе направления края, обнаруженного для блока, который должен быть обработан, который включает в себя границу блока, подвергающуюся удалению блочности, и на основе направления края, обнаруженного для блока, соприкасающегося с блоком, который должен быть обработан, и средство фильтрации для применения к границе блока фильтра для удаления блочности в соответствии с определенным направлением.
Устройство для удаления блочности в соответствии с настоящим изобретением может также включать в себя средство для хранения информации, которая описывает корреляцию между направлением края блока, который должен быть обработан, направлением края блока, соприкасающегося с блоком, который должен быть обработан, и направлением, в котором должен быть применен фильтр для удаления блочности, причем средство определения определяет направление, в котором должен быть применен фильтр для удаления блочности, согласно данным, хранящимся в средстве для хранения, с использованием направления края, обнаруженного для блока, который должен быть обработан, и направления края, обнаруженного для блока, соприкасающегося с блоком, который должен быть обработан, в качестве ключа.
Программа для удаления блочности в соответствии с настоящим изобретением является программой для удаления блочности для исполнения вышеупомянутых способов удаления блочности на компьютере.
Машиночитаемый носитель записи в соответствии с настоящим изобретением является машиночитаемым носителем записи, на котором записана программа для удаления блочности для исполнения вышеупомянутых способов удаления блочности на компьютере.
Как описано выше, с точки зрения изображения, содержащего много краев в наклонных направлениях, которые не сохраняются стандартными фильтрами для удаления блочности, и которые рассматриваются как вызывающие ухудшения качества изображения, настоящее изобретение может уменьшать блочный шум, присутствующий на границе блока, с сохранением текстур в наклонных направлениях, которые должны быть сохранены. Соответственно, может быть осуществлено улучшение субъективного качества изображения.
Кроме того, в соответствии с настоящим изобретением, декодированное изображение имеет высокое качество изображения, и, соответственно, настоящее изобретение может уменьшать разностный сигнал в inter-кодировании с предсказанием, который ссылается на это изображение, в результате может быть осуществлено улучшение эффективности кодирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На чертежах:
Фиг.1 изображает схему, иллюстрирующую основные принципы настоящего изобретения;
Фиг.2 изображает схему направления края;
Фиг.3 изображает блок-схему, на которой изображено устройство для удаления блочности в соответствии с первым вариантом осуществления настоящего изобретения;
Фиг.4 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии с первым вариантом осуществления;
Фиг.5 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии с первым вариантом осуществления;
Фиг.6 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии с первым вариантом осуществления;
Фиг.7 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии с первым вариантом осуществления;
Фиг.8 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии с первым вариантом осуществления;
Фиг.9 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии с первым вариантом осуществления;
Фиг.10 изображает схему процесса обнаружения направления края;
Фиг.11 изображает схему процесса обнаружения направления края;
Фиг.12 изображает схему типов края, которые классифицируют направления края;
Фиг.13 изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.14A изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.14B изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.14C изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.14D изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.14E изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.15A изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.15B изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.15C изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.15D изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.15E изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.15F изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.15G изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.16 изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.17A изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.17B изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.17C изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.17D изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.17E изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.17F изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.17G изображает схему, иллюстрирующую процесс определения фильтруемых пикселов;
Фиг.18 изображает поясняющую схему информации, хранящейся в запоминающем устройстве для информации, определяющей фильтруемые пикселы;
Фиг.19A изображает схему результатов эксперимента, выполненного для проверки эффективности первого варианта осуществления настоящего изобретения;
Фиг.19B изображает схему результатов эксперимента, выполненного для проверки эффективности первого варианта осуществления настоящего изобретения;
Фиг.20 изображает блок-схему устройства для удаления блочности в соответствии со вторым вариантом осуществления настоящего изобретения.
Фиг.21 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии со вторым вариантом осуществления;
Фиг.22 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии со вторым вариантом осуществления;
Фиг.23 изображает блок-схему последовательности операций, исполняемую устройством для удаления блочности в соответствии с третьим вариантом осуществления;
Фиг.24A изображает схему, на которой изображена позиция, в которой фильтр для удаления блочности реализован в процессе кодирования;
Фиг.24B изображает схему, на которой изображена позиция, в которой фильтр для удаления блочности реализован в процессе кодирования;
Фиг.25A изображает схему, на которой изображена позиция фильтра для удаления блочности в отношении границы блока в вертикальном направлении;
Фиг.25B изображает схему, на которой изображена позиция фильтра для удаления блочности в отношении границы блока в горизонтальном направлении.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Сначала, перед описанием вариантов осуществления настоящего изобретения, описывается фундаментальный принцип способа удаления блочности, устройства для удаления блочности и программы для удаления блочности, к которым относится настоящее изобретение. В способе удаления блочности, устройстве для удаления блочности и программе для удаления блочности, к которым относится настоящее изобретение, пикселы преобразуются при адаптивном изменении направления фильтра в соответствии с направлением текстуры, включенной в изображение, в дополнение к направлению, перпендикулярному к границе блока. В результате можно эффективно уменьшать блочный шум с сохранением текстуры, присущей изображению, так что можно осуществить фильтр для удаления блочности, который улучшает субъективное качество изображения.
Как изображено в части (a) фиг.1, предполагается, что в блоке, который должен быть закодирован, существует текстура в наклонном направлении.
В этом случае, если применяется стандартный фильтр для удаления блочности, как изображено в части (b) фиг.1, то блочный шум на границе блока может быть уменьшен, но наклонная текстура также сглаживается в зависимости от обстоятельств, так что на текстуру может быть оказано влияние.
Соответственно, процесс фильтрации выполняется в наклонном направлении в соответствии с направлением текстуры, как изображено в части (c) фиг.1, так что блочный шум уменьшается с сохранением текстуры. В результате может быть осуществлено улучшение субъективного качества изображения, и может быть осуществлено уменьшение разностного сигнала при ссылке на обработанное изображение, так что также можно осуществить улучшение эффективности кодирования.
После этого описана конфигурация устройства для удаления блочности для осуществления вышеупомянутого.
Для осуществления уменьшения блочного искажения, происходящего в схеме кодирования видеосигнала для выполнения кодирования с предсказанием на основе блоков и в схеме декодирования видеосигнала для декодирования видеосигнала, закодированного в соответствии с упомянутой схемой кодирования видеосигнала, устройство для удаления блочности включает в себя (1) средство обнаружения для обнаружения, для каждого блока, направления, в котором изменяется значение пиксела, которое представляется краем, который указывает направление изменения значения пиксела каждого блока, (2) средство определения для определения направления, в котором фильтр для удаления блочности применяется к границе блока, на основе направления края, обнаруженного для блока, который должен быть обработан, который содержит границу блока, подвергающуюся удалению блочности, и направления края, обнаруженного для блока, соприкасающегося с блоком, который должен быть обработан, (блока, соприкасающегося с блоком, который должен быть обработан, в направлении вверх, вниз, направо, налево и/или наискось), и (3) средство фильтрации для применения фильтра для удаления блочности к границе блока, подвергающейся удалению блочности в соответствии с направлением, определенным средством определения.
Также может быть обеспечено средство для хранения для хранения информации, которая описывает корреляцию между направлением края блока, который должен быть обработан, направлением края блока, соприкасающегося с блоком, который должен быть обработан, и направлением, в котором применяется фильтр для удаления блочности. В этом случае, средство определения обращается к данным, хранящимся в средстве для хранения, при использовании направлений края, обнаруженных для блока, который должен быть обработан, и для блока, соприкасающегося с блоком, который должен быть обработан, в качестве ключа, и определяет направление, в котором должен быть применен фильтр для удаления блочности.
При применении этой конфигурации, средство обнаружения может обнаруживать, для каждого блока, составляющую в горизонтальном направлении изменения значения пиксела каждого блока и составляющую в вертикальном направлении изменения значения пиксела каждого блока и может обнаруживать направление края, обнаруживаемое на основе обнаруженных составляющих в горизонтальном направлении и в вертикальном направлении.
В этом случае может быть обеспечено вычислительное устройство для вычисления, для каждого блока, устойчивости края на основе составляющих в горизонтальном направлении и в вертикальном направлении, обнаруженных средством обнаружения. Когда обеспечено вычислительное средство, средство определения может сравнивать устойчивость края, вычисленную для блока, который должен быть обработан вычислительным средством, с предварительно определенным пороговым значением, и если устойчивость края меньше или равна предварительно определенному пороговому значению, то направление, в котором должен быть применен фильтр для удаления блочности, направление, определяемое на основе направления края, обнаруженного средством обнаружения, может быть изменено на направление, ортогональное к границе блока, которая подвергается удалению блочности.
Кроме того, при применении этой конфигурации, средство обнаружения может получать, для каждого блока, информацию по режиму предсказания, которая используется, когда intra-кодирование выполняется для каждого блока, и может обнаруживать направление края на основе полученной информации по режиму предсказания.
В этом случае, если информация по режиму предсказания для блока, который должен быть обработан, представляет режим предсказания с использованием среднего значения пиксела как сигнала предсказания, то средство определения может изменить направление, в котором применяется фильтр для удаления блочности, направление, определяемое на основе направления края, обнаруженного средством обнаружения, на направление, ортогональное к границе блока, которая подвергается удалению блочности.
Способ удаления блочности, осуществляемый посредством операций вышеупомянутого средства обработки, может также быть осуществлен посредством компьютерной программы. Эта компьютерная программа может быть записана на подходящем машиночитаемом носителе информации или обеспечена через сеть, так что, когда реализуется способ удаления блочности, компьютерная программа устанавливается на компьютере и управляется средством управления, например CPU (Центральный процессор), для осуществления способа удаления блочности.
При использовании этой конфигурации фильтр для удаления блочности может быть применен даже в наклонном направлении относительно границы блока. В результате блочный шум, присутствующий на границе блока, может быть уменьшен при сохранении текстуры в наклонном направлении, которая должна быть сохранена, так что можно осуществить улучшение субъективного качества изображения.
Кроме того, так как качество декодированного изображения является высоким, то может быть уменьшен разностный сигнал в inter-кодировании с предсказанием, который ссылается на это изображение, в результате может также быть осуществлено улучшение эффективности кодирования.
Для сравнения, стандартный фильтр для удаления блочности может изменять пиксели только в направлении, перпендикулярном к границе блока. Соответственно, когда блочный шум, присутствующий на границе блока, сглаживается, текстуры в наклонных направлениях, которые изначально включены в изображение, становятся неясными, что может вызывать ухудшение субъективного качества изображения.
Далее, настоящее изобретение подробно описано в соответствии с его вариантами осуществления.
Далее в этом документе, "край" означает направление, в котором изменяется сигнал яркости, и это направление является перпендикулярным к направлению текстуры, как изображено на фиг.2.
ПЕРВЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Сначала описывается устройство 1 для удаления блочности в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.3 изображена конфигурация устройства 1 для удаления блочности в соответствии с первым вариантом осуществления настоящего изобретения.
Устройство 1 для удаления блочности реализовано в устройстве кодирования видеосигнала и устройстве декодирования видеосигнала, как изображено на фиг.24A и фиг.24B. Как изображено на фиг.3, устройство 1 для удаления блочности в соответствии с настоящим вариантом осуществления включает в себя узел 10 обнаружения края для выделения составляющих края в блоке, используемых узлом 40 определения пикселов, и для обнаружения направления края в блоке, запоминающий узел 20 для информации о направлении края для хранения результата обнаружения из узла 10 обнаружения края, запоминающий узел 30 для информации, определяющей фильтруемые пикселы, для хранения информации, используемой для определения пикселов (фильтруемых пикселов), которые должны быть обработаны фильтром для удаления блочности, узел 40 определения пикселов для определения пикселов, которые должны фактически фильтроваться на основе направления края, обнаруженного узлом 10 обнаружения края, согласно информации, хранящейся в запоминающем узле 20 для информации о направлении края и запоминающем узле 30 для информации, определяющей фильтруемые пикселы, узел 50 принятия решения об использовании фильтра для принятия решения о том, использовать или не использовать фильтрацию с использованием пикселов, определенных узлом 40 определения пикселов, узел 60 фильтрации для фильтрации пикселов, определенных узлом 40 определения пикселов, и узел 70 принятия решения о завершении процесса для принятия решения о том, завершать или не завершать процесс, посредством определения границы конечного блока MB.
Следует отметить, что информация, используемая для определения фильтруемых пикселов, хранящихся в запоминающем узле 30 для информации, определяющей фильтруемые пикселы, подробно описана со ссылкой на фиг.18.
Как изображено на фиг.3, узел 10 обнаружения края включает в себя узел 11 выделения составляющей края в направлении по оси x для выделения составляющей края в горизонтальном направлении каждого блока в MB, узел 12 выделения составляющей края в направлении по оси y для выделения составляющей края в вертикальном направлении каждого блока в MB и узел 13 определения направления края для определения направления края каждого блока посредством использования составляющих края, выделенных узлом 11 выделения составляющей края в направлении по оси x и узлом 12 выделения составляющей края в направлении по оси y, и сохранения направления края в запоминающем узле 20 для информации о направлении края.
Кроме того, как изображено на фиг.3, узел 40 определения пикселов включает в себя узел 41 проверки края смежного блока для проверки направления края, относящегося к каждой границе блока в MB, согласно информации, хранящейся в запоминающем узле 20 для информации о направлении края, и узел 42 определения фильтруемых пикселов для определения пикселов, которые должны быть обработаны фильтром для удаления блочности на основе направления края, проверяемого узлом 41 проверки края смежного блока, согласно информации, хранящейся в запоминающем узле 30 для информации, определяющей фильтруемые пикселы.
На фиг.4-9 изображен пример блок-схем, которые исполняются, когда устройство 1 для удаления блочности по настоящему варианту осуществления, выполненное, как указано выше, обрабатывает границы блока 4×4 в одном MB.
Далее подробно описан процесс, исполняемый устройством 1 для удаления блочности по настоящему варианту осуществления, в соответствии с этими блок-схемами.
Следует отметить, что далее в этом описании размер блока равен 4×4, а целью обработки является сигнал яркости, если не указано иное. Кроме того, в качестве направления края предполагаются четыре направления (горизонтальное (0°), вертикальное (90°) и наклонные (45° и 135°)).
1 Блок-схемы, исполняемые настоящим вариантом осуществления
1-1 Общая блок-схема
На фиг.4 изображена общая блок-схема, на которой представлена последовательность этапов способа, исполняемых устройством 1 для удаления блочности по настоящему варианту осуществления.
Здесь исполняется нижеследующий процесс в узле макроблока (MB) для применения его к макроблокам (MB), включенным в изображение, один за другим.
Как изображено в блок-схеме на фиг.4, на этапе S101, устройство 1 для удаления блочности по настоящему варианту осуществления сначала обнаруживает направления всех краев шестнадцати блоков 4×4 в MB, и сохраняет информацию о них в запоминающем узле 20 для информации о направлении края. Способ обнаружения направлений края описан ниже на этапах S201-S203 (см. блок-схему на фиг.5).
Далее, на этапе S102, выбирается направление фильтрации на основе направлений края, полученных на этапе S101. После выбора направления фильтрации, определяются 8 пикселов, требуемых фильтра для удаления блочности для процесса. Способ для выбора направления фильтрации и определения пикселов подробно описан ниже на этапах S601 и S602 (см. блок-схему на фиг.9).
Далее, на этапе S103, выбирается один невыбранный блок, и принимается решение о том, должен ли для выбранного блока использоваться фильтр для удаления блочности. Для принятия этого решения используются стандартные условия для принятия решения, определенные в H.264/AVC. Если фильтр должен использоваться, то процесс обработки переходит к этапу S104. Если фильтр не должен использоваться, для обработки следующего блока, то процесс обработки переходит к этапу S105 для принятия решения о том, достигла ли позиция, которая должна быть обработана, конечного блока.
Далее, на этапе S104, процесс фильтрации исполняется фактически с использованием 8 пикселов, выбранных на этапе S102.
Далее, на этапе S105, принимается решение о том, должен ли быть обработан следующий блок. Если обработанный блок не является конечным блоком, то следующий блок должен быть обработан, так что процесс обработки возвращается к этапу S103. Если обработан конечный блок, то процесс обработки завершается.
1-2 Детали процесса на этапе S101
1-2-1 Общий процесс этапа S101
Далее описаны детали процесса, исполняемого на этапе S101, в соответствии с блок-схемой на фиг.5.
После входа в процесс на этапе S101, представленном в блок-схеме на фиг.4, на этапе S201, устройство 1 для удаления блочности по настоящему варианту осуществления сначала выделяет составляющую края в направлении по оси x (горизонтальное направление), как представлено в блок-схеме на фиг.5. Далее, на этапе S202, выделяется составляющая края в направлении по оси y (вертикальное направление). Далее, на этапе S203, определяется направление края, включенного в блок, на основе составляющих края, соответствующих направлений, полученных на этапах S201 и S202.
Далее по порядку описаны детали процессов на этапах S201, S202 и S203.
1-2-2 Детали процесса на этапе S201
Детали процесса, исполняемого на этапе S101, описаны в соответствии с блок-схемой на фиг.6.
После входа в процесс на этапе S201, представленном в блок-схеме на фиг.5, на этапе S301, устройство 1 для удаления блочности по настоящему варианту осуществления сначала применяет фильтр fx={-l,1} (см. фиг.10) к целевому блоку в горизонтальном направлении, и полученная матрица определяется как матрица x (EMx) края (см. фиг.10), как представлено в блок-схеме на фиг.6.
Далее, на этапе S302, вычисляется сумма составляющих EMx, которые получены на этапе S301. Это значение обозначается как Sx. Sx представляет составляющую края в горизонтальном направлении, причем положительное значение означает, что значение яркости имеет тенденцию увеличиваться с левой стороны к правой стороне, а отрицательное значение означает, что значение яркости имеет тенденцию уменьшаться с левой стороны к правой стороне.
Фиг.10 изображает схему, на которой представлен принцип процесса, исполняемого на этапе S201. На фиг.10, каждое значение элемента матрицы x края (EMx), имеющего размер блока 4×4, обозначается EMx(i,j), где i - целое число, большее или равное 1, и представляющее позицию в направлении по оси x, и j - целое число, большее или равное 1, и представляющее позицию в направлении по оси y. Как изображено на фиг.10, например, как составляющая EMx, 30-28=2 получается при применении фильтра fx={-l,+1} к двум пикселам, имеющим значения пиксела 28 и 31. Также, как Sx, 31 получается при вычислении суммы 12 составляющих EMx.
1-2-3 Детали процесса на этапе S202
Детали процесса, исполняемого на этапе S202, описаны в соответствии с блок-схемой на фиг.7.
После входа в процесс на этапе S202 в блок-схеме на фиг.5, на этапе S401, устройство 1 для удаления блочности по настоящему варианту осуществления сначала применяет фильтр fy={-l,1} (см. фиг.11) к целевому блоку в вертикальном направлении, и полученная матрица определяется как матрица y края (EMy) (см. фиг.11), как представлено в блок-схеме на фиг.7.
Далее, на этапе S402, вычисляется сумма составляющих EMy, которые получены на этапе S401. Это значение обозначается как Sy. Sy представляет составляющую края в вертикальном направлении, причем положительное значение означает, что значение яркости имеет тенденцию увеличиваться сверху вниз, а отрицательное значение означает, что значение яркости имеет тенденцию уменьшаться сверху вниз.
Фиг.11 изображает схему, на которой представлен принцип процесса, исполняемого на этапе S202. На фиг.11, каждое значение элемента матрицы y края (EMy), имеющего размер блока 4×4, обозначается EMy(i,j), где i - целое число, большее или равное 1, и представляющее позицию в направлении по оси y, и j - целое число, большее или равное 1, и представляющее позицию в направлении по оси y. Как представлено на фиг.11, например, как составляющая EMy, 33-30=3 получается при применении фильтра fy={-1,+1} к двум пикселам, имеющим значения пиксела 30 и 33. Также, как Sy, 28 получается при вычислении суммы 12 составляющих EMy.
1-2-4 Детали процесса на этапе S203
Детали процесса, исполняемого на этапе S203, описаны в соответствии с блок-схемой на фиг.8.
После входа в процесс этапа S203 в блок-схеме на фиг.5, на этапе S501, устройство 1 для удаления блочности по настоящему варианту осуществления сначала применяет Sx, полученную на этапе S302, и Sy, полученную на этапе S402, к нижеследующему уравнению для получения угла D края, включенного в блок, как представлено в блок-схеме на фиг.8.
D=Sy/Sx
Далее, на этапе S502, определяется направление края на основе угла D края, полученного на этапе S501. Например, когда существует четыре направления края, направление края (тип края) определяется в соответствии с классификацией по нижеследующей Таблице 2.
Таблица 2
Диапазон D
Тип края
D≤-2,414
3
-2,414<D≤-0,414
4
-0,414<D≤0,414
1
0,414<D≤2,414
2
2,414<D
3
Как представлено на фиг.12, "D=0,414" означает, что угол D края равен 22,5° (получен из tg 22,5°≈0,414), "D=2,414" означает, что угол D края равен 67,5° (получен из tg 67,5°≈2,414), "D=-2,414" означает, что угол D края равен 112,5° (получен из tg 112,5°≈-2,414), и "D=-0,414" означает, что угол D края равен 157,5° (получен из tg 157,5°≈-0,414).
Следовательно, тип 3 края, представляемый "D≤-2,414, 2,414<D", представленный в Таблице 2, означает, что угол D края находится в диапазоне от 67,5° до 112,5° (от 247,5° до 292,5°) (представительными углами являются 90° и 270°), как изображено на фиг.12. Также, тип 4 края, представляемый "-2,414<D≤-0,414", представленный в Таблице 2, означает, что угол D края находится в диапазоне от 112,5° до 157,5° (от 292,5° до 337,5°) (представительными углами являются 135° и 315°), как изображено на фиг.12. Также, тип 1 края, представляемый "-0,414<D≤0,414", представленный в Таблице 2, означает, что угол D края находится в диапазоне от 157,5° до 202,5° (от 337,5° до 22,5°) (представительными углами являются 0° (=360°) и 180°), как изображено на фиг.12. Также, тип 2 края, представляемый "0,414<D≤2,414", представленный в Таблице 2 означает, что угол D края находится в диапазоне от 22,5° до 67,5° (от 202,5° до 247,5°) (представительными углами являются 45° и 225°), как изображено на фиг.12.
Например, в соответствии с классификацией по Таблице 2, в блоках, изображенных на фиг.10 И фиг.11, так как Sx=31 и Sy=28, получаем D=0,90, и, соответственно, тип их края определяется как тип 2 края, имеющий представительные углы 45° и 225°, в соответствии с процессом этапа S502.
1-3 Детали процесса на этапе S102
Далее описаны детали процесса, исполняемого на этапе S102, в соответствии с блок-схемой на фиг.9.
После входа в процесс этапа S102 в блок-схеме на фиг.4, как представлено в блок-схеме на фиг.9, на этапе S601, устройство 1 для удаления блочности по настоящему варианту осуществления сначала получает информацию о направлениях края в отношении всех блоков в МB, полученную на этапе S101, согласно информации, хранящейся в запоминающем узле 20 для информации о направлении края, изображенном на фиг.3, и проверяет, в каждом интерфейсе блока, направление, в котором должен быть применен фильтр.
Далее, на этапе S602, 8 пикселов, которые должны быть обработаны (фильтруемые пикселы), определяются вдоль направления фильтрации, проверенного на этапе S601.
Как изображено на фиг.13, пикселы, которые должны быть обработаны (фильтруемые пиксели), в основном, определяются посредством выбора пикселов, скомпонованных в прямую линию, ортогональную к направлению края. Другими словами, так как оценено, что текстура (линия и т.п.) изображения присутствует в направлении, перпендикулярном к краю, то фильтруемые пикселы выбираются так, чтобы фильтр применялся вдоль этого направления.
Далее, фиг.14A-17G изображают конкретные примеры, на которых изображено то, как определяются 8 фильтруемых пикселов в соответствии с направлением края в блоке, который должен быть обработан, и направлением края в блоке, расположенном около этого блока, когда должна быть обработана граница блока в горизонтальном направлении.
В конкретных примерах, изображенных на фиг.14A-14E, описано то, как определяются 8 фильтруемых пикселов в соответствии с направлением края в блоке, расположенном около упомянутого блока, когда направление края блока, который должен быть обработан, является типом 1 края.
Другими словами, когда направление края блока, который должен быть обработан, является типом 1 края, и, когда направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 1 края или типом 3 края, как изображено на фиг.14A, 8 фильтруемых пикселов определяются идентичным способом, как в стандартной технологии.
Здесь, в то время, когда направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 3 края, фильтруемые пикселы не выбираются в соответствии с базовой конфигурацией, изображенной на фиг.13, потому что пикселы, расположенные в линию в горизонтальном направлении, не могут быть выбраны. Соответственно, в этом случае, 8 фильтруемых пикселов определяются идентичным способом, как в стандартной технологии.
Также, когда направление края блока, который должен быть обработан, является типом 1 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх является типом 2 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо является типом 2 края, 8 фильтруемых пикселов определяются в соответствии со способом, изображенным на фиг.14B.
Кроме того, когда направление края блока, который должен быть обработан, является типом 1 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх является типом 4 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх налево является типом 4 края, 8 фильтруемых пикселов определяются в соответствии со способом, изображенным на фиг.14C.
Также, когда направление края блока, который должен быть обработан, является типом 1 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх является типом 2 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо является типом 3 края, 8 фильтруемых пикселов определяются в соответствии со способом, изображенным на фиг.14D.
Кроме того, когда направление края блока, который должен быть обработан, является типом 1 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх является типом 4 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх налево, является типом 3 края, 8 фильтруемых пикселов определяются в соответствии со способом, изображенном на фиг.14E.
В конкретных примерах, изображенных на фиг.15A-15G, описано то, как определяются 8 фильтруемых пикселов в соответствии с направлением края блока, расположенного около блока, который должен быть обработан, когда направление края блока, который должен быть обработан, является типом 2 края.
Фиг.15A изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 2 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх является типом 3 края или типом 4 края. Как изображено на фиг.15A, в этих случаях, 8 фильтруемых пикселов определяются идентичным способом, как в стандартной технологии.
Кроме того, фиг.15B изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх является типом 1 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении налево, является типом 2 края.
Также, фиг.15C изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо является типом 2 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении налево является типом 2 края.
Кроме того, фиг.15D изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо, является типом 3 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении налево, является типом 2 края.
Также, фиг.15E изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 1 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении налево, является типом 3 края.
Кроме того, фиг.15F изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо, является типом 2 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении налево, является типом 3 края.
Фиг.15G изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 2 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо, является типом 3 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении налево, является типом 3 края.
В конкретных примерах, изображенных на фиг.16, описано то, как определяются 8 фильтруемых пикселов в соответствии с направлением края блока, расположенного около блока, который должен быть обработан, когда направление края блока, который должен быть обработан, является типом 3 края.
Как изображено на этом чертеже, когда направление края блока, который должен быть обработан, является типом 3 края, 8 фильтруемых пикселов определяются идентичным способом, как в стандартной технологии, независимо от того, является ли направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, типом 1 края, типом 2 края, типом 3 края или типом 4 края.
В конкретных примерах, изображенных на фиг.17A-17G, описано то, как определяются 8 фильтруемых пикселов в соответствии с направлением края блока, расположенного смежно с блоком, который должен быть обработан, когда направление края блока, который должен быть обработан, является типом 4 края.
Фиг.17A изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 4 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 3 края или типом 2 края. Как изображено на фиг.17A, в этих случаях, 8 фильтруемых пикселов определяются идентичным способом, как в стандартной технологии.
Также, фиг.17B изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 1 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении направо, является типом 4 края.
Кроме того, фиг.17C изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх налево, является типом 4 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении направо, является типом 4 края.
Также, фиг.17D изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх налево, является типом 3 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении направо, является типом 4 края.
Кроме того, фиг.17E изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 1 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении направо, является типом 3 края.
Также, фиг.17F изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх налево, является типом 4 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении направо, является типом 3 края.
Кроме того, фиг.17G изображает конкретный пример, в котором направление края блока, который должен быть обработан, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх, является типом 4 края, направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх налево, является типом 3 края, и направление края блока, смежного с блоком, который должен быть обработан, в направлении направо, является типом 3 края.
Следовательно, на этапе S102 в блок-схеме на фиг.4, фильтруемые пикселы, которые должны быть обработаны фильтром для удаления блочности, определяются в соответствии со способами, изображенными на фиг.14A-17G, на основе направлений края блоков в MB при исполнении блок-схемы на фиг.9.
Следует отметить, что, на фиг.14A-17G, типичные конкретные примеры изображены с учетом состояния (частоты) формируемой текстуры, однако, в отношении других конкретных примеров, фильтруемые пикселы, которые должны быть обработаны фильтром для удаления блочности, также могут быть определены аналогично конкретным примерам, изображенным на фиг.14A-17G.
Например, когда направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо, изображенное на фиг.14B, не является типом 2 края, а типом 1 края, 8 фильтруемых пикселов определяются идентичным способом, как в стандартной технологии. Причиной является то, что, так как текстура прерывается на границе между блоком, смежным с блоком, который должен быть обработан, в направлении вверх, и блоком, смежным с блоком, который должен быть обработан, в направлении вверх направо, то принимается решение о том, что лучше не применять фильтр для удаления блочности.
Напротив, например, когда направление края блока, смежного с блоком, который должен быть обработан, в направлении вверх направо, изображенное на фиг.14B, не является типом 2 края, а типом 4 края, текстура расширяется в направлении вверх направо и затем принудительно ориентируется в направлении вниз налево. Другими словами, текстура изгибается в форме "Λ". Следует отметить, что, в этом случае, направление края блока, смежного с блоком, который должен быть обработан, в направлении направо, также определяется. Ожидается, что не будет существовать большого количества состояний (частота), в которых текстура резко изменяется, в том числе, когда текстура изгибается в форме "<" или ">", однако, фильтр для удаления блочности можно применять даже в этих случаях.
Одним словом, с предположением того, что текстура (линия и т.п.) в изображении появляется в направлении, перпендикулярном к краю, ситуация, в которой прерывается линейный сегмент текстуры, может вызвать ухудшение в эффективности, и, соответственно, такая ситуация исключается из кандидатов, к которым должен быть применен фильтр для удаления блочности.
Здесь, на фиг.14A-17G, описано то, как определяются 8 фильтруемых пикселов в соответствии с направлением края блока, который должен быть обработан, и направлениями края блоков, смежных с блоком, который должен быть обработан, когда должна быть обработана граница блока в горизонтальном направлении, однако, даже когда должна быть обработана граница блока в вертикальном направлении, 8 фильтруемых пикселов определяются аналогично. Другими словами, когда должна быть обработана граница блока в вертикальном направлении, можно обрабатывать аналогично в виде, когда фиг.14A-17G повернуты на 90°.
Как описано выше, на этапе S102 в блок-схеме на фиг.4, 8 фильтруемых пикселов определяются способами, изображенными на фиг.14A-17G, на основе направлений края блока, который должен быть обработан, и блоков, расположенных около блока, который должен быть обработан, (блоки, соприкасающиеся с блоком, который должен быть обработан, в направлении вверх, вниз, направо, налево и/или наискось) при исполнении блок-схемы на фиг.9. Для осуществления этого процесса определения обеспечен запоминающий узел 30 для информации, определяющей фильтруемые пикселы, изображенное на фиг.3.
Фиг.18 изображает пример структуры данных запоминающего узла 30 для информации, определяющей фильтруемые пикселы, обеспеченного для определения фильтруемых пикселов.
Как изображено на этом чертеже, когда граница блока, которая должна быть обработана, находится в горизонтальном направлении, запоминающий узел 30 для информации, определяющей фильтруемые пикселы, сохраняет информацию о позиции, которая описывает позицию пиксела, определяемого как фильтруемый пиксел, для каждой из комбинаций значения типа края (направления края) блока, который должен быть обработан, и значений типов края окружающих блоков. Также, когда граница блока, которая должна быть обработана, находится в вертикальном направлении, запоминающий узел 30 для информации, определяющей фильтруемые пикселы, сохраняет информацию о позиции, которая описывает позицию пиксела, определяемого как фильтруемый пиксел, для каждой из комбинаций значения типа края блока, который должен быть обработан, и значений типов края окружающих блоков.
Обеспечен запоминающий узел 30 для информации, определяющей фильтруемые пикселы, имеющий вышеупомянутую структуру данных, на этапе S601, к информации, хранящейся в запоминающем узле 20 для информации о направлении края, изображенном на фиг.3, обращаются для идентификации типа края блока, который должен быть обработан, и типов края блоков, расположенных вокруг блока, который должен быть обработан, и, на этапе S602, определяются 8 фильтруемых пикселов согласно информации, хранящейся в запоминающем узле 30 для информации, определяющей фильтруемые пикселы, с использованием информации об идентифицированных типах края и информации о направлении границы блока, которая должна быть обработана, в качестве ключа.
1-4 Процессы этапов S103 и S104
На этапе S103 принимается решение о том, должен ли использоваться фильтр для удаления блочности. При принятии этого решения используются стандартные условия для принятия решения, определенные в H.264/AVC.
Когда на этапе S103 принято решение о том, что должен использоваться фильтр для удаления блочности, на следующем этапе S104, к фильтруемым пикселам, определенным на этапе S102, применяется стандартный фильтр для удаления блочности, определенный в H.264/AVC.
Несмотря на то что стандартный фильтр для удаления блочности может изменять только четыре набора по 8 пикселов в направлении, перпендикулярном к границе блока, вариант осуществления настоящего изобретения, описанный выше, обеспечивает возможность применения фильтра для удаления блочности в наклонном направлении. В результате можно решить проблемы, которые должны быть решены посредством настоящего изобретения, и ожидается улучшение субъективного качества изображения и эффективности кодирования.
Несмотря на то что вышеупомянутое описание относится к блокам 4×4, принцип настоящего изобретения может также быть применен к размерам, отличным от блока 4×4. Он также может быть применен не только к сигналу яркости, но также и к сигналу цветности идентичным способом.
2. Относительно эксперимента, выполненного для проверки эффективности настоящего варианта осуществления
Далее описаны результаты эксперимента, выполненного для проверки эффективности настоящего варианта осуществления.
В этом эксперименте настоящий вариант осуществления реализован для стандартного изображения Бригадир, используемого для стандартизации, и было проверено качество изображения. Конкретными условиями эксперимента являются следующие.
Используемое программное обеспечение: KTA (Key Technical Area), версия 1.8
Тип изображения: Бригадир
Размер изображения: QCIF (176×144)
Структура GOP: III... (Все intra-кодированные)
Параметры квантования: 37 (фиксированный)
Направления края: 4
Количество кадров: 10
Пропуск кадра: 1
Следует отметить, что изображение и программное обеспечение доступны из нижеследующего.
http://media.xiph.org/video/derf/ (стандартное изображение)
http://iphome.hhi.de/suehring/tml/download/KTA/ (программное обеспечение)
Фиг.19A изображает значения PSNR (пиковое отношение сигнал/шум) для объективного качества изображения для соответствующих кадров, которые были получены посредством эксперимента в отношении стандартного изображения Бригадир, и фиг.19B изображает его графические данные. Здесь, на фиг.19B, на горизонтальной оси представлен номер обработанного кадра, а на вертикальной оси представлено объективное качество (PSNR) соответствующего кадра. Кроме того, условное обозначение Стандартный означает стандартный фильтр для удаления блочности, и EADF (адаптивный к краю фильтр для удаления блочности) означает фильтр по настоящему варианту осуществления.
Согласно вышеупомянутым экспериментальным результатам, можно подтвердить, что качество изображения улучшено при использовании настоящего варианта осуществления, и эффективность настоящего варианта осуществления проверена.
ВТОРОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Далее описывается устройство 1 для удаления блочности в соответствии со вторым вариантом осуществления настоящего изобретения.
В первом варианте осуществления настоящего изобретения используется структура, в которой фильтр для удаления блочности исполняется с использованием пикселов, скомпонованных в прямую линию, ортогональную к направлению края, и, соответственно, может быть улучшено качество изображения, включающего в себя наклонные края, однако, качество изображения, включающего в себя сложную текстуру, может быть ухудшено в определенном кадре.
Соответственно, с учетом этого момента, во втором варианте осуществления используется структура, в которой получают устойчивость края каждого блока, и если блок, который должен быть обработан, полученная устойчивость края которого является высокой, другими словами, изображение, имеющее устойчивый (острый) наклонный край, то используется фильтр для удаления блочности, идентичный фильтру в первом варианте осуществления, для исполнения процесса удаления блочности, напротив, если блок, который должен быть обработан, полученная устойчивость края которого является низкой, другими словами, изображение, включающее в себя сложную текстуру, или изображение, имеющее слабый (незаметный) край, то процесс удаления блочности исполняется с использованием фильтра для удаления блочности в соответствии со стандартной технологией.
Фиг.20 изображает конфигурация устройства 1 для удаления блочности в соответствии со вторым вариантом осуществления настоящего изобретения.
В устройстве 1 для удаления блочности по настоящему варианту осуществления используется структура, в которой обеспечены узел 13α определения направления края, вместо узла 13 определения направления края, обеспеченного в первом варианте осуществления, и запоминающий узел 20α для информации об устойчивости направления края, вместо запоминающего узла 20 для информации о направлении края, обеспеченного в первом варианте осуществления, и в узле 40 определения пикселов, который обеспечен в первом варианте осуществления, также обеспечен узел 43 определения устойчивости края и узел 44 определения конечного фильтруемого пиксела.
Узел 13α определения направления края определяет направление края каждого блока с использованием составляющих края, выделенных узлом 11 выделения составляющей края в направлении по оси x и узлом 12 выделения составляющей края в направлении по оси y, вычисляет устойчивость края, и сохраняет информацию о ней в запоминающем узле 20α для информации об устойчивости направления края.
Кроме того, узел 43 определения устойчивости края получает устойчивость края каждого блока в MB при обращении к информации, хранящейся в запоминающем узле 20α для информации об устойчивости направления края, и сравнивает ее с предварительно определенным пороговым значением для определения того, является ли устойчивость края каждого блока в MB высокой.
Кроме того, в отношении блока, устойчивость края которого, как определено узлом 43 определения устойчивости края, является низкой, узел 44 определения конечного фильтруемого пиксела заменяет фильтруемые пикселы, определенные узлом 42 определения фильтруемых пикселов, фильтрованными пикселами, используемыми в стандартной технологии (фильтруемые пикселы, формируемые пикселами, организованными в прямую линию, ортогональную к направлению границы блока).
Фиг.21-22 изображают пример блок-схем, которые исполняются устройством 1 для удаления блочности по настоящему варианту осуществления для фильтрации границ блока 4×4 в одном MB.
Далее подробно описан процесс, исполняемый устройством 1 для удаления блочности по настоящему варианту осуществления, в соответствии с этими блок-схемами.
Следует отметить, что далее в этом описании размер блока равен 4×4, а целью обработки является сигнал яркости, если не указано иное. Кроме того, предполагается, что направлениями края являются четыре направления (горизонтальное (0°), вертикальное (90°) и наклонные (45° и 135°)).
Как изображено в блок-схеме на фиг.21, на этапе S701, устройство 1 для удаления блочности по настоящему варианту осуществления сначала обнаруживает направление и устойчивость всех краев в шестнадцати блоках 4×4 в MB, и сохраняет информацию о них в запоминающем узле 20α для информации об устойчивости края. Настоящий вариант осуществления отличается от первого варианта осуществления тем, что также обеспечен процесс выделения устойчивости края. Способ обнаружения направления края и устойчивости края описан ниже согласно этапам S801-S804 (блок-схема на фиг.22).
Далее, на этапе S702, выбирается направление фильтрации на основе направления края, полученного на этапе S701. После выбора направления фильтрации, определяются 8 пикселов, требуемых для управления фильтром для удаления блочности. Детали способа выбора направления фильтрации и определения пикселов уже описаны на этапах S601 и S602 (блок-схема на фиг.9).
Далее, на этапе S703, выбирается один блок, который должен быть обработан (порядок позиций в MB, к которому применяется фильтр, основан на H.264/AVC), и устойчивость края выбранного блока, выделенная на этапе S701, сравнивается с предварительно определенным пороговым значением. Если устойчивость края выше, чем пороговое значение, то принимается решение о том, что край является устойчивым, и текстура появляется в наклонном направлении, следовательно, фильтруемые пикселы, определенные на этапе S702, определяются как окончательные фильтруемые пикселы, и процесс обработки переходят к этапу S705 без исполнения процесса этапа S704.
Напротив, если устойчивость края меньше или равна пороговому значению, то принимается решение о том, что край является неустойчивым, и текстура не появляется в наклонном направлении, и, соответственно, процесс обработки переходит к этапу S704 для замены фильтруемых пикселов, определенных на этапе S702. На этапе S704, идентичным способом, как в стандартной технологии, пикселы, организованные в прямую линию, ортогональную к направлению границы блока, определяются как окончательные фильтруемые пикселы, так что 8 пикселов, требуемых для процесса фильтра для удаления блочности, определены. Другими словами, направление фильтрации, выбранное на этапе S702, изменяется на направление, ортогональное к границе блока.
После завершения процессов этапов S703 и S704, далее на этапе S705 принимается решение о том, должен ли использоваться фильтр для удаления блочности. При принятии этого решения используются стандартные условия для принятия решения, определенные в H.264/AVC. Если фильтр должен использоваться, то процесс обработки переходит к этапу S706. Если фильтр не должен использоваться, то, для обработки следующего блока, процесс обработки переходит к этапу S707 для принятия решения о том, достигла ли позиция, которая должна быть обработана, конечного блока.
Далее, в отношении блока, который не обработан на этапе S704, на этапе S706 выполняется фактическая фильтрация с использованием 8 пикселов, определенных на этапе S702 (т.е. фильтрация в наклонном направлении, как в первом варианте осуществления). Напротив, в отношении блока, который обработан на этапе S704, на этапе S706 исполняется фактическая фильтрация с использованием 8 пикселов, определенных на этапе S704 (т.е. фильтрация только в направлении, перпендикулярном к границе блока, как в стандартной технологии).
Далее на этапе S707 принимается решение о том, должен ли быть отфильтрован следующий блок. Если обработанный блок не является конечным блоком, то, для обработки следующего блока, процесс обработки возвращается к процессу этапа S703. Если конечный блок уже обработан, то процесс обработки заканчивается.
Далее описаны детали процесса, исполняемого на этапе S701, в соответствии с блок-схемой на фиг.22.
После входа в процесс этапа S701 в блок-схеме на фиг.21, на этапе S801, устройство 1 для удаления блочности по настоящему варианту осуществления сначала выделяет составляющую края в направлении по оси x (горизонтальное направление), как представлено в блок-схеме на фиг.22. Детали этого процесса уже подробно описаны согласно этапам S301-S302 первого варианта осуществления.
Далее, на этапе S802, выделяется составляющая края в направлении по оси y (вертикальное направление). Детали этого процесса уже подробно описаны согласно этапам S401-S402 первого варианта осуществления.
Далее, на этапе S803, угол D края, содержащегося в блоке, получается исходя из суммы Sx горизонтальных составляющих края, полученных на этапе S801 и суммы Sy вертикальных составляющих края, полученных на этапе S802, и на его основе определяется направление края. Детали этого процесса уже описаны на этапах S501-S502 первого варианта осуществления.
Далее, на этапе S804, сумма Sx горизонтальных составляющих края, полученная на этапе S801, и сумма Sy вертикальных составляющих края, полученная на этапе S802, применяются к нижеследующему уравнению для вычисления устойчивости М края, содержащегося в блоке.
2
2
1/2
M=(Sx+Sy)
Следует отметить, что пороговое значение, с которым сравнивают устойчивость края, которое используется на этапе S703 в блок-схеме на фиг.21, может быть определено, например, с получением кадров из множества видеосигналов, которые должны быть закодированы, и с вычислением среднего значения устойчивостей краев, содержащихся в этих кадрах.
В соответствии с настоящим вариантом осуществления, как описано выше, можно создать фильтр для удаления блочности, соответствующий направлению края, с учетом устойчивости края. В результате этот способ является эффективным, в частности, когда существует устойчивая текстура в наклонном направлении, и существует намерение изменить направление фильтруемых пикселов только в этой части, по сравнению с первым вариантом осуществления, в котором используется структура, в которой направление фильтрации определяется исходя из направления края без учета устойчивости края, даже, несмотря на то, что устойчивость края является слабой.
ТРЕТИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Далее описывается устройство 1 для удаления блочности в соответствии с третьим вариантом осуществления настоящего изобретения.
Различия между настоящим вариантом осуществления и вторым вариантом осуществления заключаются в способе обнаружения направления края, соответствующем этапу S701, и в способе определения с использованием устойчивости края, соответствующем этапу S703. Следует отметить, что конфигурация устройства для удаления блочности в соответствии с настоящим вариантом осуществления является идентичной конфигурации устройства для удаления блочности в соответствии со вторым вариантом осуществления (см. фиг.20).
Сначала подробно описывается изменение в этапе S701 в соответствии с блок-схемой на фиг.23. В настоящем варианте осуществления направление края обнаруживается с использованием информации intra-предсказания.
Следует отметить, что далее в этом описании размер блока равен 4×4, а целью обработки является сигнал яркости, если не указано иное. Кроме того, предполагается, что направлениями края являются четыре направления (горизонтальное (0°), вертикальное (90°) и наклонные (45° и 135°)).
При обнаружении направления края, как представлено в блок-схеме на фиг.23, устройство 1 для удаления блочности по настоящему варианту осуществления, на этапе S901, сначала определяет, закодирован ли MB, который должен быть обработан, с intra-предсказанием. Если кодирование с intra-предсказанием выполнено, то процесс обработки переходит к этапу S902 для получения информации режима предсказания intra-предсказания в MB.
Напротив, если MB, который должен быть обработан, не закодирован с intra-предсказанием, а закодирован с inter-предсказанием, то процесс обработки переходит к этапу S903 для выполнения intra-предсказания MB, который должен быть обработан. После завершения этапа S903 процесс обработки далее переходит к этапу S904 для получения информации режима предсказания, полученной при intra-предсказании.
Далее, на этапе S905, направление края определяется в соответствии с информацией режима предсказания, полученной на этапе S902 или S904. При определении направления края используют нижеследующую Таблицу 3, которая является таблицей соответствия между режимом предсказания и направлением края.
Таблица 3
Режим предсказания
Направление края
0
1
1
3
2
Нет
3
2
4
4
5
4
6
4
7
2
8
2
Например, так как вертикальное предсказание выбирается в H.264/AVC, когда режим предсказания равен 0, то ожидается, что пикселы, имеющие одинаковое значение пиксела, распространяются в линии в вертикальном направлении. Соответственно, так как текстура изображения находится в вертикальном направлении, то ожидается, что край соответствует горизонтальному направлению, другими словами, типу 1 края на фиг.12 в первом варианте осуществления. Кроме того, так как MB предсказывается посредством среднего значения, то, когда режим предсказания равен 2, предполагается, что край отсутствует или является очень неустойчивым, и, соответственно, направление края определяется как Нет.
Следовательно, направление края в настоящем варианте осуществления оценивается исходя из режима предсказания, когда MB, который должен быть обработан, является intra-предсказываемым.
Далее подробно описано изменение в этапе S703.
Когда на этапе S905 направление края определяется как Нет, устройство 1 для удаления блочности по настоящему варианту осуществления определяет, что устойчивость края меньше или равна пороговому значению, и процесс обработки переходит к этапу S704 для выполнения процесса в идентичном направлении, как стандартный фильтр для удаления блочности. В других случаях процесс этапа S704 не исполняется, чтобы фильтр для удаления блочности применялся в соответствии с направлением края.
В соответствии с настоящим вариантом осуществления, описанным выше, можно применять фильтр для удаления блочности, соответствующий направлению края, с учетом устойчивости края, аналогично второму варианту осуществления. В результате этот способ является эффективным, в частности, когда существует устойчивая текстура в наклонном направлении, и направление фильтруемых пикселов должно быть изменено только в этой части, по сравнению с первым вариантом осуществления, в котором используется структура, в которой направление фильтрации определяется исходя из направления края без учета устойчивости края, даже несмотря на то, что устойчивость края является слабой.
Следует отметить, что программа для осуществления каждого вышеописанного этапа процесса обработки, может быть записана на машиночитаемом носителе записи, и программа, записанная на этом носителе записи, может быть считана и исполнена компьютерной системой, чтобы можно было выполнять различные процессы, описанные выше в отношении устройства кодирования видеосигнала.
Термин "компьютерная система", используемый в этом описании, может включать в себя OS (Операционную систему) и аппаратные средства, например, периферийные устройства. Кроме того, когда компьютерная система использует систему WWW (Всемирная сеть связи Интернет), компьютерная система может включать в себя домашнюю страницу, обеспечивающую среду (или среду отображения).
Машиночитаемый носитель записи может быть гибким диском, магнитооптическим диском, ROM (Постоянное запоминающее устройство), перезаписываемой энергонезависимой памятью, например флэш-памятью, переносным носителем информации, например CD (компакт-диск) - ROM, и жестким диском, встроенным в компьютерную систему. Кроме того, машиночитаемый носитель записи может включать в себя устройство, в котором хранится программа в течение определенного времени, например, энергозависимую память (например, DRAM (Динамическое оперативное запоминающее устройство), в компьютерной системе, которая становится сервером или клиентом, когда программа передается через сеть, например Интернет или цепь связи, например телефонную линию.
Программа также может быть передана из компьютерной системы, содержащей устройство хранения информации и т.п., в которой программа сохраняется в другой компьютерной системе через передающую среду или посредством сигналов передачи в передающей среде. Здесь передающей средой, используемой для передачи программы, является среда, имеющая функцию передачи информации, например сеть (сеть связи), например Интернет и цепь связи (линия связи), например телефонная линия. Кроме того, программа может быть сконфигурирована для осуществления части вышеупомянутых функций. Кроме того, программа может быть программой, которая осуществляет вышеупомянутые функции посредством объединения ее с программой, которая уже записана в компьютерной системе, так называемым разностным файлом (разностной программой).
Несмотря на то что выше описаны варианты осуществления настоящего изобретения, настоящее изобретение не ограничивается вышеизложенными вариантами осуществления, и могут быть сделаны добавления, пропуски, замены или другие изменения, не отступая от сущности настоящего изобретения. Настоящее изобретение не ограничивается вышеупомянутым описанием, а определяется только в соответствии с прилагаемой формулой изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение может быть применено для удаления блочности, которое используется в устройствах кодирования видеосигнала и устройствах декодирования видеосигнала, в которых осуществлено кодирование с предсказанием на блочной основе. При применении настоящего изобретения можно уменьшить блочный шум с сохранением текстуры, присущей изображению, соответственно, с осуществлением удаления блочности, которое улучшает субъективное качество изображения.
ОПИСАНИЕ ССЫЛОЧНЫХ ПОЗИЦИЙ
1: устройство для удаления блочности
10: узел обнаружения края
11: узел выделения составляющей края в направлении по оси x
12: узел выделения составляющей края в направлении по оси y
13, 13α: узел определения направления края
20, 20α: запоминающий узел для информации о направлении края
30: запоминающий узел для информации, определяющей фильтруемые пикселы
40: узел определения пикселов
41: узел проверки края смежного блока
42: узел определения фильтруемых пикселов
43: узел определения устойчивости края
44: узел определения конечного фильтруемого пиксела
50: узел принятия решения об использовании фильтра
60: узел фильтрации
70: узел принятия решения о завершении процесса