Способ, оборудование и устройства для кодирования и декодирования Российский патент 2024 года по МПК H04N19/117 

Описание патента на изобретение RU2817405C1

ОБЛАСТЬ ТЕХНИКИ

[0001] Настоящее раскрытие относится к области технологий кодирования и декодирования и, в частности, к способу, оборудованию и устройствам для кодирования и декодирования.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

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

[0003] Общие технологии фильтрации включают технологию фильтра устранения блочности (DBF, deblocking filter), технологию адаптивного смещения отсчетов (SAO, Sample Adaptive Offset) и технологию адаптивного контурного фильтра (ALF, Adaptive Loop Filter). Технология DBF используется для устранения эффекта границы блоков, создаваемого блочным кодированием. Технология SAO заключается в выполнении классификации на основе значений пикселей отсчетов и значений градиента окружающих блоков и добавлении различного значения компенсации для каждого класса значений пикселей для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению. Технология ALF используется для фильтрации реконструированного изображения с помощью фильтра Винера для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению.

[0004] Но все технологии фильтрации, такие как DBF, SAO и ALF, выполняют классификацию на основе значения пикселя текущей точки пикселя или на основе взаимосвязи между значением пикселя текущей точки пикселя и значением пикселя окружающей точки пикселя и затем выполняют различные операции фильтрации на основе различных классов. В этом случае может иметь место явление избыточной фильтрации: значения отфильтрованных пикселей намного больше или намного меньше, чем значения неотфильтрованных пикселей, и намного больше или намного меньше, чем исходные значения пикселей. Таким образом, возникают такие проблемы, как плохой эффект фильтрации и плохая производительность кодирования.

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

[0005] В настоящем раскрытии предоставлены способ и оборудование для кодирования и декодирования, а также соответствующие устройства, чтобы улучшить производительность кодирования.

[0006] В настоящем раскрытии предоставляется способ кодирования и декодирования. Способ включает:

[0007] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.

[0008] В настоящем раскрытии предусмотрено устройство декодирования. Устройство содержит:

[0009] память, сконфигурированную для хранения видеоданных;

[00010] декодер, сконфигурированный:

[00011] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определять уточненное значение пикселя текущей точки пикселя.

[00012] В настоящем раскрытии предусмотрено устройство кодирования.

Устройство содержит:

[00013] память, сконфигурированную для хранения видеоданных;

[00014] кодер, сконфигурированный:

[00015] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определять уточненное значение пикселя текущей точки пикселя.

[00016] В настоящем раскрытии предусмотрено устройство декодера. Устройство содержит: процессор и машиночитаемый носитель данных, на котором хранятся машиночитаемые инструкции, выполняемые процессором;

[00017] процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления следующих этапов:

[00018] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.

[00019] В настоящем раскрытии предусмотрено устройство кодера. Устройство содержит процессор и машиночитаемый носитель данных, на котором хранятся машиночитаемые инструкции, выполняемые процессором;

[00020] процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления следующих этапов:

[00021] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.

[00022] Из приведенных выше технических решений видно, что в вариантах осуществления настоящего раскрытия, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может быть определено уточненное значение пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, а именно уточнение выполняется для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, для обеспечения того, чтобы уточненное значение пикселя текущей точки пикселя было ближе к исходному пикселю, что улучшает производительность кодирования. В процессах фильтрации, таких как DBF, SAO и ALF, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, уточнение может выполняться для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, чтобы улучшить эффект фильтрации и производительность кодирования.

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

[00023] Фиг. 1 представляет собой схематическую диаграмму, иллюстрирующую структуру кодирования и декодирования согласно варианту осуществления настоящего изобретения.

[00024] Фиг. 2А и 2В представляют собой схемы, иллюстрирующие разделение блоков в соответствии с вариантом осуществления настоящего изобретения.

[00025] Фиг. 3 представляет собой схематическое представление,

иллюстрирующее фильтрацию для устранения блочности согласно варианту осуществления настоящего раскрытия.

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

[00027] Фиг. 5А представляет собой схематическое представление,

иллюстрирующее аппаратную структуру устройства декодера согласно варианту осуществления настоящего раскрытия.

[00028] Фиг. 5В представляет собой схематическое представление, иллюстрирующее аппаратную структуру устройства кодера в соответствии с вариантом осуществления настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[00029] Термины, используемые в вариантах осуществления настоящего раскрытия, предназначены только для описания конкретных вариантов осуществления изобретения, а не для ограничения вариантов осуществления настоящего раскрытия. Формы единственного числа, используемые в настоящем раскрытии и формуле изобретения, также предназначены для включения форм множественного числа, если в контексте явно не указано иное. Также следует понимать, что используемое здесь сочетание «и/или» относится к любой одной или всем возможным комбинациям одного или более связанных перечисленных элементов. Следует понимать, что, хотя такие термины, как «первый», «второй», «третий» и т.д., могут использоваться в вариантах осуществления настоящего раскрытия для описания различной информации, информация не должна ограничиваться этими терминами. Эти термины используются только для различения информации одного и того же типа. Например, в пределах сущности вариантов осуществления настоящего раскрытия, первая информация также может упоминаться как вторая информация, и аналогичным образом вторая информация также может упоминаться как первая информация, таким образом, выбор терминов зависит от контекста. Кроме того, используемое слово «если» можно интерпретировать как «после», «когда» или «в ответ на».

[00030] Для того чтобы специалисты в данной области могли лучше понять технические решения настоящего раскрытия, технические термины кратко представлены ниже.

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

[00032] Контурный фильтр используется для уменьшения таких проблем, как эффект блочности изображения или плохое качество изображения, для улучшения качества изображения. Контурный фильтр может включать в себя: три фильтра, т.е. DBF, SAO и ALF. DBF является фильтром устранения блочности и используется для устранения эффекта границы блоков, создаваемого кодированием блоков. SAO - это фильтр адаптивного смещения отсчетов, который используется для выполнения классификации на основе значений пикселей отсчетов и значений градиента окружающих блоков и добавления различного значения компенсации для каждого класса значений пикселей для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению. ALF представляет собой адаптивный контурный фильтр и используется для фильтрации реконструированного изображения с помощью фильтра Винера для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению.

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

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

[00035] В некоторых вариантах осуществления изобретения энтропийное кодирование относится к выполнению кодирования без потерь на основе принципа информационной энтропии, которое заключается в том, чтобы последний модуль обработки при сжатии видео преобразовывал последовательность символов элементов, представляющих видеопоследовательность, в один двоичный битовый поток для передачи или хранения. Входные символы могут включать квантованный(е) коэффициенты) преобразования, информацию о векторе движения, информацию о режиме предсказания и синтаксис, относящийся к преобразованию и квантованию, и т.п. Выходные данные модуля энтропийного кодирования - это конечный битовый поток после сжатия исходного видео. Энтропийное кодирование может эффективно устранить статистическую избыточность символов этих видеоэлементов и является одним из важных инструментов для обеспечения эффективности сжатия при кодировании видео.

[00036] В некоторых вариантах осуществления изобретения контурный фильтр используется для уменьшения таких проблем, как эффект блочности или плохое качество изображения, для улучшения качества изображения. Контурный фильтр может включать, не ограничиваясь этим: DBF, SAO и ALF и т.п. Например, в видеоизображении границы блоков изображения не являются непрерывными, и при сжатии и реконструкции изображения наблюдается очевидный эффект блочности, сильно влияющий на качество изображения. Технология DBF может использоваться для выполнения, на границе, фильтрации для устранения блочности. Фильтрация для устранения блочности выполняется на границах всех блоков предсказания (PU, Prediction Unit) и блоков преобразования (TU, Transform Unit), причем фильтрация для устранения блочности включает в себя решение о фильтрации и операцию фильтрации. В процессе принятия решения о фильтрации получают силу границы (например, отсутствие фильтрации, слабая фильтрация или сильная фильтрация) и параметр фильтрации. В процессе операции фильтрации коррекцию для пикселя выполняют на основе силы границы и параметра фильтрации. Например, когда фильтрация выполняется на границе, фильтрация может быть сильной или слабой фильтрацией, которая выполняется с использованием различного количества элементов.

[00037] Фильтр SAO используется для устранения эффекта звона (ringing effect). Эффект звона относится к явлению пульсации, возникающему вокруг края после декодирования из-за искажения квантования высокочастотного переменного коэффициента. Чем больше размер преобразованного блока, тем заметнее эффект звона. Основной принцип SAO состоит в том, чтобы выполнить компенсацию пиковых пикселей кривой реконструкции путем добавления отрицательного значения, а нижних пикселей - путем добавления положительного значения. SAO может, с единицей дерева кодирования (CTU, Coding Tree Unit) в качестве базовой единицы, включать в себя два основных класса форм компенсации: смещение края (ЕО, Edge Offset) и смещение полосы (ВО, Band Offset). Далее вводится технология слияния параметров.

[00038] Фильтр ALF используется для получения оптимального фильтра в среднеквадратическом смысле, т.е. фильтра Винера, на основе исходных сигналов и сигналов искажения. Фильтр ALF может включать, не ограничиваясь этим: ромбовидный фильтр 7*7 или ромбовидный фильтр 5*5, крестообразный фильтр 7*7 плюс квадратный центросимметричный фильтр 3*3 или крестообразный фильтр 7*7 плюс квадратный центросимметричный фильтр 5*5.

[00039] Внутреннее предсказание должно использовать корреляцию видео в пространственной области для выполнения предсказания по одному или более кодированным блокам текущего блока для устранения избыточности видео в пространственной области. Внутреннее предсказание обеспечивает несколько режимов предсказания, каждый из которых соответствует одному направлению текстуры (за исключением режима DC). Например, если текстура изображения расположена горизонтально, режим горизонтального предсказания может лучше предсказывать информацию изображения.

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

[00041] Вектор движения (MV, Motion Vector) при внешнем предсказании может использоваться для представления относительного смещения между текущим блоком текущего изображения и опорным блоком опорного изображения. Каждый блок, полученный разделением, имеет соответствующий вектор движения, который должен быть передан в декодер. Если вектор движения каждого блока кодируется и передается независимо, для большого количества блоков меньшего размера потребляется много битов. Чтобы уменьшить количество битов, используемых для кодирования вектора движения, можно использовать корреляцию в пространственной области между соседними блоками для предсказания вектора движения текущего подлежащего кодированию блока на основе вектора движения соседнего кодированного блока, а затем кодировать разность предсказания. Таким образом, количество битов, представляющих вектор движения, может быть эффективно уменьшено. Исходя из этого, в процессе кодирования вектора движения текущего блока для предсказания вектора движения текущего блока сначала используют вектор движения соседнего кодированного блока, а затем кодируют разность векторов движения (MVD, motion vector difference) между значением предсказания вектора движения (MVP, motion vector prediction) и реальным значением оценки вектора движения.

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

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

[00044] В процессе кодирования флага кодирование флага может осуществляться посредством высокоуровневого синтаксиса. Высокоуровневый синтаксис может использоваться для представления того, разрешить ли включение режима, а именно включение режима разрешается или запрещается высокоуровневым синтаксисом.

[00045] В некоторых вариантах осуществления изобретения высокоуровневый синтаксис может быть высокоуровневым синтаксисом набора параметров последовательности, или высокоуровневым синтаксисом набора параметров изображения, или высокоуровневым синтаксисом заголовка слайса, или высокоуровневым синтаксисом заголовка изображения, что здесь не ограничивается.

[00046] Для высокоуровневого синтаксиса набора параметров последовательности (SPS, sequence parameter set) имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) во всей видеопоследовательности (т.е. в нескольких видеоизображениях). Например, если значением флага является значение А (например, значение 1 и т.п.), видеопоследовательность разрешает включить режим, соответствующий флагу; или, если значением флага является значение В (например, значение 0 и т.п.), видеопоследовательность запрещает включение режима, соответствующего флагу.

[00047] Для высокоуровневого синтаксиса набора параметров изображения (PPS, picture parameter set) имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) в изображении (например, в видеоизображении). Если значение флага равно значению А, видеоизображение разрешает включать режим, соответствующий флагу; если значение флага равно значению В, видеоизображение запрещает включение режима, соответствующего флагу.

[00048] Для высокоуровневого синтаксиса заголовка изображения имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) в заголовке изображения. Если значением флага является значение А, заголовок изображения разрешает включать режим, соответствующий флагу; если значением флага является значение В, заголовок изображения запрещает включение режима, соответствующего флагу. В некоторых вариантах осуществления изобретения заголовок изображения хранит общую информацию только для текущего изображения. Например, когда изображение включает в себя множество слайсов, множество слайсов могут совместно использовать информацию в заголовке изображения.

[00049] Для высокоуровневого синтаксиса заголовка слайса имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) в слайсе. Если значением флага является значение А, слайс разрешает включать режим, соответствующий флагу; если значением флага является значение В, слайс запрещает включение режима, соответствующего флагу. В некоторых вариантах осуществления изобретения одно изображение может включать в себя один или более слайсов, и высокоуровневый синтаксис для заголовка слайса представляет собой высокоуровневый синтаксис, сконфигурированный для каждого слайса.

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

[00051] Для оптимизированного искажения-скорости (RDO, Rate distortion optimized) есть два показателя для оценки эффективности кодирования: битовая скорость передачи и PSNR (peak signal to noise ratio, пиковое отношение сигнал/шум). Чем меньше битовый поток, тем больше степень сжатия; и чем выше PSNR, тем лучше качество восстановленного изображения. При выборе режима дискриминантная формула, по сути, представляет собой комплексную оценку этих двух показателей. Например, стоимость, соответствующая режиму, может быть рассчитана по следующей формуле: J (режим)=В+X*R, где D представляет собой искажение, обычно измеряемое с помощью показателя SSE (sum of squared error, сумма квадратов ошибок), a SSE относится к сумме среднеквадратичных разностей между реконструированным блоком изображения и исходным изображением; X представляет множитель Лагранжа; R представляет фактическое количество битов, необходимых для кодирования блока изображения в этом режиме, включая общее количество битов, необходимых для кодирования информации о режиме, информации о движении, остатках и т.д. При выборе режима, если сравнительное решение принимается для режима кодирования на основе принципа RDO, обычно обеспечивается оптимальная производительность кодирования.

[00052] Технология блочного разделения: одна единица дерева кодирования (CTU, coding tree unit) делится на единицы кодирования (CU, coding unit) с помощью рекурсии квадрадерева. Использование внутреннего или внешнего кодирования определяется на уровне CU выходного узла. CU может быть разделена на две или четыре единицы предсказания (PU, prediction unit), и одна и та же информация предсказания используется в одной PU. После получения остаточной информации после завершения предсказания одна CU может быть разделена посредством квадрадерева на множество единиц преобразования (TU, transform unit). Например, в настоящем раскрытии текущий блок изображения представляет собой одну PU. Кроме того, технология блочного разделения может быть изменена, например, используют структуру разделения, сочетающую двоичное дерево/троичное дерево/квадратичное дерево, для замены исходного режима разделения, чтобы отменить концептуальное различие CU, PU и TU и поддерживать более гибкое разделение CU. CU могут быть получены путем квадратного или прямоугольного разделения. CTU сначала разделяется посредством квадрадерева, а затем конечный узел разделения посредством квадрадерева разделяется посредством двоичного дерева и троичного дерева. Со ссылкой на фиг. 2А, CU могут быть разделены пятью типами разделения, которые представляют собой разделение посредством квадрадерева, разделение посредством горизонтального бинарного дерева, разделение посредством вертикального бинарного дерева, разделение посредством горизонтального троичного дерева и разделение посредством вертикального троичного дерева. Со ссылкой на фиг. 2B, разделение CU в CTU может быть любой комбинацией пяти вышеупомянутых типов разделения. Из вышеизложенного может быть известно, что различные способы разделения позволяют PU иметь разные формы, например, прямоугольники и квадраты разных размеров.

[00053] Способ DBF-фильтрации (фильтрация для устранения блочности): обработка DBF-фильтрации включает два процесса: решение о фильтрации и операцию фильтрации.

[00054] Решение о фильтрации включает в себя 1) получение значения силы границы (значения BS (boundary strength)); 2) решение о включении фильтрации; и 3) выбор силы фильтрации. Для компонента цветности существует только этап 1), и значение BS компонента яркости напрямую мультиплексируется. Для компонента цветности операция фильтрации выполняется только тогда, когда значение BS равно 2 (а именно, по меньшей мере один из блоков с обеих сторон текущего блока использует внутренний режим).

[00055] Операция фильтрации включает 1) сильную фильтрацию и слабую фильтрацию компонента яркости; и 2) фильтрацию компонента цветности.

[00056] В некоторых вариантах осуществления изобретения обработка DBF-фильтрации обычно включает в себя выполнение фильтрации горизонтальной границы (также называемой горизонтальной DBF-фильтрацией) и фильтрации вертикальной границы (также называемой вертикальной DBF-фильтрацией) с 8x8 пикселями в качестве блока. Фильтруется не более трех точек пикселя с обеих сторон границы, и для фильтрации используется не более четырех точек пикселя с обеих сторон границы. Таким образом, горизонтальная DBF-фильтрация и вертикальная DBF-фильтрация разных блоков не влияют друг на друга, а именно горизонтальная DBF-фильтрация и DBF-фильтрация могут выполняться параллельно.

[00057] Как показано на фиг. 3, для текущего блока (например, 8*8 пикселей) вертикальная DBF-фильтрация выполняется по трем столбцам точек пикселей слева от текущего блока и трем столбцам точек пикселей справа от левого блока (блок слева от текущего блока), а затем выполняется горизонтальная DBF-фильтрация по трем строкам точек пикселей на верхней стороне текущего блока и трем строкам точек пикселей на нижней стороне верхнего блока (блок сверху от текущего блока).

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

[00059] В одной возможной реализации поток DBF-фильтрации может включать в себя следующие этапы.

[00060] На этапе S11 значения краевого условия горизонтального направления и вертикального направления соответственно вычисляют с 4*4 в качестве единицы.

