Способ фильтрации для уменьшения блочности, учитывающий режим intra-bl, и использующий его многоуровневый видеокодер/видеодекодер
Иллюстрации
Показать всеИзобретение относится к технологии сжатия видеоизображений, в частности к фильтрам уменьшения блочности. Техническим результатом является повышение эффективности устранения блочности видеоизображений. Предложен фильтр уменьшения блочности, используемый в видеокодере/видеодекодере на основе множества уровней. В процессе выбора мощности (силы фильтрации) фильтра уменьшения блочности при выполнении фильтрации для уменьшения блочности по отношению к границе между текущим блоком, кодированным в режиме intra-BL, и его соседним блоком определяется, имеет ли коэффициенты текущий блок или соседний блок. Мощность фильтра выбирается в качестве первой мощности фильтра, если определено, что текущий блок или соседний блок имеет коэффициенты; и мощность фильтра выбирается в качестве второй мощности фильтра, если определено, что текущий блок или соседний блок не имеет коэффициентов, причем первая мощность фильтра больше второй мощности фильтра. 7 н. и 15 з.п. ф-лы, 13 ил.
Реферат
Область техники
Способы и устройства в соответствии с настоящим изобретением относятся к технологии сжатия видеоизображения, а конкретнее к фильтру уменьшения блочности, используемому в многоуровневом видеокодере/видеодекодере.
Предшествующий уровень техники
С развитием информационных технологий и техники связи увеличиваются мультимедийные коммуникации в дополнение к передаче речевых сообщений и передаче текстовой информации. Существующие системы связи, сосредоточенные на тексте, являются недостаточными для удовлетворения различных потребностей потребителей, и поэтому увеличиваются мультимедийные услуги, которые могут вмещать в себя различные формы информации, такие как текст, изображение, музыка и другие. Так как мультимедийные данные большие, соответственно требуются носитель большой емкости и широкие полосы пропускания для их хранения и передачи. Соответственно, требуются методики кодирования со сжатием для передачи мультимедийных данных.
Основным принципом сжатия данных является удаление избыточности. Данные могут сжиматься путем удаления пространственной избыточности, например повторения того же цвета или объекта в изображениях, временной избыточности, например похожие соседние кадры в движущихся изображениях или постоянное повторение звуков, и зрительной избыточности/избыточности восприятия, которая учитывает нечувствительность людей к высоким частотам. В обычном способе кодирования видеосигнала временная избыточность удаляется путем временной фильтрации, основанной на компенсации движения, а пространственная избыточность удаляется путем пространственного преобразования.
Чтобы передавать мультимедийные данные, требуются носители передачи, характеристики которых различаются. Используемый в настоящее время носитель передачи обладает различными скоростями передачи. Например, сеть связи с очень высокой скоростью может передавать несколько десятков мегабит данных в секунду, а сеть мобильной связи обладает скоростью передачи в 384 килобита в секунду. Чтобы поддерживать среду передачи в таких условиях передачи и чтобы передавать мультимедийные данные со скоростью передачи, подходящей для условий передачи, наиболее подходящим является способ масштабируемого кодирования данных.
Этот способ кодирования делает возможным выполнение неполного декодирования сжатого битового потока на стороне декодера или предварительного декодера в соответствии со скоростью передачи битов (битрейтам), частотой ошибок и условиями системных ресурсов. Декодер или предварительный декодер может восстанавливать мультимедийную последовательность, имеющую отличающиеся качество изображения, разрешение или частоту кадров, путем заимствования только части битового потока, кодированного способом масштабируемого кодирования.
Что касается такого масштабируемого кодирования видеосигнала, экспертная группа по киноизображению 21 (MPEG-21) PART-13 уже сделала успехи в своей работе по стандартизации. В частности, выполнен большой объем исследований для реализации масштабируемости в способе кодирования видеосигнала на основе множества уровней. В качестве примера такого многоуровневого кодирования видеосигнала многоуровневая структура состоит из базового уровня, первого уровня улучшения и второго уровня улучшения, и соответствующие уровни имеют разные разрешения, например четверть единого промежуточного формата (QCIF), единый промежуточный формат (CIF) и 2CIF, и разные частоты кадров.
Фиг. 1 иллюстрирует пример масштабируемого видеокодека, использующего многоуровневую структуру. В этом видеокодеке базовый уровень установлен в QCIF на 15 Гц (частота кадров), первый уровень улучшения установлен в CIF на 30 Гц и второй уровень улучшения установлен в стандартную четкость (SD) на 60 Гц.
При кодировании такого многоуровневого видеокадра может использоваться корреляция между уровнями. Например, определенная область 12 видеокадра из первого уровня улучшения эффективно кодируется посредством предсказания из соответствующей области 13 видеокадра из базового уровня. Таким же образом область 11 видеокадра из второго уровня улучшения может эффективно кодироваться посредством предсказания из области 12 первого уровня улучшения. Если соответствующие уровни из многоуровневого видеокадра имеют разные разрешения, то перед тем как выполнять предсказание, следует увеличить разрешение изображения базового уровня.
В находящемся в употреблении стандарте масштабируемого кодирования видеосигнала (в дальнейшем называется стандартом SVC), который был выпущен Joint Video Team (JVT), которая является группой экспертов по видео Международной организации по стандартизации/Международной электротехнической комиссии (ISO/IEC) и Международного союза электросвязи (ITU), проводится исследование для реализации многоуровневого видеокодека, как в проиллюстрированном на фиг. 1 примере, на основе существующего стандарта H.264.
Однако H.264 использует дискретное косинусное преобразование (DCT) в качестве способа пространственного преобразования, и в основанном на DCT кодеке возникают нежелательные блочные искажения, когда увеличивается степень сжатия. Имеются две причины блочных искажений.
Первой причиной является целочисленное преобразование DCT на основе блока. Причина состоит в том, что возникает прерывность на границе блока вследствие квантования коэффициентов DCT, обусловленная преобразованием DCT. Так как H.264 использует преобразование DCT размера 4 × 4, которое относительно небольшое, проблема прерывности может быть отчасти уменьшена, но она не может быть полностью устранена.
Второй причиной является предсказание компенсации движения. Блок с компенсацией движения формируется путем копирования данных элемента изображения, интерполированных с другого положения другого опорного кадра. Так как эти наборы данных не точно совпадают друг с другом, возникает прерывность на границе скопированного блока. Также во время процесса копирования эта прерывность переносится в блок с компенсацией движения.
В последнее время разработаны несколько технологий для решения блочных искажений. Для уменьшения эффекта блочности H.264 и MPEG-4 предложили методику компенсации движения с перекрытым блоком (OBMC). Даже если OBMC эффективна в уменьшении блочных искажений, она имеет проблему в том, что она требует большого объема вычислений для предсказания движения, которое выполняется на стороне кодера. Соответственно, H.264 использует фильтр уменьшения блочности, чтобы уменьшить блочные искажения и повысить качество изображения. Процесс фильтрации для уменьшения блочности выполняется на стороне кодера или декодера до того, как восстанавливается макроблок, и после того, как выполняется его обратное преобразование. В этом случае мощность фильтра уменьшения блочности может регулироваться, чтобы удовлетворять различным условиям.
Фиг. 2 - блок-схема алгоритма, объясняющая способ выбора мощности фильтра уменьшения блочности в соответствии с общепринятым стандартом H.264. Здесь блок q и блок p являются двумя блоками, которые задают границу блока, к которой будет применен фильтр уменьшения блочности, и представляют текущий блок и соседний блок. Пять типов мощностей фильтра (указанные как Bs = 0 по 4) устанавливаются в зависимости от того, является ли блок p или q с блоком внутренним кодированием, располагается ли целевая выборка на границе макроблока, является ли блок p или q кодированным блоком и др. Если Bs = 0, это означает, что фильтр уменьшения блочности не применяется к соответствующему целевому пикселю.
Другими словами, согласно общепринятому способу для выбора мощности фильтра уменьшения блочности мощность фильтра основывается на том, являются ли текущий блок, в котором присутствует целевая выборка, и соседний блок блоками с внутренним кодированием, с межблочным кодированием или некодированными. Мощность фильтра также основывается на том, находится ли целевая выборка на границе блока 4 × 4 или на границе блока 16 × 16.
В действующем в настоящее время проекте стандарта SVC в дополнение к существующему способу межблочного кодирования (т.е. межблочному режиму) и способу внутреннего кодирования (т.е. внутреннему режиму) принят способ кодирования intra-BL (т.е. режим intra-BL), который является способом предсказания кадра на текущем уровне путем использования кадра, созданного на более низком уровне, как показано на фиг. 3.
Фиг. 3 - изображение, схематически поясняющее три описанных выше режима кодирования. Выполняется первое (?) внутреннее кодирование определенного макроблока 4 из текущего кадра 1, выполняется второе (?) межблочное кодирование с использованием кадра 2, который является временным положением, отличным от положения текущего кадра 1, и выполняется третье (?) кодирование intra-BL с использованием изображения из области 6 кадра 3 базового уровня, который соответствует макроблоку 4.
Как описано выше, в стандарте масштабируемого кодирования видеосигнала выбирается один эффективный способ из трех способов предсказания в единице макроблока, и соответствующий макроблок кодируется соответственным образом. То есть, для одного макроблока выборочно используется один из способа межблочного предсказания, способа внутреннего предсказания и способа предсказания intra-BL.
Раскрытие изобретения
Техническая проблема
В ныне существующем стандарте SVC мощность фильтра уменьшения блочности фактически выбирается для следования общепринятому стандарту H.264, как показано на фиг. 2.
Тем не менее, поскольку фильтр уменьшения блочности применяется к уровням в многоуровневом видеокодере/видеодекодере, неоправданно строго применять фильтр уменьшения блочности снова к кадру, предоставленному с более низкого уровня, чтобы эффективно предсказывать кадр текущего уровня. Однако, поскольку в находящемся в употреблении стандарте SVC режим intra-BL рассматривается как тип внутреннего кодирования и способ выбора мощности фильтра в соответствии с H.264, как проиллюстрировано на фиг. 2, применяется как есть, и не представляется никакого соображения, кодирован ли текущий блок в режиме intra-BL, когда выбирают мощность фильтра.
Известно, что качество изображения восстановленного видеосигнала сильно повышается, когда мощность фильтра адекватна соответствующим условиям и фильтр уменьшения блочности применяется на адекватной мощности фильтра. Соответственно, необходимо исследовать методики, которые правильно выбирают мощность фильтра, принимая во внимание режим intra-BL во время операции кодирования/декодирования многоуровневого видеосигнала.
Техническое решение
Пояснительные, неограничивающие варианты осуществления настоящего изобретения преодолевают вышеуказанные недостатки и другие недостатки, не описанные выше. Также настоящему изобретению не требуется преодолевать описанные выше недостатки, и пояснительный неограничивающий вариант осуществления настоящего изобретения может не преодолеть ни одну из проблем, описанных выше.
Настоящее изобретение обеспечивает подходящую мощность фильтра уменьшения блочности в соответствии с тем, использует ли определенный блок, к которому будет применяться фильтр уменьшения блочности, режим intra-BL в видеокодере/видеодекодере на основе множества уровней.
Согласно аспекту настоящего изобретения предоставляется способ выбора мощности фильтра уменьшения блочности при выполнении фильтрации для уменьшения блочности по отношению к границе между текущим блоком, кодированным в режиме intra-BL, и его соседним блоком, согласно настоящему изобретению, который включает в себя определение, имеет ли коэффициенты текущий блок или соседний блок, выбор мощности фильтра в качестве первой мощности фильтра, если текущий блок или соседний блок имеет коэффициенты в результате оценки; и выбор мощности фильтра в качестве второй мощности фильтра, если текущий блок или соседний блок не имеет коэффициентов в результате оценки; где первая мощность фильтра больше второй мощности фильтра.
Согласно другому аспекту настоящего изобретения предоставляется способ выбора мощности фильтра уменьшения блочности при выполнении фильтрации для уменьшения блочности по отношению к границе между текущим блоком, кодированным в режиме intra-BL, и его соседним блоком, который включает в себя определение, соответствует ли текущий блок или соседний блок режиму intra-BL, в котором текущий блок и соседний блок имеют одинаковый базовый кадр; выбор мощности фильтра в качестве первой мощности фильтра, если текущий блок или соседний блок не соответствует режиму intra-BL в результате оценки; и выбор мощности фильтра в качестве второй мощности фильтра, если текущий блок или соседний блок соответствует режиму intra-BL в результате оценки; где первая мощность фильтра больше второй мощности фильтра.
Согласно еще одному аспекту настоящего изобретения предоставляется способ выбора мощности фильтра уменьшения блочности при выполнении фильтрации для уменьшения блочности по отношению к границе между текущим блоком, кодированным в режиме intra-BL, и его соседним блоком, который включает в себя определение, имеют ли коэффициенты текущий блок и соседний блок, определение, соответствуют ли текущий блок и соседний блок режиму intra-BL, в котором текущий блок и соседний блок имеют одинаковый базовый кадр, и допуская, что первым условием является то, что текущий блок и соседний блок имеют коэффициенты, а вторым условием является то, что текущий блок и соседний блок не соответствуют режиму intra-BL, в котором текущий блок и соседний блок имеют одинаковый базовый кадр, выбор мощности фильтра в качестве первой мощности фильтра, если удовлетворяются первое и второе условия, выбор мощности фильтра в качестве второй мощности фильтра, если удовлетворяется одно из первого и второго условий, и выбор мощности фильтра в качестве третьей мощности фильтра, если не удовлетворяется ни одно из первого и второго условий; где мощность фильтра постепенно снижается в порядке первой мощности фильтра, второй мощности фильтра и третьей мощности фильтра.
Согласно еще одному аспекту настоящего изобретения предоставляется способ кодирования видеосигнала на основе множества уровней с использованием фильтрации для уменьшения блочности, который включает в себя кодирование входного видеокадра; декодирование кодированного кадра; выбор мощности фильтра уменьшения блочности, которую необходимо применить по отношению к границе между текущим блоком и его соседним блоком, которые включаются в декодированный кадр; и выполнение фильтрации уменьшения блочности по отношению к границе в соответствии с выбранной мощностью фильтра уменьшения блочности; где выбор мощности фильтра уменьшения блочности выполняется, принимая во внимание то, соответствует ли текущий блок режиму intra-BL и имеет ли коэффициенты текущий блок или соседний блок.
Согласно еще одному аспекту настоящего изобретения предоставляется способ декодирования видеосигнала на основе множества уровней с использованием фильтрации для уменьшения блочности, который включает в себя восстановление видеокадра из входного битового потока; выбор мощности фильтра уменьшения блочности, которую необходимо применить по отношению к границе между текущим блоком и его соседним блоком, которые включаются в восстановленный кадр; и выполнение фильтрации для уменьшения блочности по отношению к границе в соответствии с выбранной мощностью фильтра уменьшения блочности; где выбор мощности фильтра уменьшения блочности выполняется, принимая во внимание то, соответствует ли текущий блок режиму intra-BL и имеет ли коэффициенты текущий блок или соседний блок.
Согласно еще одному аспекту настоящего изобретения предоставляется многоуровневый видеокодер, использующий фильтрацию для уменьшения блочности, который включает в себя первый модуль, кодирующий входной видеокадр; второй модуль, декодирующий кодированный кадр; третий модуль, выбирающий мощность фильтра уменьшения блочности, которую необходимо применить по отношению к границе между текущим блоком и его соседним блоком, которые включаются в декодированный кадр; и четвертый модуль, выполняющий фильтрацию для уменьшения блочности по отношению к границе в соответствии с выбранной мощностью фильтра уменьшения блочности; где третий модуль выбирает мощность фильтра, принимая во внимание то, соответствует ли текущий блок режиму intra-BL и имеет ли коэффициенты текущий блок или соседний блок.
Согласно еще одному аспекту настоящего изобретения предоставляется многоуровневый видеодекодер, использующий фильтрацию для уменьшения блочности, который включает в себя первый модуль, восстанавливающий видеокадр из входного битового потока; второй модуль, выбирающий мощность фильтра уменьшения блочности, которую необходимо применить по отношению к границе между текущим блоком и его соседним блоком, которые включаются в восстановленный кадр; и третий модуль, выполняющий фильтрацию для уменьшения блочности по отношению к границе в соответствии с выбранной мощностью фильтра уменьшения блочности; где второй модуль выбирает мощность фильтра, принимая во внимание то, соответствует ли текущий блок режиму intra-BL и имеет ли коэффициенты текущий блок или соседний блок.
Описание чертежей
Вышеупомянутые и другие аспекты настоящего изобретения станут более очевидными из последующего подробного описания типовых вариантов осуществления, воспринятого совместно с прилагаемыми чертежами, на которых:
Фиг. 1 - изображение, иллюстрирующее пример масштабируемого видеокодека, использующего многоуровневую структуру;
Фиг. 2 - блок-схема алгоритма, иллюстрирующая способ выбора мощности фильтра уменьшения блочности в соответствии с общепринятым стандартом H.264;
Фиг. 3 - схема, поясняющая три способа масштабируемого кодирования видеосигнала;
Фиг. 4 - изображение, иллюстрирующее пример режима intra-BL на основе того же базового кадра;
Фиг. 5 - блок-схема алгоритма, иллюстрирующая способ выбора мощности фильтра в многоуровневом видеокодере, согласно типовому варианту осуществления настоящего изобретения;
Фиг. 6 - изображение, иллюстрирующее вертикальную границу и целевые выборки блока;
Фиг. 7 - изображение, иллюстрирующее горизонтальную границу и целевые выборки блока;
Фиг. 8 - изображение, иллюстрирующее позиционную корреляцию текущего блока q с его соседними блоками pa и pb;
Фиг. 9 - блок-схема, иллюстрирующая конструкцию видеокодера разомкнутого цикла согласно типовому варианту осуществления настоящего изобретения;
Фиг. 10 - изображение, иллюстрирующее структуру битового потока, сформированного согласно типовому варианту осуществления настоящего изобретения;
Фиг. 11 - изображение, иллюстрирующее границы макроблока и блоков по отношению к сигналу яркости;
Фиг. 12 - изображение, иллюстрирующее границы макроблока и блоков по отношению к сигналу цветности;
Фиг. 13 - блок-схема, иллюстрирующая конструкцию видеокодера согласно типовому варианту осуществления настоящего изобретения.
Вариант осуществления для изобретения
Ниже будут подробно описываться типовые варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи. Аспекты и признаки настоящего изобретения и способы для достижения аспектов и признаков станут очевидны путем обращения к типовым вариантам осуществления, которые необходимо описать подробно со ссылкой на прилагаемые чертежи. Однако настоящее изобретение не ограничивается раскрытыми ниже типовыми вариантами осуществления, а может быть реализовано в различных формах. Сущности, определенные в описании, например подробная конструкция и элементы, предоставляются для содействия обычным специалистам в данной области техники во всестороннем понимании изобретения, а настоящее изобретение определяется только объемом прилагаемой формулы изобретения. Во всем описании настоящего изобретения одинаковые номера позиций чертежа используются для одинаковых элементов по различным чертежам.
В настоящем изобретении общепринятый режим направленного внутреннего предсказания H.264 (в дальнейшем называется «направленный внутренний режим») и режим intra-BL, который обращается к кадрам другого уровня, строго отделены друг от друга, и режим intra-BL определяется как тип режима межблочного предсказания (в дальнейшем называется «межблочный режим»). Причина в том, что межблочный режим обращается к соседним кадрам на том же уровне при предсказании текущего кадра, и он похож на режим inter-BL, который обращается к кадрам другого уровня, т.е. базовым кадрам, при предсказании текущего кадра. То есть, единственным отличием между межблочным режимом и режимом intra-BL является то, к какому кадру обращаются во время предсказания.
В последующем описании, чтобы четко провести отличия между внутренним режимом H.264 и режимом intra-BL, внутренний режим будет определяться как направленный внутренний режим.
В настоящем изобретении применяется общепринятая мощность фильтра H.264, если текущий блок q не соответствует режиму intra-BL, в то время как новый алгоритм для выбора мощности фильтра применяется, если текущий блок соответствует режиму intra-BL. В соответствии с этим алгоритмом максимальная мощность фильтра (Bs = 4) применяется в случае, когда текущий блок q и соседний блок p соответствуют внутреннему режиму. Или же, текущий блок q может соответствовать режиму intra-BL или межблочному режиму, и в этом случае ставятся первое условие, что текущий блок q или соседний блок p имеет коэффициент, и второе условие, что текущий блок q и соседний блок p не соответствуют режиму intra-BL, в котором блоки p и q имеют одинаковый базовый кадр.
Первое условие полагает, что относительно большая мощность фильтра должна использоваться в случае, когда по меньшей мере один из текущего блока q и соседнего блока p имеет коэффициент. Обычно, если некоторое значение, которое должно кодироваться во время кодирования видеосигнала, меньше чем пороговая величина, оно просто меняется на «0», но не кодируется. Соответственно, включенный в блок коэффициент становится «0», и соответствующий блок может не иметь коэффициента. Фильтр высокой мощности обязан применяться по отношению к блоку, не имеющему коэффициента.
Второе условие полагает, что текущий блок q и соседний блок p не соответствуют режиму intra-BL, в котором блоки p и q имеют одинаковый базовый кадр. Соответственно, в случае когда текущий блок q или соседний блок p соответствует межблочному режиму, или текущий блок q и соседний блок p соответствуют режиму intra-BL, в котором блоки p и q имеют разные базовые кадры, второе условие не удовлетворяется.
Как проиллюстрировано на фиг. 4, допускается, что два блока p и q, которые соответствуют режиму intra-BL, имеют одинаковый базовый кадр 15. Два блока p и q принадлежат текущему кадру 20 и кодируются по отношению к соответствующим областям 11 и 12 в базовом кадре 15. Как описано выше, в случае взятия опорных изображений из одного и того же базового кадра имеется низкая вероятность того, что блочные искажения возникнут на границе между двумя блоками. Тем не менее, если опорные изображения берутся из разных базовых кадров, может быть высокая вероятность того, что возникнут блочные искажения. В межблочном режиме, хотя два блока p и q обращаются к одному и тому же кадру, имеется большая вероятность, что опорные изображения не граничат друг с другом в отличие от двух блоков p и q, и это вызывает высокую вероятность возникновения блочных искажений. Следовательно, в случае когда удовлетворяется второе условие, следует применять относительно высокую мощность фильтра по сравнению со случаем, когда второе условие не удовлетворяется.
В типовом варианте осуществления настоящего изобретения мощность фильтра соответственно устанавливается в «2», если удовлетворяются одновременно первое условие и второе условие, устанавливается в «1», если удовлетворяется одно из первого и второго условий, и устанавливается в «0», если ни одно из первого и второго условий не удовлетворяется. Хотя точные значения мощности фильтра («0», «1», «2» и «4») являются лишь типовыми, порядок мощностей фильтра должен сохраняться, как он есть.
С другой стороны, нет необходимости одновременно определять первое условие и второе условие. Мощность фильтра может выбираться путем определения только первого условия. В этом случае мощность фильтра, которая удовлетворяет первому условию, должна быть по меньшей мере выше, чем мощность фильтра, которая не удовлетворяет первому условию. Таким же образом мощность фильтра может выбираться путем определения только второго условия. В этом случае мощность фильтра, которая удовлетворяет второму условию, должна быть по меньшей мере выше, чем мощность фильтра, которая не удовлетворяет второму условию.
Фиг. 5 - блок-схема алгоритма, иллюстрирующая способ выбора мощности фильтра в многоуровневом видеокодере согласно типовому варианту осуществления настоящего изобретения. В последующем описании термин «видеокодер» используется как общее обозначение видеокодера и видеодекодера. Типовой вариант осуществления настоящего изобретения, который проиллюстрирован на фиг. 5, дополнительно включает в себя операции S110, S115, S125, S130 и S145 по сравнению с общепринятым способом, который проиллюстрирован на фиг. 2.
Сначала выбирается граница соседних блоков (например, блоки 4 х 4 пикселя), к которой необходимо применять фильтр уменьшения блочности (S10). Фильтр уменьшения блочности необходимо применять к части границы блока, в частности к целевым выборкам, которые граничат с границей блока. Целевые выборки означают множество выборок, упорядоченных вокруг границы между текущим блоком q и его соседним блоком p, как показано на фиг. 6 или фиг. 7. Как показано на фиг. 8, с учетом порядка формирования блоков, верхний блок и левый блок текущего блока q соответствуют соседним блокам p (pa и pb), и поэтому объектами, к которым применяется фильтр уменьшения блочности, являются верхняя граница и левая граница текущего блока q. Нижняя граница и правая граница текущего блока q фильтруются во время следующего процесса уменьшения блочности для нижнего блока и правого блока в текущем блоке.
В типовом варианте осуществления настоящего изобретения каждый блок имеет размер 4 × 4 пикселя, поскольку согласно стандарту H.264 минимальным размером переменного блока в предсказании движения является 4 × 4 пикселя. Однако для специалистов в данной области техники будет очевидно, что фильтрация также может применяться к границам блока у блоков 8 х 8 и блоков других размеров.
Ссылаясь на фиг. 6, увидим, что целевые выборки появляются вокруг левой границы текущего блока q в случае, если граница блока является вертикальной. Целевые выборки включают четыре выборки p0, p1, p2 и p3 на левой стороне вертикальной граничной линии, которая находится в соседнем блоке p, и четыре выборки q0, q1, q2 и q3 на правой стороне граничной линии, которая имеется в текущем блоке q. Хотя фильтрации подлежат всего четыре выборки, количество контрольных выборок и количество фильтрованных выборок может изменяться в соответствии с выбранной мощностью фильтра.
Ссылаясь на фиг. 7, увидим, что целевые выборки появляются вокруг верхней границы текущего блока q в случае, в котором граница блока является горизонтальной. Целевые выборки включают в себя четыре выборки p0, p1, p2 и p3, находящиеся в верхней половине горизонтальной граничной линии (соседний блок p), и четыре выборки q0, q1, q2 и q3, находящиеся в нижней половине горизонтальной граничной линии (текущий блок q).
Согласно существующему стандарту H.264 фильтр уменьшения блочности применяется к составляющей сигнала яркости и составляющей сигнала цветности соответственно, и фильтрация последовательно выполняется в порядке растрового сканирования на единице макроблока, которая составляет один кадр. По отношению к соответствующим макроблокам фильтрация в горизонтальном направлении (как показано на фиг. 7) может выполняться после того, как выполнится фильтрация в вертикальном направлении (как показано на фиг. 6), и наоборот.
Ссылаясь снова на фиг. 5, увидим, что после операции S10 определяется, соответствует ли текущий блок q режиму intra-BL (S110). Если в результате оценки текущий блок не соответствует режиму intra-BL («No» в операции S110), то следующим шагом выполняется общепринятый алгоритм выбора мощности фильтра H.264.
В особенности определяется, соответствует ли по меньшей мере один из блока p и блока q, к которым принадлежат целевые выборки, направленному внутреннему режиму (S15). Если по меньшей мере один из блока p и блока q соответствует направленному внутреннему режиму («Yes» в операции S15), то определяется, включается ли граница блока в границу макроблока (S20). Если да, то мощность Bs фильтра устанавливается в «4» (S25); если нет, то Bs устанавливается в «3» (S30). Оценка в операции S20 выполняется с учетом факта, что вероятность возникновения блочного искажения повышается в границе макроблока по сравнению с другими границами блока.
Если ни один из блока p и блока q не соответствует направленному внутреннему режиму («No» в операции S15), то определяется, имеет ли блок p или блок q коэффициенты (S35). Если кодируется по меньшей мере один из блока p и блока q («Yes» в операции S35), то Bs устанавливается в «2» (S40). Однако если опорные кадры блока p и блока q отличаются или количества опорных кадров отличаются («Yes» в операции S45) в состоянии, где ни один из блоков не закодирован («No» в операции S35), то Bs устанавливается в «1» (S50). Причина в том факте, что блоки p и q имеют разные опорные кадры, что означает относительно высокую вероятность того, что возникли блочные искажения.
Если опорные кадры блоков p и q не отличаются или количества опорных кадров между ними не отличаются («No» в операции S45) в результате оценки в операции S45, то определяется, отличаются ли вектора движения блока p и блока q (S55). Причина в том, что поскольку в случае, в котором вектора движения не совпадают друг с другом, хотя оба блока имеют одинаковые опорные кадры («No» в операции S45), вероятность того, что возникли блочные искажения, относительно высока по сравнению со случаем, в котором вектора движения совпадают друг с другом. Если вектора движения блока p и блока q отличаются в операции S55 («Yes» в операции S55), то Bs устанавливается в «1» (S50); если нет, то Bs устанавливается в «0» (S60).
С другой стороны, если блок q соответствует режиму intra-BL в результате оценки в операции S110 («Yes» в операции S110), то мощность фильтра выбирается с использованием первого условия и второго условия, которые предлагаются в соответствии с настоящим изобретением.
В частности, сначала определяется, соответствует ли соседний блок p направленному внутреннему режиму (S115). Если блок p соответствует направленному внутреннему режиму, то Bs устанавливается в «4» (S120). Причина в том, что внутреннее кодирование, которое использует внутрикадровое сходство, значительно усиливает блочные искажения по сравнению с межблочным кодированием, которое использует межкадровое сходство. Соответственно, мощность фильтра относительно повышается, если существует блок с внутренним кодированием по сравнению со случаем, когда блок с внутренним кодированием не существует.
Если блок p не соответствует направленному внутреннему режиму («No» в операции S115), то определяется, удовлетворяются ли первое условие и второе условие. Сначала определяется, удовлетворяется ли первое условие, т.е. имеет ли p или q коэффициенты (S125), и если да, то определяется, соответствуют ли p и q режиму intra-BL, в котором p и q имеют одинаковый базовый кадр (S130). Если p и q соответствуют режиму intra-BL («Yes» в операции S130), т.е. если второе условие не удовлетворяется, то Bs устанавливается в «1» (S140); если второе условие удовлетворяется, то Bs устанавливается в «2» (S135).
Если и p и q не имеют коэффициентов в результате оценки в операции S125 («No» в операции S125), то таким же образом определяется, соответствуют ли p и q режиму intra-BL, в котором p и q имеют одинаковый базовый кадр (S145). Если да («Yes» в операции S145), т.е. если второе условие не удовлетворяется, то Bs устанавливается в «0». Если нет («No» в операции S145), т.е. если второе условие удовлетворяется, то Bs устанавливается в «1».
Как описано выше, в операциях S120, S135, S140 и S150 соответствующие мощности Bs фильтра установлены в «4», «2», «1» и «0». Тем не менее это лишь иллюстративно, и они могут устанавливаться в другие значения при условии, что сохраняется их порядок мощности, без отклонения от объема настоящего изобретения.
В случае, когда текущий блок q соответствует режиму intra-BL («Yes» в операции S110) в отличие от случая, когда он не соответствует режиму intra-BL («No» в операции S110), то операция S20 определения, является ли граница блока границей макроблока, не включается. Причина в том, что может быть подтверждено, что на изменение мощности фильтра не может сильно повлиять тот факт, принадлежит ли граница блока границе макроблока в случае, когда текущий блок соответствует режиму intra-BL.
Фиг. 9 - блок-схема, иллюстрирующая конструкцию многоуровнего видеокодера, который включает в себя фильтр уменьшения блочности, использующий способ выбора мощности фильтра, который показан на фиг. 5. Многоуровневый видеокодер может реализовываться как тип замкнутого цикла или тип разомкнутого цикла. Здесь видеокодер замкнутого цикла выполняет предсказание по отношению к исходному кадру, а видеокодер разомкнутого цикла выполняет предсказание по отношению к восстановленному кадру.
Модуль 280 выбора выбирает и выводит один из сигнала, переданного от устройства 195 повышения дискретизации в кодере 100 базового уровня, переданного сигнала от модуля 260 компенсации движения и переданного сигнала от модуля 270 внутреннего предсказания. Этот выбор выполняется путем выбора из режима intra-BL, режима межблочного предсказания и режима внутреннего предсказания, который имеет самую высокую эффективность кодирования.
Модуль 270 внутреннего предсказания предсказывает изображение текущего блока из изображения восстановленного соседнего блока, предоставленного сумматором 215 в соответствии с указанным режимом внутреннего предсказания. H.264 определяет такой режим внутреннего предсказания, который включает в себя восемь режимов, имеющих направления, и один режим DC. Выбор одного режима из них выполняется путем выбора режима, который обладает самой высокой эффективностью кодирования. Модуль 270 внутреннего предсказания предоставляет сумматору 205 предсказанные блоки, сформированные в соответствии с выбранным режимом внутреннего предсказания.
Модуль 250 оценки движения выполняет оценку движения на текущем макроблоке из входных видеокадров на основе опорного кадра и получает вектора движения. Алгоритмом, который широко используется для оценки движения, является алгоритм сравнения блоков. Этот алгоритм сравнения блоков оценивает смещение, которое соответствует минимальной ошибке, как вектор движения в заданной области поиска опорного кадра. Оценка движения может выполняться с использованием блока движения фиксированного размера или с использованием блока движения, имеющего переменный размер, в соответствии с алгоритмом иерархического сравнения блоков переменного размера (HVSBM). Модуль 250 оценки движения предоставляет модулю 240 энтропийного кодирования данные о движении, например вектора движения, полученные в результате оценки движения, режим блока движения, номер опорного кадра и др.
Модуль 260 компенсации движения выполняет компенсацию движения с использованием вектора движения, вычисленного модулем 250 оценки движения, и опорного кадра и формирует изображение с межблочным предсказанием для текущего кадра.
Вычитающее устройство 205 формирует остаточный кадр путем вычитания сигнала, выбранного модулем 280 выбора, из сигнала текущего входного кадра.
Модуль 220 пространственного преобразования выполняет пространственное преобразование остаточного кадра, сформированного вычитающим устройством 205. DCT, вейвлет-преобразование и другие могут использоваться в качестве способа пространственного преобразования. В результате пространственного преобразования получаются коэффициенты преобразования.