RU2803189C1 - Способ и устройство для улучшения качества изображения - Google Patents

Способ и устройство для улучшения качества изображения Download PDF

Info

Publication number
RU2803189C1
RU2803189C1 RU2022133671A RU2022133671A RU2803189C1 RU 2803189 C1 RU2803189 C1 RU 2803189C1 RU 2022133671 A RU2022133671 A RU 2022133671A RU 2022133671 A RU2022133671 A RU 2022133671A RU 2803189 C1 RU2803189 C1 RU 2803189C1
Authority
RU
Russia
Prior art keywords
filtering
pixel value
enhancement
pixel
threshold
Prior art date
Application number
RU2022133671A
Other languages
English (en)
Inventor
Фандун ЧЭНЬ
Original Assignee
Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. filed Critical Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд.
Application granted granted Critical
Publication of RU2803189C1 publication Critical patent/RU2803189C1/ru

Links

Abstract

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

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[01] Настоящая заявка относится к технологии кодирования и декодирования видеоизображений и, в частности, к способам и устройствам для улучшения качества изображения.
УРОВЕНЬ ТЕХНИКИ
[02] Комплексное кодирование видео может включать в себя такие операции как предсказание, преобразование, квантование, энтропийное кодирование, фильтрация и другие.
[03] В настоящее время к общепринятым распространенным технологиям фильтрации относятся деблокирующий фильтр (DBF, DeBlocking Filter), адаптивное смещение отсчетов (SAO, Sample Adaptive Offset) и адаптивный петлевой фильтр (ALF, Adaptive Loop Filter).
[04] Технология DBF может использоваться для устранения артефактов блокировки, вызванных блочным кодированием. В технологии SAO можно добиться большего сходства восстановленного изображения с оригиналом, выполняя классификацию на основании значений пикселей отсчетов и значений градиента окружающих блоков и добавляя различные компенсационные величины к значениям пикселей категорий. В технологии ALF к восстановленному изображению применяется улучшающая фильтрация с использованием фильтра Винера, благодаря чему может быть достигнуто большее сходство восстановленного изображения с оригинальным.
[05] Во всех вышеперечисленных технологиях фильтрации DBF, SAO и ALF классификация осуществляется на основании значения текущего пикселя или соотношения между значением текущего пикселя и значениями одного или нескольких окружающих пикселей, при этом различные операции фильтрации выполняются на основании различных категорий. Это может привести к избыточной фильтрации, т.е. значение пикселя после фильтрации становится намного больше или меньше значения пикселя до фильтрации, а также намного больше или меньше значения исходного пикселя.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[06] В связи с этим в настоящем изобретении предлагаются способы и устройства для улучшения качества изображения.
[07] В частности, в настоящем изобретении использованы следующие технические решения. Согласно первому аспекту вариантов осуществления настоящего изобретения предусматривается способ улучшения качества изображения, включающий в себя: для любого одного пикселя, удовлетворяющего первому условию фильтрации, в пределах текущего блока определение первого значения пикселя после первой фильтрации; а также получение улучшенного третьего значения пикселя путем улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя до первой фильтрации.
[08] Согласно второму аспекту вариантов осуществления настоящего изобретения предусматривается устройство для улучшения качества изображения, содержащее процессор, коммуникационный интерфейс, память и коммуникационную шину, где процессор, коммуникационный интерфейс и память взаимодействуют друг с другом по коммуникационной шине; при этом в памяти хранится компьютерная программа, а процессор под управлением компьютерной программы для любого одного пикселя, удовлетворяющего первому условию фильтрации, в пределах текущего блока определяет первое значение пикселя после первой фильтрации, а также получает улучшенное третье значение пикселя путем улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя до первой фильтрации.
[09] В способах улучшения качества изображения, предусмотренных вариантами осуществления настоящей заявки, для любого одного пикселя, удовлетворяющего условию первой фильтрации, в текущем блоке определяется первое значение пикселя после первой фильтрации. На основании первого значения пикселя и второго значения пикселя до первой фильтрации можно выполнить улучшение значения пикселя для получения улучшенного третьего значения пикселя, что может улучшить качество изображения и повысить эффективность кодирования и декодирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[10] На фиг.1А-1В представлены схемы разделения блоков в соответствии с одним из вариантов осуществления настоящего изобретения.
[11] На фиг.2 представлена блок-схема иллюстрирующая способ кодирования и декодирования согласно одному из вариантов осуществления настоящего изобретения.
[12] На фиг.3 представлена схема фильтрации DBF согласно одному из вариантов осуществления настоящего изобретения.
[13] На фиг.4 представлена блок-схема способа улучшения качества изображения согласно одному из вариантов осуществления настоящего изобретения.
[14] На фиг.5 представлена структурная схема устройства для улучшения качества изображения согласно одному из вариантов осуществления настоящего изобретения.
[15] На фиг.6 представлена функциональная схема устройства для улучшения качества изображения согласно одному из вариантов осуществления настоящего изобретения.
[16] На фиг.7 представлена функциональная схема другого устройства для улучшения качества изображения согласно одному из вариантов осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[17] Далее подробно описываются варианты осуществления, проиллюстрированные на прилагаемых чертежах. Если в дальнейшем описании используются чертежи, то одинаковые числа на разных чертежах относятся к одинаковым или сходным элементам, если не указано иное. Описанные далее варианты осуществления изобретения не охватывают все возможные варианты осуществления, соответствующие настоящему изобретению. Напротив, они представляют собой лишь примеры устройств и способов, которые соответствуют отдельным аспектам настоящего изобретения согласно прилагаемой формуле изобретения.
[18] Термины, используемые в настоящем описании, приводятся только с целью описания отдельных вариантов осуществления и не ограничивают его объем. Термины, определяемые в настоящем описании заявке и прилагаемой формуле изобретения в форме единственного числа, также подразумевают и множественное число, если из контекста явно не следует иное.
[19] Чтобы специалистам в данной области техники было легче понять технические решения, предлагаемые в вариантах осуществления настоящего изобретения, далее кратко описываются некоторые технические термины, используемые при описании вариантов осуществления настоящего изобретения и основных процессов существующих способов кодирования и декодирования видео.
[20] I. Технические термины
[21] 1. Оптимизация искажение-скорость (RDO, Rate-Distortion Optimization). Для оценки эффективности кодирования могут использоваться такие показатели, как скорость передачи данных и отношение пикового сигнала к шуму (PSNR, Peak Signal to Noise Ratio). Чем меньше скорость передачи данных, тем выше степень сжатия; и чем выше коэффициент PSNR, тем выше качество восстановленного изображения. При выборе режима способ принятия решения фактически представляет собой комплексную оценку для обоих вариантов. Например, стоимость, соответствующая режиму, может быть рассчитана по следующей формуле: J(режим) = D+λ*R, где D - искажение, которое обычно измеряется в виде суммы квадратов ошибок (SSE, Sum of Squared Errors), где SSE обозначает среднюю сумму квадратов расхождений между восстановленным блоком изображения и исходным изображением, λ - множитель Лагранжа, a R - фактическое количество битов, необходимых для кодирования блока изображения в этом режиме, включая общее количество битов, необходимых для кодирования информации о режиме, информации о движении, остаточных значений и других данных. Если при выборе режима для принятия сравнительного решения о режиме кодирования используется RDO, то как правило, можно обеспечить наилучшую эффективность кодирования.
[22] 2. Набор параметров последовательности (SPS, Sequence Parameter Set). В этом наборе имеются бит(ы) флага, которые определяют, разрешено ли использовать определенные инструменты (способы) для всей последовательности. В том случае, когда бит флага имеет значение 1, соответствующий инструмент (способ) может использоваться в видеопоследовательности; в противном случае, инструмент (способ) не может использоваться в процессе кодирования последовательности.
[23] 3. Набор параметров изображения (PPS, Picture Parameter Set). В этом наборе имеются бит(ы) флага, которые определяют, разрешено ли использовать определенные инструменты (способы) для определенного изображения. В том случае, когда бит флага имеет значение 1, соответствующий инструмент (способ) может использоваться для изображения; в противном случае инструмент (способ) не может использоваться в процессе кодирования изображения.
[24] 4. Заголовок изображения, в котором содержится общая информация об определенном изображении.
[25] 5. Заголовок слайса. Изображение может включать в себя один или несколько слайсов. В заголовке слайса имеются бит(ы) флага, которые определяют, разрешено ли использовать определенные инструменты (способы) для слайса. В том случае, когда бит флага имеет значение 1, соответствующий инструмент (способ) может использоваться для слайса; в противном случае, инструмент (способ) не может использоваться в процессе кодирования слайса.
[26] 6. Фильтрация SAO используется для устранения эффекта звона. Эффект звона заключается в том, что после декодирования по краям возникают артефакты пульсации, что обусловлено искажениями квантования высокочастотных коэффициентов. Чем больше размер блока преобразования, тем заметнее проявляется эффект звона. Основной принцип фильтрации SAO заключается в компенсации восстановленной кривой путем добавления отрицательных значений к максимальным пикселям и добавления положительных значений к минимальным пикселям. В качестве основной единицы SAO используется единица дерева кодирования CTU (Coding Tree Unit), для которой существуют два основных вида компенсаций: краевое смещение (ЕО, Edge Offset) и полосовое смещение (ВО, Band Offset). Кроме того, далее описывается технология объединения параметров.
[27] 7. Фильтрация ALE Оптимальный фильтр для среднеквадратичного значения получается в результате расчета по исходному сигналу и искаженному сигналу, т.е. фильтр Винера. Как правило, фильтр ALF имеет вид ромба размером 7×7 или 5×5.
[28] II. Технология разделения блоков в существующих стандартах кодирования видео
[29] В системе высокоэффективного кодирования видео (HEVC, High Efficiency Video Coding) единица дерева кодирования CTU может быть рекурсивно разделена на единицы кодирования (CU, Coding Unit) с использованием структуры квадродерева. В листовом узле, как и на уровне CU, можно определить, следует ли использовать внутрикадровое или межкадровое кодирование. Единица CU может быть дополнительно разделена на две или четыре единицы предсказания (PU), причем одна и та же информация предсказания используется в одной и той же PU. Когда прогнозирование завершено и получена остаточная информация, единицу CU можно далее с помощью квадродерева разделить на множество единиц преобразования (TU, Transform Units). Например, в настоящем приложении текущим блоком изображения может быть PU.
[30] Однако в недавно предложенной технологии универсального кодирования видео (VVC, Versatile Video Coding) технология разделения блоков существенно изменилась. Вместо исходного режима деления используется структура деления, в которой сочетаются двоичное дерево/троичное дерево/квадродерево. В новой смешанной структуре деления упраздняется изначальное различие между понятиями CU, PU и TU и поддерживается более гибкий способ деления единиц CU. Единицу CU можно делить на квадраты или прямоугольники. Для разделения CTU сначала можно использовать квадродерево, а затем в листовых узлах, полученных в результате разделения с помощью квадродерева, можно далее выполнять разделение с помощью двоичного или троичного дерева. Как показано на фиг.1А, для единицы CU, показанной в части (а), существует пять типов разделения, в частности, разделение на основе квадродерева, показанное в части (b), горизонтальное разделение на основе двоичного дерева, показанное в части (с), вертикальное разделение на основе двоичного дерева, показанное в части (d), горизонтальное разделение на основе троичного дерева, показанное в части (е), и вертикальное разделение на основе троичного дерева, показанное в части (f). Как показано на фиг.1В, разделение CU в пределах CTU может представлять собой любую комбинацию из пяти вышеперечисленных типов разделений. Как видно из вышеизложенного, форма единицы PU зависит от способа разделения, например, это могут быть прямоугольники и квадраты разных размеров.
[31] III. Основной принцип существующего кодирования и декодирования видео
[32] Обратимся к части а фиг.2, где в качестве примера взято кодирование видео, которое может включать в себя такие процессы, как предсказание, преобразование, квантование, энтропийное кодирование и так далее. Кроме того, процесс кодирования может выполняться в соответствии со схемой, изображенной в части b фиг.2.
[33] Предсказание можно разделить на внутрикадровое и межкадровое предсказание. При внутрикадровом предсказании для предсказания текущего некодированного блока с целью эффективного устранения пространственной избыточности в качестве опорных блоков используются окружающие кодированные блоки. При межкадровом предсказании для предсказания текущего изображения с целью эффективного устранения временной избыточности используются соседние кодированные изображения.
[34] Под преобразованием понимается преобразование изображения из пространственной области в область преобразования и представление изображения с помощью коэффициентов преобразования. На большинстве изображений имеется много ровных областей и медленно меняющихся областей. С помощью соответствующего преобразования изображение можно преобразовать из дисперсного распределения в пространственной области в относительно сосредоточенное распределение в области преобразования, что позволяет в сочетании с процессом квантования устранить корреляцию между сигналами в частотной области и эффективно сжать битовый поток.
[35] Энтропийное кодирование обозначает способ кодирования без потерь, который позволяет преобразовать последовательность символов элементов в двоичный битовый поток для передачи или хранения. Входные символы могут состоять из квантованных коэффициентов преобразования, информации о векторе движения, информации о режиме предсказания, элементов синтаксиса, связанных с преобразованием и квантованием, и т.д. Энтропийное кодирование может эффективно устранить избыточность символов элементов для видео.
[36] Приведенное выше описание является примером кодирования. Процессы декодирования и кодирования видео родственны, то есть декодирование видео обычно может включать в себя энтропийное декодирование, предсказание, обратное квантование, обратное преобразование, фильтрацию и другие процессы. Принципы реализации этих процессов могут быть аналогичными принципам кодирования видео или схожими с ними.
[37] Ниже кратко описывается реализация фильтрации DBF.
[38] Фильтрация DBF включает в себя два процесса: принятие решения о фильтрации и выполнение операции фильтрации.
[39] Принятие решения о фильтрации может включать в себя: 1) определение граничной прочности (то есть получение значения параметра BS, Boundary Strength), 2) принятие решения о включении/выключении фильтрации и 3) выбор сильной и слабой фильтрации. Для компонента цветности выполняется только шаг 1), а значение параметра BS компонента яркости используется непосредственно повторно. Для компонента цветности операция фильтрации выполняется в том случае, если значение BS равно 2 (т.е. по крайней мере в одном из блоков по обе стороны от текущего блока используется внутрикадровый режим).
[40] Операция фильтрации может включать в себя: 1) сильную и слабую фильтрацию для компонента яркости; и 2) фильтрацию для компонента цветности. Фильтрация DBF обычно указывает на выполнение горизонтальной граничной фильтрации (которую можно назвать горизонтальной фильтрацией DBF) и вертикальной граничной фильтрации (которую можно назвать вертикальной фильтрацией DBF) в блоках размером 8*8, причем фильтруются не более 3 пикселей по обе стороны границы, а для фильтрации используется не более 4 пикселей по обе стороны границы. Поэтому горизонтальная и вертикальная фильтрация DBF для разных блоков не влияют друг на друга и могут выполняться параллельно.
[41] Как показано на фиг.3, для текущего блока 310 (размером, например, 8*8) вертикальная фильтрация DBF может выполняться сначала для пикселей в 3-х левых столбцах текущего блока 310 и 3-х правых столбцах левого блока 320, а горизонтальная фильтрация DBF может выполняться для пикселей в 3-х верхних строках текущего блока 310 и 3-х нижних строках верхнего блока 330.
[42] Например, для пикселя, в отношении которого должна выполняться как вертикальная, так и горизонтальная фильтрация DBF, обычно сначала выполняется вертикальная фильтрация DBF, а затем горизонтальная фильтрация DBF.
[43] Во всех вышеперечисленных видах фильтрации SAO, SAO и ALF классификация осуществляется на основании значения текущего пикселя или соотношения между значением текущего пикселя и значениями окружающих пикселей, при этом различные операции фильтрации выполняются на основании различных категорий. Предлагаемый в настоящем изобретении способ улучшения качества изображения предусматривает способ вторичной фильтрации (далее именуемый фильтрацией улучшения) на основе остаточных значений фильтрации. Под остаточным значением фильтрации понимается разница между значениями пикселей до фильтрации и после нее. Например, в том случае, когда значение восстановления до применения фильтрации DBF равно Y1, а значение пикселя после фильтрации DBF равно Y2, классификация может быть выполнена на основании результата Y2-Y1. Основное преимущество классификации на основе остаточных значений фильтрации заключается в том, что можно специально улучшить чрезмерно отфильтрованные или псевдо-отфильтрованные значения некоторых пикселей, чтобы приблизить пиксели этих категорий к исходным значениям. Избыточная фильтрация означает, что значение Y2 намного больше (или намного меньше) значения Y1, то есть значение Y2 намного больше (или намного меньше) исходного значения пикселя. Псевдо-фильтрация означает, что разность Y2-Y1 равна 0 или близка к 0, поэтому значения этих пикселей остаются неизменными после фильтрации, что может быть равнозначно отсутствию фильтрации.
[44] В настоящем изобретении предполагается, что координаты пикселя могут быть выражены как (i, j), значение восстановления пикселя до выполнения первой фильтрации (первая фильтрация включает в себя фильтрацию DBF, фильтрацию SAO, фильтрацию ALF и другие способы фильтрации, которые не используют остаток фильтрации) обозначается как Y1, значение пикселя после фильтрации обозначается как Y2, а классификация остаточного значения может выполняться на основании результата Y2-Y1. В зависимости от результата классификации остаточного значения можно выполнить улучшение, чтобы получить значение Y3. Значение Y3 может быть получено путем улучшения значения Y2, путем выполнения улучшения на основании значения Y1, или путем выполнения улучшения на основании значений Y1 и Y2. Улучшение может заключаться либо в добавлении значения компенсации (которое может быть положительным или отрицательным числом), либо в выполнении взвешенной фильтрации, например, Y3=w1*Y1+w2*Y2, или Y3=w1*Y2+w2*Y2(i-1, j)+w2*Y2(i, j-1), где Y2(i-1, j) и Y2(i, j-1) обозначают значения пикселей, пространственно соседних с Y2.
[45] Чтобы более ясно и понятно представить вышеперечисленные цели, особенности и преимущества вариантов осуществления настоящего изобретения, далее подробно описываются технические решения, используемые в вариантах осуществления настоящего изобретения, со ссылками на прилагаемые чертежи.
[46] На фиг.4 представлена блок-схема способа улучшения качества изображения согласно одному из вариантов осуществления настоящего изобретения. Как показано на фиг.4, способ улучшения качества изображения может содержать следующие шаги.
[47] На шаге S400 для любого одного пикселя в пределах текущего блока, который удовлетворяет условию первой фильтрации, определяется первое значение пикселя после первой фильтрации.
[48] В вариантах осуществления настоящего изобретения первая фильтрация может включать в себя, помимо прочего, вертикальную фильтрацию DBF, горизонтальную фильтрацию DBF, фильтрацию SAO, фильтрацию ALF и другие подобные технологии.
[49] Если в качестве примера принять, что первая фильтрация представляет собой вертикальную фильтрацию DBF или горизонтальную фильтрацию DBF, то определить, удовлетворяет ли каждый пиксель текущего блока условию первой фильтрации, можно на основании положения пикселя в текущем блоке и описанной выше стратегии принятия решения о фильтрации DBF. Например, если в соответствии с вышеуказанной стратегией фильтрации DBF определено, что на текущем блоке должна выполняться фильтрация DBF, пиксели текущего блока, над которыми должна выполняться вертикальная фильтрация DBF и/или горизонтальная фильтрация DBF, могут быть такими, как показано на фиг.3.
[50] Для любого одного пикселя текущего блока, который удовлетворяет условию первой фильтрации, можно определить значение пикселя (далее именуемое первым значением пикселя) после первой фильтрации.
[51] На шаге S410 на основании первого значения пикселя и второго значения пикселя до первой фильтрации выполняется улучшение значения пикселя для получения улучшенного третьего значения пикселя.
[52] В вариантах осуществления настоящего изобретения, когда определяется первое значение пикселя после первой фильтрации, на основании первого значения пикселя и значения пикселя (далее именуемого вторым значением пикселя) до первой фильтрации, можно улучшить значение пикселя, то есть выполнить фильтрацию улучшения для значения пикселя, чтобы получить значение пикселя после улучшения (далее именуемого третьим значением пикселя). Таким образом, улучшенное значение пикселя ближе к исходному значению пикселя, чем первое значение пикселя, что позволяет избежать значительного отклонения значения отфильтрованного пикселя от исходного значения пикселя в большую или меньшую сторону вследствие избыточной фильтрации и улучшить качество изображения.
[53] Например, третье значение пикселя ближе к исходному значению пикселя, чем первое значение пикселя, что позволяет избежать значительного отклонения отфильтрованного значения пикселя от исходного значения пикселя в большую или меньшую сторону вследствие избыточной фильтрации.
[54] Например, процесс улучшения значения пикселя может быть реализован путем добавления значения компенсации (также именуемого смещением, которое может быть положительным или отрицательным числом) или путем выполнения взвешенной фильтрации.
[55] Если взять в качестве примера взвешенную фильтрацию, то, исходя из того, что координаты пикселя равны (i, j), первое значение пикселя равно Y2, второе значение пикселя равно Y1 и третье значение пикселя равно Y3, тогда Y3=w1*Y1+w2*Y2 или Y3=w1*Y2+w2*Y2(i-1, j)+w2*Y2(i, j-1), где Y2(i-1, j) и Y2(i, j-1) обозначают значения пространственно соседних пикселей.
[56] Как видно из алгоритма способа, представленного на фиг.4, когда пиксель подвергается фильтрации, значение пикселя может быть улучшено на основании значений пикселя до и после фильтрации, что позволяет улучшить эффективность кодирования и декодирования, а также качество изображения.
[57] В одном из возможных вариантов осуществления, на этапе S410, выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя до первой фильтрации может включать в себя: выполнение улучшения значения пикселя на основании разницы между первым значением пикселя и вторым значением пикселя.
[58] Например, остаточное значение пикселя до и после фильтрации пикселя обычно представляет собой разность между значением пикселя после фильтрации и исходным значением пикселя. Поэтому пиксель может быть улучшен на основании остаточного значения пикселя до и после фильтрации, что может способствовать приближению улучшенного значения пикселя к исходному значению пикселя, а также улучшению качества изображения.
[59] Когда определено первое значение пикселя, полученное при выполнении первой фильтрации пикселя, можно вычислить разность между первым значением пикселя и вторым значением пикселя до выполнения первой фильтрации пикселя, и на основании этой разности можно выполнить улучшение значения пикселя.
[60] В одном из примеров выполнение улучшения значения пикселя на основании разности между первым значением пикселя и вторым значением пикселя может включать в себя: выполнение улучшения значения пикселя на основании результата сравнения заранее заданного порога с разностью между первым значением пикселя и вторым значением пикселя.
[61] Например, классификация пикселя может выполняться на основании результата сравнения заранее заданного порога с разностью между первым значением пикселя и вторым значением пикселя. Улучшение значения пикселя может выполняться на основании категории пикселя. Например, для пикселей разных категорий стратегии улучшения различаются в зависимости от категории.
[62] В одном из примеров, в зависимости от результата сравнения заранее заданных порогов и разности между первым значением пикселя и вторым значением пикселя, выполнение улучшения значения пикселя может включать в себя: в том случае, если разность между первым значением пикселя и вторым значением пикселя больше первого порога фильтрации улучшения, выполнение улучшения значения пикселя на основании первого смещения фильтрации улучшения; а в том случае, если разность между первым значением пикселя и вторым значением пикселя меньше второго порога фильтрации улучшения, выполнение улучшения значения пикселя на основании второго смещения фильтрации улучшения. При этом второй порог фильтрации улучшения меньше первого порога фильтрации улучшения.
[63] Например, заранее заданные пороги могут включать в себя первый порог фильтрации улучшения и второй порог фильтрации улучшения, где второй порог фильтрации улучшения меньше первого порога фильтрации улучшения.
[64] Если определена разность между первым значением пикселя и вторым значением пикселя, эту разность можно сравнить с первым порогом фильтрации улучшения и вторым порогом фильтрации улучшения. Если определено, что разность превышает первый порог фильтрации улучшения, то улучшение значения пикселя может выполняться на основе первого смещения фильтрации улучшения. Если определено, что разность меньше второго порога фильтрации улучшения, то улучшение значения пикселя может выполняться на основе второго смещения фильтрации улучшения.
[65] Например, для улучшения значения пикселя можно определить четвертое значение пикселя на основании первого значения пикселя и второго значения пикселя. Определив, что разность между первым значением пикселя и вторым значением пикселя превышает первый порог фильтрации улучшения, можно получить третье значение пикселя путем выполнения улучшения четвертого значения пикселя на основании первого смещения фильтрации улучшения. Определив, что разность между первым значением пикселя и вторым значением пикселя меньше второго порога фильтрации улучшения, можно получить третье значение пикселя путем выполнения улучшения четвертого значения пикселя на основании второго смещения фильтрации улучшения.
[66] В другом примере улучшение значения пикселя может быть реализовано путем улучшения первого значения пикселя. Определив, что разность между первым значением пикселя и вторым значением пикселя превышает первый порог фильтрации улучшения, можно получить третье значение пикселя путем выполнения улучшения первого значения пикселя на основании первого смещения фильтрации улучшения. Определив, что разность между первым значением пикселя и вторым значением пикселя меньше второго порога фильтрации улучшения, можно получить третье значение пикселя путем выполнения улучшения первого значения пикселя на основании второго смещения фильтрации улучшения.
[67] Следует отметить, что в вариантах осуществления настоящего изобретения в том случае, когда разность между первым значением пикселя и вторым значением пикселя меньше первого порога фильтрации улучшения или равна ему, а также больше второго порога фильтрации улучшения или равна ему, первое значение пикселя может быть использовано в качестве третьего значения пикселя либо для получения третьего значения пикселя может выполняться фильтрация (далее именуемая второй фильтрацией) первого значения пикселя.
[68] Например, сумма первого значения пикселя и заранее заданного третьего смещения фильтрации улучшения может быть определена как третье значение пикселя. В другом примере вторая фильтрация может представлять собой фильтрацию ALF, а третье значение пикселя можно получить путем выполнения фильтрации ALF над первым значением пикселя.
[69] Значение пикселя находится в определенном диапазоне значений, который, как правило, определяется битовой глубиной кодирования изображения, например, [0, 2° -1], где D - битовая глубина кодирования изображения. Например, в случае 8-битового изображения диапазон значений составляет [0, 255], а в случае 10-битового изображения диапазон значений составляет [0, 1023]. Чтобы предотвратить выход улучшенного третьего значения пикселя за пределы диапазона значений пикселя, при получении третьего значения пикселя можно выполнить операцию клипирования, чтобы ограничить третье значение пикселя заранее заданным диапазоном значений.
[70] Определив, что значение третьего пикселя больше верхнего предела заранее заданного диапазона значений, значение третьего пикселя устанавливают равным верхнему пределу заранее заданного диапазона значений; а определив, что значение третьего пикселя меньше нижнего предела заранее заданного диапазона значений, значение третьего пикселя устанавливают равным нижнему пределу заранее заданного диапазона значений. Если в качестве примера рассматривать 8-битовое изображение, то в том случае, когда значение третьего пикселя меньше 0, значение третьего пикселя может быть установлено равным 0, а в том случае, когда значение третьего пикселя больше 255, значение третьего пикселя может быть установлено равным 255.
[71] Когда устройство на стороне кодера выполняет описанное выше улучшение пикселя в текущем блоке, устройство на стороне кодера и устройство на стороне декодера должны быть совместимы по значениям порогов фильтрации улучшения и смещений фильтрации улучшения.
[72] Например, устройство на стороне кодера и устройство на стороне декодера могут строить одинаковые списки потенциальных порогов фильтрации улучшения (далее именуемые списками потенциальных порогов) и одинаковые списки потенциальных смещений фильтрации улучшения. Устройство на стороне кодера может передавать в битовом потоке индекс порога фильтрации улучшения (далее именуемый индексом порога) и индекс смещения фильтрации улучшения (далее именуемый индексом смещения). Индекс порога может использоваться для представления позиции порога фильтрации улучшения, например первого порога фильтрации улучшения или второго порога фильтрации улучшения, в списке потенциальных порогов. Индекс смещения может использоваться для представления позиции смещения фильтрации улучшения, например первого смещения фильтрации улучшения или второго смещения фильтрации улучшения, в списке потенциальных смещений.
[73] При получении битового потока устройство на стороне декодера может декодировать индекс порога и индекс смещения в битовом потоке, и на основании индекса порога запрашивать первый порог фильтрации улучшения или второй порог фильтрации улучшения из списка потенциальных порогов, а на основании индекса смещения запрашивать первое смещение фильтрации улучшения или второе смещение фильтрации улучшения из списка потенциальных смещений.
[74] В одном из примеров, чтобы уменьшить количество битов, используемых для кодирования индекса порога, первый порог фильтрации улучшения можно сделать противоположным второму порогу фильтрации улучшения.
[75] Например, поскольку второй порог фильтрации улучшения меньше первого порога фильтрации улучшения, первый порог фильтрации улучшения может быть положительным числом, а второй порог фильтрации улучшения может быть отрицательным числом. Например, первый порог фильтрации улучшения может быть равен 2, а второй порог фильтрации улучшения может быть равен -2. Аналогичным образом, первое смещение фильтрации улучшения может быть противоположным второму смещению фильтрации улучшения.
[76] Следует отметить, что в вариантах осуществления настоящего изобретения при построении списка потенциальных порогов фильтрации улучшения и списка возможных смещений фильтрации улучшения можно использовать форму наборов параметров. То есть, каждое значение в списке потенциальных вариантов может указывать на набор параметров, а набор параметров может включать в себя потенциальный первый порог фильтрации улучшения и потенциальный второй порог фильтрации улучшения (в том случае, если первый порог фильтрации улучшения и второй порог фильтрации улучшения противоположны друг другу, он может включать в себя только один из двух порогов), потенциальное первое смещение фильтрации улучшения и потенциальное второе смещение фильтрации улучшения (в том случае, если первое смещение фильтрации улучшения и второе смещение фильтрации улучшения противоположны друг другу, он может включать в себя только одно из двух смещений).
[77] При кодировании и декодировании индекса его можно кодировать и декодировать в форме индекса набора параметров, то есть позиция набора параметров в списке потенциальных наборов параметров может быть представлена индексом набора параметров. Конкретная реализация такого подхода может быть описана в последующих конкретных вариантах осуществления.
[78] Кроме того, в вариантах осуществления настоящего изобретения параметры фильтрации улучшения текущего блока, в частности порог фильтрации улучшения и смещение фильтрации улучшения, могут повторно использовать соответствующие параметры соседнего блока, например верхнего блока или левого блока.
[79] Кодер и декодер могут использовать бит флага в битовом потоке для указания на то, используются ли в текущем блоке параметры фильтрации улучшения соседнего блока. Если определить, что параметры фильтрации улучшения окружающего блока используются повторно, то не требуется дополнительно кодировать и декодировать параметры фильтрации улучшения текущего блока.
[80] В одном из примеров, чтобы уменьшить количество битов, используемых для кодирования индекса порога, первый порог фильтрации улучшения и/или второй порог фильтрации улучшения являются фиксированными значениями. Например, для первого порога фильтрации улучшения и/или второго порога фильтрации улучшения можно установить фиксированное значение, чтобы не требовалось кодировать индекс порога, соответствующий первому порогу фильтрации улучшения, и/или индекс порога, соответствующий второму порогу фильтрации улучшения. Аналогичным образом, первое смещение фильтрации улучшения и/или второе смещение фильтрации улучшения также могут быть фиксированными значениями.
[81] В другом возможном варианте осуществления, на этапе S410, выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя до первой фильтрации может включать в себя: определение значения третьего пикселя с помощью машинного обучения или глубокого обучения, используя в качестве входных параметров первое значение пикселя и второе значение пикселя.
[82] Например, методы машинного обучения или глубокого обучения можно дополнительно использовать для реализации улучшения значений пикселей. Когда первое значение пикселя определяется путем выполнения первой фильтрации пикселя, первое значение пикселя и второе значение пикселя до первой фильтрации могут использоваться в качестве входных параметров, а машинное обучение или глубокое обучение может использоваться для выполнения улучшения значения пикселя, чтобы получить третье значение пикселя после улучшения.
[83] Следует отметить, что способы определения третьего значения пикселя, рассмотренные в описанных выше вариантах осуществления, представляют собой лишь некоторые конкретные примеры реализации способов определения третьего значения пикселя в вариантах осуществления настоящего изобретения и не ограничивают объем охраны настоящего изобретения. В вариантах осуществления настоящего изобретения значение третьего пикселя можно определять на основании значения первого пикселя и значения второго пикселя и другими способами. Например, в качестве входного параметра можно использовать разность между первым значением пикселя и вторым значением пикселя, а для определения третьего значения пикселя можно использовать фильтр Винера. Как вариант, на основании разности между первым значением пикселя и вторым значением пикселя, можно провести классификацию второго значения пикселя, а на основании категории второго значения пикселя можно использовать фильтр Винера для выполнения улучшения значения пикселя с целью определения третьего значения пикселя.
[84] В одном из возможных вариантов осуществления, на этапе S410, выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя до первой фильтрации может включать в себя: выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя в том случае, если для текущего блока разрешена фильтрация улучшения.
[85] Например, чтобы повысить гибкость и управляемость фильтрации улучшения, можно выбрать такую схему, которая разрешает или запрещает фильтрацию улучшения. То есть, при фильтрации пикселя улучшение значения пикселя выполняется (фильтрация улучшения разрешена) или не выполняется (фильтрация улучшения запрещена).
[86] Для любого одного пикселя в текущем блоке, который удовлетворяет условию первой фильтрации, когда определено первое значение пикселя после первой фильтрации, можно определить, следует ли выполнять улучшение значения пикселя, в зависимости от того, разрешена ли фильтрация улучшения для текущего блока. В том случае, когда для текущего блока разрешена фильтрация улучшения, улучшение пикселя можно выполнять на основании первого значения пикселя и второго значения пикселя.
[87] В одном из примеров можно использовать назначенный синтаксис, чтобы определить, разрешена ли для текущего блока фильтрация улучшений. Например, среди уровней назначенного синтаксиса могут быть, помимо прочего, один или большее число следующих уровней: синтаксис уровня набора параметров последовательности (SPS), синтаксис уровня набора параметров изображения (PPS) или синтаксис уровня слайса. Как вариант, среди уровней назначенного синтаксиса могут быть, помимо прочего, один или большее число следующих уровней: синтаксис уровня SPS, синтаксис уровня PPS, синтаксис уровня единицы кодового дерева (CTU) или синтаксис уровня единицы кодирования (CU).
[88] Например, для повышения гибкости и управляемости фильтрации улучшений, разрешение или запрет фильтрации улучшений могут быть реализованы на разных уровнях. Например, разрешение или запрет фильтрации улучшения можно реализовать на одном или большем числе уровней SPS, PPS и слайса. Например, в том случае, когда фильтрация улучшения разрешена для последовательности изображений, то разрешение или запрет фильтрации улучшения могут быть дополнительно определены в синтаксисе на уровне PPS, чтобы фильтрацию улучшения можно было выборочно разрешить или запретить для каждого изображения в последовательности изображений. Например, в том случае, когда фильтрация улучшения разрешена для изображения, то разрешение или запрет фильтрации улучшения могут быть дополнительно определены в синтаксисе на уровне слайса, чтобы фильтрацию улучшения можно было выборочно разрешить или запретить для каждого слайса в изображения. Следует отметить, что если количество слайсов, содержащихся в изображении, равно 1, и для изображения разрешена фильтрация улучшения, то фильтрация улучшения разрешена и для этого слайса, и наоборот.
[89] Аналогичным образом, разрешение или запрет фильтрации улучшения можно реализовать на одном или большем числе уровней SPS, PPS, CTU и CU.
[90] В одном из примеров, в том случае, когда в число одного или большего числа потенциальных уровней назначенного синтаксиса входят по меньшей мере два уровня, уровень назначенного синтаксиса определяется на основании заранее заданного бита флага, который используется для обозначения уровня назначенного синтаксиса.
[91] Например, в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя по меньшей мере два уровня, для обозначения уровня вышеупомянутого назначенного синтаксиса можно дополнительно использовать бит специального флага. Например, в том случае, когда назначенный синтаксис включает в себя уровень PPS и уровень CTU, на уровне PPS можно добавлять бит флага, который будет указывать, что данный уровень назначенного синтаксиса является уровнем PPS или уровнем CTU.
[92] Например, уровень синтаксиса заранее заданного бита флага соответствует не самому низкому уровню среди потенциальных уровней назначенного синтаксиса. Например, в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне SPS и синтаксис на уровне PPS, уровень синтаксиса заранее заданного бита флага может быть уровнем SPS. В том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне PPS и синтаксис на уровне слайса, уровень синтаксиса заранее заданного бита флага может быть уровнем PPS. В том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне SPS, синтаксис на уровне PPS и синтаксис на уровне слайса, заранее заданный бит флага может включать в себя бит флага на уровне SPS и бит флага на уровне PPS. В том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне PPS и синтаксис на уровне CTU, уровень синтаксиса заранее заданного бита флага может быть уровнем PPS. В том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне CTU и синтаксис на уровне CU, уровень синтаксиса заранее заданного бита флага может быть уровнем CTU. В том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне PPS, синтаксис на уровне CTU и синтаксис на уровне CU, заранее заданный бит флага может включать в себя бит флага для уровня CTU и бит флага для уровня CU. Далее приводится описание конкретных вариантов реализации со ссылкой на конкретные варианты осуществления.
[93] В одном из возможных вариантов осуществления, в том случае, когда первая фильтрация не является первой фильтрацией в последовательности фильтрации пикселя, второе значение пикселя может быть значением пикселя, полученным в результате улучшения значения пикселя после предыдущей фильтрации.
[94] Например, в том случае, когда пиксель должен быть подвергнут нескольким последовательным фильтрациям, то при каждой фильтрации пикселя может выполняться улучшение значения пикселя. Значение пикселя, на котором должна выполняться следующая фильтрация, может быть значением пикселя, полученным в результате предыдущей фильтрации и улучшения.
[95] В одном из примеров первая фильтрация представляет собой горизонтальную фильтрацию DBF, а в том случае, когда пиксель удовлетворяет условию вертикальной фильтрации DBF, второе значение пикселя представляет собой значение пикселя, полученное в результате выполнения улучшения пятого значения пикселя. Пятое значение пикселя представляет собой значение пикселя, полученное в результате выполнения на пикселе вертикальной фильтрации DBF.
[96] Например, в том случае, когда первая фильтрация представляет собой горизонтальную фильтрацию DBF, пиксель удовлетворяет условию вертикальной фильтрации DBF, а значение пикселя, полученное при выполнении вертикальной фильтрации DBF, является пятым значением пикселя, второе значение пикселя является значением пикселя, полученным при выполнении вертикальной фильтрации DBF и последующем улучшении пикселя способами, описанными в приведенных выше вариантах осуществления.
[97] В возможном варианте осуществления первая фильтрация представляет собой вертикальную фильтрацию DBF. На шаге S410, когда значение пикселя было подвергнуто улучшению, способ может далее включать в себя: в том случае, когда пиксель удовлетворяет условию горизонтальной фильтрации DBF, горизонтальная фильтрация DBF выполняется для третьего значения пикселя с целью получения шестого значения пикселя; и на основании третьего значения пикселя и шестого значения пикселя выполняется улучшение значения пикселя с целью получения улучшенного седьмого значения пикселя.
[98] Например, если вертикальная фильтрация DBF и улучшение выполняются для пикселя способом, описанным на шагах с S400 по S410, то далее можно определить, удовлетворяет ли пиксель условию горизонтальной фильтрации DBF. Например, на основании положения пикселя можно определить, удовлетворяет ли пиксель условию горизонтальной фильтрации DBF.
[99] В том случае, если пиксель удовлетворяет условию горизонтальной фильтрации DBF, горизонтальная фильтрация DBF может выполняться на третьем значении пикселя, чтобы получить значение пикселя, подвергнутого горизонтальной фильтрации DBF (далее именуемое шестым значением пикселя). На основе значения пикселя до горизонтальной фильтрации DBF, то есть третьего значения пикселя, и значения пикселя после горизонтальной фильтрации DBF, то есть шестого значения пикселя, можно выполнить улучшение значения пикселя, чтобы получить значение пикселя после улучшения (далее именуемое седьмым значением пикселя).
[100] Следует отметить, что для конкретных вариантов реализации улучшения значения пикселя на основании третьего значения пикселя и шестого значения пикселя можно обратиться к соответствующему описанию улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя, приведенному в вышеупомянутых вариантах осуществления, которое не будет повторяться в вариантах осуществления настоящего изобретения.
[101] Кроме того, в вариантах осуществления настоящего изобретения, процесс реализации вышеупомянутой последовательности фильтрации описывается на примере с разрешенной фильтрацией улучшения для каждой фильтрации, выполняемой на пикселе. В том случае, если фильтрация улучшения не разрешена, после соответствующей фильтрации улучшение может не потребоваться.
[102] Например, в качестве примера можно привести вертикальную фильтрацию DBF и горизонтальную фильтрацию DBF. В том случае, когда пиксель удовлетворяет условию вертикальной фильтрации DBF и условию горизонтальной фильтрации DBF, а фильтрация улучшения для вертикальной фильтрации DBF не разрешена, когда для пикселя выполняется вертикальная фильтрация DBF, нет необходимости выполнять улучшение значения пикселя, полученного в результате вертикальной фильтрации DBF. В этом случае при выполнении на пикселе горизонтальной фильтрации DBF значение пикселя перед выполнением горизонтальной фильтрации DBF может быть значением пикселя, на котором выполнена вертикальная фильтрация DBF.
[103] Чтобы специалисты в данной области могли лучше понять технические решения, предлагаемые в вариантах осуществления изобретения, далее технические решения описываются на конкретных примерах. Технические решения могут описываться с использованием фильтрации DBF, фильтрации SAO или фильтрации ALF в качестве примера первой фильтрации.
[104] Например, значение восстановления до первой фильтрации равно Y1, а значение пикселя после первой фильтрации равно Y2, классификация может быть выполнена на основании результата Y2-Y1 или Y1-Y2. В зависимости от результата классификации для одного из остаточных значений различных категорий может выполняться соответствующее улучшение (также именуемое фильтрацией улучшения) для получения улучшенного значения пикселя Y3.
[105] Например, значение Y3 может быть получено путем выполнения улучшения для значения Y2, для значения Y1, или для значений Y1 и Y2 одновременно. Например, указанное улучшение может заключаться либо в добавлении значения компенсации (которое может быть положительным или отрицательным числом), либо в выполнении взвешенной фильтрации, например, Y3=w1*Y1+w2*Y2, или Y3=w1*Y2+w2*Y2(i-1, j)+w2*Y2(i, j-1), где Y2(i-1, j) и Y2(i, j-1) обозначают значения пикселей, пространственно соседних с Y2.
[106] Сначала описывается пример, в котором первая фильтрация включает в себя фильтрацию DBF.
[107] Вариант осуществления 1: в качестве пример рассматривается пиксель i, удовлетворяющий условиям вертикальной фильтрации DBF и горизонтальной фильтрации DBF.
[108] На шаге 1 в результате выполнения вертикальной фильтрации DBF для значения Y1(i) получается значение Y2(i). На шаге 2 на основании значений Y1(i) и Y2(i) выполняется улучшение значения пикселя с получением значения Y3(i). На шаге 3 в результате выполнения горизонтальной фильтрации DBF для значения Y3(i) получается значение Y4(i). На шаге 4 на основании значений Y4(i) и Y3(i) выполняется улучшение значения пикселя с получением значения Y5(i).
[109] Например, в том случае, когда вышеуказанная первая фильтрация является вертикальной фильтрацией DBF, значение Y1(i) может быть вторым значением вышеуказанного пикселя, значение Y2(i) может быть первым значением вышеуказанного пикселя, а значение Y3(i) может быть третьим значением вышеуказанного пикселя. Значение Y4(i) может быть шестым значением вышеуказанного пикселя, а значение Y5(i) может быть седьмым значением вышеуказанного пикселя. Например, в том случае, когда вышеуказанная первая фильтрация является горизонтальной фильтрацией DBF, значение Y3(i) может быть вторым значением вышеуказанного пикселя, значение Y4(i) может быть первым значением вышеуказанного пикселя, значение Y5(i) может быть третьим значением вышеуказанного пикселя, а значение Y2(i) может быть пятым значением вышеуказанного пикселя.
[110] Вариант осуществления 2
[111] На основании варианта осуществления 1 на шаге 2 предполагается, что Yv(i)=(Y1(i)+Y2(i)+1)/2;
[112] если Y1(i)-Y2(i)>Tv, Y3(i)=clip(Yv(i)+f0v);
[113] если Y1(i)-Y2(i)<NTv, Y3(i)=clip(Yv(i)+f1v); и
[114] если NTv≤Y1(i)-Y2(i)≤Tv, Y3(i)=Y2(i), или Y3(i)=Y2(i)+f2v. Y3(i)=Y2(i)+f2v представляет выполнение фильтрации (т.е. вышеуказанной второй фильтрации) значения Y2(i) для получения значения Y3(i).
[115] Например, Tv и NTv могут быть порогами фильтрации улучшения, a f0v, f1v и f2v могут быть смещениями фильтрации улучшения. clip(x) может представлять ограничение значения х в рамках определенного диапазона значений. Например, в том случае, когда первой фильтрацией является вертикальная фильтрация BDF, Tv может быть первым вышеуказанным порогом фильтрации улучшения, NTV может быть вторым вышеуказанным порогом фильтрации улучшения. f0v может быть первым вышеуказанным смещением фильтрации улучшения, f1v может быть вторым вышеуказанным смещением фильтрации улучшения, f2v может быть третьим вышеуказанным смещением фильтрации улучшения, Yv(i) может быть четвертым вышеуказанным значением пикселя, и clip(x) может представлять ограничение значения х в рамках заранее заданного диапазона значений.
[116] Например, NTv=-Tv, т.е., Tv является противоположным числом для NTv.
[117] Аналогичным образом, на шаге 2 предполагается, что Yh(i)=(Y3(i)+Y4(i)+1)/2;
[118] если Y3(i)-Y4(i)>Th, Y3(i)=clip(Yh(i)+f0h);
[119] если Y3(i)-Y4(i)<NTh, Y3(i)=clip(Yh(i)+f1h); и
[120] если NTh≤Y3(i)-Y4(i)≤Th, Y5(i)=Y4(i), или Y5(i)=Y4(i)+f2h. Y5(i)=Y4(i)+f2h представляет выполнение фильтрации (т.е. вышеуказанной второй фильтрации) значения Y4(i) для получения значения Y5(i).
[121] Например, Th и NTh представляют собой пороги фильтрации улучшения, a f0h, f1h и f2h представляют собой смещения фильтрации улучшения.
[122] Например, в том случае, когда первой фильтрацией является горизонтальная фильтрация BDF, Th может быть первым вышеуказанным порогом фильтрации улучшения, NTh может быть вторым вышеуказанным порогом фильтрации улучшения. f0h может быть первым вышеуказанным смещением фильтрации улучшения, f1h может быть вторым вышеуказанным смещением фильтрации улучшения, f2h может быть третьим вышеуказанным смещением фильтрации улучшения.
[123] Например, NTh=-Th, т.е., NTh является противоположным числом для Th.
[124] Вариант осуществления 3
[125] На основании варианта осуществления 1 на шаге 2 предполагается, что Yv(i)=Y2(i);
[126] если Y1(i)-Y2(i)>Tv, Y3(i)=clip(Yv(i)+f0v);
[127] если Y1(i)-Y2(i)<NTv, Y3(i)=clip(Yv(i)+f1v); и
[128] если NTv≤Y1(i)-Y2(i)≤Tv, Y3(i)=Y2(i), или Y3(i)=Y2(i)+f2v. Y3(i)=Y2(i)+f2v представляет выполнение фильтрации (т.е. вышеуказанной второй фильтрации) значения Y2(i) для получения значения Y3(i).
[129] Например, Tv и NTv могут быть порогами фильтрации улучшения, a f0v, f1v и f2v могут быть смещениями фильтрации улучшения. clip(x) может представлять ограничение значения х в рамках определенного диапазона значений.
[130] Например, NTv=-Tv, т.е., Tv является противоположным числом для NTv.
[131] Аналогичным образом, на шаге 4 предполагается, что Yh(i)=Y4(i);
[132] если Y3(i)-Y4(i)>Th, Y3(i)=clip(Yh(i)+f0h);
[133] если Y3(i)-Y4(i)<NTh, Y3(i)=clip(Yh(i)+f1h); и
[134] если NTv≤Y3(i)-Y4(i)≤Tv, Y5(i)=Y4(i), или Y5(i)=Y4(i)+f2v. Y5(i)=Y4(i)+f2h представляет выполнение фильтрации (т.е. вышеуказанной второй фильтрации) значения Y4(i) для получения значения Y3(i).
[135] Например, Th и NTh представляют собой пороги фильтрации улучшения, a f0h, f1h и f2h представляют собой смещения фильтрации улучшения. Например, NTh=-Th, т.е., Th является противоположным числом для NTh.
[136] Хотя рассмотренные выше варианты осуществления с 1 по 3 описаны на примере пикселя i, удовлетворяющего условию вертикальной фильтрации DBF и условию горизонтальной фильтрации DBF, способ также может применяться и в том случае, когда пиксель i удовлетворяет условию вертикальной фильтрации DBF или условию горизонтальной фильтрации DBF. Например, в том случае, если пиксель i удовлетворяет условию вертикальной фильтрации DBF, могут быть задействованы первые два этапа рассмотренных выше вариантов осуществления. Например, в том случае, когда пиксель i удовлетворяет условию горизонтальной фильтрации DBF, могут быть задействованы два шага, где шаг 1 может включать в себя выполнение горизонтальной фильтрации DBF значения Y1(i) для получения значения Y2(i), а шаг 2 может включать в себя выполнение улучшения значения пикселя для получения значения Y3(i), основываясь назначениях Y1(i) и Y2(i). Что касается конкретного выполнения шага 2, то можно сослаться на конкретное выполнение шага 2 в вариантах осуществления 2 и 3, в которых параметры для вертикальной фильтрации DBF заменяются параметрами для горизонтальной фильтрации DBF, поэтому здесь описание повторяться не будет.
[137] Вариант осуществления 4
[138] Решение, описанное в вариантах осуществления 2 или 3, может применяться на уровне изображения. Уровень изображения может включать в себя уровень PPS или уровень слайса, а уровень PPS может указывать на изображение. Изображение может содержать N слайсов (N - целое положительное число).
[139] Для устройства на стороне кодера в заголовке изображения или заголовке слайса необходимо закодировать и передать следующую синтаксическую информацию. То есть, для изображения или слайса используется набор следующих элементов синтаксиса (уровень синтаксиса включает в себя уровень PPS или уровень слайса), при этом все кодированные блоки в пределах изображения или слайса повторно используют один и тот же набор коэффициентов.
[140] Например, набор коэффициентов может включать в себя: пороги фильтрации улучшения (которые могут включать в себя порог вертикальной фильтрации улучшения и/или порог горизонтальной фильтрации улучшения) и смещения фильтрации улучшения (которые могут включать в себя смещение вертикальной фильтрации улучшения и/или смещение горизонтальной фильтрации улучшения).
[141] Для устройства на стороне декодера в заголовке изображения или заголовке слайса необходимо декодировать и передать следующую синтаксическую информацию.
[142] 1. Флаг разрешения вертикальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в вертикальном направлении.
[143] В случае запрета при выполнении описанного выше шага 1 нет необходимости выполнять описанный выше шаг 2, а также нет необходимости кодировать или декодировать соответствующие индексы порога и смещения.
[144] В случае разрешения при выполнении описанного выше шага 1 выполняется описанный выше шаг 2, при этом кодируется и декодируется следующая информация: индекс порога фильтрации улучшения в вертикальном направлении и индекс смещения фильтрации улучшения в вертикальном направлении.
[145] Индекс порога фильтрации улучшения в вертикальном направлении может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений.
[146] Например, в том случае, когда Tv является противоположным числом NTV, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Tv=2 и NTv=-2, нет необходимости кодировать и декодировать индекс порога.
[147] Для f0v и f1y потенциальные значения индекса смещения фильтрации улучшения в вертикальном направлении могут быть одинаковыми или разными, а индекс смещения может состоять из 2 двоичных разрядов, то есть содержать 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0v и f1v могут быть одинаковыми или разными, например, список потенциальных значений f0v может быть {-1, -2, -3, -4}, а список потенциальных значений f1v может быть {1, 2, 3, 4}.
[148] 2. Флаг разрешения горизонтальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в горизонтальном направлении.
[149] В случае запрета при выполнении описанного выше шага 3 нет необходимости выполнять описанный выше шаг 4, а также нет необходимости кодировать или декодировать соответствующие индексы порога и смещения.
[150] В случае разрешения при выполнении описанного выше шага 3 выполняется описанный выше шаг 4, при этом кодируется и декодируется следующая информация: индекс порога фильтрации улучшения в горизонтальном направлении и индекс смещения фильтрации улучшения в горизонтальном направлении.
[151] Индекс порога фильтрации улучшения в горизонтальном направлении может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений.
[152] Например, в том случае, когда Th является противоположным числом NTh, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Th=2 и NTh=-2, нет необходимости кодировать и декодировать индекс порога.
[153] Для f0h и f1h потенциальные значения индекса смещения фильтрации улучшения в горизонтальном направлении могут быть одинаковыми или разными, а индекс смещения может состоять из 2 двоичных разрядов, то есть содержать 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0h и f1h могут быть одинаковыми или разными, например, список потенциальных значений f0h может быть {-1, -2, -3, -4}, а список потенциальных значений f1h может быть {1, 2, 3, 4}.
[154] Вариант осуществления 5
[155] В отличие от варианта осуществления 4, в варианте осуществления 5 параметры фильтрации улучшения (включая, в том числе, порог фильтрации улучшения и/или смещение фильтрации улучшения) представлены в виде набора параметров. То есть индексная информация о пороге фильтрации улучшения и/или смещении фильтрации улучшения больше не кодируется и декодируется отдельно, а кодируется и декодируется индексная информация о наборе параметров, включающем в себя порог фильтрации улучшения и смещение фильтрации улучшения.
[156] Решение, описанное в вариантах осуществления 2 или 3, может применяться на уровне изображения. Уровень изображения может включать в себя уровень PPS или уровень слайса, а уровень PPS может указывать на изображение. Изображение может содержать N слайсов (N - целое положительное число).
[157] Для устройства на стороне кодера в заголовке изображения или заголовке слайса необходимо закодировать и передать следующую синтаксическую информацию. То есть, для изображения или слайса используется набор следующих элементов синтаксиса (уровень синтаксиса включает в себя уровень PPS или уровень слайса), при этом один и тот же набор коэффициентов используется всеми кодированными блоками в пределах изображения или слайса.
[158] Например, набор коэффициентов может включать в себя набор параметров фильтрации улучшения, в том числе пороги фильтрации улучшения и смещения фильтрации улучшения. Для устройства на стороне декодера в заголовке изображения или заголовке слайса необходимо декодировать и передать следующую синтаксическую информацию.
[159] 1. Флаг разрешения вертикальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в вертикальном направлении.
[160] В случае запрета при выполнении описанного выше шага 1 нет необходимости выполнять описанный выше шаг 2, а также нет необходимости кодировать или декодировать соответствующий индекс параметров.
[161] В случае разрешения при выполнении описанного выше шага 1 выполняется описанный выше шаг 2, при этом кодируется и декодируется следующая информация: индекс одного или большего числа параметров вертикальной фильтрации улучшения.
[162] Параметры вертикальной фильтрации улучшения могут быть представлены в виде набора параметров, а индекс параметров вертикальной фильтрации улучшения может включать в себя, помимо прочего, индекс {Tv, f0v, f1v} в списке потенциальных наборов параметров T{Tv, f0v, f1v}. Таким образом на основании этого индекса могут быть определены значения Tv, f0v и f1v из списка потенциальных наборов параметров Т.
[163] Например, параметры вертикальной фильтрации улучшения могут быть фиксированным набором параметров, который предварительно определяется устройством на стороне кодера и устройством на стороне декодера, или могут быть сохраненными параметрами вертикальной фильтрации улучшения других кодированных изображений во временной области. В этом случае кодирование и декодирование для индекса параметров может не потребоваться.
[164] 2. Флаг разрешения горизонтальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в горизонтальном направлении.
[165] В случае запрета при выполнении описанного выше шага 3 нет необходимости выполнять описанный выше шаг 4, а также нет необходимости кодировать или декодировать соответствующий индекс параметров.
[166] В случае разрешения при выполнении описанного выше шага 3 выполняется описанный выше шаг 4, при этом кодируется и декодируется следующая информация: индекс одного или большего числа параметров горизонтальной фильтрации улучшения.
[167] Параметры горизонтальной фильтрации улучшения могут быть представлены в виде набора параметров, а индекс параметров горизонтальной фильтрации улучшения может включать в себя, помимо прочего, индекс {Th, f0h, f1h} в списке потенциальных наборов параметров T{Th, f0h, f1h}. Таким образом на основании этого индекса могут быть определены значения Th, f0h и f1h из списка потенциальных наборов параметров Т.
[168] Например, параметры горизонтальной фильтрации улучшения могут быть фиксированным набором параметров, который предварительно определяется устройством на стороне кодера и устройством на стороне декодера, или могут быть сохраненными параметрами горизонтальной фильтрации улучшения других кодированных изображений во временной области. В этом случае нет необходимости кодировать и декодировать индекс параметра.
[169] Вариант осуществления 6
[170] Решение, описанное в вариантах осуществления 2 или 3, может применяться на уровне CTU. CTU является самой крупной единицей кодирования. Для слайса I (с внутренним предсказанием) размер CTU обычно составляет 64*64, для слайса, не являющегося слайсом I (например, слайс В (с двунаправленным предсказанием) или слайс Р (слайс с предсказанием)), размер CTU обычно составляет 128*128.
[171] Для каждой единицы CTU кодируется набор коэффициентов, то есть каждый блок кодирования в рамках CTU использует этот набор коэффициентов. В отношении конкретных вариантов реализации кодирования и декодирования коэффициентов для каждой CTU можно сослаться на конкретные варианты реализации кодирования и декодирования соответствующих коэффициентов в вариантах осуществления 4 или 5. Например, набор коэффициентов может включать в себя пороги фильтрации улучшения и смещения фильтрации улучшения (в соответствии с вариантом осуществления 4) или набор параметров фильтрации улучшения, включающий в себя пороги фильтрации улучшения и смещения фильтрации улучшения (в соответствии с вариантом осуществления 5).
[172] Например, устройством на стороне декодера в заголовке CTU должна декодироваться следующая синтаксическая информация.
[173] 1. Флаг разрешения вертикальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в вертикальном направлении.
[174] В случае запрета при выполнении описанного выше шага 1 нет необходимости выполнять описанный выше шаг 2, а также нет необходимости кодировать или декодировать соответствующие индексы порога и смещения.
[175] В случае разрешения при выполнении описанного выше шага 1 выполняется описанный выше шаг 2, при этом кодируется и декодируется следующая информация: индекс порога фильтрации улучшения в вертикальном направлении и индекс смещения фильтрации улучшения в вертикальном направлении.
[176] Индекс порога фильтрации улучшения в вертикальном направлении может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений.
[177] Например, в том случае, когда Tv является противоположным числом NTv, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Tv=2 и NTv=-2, нет необходимости кодировать и декодировать индекс порога.
[178] Для f0v и f1v потенциальные значения индекса смещения фильтрации улучшения в вертикальном направлении могут быть одинаковыми или разными, а индекс смещения может состоять из 2 двоичных разрядов, то есть содержать 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0v и f1v могут быть одинаковыми или разными, например, список потенциальных значений f0v может быть {-1, -2, -3, -4}, а список потенциальных значений f1v может быть {1, 2, 3, 4}.
[179] 2. Флаг разрешения горизонтальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в горизонтальном направлении.
[180] В случае запрета при выполнении описанного выше шага 3 нет необходимости выполнять описанный выше шаг 4, а также нет необходимости кодировать или декодировать соответствующие индексы порога и смещения.
[181] В случае разрешения при выполнении описанного выше шага 3 выполняется описанный выше шаг 4, при этом кодируется и декодируется следующая информация: индекс порога фильтрации улучшения в горизонтальном направлении и индекс смещения фильтрации улучшения в горизонтальном направлении.
[182] Индекс порога фильтрации улучшения в горизонтальном направлении может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений.
[183] Например, в том случае, когда Th является противоположным числом NTh, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Th=2 и NTh=-2, нет необходимости кодировать и декодировать индекс порога.
[184] Для f0h и f1h потенциальные значения индекса смещения фильтрации улучшения в горизонтальном направлении могут быть одинаковыми или разными, а индекс смещения может состоять из 2 двоичных разрядов, то есть содержать 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0h и f1h могут быть одинаковыми или разными, например, список потенциальных значений f0h может быть {-1, -2, -3, -4}, а список потенциальных значений f1h может быть {1, 2, 3, 4}.
[185] Вариант осуществления 7
[186] Решение, описанное в вариантах осуществления 2 или 3, может применяться на уровне CU. Размер CU обычно лежит в диапазоне от 4*4 до 128*128.
[187] Для каждой единицы CU кодируется набор коэффициентов, то есть каждый блок кодирования в рамках CU использует этот набор коэффициентов. В отношении конкретных вариантов реализации кодирования и декодирования коэффициентов для каждой CU можно сослаться на конкретные варианты реализации кодирования и декодирования соответствующих коэффициентов в вариантах осуществления 4 или 5. Например, набор коэффициентов может включать в себя пороги фильтрации улучшения и смещения фильтрации улучшения (в соответствии с вариантом осуществления 4) или набор параметров фильтрации улучшения, включающий в себя пороги фильтрации улучшения и смещения фильтрации улучшения (в соответствии с вариантом осуществления 5).
[188] Например, устройством на стороне декодера в каждом CU должна декодироваться следующая синтаксическая информация.
[189] 1. Флаг разрешения вертикальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в вертикальном направлении.
[190] В случае запрета при выполнении описанного выше шага 1 нет необходимости выполнять описанный выше шаг 2, а также нет необходимости кодировать или декодировать соответствующие индексы порога и смещения.
[191] В случае разрешения при выполнении описанного выше шага 1 выполняется описанный выше шаг 2, при этом кодируется и декодируется следующая информация: индекс порога фильтрации улучшения в вертикальном направлении и индекс смещения фильтрации улучшения в вертикальном направлении.
[192] Индекс порога фильтрации улучшения в вертикальном направлении может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений.
[193] Например, в том случае, когда Tv является противоположным числом NTv, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Tv=2 и NTv=-2, нет необходимости кодировать и декодировать индекс порога.
[194] Для f0v и f1v потенциальные значения индекса смещения фильтрации улучшения в вертикальном направлении могут быть одинаковыми или разными, а индекс смещения может состоять из 2 двоичных разрядов, то есть содержать 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0v и f1v могут быть одинаковыми или разными, например, список потенциальных значений f0v может быть {-1, -2, -3, -4}, а список потенциальных значений f1v может быть {1, 2, 3, 4}.
[195] 2. Флаг разрешения горизонтальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущего изображения или слайса фильтрация улучшения в горизонтальном направлении.
[196] В случае запрета при выполнении описанного выше шага 3 нет необходимости выполнять описанный выше шаг 4, а также нет необходимости кодировать или декодировать соответствующие индексы порога и смещения.
[197] В случае разрешения при выполнении описанного выше шага 3 выполняется описанный выше шаг 4, при этом кодируется и декодируется следующая информация: индекс порога фильтрации улучшения в горизонтальном направлении и индекс смещения фильтрации улучшения в горизонтальном направлении.
[198] Индекс порога фильтрации улучшения в горизонтальном направлении может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений.
[199] Например, в том случае, когда Th является противоположным числом NTh, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Th=2 и NTh=-2, нет необходимости кодировать и декодировать индекс порога.
[200] Для f0h и f1h потенциальные значения индекса смещения фильтрации улучшения в горизонтальном направлении могут быть одинаковыми или разными, а индекс смещения может состоять из 2 двоичных разрядов, то есть содержать 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0h и f1h могут быть одинаковыми или разными, например, список потенциальных значений f0h может быть {-1, -2, -3, -4}, а список потенциальных значений f1h может быть {1, 2, 3, 4}.
[201] Вариант осуществления 8
[202] Решение, описанное в вариантах осуществления 2 или 3, может применяться на уровне CU.
[203] Для каждой единицы CU кодируется и декодируется набор следующих коэффициентов.
[204] 1. Бит флага, определяющий, следует ли повторно использовать параметры фильтрации улучшения для окружающего блока.
[205] 1.1. В случае повторного использования параметры фильтрации улучшения окружающего блока, например, левого блока или верхнего блока, используются повторно.
[206] 1.2. В противном случае кодируются следующие параметры.
[207] 1.2.1. Флаг разрешения вертикальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущей единицы CU фильтрация улучшения в вертикальном направлении.
[208] 1.2.1.1. В случае разрешения при выполнении описанного шага 1 выполняется описанный выше шаг 2, при этом кодируется и декодируется следующая информация.
[209] 1.2.1.1.1. Индекс порога фильтрации улучшения для вертикального направления. Индекс порога может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений. Например, в том случае, когда Tv является противоположным числом NTv, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Tv=2 и NTv=-2, нет необходимости кодировать и декодировать индекс порога.
[210] 1.2.1.1.2. Индекс смещения фильтрации улучшения для вертикального направления. Потенциальные значения f0v и f1v могут быть одинаковыми или разными, а индекс смещения может предпочтительно состоять из 2 двоичных разрядов, то есть иметь 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0v и f1v могут быть одинаковыми или разными, например, список потенциальных значений f0v может быть {-1, -2, -3, -4}, а список потенциальных значений f1v может быть {1, 2, 3, 4}.
[211] 1.2.1.2. В случае запрета при выполнении шага 1 нет необходимости выполнять описанный выше шаг 2 и нет необходимости кодировать или декодировать соответствующие индексы порога и смещения из п.п. 1.2.1.1.1 и 1.2.1.1.2.
[212] 1.2.2. Флаг разрешения горизонтальной фильтрации улучшения, который можно использовать для того, чтобы определить, разрешена ли для текущей единицы CU фильтрация улучшения в горизонтальном направлении.
[213] 1.2.2.1. В случае разрешения при выполнении описанного шага 3 выполняется описанный выше шаг 4, при этом кодируется и декодируется следующая информация.
[214] 1.2.2.1.1. Индекс порога фильтрации улучшения для горизонтального направления. Индекс порога может иметь 1 двоичный разряд, то есть существует два потенциальных порога. Например, список потенциальных порогов фильтрации улучшения может быть {1, 2} или {2, 4}, либо это могут быть другие списки потенциальных значений, состоящие из двух потенциальных значений. Например, в том случае, когда Th является противоположным числом NTh, нужно кодировать только один индекс порога. Например, в том случае, когда пороги фильтрации улучшения являются фиксированными значениями, например Th=2 и NTh=-2, нет необходимости кодировать и декодировать индекс порога.
[215] 1.2.2.1.2. Индекс смещения фильтрации улучшения для горизонтального направления. Потенциальные значения f0h и f1h могут быть одинаковыми или разными, а индекс смещения может предпочтительно состоять из 2 двоичных разрядов, то есть иметь 4 потенциальных смещения. Например, список потенциальных смещений фильтрации улучшения может быть {1, 2, 3, 4} или {2, 4, 6, 8}, либо это могут быть другие списки потенциальных значений, состоящие из 4 потенциальных значений. Например, в том случае, когда смещение фильтрации улучшения является фиксированным значением, нет необходимости кодировать индекс смещения. Например, списки потенциальных значений f0h и f1h могут быть одинаковыми или разными, например, список потенциальных значений f0h может быть {-1, -2, -3, -4}, а список потенциальных значений f1h может быть {1, 2, 3, 4}.
[216] 1.2.2.2. В случае запрета при выполнении шага 3 нет необходимости выполнять описанный выше шаг 4 и нет необходимости кодировать или декодировать соответствующие индексы порога и смещения из п.п. 1.2.2.1.1 и 1.2.2.1.2.
[217] Вариант осуществления 9
[218] Решение, описанное в вариантах осуществления 2 или 3, может применяться на уровне изображения и на уровне CTU.
[219] Бит флага (например, упомянутый выше заранее заданный бит флага) может добавляться на уровне изображения, при этом бит флага может служить для указания на то, что в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне изображения или синтаксис на уровне CTU. Кодирование и декодирование бита флага на стороне кодера и на стороне декодера может осуществляться на уровне изображения.
[220] Если в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне изображения, то в отношении конкретных реализаций коэффициентов кодирования и декодирования для каждого изображения можно сослаться на варианты осуществления 4 или 5.
[221] Если в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне CTU, то в отношении конкретных реализаций коэффициентов кодирования и декодирования для каждого CTU можно сослаться на вариант осуществления 6.
[222] Вариант осуществления 10
[223] Решение, описанное в вариантах осуществления 2 или 3, может применяться на уровне CTU и на уровне CU.
[224] Бит флага может добавляться на уровне изображения, при этом бит флага может служить для указания на то, что в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне изображения или синтаксис на уровне CTU. Кодирование и декодирование бита флага на стороне кодера и на стороне декодера может осуществляться на уровне изображения.
[225] Если в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне изображения, то в отношении конкретных реализаций коэффициентов кодирования и декодирования для каждого изображения можно сослаться на варианты осуществления 4 или 5.
[226] Если в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне CTU, то бит флага должен добавляться на уровне CTU. Бит флага может служить для указания на то, что в текущем CTU для разрешения фильтрации улучшения используется синтаксис на уровне CTU или синтаксис на уровне CU. Кодирование и декодирование бита флага на стороне кодера и на стороне декодера может осуществляться на уровне CTU.
[227] Если в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне CTU, то в отношении конкретных реализаций коэффициентов кодирования и декодирования для каждого CTU можно сослаться на вариант осуществления 6.
[228] Если в текущем изображении для разрешения фильтрации улучшения используется синтаксис на уровне CU, то в отношении конкретных реализаций коэффициентов кодирования и декодирования для каждого CU можно сослаться на варианты осуществления 7 или 8.
[229] Далее описывается пример, где в качестве первой фильтрации используется фильтрация SAO.
[230] Вариант осуществления 11
[231] На шаге 1 в результате выполнения фильтрации SAO определяются значения Y1(i) и Y2(i). На шаге 2 на основании значений Y1(i) и Y2(i) выполняется улучшение значения пикселя с получением значения Y3(i).
[232] Например, в том случае, когда вышеуказанная первая фильтрация является фильтрацией SAO, значение Y1(i) может быть вторым значением вышеуказанного пикселя, значение Y2(i) может быть первым значением вышеуказанного пикселя, а значение Y3(i) может быть третьим значением вышеуказанного пикселя.
[233] Вариант осуществления 12
[234] Для шага 2 в варианте осуществления 11 может использоваться решение, описанное в любом из вариантов осуществления с 2 по 10. Следует отметить, что варианты осуществления с 2 по 10 описываются в основном на примере выполнения двукратной фильтрации, тогда как в настоящем варианте осуществления выполняется только однократная фильтрация. Таким образом, шаги и параметры, соответствующие каждому из двух раз фильтрации в описанных выше вариантах осуществления, могут быть заменены шагами и параметрами, соответствующими фильтрации в настоящем варианте осуществления.
[235] Далее описывается пример, где в качестве первой фильтрации используется фильтрация ALF.
[236] Вариант осуществления 13
[237] На шаге 1 в результате выполнения фильтрации ALF определяются значения Y1(i) и Y2(i). На шаге 2 на основании значений Y1(i) и Y2(i) выполняется улучшение значения пикселя с получением значения Y3(i).
[238] Например, в том случае, когда вышеуказанная первая фильтрация является фильтрацией ALF, значение Y1(i) может быть вторым значением вышеуказанного пикселя, значение Y2(i) может быть первым значением вышеуказанного пикселя, а значение Y3(i) может быть третьим значением вышеуказанного пикселя.
[239] Вариант осуществления 14
[240] Для шага 2 в варианте осуществления 13 может использоваться решение, описанное в любом из вариантов осуществления с 2 по 10. Следует отметить, что варианты осуществления с 2 по 10 описываются в основном на примере выполнения двукратной фильтрации, тогда как в настоящем варианте осуществления выполняется только однократная фильтрация. Таким образом, шаги и параметры, соответствующие каждому из двух раз фильтрации в описанных выше вариантах осуществления, могут быть заменены шагами и параметрами, соответствующими фильтрации в настоящем варианте осуществления.
[241] Далее описывается пример, где в качестве первой фильтрации используется фильтрация SAO.
[242] Вариант осуществления 15
[243] На шаге 1 в результате выполнения фильтрации определяются значения Y1(i) и Y2(i). На шаге 2 на основании значений Y1(i) и Y2(i) выполняется улучшение значения пикселя с получением значения Y3(i).
[244] Например, в том случае, когда вышеуказанная первая фильтрация является фильтрацией шага 1, значение Y1(i) может быть вторым значением вышеуказанного пикселя, значение Y2(i) может быть первым значением вышеуказанного пикселя, а значение Y3(i) может быть третьим значением вышеуказанного пикселя.
[245] Вариант осуществления 16
[246] Для шага 2 в варианте осуществления 15 может использоваться решение, описанное в любом из вариантов осуществления с 2 по 10. Следует отметить, что варианты осуществления с 2 по 10 описываются в основном на примере выполнения двукратной фильтрации, тогда как в настоящем варианте осуществления выполняется только однократная фильтрация. Таким образом, шаги и параметры, соответствующие каждому из двух раз фильтрации в описанных выше вариантах осуществления, могут быть заменены шагами и параметрами, соответствующими фильтрации в настоящем варианте осуществления.
[247] Вариант осуществления 17
[248] На шаге 2 варианта осуществления 15 можно определить значение Y3(1) путем машинного обучения или глубокого обучения с использованием значений Y1(i) и Y2(i) в качестве входных данных.
[249] Вариант осуществления 18
[250] На шаге 2 варианта осуществления 15 можно определить значение Y3(i) с помощью фильтра Винера, используя значения Y1(i)-Y2(i) или Y2(i)-Y1(i) в качестве входных данных. Фильтр Винера может быть реализован следующим образом.
[251] Фильтр может представлять собой операцию взвешенного суммирования по значению Y2(i) и одному или большему числу соседних пикселей для получения значения Y3(i), где K - целое положительное число, обозначающее количество пикселей, используемых для фильтрации (включая текущий пиксель и соседние пиксели).
[252] Вариант осуществления 19
[253] На шаге 2 варианта осуществления 15 можно выполнить классификацию значения Y2(i) на основании значения Y1(i)-Y2(i) или Y2(i)-Y1(i). Для различных категорий Y2(i) могут использоваться различные фильтры Винера с целью определения значения Y3(i).
[254] Например, в зависимости от размера значений Y1(i)-Y2(i) или Y2(i)-Y1(i) и одного или большего числа определенных порогов сегментации может быть определен сегмент, в котором находится значение Y1(i)-Y2(i) или Y2(i)-Y1(i). Категория Y2(i) различается в зависимости от сегмента, в котором находится Y1(i)-Y2(i) или Y2(i)-Y1(i).
[255] Вариант осуществления 20
[256] Бит флага на уровне SPS подвергается декодированию или кодированию в том случае, если с помощью бита флага можно определить, используется ли описанная выше технология для всех изображений в текущей последовательности изображений. Технология включает в себя реализацию технологии фильтрации улучшения, описанной в любом из вариантов осуществления с 1 по 19. Например, в том случае, когда бит флага, декодируемый устройством на стороне декодера, указывает на использование описанной выше технологии, устройство на стороне декодера может выполнять обработку в соответствии с технологией фильтрации улучшения, описанной в любом одном из вариантов осуществления с 1 по 19.
[257] В вариантах осуществления настоящего изобретения для любого одного пикселя, удовлетворяющего условию первой фильтрации, в текущем блоке определяется первое значение пикселя после первой фильтрации. На основании первого значения пикселя и второго значения пикселя до первой фильтрации можно выполнить улучшение значения пикселя для получения улучшенного третьего значения пикселя, что может улучшить качество изображения и повысить эффективность кодирования и декодирования.
[258] Выше описаны способы, предлагаемые в настоящем изобретении, а далее описываются устройства, предлагаемые в настоящем изобретении.
[259] На фиг.5 представлена структурная схема устройства для улучшения качества изображения согласно вариантам осуществления настоящего изобретения. Устройство для улучшения качества изображения может содержать процессор 501 и память 502, в которой хранится компьютерная программа. Устройство может также содержать коммуникационный интерфейс 503 и коммуникационную шину 504. Процессор 501, память 502 и коммуникационный интерфейс 503 могут взаимодействовать друг с другом по коммуникационной шине 504. Считывая и выполняя хранящуюся в памяти 502 компьютерную программу, соответствующую логике управления улучшением изображения, например, исполняемые машиной инструкции, процессор 501 может выполнять описанные выше методы улучшения изображения.
[260] Указанная здесь память 502 может быть любым электронным, магнитным, оптическим или другим физическим запоминающим устройством, которое может содержать или хранить информацию, например, исполняемые инструкции, данные и т.п.Например, память может представлять собой: оперативную память (RAM), временную память, постоянную память, флеш-память, дисковый накопитель (например, накопитель на жестком диске), твердотельный накопитель, диск любого типа (например, оптический диск, DVD и т.д.), или аналогичный носитель информации, или их комбинацию.
[261] Как показано на фиг.6, с функциональной точки зрения указанное выше устройство для улучшения качества изображения может содержать: определяющий блок 610, сконфигурированный таким образом, чтобы определять для любого одного пикселя, удовлетворяющего первому условию фильтрации, в пределах текущего блока первое значение пикселя после первой фильтрации; и улучшающий блок 620, сконфигурированный таким образом, чтобы получать улучшенное третье значение пикселя путем улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя до первой фильтрации.
[262] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы на основании разности между первым значением пикселя и вторым значением пикселя выполнять улучшение значения пикселя.
[263] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы на основании результата сравнения разности с заранее заданными пороговыми значениями выполнять улучшение значения пикселя.
[264] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы в том случае, когда разность больше первого порога фильтрации улучшения, выполнять улучшение значения пикселя на основании первого смещения фильтрации улучшения; а в том случае, когда разность меньше второго порога фильтрации улучшения, выполнять улучшение значения пикселя на основании второго смещения фильтрации улучшения, при этом второй порог фильтрации улучшения меньше первого порога фильтрации улучшения.
[265] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы на основании первого значения пикселя и второго значения пикселя определять четвертое значение пикселя; а также получать третье значение пикселя путем выполнения улучшения четвертого значения пикселя на основании первого смещения фильтрации улучшения.
[266] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы получать третье значение пикселя путем выполнения улучшения первого значения пикселя на основании первого смещения фильтрации улучшения.
[267] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы на основании первого значения пикселя и второго значения пикселя определять четвертое значение пикселя; а также получать третье значение пикселя путем выполнения улучшения четвертого значения пикселя на основании второго смещения фильтрации улучшения.
[268] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы получать третье значение пикселя путем выполнения улучшения первого значения пикселя на основании второго смещения фильтрации улучшения.
[269] В возможном варианте осуществления улучшающий блок 620 дополнительно сконфигурирован таким образом, чтобы в том случае, когда разность меньше первого порога фильтрации улучшения или равна ему и превышает второй порог фильтрации улучшения или равна ему, определять первое значение пикселя как третье значение пикселя.
[270] В возможном варианте осуществления улучшающий блок 620 дополнительно сконфигурирован таким образом, чтобы в том случае, когда разность меньше первого порога фильтрации улучшения или равна ему и превышает второй порог фильтрации улучшения или равна ему, получать третье значение пикселя путем выполнения второй фильтрации первого значения пикселя.
[271] В возможном варианте осуществления первый порог фильтрации улучшения является числом, противоположным второму порогу фильтрации улучшения; и/или первое смещение фильтрации улучшения является числом, противоположным второму смещению фильтрации улучшения.
[272] В возможном варианте осуществления, как показано на фиг.7, устройство дополнительно включает в себя блок кодирования / декодирования 630, сконфигурированный таким образом, чтобы кодировать / декодировать индекс порога, где индекс порога соответствует позиции первого порога фильтрации улучшения или второго порога фильтрации улучшения в списке потенциальных порогов; и кодировать / декодировать индекс смещения, где индекс смещения соответствует позиции первого смещения фильтрации улучшения или второго смещения фильтрации улучшения в списке потенциальных смещений.
[273] В возможном варианте осуществления изобретения, по меньшей мере первый порог фильтрации улучшения или второй порог фильтрации улучшения являются фиксированными значениями; либо по меньшей мере первое смещение фильтрации улучшения или второе смещение фильтрации улучшения являются фиксированными значениями.
[274] В возможном варианте осуществления улучшающий блок 620 сконфигурирован также таким образом, чтобы при определении того, что значение третьего пикселя больше верхнего предела заранее заданного диапазона значений, значение третьего пикселя устанавливать равным верхнему пределу заранее заданного диапазона значений; а при определении того, что значение третьего пикселя меньше нижнего предела заранее заданного диапазона значений, значение третьего пикселя устанавливать равным нижнему пределу заранее заданного диапазона значений.
[275] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы определять значение третьего пикселя с помощью машинного обучения или глубокого обучения, используя в качестве входных параметров значение первого пикселя и значение второго пикселя.
[276] В возможном варианте осуществления улучшающий блок 620 специально сконфигурирован таким образом, чтобы в том случае, когда для текущего блока разрешена фильтрация улучшения, выполнять улучшение пикселя на основании первого значения пикселя и второго значения пикселя.
[277] В возможном варианте осуществления для того чтобы определить, разрешена ли фильтрация улучшения для текущего блока, используется назначенный синтаксис, при этом назначенный синтаксис включает в себя по меньшей мере один из следующих элементов: синтаксис на уровне набора параметров последовательности (SPS), синтаксис на уровне набора параметров изображения (PPS) или синтаксис на уровне слайса; либо назначенный синтаксис включает в себя по меньшей мере один из следующих элементов: синтаксис на уровне SPS, синтаксис на уровне PPS, синтаксис на уровне единицы дерева кодирования (CTU) или синтаксис на уровне единицы кодирования (CU)
[278] В возможном варианте осуществления в том случае, когда в число одного или большего числа потенциальных уровней назначенного синтаксиса входят по меньшей мере два уровня, уровень назначенного синтаксиса определяется на основании заранее заданного бита флага, который используется для обозначения уровня назначенного синтаксиса.
[279] В возможном варианте осуществления уровень синтаксиса заранее заданного бита флага соответствует не самому низкому уровню среди потенциальных уровней назначенного синтаксиса.
[280] В возможном варианте осуществления, в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне SPS и синтаксис на уровне PPS, уровнем синтаксиса заранее заданного бита флага является уровень SPS; в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне PPS и синтаксис на уровне слайса, уровнем синтаксиса заранее заданного бита флага является уровень PPS; в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне SPS, синтаксис на уровне PPS и синтаксис на уровне слайса, заранее заданный бит флага включает в себя бит флага для уровня SPS и бит флага для уровня PPS; в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне PPS и синтаксис на уровне CTU, уровнем синтаксиса заранее заданного бита флага является уровень PPS; в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне CTU и синтаксис на уровне CU, уровнем синтаксиса заранее заданного бита флага является уровень CTU; и в том случае, когда потенциальные уровни назначенного синтаксиса включают в себя синтаксис на уровне PPS, синтаксис на уровне CTU и синтаксис на уровне CU, заранее заданный бит флага включает в себя бит флага для уровня CTU и бит флага для уровня CU.
[281] В возможном варианте осуществления первая фильтрация включает в себя вертикальную фильтрацию с деблокирующим фильтром (DBF), горизонтальную фильтрацию DBF, фильтрацию с адаптивным смещением отсчета (SAO) или фильтрацию с адаптивным петлевым фильтром (ALF).
[282] В возможном варианте осуществления, в том случае, когда первая фильтрация не является первой фильтрацией в последовательности фильтрации пикселя, второе значение пикселя является значением пикселя, полученным в результате улучшения значения пикселя, в отношении которого выполнялась предыдущая фильтрация. Первая фильтрация представляет собой горизонтальную фильтрацию с деблокирующим фильтром (DBF) в том случае, когда пиксель удовлетворяет условию вертикальной фильтрации DBF, второе значение пикселя представляет собой значение пикселя, полученное в результате выполнения улучшения пятого значения пикселя, а пятое значение пикселя представляет собой значение пикселя, полученное в результате выполнения вертикальной фильтрации DBF для пикселя.
[283] В возможном варианте осуществления первая фильтрация представляет собой вертикальную фильтрацию с деблокирующим фильтром (DBF), а улучшающий блок дополнительно сконфигурирован таким образом, чтобы в том случае, когда пиксель удовлетворяет условию горизонтальной фильтрации DBF, получить шестое значение пикселя путем выполнения горизонтальной фильтрации DBF для третьего значения пикселя; а также получить улучшенное седьмое значение пикселя путем выполнения улучшения значения пикселя на основании третьего значения пикселя и шестого значения пикселя.
[284] В некоторых вариантах осуществления настоящего изобретения дополнительно предусмотрено устройство камеры, которое может включать в себя устройство улучшения качества изображения в соответствии с любым из описанных выше вариантов осуществления изобретения. Устройство может применяться в устройстве кодирования или устройстве декодирования.
[285] В данном контексте следует отметить, что такие относительные термины, как "первый" и "второй", употребляются только с целью отличить одну сущность или операцию от другой сущности или операции и не подразумевают или не требуют наличия каких-либо фактических отношений или порядка между этими сущностями или операциями. Понятия «включая в себя», «включающий в себя» или любые другие их модификации служат для обозначения неисключительного перечня, когда процесс, способ, изделие или устройство, содержащие ряд элементов, могут включать в себя не только эти элементы, но также и другие неназванные элементы, или дополнительно включать в себя элементы, присущие такому процессу, способу, изделию или устройству. В отсутствие дополнительных ограничений элемент, сопровождаемый выражением "включая в себя...", не исключает наличия дополнительных эквивалентных элементов в процессе, способе, изделии или устройстве, которые включают в себя этот элемент.
[286] Приведенные выше описания представляют собой предпочтительные варианты осуществления, предлагаемые настоящей заявкой, но не призваны ее ограничивать. Любые модификации, равноценные замены, усовершенствования и иные изменения, выполненные в соответствии с духом и принципами настоящего изобретения, включаются в формулу настоящего изобретения.