[00061] Для границы CU, которая является границей 8*8, значение краевого условия равно 2 (используется для указания того, что компонент яркости и компонент цветности оба подвергаются фильтрации). Для границы единицы предсказания (PU) (например, 1/4, 1/2 и 3/4 горизонтальной линии внутри 2N*hN), которая также является границей 8*8, значение краевого условия равно 1 (используется для указания того, что компонент яркости фильтруется, но компонент цветности не фильтруется). При других обстоятельствах, отличных от двух указанных выше, значение краевого условия равно 0.

[00062] На этапе S12 с размером 4*4 в качестве единицы (фильтрацию выполняют с размером 8*8 в качестве единицы, но такую информацию, как значение краевого условия, сохраняют с единицей 4*4), вертикальную фильтрацию по всем блокам завершают. Когда значение краевого условия не равно 0, выполняют следующий процесс фильтрации.

[00063] 1. Фильтрация компонентов яркости (вертикальную фильтрацию выполняют по четырем строкам вертикальной границы, а горизонтальную фильтрацию выполняют по четырем столбцам горизонтальной границы):

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

[00065] 1.2 Если процесс фильтрации не пропущен, выполняют следующую обработку.

[00066] 1.2.1 Если тип фильтрации (dftype) текущего изображения является типом 1 и ABS(R0-L0)>=4* Alpha, FS равно 0; в противном случае выполняют этап 1.2.2 для определения FS. Alpha - это заранее заданное значение, a ABS() указывает на операцию взятия абсолютного значения.

[00067] 1.2.2 Рассчитывают FL (Flatness Left, плоскостность слева, которая принимает значения 0, 2 или 3) и FR (Flatness Right, плоскостность справа, которая принимает значения 0, 2 или 3). FL и FR используют для определения степени плоскостности внутренней части обеих сторон. Затем определяют FS на основе FL и FR. Например, для определения FS можно использовать следующую формулу: FS=FL+FR.

[00068] 1.2.2.1 Если ABS(L1-L0)<Beta и ABS(L2-L0)<Beta, FL равно 3; если ABS(L1-L0)<Beta и ABS(L2-L0)>=Beta, FL равно 2; если ABS(L1-L0)>=Beta и ABS(L2-L0)<Beta, FL равно 1; в противном случае FL равно 0. Beta - это заранее заданное значение, a ABS() указывает на операцию взятия абсолютного значения.

[00069] 1.2.2.2 FR можно рассчитать таким же образом, как и FL, и здесь это повторяться не будет.

[00070] 1.2.3 Значение BS может быть определено на основе FS (FS может принимать значения 0, 2, 3, 4, 5 или 6, a BS может принимать значения 0, 1, 2, 3 или 4). Например, после получения FS значение BS может быть определено на основе значения FS.

[00071] 1.2.3.1 Если FS меньше или равно 2 (максимум одна сторона умеренно плоская), BS=0.

[00072] 1.2.3.2 Если FS равно 3 (только если одна сторона очень плоская),

BS=(ABS(L1-R1)<Beta) ? 1:0, а именно, если ABS (L1-R1)<Beta, BS=1, а в противном случае BS=0.

[00073] 1.2.3.3 Если FS равно 4 (обе стороны умеренно плоские), BS=(FL==2)? 2:1, а именно, если FL=2, BS=2, а если FL не равно 2, BS=1.

[00074] 1.2.3.4 Если FS равно 5 (т.е. одна сторона умеренно плоская, а другая сильно плоская), то:

[00075] если тип фильтрации (df type) текущего изображения является типом 1, BS=(R1==R0 && L0==L1 && ABS(R2-L2)<Alpha) ? 3: 2; а именно, если значение пикселя точки пикселя R1 равно значению пикселя точки пикселя R0, а значение пикселя точки пикселя L0 равно значению пикселя точки пикселя L1, и абсолютное значение разности между значением пикселя точки R2 пикселя и значением пикселя точки L2 пикселя меньше, чем Alpha (т.е. заранее сконфигурированного значения), BS=3, а в противном случае BS=2.

[00076] В противном случае (а именно, когда тип фильтрации (df type) текущего изображения не является типом 1), если тип фильтрации текущего изображения имеет тип 0, BS=(R1=R0 && L0=L1) ? 3:2; а именно, значение пикселя в точке пикселя R1 равно значению пикселя в точке пикселя R0, а значение пикселя в точке пикселя L0 равно значению пикселя в точке пикселя L1, BS=3, а в противном случае BS=2.

[00077] 1.2.3.5 Если FS равно 6 (обе стороны очень плоские), то:

[00078] если тип фильтрации (df type) текущего изображения является типом 1, BS=(ABS(R0-R1)<=Beta / 4 && ABS(L0-L1)<=Beta / 4 && ABS(R0-L0)<Alpha) && ABS(R0-R3)<=Beta / 2 && ABS(L0-L3)<=Beta / 2 ? 4:3; а именно, если условия ABS(R0-R1)<=Beta/4, ABS(L0-L1)<=Beta/4, ABS(R0-L0)<Alpha, ABS(R0-R3)<=Beta/2 и ABS(L0-L3)<=Beta / 2 все выполнены, BS=4, а в противном случае BS=3.

[00079] В противном случае (т.е. когда тип фильтрации (df type) текущего изображения не является типом 1), если тип фильтрации текущего изображения является типом 0, BS=(ABS(R0-R1)<=Beta / 4 && ABS(L0-L1)<=Beta / 4 && ABS(R0-L0)<Alpha) ? 4:3; а именно, если выполняются условия ABS(R0-R1)<=Beta / 4, ABS(L0-L1)<=Beta / 4 и ABS(R0-L0)<Alpha, BS=4, а в противном случае BS=3.

[00080] 1.2.4 На основе значения BS определяют коэффициент фильтрации и количество отфильтрованных пикселей. Например, если четыре точки пикселя на левой или верхней стороне границы имеют значения от L0 до L3 соответственно (как показано на фиг. 3, с левой стороной на фиг. 3 в качестве примера); четыре точки пикселя на правой или нижней стороне границы имеют значения от R0 до R3 соответственно (как показано на фиг. 3, с правой стороной на фиг. 3 в качестве примера). Для компонента яркости:

[00081] 1.2.4.1 Если BS=4, фильтрацию выполняют по трем пикселям с каждой из обеих сторон границы.

[00082] Для L0 и R0 коэффициент фильтрации равен [3,8,10,8,3]/32, а именно, чтобы определить отфильтрованное значение пикселя точки пикселя L0, выполняют взвешенное суммирование значений пикселей точек пикселей L2, L1, L0, R0 и R1 с соответствующими весовыми коэффициентами (коэффициентами фильтрации), последовательно равными 3/32, 8/32, 10/32, 8/32 и 3/32. Если wj указывает коэффициент фильтрации, когда j=-2 (вторая точка L2 пикселя слева от текущей точки пикселя), wj=3/32; когда j=-1 (первая точка L1 пикселя слева от текущей точки пикселя), wj=8/32; когда j=0 (текущая точка пикселя, т.е. L0), wj=10/32; когда j=1 (первая точка пикселя R0 справа от текущей точки пикселя), wj=8/32; когда j=2 (вторая точка R1 пикселя справа от текущей точки пикселя), wj=3/32. Чтобы определить отфильтрованное значение пикселя точки пикселя R0, выполняют взвешенное суммирование для значений пикселей точек пикселей R2, R1, R0, L0 и L1 с соответствующими весовыми коэффициентами, последовательно равными 3/32, 8/32, 10/32, 8/32 или 3/32. Если wj указывает коэффициент фильтрации, когда j=-2 (вторая точка пикселя R2 справа от текущей точки пикселя), wj=3/32; когда j=-1 (первая точка пикселя R1 справа от текущей точки пикселя), wj=8/32; когда j=0 (текущая точка пикселя, т.е. R0), wj=10/32; когда jj=1 (первая точка пикселя L0 слева от текущей точки пикселя), wj=8/32; когда j=2 (вторая точка L1 пикселя слева от текущей точки пикселя), wj=3/32.

[00083] В заключение, L0'=clip(L2*3+L1*8+L0*10+R0*8+R1*3+16) >> 5), где L0' - отфильтрованное значение пикселя точки пикселя L0, L0 до L2 соответственно указывают значения пикселей в точках пикселей от L0 до L2 перед фильтрацией, a R0 до R1 соответственно указывают значения пикселей в точках пикселей от R0 до R1, те же обозначения используются ниже. R0 - clip((R2*3+R1*8+R0*10+L0*8+L1*3+16) >> 5) >> 5).

[00084] В приведенных выше формулах «»» указывает на операцию сдвига вправо вместо деления, например, «>>5» эквивалентно делению на 25 (32). Умножение («*») можно заменить сдвигом влево, например, а, умноженное на 4, можно заменить сдвигом на две позиции влево, а именно на а<<2; а, умноженное на 10, может быть заменено на (а<<3)+(а<<1). ««» - это операция сдвига влево для замены умножения, например, «а<<2» эквивалентно умножению на 22 (4). Когда операция деления выполняется сдвигом, результат операции может быть округлен напрямую, а именно, когда результат операции является нецелым числом между N и N+1, результатом операции является N. Когда дробная часть больше 0,5, результат операции получают как N+1 для повышения точности. Поэтому, для повышения точности определенного значения пикселя 1/2 знаменателя (т.е. делимого) может быть добавлена к числителю вышеуказанной взвешенной суммы во время работы для достижения эффекта округления. Возьмем, к примеру, L0', сдвиг на пять позиций вправо эквивалентен делению на 25 (32). В результате к числителю взвешенной суммы можно добавить 16. clip(x) указывает операцию обрезки. Когда х выше верхнего предела заданного диапазона значений, значение х устанавливают равным верхнему пределу заданного диапазона значений; когда х ниже нижнего предела заданного диапазона значений, значение х устанавливают равным нижнему пределу заданного диапазона значений.

[00085] Для L1 и R1 коэффициент фильтрации равен [4, 5, 4, 3]/16, и на основе этого L1'=clip((L2*4+L1*5+L0*4+R0*3+8) >> 4), и R1'=clip((R2*4+R1*5+R0*4+L0*3+8) >> 4).

[00086] Для L2 и R2 коэффициент фильтрации равен [2, 2, 2, 1, 1]/8, и, таким образом, L2'=clip((L3*2+L2*2+L1*2+L0*1+R0*1+4) >> 3) и R2'=clip((R3*2+R2*2+R1*2+R0* 1+L0* 1+4) >> 3).

[00087] 1.2.4.2 Если BS=3, фильтрацию выполняют по двум пикселям с каждой из обеих сторон границы:

[00088] Для L0 и R0 коэффициент фильтрации равен [1, 4, 6, 4, 1]/16, поэтому L0'=clip(L2*1+L1*4+L0*6+R0*4+R1*1+8) >> 4 и R0'=clip(R2*1+R1*4+R0*6+L0*4+L1*1+8) >> 4.

[00089] Для L1 и R1 коэффициент фильтрации равен [3, 8, 4, 1]/16 и, таким образом, L1'=clip((L2*3+L1*8+L0*4+R0*1+8) >> 4) и R1'=clip((R2*3+R1*8+R0*4+L0*1+8) >> 4).

[00090] 1.2.4.3 Если BS=2, фильтрацию выполняют по одному пикселю с каждой из обеих сторон границы:

[00091] Для L0 и R0 коэффициент фильтрации равен [3, 10, 3]/16, и на основе этого L0'=clip(L1*3+L0*10+R0*3+8) >> 4 и R0'=clip(R1*3+R0*10+L0*3+8) >> 4.

[00092] 1.2.4.4 Если BS=1, фильтрацию выполняют по одному пикселю с каждой из обеих сторон границы: для L0 и R0 коэффициент фильтрации равен [3, 1]/4, и, таким образом, L0'=clip(L0*3+R0*1+2)»2, и R0'=clip(R0*3+L0*1+2)»2.

[00093] 1.2.4.5 Если BS=0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы.

[00094] 2. Когда значение краевого условия равно 2, выполняют фильтрацию цветности на границе блока 16x16, а именно выполняют фильтрацию компонента цветности на границе блока 16×16. Процесс фильтрации компонента цветности описан ниже:

[00095] 2.1 Сначала определяют, следует ли выполнять фильтрацию, и процесс аналогичен процессу фильтрации компонента яркости и не будет здесь повторяться.

[00096] 2.2 Если необходимо выполнить фильтрацию (т.е. процесс фильтрации не пропускают), то соответственно вычисляют FL и FR, затем на основе FL и FR получают FS, а затем на основе FS получают значение BS. Этот процесс также аналогичен процессу фильтрации компонента яркости, поэтому здесь он повторяться не будет.

[00097] 2.3 Полученное значение BS (например, 4, 3, 2, 1, 0 и т.п.) компонента цветности уменьшают на 1, а именно, значение BS может быть равно 3, 2, 1 или 0. Процесс фильтрации компонента цветности выполняют на основе значения BS в следующем процессе.

[00098] Если BS=3, фильтрацию выполняют на двух пикселях с каждой из обеих сторон границы: для L0 и R0 коэффициент фильтрации равен [3, 10, 3]/16, таким образом, L0'=clip(L1*3+L0*10+R0*3+8) >> 4 и R0'=clip(R1*3+R0*10+L0*3+8) >> 4. Для L1 и R1 коэффициент фильтрации равен [3, 8, 3, 2]/16, и, таким образом, L1'=clip((L2*3+L1*8+L0*3+R0*2+8) >> 4) и R1'=clip((R2*3+R1*8+R0*3+L0*2+8) >> 4).

[00099] Если BS=2 или BS=1, фильтрацию выполняют по одному пикселю с каждой из обеих сторон границы: для L0 и R0 коэффициент фильтрации равен [3, 10, 3]/16, и, таким образом, L0'=clip (L1*3+L0*10+R0*3+8) >> 4 и R0'=clip(R1*3+R0*10+L0*3+8) >> 4. Если BS=0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы.

[000100] В некоторых вариантах осуществления изобретения Alpha и Beta в описанном выше процессе связаны со средним значением QP блоков по обеим сторонам границы, а именно со средним значением QP текущего блока и левого блока текущего блока (для вертикального DBF-фильтра) или средним значением QP текущего блока и верхнего блока текущего блока (для горизонтального DBF-фильтра). Значения Alpha и Beta могут быть получены путем поиска в таблице, что здесь не ограничивается.

[000101] На этапе S13 с размером 4*4 в качестве единицы (фильтрацию выполняют с размером 8*8 в качестве единицы, и такую информацию, как значение краевого условия, сохраняют с размером 4*4 в качестве единицы), горизонтальную фильтрацию для всех блоков завершают, и реализация аналогична этапу S12 и здесь не повторяется.

[000102] В смежных областях технологии фильтрации, такие как DBF, SAO и ALF, выполняют классификацию на основе значения пикселя текущей точки пикселя или на основе взаимосвязи между значением пикселя текущей точки пикселя и значением пикселя окружающей точки пикселя, а затем выполняют различные операции фильтрации на основе различных классов. В этом случае может иметь место явление избыточной фильтрации, а именно, значения отфильтрованных пикселей намного больше или намного меньше, чем значения неотфильтрованных пикселей, и намного больше или намного меньше, чем исходные значения пикселей. Таким образом, возникают такие проблемы, как плохой эффект фильтрации и плохая производительность кодирования.

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

[000104] В сочетании с конкретными вариантами осуществления способ кодирования и декодирования в вариантах осуществления настоящего раскрытия будет подробно описан ниже.

[000105] Вариант 1 осуществления изобретения: вариант осуществления настоящего раскрытия обеспечивает способ кодирования и декодирования, который применяется в кодере или декодере. На фиг. 4 показана блок-схема, иллюстрирующая способ кодирования и декодирования. Способ кодирования и декодирования может включать следующие этапы.

[000106] На этапе 401, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя.

[000107] В некоторых вариантах осуществления изобретения значение градиента текущей точки пикселя может быть определено на основе разности между исходным значением пикселя текущей точки пикселя и исходным значением пикселя окружающей точки пикселя, а именно, значение градиента текущей точки пикселя отражает разность между двумя значениями пикселей.

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

[000109] Например, как показано на фиг. 3, если текущая точка пикселя представляет собой R0 в текущем блоке, окружающая точка пикселя текущей точки пикселя может быть L0 в левом соседнем блоке текущего блока. Если текущая точка пикселя является точкой пикселя первой строки и второго столбца в текущем блоке, окружающая точка пикселя текущей точки пикселя может быть точкой пикселя восьмой строки и второго столбца в верхнем соседнем блоке текущего блока.

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

[000111] В одной возможной реализации, если значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения. Например, на основе суммы исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения определяют уточненное значение пикселя текущей точки пикселя. Если значение градиента текущей точки пикселя меньше второго порогового значения уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения. Например, на основе суммы исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения определяют уточненное значение пикселя текущей точки пикселя. В некоторых вариантах осуществления изобретения первое пороговое значение уточнения и второе пороговое значение уточнения могут быть противоположны друг другу. Конечно, первое пороговое значение уточнения и второе пороговое значение уточнения также могут не быть противоположными друг другу числами и могут быть установлены произвольно.

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

[000113] В некоторых вариантах осуществления изобретения опорная точка пикселя может быть точкой пикселя, соседней с текущей точкой пикселя в соседнем блоке, или точкой пикселя, не соседствующей с текущей точкой пикселя в соседнем блоке, что здесь не ограничивается. Например, как показано на фиг. 3, если текущей точкой пикселя является R0 в текущем блоке, опорной точкой пикселя может быть L0 в левом соседнем блоке текущего блока, или L1, или L2 и т.п.в левом соседнем блоке текущего блока, что здесь не ограничивается. Если текущая точка пикселя представляет собой R1 в текущем блоке, опорной точкой пикселя может быть L0 в левом соседнем блоке текущего блока, или L1, или L2 и т.п.в левом соседнем блоке текущего блока, что здесь не ограничивается. Если текущая точка пикселя является точкой пикселя первой строки и второго столбца в текущем блоке, опорная точка пикселя может быть точкой пикселя восьмой строки и второго столбца в верхнем соседнем блоке текущего блока, или точкой пикселя седьмой строки и второго столбца в верхнем соседнем блоке текущего блока, что здесь не ограничивается.

[000114] В некоторых вариантах осуществления изобретения значение градиента опорной точки пикселя может быть определено на основе разности между исходным значением пикселя опорной точки пикселя и исходным значением пикселя окружающей точки пикселя опорной точки пикселя, а именно, значение градиента отражает разность между двумя значениями пикселей.

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

[000116] В одной возможной реализации окружающая точка пикселя для опорной точки пикселя может быть текущей точкой пикселя в текущем блоке, и аналогичным образом окружающая точка пикселя текущей точки пикселя может быть опорной точкой пикселя в соседнем блоке текущего блока.

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

[000118] Например, если значение градиента опорной точки пикселя больше третьего порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения, например, уточненное значение пикселя опорной точки пикселя определяют на основе суммы исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения. Если значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения, например, уточненное значение пикселя опорной точки пикселя определяют на основе суммы исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения.

[000119] В некоторых вариантах осуществления изобретения третье пороговое значение уточнения и четвертое пороговое значение уточнения могут быть противоположными друг другу числами. Конечно, третье пороговое значение уточнения и четвертое пороговое значение уточнения также могут не быть противоположными друг другу числами и могут быть установлены произвольно.

[000120] В одной возможной реализации первое пороговое значение уточнения, второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса.

[000121] В некоторых вариантах осуществления изобретения, если первое пороговое значение уточнения и второе пороговое значение уточнения являются числами, противоположными друг другу, второе пороговое значение уточнения может быть получено после того, как определено первое пороговое значение уточнения из высокоуровневого синтаксиса; и первое пороговое значение уточнения может быть получено после определения второго порогового значения уточнения из высокоуровневого синтаксиса. Если третье пороговое значение уточнения и четвертое пороговое значение уточнения являются числами, противоположными друг другу, четвертое пороговое значение уточнения может быть получено после определения третьего порогового значения уточнения из высокоуровневого синтаксиса; и третье пороговое значение уточнения может быть получено после определения четвертого порогового значения уточнения из высокоуровневого синтаксиса.

[000122] В одной возможной реализации определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может включать, не ограничиваясь этим, следующее: если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения. Например, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, представляет собой заранее заданное первое значение, определяют, что сила границы подлежащей фильтрации границы удовлетворяет условию включения расширенного режима уточнения. В некоторых вариантах осуществления изобретения заранее заданное первое значение может быть равно 0. Конечно, заранее заданное первое значение может также быть другим числом.

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

[000124] В некоторых вариантах осуществления изобретения до того, как будет определено, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может быть получен флаг включения расширенного режима уточнения, соответствующий текущему блоку. Если флаг включения расширенного режима уточнения, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим уточнения, определяют, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима уточнения, т.е. определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения или не удовлетворяет условию включения расширенного режима уточнения.

[000125] Опционально, если флаг включения расширенного режима уточнения, соответствующий текущему блоку, запрещает текущему блоку включать расширенный режим уточнения, непосредственно определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.

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

[000127] Например, если значение флага включения расширенного режима уточнения является первым значением (например, 1), то флаг включения расширенного режима уточнения разрешает текущему блоку включить расширенный режим уточнения; если значение флага включения расширенного режима уточнения является вторым значением (например, 0), то флаг включения расширенного режима уточнения запрещает текущему блоку включать расширенный режим уточнения.

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

[000129] Из приведенных выше технических решений видно, что в вариантах осуществления настоящего раскрытия, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может быть определено уточненное значение пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, а именно уточнение выполняют для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, для обеспечения того, чтобы уточненное значение пикселя текущей точки пикселя было ближе к исходному пикселю, что улучшает производительность кодирования. В процессах фильтрации, таких как DBF, SAO и ALF, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, уточнение может выполняться для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, чтобы улучшить эффект фильтрации и производительность кодирования.

[000130] В одной возможной реализации, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, фильтрация для устранения блочности (DBF-фильтрация) также может выполняться над исходным значением пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя. Конечно, фильтрация для устранения блочности является только примером, и, таким образом, может использоваться другой режим фильтрации для выполнения фильтрации исходного значения пикселя текущей точки пикселя. Например, фильтрация SAO выполняется для исходного значения пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя. В качестве альтернативы фильтрация ALF выполняется для исходного значения пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя.

[000131] В некоторых вариантах осуществления изобретения, с фильтрацией для устранения блочности в качестве примера, со ссылкой на этапы S11-13, фильтрацию для устранения блочности выполняют над исходным значением пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя, что здесь не повторяется.

[000132] Из непрерывного рассмотрения этапов S11-13 видно, что, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, процесс фильтрации будет пропущен, а в противном случае будет выполняться. Когда должен быть выполнен процесс фильтрации, также может быть получено значение BS. Если значение BS равно 0, фильтрацию не выполняют, а именно не выполняют фильтрацию пикселей по обе стороны от границы. Если значение BS больше 0, фильтрацию выполняют для пикселей с обеих сторон границы. В заключение, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации. Если условие, согласно которому блоки по обе стороны границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, не выполняется (т.е. блоки по обе стороны границы не являются блоками, не относящимися к внутреннему режиму, или блоки по обе стороны границы имеют остатки или движения блоков по обе стороны границы не согласованы) и BS равно 0, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации. Если условие, согласно которому блоки по обе стороны от границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, не выполняется, a BS больше 0, текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации.

[000133] Следует отметить, что, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения; если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации.

[000134] На основе того факта, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации и фильтрация для устранения блочности выполняется для исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя, также необходимо определить, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя текущей точки пикселя определяют на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя, и уточненное значение пикселя текущей точки пикселя принимают в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности). Если текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации, отфильтрованное значение пикселя текущей точки пикселя не корректируют, а принимают в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности).

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

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

[000137] В одной возможной реализации, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, опорная точка пикселя, соответствующая текущей точке пикселя, также может быть определена из соседнего блока текущего блока, и фильтрацию для устранения блочности (DBF-фильтрацию) выполняют для исходного значения пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя. Конечно, фильтрация для устранения блочности является только примером, и может использоваться другой режим фильтрации для выполнения фильтрации исходного значения пикселя опорной точки пикселя. Например, фильтрацию SAO или фильтрацию ALF выполняют для исходного значения пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя.

[000138] В некоторых вариантах осуществления изобретения, с фильтрацией для устранения блочности в качестве примера, со ссылкой на этапы S11-13, фильтрацию для устранения блочности выполняют над исходным значением пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя, что здесь не повторяется.

[000139] В некоторых вариантах осуществления изобретения опорная точка пикселя может быть точкой пикселя, соседней с текущей точкой пикселя в соседнем блоке, или точкой пикселя, не соседствующей с текущей точкой пикселя в соседнем блоке, что здесь не ограничивается.

[000140] На основе того факта, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации и фильтрация для устранения блочности выполняется для исходного значения пикселя опорной точки пикселя для получения отфильтрованного значения пикселя опорной точки пикселя, также необходимо определить, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя опорной точки пикселя определяют на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя, и уточненное значение пикселя опорной точки пикселя принимают в качестве целевого значения пикселя опорной точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности). Если текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации, отфильтрованное значение пикселя опорной точки пикселя не корректируют, а отфильтрованное значение пикселя опорной точки пикселя принимают в качестве целевого значения пикселя опорной точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности).

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

[000142] В одной возможной реализации первое пороговое значение фильтрации, второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса.

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

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

[000145] В некоторых вариантах осуществления изобретения до того, как будет определено, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, может быть получен флаг включения расширенного режима фильтрации, соответствующий текущему блоку. Если флаг включения расширенного режима фильтрации, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим фильтрации, определяют, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации, т.е. определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации или не удовлетворяет условию включения расширенного режима фильтрации.

[000146] Опционально, если флаг включения расширенного режима фильтрации, соответствующий текущему блоку, запрещает текущему блоку включать расширенный режим фильтрации, непосредственно определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации.

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

[000148] Например, если значение флага включения расширенного режима фильтрации является первым значением (например, 1), флаг включения расширенного режима фильтрации разрешает текущему блоку включить расширенный режим фильтрации; если значение флага включения расширенного режима фильтрации является вторым значением (например, 0), то флаг включения расширенного режима фильтрации запрещает текущему блоку включать расширенный режим фильтрации.

[000149] В некоторых вариантах осуществления изобретения, в приведенных выше вариантах осуществления изобретения, высокоуровневый синтаксис включает в себя, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис набора параметров последовательности (SPS, sequence parameter set), высокоуровневый синтаксис набора параметров изображения (PPS, picture parameter set), высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения, высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис единицы дерева кодирования (CTU) и высокоуровневый синтаксис единицы кодирования (CU).

[000150] В некоторых вариантах осуществления изобретения, в приведенных выше вариантах осуществления изобретения, значение пикселя текущей точки пикселя в текущем блоке может быть компонентом яркости или компонентом цветности.

[000151] Из приведенных выше технических решений видно, что, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя текущей точки пикселя может быть определено на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя, а именно уточнение выполняют для исходного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя, для обеспечения того, чтобы уточненное значение пикселя текущей точки пикселя было ближе к исходному пикселю, что улучшает производительность кодирования. В процессах фильтрации, таких как DBF, SAO и ALF, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, может выполняться уточнение исходного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя для улучшения эффекта фильтрации и производительности кодирования.

[000152] Вариант 2 осуществления изобретения: когда должна быть выполнена фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Например, если блоки с обеих сторон границы (т.е. текущий блок и соседний блок текущего блока, который для вертикальной границы является левым соседним блоком текущего блока, а для горизонтальной границы является верхним соседним блоком текущего блока) являются блоками, не относящимися к внутреннему режиму, (а именно, ни текущий блок, ни соседний блок не являются блоками внутреннего режима), без остатков (отсутствие остатков между текущим блоком и соседним блоком), но с согласованным движением (текущий блок и соседний блок согласованы в движении), процесс фильтрации пропускают, в противном случае процесс фильтрации не пропускают. Таким образом, «пропустить процесс фильтрации» можно использовать в качестве условия включения расширенного режима уточнения, а именно, если процесс фильтрации пропускают для текущей точки пикселя в текущем блоке, текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения. Когда текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения, чтобы сделать значение пикселя ближе к исходному пикселю.

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

[000154] В некоторых вариантах осуществления изобретения, когда текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения. Например, значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя, а уточненное значение пикселя текущей точки пикселя определяют на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя. Процесс уточнения уточненного значения пикселя может относиться к последующим вариантам осуществления изобретения и здесь повторяться не будет.

[000155] Вариант 3 осуществления изобретения: когда должна быть выполнена фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Например, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков, но с согласованным движением, процесс фильтрации пропускают, в противном случае процесс фильтрации не пропускают. Когда процесс фильтрации не пропускают, также может быть определено значение BS. Если значение BS больше 0 (например, значение BS равно 1, 2, 3, 4 и т.п.), фильтрация может выполняться для пикселей с обеих сторон границы. Если значение BS равно 0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы. Таким образом, «значение BS равно 0» может быть принято в качестве условия включения расширенного режима уточнения, а именно: если значение BS текущей точки пикселя в текущем блоке равно 0, текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения; если значение BS текущей точки пикселя в текущем блоке больше 0, текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.

[000156] В некоторых вариантах осуществления изобретения, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определяют, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения. Например, сначала определяют силу границы подлежащей фильтрации границы, соответствующей текущей точке пикселя. Если сила границы представляет собой заранее заданное первое значение, определяют, что сила границы удовлетворяет условию включения расширенного режима уточнения. Заранее заданное первое значение может быть установлено на основе опыта, например, установлено в 0. В заключение, сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, равна 0, это указывает на то, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, удовлетворяет условию включения расширенного режим уточнения, и определяют, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения.

[000157] Опционально, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, не удовлетворяет условию включения расширенного режима уточнения, определяют, что текущая точка пикселя не удовлетворяет условию включения расширенного режима уточнения. Например, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, не является заранее заданным первым значением, определяют, что сила границы не удовлетворяет условию включения расширенного режима уточнения. Таким образом, определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.

[000158] В некоторых вариантах осуществления изобретения, когда текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения, чтобы сделать значение пикселя ближе к исходному пикселю. Например, значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя, а уточненное значение пикселя текущей точки пикселя определяют на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя. Процесс уточнения уточненного значения пикселя может относиться к последующим вариантам осуществления изобретения.

[000159] Вариант 4 осуществления изобретения: когда должна выполняться фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Например, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков, но с согласованным движением, процесс фильтрации пропускают, в противном случае процесс фильтрации не пропускают. Когда процесс фильтрации не пропускают, также может быть определено значение BS. Если значение BS больше 0 (например, значение BS равно 1, 2, 3, 4 и т.п.), фильтрация может выполняться для пикселей с обеих сторон границы. Если значение BS равно 0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы. Таким образом, «значение BS больше 0» можно принять за условие включения общего режима фильтрации, а именно: если значение BS текущей точки пикселя в текущем блоке больше 0, текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации; если значение BS текущей точки пикселя в текущем блоке равно 0, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации.

[000160] В некоторых вариантах осуществления изобретения, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения общего режима фильтрации, определяют, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации. Например, сначала может быть определена сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя. Если сила границы представляет собой заранее заданное второе значение, определяют, что сила границы удовлетворяет условию включения общего режима фильтрации. Заранее заданное второе значение может быть установлено на основе опыта, например, может быть установлено больше 0, например, равным 1, 2, 3, 4 и т.п. Одним словом, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, больше 0 (т.е. сила границы не равна 0), это указывает на то, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, удовлетворяет условию включения общего режима фильтрации, и определяют, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации.

[000161] В качестве альтернативы, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, не удовлетворяет условию включения общего режима фильтрации, определяют, что текущая точка пикселя не удовлетворяет условию включения общего режима фильтрации. Например, сила границы (например, 0) подлежащей фильтрации границы, соответствующей текущей точке пикселя, не является заранее заданным вторым значением, определяют, что сила границы не удовлетворяет условию включения общего режима фильтрации. Таким образом, определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации.

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

[000163] Вариант 5 осуществления изобретения: на основе того факта, что текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, и фильтрация для устранения блочности выполняется над исходным значением пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя, также должно быть определено, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Например, определяют, превышает ли абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя заранее заданное пороговое значение. Если абсолютное значение больше заранее заданного порогового значения, определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации; если абсолютное значение не больше заранее заданного порогового значения, определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации. В заключение, удовлетворение текущей точкой пикселя в текущем блоке условию включения расширенного режима фильтрации может включать следующее: если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима фильтрации, и абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя превышает заранее заданное пороговое значение, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации.

[000164] В сочетании с конкретными вариантами осуществления изобретения условие включения расширенного режима фильтрации будет описано ниже.

[000165] Когда должна выполняться фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Когда процесс фильтрации не пропускают, также может быть определено значение BS. Если значение BS больше 0, фильтрация может выполняться для пикселей с обеих сторон границы. Следовательно, «значение BS больше 0» принимается как условие включения расширенного режима фильтрации, а именно «значение BS больше 0» принимается как условия включения общего режима фильтрации и расширенного режима фильтрации одновременно. Когда значение BS больше 0, должна выполняться фильтрация для устранения блочности для исходного значения пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя. После получения отфильтрованного значения пикселя текущей точки пикселя также определяют, превышает ли абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя заранее заданное пороговое значение, и «абсолютное значение разности больше заранее заданного порогового значения» принимается в качестве условия включения расширенного режима фильтрации.

[000166] В заключение, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима фильтрации, и абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя превышает заранее заданное пороговое значение, определяют, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации. В противном случае определяют, что текущая точка пикселя не удовлетворяет условию включения расширенного режима фильтрации. Например, сначала определяют силу границы подлежащей фильтрации границы, соответствующей текущей точке пикселя. Если сила границы является заранее заданным вторым значением, определяют, что сила границы удовлетворяет условию включения расширенного режима фильтрации. Заранее заданное второе значение устанавливают на основе опыта, например, устанавливают его больше 0, например, равным 1, 2, 3 или 4 и т.п.

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

[000168] Из приведенных выше вариантов осуществления изобретения 1, 2, 3, 4 и 5 видно, что на основе расширенного режима уточнения, общего режима фильтрации и расширенного режима фильтрации, используемых в настоящем раскрытии, исходное значение пикселя текущей точки пикселя обрабатывают для получения целевого значения пикселя текущей точки пикселя (т.е. конечного значения пикселя). Например, если текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе значения градиента текущей точки пикселя в расширенном режиме уточнения для получения уточненного значения пикселя текущей точки пикселя, а уточненное значение пикселя принимают в качестве целевого значения пикселя. Другой пример: если текущая точка пикселя удовлетворяет условию включения общего режима фильтрации, но не удовлетворяет условию включения расширенного режима фильтрации, исходное значение пикселя текущей точки пикселя может быть отфильтровано в общем режиме фильтрации для получения отфильтрованного значения пикселя текущей точки пикселя, а отфильтрованное значение пикселя принимают в качестве целевого значения пикселя. В другом примере, если текущая точка пикселя удовлетворяет как условию включения общего режима фильтрации, так и условию включения расширенного режима фильтрации, исходное значение пикселя текущей точки пикселя фильтруют в расширенном режиме фильтрации для получения отфильтрованного значения пикселя текущей точки пикселя, и исходное значение пикселя текущей точки пикселя уточняют на основе отфильтрованного значения пикселя текущей точки пикселя для получения уточненного значения пикселя текущей точки пикселя, а затем отфильтрованное значение пикселя принимают в качестве целевого значения пикселя.

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

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