Claims (44)

1. Способ улучшения качества изображения, согласно которому:
для любого одного пикселя в пределах текущего блока, который удовлетворяет условию первой фильтрации, определяют первое значение пикселя после первой фильтрации; и
на основании первого значения пикселя и второго значения пикселя до первой фильтрации выполняют улучшение значения пикселя для получения улучшенного третьего значения пикселя;
при этом выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя перед первой фильтрацией включает в себя:
выполнение улучшения значения пикселя на основании разности между первым значением пикселя и вторым значением пикселя;
при этом выполнение улучшения значения пикселя на основании разности между первым значением пикселя и вторым значения пикселя включает в себя:
выполнение улучшения значения пикселя на основании результата сравнения разности с заранее заданными пороговыми значениями;
при этом выполнение улучшения значения пикселя на основании результата сравнения разности с заранее заданными пороговыми значениями включает в себя:
выполнение улучшения значения пикселя на основании первого смещения фильтрации улучшения, если разность превышает первый порог фильтрации улучшения; и
выполнение улучшения значения пикселя на основании второго смещения фильтрации улучшения, если разность меньше второго порога фильтрации улучшения,
при этом второй порог фильтрации улучшения меньше первого порога фильтрации улучшения.
2. Способ по п. 1, согласно которому выполнение улучшения значения пикселя на основании первого смещения фильтрации улучшения включает в себя:
определение четвертого значения пикселя на основании первого значения пикселя и второго значения пикселя; и выполнение улучшения четвертого значения пикселя на основании первого смещения фильтрации улучшения для получения третьего значения пикселя;
или
выполнение улучшения первого значения пикселя на основании первого смещения фильтрации улучшения для получения третьего значения пикселя.
3. Способ по п. 1, согласно которому выполнение улучшения значения пикселя на основании второго смещения фильтрации улучшения включает в себя:
определение четвертого значения пикселя на основании первого значения пикселя и второго значения пикселя; и выполнение улучшения четвертого значения пикселя на основании второго смещения фильтрации улучшения для получения третьего значения пикселя;
или
выполнение улучшения первого значения пикселя на основании второго смещения фильтрации улучшения для получения третьего значения пикселя.
4. Способ по любому из пп. 1-3, согласно которому выполнение улучшения значения пикселя на основании результата сравнения разности с заранее заданными пороговыми значениями включает в себя:
определение первого значения пикселя как третье значение пикселя в том случае, когда разность меньше первого порога фильтрации улучшения или равна ему и превышает второй порог фильтрации улучшения или равна ему.
5. Способ по любому из пп. 1-4, в котором:
первый порог фильтрации улучшения является числом, противоположным второму порогу фильтрации улучшения.
6. Способ по любому из пп. 1-5, который также включает в себя:
кодирование/декодирование индекса порога, при этом индекс порога отражает позицию первого порога фильтрации улучшения или второго порога фильтрации улучшения в списке потенциальных порогов; и
кодирование/декодирование индекса смещения, при этом индекс смещения отражает позицию первого смещения фильтрации улучшения или второго смещения фильтрации улучшения в списке потенциальных смещений.
7. Способ по п. 1, согласно которому выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя перед первой фильтрацией включает в себя:
определение значение третьего пикселя с помощью машинного обучения или глубокого обучения, используя в качестве входных параметров значение первого пикселя и значение второго пикселя.
8. Способ по любому из пп. 1-7, согласно которому выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя перед первой фильтрацией включает в себя:
выполнение улучшения значения пикселя на основании первого значения пикселя и второго значения пикселя в том случае, когда для текущего блока разрешена фильтрация улучшения.
9. Способ по п. 8, согласно которому разрешение фильтрации улучшения для текущего блока идентифицируется с помощью назначенного синтаксиса, и
уровень назначенного синтаксиса включает в себя по меньшей мере один из следующих: синтаксис уровня набора параметров последовательности (SPS), синтаксис уровня набора параметров изображения (PPS) или синтаксис уровня слайса; либо
уровень назначенного синтаксиса включает в себя по меньшей мере один из следующих: синтаксис уровня SPS, синтаксис уровня PPS, синтаксис уровня единицы кодового дерева (CTU) или синтаксис уровня единицы кодирования (CU).
10. Способ по п. 9, согласно которому дополнительно:
в том случае, когда в число одного или большего числа потенциальных уровней назначенного синтаксиса входят по меньшей мере два уровня, определяют уровень назначенного синтаксиса на основании заранее заданного бита флага, который используется для обозначения уровня назначенного синтаксиса, при этом уровень синтаксиса заранее заданного бита флага соответствует не самому низкому уровню среди потенциальных уровней назначенного синтаксиса.
11. Способ по любому из пп. 1-10, согласно которому первая фильтрация включает в себя по меньшей мере одну из вертикальной фильтрации с деблокирующим фильтром (DBF), горизонтальной фильтрации DBF, фильтрации с адаптивным смещением отсчетов (SAO) или адаптивной петлевой фильтрации (ALF).
12. Способ по любому из пп. 1-10, согласно которому в том случае, когда первая фильтрация не является первой фильтрацией в последовательности фильтрации пикселя, второе значение пикселя является значением пикселя, полученным в результате улучшения значения пикселя, в отношении которого выполнялась предыдущая фильтрация.
13. Способ по п. 12, согласно которому первая фильтрация представляет собой горизонтальную фильтрацию с деблокирующим фильтром (DBF),
в том случае, когда пиксель удовлетворяет условию вертикальной фильтрации DBF, второе значение пикселя представляет собой значение пикселя, полученное в результате выполнения улучшения пятого значения пикселя, а пятое значение пикселя представляет собой значение пикселя, полученное в результате выполнения вертикальной фильтрации DBF для пикселя.
14. Способ по любому из пп. 1-10, согласно которому первая фильтрация представляет собой вертикальную фильтрацию с деблокирующим фильтром (DBF), и
если значение пикселя подвергнуто улучшению, то способ дополнительно включает в себя:
выполнение горизонтальной фильтрации DBF для третьего значения пикселя, чтобы получить шестое значение пикселя, в том случае, если пиксель удовлетворяет условию горизонтальной фильтрации DBF; и
выполнение улучшения значения пикселя на основании третьего значения пикселя и шестого значения пикселя для получения улучшенного седьмого значения пикселя.
15. Устройство для улучшения качества изображения, содержащее процессор и память, в которой хранится компьютерная программа, при выполнении которой процессор выполняет способ по любому из пп. 1-14.
RU2022133671A 2020-06-05 2021-06-03 Способ и устройство для улучшения качества изображения RU2803189C1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010508167.4 2020-06-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2023122801A Division RU2810607C1 (ru) 2020-06-05 2021-06-03 Способ и устройство для улучшения изображения