[000171] В некоторых вариантах осуществления изобретения, например, расширенный режим уточнения, общий режим фильтрации и расширенный режим фильтрации относятся к режиму фильтрации для устранения блочности. Таким образом, общий режим фильтрации может называться общим режимом режима фильтрации для устранения блочности, а именно, после того, как фильтрация для устранения блочности выполняется над исходным значением пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя, значение пикселя больше не корректируют. Расширенный режим фильтрации может называться режимом уточнения для устранения блочности (DBR, deblocking refinement), а именно, после того, как фильтрация для устранения блочности выполнена для исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя, также должно быть выполнено уточнение значения пикселя, отфильтрованного посредством фильтрации для устранения блочности. Расширенный режим уточнения может упоминаться как альтернативный режим уточнения для устранения блочности (ADBR, alternative deblocking refinement), а именно, без выполнения фильтрации для устранения блочности для исходного значения пикселя текущей точки пикселя, исходное значение пикселя текущей точки пикселя уточняют напрямую.

[000172] Вариант 6 осуществления изобретения: для вариантов осуществления изобретения 1, 2 и 3 исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения. Уточнение исходного значения пикселя может включать в себя следующие этапы.

[000173] На этапе S21 на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя определяют значение градиента текущей точки пикселя. Например, значение градиента текущей точки пикселя определяют на основе разности между исходным значением пикселя текущей точки пикселя и исходным значением пикселя окружающей точки пикселя, что не ограничивается здесь.

[000174] На этапе S22 опорную точку пикселя, соответствующую текущей точке пикселя, определяют из соседнего блока текущего блока (для вертикальной границы соседним блоком является левый соседний блок текущего блока, а для горизонтальной границы соседним блоком является верхний соседний блок текущего блока), и значение градиента опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и исходного значения пикселя окружающей точки пикселя опорной точки пикселя. Например, значение градиента опорной точки пикселя может быть определено на основе разности между исходным значением пикселя опорной точки пикселя и исходным значением пикселя окружающей точки пикселя опорной точки пикселя, что не ограничивается в настоящем документе.

[000175] В некоторых вариантах осуществления изобретения значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя (например, окружающая точка пикселя является опорной точкой пикселя), а значение градиента опорной точки пикселя определяют на основе исходного значения пикселя окружающей точки пикселя опорной точки пикселя (например, окружающая точка пикселя является текущей точкой пикселя) и исходного значения пикселя опорной точки пикселя.

[000176] Например, предполагается, что pi указывает исходное значение пикселя текущей точки пикселя в текущем блоке, то есть исходное значение пикселя окружающей точки пикселя опорной точки пикселя, a qi указывает исходное значение пикселя опорной точки пикселя в соседнем блоке, а именно исходное значение пикселя окружающей точки пикселя текущей точки пикселя, и, другими словами, pi и qi соответственно указывают исходные значения пикселей с обеих сторон границы. Значение градиента DPi текущей точки пикселя pi может быть определено следующим образом: DPi=(pi-qi+2) >> 2. Значение градиента DQi опорной точки пикселя qi может быть определено следующим образом: DQi=(qi-pi+2) >> 2. Конечно, выше приведен только пример определения значения градиента текущей точки пикселя и значения градиента опорной точки пикселя, и здесь не делается никаких ограничений. Очевидно, значение градиента текущей точки пикселя определяют на основе разности между исходным значением пикселя текущей точки пикселя и исходным значением пикселя опорной точки пикселя, а значение градиента опорной точки пикселя определяют на основе разности между исходным значением пикселя опорной точки пикселя и исходным значением пикселя текущей точки пикселя.

[000177] Например, когда текущая точка пикселя pi равна p0 (соответствует R0 на фиг. 3), а опорная точка пикселя qi равна q0 (соответствует L0 на фиг. 3), значение градиента DP0 текущей точки пикселя p0 определяют следующим образом: DP0=(p0-q0+2) >> 2; значение градиента DQ0 опорной точки пикселя q0 определяют следующим образом: DQ0=(q0-p0+2) >> 2. DP0=(p0-q0+2) >> 2 может быть также выражено как DP0=(p0-q0+1) >> 1, a DQ0=(q0-p0+2) >> 2 может быть также выражено как DQ0=(q0-p0+1) >> 1.

[000178] На этапе S23 определяют уточненное значение пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя. Например, если значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения (также называемого первой величиной смещения уточнения). Если значение градиента текущей точки пикселя меньше второго порогового значения уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения. В некоторых вариантах осуществления изобретения первое пороговое значение уточнения и второе пороговое значение уточнения могут быть противоположны друг другу.

[000179] На этапе S24 определяют уточненное значение пикселя опорной точки пикселя на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя. Например, если значение градиента опорной точки пикселя больше третьего порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения (также называемого третьей величиной смещения уточнения). Если значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения. В примере третье пороговое значение уточнения и четвертое пороговое значение уточнения могут быть противоположными друг другу числами.

[000180] Например, если значение градиента DPi текущей точки пикселя pi больше, чем alt_dbr_th (alt_dbr_th представляет первое пороговое значение уточнения), уточненное значение пикселя Pi текущей точки пикселя pi может быть определено следующим образом: Pi=clip(pi+alt_dbr_offset0), где alt_dbr_offset0 представляет первое значение смещения уточнения. В качестве альтернативы, если значение градиента DPi текущей точки пикселя pi меньше, чем -alt_dbr_th (-alt_dbr_th представляет второе пороговое значение уточнения), уточненное значение пикселя Pi текущей точки пикселя pi может быть определено следующим образом: Pi=clip(pi+alt_dbr_offset1), где alt_dbr_offset1 представляет второе значение смещения уточнения.

[000181] В приведенном выше варианте осуществления изобретения i может быть 0, 1 или 2. Например, i равно 0, и в этом случае, если DP0>dbr_th, тогда P0=clip(p0+alt_dbr_offset0); если DP0<-dbr_th, то P0=clip(p0+alt_dbr_offset1).

[000182] Например, если значение градиента DQi опорной точки пикселя qi больше, чем alt_dbr_th (alt_dbr_th представляет собой третье пороговое значение уточнения, а третье пороговое значение уточнения совпадает с первым пороговым значением уточнения. В практических приложениях третье пороговое значение уточнения может отличаться от первого порогового значения уточнения), уточненное значение пикселя Qi опорной точки пикселя qi может быть определено следующим образом: Qi=clip(qi+alt_dbr_offset0), где alt_dbr_offset0 представляет третье значение смещения уточнения. Здесь третье значение смещения уточнения такое же, как первое значение смещения уточнения. В практических приложениях третье значение смещения уточнения также может отличаться от первого значения смещения уточнения.

[000183] В качестве альтернативы, если значение градиента DQi опорной точки пикселя qi меньше alt_dbr_th (alt_dbr_th представляет собой четвертое пороговое значение уточнения, а четвертое пороговое значение уточнения является таким же, как второе пороговое значение уточнения. В практических приложениях четвертое пороговое значение уточнения может отличаться от второго порогового значения уточнения), уточненное значение пикселя Qi опорной точки пикселя qi может быть определено следующим образом: Qi=clip(qi+alt_dbr_offset1), где alt_dbr_offset1 представляет четвертое значение смещения уточнения. Здесь четвертое значение смещения уточнения является таким же, как второе значение смещения уточнения. В практических приложениях четвертое значение смещения уточнения также может отличаться от второго значения смещения уточнения.

[000184] В приведенном выше варианте осуществления изобретения i может быть 0, 1 или 2. Например, когда i равно 0, если DQ0>dbr_th, тогда Q0=clip(q0+alt_dbr_offset0); если DQ0<dbr_th, то Q0=clip(q0+alt_dbr_offset1).

[000185] В приведенном выше варианте осуществления изобретения pi представляет исходную точку пикселя текущей точки пикселя, DPi представляет значение градиента текущей точки пикселя, Pi представляет уточненное значение пикселя текущей точки пикселя, qi представляет исходное значение пикселя опорной точки пикселя, DQi представляет значение градиента опорной точки пикселя, Qi представляет уточненное значение пикселя опорной точки пикселя, clip(x) означает, что х ограничен в пределах [0, 2^(bit depth)-1] (включая 0 и 2^(bit depth)-1), a bit depth представляет битовую глубину изображения и обычно равно 8, 10 или 12 и т.п.

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

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

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

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

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

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

[000192] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения; высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов здесь не ограничиваются, если пороговые значения уточнения и значения смещения уточнения, соответствующие текущему блоку, могут переноситься высокоуровневыми синтаксисами.

[000193] В описанных выше вариантах осуществления изобретения значение пикселя текущей точки пикселя в текущем блоке может быть компонентом яркости или компонентом цветности.

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

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

[000196] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения; высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов не ограничиваются здесь, пока флаг включения расширенного режима уточнения, соответствующий текущему блоку, может переноситься высокоуровневыми синтаксисами.

[000197] Вариант 7 осуществления изобретения: для вариантов осуществления изобретения 1 и 5 исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима фильтрации. Уточнение исходного значения пикселя текущей точки пикселя может включать в себя следующие этапы.

[000198] На этапе S31 выполняют фильтрацию для устранения блочности исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя.

[000199] На этапе S32 опорную точку пикселя, соответствующую текущей точке пикселя, определяют из соседнего блока текущего блока (для вертикальной границы соседним блоком является левый соседний блок текущего блока, а для горизонтальной границы соседним блоком является верхний соседний блок текущего блока), и фильтрацию для устранения блочности выполняют над исходным значением пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя.

[000200] В некоторых вариантах осуществления изобретения фильтрацию для устранения блочности выполняют для исходного значения пикселя текущей точки пикселя на основе фильтрации для устранения блочности (DBF) для получения отфильтрованного значения пикселя текущей точки пикселя и фильтрацию для устранения блочности выполняют для исходного значения пикселя опорной точки пикселя на основе DBF для получения отфильтрованного значения пикселя опорной точки пикселя. Конечно, фильтрация также может выполняться для исходного значения пикселя текущей точки пикселя на основе SAO для получения отфильтрованного значения пикселя текущей точки пикселя, и фильтрация выполняется для исходного значения пикселя опорной точки пикселя на основе SAO для получения отфильтрованного значения пикселя опорной точки пикселя. Альтернативно, фильтрация может выполняться для исходного значения пикселя текущей точки пикселя на основе ALF для получения отфильтрованного значения пикселя текущей точки пикселя, и фильтрация выполняется для исходного значения пикселя опорной точки пикселя на основе ALF для получения отфильтрованного значения пикселя опорной точки пикселя. Для простоты описания в последующих вариантах осуществления изобретения, например, фильтрация для устранения блочности выполняется для исходного значения пикселя текущей точки пикселя и опорной точки пикселя на основе DBF.

[000201] Со ссылкой на фиг. 3, в зависимости от положения текущей точки пикселя может выполняться только горизонтальная DBF-фильтрация для текущей точки пикселя и опорной точки пикселя, или выполняется только вертикальная DBF-фильтрация для текущей точки пикселя и опорной точки пикселя, или сначала выполняется вертикальная DBF-фильтрация в текущей точке пикселя и в опорной точке пикселя, а затем выполняется горизонтальная DBF-фильтрация в текущей точке пикселя и в опорной точке пикселя.

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

[000203] На этапе S34 на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя определяют уточненное значение пикселя опорной точки пикселя. Например, на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения фильтрации, четвертого порогового значения фильтрации, третьего значения смещения фильтрации и четвертого значения смещения фильтрации определяют уточненное значение пикселя опорной точки пикселя. Третье пороговое значение фильтрации и четвертое пороговое значение фильтрации могут быть противоположными друг другу числами.

[000204] В некоторых вариантах осуществления изобретения, если текущая точка пикселя удовлетворяет только условию включения общего режима фильтрации, но не удовлетворяет условию включения расширенного режима фильтрации, выполняют этапы S31 и S32, чтобы принять отфильтрованное значение пикселя в качестве целевого значения пикселя (конечного значения пикселя процесса фильтрации для устранения блочности). Если текущая точка пикселя удовлетворяет как условию включения общего режима фильтрации, так и условию включения расширенного режима фильтрации, выполняют этапы S31-S34, чтобы принять уточненное значение пикселя в качестве целевого значения пикселя (конечного значения пикселя процесса фильтрации для устранения блочности).

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

[000206] В некоторых вариантах осуществления изобретения для этапа S33, если разность между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя больше, чем первое пороговое значение фильтрации, уточненное значение пикселя текущей точки пикселя может определяться на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя и первого значения смещения фильтрации. Если разность между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя меньше второго порогового значения фильтрации, уточненное значение пикселя текущей точки пикселя может быть определено на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя и второго значения смещения фильтрации.

[000207] Например, предполагается, что Y1(i) представляет исходное значение пикселя текущей точки пикселя, Y2(i) представляет отфильтрованное значение пикселя текущей точки пикселя, Y3(i) представляет уточненное значение пикселя текущей точки пикселя, и Yv(i)=(Y1(i)+Y2(i)+1) >> 1.

[000208] Таким образом, если Y1(i)-Y2(i)>Tv, то если Y1(i)-Y2(i)<NTv, то В приведенных выше формулах Tv представляет первое пороговое значение фильтрации, представляет первое значение смещения фильтрации, NTV представляет второе пороговое значение фильтрации, представляет второе значение смещения фильтрации, NTV обычно установлено в значение - Tv или другое значение, clip(x) представляет х в пределах заранее заданного диапазона значений, который обычно равен [0, 2D - 1], где D - битовая глубина изображения. Для 8-битного изображения диапазон равен [0, 255], а для 10-битного изображения - [0, 1023].

[000209] Для предотвращения превышения отфильтрованным посредством расширенной фильтрации уточненным значением пикселя диапазона значений пикселя, когда получено уточненное значение пикселя, уточненное значение пикселя может быть обрезано до заранее заданного диапазона значений с помощью операции Clip. Когда уточненное значение пикселя превышает верхний предел заранее заданного диапазона значений, уточненное значение пикселя устанавливают равным верхнему пределу заранее заданного диапазона значений; когда уточненное значение пикселя меньше нижнего предела заранее заданного диапазона значений, уточненное значение пикселя устанавливают равным нижнему пределу заранее заданного диапазона значений. Например, для 8-битного изображения, когда уточненное значение пикселя меньше 0, уточненное значение пикселя устанавливают равным 0; когда уточненное значение пикселя больше 255, уточненное значение пикселя устанавливают равным 255.

[000210] В некоторых вариантах осуществления изобретения для этапа S34, если разность между отфильтрованным значением пикселя опорной точки пикселя и исходным значением пикселя опорной точки пикселя превышает третье пороговое значение фильтрации, уточненное значение пикселя опорной точки пикселя определяют на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя и третьего значения смещения фильтрации. Если разность между отфильтрованным значением пикселя опорной точки пикселя и исходным значением пикселя опорной точки пикселя меньше четвертого порогового значения фильтрации, уточненное значение пикселя опорной точки пикселя определяют на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя и четвертого значения смещения фильтрации. Способ определения уточненного значения пикселя опорной точки пикселя аналогичен способу определения уточненного значения пикселя текущей точки пикселя и не будет здесь повторяться.

[000211] В некоторых вариантах осуществления изобретения третье пороговое значение фильтрации и первое пороговое значение фильтрации могут быть одинаковыми или различными; третье значение смещения фильтрации и первое значение смещения фильтрации могут быть одинаковыми или различными; четвертое пороговое значение фильтрации и второе пороговое значение фильтрации могут быть одинаковыми или различными; и четвертое значение смещения фильтрации и второе значение смещения фильтрации могут быть одинаковыми или различными.

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

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

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

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

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

[000217] Конечно, выше приведены лишь несколько примеров, которые здесь не ограничиваются, при условии, что декодер может получить первое пороговое значение фильтрации, второе пороговое значение фильтрации, третье пороговое значение фильтрации, четвертое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации. Упомянутые выше значения могут быть получены путем анализа или вывода.

[000218] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения, высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов не ограничиваются здесь, пока пороговые значения фильтрации и значения смещения фильтрации, соответствующие текущему блоку, могут переноситься высокоуровневыми синтаксисами.

[000219] В приведенном выше варианте осуществления изобретения значение пикселя текущей точки пикселя в текущем блоке может быть компонентом яркости или компонентом цветности.

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

[000221] Например, для декодера флаг включения расширенного режима фильтрации, соответствующий текущему блоку, может быть проанализирован из высокоуровневого синтаксиса. Например, если флаг включения расширенного режима фильтрации является первым значением (например, 1), это указывает на то, что флаг включения расширенного режима фильтрации разрешает текущему блоку включить расширенный режим фильтрации; если флаг включения расширенного режима фильтрации имеет второе значение (например, 0), это указывает на то, что флаг включения расширенного режима фильтрации запрещает текущему блоку включать расширенный режим фильтрации.

[000222] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения, высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов здесь не ограничиваются, пока флаг включения расширенного режима фильтрации, соответствующий текущему блоку, может переноситься высокоуровневыми синтаксисами.

[000223] Вариант 8 осуществления изобретения: когда условие включения общего режима фильтрации выполнено, фильтрация для устранения блочности может выполняться над исходным значением пикселя точки пикселя на основе режима DBF-фильтрации (режима фильтрации для устранения блочности). Поскольку DBF-фильтрация включает в себя вертикальную DBF-фильтрацию и горизонтальную DBF-фильтрацию, фильтрация для устранения блочности может быть выполнена для исходного значения пикселя точки пикселя на следующих этапах.

[000224] На этапе 1 отфильтрованное значение Y2(i) пикселя получают путем выполнения вертикальной DBF-фильтрации над исходным значением Y1(i) пикселя.

[000225] На этапе 2 отфильтрованное значение Y3(i) пикселя получают путем выполнения горизонтальной DBF-фильтрации значения Y2(i) пикселя.

[000226] В некоторых вариантах осуществления изобретения, если для точки пикселя выполняют только вертикальную DBF-фильтрацию, выполняют только этап 1 для получения отфильтрованного значения пикселя для точки пикселя; если для точки пикселя выполняют только горизонтальную DBF-фильтрацию, выполняют только этап 2 для получения отфильтрованного значения пикселя точки пикселя, где значение Y2(i) пикселя этапа 2 заменяется исходным значением пикселя точки пикселя. Если сначала выполняется вертикальная DBF-фильтрация в точке пикселя, а затем выполняется горизонтальная DBF-фильтрация в точке пикселя, этапы 1 и 2 выполняют последовательно.

[000227] Когда условие включения общего режима фильтрации и условие включения расширенного режима фильтрации оба удовлетворяются, фильтрация для устранения блочности может быть выполнена для исходного значения пикселя точки пикселя на основе режима DBF-фильтрации (фильтрации для устранения блочности), а затем отфильтрованное фильтром устранения блочности значение отфильтрованного пикселя уточняют. Поскольку DBF-фильтрация включает в себя вертикальную DBF-фильтрацию и горизонтальную DBF-фильтрацию, фильтрация для устранения блочности может выполняться для исходного значения пикселя точки пикселя, и значение пикселя, отфильтрованное фильтром устранения блочности, уточняют на следующих этапах.

[000228] На этапе 1 отфильтрованное значение Y2(i) пикселя получают путем выполнения вертикальной DBF-фильтрации над исходным значением Y1(i) пикселя.

[000229] На этапе 2 уточненное значение Y3(i) пикселя получают на основе Y2(i)-Y1(i).

[000230] На этапе 3 отфильтрованное значение Y4(i) пикселя получают путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.

[000231] На этапе 4 уточненное значение Y5(i) пикселя получают на основе Y4(i)-Y3(i).

[000232] В некоторых вариантах осуществления изобретения, если для точки пикселя выполняется только вертикальная DBF-фильтрация, выполняют только этапы 1 и 2 для получения уточненного значения пикселя для точки пикселя. Если для точки пикселя выполняется только горизонтальная DBF-фильтрация, выполняют только этапы 3 и 4 для получения уточненного значения пикселя для точки пикселя, где значение Y3(i) пикселя этапа 3 заменяется исходным значением точки пикселя. Если сначала выполняется вертикальная DBF-фильтрация в точке пикселя, а затем выполняется горизонтальная DBF-фильтрация в точке пикселя, этапы 1, 2, 3 и 4 выполняют последовательно. Если сначала выполняется горизонтальная DBF-фильтрация в точке пикселя, а затем выполняется вертикальная DBF-фильтрация в точке пикселя, этапы аналогичны и здесь повторяться не будут.

[000233] В некоторых вариантах осуществления изобретения этапы 2 и 4 представляют собой процедуру обработки расширенного режима фильтрации, когда удовлетворяется условие включения расширенного режима фильтрации, а именно процесс корректировки отфильтрованного значения пикселя для получения уточненного значения пикселя.