Publications (1)

Publication Number Publication Date
RU2803189C1 true RU2803189C1 (ru) 2023-09-11

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446501A (en) * 1992-10-22 1995-08-29 Accom, Incorporated Three-dimensional median and recursive filtering apparatus and method for video image enhancement
US6778692B1 (en) * 2000-08-11 2004-08-17 General Electric Company Image processing method and apparatus including image improving circuit
WO2012042821A1 (ja) * 2010-09-27 2012-04-05 株式会社島津製作所 画像強調処理方法およびそれを用いた画像強調処理装置
RU2550541C2 (ru) * 2011-01-14 2015-05-10 Телефонактиеболагет Л М Эрикссон (Пабл) Деблокирующая фильтрация
US9344716B2 (en) * 2010-09-28 2016-05-17 Samsung Electronics Co., Ltd. Adaptive filtering method and apparatus
RU2651183C2 (ru) * 2012-11-30 2018-04-18 Сони Корпорейшн Устройство и способ обработки изображения
RU2679190C2 (ru) * 2013-06-21 2019-02-06 Квэлкомм Инкорпорейтед Внутреннее предсказание из предсказывающего блока
CN110495168A (zh) * 2017-04-06 2019-11-22 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446501A (en) * 1992-10-22 1995-08-29 Accom, Incorporated Three-dimensional median and recursive filtering apparatus and method for video image enhancement
US6778692B1 (en) * 2000-08-11 2004-08-17 General Electric Company Image processing method and apparatus including image improving circuit
WO2012042821A1 (ja) * 2010-09-27 2012-04-05 株式会社島津製作所 画像強調処理方法およびそれを用いた画像強調処理装置
US9344716B2 (en) * 2010-09-28 2016-05-17 Samsung Electronics Co., Ltd. Adaptive filtering method and apparatus
RU2550541C2 (ru) * 2011-01-14 2015-05-10 Телефонактиеболагет Л М Эрикссон (Пабл) Деблокирующая фильтрация
RU2651183C2 (ru) * 2012-11-30 2018-04-18 Сони Корпорейшн Устройство и способ обработки изображения
RU2679190C2 (ru) * 2013-06-21 2019-02-06 Квэлкомм Инкорпорейтед Внутреннее предсказание из предсказывающего блока
CN110495168A (zh) * 2017-04-06 2019-11-22 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法