[000234] На этапе 2 предполагается, что Yv(i)=(Y1(i)+Y2(i)+1) >> 1. Если Y1(i)-Y2(i)>Tv, то если Y1(i)-Y2(i)<NTV, то и в противном случае Y3(i)=Y2(i) (в одном варианте в этом случае Y3(i) может быть получено фильтрацией Y2(i), например,

[000235] В некоторых вариантах осуществления изобретения clip(x) представляет, что х ограничен заранее заданным диапазоном значений изображения, который обычно равен [0, 2D-1], где D представляет собой битовую глубину изображения. Для 8-битного изображения диапазон значений изображения может быть [0, 255]; для 10-битного изображения диапазон значений изображения составляет [0, 1023]. Пороговое значение NTV обычно устанавливается равным - Tv или другому значению.

[000236] Аналогично этапу 2, на этапе 4, в предположении, что Yh(i)=(Y3(i)+Y4(i)+1) >> 1, если Y4(i)-Y3(i)>Th, то если Y1(i)-Y2(i)<NTh, то и в противном случае Y5(i)=Y4(i) (в одном варианте в этом случае Y5(i) может быть получено фильтрацией Y4(i); например, где NTh обычно имеет значение - Th или другое значение. [000237] В приведенном выше варианте осуществления изобретения Tv и NTv представляют пороговые значения фильтрации, f0v, f1v и f2v представляют значения смещения фильтрации, a clip(x) представляет собой значение х, ограниченное в пределах заранее заданного диапазона значений. Например, Tv относится к вышеупомянутому первому пороговому значению фильтрации и третьему пороговому значению фильтрации (например, первое пороговое значение фильтрации и третье пороговое значение фильтрации одинаковы), NTv относится к вышеупомянутому второму пороговому значению фильтрации и четвертому пороговому значению фильтрации (например, второе пороговое значение фильтрации и четвертое пороговое значение фильтрации совпадают), f0v относится к вышеупомянутому первому значению смещения фильтрации и третьему значению смещения фильтрации (например, первое значение смещения фильтрации и третье значение смещения фильтрации совпадают), a f1v относится к вышеупомянутому второму значению смещения фильтрации и четвертому значению смещения фильтрации (например, второе значение смещения фильтрации и четвертое значение смещения фильтрации совпадают). NTv=-Tv, где Tv и NTv - числа, противоположные друг другу.

[000238] В приведенном выше варианте осуществления изобретения Th и NTh являются пороговыми значениями фильтрации, f0h, f1h и f2h являются значениями смещения фильтрации, a clip(x) представляет, что значение х ограничено в пределах заранее заданного диапазона значений. Например, Th относится к вышеупомянутому первому пороговому значению фильтрации и третьему пороговому значению фильтрации (например, первое пороговое значение фильтрации и третье пороговое значение фильтрации одинаковы), NTh относится к вышеупомянутому второму пороговому значению фильтрации и четвертому пороговому значению фильтрации (например, второе пороговое значение фильтрации и четвертое пороговое значение фильтрации совпадают), f0h относится к вышеупомянутому первому значению смещения фильтрации и третьему значению смещения фильтрации (например, первое значение смещения фильтрации и третье значение смещения фильтрации совпадают), a f1h относится к вышеупомянутому второму значению смещения фильтрации и четвертому значению смещения фильтрации (например, второе значение смещения фильтрации и четвертое значение смещения фильтрации совпадают). NTh=-Th, где Th и NTh - числа, противоположные друг другу.

[000239] Вариант 9 осуществления изобретения: в DBF, если фильтрация выполняется только на основе установленного правила, будет иметь место избыточная фильтрация или недостаточная фильтрация. Например, если значение реконструкции до DBF равно Y1, а значение пикселя после DBF равно Y2, классификация может выполняться на основе Y2-Y1. Классификация на основе остатка фильтрации имеет следующие основные преимущества: для некоторых значений пикселей, подвергнутых избыточной фильтрации или псевдофильтрации, может быть выполнено специальное расширение, чтобы сделать пиксели этих классов ближе к исходному значению. Избыточная фильтрация относится к тому, что Y2 намного больше (или намного меньше) Y1, и, следовательно, Y2 намного больше (или намного меньше) исходного значения пикселя. Псевдофильтрация относится к тому, что Y2-Y1 равно 0 или близко к 0, а именно, эти значения пикселей остаются неизменными после фильтрации, так что не удалось добиться эффекта фильтрации. Для вышеупомянутого обнаружения в настоящем варианте осуществления изобретения значение пикселя точки пикселя может быть уточнено на основе расширенного режима уточнения, а именно, если расширенный режим уточнения включен для текущей точки пикселя в текущем блоке, исходное значение пикселя текущей точки пикселя уточняют на основе расширенного режима уточнения, а не общего режима фильтрации или расширенного режима фильтрации.

[000240] В одной возможной реализации процесс уточнения исходного значения пикселя может включать в себя следующие этапы.

[000241] На этапе 1 отфильтрованное значение Y2(i) пикселя получают путем выполнения вертикальной DBF-фильтрации исходного значения Y1(i) пикселя.

[000242] На этапе 2 получают уточненное значение Y3(i) пикселя на основе Y2(i)-Y1(i).

[000243] На этапе 3 получают отфильтрованное значение Y4(i) пикселя путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.

[000244] На этапе 4 получают уточненное значение пикселя Y5(i) на основе Y4(i)-Y3(i).

[000245] На этапе 2 возможны следующие два случая: abs(Y2(i)-Y1(i))< порогового значения и abs(Y2(i)-Y1(i)) не меньше, чем пороговое значение. Если abs(Y2(i)-Y1((i))< порогового значения, могут иметь место следующие два случая: BS равно 0 и BS больше 0. В некоторых вариантах осуществления изобретения пороговое значение может быть вышеприведенным первым пороговым значением фильтрации или вторым пороговым значением фильтрации, при этом, например, первое пороговое значение фильтрации и второе пороговое значение фильтрации являются числами, противоположными друг другу. Если первое пороговое значение фильтрации является положительным значением, пороговое значение может быть первым пороговым значением фильтрации; если второе пороговое значение фильтрации является положительным значением, пороговое значение может быть вторым пороговым значением фильтрации.

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

[000247] Случай 1: когда BS равно 0, фильтрация не выполняется (т.е. Y2(i) равно Y1(i), что эквивалентно невыполнению вертикальной DBF-фильтрации исходного значения пикселя Y1(i), а именно, невыполнению этапа 1), но исходное значение Y1(i) пикселя может быть уточнено на основе расширенного режима уточнения для получения уточненного значения пикселя.

[000248] Случай 2: когда BS больше 0 и abs(Y2(i)-Y1(0)<порогового значения, может быть выполнена фильтрация (т.е. выполнение вертикальной DBF-фильтрации исходного значения Y1(i) пикселя, а именно выполнение этапа 1). На основе выполнения этапа 1 отфильтрованное значение Y2(i) пикселя может быть уточнено на основе расширенного режима фильтрации для получения уточненного значения Y3(i) пикселя точки пикселя.

[000249] Случай 3: когда BS больше 0 и abs(Y2(i)-Y1(i)) не меньше порогового значения, может быть выполнена фильтрация (т.е. выполнение вертикальной DBF-фильтрации исходного значения Y1(i) пикселя, а именно выполнение этапа 1). На основе выполнения этапа 1 отфильтрованное значение пикселя Y2(i) больше не уточняют на основе расширенного режима фильтрации, а именно этап 2 больше не выполняют, то есть Y3(i)=Y2(i).

[000250] На этапе 4 возможны следующие два случая: abs(Y4(i)-Y3(i))< порогового значения и abs(Y4(i)-Y3(i)) не меньше порогового значения. Если abs(Y4(i)-Y3(i))<порогового значения, то возможны еще следующие два случая: BS равно 0 и BS больше 0.

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

[000252] Случай 1: когда BS равно 0, фильтрация не выполняется (т.е. Y4(i) равно Y3(i), что эквивалентно невыполнению горизонтальной DBF-фильтрации исходного значения Y3(i) пикселя, а именно, невыполнению этапа 3), но исходное значение Y3(i) пикселя может быть уточнено на основе расширенного режима уточнения для получения уточненного значения пикселя.

[000253] Случай 2: когда BS больше 0 и abs(Y4(i)-Y3(i))<порогового значения, может быть выполнена фильтрация (т.е. выполнение горизонтальной DBF-фильтрации для исходного значения Y3(i) пикселя, а именно выполнение этапа 3). На основе выполнения этапа 3 отфильтрованное значение Y4(i) пикселя точки пикселя может быть уточнено на основе расширенного режима фильтрации для получения уточненного значения пикселя Y3(i) точки пикселя.

[000254] Случай 3: когда BS больше 0 и abs(Y4(i)-Y3(i)) не меньше порогового значения, может быть выполнена фильтрация (т.е. выполнение горизонтальной DBF-фильтрации для исходного значения Y3(i) пикселя, а именно, выполнение этапа 3). На основе выполнения этапа 3 отфильтрованное значение Y4(i) пикселя не корректируют на основе расширенного режима фильтрации, а именно этап 4 не выполняют, то есть Y5(i)=Y4(i).

[000255] В заключение, если BS равно 0, обработку выполняют на основе расширенного режима уточнения, а именно фильтрация может не выполняться, то есть Y2(i)=и Y4(i)=Y3(i). На основе этого, Y1(i) может быть уточнено на основе расширенного режима уточнения, и Y3(i) также может быть уточнено на основе расширенного режима уточнения. Следовательно, DBF-фильтрация может выполняться на следующих этапах.

[000256] На этапе 1 получают отфильтрованное значение Y2(i) пикселя путем выполнения вертикальной DBF-фильтрации исходного значения Y1(ii) пикселя.

[000257] На этапе 2, если BS равно 0, Y1(i) уточняют на основе расширенного режима уточнения, чтобы получить уточненное значение Y3(i) пикселя. Если BS больше 0 и abs(Y2(i)-Y1(i)<< порогового значения, включают расширенный режим фильтрации для получения уточненного значения Y3(i) пикселя на основе Y2(i)-Y1(i), как показано на этапе 2 варианта 8 осуществления изобретения. Если BS больше 0 и abs(Y2(i)-Y1(i)) не меньше порогового значения, общий режим фильтрации включен, чтобы больше не выполнять уточнение отфильтрованного значения пикселя Y2(i), а именно Y3(i)=Y2(i).

[000258] В некоторых вариантах осуществления изобретения, если BS равно 0, этап фактически не выполняют, а именно не требуется получать отфильтрованное значение Y2(i) пикселя.

[000259] На этапе 3 отфильтрованное значение Y4(i) пикселя получают путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.

[000260] На этапе 4, если BS равно 0, выполняют уточнение Y3(i) на основе расширенного режима уточнения для получения уточненного значения Y5(i) пикселя. Если BS больше 0 и abs(Y4(i)-Y3(i))< порогового значения, включают расширенный режим фильтрации для получения уточненного значения Y3(i) пикселя на основе Y4(i)-Y3(i), как показано на этапе 4 варианта 8 осуществления изобретения. Если BS больше 0 и abs(Y4(i)-Y3(i)) не меньше порогового значения, включают общий режим фильтрации, чтобы больше не выполнять уточнение отфильтрованного значения Y4(i) пикселя, а именно Y5(i)=Y4(i).

[000261] В некоторых вариантах осуществления изобретения, если BS равно 0, этап 3 фактически не выполняют, а именно не требуется получать отфильтрованное значение Y4(i) пикселя.

[000262] В другой возможной реализации, если BS больше 0, выполняют фильтрацию, но abs(Y2(i)-Y1(i))<порогового значения после фильтрации. В этом случае для обработки используют расширенный режим фильтрации, а именно DBF-фильтрация может выполняться на следующих этапах.

[000263] На этапе 1 получают отфильтрованное значение Y2(i) пикселя путем выполнения вертикальной DBF-фильтрации для исходного значения Y1(i) пикселя.

[000264] На этапе 2, если BS больше 0, когда abs(Y2(i)-Y1(i))<порогового значения все еще удовлетворяется после выполнения вертикальной DBF-фильтрации для Y1(i), получают уточненное значение Y3(i) пикселя на основе расширенного режима фильтрации. Например, Y3(i) получают как Y1(i) плюс значение компенсации. В противном случае, если abs(Y2(i)-Y1(i)) не меньше порогового значения, Y3(i)=Y2(i).

[000265] На этапе 3 получают отфильтрованное значение Y4(i) пикселя путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.

[000266] На этапе 4, если BS больше 0, когда abs(Y4(i)-Y3(i))< порогового значения все еще удовлетворяется после выполнения горизонтальной DBF-фильтрации для Y3(i), получают уточненное значение Y5(i) пикселя на основе расширенного режима фильтрации. Например, Y5(i) получают как Y3(i) плюс значение компенсации. В противном случае, если abs(Y4(i)-Y3(i)) не меньше порогового значения, то Y5(i)=Y4(i).

[000267] Вариант 10 осуществления изобретения: для варианта 9 осуществления изобретения, если BS равно 0, Y1(i) уточняют на основе расширенного режима уточнения для получения уточненного значения Y3(i) пикселя. Конкретный процесс уточнения может обеспечиваться на следующих этапах. Если BS равно 0, Y3(i) уточняют на основе расширенного режима уточнения для получения уточненного значения Y3(i) пикселя. Этот процесс аналогичен процессу получения уточненного значения Y3(i) пикселя и поэтому здесь повторяться не будет.

[000268] Во-первых, определяют значение градиента Y1(i), где Y1(i) может быть исходным значением пикселя текущей точки пикселя или исходным значением пикселя опорной точки пикселя. Для вертикальной границы может быть вычислено значение горизонтального градиента DY1(i) для Y1(i); для горизонтальной границы может быть вычислено значение вертикального градиента DY1(i) для Y1(i). Например, если pi и qi соответственно представляют исходное значение пикселя текущей точки пикселя и исходное значение пикселя опорной точки пикселя (соответствующее Y1(i)), значение градиента DP0 исходного значения пикселя pi текущей точки пикселя вычисляют по следующей формуле: DP0=(pi-qi+2) >> 2; значение градиента DQ0 исходного значения пикселя qi опорной точки пикселя вычисляют по следующей формуле: DQ0=(qi-pi+2)>>2.

[000269] Далее, на основе размера DY1(i), Y3(i) получают уточнением компенсации. Например, уточненное значение Pi пикселя, соответствующее исходному значению pi текущей точки пикселя, определяют следующим образом: если DPi>alt_dbr_th, то Pi=clip(pi+alt_dbr_offset0); если DPi<alt_dbr_th, то Pi=clip(pi+alt_dbr_offset1), где i равно 0, 1, 2 и т.п. Уточненное значение Qi пикселя, соответствующее исходному значению qi пикселя опорной точки пикселя, определяют следующим образом: если DQi>alt_dbr_th, то Qi=clip(qi+alt_dbr_offset0); если DQi<-alt_dbr_th, то Qi=clip(qi+alt_dbr_offset1), где i равно 0, 1 или 2.

[000270] В приведенных выше формулах alt_dbr_th относится к первому пороговому значению уточнения и третьему пороговому значению уточнения (например, третье пороговое значение уточнения и первое пороговое значение уточнения совпадают), alt_dbr_offset0 относится к первому значению смещения уточнения и третьему значению смещения уточнения (например, первое значение смещения уточнения и третье значение смещения уточнения совпадают), alt_dbr_offset1 относится ко второму значению смещения уточнения и четвертому значению смещения уточнения (например, второе значение смещения уточнения и четвертое значение смещения уточнения совпадают), -alt_dbr_th относится ко второму пороговому значению уточнения и четвертому пороговому значению уточнения (например, второе пороговое значение уточнения и четвертое пороговое значение уточнения совпадают), a -alt_dbr_th и alt_dbr_th являются противоположными друг другу числами.

[000271] Вариант 11 осуществления изобретения: расширенным режимом уточнения управляют так, чтобы он был включен высокоуровневым синтаксисом (например, высокоуровневым синтаксисом SPS). Например, в заголовке последовательности кодируют/декодируют флаг adbr_enable_flag, а именно, кодер кодирует флаг adbr_enable_flag в заголовке последовательности, а декодер декодирует флаг adbrenableflag в заголовке последовательности, adbrenableflag - это двоичная переменная, при этом значение «1» указывает на доступность расширенного режима уточнения, а значение «0» указывает на то, что расширенный режим уточнения недоступен. Значение AdbrEnableFlag равно adbr_enable_flag. Если в битовом потоке нет adbr_enable_flag, значение AdbrEnableFlag равно 0.

[000272] В заключение, для декодера флаг включения расширенного режима уточнения (т.е. AdbrEnableFlag), соответствующий текущему блоку, может быть проанализирован из высокоуровневого синтаксиса. Если значение флага включения расширенного режима уточнения равно 1, это указывает на то, что флаг включения расширенного режима уточнения позволяет текущему блоку включать расширенный режим уточнения; если значение флага включения расширенного режима уточнения равно 0, это указывает на то, что флаг включения расширенного режима уточнения запрещает текущему блоку включать расширенный режим уточнения.

[000273] Вариант 12 осуществления изобретения: расширенным режимом фильтрации и расширенным режимом уточнения управляют одновременно, чтобы их можно было включить с помощью высокоуровневого синтаксиса (например, высокоуровневого синтаксиса SPS). Например, в заголовке последовательности кодируют/декодируют флаг dbr_enable_flag, а именно кодер кодирует флаг dbr_enable_flag в заголовке последовательности, а декодер декодирует флаг dbr_enable_flag в заголовке последовательности.

[000274] dbr_enable_flag - двоичная переменная, где значение «1» указывает на использование расширенного режима фильтрации и разрешение расширенного режима уточнения, а значение «0» указывает на использование расширенного режима фильтрации и запрещение расширенного режима уточнения. Значение DbrEnableFlag равно dbr_enable_flag. Если в битовом потоке нет dbr_enable_flag, значение DbrEnableFlag равно 0.

[000275] В заключение, для декодера флаг включения расширенного режима фильтрации и флаг включения расширенного режима уточнения (т.е. DbrEnableFlag, который используется как флаг включения расширенного режима фильтрации и флаг включения расширенного режима уточнения одновременно), соответствующие текущему блоку, могут быть проанализированы из высокоуровневого синтаксиса. Если значение DbrEnableFlag равно 1, это указывает на то, что текущему блоку разрешено включать расширенный режим фильтрации и расширенный режим уточнения; если значение DbrEnableFlag равно 0, это указывает на то, что текущему блоку запрещено включать расширенный режим фильтрации и расширенный режим уточнения.

[000276] Вариант 13 осуществления изобретения: можно сделать ссылку на таблицу 1 для выражения высокоуровневого синтаксиса (например, высокоуровневого синтаксиса заголовка изображения), например, синтаксиса кодирования/декодирования заголовка изображения, показанного в таблице 1. Кодер кодирует в заголовке изображения синтаксис, показанный в таблице 1, и декодер декодирует в заголовке изображения синтаксис, показанный в таблице 1.

[000277] Значения соответствующих синтаксисов в таблице 1 описаны ниже.

[000278] Флаг включения вертикального уточнения фильтрации для устранения блочности на уровне изображения представлен как picture_dbr_v_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать вертикальное уточнение фильтрации для устранения блочности, а значение «0» указывает на то, что текущее изображение запрещает использовать вертикальное уточнение фильтрации для устранения блочности. Значение Picture_dbr_v_enable_flag равно значению picture_dbr_v_enable_flag. Если в битовом потоке нет picture_dbr_v_enable_flag, значение PhDbrVEnableFlag равно 0.

[000279] В некоторых вариантах осуществления изобретения для расширенного режима уточнения Picture_dbr_v_enable_flag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, Picture_dbr_v_enable_flag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.

[000280] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации Picture_dbr_v_enable_flag соответствует флагу включения расширенного режима фильтрации и является флагом включения расширенного режима фильтрации для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, Picture_dbr_v_enable_flag указывает на разрешение включения расширенного режима фильтрации или запрещение включения расширенного режима фильтрации.

[000281] В заключение, Picture_dbr_v_enable_flag может представлять флаг включения расширенного режима уточнения для вертикальной DBF-фильтрации и флаг включения расширенного режима фильтрации для вертикальной DBF-фильтрации. Другими словами, флаг включения расширенного режима уточнения и флаг включения расширенного режима фильтрации имеют один и тот же флаг, а именно, текущее изображение разрешает включение расширенного режима уточнения и расширенного режима фильтрации одновременно или запрещает включение расширенного режима уточнения и расширенного режима фильтрации одновременно.

[000282] Пороговое значение вертикального уточнения фильтрации для устранения блочности представлено как dbr_v_threshold_minus1 и используется для определения порогового значения вертикального уточнения фильтрации для устранения блочности текущего изображения, где пороговое значение находится в диапазоне от 0 до 1. Значение DbrVThreshold равно значению dbr_v_threshold_minus1+1. Если в битовом потоке нет dbr_v_threshold_minus1, значение DbrVThreshold равно 0.

[000283] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrVThreshold соответствует первому пороговому значению уточнения (например, третье пороговое значение уточнения и первое пороговое значение уточнения одинаковы) и является первым пороговым значением уточнения для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, DbrVThreshold представляет первое пороговое значение уточнения в описанном выше варианте осуществления изобретения. Кроме того, второе пороговое значение уточнения (например, четвертое пороговое значение уточнения и второе пороговое значение уточнения одинаковы) и первое пороговое значение уточнения в приведенном выше варианте осуществления изобретения являются противоположными друг другу числами, и, таким образом, второе пороговое значение уточнения может быть определено на основе DbrVThreshold.

[000284] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrVThreshold соответствует первому пороговому значению фильтрации (например, третье пороговое значение фильтрации и первое пороговое значение фильтрации одинаковы) и является первым пороговым значением фильтрации для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, DbrVThreshold представляет первое пороговое значение фильтрации в приведенном выше варианте осуществления изобретения. Кроме того, второе пороговое значение фильтрации (например, четвертое пороговое значение фильтрации и второе пороговое значение фильтрации одинаковы) в описанном выше варианте осуществления изобретения и первое пороговое значение фильтрации являются противоположными друг другу числами, и, таким образом, второе пороговое значение фильтрации может быть определено на основе DbrVThreshold.

[000285] В заключение, DbrVThreshold может представлять первое пороговое значение уточнения и первое пороговое значение фильтрации для вертикальной DBF-фильтрации, и, другими словами, первое пороговое значение уточнения и первое пороговое значение фильтрации являются одинаковыми и могут иметь одинаковое значение.

[000286] Значение 0 смещения вертикального уточнения фильтрации для устранения блочности (dbr_v_offset0_minus1) используется для определения значения смещения 0 вертикального уточнения фильтрации для устранения блочности текущего изображения, которое принимает значение от 0 до 3. Значение DbrVOffset0 равно отрицательному значению, которое равно числу, противоположному результату суммы dbr_v_offset0_minus1+1. Если в битовом потоке нет dbr_v_offset0_minus1, значение DbrVOffset0 равно 0.

[000287] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrVOffset0 соответствует первому значению смещения фильтрации (например, третье значение смещения фильтрации и первое значение смещения фильтрации совпадают) и является первым значением смещения фильтрации для вертикальной DBF-фильтрации. Когда должна выполняться вертикальная DBF-фильтрация, DbrVOffset0 представляет первое значение смещения фильтрации в описанном выше варианте осуществления изобретения.

[000288] Значение 1 смещения вертикального уточнения фильтрации для устранения блочности (dbr_v_offset1_minus1) используется для определения значения 1 смещения вертикального уточнения фильтрации для устранения блочности текущего изображения, которое принимает значения от 0 до 3. Значение DbrVOffset1 равно значению dbr_v_offset1 minus1+1. Если в битовом потоке нет dbr_v_offset1_minus1, значение DbrVOffset1 равно 0.

[000289] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrVOffset1 соответствует второму значению смещения фильтрации (например, четвертое значение смещения фильтрации и второе значение смещения фильтрации совпадают) и является вторым значением смещения фильтрации для вертикальной DBF-фильтрации. Когда должна быть выполнена вертикальная DBF-фильтрация, DbrVOffset1 представляет второе значение смещения фильтрации в описанном выше варианте осуществления изобретения.

[000290] Значение 0 смещения вертикального уточнения расширенной фильтрации для устранения блочности (dbr_v_offset0_minus1) используется для определения значения 0 смещения вертикального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_v_offset0_minus1 находится между 0 и 3. Значение DbrVAltOffset0 равно отрицательному значению, которое является числом, противоположным результату суммы dbr_v_alt_offset0_minus1+1. Если в битовом потоке нет dbr_v_alt_offset0_minus1, значение DbrVAltOffset0 равно 0.

[000291] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrVAltOffset0 соответствует первому значению смещения уточнения (например, третье значение смещения уточнения и первое значение смещения уточнения совпадают) и является первым значением смещения уточнения для вертикальной DBF-фильтрации. Когда должна выполняться вертикальная DBF-фильтрация, DbrVAltOffset0 представляет первое значение смещения уточнения в описанном выше варианте осуществления изобретения.

[000292] Значение 1 смещения вертикального уточнения расширенной фильтрации для устранения блочности (dbr_v_alt_offset1_minus1) используется для определения значения смещения 1 вертикального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_v_alt_offset1_minus1 находится между 0 и 3. Значение DbrVAltOffsetl равно значению dbr_v_alt_offset1_minus1+1. Если в битовом потоке нет dbr_v_alt_offset1 minus1, значение DbrVAltOffsetl равно 0.

[000293] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrVAltOffsetl соответствует второму значению смещения уточнения (например, четвертое значение смещения уточнения и второе значение смещения уточнения совпадают) и является вторым значением смещения уточнения для вертикальной DBF-фильтрации. Когда должна выполняться вертикальная DBF-фильтрация, DbrVAltOffsetl представляет второе значение смещения уточнения в описанном выше варианте осуществления изобретения.

[000294] Флаг включения горизонтального уточнения фильтрации для устранения блочности на уровне изображения представлен как picture_dbr_h_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать горизонтальное уточнение фильтрации для устранения блочности, а значение «0» указывает на то, что текущее изображение не разрешает использовать горизонтальное уточнение фильтрации для устранения блочности. Значение PhDbrHEnableFlag равно значению picture_dbr_h_enable_flag. Если в битовом потоке нет picture_dbr_h_enable_flag, значение PhDbrHEnableFlag равно 0.

[000295] В некоторых вариантах осуществления изобретения для расширенного режима уточнения PhDbrHEnableFlag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, PhDbrHEnableFlag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.

[000296] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации PhDbrHEnableFlag соответствует флагу включения расширенного режима фильтрации и является флагом включения расширенного режима фильтрации для горизонтальной DBF-фильтрации. Другими словами, когда должна быть выполнена горизонтальная DBF-фильтрация, PhDbrHEnableFlag указывает на разрешение включения расширенного режима фильтрации или запрещение включения расширенного режима фильтрации.

[000297] В заключение, PhDbrHEnableFlag может представлять флаг включения расширенного режима уточнения для горизонтальной DBF-фильтрации и флаг включения расширенного режима фильтрации для горизонтальной DBF-фильтрации. Другими словами, флаг включения расширенного режима уточнения и флаг включения расширенного режима фильтрации совместно используют один и тот же флаг, а именно, текущее изображение разрешает включение расширенного режима уточнения и расширенного режима фильтрации одновременно или запрещает включение расширенного режима уточнения и расширенного режима фильтрации одновременно.

[000298] Пороговое значение горизонтального уточнения фильтрации для устранения блочности представлено как dbr_h_threshold_minus1, которое используется для определения порогового значения горизонтального уточнения фильтрации для устранения блочности текущего изображения, при этом пороговое значение принимает значение между 0 и 1. Значение DbrHThreshold равно значению dbr_h_threshold_minus1+1. Если в битовом потоке нет dbr_h_threshold_minus1, значение DbrHThreshold равно 0.

[000299] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrHTreshold соответствует первому пороговому значению уточнения (например, третье пороговое значение уточнения и первое пороговое значение уточнения одинаковы) и является первым пороговым значением уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHThreshold представляет первое пороговое значение уточнения в описанном выше варианте осуществления изобретения. Кроме того, второе пороговое значение уточнения (например, четвертое пороговое значение уточнения и второе пороговое значение уточнения одинаковы) в описанном выше варианте осуществления изобретения и первое пороговое значение уточнения являются противоположными друг другу числами, и, таким образом, второе пороговое значение уточнения может быть определено на основе DbrHThreshold.

[000300] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrHTreshold соответствует первому пороговому значению фильтрации (например, третье пороговое значение фильтрации и первое пороговое значение фильтрации одинаковы) и является первым пороговым значением фильтрации для горизонтальной DBF-фильтрации. Другими словами, когда должна быть выполнена горизонтальная DBF-фильтрация, DbrHThreshold представляет первое пороговое значение фильтрации в описанном выше варианте осуществления изобретения. Кроме того, второе пороговое значение фильтрации (например, четвертое пороговое значение фильтрации и второе пороговое значение фильтрации одинаковы) в описанном выше варианте осуществления изобретения и первое пороговое значение фильтрации являются противоположными друг другу числами, и, таким образом, второе пороговое значение фильтрации может быть определено на основе DbrHThreshold.

[000301] В заключение, DbrHTreshold может представлять первое пороговое значение уточнения и первое пороговое значение фильтрации для горизонтальной DBF-фильтрации, а именно, первое пороговое значение уточнения и первое пороговое значение фильтрации являются одинаковыми и имеют одно и то же значение.

[000302] Значение 0 смещения горизонтального уточнения фильтрации для устранения блочности (dbr h offset0 minus1) используется для определения значения 0 смещения горизонтального уточнения фильтрации для устранения блочности текущего изображения, при этом значение смещения находится в диапазоне от 0 до 3. Значение DbrHOffset0 равно отрицательному значению, которое является числом, противоположным результату суммы dbr_h_offset0_minus1+1. Если в битовом потоке нет dbr_h_offset0_minus1, значение DbrHOffset0 равно 0.

[000303] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrHOffset0 соответствует первому значению смещения фильтрации (например, третье значение смещения фильтрации и первое значение смещения фильтрации совпадают) и является первым значением смещения фильтрации для горизонтальной DBF-фильтрации. Когда должна выполняться горизонтальная DBF-фильтрация, DbrHOffset0 представляет первое значение смещения фильтрации в описанном выше варианте осуществления изобретения.

[000304] Значение 1 смещения горизонтального уточнения фильтрации для устранения блочности (dbr_h_offset1_minus1) используется для определения значения смещения 1 горизонтального уточнения фильтрации для устранения блочности текущего изображения, при этом значение смещения находится в диапазоне от 0 до 3. Значение DbrHOffset1 равно значению dbr_h_offset1_minus1+1. Если в битовом потоке нет dbr_h_offset1_minus1, значение DbrHOffset1 равно 0.

[000305] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrHOffset1 соответствует второму значению смещения фильтрации (например, четвертое значение смещения фильтрации и второе значение смещения фильтрации совпадают) и является вторым значением смещения фильтрации для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHOffset1 представляет второе значение смещения фильтрации в описанном выше варианте осуществления изобретения.

[000306] Значение 0 смещения горизонтального уточнения расширенной фильтрации для устранения блочности (dbr_h_alt_offset0_minus1) используется для определения значения 0 смещения горизонтального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_h_alt_offset0_minus1 находится в диапазоне от 0 до 3. Значение DbrHAltOffset0 равно отрицательному значению, которое является числом, противоположным результату суммы dbrhaltoffset0minus1+1. Если в битовом потоке нет dbr_h_alt_offset0_minus1, значение DbrHAltOffset0 равно 0.

[000307] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrHAltOffset0 соответствует первому значению смещения уточнения (например, третье значение смещения уточнения и первое значение смещения уточнения совпадают) и является первым значением смещения уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHAltOffset0 представляет первое значение смещения уточнения в описанном выше варианте осуществления изобретения.

[000308] Значение 1 смещения горизонтального уточнения расширенной фильтрации для устранения блочности (dbr_h_alt_offset1_minus1) используется для определения значения 1 смещения горизонтального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_h_alt_offset1_minus1 находится между 0 и 3. Значение DbrHAltOffsetl равно значению dbr_h_alt_offset1_minus1+1. Если в битовом потоке нет dbr_h_alt_offset1_minus1, значение DbrHAltOffsetl равно 0.

[000309] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrHAltOffsetl соответствует второму значению смещения уточнения (например, четвертое значение смещения уточнения и второе значение смещения уточнения совпадают) и является вторым значением смещения уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHAltOffset1 представляет второе значение смещения уточнения в описанном выше варианте осуществления изобретения.

[000310] Вариант 14 осуществления изобретения: можно сделать ссылку на таблицу 2 для выражения высокоуровневого синтаксиса (например, высокоуровневого синтаксиса заголовка изображения), например, синтаксиса кодирования/декодирования заголовка изображения, показанного в таблице 2. Кодер кодирует в заголовок изображения синтаксис, показанный в таблице 2, и декодер декодирует в заголовке изображения синтаксис, показанный в таблице 2.

[000311] Значения соответствующих синтаксисов в таблице 2 описаны ниже.

[000312] Флаг включения расширенного вертикального уточнения на уровне изображения представлен как picture_alt_dbr_v_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать расширенное вертикальное уточнение, а значение «0» указывает на то, что текущее изображение запрещает использовать расширенное вертикальное уточнение. Значение PictureAltDbrVEnableFlag равно значению picture_alt_dbr_v_enable_flag. Если в битовом потоке нет picture_alt_dbr_v_enable_flag, значение PhAltDbrVEnableFlag равно 0.

[000313] В некоторых вариантах осуществления изобретения для расширенного режима уточнения PictureAltDbrVEnableFlag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, PictureAltDbrVEnableFlag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.

[000314] В отличие от PictureAltDbrVEnableFlag в варианте 13 осуществления изобретения, PictureAltDbrVEnableFlag является только флагом включения расширенного режима уточнения для вертикальной DBF-фильтрации, а не флагом включения расширенного режима фильтрации для вертикальной DBF-фильтрации.

[000315] Флаг включения расширенного горизонтального уточнения на уровне изображения представлен как picture_alt_dbr_h_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать расширенное горизонтальное уточнение, а значение «0» указывает на то, что текущее изображение запрещает использовать расширенное горизонтальное уточнение. Значение PictureAltDbrHEnableFlag равно значению picture_alt_dbr_h_enable_flag. Если в битовом потоке отсутствует picture_alt_dbr_h_enable_flag, значение PhAltDbrHEnableFlag равно 0.

[000316] В некоторых вариантах осуществления изобретения для расширенного режима уточнения PhAltDbrHEnableFlag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, PhAltDbrHEnableFlag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.

[000317] В отличие от PhAltDbrHEnableFlag в варианте 13 осуществления изобретения, PhAltDbrHEnableFlag является только флагом включения расширенного режима уточнения для горизонтальной DBF-фильтрации, а не флагом включения расширенного режима фильтрации для горизонтальной DBF-фильтрации.

[000318] Значения других синтаксисов в таблице 2 такие же, как значения соответствующих синтаксисов в таблице 1, и поэтому здесь не повторяются.

[000319] Вариант 15 осуществления изобретения: для варианта 11 осуществления изобретения adbr_enable_flag может быть кодирован и декодирован только тогда, когда включен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включать ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, флаг adbr_enable_flag может быть кодирован/декодирован в заголовке последовательности, а если режим фильтрации для устранения блочности не включен, флаг adbr_enable_flag не кодируют/декодируют в заголовке последовательности. Одним словом, расширенный режим уточнения (adbr_enable_flag используется для управления включением расширенного режима уточнения) является подрежимом режима фильтрации для устранения блочности, который разрешено включать только тогда, когда включен режим фильтрации для устранения блочности.

[000320] Для варианта 12 осуществления изобретения dbr_enable_flag может кодироваться и декодироваться только тогда, когда включен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включать ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, флаг dbr_enable_flag может быть кодирован/декодирован в заголовке последовательности, а если режим фильтрации для устранения блочности не включен, флаг dbr_enable_flag не кодируют/декодируют в заголовке последовательности. Одним словом, расширенный режим фильтрации (dbr_enable_flag используется для управления включением расширенного режима фильтрации) является подрежимом режима фильтрации для устранения блочности, который разрешено включать только тогда, когда включен режим фильтрации для устранения блочности.

[000321] Для варианта 13 осуществления изобретения высокоуровневые синтаксисы (используемые для управления включением расширенного режима фильтрации и расширенного режима уточнения), показанные в таблице 1, кодируют и декодируют только тогда, когда разрешен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включать ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, высокоуровневые синтаксисы, показанные в таблице 1, кодируют/декодируют в заголовке изображения, а если режим фильтрации для устранения блочности не включен, высокоуровневые синтаксисы, показанные в таблице 1, не кодируют/декодируют в заголовке изображения.

[000322] Для варианта 14 осуществления изобретения высокоуровневые синтаксисы (используемые для управления включением расширенного режима фильтрации и расширенного режима уточнения), показанные в таблице 2, кодируют и декодируют только тогда, когда включен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включен ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, высокоуровневые синтаксисы, показанные в таблице 2, кодируют/декодируют в заголовке изображения, а если режим фильтрации для устранения блочности не включен, высокоуровневые синтаксисы, показанные в таблице 2, не кодируют/декодируют в заголовке изображения.

[000323] Вариант 16 осуществления изобретения: для процесса фильтрации для устранения блочности компонента яркости (т.е. текущий блок является компонентом яркости), например, компонент яркости уточняют на основе расширенного режима уточнения или расширенного режима фильтрации.

[000324] Параметры DBR компонента яркости получают в следующем процессе:

[000325] Если текущая граница, подлежащая фильтрации, является вертикальной границей, а значение PhAltDbrVEnableFlag равно 1, или текущая граница, подлежащая фильтрации, является горизонтальной границей, а значение PhAltDbrHEnableFlag равно 1, значение Picture DbrEnableFlag равно 1; в противном случае значение PictureDbrEnableFlag равно 0. Если текущая граница, подлежащая фильтрации, является вертикальной границей, а значение PictureAltDbrVEnableFlag равно 1, или текущая граница, подлежащая фильтрации, является горизонтальной границей, а значение PictureAltDbrHEnableFlag равно 1, значение Picture AltDbrEnableFlag равно 1, в противном случае значение PictureAltDbrEnableFlag равно 0.

[000326] С помощью следующего способа можно получить dbr_th, dbr_offset0, dbr_offset1, alt_dbr_offset0 и alt_dbr_offset1:

[000327] Для вертикальной границы dbr_th=DbrVThreshold, dbr_offset0=DbrVOffset0, dbr_offset1=DbrVGffsetl, alt_dbr_offset0=DbrVAltOffset0 и alt_dbr_offset1=DbrVAltOffset1.

[000328] Для горизонтальной границы dbr_th=DbrHTreshold, dbr_offset0=DbrHOffset0, dbr_offset1=DbrHOffset1, alt_dbr_offset0=DbrHAltOffset0 и alt_dbr__offset1=DbrHAltOffset1.

[000329] (1) Процесс фильтрации границы, когда значение BS компонента яркости равно 4, выглядит следующим образом (используется расширенный режим фильтрации для обработки):

[000330] Когда значение BS равно 4, процессы вычисления фильтрации для p0, p1, р2 и q0, q1, q2 следующие:

[000331] Р0=(р2*3+p1*8+p0*10+q0*8+q1*3+16) >> 5;

[000332] P1=(р2*4+p1*5+p0*4+q0*3+8) >> 4;

[000333] Р2=(р3*2+р2*2+p1*2+p0*1+q0*1+4) >> 3;

[000334] Q0=(p1*3+p0*8+q0*10+q1*8+q2 * 3+16)>> 5;

[000335] Q1=(p0*3+q0*4+q1*5+q2*4+8) >> 4;

[000336] Q2=(p0*1+q0*1+q1*2+q2*2+q3*2+4) >> 3.

[000337] P0, P1, P2 и Q0, Q1, Q2 отфильтрованные значения (отфильтрованные значения пикселей).

[000338] После получения Р0, P1, Р2 и Q0, Q1, Q2, если значение PhDbrEnableFlag равно 1, тогда,

[000339] если pi>Pi+dbr_th, то Pi'=clip((Pi+pi+1) >> 1+dbr_offset0); в противном случае, если pi<Pi dbr_th, то Pi-clip((Pi+pi+1) >> 1+dbr_offset1), где i=0, 1 или 2;

[000340] если qi>Qi+dbr_th, то Qi'=clip((Qi+qi+1) >> 1+dbr_offset0); в противном случае, если qi<Qi-dbr_th, то Qi'=clip((Qi+qi+1) >> 1+dbr_offset1), где i=0, 1 или 2.

[000341] В приведенных выше формулах pi может представлять собой исходное значение пикселя, qi может представлять собой исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять собой уточненное значение пикселя.

[000342] (2) Процесс фильтрации границы, когда значение BS компонента яркости (используется расширенный режим фильтрации для обработки) равно 3, выглядит следующим образом:

[000343] Когда значение BS равно 3, процессы вычисления фильтрации для p0, p1 и q0, q1 следующие:

[000344] Р0=(р2+(p1 << 2)+(p0 << 2)+(p0 << 1)+(q0 << 2)+q1+8) >> 4;

[000345] P1=((р2 << 1)+р2+(p1 << 3)+(p0 << 2)+q0+8) >> 4;

[000346] Q0=(p1+(p0 << 2)+(q0 << 2)+(q0 << 1)+(q1 << 2)+q2+8) >> 4;

[000347] Q1=((q2 << 1)+q2+(q1 << 3)+(q0 << 2)+p0+8) >> 4.

[000348] P0, P1 и Q0, Q1 - отфильтрованные значения (отфильтрованные значения пикселей).

[000349] После получения Р0, Р1 и Q0, Q1, если значение PhDbrEnableFlag равно 1, тогда,

[000350] если pi>Pi+dbr_th, то Pi'=clip((Pi+pi+1) >> 1+dbr_offset0); в противном случае, если pi<Pi -dbr_th, то Pi -clip((Pi+pi+1) >> 1+dbr_offset1), где i=0, 1;

[000351] если qi>Qi+dbr_th, то Qi'=clip((Qi+qi+1) >> 1+dbr_offset0); в противном случае, если qi<Qi-dbr_th, то Qi'=clip((Qi+qi+1) >> 1+dbr_offset1), где i=0, 1.

[000352] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять уточненное значение пикселя.

[000353] (3) Процесс фильтрации границы, когда значение BS компонента яркости равно 2 (с использованием расширенного режима фильтрации для обработки), выглядит следующим образом:

[000354] Когда значение BS равно 2, процессы вычисления фильтрации для p0 и q0 следующие:

[000355] Р0=((p1 << 1)+p1+(p0 << 3)+(p0 << 1)+(q0 << 1)+q0+8) >> 4;

[000356] Q0=((p0 << 1)+p0+(q0 << 3)+(q0 << 1)+(q1 << 1)+q1+8) >> 4.

[000357] P0 и Q0 оба являются отфильтрованными значениями (отфильтрованными значениями пикселей).

[000358] После получения Р0 и Q0, если значение PhDbrEnableFlag равно 1, то:

[000359] если pi>Pi+dbr_th, то Pi'=clip((Pi+pi+1) >> 1+dbr_offset0); в противном случае, если pi<Pi -dbr_th, то Pi-clip((Pi+pi+1) >> 1+dbr_offset1), где i=0;

[000360] если qi>Qi+dbr_th, то Qi'=clip((Qi+qi+1) >> 1+dbroffset0); в противном случае, если qi<Qi-dbr_th, то Qi'=clip((Qi+qi+1) >> 1+dbr_offset1), где i=0.

[000361] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять уточненное значение пикселя.

[000362] (4) Процесс фильтрации границы, когда значение BS компонента яркости равно 1 (с использованием расширенного режима фильтрации для обработки), выглядит следующим образом:

[000363] Когда значение BS равно 1, процессы вычисления фильтрации для p0 и q0 следующие:

[000364] Р0=((p0 << 1)+p0+q0+2) >> 2;

[000365] Q0=((q0 << 1)+q0+p0+2) >> 2.

[000366] P0 и Q0 являются отфильтрованными значениями (отфильтрованными значениями пикселей).

[000367] После получения Р0 и Q0, если значение PhDbrEnableFla равно 1, тогда:

[000368] если pi>Pi+dbr_th, то Pi'=clip((Pi+pi+1) >> 1+dbr_offset0); в противном случае, если pi<Pi -dbr_th, то Pi-clip((Pi+pi+1) >> 1+dbr_offset1), где i=0;

[000369] если qi>Qi+dbr_th, то Qi'=clip((Qi+qi+1) >> 1+dbr_offset0); в противном случае, если qi<Qi-dbr_th, то Qi-clip((Qi+qi+1) >> 1+dbr_offset1), где i=0.

[000370] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять уточненное значение пикселя.

[000371] (5) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 1 (с использованием расширенного режима уточнения для обработки):

[000372] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:

[000373] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, DPi=(pi-qi+2) >> 2 и DQi=(qi-pi+2) >> 2, или DPi=(pi-qi+1) >> 1 и DQi=(qi-pi+1) >> 1.

[000374] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:

[000375] если DPi>dbr_th, то Pi=clip(pi+alt_dbr_offset0); в противном случае, если DPi<dbr_th, то Pi=clip(pi+alt_dbr_offset1);

[000376] если DQi>dbr_th, то Qi=clip(qi+alt_dbr_offset0); в противном случае, если DQi<-dbr_th, то Qr=clip(qi+alt_dbr_offset1).

[000377] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.

[000378] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.

[000379] (6) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 2 (с использованием расширенного режима уточнения для обработки):

[000380] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:

[000381] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, DPi=(pi-qi+1) >> 1 и DQi=(qi-pi+1) >> 1.

[000382] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:

[000383] если DPi>2*dbr_th, то Pr=clip(pi+alt_dbr_offset0); в противном случае, если DPi<-2*dbr_th, то Pr=clip(pi+alt_dbr_offset1);

[000384] если DQi>2*dbr_th, то Qi=clip(qi+alt_dbr_offset0); в противном случае, если DQi<2*dbr_th, то Qi=clip(qi+alt_dbr_offset1).

[000385] В приведенных выше формулах 2*dbr_th и 2*dbr_th могут быть пороговыми значениями уточнения в описанных выше вариантах осуществления изобретения.

[000386] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.

[000387] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.

[000388] (7) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 3 (с использованием расширенного режима уточнения для обработки):

[000389] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:

[000390] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi могут быть определены следующим образом: DPi=((pi << 1)+pi+qi+2) >> 2 и DQi=((qi << 1)+qi+pi+2) >> 2.

[000391] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:

[000392] если pi>DPi+dbr_th, то Pi=clip(pi+alt_dbr_offset0); в противном случае, если pi<DPi-dbr_th, то Pi=clip(pi+alt_dbr_offset1);

[000393] если qi>DQi+dbr_th, то Qi=clip(qi+alt_dbr_offset0); в противном случае, если qi<DQi-dbr_th, то Qi=clip(qi+alt_dbr_offset1).

[000394] В одной возможной реализации приведенное выше выражение может быть эквивалентно следующей форме выражения:

[000395] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi можно определить следующим образом: DPi=pi -(((pi << 1)+pi+qi+2) >> 2) и DQi=qi- (((qi << 1)+qi+pi+2) >> 2).

[000396] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:

[000397] если DPi>dbr_th, то Pi=clip(pi+alt_dbr_offset0); в противном случае, если DPi<dbr_th, то Pi=clip(pi+alt_dbr_offset1);

[000398] если DQi>dbr_th, то Qi=clip(qi+alt_dbr_offset0); в противном случае, если DQi<-dbr_th, то Qr=clip(qi+alt_dbr_offset1).

[000399] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.

[000400] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.

[000401] В приведенном выше варианте осуществления изобретения clip(x) представляет, что х ограничено в пределах [0, 2^(bit depth)-1] (интервал включает 0 и 2^(bit depth)-1), где bit depth представляет битовую глубину изображения, которая обычно равна 8, 10, 12 или т.п.

[000402] (8) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 4 (с использованием расширенного режима уточнения для обработки):

[000403] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:

[000404] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi могут быть определены следующим образом: DPi=(qi-pi+2) >> 2 и DQi=(pi-qi+2) >> 2.

[000405] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:

[000406] если DPi<dbr_th, то Pi=clip(pi+dbraltoffset0); в противном случае, если DPi>-dbr_th, то Pi=clip(pi+dbraltoffset1);

[000407] если DQKdbr_th, то Qi=clip(qi+alt_dbr_offset0); в противном случае, если DQi>dbr_th, то Qi=clip(qi+dbr alt offset1).

[000408] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.

[000409] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, a Qi может представлять уточненное значение пикселя.

[000410] (9) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 5 (с использованием расширенного режима уточнения для обработки):

[000411] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:

[000412] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi могут быть определены следующим образом: DPi=pi - (((pi << 1)+pi+qi+2) >> 2), т.е. DPi=(pi-qi -2) >> 2, a DQi=qi - (((qi << 1)+qi+pi+2) >> 2), т.e. DQi=(qi-pi - 2) >> 2.

[000413] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:

[000414] если DPi>dbr_th, то Pi=clip (pi+dbr alt offset0); в противном случае, если DPi<- dbr_th, то Pi=clip (pi+dbr alt offset1);

[000415] если DQi>dbr_th, то Qi=clip (qi+dbr alt offset0); в противном случае, если DQi<-dbr_th, то Qi=clip (qi+dbr alt offset1).

[000416] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.

[000417] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.

[000418] Вариант 17 осуществления изобретения: для вариантов 11 и 12 осуществления изобретения высокоуровневый синтаксис SPS может быть заменен высокоуровневым синтаксисом PPS, или высокоуровневым синтаксисом заголовка изображения, или высокоуровневым синтаксисом изображения, или высокоуровневым синтаксисом заголовка слайса, или высокоуровневым синтаксисом CTU или высокоуровневым синтаксисом CU, причем типы высокоуровневых синтаксисов здесь не ограничены, при условии, что высокоуровневые синтаксисы могут передавать dbr_enable_flag или adbr_enable_flag. Для вариантов 13 и 14 осуществления изобретения высокоуровневый синтаксис заголовка изображения может быть заменен высокоуровневым синтаксисом SPS, или высокоуровневым синтаксисом PPS, или высокоуровневым синтаксисом изображения, или высокоуровневым синтаксисом заголовка слайса, или высокоуровневым синтаксисом CTU или высокоуровневым синтаксисом CU, причем типы высокоуровневых синтаксисов здесь не ограничены, если высокоуровневые синтаксисы могут передавать содержимое таблицы 1 и таблицы 2, а именно, высокоуровневые синтаксисы могут передавать флаг включения расширенного режима уточнения, флаг включения расширенного режима фильтрации, первое пороговое значение уточнения, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, первое значение смещения уточнения, второе значение смещения уточнения и т.п., при этом конкретная реализация аналогична реализации вариантов 13 и 14 осуществления изобретения и здесь не повторяется.

[000419] Для вариантов 13 и 14 осуществления изобретения высокоуровневый синтаксис заголовка изображения может быть заменен высокоуровневым синтаксисом CTU, который передает параметры, относящиеся к DBR, при этом параметры, относящиеся к DBR, включают первое пороговое значение уточнения, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, первое значение смещения уточнения, второе значение смещения уточнения и т.п., как показано в вариантах 13 и 14 осуществления изобретения. Альтернативно, высокоуровневый синтаксис заголовка изображения может быть заменен высокоуровневым синтаксисом CU, который передает параметры, относящиеся к DBR, при этом параметры, относящиеся к DBR, включают первое пороговое значение уточнения, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, первое значение смещения уточнения, второе значение смещения уточнения и т.п., как показано в вариантах 13 и 14 осуществления изобретения.

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

[000421] В некоторых вариантах осуществления изобретения описанные выше варианты осуществления изобретения с 1 по 18 могут быть реализованы отдельно или в виде комбинаций, например, могут быть объединены вариант 1 осуществления изобретения и вариант 2 осуществления изобретения, могут быть объединены вариант 1 осуществления изобретения и вариант 3 осуществления изобретения, могут быть объединены вариант 1 осуществления изобретения и вариант 4 осуществления изобретения, могут быть объединены вариант 1 осуществления изобретения и вариант 5 осуществления изобретения, и могут быть объединены вариант 1 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть произвольно объединены по меньшей мере два варианта осуществления изобретения с 8 по 18; могут быть объединены вариант 2 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 3 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 4 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 5 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 6 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 7 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18. Конечно, выше приведены лишь несколько примеров комбинации, и по меньшей мере любые два варианта осуществления изобретения из вариантов осуществления изобретения с 1 по 18 могут быть объединены для реализации соответствующего процесса.

[000422] В некоторых вариантах осуществления изобретения, описание кодера в каждом из описанных выше вариантов осуществления изобретения может быть применено к декодеру, и декодер может выполнять обработку таким же образом. Описание декодера может быть применено к кодеру, и кодер может выполнять обработку таким же образом.

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

[000424] Например, в одной из возможных реализаций декодер сконфигурирован для выполнения следующего:

[000425] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определения значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя определения уточненного значения пикселя текущей точки пикселя.

[000426] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство кодирования, которое применяется в кодере. Устройство кодирования содержит: память, сконфигурированную для хранения видеоданных; кодер, сконфигурированный для осуществления способа кодирования и декодирования, показанного в вариантах осуществления изобретения с 1 по 18, а именно для реализации потока обработки кодера.

[000427] Например, в одной из возможных реализаций кодер сконфигурирован для выполнения следующего:

[000428] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определения значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определения уточненного значения пикселя текущей точки пикселя.

[000429] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство декодера (также называемое видеодекодером). С точки зрения аппаратного уровня можно обратиться к фиг. 5А, иллюстрирующей схему аппаратной архитектуры устройства декодера, которое содержит: процессор 511 и машиночитаемый носитель 512 данных. Машиночитаемый носитель 512 данных хранит машиночитаемые инструкции, исполняемые процессором 511, и процессор 511 сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа приведенных выше вариантов осуществления изобретения с 1 по 18. Например, процессор 511 сконфигурирован для выполнения машиночитаемых инструкций для выполнения следующих этапов:

[000430] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя определение уточненного значения пикселя текущей точки пикселя.

[000431] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство кодера (также называемое видеокодером). С точки зрения аппаратного уровня можно обратиться к фиг. 5В, иллюстрирующей схему аппаратной архитектуры устройства кодера, которое содержит: процессор 521 и машиночитаемый носитель 522 данных. Машиночитаемый носитель 522 данных хранит машиночитаемые инструкции, выполняемые процессором 521, и процессор 521 сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа приведенных выше вариантов осуществления изобретения с 1 по 18. Например, процессор 521 сконфигурирован для выполнения машиночитаемых инструкций для выполнения следующих этапов:

[000432] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.

[000433] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает машиночитаемый носитель данных, на котором хранятся компьютерные инструкции. Компьютерные инструкции выполняются процессором для осуществления способа, раскрытого в приведенных выше вариантах осуществления настоящего изобретения, например, способа кодирования и декодирования, упомянутого в приведенных выше вариантах осуществления изобретения. Машиночитаемый носитель данных может быть любым электронным, магнитным, оптическим или физическим запоминающим устройством и может содержать или хранить информацию, такую как исполняемые инструкции, данные и т.п. Например, машиночитаемый носитель данных может быть оперативной памятью (RAM, Random Access Memory), энергозависимой памятью, энергонезависимой памятью, флэш-памятью, запоминающим устройством (например, жестким диском), твердотельным жестким диском, любым типом диска для хранения (например, компакт-диском, цифровым видеодиском (DVD, Digital Video Disk)) или аналогичным носителем информации, или их комбинацией.

[000434] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает компьютерную прикладную программу, которая выполняется процессором для осуществления способа кодирования и декодирования, как раскрыто в приведенных выше вариантах осуществления изобретения.

[000435] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство кодирования и декодирования, которое применяется в кодере или декодере. Устройство кодирования и декодирования содержит:

[000436] модуль определения, выполненный с возможностью, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; и модуль обработки, выполненный с возможностью определять, на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, уточненное значение пикселя текущей точки пикселя.

[000437] В некоторых вариантах осуществления изобретения модуль обработки при определении уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя сконфигурирован для выполнения следующего:

[000438] на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определения уточненного значения пикселя текущей точки пикселя.

[000439] В некоторых вариантах осуществления изобретения модуль обработки, сконфигурированный, на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, для определения уточненного значения пикселя текущей точки пикселя, сконфигурирован для того, чтобы: если значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, определять уточненное значение пикселя текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;

[000440] если значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, определять уточненное значение пикселя текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения.

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

[000442] В некоторых вариантах осуществления изобретения модуль обработки при определении уточненного значения пикселя опорной точки пикселя на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя сконфигурирован для выполнения следующего:

[000443] на основе значения градиента опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения уточнения, четвертого порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, определения уточненного значения пикселя опорной точки пикселя.

[000444] В некоторых вариантах осуществления изобретения модуль обработки, сконфигурированный, на основе значения градиента опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения уточнения, четвертого порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, для определения уточненного значения пикселя опорной точки пикселя, сконфигурирован для того, чтобы: если значение градиента опорной точки пикселя больше, чем третье пороговое значение уточнения, определять уточненное значение пикселя опорной точки пикселя на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения;

[000445] если значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, определять уточненное значение пикселя опорной точки пикселя на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения.

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

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

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

[000449] В некоторых вариантах осуществления изобретения, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, модуль обработки также сконфигурирован для определения опорной точки пикселя, соответствующей текущей точке пикселя, из соседнего блока текущего блока и выполнения фильтрации для устранения блочности для исходного значения пикселя опорной точки пикселя для получения отфильтрованного значения пикселя опорной точки пикселя;

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

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

[000452] Системы, устройства, модули или блоки, описанные в приведенных выше вариантах осуществления изобретения, могут быть реализованы в виде компьютерных микросхем или объектов или в виде продуктов с определенными функциями. Типичным устройством реализации является компьютер, и компьютер, в конкретной форме, может быть персональным компьютером, портативным компьютером, сотовым телефоном, телефоном с камерой, смартфоном, персональным цифровым помощником, медиаплеером, навигационным оборудованием, приемопередатчиком электронной почты, игровой приставкой, планшетным компьютером, носимым устройством или комбинациями любых нескольких из этих устройств. Для удобства описания приведенное выше устройство при описании разделено на различные блоки по функциям. Конечно, при реализации настоящего раскрытия функции каждого блока могут быть реализованы в одном или более программных и/или аппаратных средствах.

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

[000454] Настоящее описание представлено со ссылкой на блок-схемы и/или структурные схемы способов, устройств (систем) и компьютерных программных продуктов, раскрытых в вариантах осуществления настоящего раскрытия. Следует понимать, что каждый поток и/или блок на блок-схемах и/или структурных схемах и комбинации потоков и/или блоков на блок-схемах и/или структурных схемах могут быть реализованы инструкциями компьютерной программы. Эти инструкции компьютерной программы могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения, встроенному процессору или другому программируемому оборудованию обработки данных для создания машины, так что инструкции, выполняемые процессором или другим программируемым устройством обработки данных, обеспечивают устройство для реализации функций, указанных в одном или более потоках на блок-схеме и/или в одном или более блоках на структурной схеме.

[000455] Эти инструкции компьютерной программы также могут быть сохранены в машиночитаемой памяти, способной управлять компьютером или другим программируемым устройством обработки данных для работы определенным образом, так что инструкции, хранящиеся в машиночитаемой памяти, создают промышленный продукт, включая устройство для выполнения инструкций, где устройство для выполнения инструкций реализует функции, указанные в одном или более потоках на блок-схеме и/или в одном или более блоках на структурной схеме. Эти инструкции компьютерной программы также могут быть загружены в компьютер или другое программируемое устройство обработки данных, так что последовательность рабочих этапов может быть выполнена на компьютере или другом программируемом устройстве для создания компьютерно-реализованной обработки, и, таким образом, инструкции, выполняемые на компьютере или другом программируемом устройстве, обеспечивают этапы для реализации функции, указанной в одном или более потоках на блок-схеме и/или в одном или более блоках на структурной схеме. Выше были приведены лишь некоторые примеры настоящего раскрытия, которые не ограничивают настоящее изобретение. Для специалистов в данной области техники настоящее раскрытие может иметь различные изменения и модификации. Любые модификации, эквивалентные замены, улучшения и т.д., выполненные в пределах сущности изобретения, находятся в пределах сущности формулы изобретения.

Похожие патенты RU2817405C1

название год авторы номер документа
Способ и устройство для улучшения качества изображения 2021
  • Чэнь Фандун
RU2803189C1
Способ и устройство для улучшения изображения 2021
  • Чэнь Фандун
RU2810607C1
СИСТЕМЫ И СПОСОБЫ ПРИМЕНЕНИЯ ФИЛЬТРОВ ДЕБЛОКИРОВАНИЯ К ВОССТАНОВЛЕННЫМ ВИДЕОДАННЫМ 2019
  • Чжу, Вэйцзя
  • Мисра, Киран Мукеш
  • Сигалл, Кристофер Эндрю
  • Коуэн, Филип
RU2768016C1
СИСТЕМЫ И СПОСОБЫ ПРИМЕНЕНИЯ ФИЛЬТРОВ ДЕБЛОКИРОВАНИЯ К ВОССТАНОВЛЕННЫМ ВИДЕОДАННЫМ 2019
  • Чжу, Вэйцзя
  • Мисра, Киран Мукеш
  • Сигалл, Кристофер Эндрю
  • Коуэн, Филип
RU2770650C1
КОДЕР, ДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ ВЫПОЛНЕНИЯ УСТРАНЕНИЯ БЛОЧНОСТИ ЦВЕТНОСТИ ДЛЯ БЛОКОВ, ИСПОЛЬЗУЮЩИХ КОДИРОВАНИЕ ОБЪЕДИНЕННОЙ ЦВЕТНОСТИ 2020
  • Котра, Ананд Меер
  • Алшина, Елена Александровна
  • Эсенлик, Семих
  • Ван, Бяо
  • Гао, Хань
  • Черняк, Роман Игоревич
RU2816918C2
СПОСОБ И ОБОРУДОВАНИЕ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ ДЛЯ ВЫПОЛНЕНИЯ ВНУТРИКОНТУРНОЙ ФИЛЬТРАЦИИ НА ОСНОВЕ СТРУКТУРЫ СУБКАДРА И СПОСОБ ДЛЯ ПЕРЕДАЧИ ПОТОКА БИТОВ 2020
  • Чан, Хён Мун
  • Палури, Сеетхал
  • Хендри, Хендри
  • Нам, Джун Хак
RU2801265C1
СПОСОБ И ОБОРУДОВАНИЕ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ ДЛЯ ВЫПОЛНЕНИЯ ВНУТРИКОНТУРНОЙ ФИЛЬТРАЦИИ НА ОСНОВЕ СТРУКТУРЫ СУБКАДРА И СПОСОБ ДЛЯ ПЕРЕДАЧИ ПОТОКА БИТОВ 2020
  • Чан, Хён Мун
  • Палури, Сеетхал
  • Хендри, Хендри
  • Нам, Джун Хак
RU2815430C2
НЕЗАВИСИМОЕ КОДИРОВАНИЕ ИНДИКАЦИИ ИСПОЛЬЗОВАНИЯ РЕЖИМА ПАЛИТРЫ 2020
  • Чжу, Вэйцзя
  • Чжан, Ли
  • Сюй, Цзичжэн
  • Чжан, Кай
  • Лю, Хунбинь
  • Ван, Юэ
RU2816845C2
ПРОЦЕДУРА КВАНТОВАНИЯ ДЛЯ РЕЖИМА ПАЛИТРЫ 2020
  • Чжу, Вэйцзя
  • Чжан, Ли
  • Сюй, Цзичжэн
  • Чжан, Кай
  • Лю, Хунбинь
  • Ван, Юэ
RU2803621C2
СОВМЕСТНОЕ КОДИРОВАНИЕ ИНДИКАЦИИ ИСПОЛЬЗОВАНИЯ РЕЖИМА ПАЛИТРЫ 2020
  • Чжу, Вэйцзя
  • Чжан, Ли
  • Сюй, Цзичжэн
  • Чжан, Кай
  • Лю, Хунбинь
  • Ван, Юэ
RU2810950C2

Иллюстрации к изобретению RU 2 817 405 C1

Реферат патента 2024 года Способ, оборудование и устройства для кодирования и декодирования

Изобретение относится к области технологий кодирования и декодирования видеоизображений. Техническим результатом является повышение производительности кодирования видеоизображений. Результат достигается тем, что, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определяют значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя определяют уточненное значение пикселя текущей точки пикселя. 7 н. и 8 з.п. ф-лы, 7 ил., 2 табл.

Формула изобретения RU 2 817 405 C1

1. Способ декодирования, включающий:

в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя;

на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя;

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

причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:

на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;

при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;

в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения.

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

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

3. Способ по п. 1, в котором,

в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, способ также включает:

определение опорной точки пикселя, соответствующей текущей точке пикселя, из соседнего блока текущего блока и, на основе исходного значения пикселя опорной точки пикселя и исходного значения пикселя окружающей точки пикселя опорной точки пикселя, определение значения градиента опорной точки пикселя;

на основе значения градиента опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения уточнения, четвертого порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, определение уточненного значения пикселя опорной точки пикселя; при этом в ответ на определение того, что значение градиента опорной точки пикселя больше третьего порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения; в ответ на определение того, что значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения.

4. Способ по любому из пп. 1-3, также включающий:

определение первого порогового значения уточнения, первого значения смещения уточнения, второго значения смещения уточнения, третьего порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, соответствующих текущему блоку, из высокоуровневого синтаксиса;

при этом перед определением того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, способ также включает:

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

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

5. Способ по п. 1, также включающий:

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

в ответ на определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации, определение уточненного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя; и/или

при этом определение уточненного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:

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

при этом значение пикселя текущей точки пикселя в текущем блоке представляет собой компонент яркости или компонент цветности; и/или

при этом способ также включает:

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

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

определение опорной точки пикселя, соответствующей текущей точке пикселя, из соседнего блока текущего блока и

выполнение фильтрации для устранения блочности для исходного значения пикселя опорной точки пикселя для получения отфильтрованного значения пикселя опорной точки пикселя;

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

определение уточненного значения пикселя опорной точки пикселя на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя.

7. Способ по п. 6, в котором определение уточненного значения пикселя опорной точки пикселя на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя включает:

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

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

8. Способ по п. 5, в котором определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, включает:

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

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

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

10. Способ кодирования, включающий:

в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя;

на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя;

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

причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:

на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;

при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;

в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения.

11. Устройство декодирования, содержащее:

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

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

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

причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:

на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;

при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;

в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения.

12. Устройство кодирования, содержащее:

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

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

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

причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:

на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;

при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;

в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения.

13. Устройство декодера, содержащее процессор и машиночитаемый носитель данных, при этом машиночитаемый носитель данных хранит машиночитаемые инструкции, исполняемые процессором;

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

14. Устройство кодера, содержащее процессор и машиночитаемый носитель данных, при этом машиночитаемый носитель данных хранит машиночитаемые инструкции, исполняемые процессором;

процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа по п. 10.

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

Документы, цитированные в отчете о поиске Патент 2024 года RU2817405C1

US 2018332309 A1, 2018.11.15
US 2012328029 A1, 2012.12.27
US 2016088295 A1, 2016.03.24
US 2006110062 A1, 2006.05.25
US 9906790 B2, 2018.02.27
JP 2015104061 A, 2015.06.04
CN 109889853 A, 2019.06.14
US 9264739 B2, 2016.02.16
US 10142658 B2, 2018.11.27
WO 2019026807 A1, 2019.02.07
WO 2012071417 A1, 2012.05.31
ОПРЕДЕЛЕНИЕ ЗНАЧЕНИЙ УРОВНЯ ГРАНИЦЫ ФИЛЬТРОВАНИЯ УДАЛЕНИЯ БЛОЧНОСТИ ДЛЯ КОДИРОВАНИЯ ВИДЕО 2012
  • Ван Дер Аувера Герт
  • Карчевич Марта
  • Ван Сянлинь
RU2586003C2

RU 2 817 405 C1

Авторы

Чэнь Фандун

Цао Сяоцян

Сунь Ючэн

Даты

2024-04-16Публикация

2022-02-22Подача