Similar Documents

Publication Publication Date Title
CA3055804A1 (en) Method and apparatus of implicit intra coding tool settings with intra directional prediction modes for video coding
WO2018219664A1 (en) A method and a device for picture encoding and decoding
RU2803189C1 (ru) Способ и устройство для улучшения качества изображения
RU2810607C1 (ru) Способ и устройство для улучшения изображения
CN114501004B (zh) 滤波处理方法、装置及机器可读存储介质
WO2019074762A1 (en) DECODING AND ENCODING METHODS AND CORRESPONDING DEVICES
US20210289202A1 (en) Intra prediction method and apparatus for performing adaptive filtering on reference pixel
US20230048262A1 (en) Decoding device and method for predicting block partitioned into random shape
EP4142276A1 (en) Image enhancement method and apparatus
CN114222119B (zh) 增强滤波方法、装置及机器可读存储介质
RU2803519C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803519C9 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803532C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2809228C2 (ru) Устройство декодирования изображения, использующее дифференциальное кодирование
RU2803537C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803426C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2810127C2 (ru) Устройство декодирования изображения, использующее дифференциальное кодирование
RU2785384C1 (ru) Устройство декодирования изображения, использующее дифференциальное кодирование
RU2815809C2 (ru) Устройство декодирования изображения, использующее дифференциальное кодирование
RU2776871C1 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2810083C2 (ru) Устройство декодирования изображения, использующее дифференциальное кодирование
US11956427B2 (en) Method of restoration in subblock units, and video decoding apparatus
US20230254483A1 (en) Intra prediction method and apparatus for performing adaptive filtering on reference pixel
CN116389737B (zh) 视频编解码中变换系数的编解码
RU2803425C2 (ru) Способ и устройство для интра-предсказания, в которых блок предсказания разделяют на субблоки и предсказывают в субблоках