Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для определения значения параметра квантования. Такой способ и устройство могут использоваться для обеспечения улучшения совместной квантования цветовых компонентов в Расширении диапазона (RExt) стандарта видео HEVC ("Высокоэффективного кодирования видеоизображений").
Уровень техники изобретения
Цветное изображение, как правило, состоит из трех цветовых компонентов R, G и B. Эти компоненты, как правило, коррелированы, и при сжатии изображений и видео очень распространена практика декорреляции цветовых компонентов перед обработкой изображений. С этой целью наиболее распространенным используемым форматом является формат цвета YUV (или другой аналогичный вариант под названием YCbCr). Сигналы YUV обычно создаются из изображений RGB с использованием линейного преобразования трех входных данных R, G и B. В формате YUV U и V являются вторыми цветовыми компонентами, а Y является первым цветовым компонентом. Эти три компонента в настоящее время рассматриваются как цветовые компоненты.
Изображение и, в частности, его цветовые компоненты ассоциированы с параметрами квантования QP (обычно между 0 и 51), используемыми в процессе квантования коэффициентов, полученных из выборочных значений пикселей путем преобразования (например DCT или DST) во время кодирования изображения и в процессе деквантования во время кодирования и декодирования изображения.
В видео стандарте HEVC, например, имеется связь между параметрами квантования QP, примененными к первому цветовому компоненту (который является первым цветовым компонентом в случае формата цвета YUV, и может быть, например, цветовым компонентом G в случае формата цвета RGB), далее обозначаемым QPY, и параметрами квантования QP, примененными к другим цветовым компонентам, называемым вторыми цветовыми компонентами (которые являются вторыми цветовыми компонентами в случае формата цвета YUV и могут быть, например, цветовыми компонентами R и B в случае формата цвета RGB), далее обозначаемыми QPC.
Для генерации QPC из QPY вычисляется промежуточное значение QPI следующим образом:
QPI=MAX(-QPBdOffsetC, MIN(57, QPY+QPOffsetC))
Где:
- QPBdOffsetC является заранее заданным смещением, зависящим от глубины цвета, используемой для представления второго цветового компонента, и
- QPOffsetC является смещением, которое позволяет частично управлять связью между QPY и QPC.
Затем, параметр квантования, примененный к второму компоненту QPC, получается из промежуточного значения QPI с использованием, например, одной из следующих таблиц соответствия (из текущего проекта Расширения диапазона HEVC), выбранной в зависимости от используемого формата цвета (указанного параметром ChromaArrayType):
Формат цвета 4:2:0 YUV
Формат цвета 4:2:2 YUV
Формат цвета 4:4:4 YUV
(формат цвета 4:4:4 YUV)
Таким образом, эти таблицы используются для получения параметров квантования второго цветового компонента, каждый раз в соответствии с используемым форматом цвета. В первой версии HEVC (версии, выпущенной до версии Расширения диапазона) указана и используется только Таблица 1. В текущем проекте спецификаций Расширения диапазона были добавлены две дополнительных таблицы (Таблица 2 и Таблица 3).
Даже если они позволяют обобщение на несколько форматов цвета первой версии стандарта HEVC, которая фокусировалась на формате цвета 4:2:0 YUV, отсутствует гибкость в выборе таблицы, так как с одним форматом цвета ассоциирована одна единственная таблица.
Кроме того, чтобы позволить обобщение стандарта HEVC на другие форматы цвета, кроме 4:2:0 YUV, требуется дополнительная память для хранения значений Таблиц 2 и 3.
Сущность изобретения
Настоящее изобретение было разработано для решения одной или нескольких указанных выше проблем в свете улучшения гибкости квантования первого и второго цветовых компонентов в Расширении диапазона стандарта видео HEVC.
В этом контексте и в соответствии с первым аспектом изобретения обеспечен способ, как изложено в п.1 формулы изобретения.
В некоторых вариантах осуществления формат цвета является форматом цвета YUV, первый цветовой компонент является компонентом яркости, и по меньшей мере один второй цветовой компонент является компонентом цветности.
В соответствии с изобретением упомянутая функция является таблицей, связывающей с каждым значением промежуточного параметра квантования значение параметра квантования для второго цветового компонента.
В предпочтительном варианте осуществления три возможных формата цвета являются форматом цвета 4:2:0 YUV, форматом цвета 4:2:2 YUV и форматом цвета 4:4:4 YUV, а две доступных функции являются следующими таблицами:
Так как доступно меньше функций, чем имеется возможных форматов цвета, дополнительная память, необходимая для хранения значений функций, ограничена по сравнению с предшествующим уровнем техники (см., например, Таблицу 2 вступления, которая содержит конкретные величины, которые не могут быть выведены из других Таблиц).
Таким образом, даже если доступная функция, ассоциированная с текущим форматом цвета, отсутствует, определение значения параметра квантования для второго цветового компонента может быть выполнено с использованием доступных функций.
В некоторых вариантах осуществления имеется в точности три возможных формата цвета и имеется только две доступных функции для определения параметров квантования для компонентов цветности.
В некоторых вариантах осуществления формат цвета является форматом цвета YUV, первый цветовой компонент является компонентом яркости, и по меньшей мере один второй цветовой компонент является компонентом цветности.
В некоторых вариантах осуществления значение промежуточного параметра QPI квантования вычисляется с использованием следующего уравнения:
QPI=MAX(-QPBdOffsetC, MIN(57, QPY+QPOffsetC)),
в котором:
- QPBdOffsetC является заранее заданным смещением в зависимости от глубины цвета, используемой для представления второго цветового компонента,
- QPY является значением параметра квантования первого цветового компонента изображения или части изображения, и
- QPOffsetC является смещением, которое позволяет частично управлять связью между QPC и QPY.
В соответствии с другим аспектом изобретения обеспечен способ кодирования изображения или части изображения, как изложено в п. 3 формулы изобретения.
В некоторых вариантах осуществления этап генерации содержит вставку параметра, указывающего функцию, используемую на этапе определения, в единицу NAL битового потока.
В некоторых вариантах осуществления упомянутая единица NAL является набором параметров последовательности или набором параметров изображения.
В некоторых вариантах упомянутая единица NAL содержит слайс, в котором упомянутый параметр включен в заголовок слайса.
В некоторых вариантах осуществления, когда изображение фильтруется с помощью фильтра удаления блочности с использованием по меньшей мере одного удаляющего блочность параметра квантования по меньшей мере для одного второго цветового компонента, удаляющий блочность параметр квантования определяется путем применения упомянутой по меньшей мере одной функции к значению другого промежуточного параметра QPI’ квантования, также основанного на значении параметра квантования компонента яркости изображения или части изображения.
Например, отфильтрованное изображение является реконструированным изображением, основанным на квантованных данных. Отфильтрованное изображение может использоваться в качестве опорного изображения для кодирования другого изображения.
В некоторых вариантах осуществления изображение или часть изображения делится на блоки, и при этом значение другого промежуточного параметра QPI’ квантования вычисляется с использованием следующего уравнения:
QPI’=QPYpred+cQpPicOffset,
в котором:
- cQpPicOffset является заранее заданным смещением, переданным в сгенерированном битовом потоке, используемом для представления параметра квантования по меньшей мере для одного второго цветового компонента; и
- QPYpred является средним значением удаляющего блочность параметра квантования, выведенным из соседних блоков текущего обрабатываемого блока.
В соответствии с другим аспектом изобретения обеспечен способ декодирования изображения или части изображения в соответствии с пп. 8 или 9 формулы изобретения.
В некоторых вариантах осуществления способ декодирования дополнительно содержит этап, на котором фильтруют изображение или часть изображения с помощью фильтра удаления блочности с использованием по меньшей мере одного удаляющего блочность параметра квантования для упомянутых компонентов цветности или одного компонента цветности, причем упомянутый удаляющий блочность параметр квантования определяется путем применения упомянутой по меньшей мере одной функции к значению другого промежуточного параметра QPI’ квантования, также основанного на значении параметра квантования компонента яркости изображения или части изображения.
В некоторых вариантах осуществления изображение или часть изображения делится на блоки, и значение другого промежуточного параметра QPI’ квантования вычисляется с использованием следующего уравнения:
QPI’=QPYpred+cQpPicOffset,
в котором:
- cQpPicOffset является заранее заданным смещением, переданным в принятом битовом потоке, используемым для представления удаляющего блочность параметра квантования для упомянутых компонентов цветности или одного компонента цветности; и
- QPYpred является средним значением удаляющего блочность параметра квантования, выведенным по соседним блокам текущего обрабатываемого блока.
Соответственно, также обеспечено устройство для кодирования изображения или части изображения, как изложено в пп. 16 и 17 формулы изобретения.
Соответственно, также обеспечено устройство для декодирования изображения или части изображения, как изложено в пп.18 и 19 формулы изобретения.
Устройства могут иметь аналогичные дополнительные функции, как те, что определены выше в зависимых пунктах для способов формулы изобретения. Если признак описан в терминах процесса выше, специалист в области техники будет в состоянии реализовать его как функциональный элемент в устройствах согласно изобретению.
По меньшей мере часть способов в соответствии с изобретением может быть реализована с помощью компьютера. Соответственно, настоящее изобретение может принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления или варианта осуществления, комбинирующего программный и аппаратный аспекты, которые могут все вместе в общем называться в настоящем документе как устройство или "система". Кроме того, настоящее изобретение может принимать форму компьютерного программного продукта, воплощенного в любом материальном носителе, имеющем воплощенный на носителе используемый компьютером программный код.
Так как настоящее изобретение может быть реализовано с помощью программного обеспечения, настоящее изобретение может быть воплощено как компьютерно-читаемый код для программируемого устройства в любой подходящей несущей среде, например, материальной несущей среде или промежуточной несущей среде. Материальная несущая среда может содержать накопитель данных, такой как гибкий диск, CD-ROM, привод жесткого диска, накопитель на магнитной ленте или твердотельную память и т.п. Промежуточная несущая среда может включать в себя сигнал, такой как электрический сигнал, электронный сигнал, оптический сигнал, звуковой сигнал, магнитный сигнал или электромагнитный сигнал, например, микроволновый или радиочастотный (RF) сигнал.
Краткое описание чертежей
Теперь будут описаны варианты осуществления изобретения, только в качестве примера, со ссылкой на следующие чертежи, на которых:
- фигура 1 изображает разбиение HEVC изображения;
- фигура 2 показывает упрощенную блок-схему, показывающую пример устройства кодирования в соответствии с одним конкретным вариантом осуществления изобретения;
- фигура 3 показывает упрощенную блок-схему, показывающую пример устройства декодирования в соответствии с одним конкретным вариантом осуществления изобретения;
- фигура 4 показывает общие этапы способа определения значения параметра квантования по меньшей мере для одного второго цветового компонента изображения в соответствии с конкретным вариантом осуществления изобретения;
- фигура 5 показывает общие этапы способа кодирования изображения в соответствии с конкретным вариантом осуществления изобретения;
- фигура 6 показывает общие этапы способа декодирования изображения в соответствии с конкретным вариантом осуществления изобретения.
Подробное описание вариантов осуществления изобретения
Изобретение обеспечивает способы и устройства для определения значения параметра квантования для второго цветового компонента.
Фигура 1 изображает разбиение HEVC изображения, сделанного из трех цветовых компонентов. Например, первый цветовой компонент является компонентом Y яркости, а другие компоненты являются компонентами U, V цветности.
В частности, фигура 1 показывает структуру кодирования, используемую в HEVC, которая применима и к первой версии HEVC, и к Расширению диапазона. В соответствии с HEVC и одним из его предыдущих предшественников, исходная последовательность 101 видеокадров является последовательностью цифровых изображений "изображения i". Как хорошо известно, цифровое изображение представлено одной или несколькими матрицами, коэффициенты которых представляют собой пиксели.
Изображения 102 разбиты на слайсы 103. Слайс является частью изображения или целым изображением. В HEVC эти слайсы разбиваются на неперекрывающиеся Иерархические единицы (блоки) кодирования (CTU) 104 (также называемые Наибольшими единицами кодирования).
Каждая CTU 105 может итерационно делиться на единицы кодирования (CU) меньшего размера с использованием разложения дерева квадрантов. Единицы кодирования CU являются элементарными элементами кодирования, каждый из которых содержит две cem-единицы: единицу предсказания (PU) 106 и единицу преобразования (TU) 107 с максимальным размером, равным размеру CU.
Единицы предсказания соответствуют разбиению CU для предсказания значений пикселей. Каждый CU может быть дополнительно разбит максимум на четыре квадрата или два прямоугольника. Единицы преобразования используются для представления элементарных единиц, которые являются пространственно преобразованными (например, с помощью DCT или DST). CU может быть разбит на TU на основании представления дерева квадрантов.
Каждый слайс встроен в одну единицу NAL. Кроме того, параметры кодирования последовательности видеокадров сохраняются в специализированных единицах NAL, называемых наборами параметров. В HEVC и H.264/AVC используется два вида единиц NAL наборов параметров:
- единица NAL набора параметров последовательности (SPS), которая собирает все параметры, которые неизменны в течение всей последовательности видеокадров; обычно она имеет дело с профилем кодирования, размером видеокадров и другими параметрами
- единица NAL набора параметров изображения (PPS), которая кодирует различные значения, которые могут изменяться от одного кадра к другому.
Фигура 2 показывает схему классического видеокодера 20 HEVC, который можно рассматривать как надмножество одного из его предшественников (H.264/AVC). Такой кодер может реализовывать способ кодирования в соответствии с вариантами осуществления настоящего изобретения, как описано ниже со ссылкой на фигуру 5.
Каждый кадр исходной последовательности 101 видеокадров сначала делится на решетку единиц кодирования (CU) модулем 201. Этот этап управляет также определением слайсов кодирования и энтропии. В общем, два способа определяют границы слайсов, которые: или используют фиксированное число CU на слайс (слайсы энтропии или кодирования) или фиксированное число байтов.
Подразделение CTU в CU и разбиение CU в TU и PU определяется на основании критерия искажения скорости. Каждый PU обрабатываемых CU предсказывается пространственным образом посредством "интра" ("Intra", внутренний) предсказателя 217 или временным образом посредством "интер" ("Inter", внешний) предсказателя 218. Каждый предсказатель является блоком пикселей, происходящим из того же самого изображения или другого изображения, из которого получен разностный (или "остаточный") блок. Благодаря идентификации блока предсказателя и кодированию разности можно уменьшить количество информации, которая должна фактически кодироваться.
Кодированные кадры имеют два типа: предсказанные временным образом кадры (предсказанные или из одного опорного кадра, называемого P-кадром, или предсказанные из двух опорных кадров, называемых B-кадрами) и предсказанные не временным образом кадры (называемые кадрами с интракодированием или I-кадрами). В I-кадрах рассматривается только интрапредсказание для кодирования CU/PU. В P-кадрах и B-кадрах рассматривается интра и интерпредсказание для кодирования CU/PU.
В модуле 217 обработки интрапредсказания текущий блок предсказывается с помощью интрапредказателя, блок пикселей создается из уже закодированной информации текущего изображения. Модуль 202 определяет пространственный режим предсказания, который используется для предсказания пикселей по пикселям соседних PU. В HEVC рассматривается до 35 режимов. Разностный блок получается путем вычисления разности интрапредсказанного блока и текущего блока пикселей. Поэтому интрапредсказанный блок состоит из режима предсказания с разностью.
Кодирование режима интрапредсказания выводится из режима предсказания соседних единиц предсказания. Этот процесс выведения режима интрапредсказания, выполняемый модулем 203, позволяет уменьшить уровень кодирования режима интрапредсказания. Модуль обработки интрапредсказания использует также пространственные зависимости кадра или для предсказания пикселей, но также и для получения режима интрапредсказания единицы предсказания.
Второй модуль 218 обработки выполняет интеркодирование с использованием или монопредсказания (тип P) или бипредсказания (тип B). Монопредсказание (тип P) состоит в предсказании блока по ссылке на один опорный блок из одного опорного изображения, а бипредсказание (тип B) состоит в предсказании блока по ссылке на два опорных блока из одного или двух опорных изображений.
Оценка движения между текущим PU и опорными изображениями 215 делается модулем 204 для идентификации в одном или нескольких из этих опорных изображений одного (тип P) или нескольких (тип B) блоков пикселей для использования их в качестве предсказателей этого текущего блока. В случае, если используется несколько предсказателей блоков (тип B), они объединяются для генерации одного единственного блока предсказания. Опорные изображения являются изображениями в последовательности видеокадров, которые уже были кодированы и затем реконструированы (путем декодирования).
Опорный блок идентифицируется в опорном кадре с помощью вектора движения, который равен смещению между PU в текущем кадре и опорным блоком. Следующий модуль 205 выполняет процесс интерпредсказания, состоящий в вычислении разности между блоком предсказания и текущим блоком. Этот блок разности является разностью интерпредсказанного блока. В конце процесса интерпредсказания текущий PU состоит из одного вектора движения и разности.
HEVC обеспечивает способ для предсказания векторов движения каждого PU. Используется несколько вероятных предсказателей вектора движения. Как правило, вектор движения PU, расположенный в верхней части, левой части или верхнем левом углу текущего PU, является первым набором пространственных предсказателей. Вероятный временной вектор движения также используется, то есть один из соотнесенных PU (то есть PU в той же самой координате) в опорном кадре. Он выбирает один из предсказателей на основании критерия, который минимизирует разность между предсказателем вектора движения (MV) и предсказателем текущего PU. В HEVC этот процесс называется AMVP (что означает Адаптивное предсказание вектора движения).
Наконец, вектор движения текущего PU кодируется модулем 206 с помощью индекса, который идентифицирует предсказатель в пределах набора вероятных кандидатов и разность MV (MVD) для MV PU и выбранного вероятного MV, модуль обработки интерпредсказания полагается также на пространственные зависимости между информацией о движении единиц предсказания для увеличения степени сжатия единиц кодирования с интерпредсказанием.
Эти два типа кодирования, таким образом, предоставляют несколько разностей текстур (разность между текущим блоком и блоком предсказателя), которые сравниваются в модуле 216 для выбора наилучшего режима кодирования.
Разность, полученная в конце процесса интер или интрапредсказания, затем преобразуется модулем 207. Преобразование применяется к единице преобразования (TU), которая входит в состав CU. TU может быть дополнительно разделена на меньшие TU c использованием разложения 107 дерева квадрантов разности (Residual QuadTree (RQT)). В HEVC, как правило, используется 2 или 3 уровня разложений и допустимые размеры преобразования 32x32, 16x16, 8x8 и 4x4. Базис преобразования получается из дискретного косинусного преобразования DCT или из дискретного синусного преобразования DST.
Преобразованные коэффициенты разности затем квантуются модулем 208 с использованием параметров квантования для первого и второго цветовых компонентов. Параметры квантования для вторых цветовых компонентов определяются, например, с использованием способа определения в соответствии с вариантами осуществления настоящего изобретения, как описано ниже со ссылкой на фигуру 4. Коэффициенты квантованной преобразованной разности затем кодируются посредством энтропийного кодирования, выполняемого модулем 209, и затем вставляются в сжатый битовый поток 210. Кодирующие синтаксические элементы также кодируются с помощью модуля 209. Как будет объяснено более подробно со ссылкой на фигуру 5, эти кодирующие синтаксические элементы могут содержать параметры, которые указывают функции, используемые для получения параметров квантования. Модуль 209 обработки использует пространственные зависимости между синтаксическими элементами для увеличения эффективности кодирования.
Чтобы вычислить интрапредсказатели или сделать оценку движения для интерпредсказателей кодер выполняет декодирование уже закодированных блоков посредством цикла декодирования, реализованного модулями 211, 212, 213, 214, 215. Этот цикл декодирования позволяет реконструировать блоки и изображения из квантованных преобразованных разностей.
Таким образом, квантованная преобразованная разность деквантуется модулем 211 путем применения обратного квантования к квантованию, обеспеченному модулем 208, и реконструируется модулем 212, путем применения обратного преобразования к преобразованию, выполняемому модулем 207.
Если разность происходит из модуля 217 интракодирования, используемый интрапредсказатель добавляется к этой разности для восстановления реконструированного блока, соответствующего исходному блоку, модифицированному потерями, возникающими из-за преобразования с потерями, здесь операций по квантованию.
Если разность, с другой стороны, происходит из модуля 218 интеркодирования, блоки, на которые указывают текущие векторы движения (эти блоки принадлежат опорным изображениям 215, указанным текущими индексами изображения), объединяются и затем добавляются к этой декодированной разности. Таким образом, исходный блок модифицируется потерями, возникающими из-за операций по квантованию.
Модуль 219 обработки конечного контурного фильтра применяется к реконструированному сигналу для уменьшения эффектов, создаваемых сильным квантованием полученных разностей, и улучшения качества сигнала. В текущем стандарте HEVC используются 2 типа контурных фильтров: фильтр 213 удаления блочности и адаптивное смещение отсчетов (SAO) 220.
Фильтр 213 удаления блочности может использовать удаляющие блочность параметры квантования, полученные путем применения той же самой функции(й), что применяется для определения параметра(ов) квантования для второго цветового компонента(ов), используемой модулем 208 квантования.
Отфильтрованные изображения, также называемые реконструированными изображениями, затем сохраняются как опорные изображения 215, чтобы позволить последующие интерпредсказания, происходящие во время сжатия последующих изображений текущей последовательности видеокадров. Возможно использовать несколько опорных изображений 215 для оценки и компенсации движения текущего изображения.
Результирующий битовый поток 210 кодера 20 также состоит из набора единиц NAL, которые соответствует наборам параметров и слайсам кодирования.
Фигура 3 показывает глобальную схему классического видеодекодера 30 типа HEVC. Декодер 30 принимает в качестве ввода битовый поток 210, соответствующий последовательности 201 видеокадров, сжатой кодером типа HEVC, как кодер на фигуре 2.
Такой декодер может реализовать способ декодирования в соответствии с вариантами осуществления настоящего изобретения, как описано ниже со ссылкой на фигуру 6.
Во время процесса декодирования битовый поток 210 прежде всего анализируется с помощью модуля 301 энтропийного декодирования. Этот модуль обработки использует ранее декодированные с помощью энтропийного декодирования элементы для декодирования кодированных данных. Он декодирует, в частности, наборы параметров последовательности видеокадров для инициализации декодера, а также декодирует Иерархические единицы кодирования (CTU, также называемые LCU) каждого видеокадра. Затем декодируется каждая единица NAL, которая соответствует слайсам кодирования или энтропийным слайсам. Процесс анализа, который использует модули 301, 302 и 304, может быть сделан параллельно для каждого слайса, но модули 305 и 303 процессов предсказания блоков и модуль контурного фильтра должны быть последовательными, чтобы избежать проблемы доступности данных соседей.
Анализируется разбиение CTU и идентифицируются подразбиения CU, PU и TU. Затем выполняется декодер, последовательно обрабатывающий каждую CU, с помощью модулей интра (307) и интер (306) обработки, модулей обратного квантования и обратного преобразования и, наконец, модуля (219) обработки контурного фильтра.
Режим интер или интрапредсказания для текущего блока анализируется из битового потока 210 с помощью модуля 301 процесса анализа. В зависимости от режима предсказания используются или модуль 307 обработки интрапредсказания, или модуль 306 обработки интерпредсказания. Если режим предсказания текущего блока имеет интра тип, режим интрапредсказания извлекается из битового потока и декодируется с помощью модуля 302 режима предсказания соседей модуля 307 обработки интрапредсказания. Интрапредсказанный блок затем вычисляется в модуле 303 с помощью декодированного режима интрапредсказания и уже декодированных пикселей на границах текущего PU. Разность, ассоциированная с текущим блоком, восстанавливается из битового потока 210 и затем энтропийно декодируется.
Если режим предсказания текущего блока указывает, что этот блок имеет интер тип, информация о движении извлекается из битового потока 210 и декодируется модулем 304. Процесс AMVP выполняется модулями 304 и 305. Информация о движении соседних PU, уже декодированных, также используется для вычисления вектора движения текущего PU. Этот вектор движения используется в обратном модуле 305 компенсации движения для определения блока интерпредсказателя, содержащегося в опорных изображениях 215 декодера 30. Аналогично кодеру, эти опорные изображения 215 состоят из изображений, которые предшествуют в настоящий момент декодируемому изображению, и которые реконструированы из битового потока (и поэтому декодированы ранее).
Следующий этап декодирования состоит в декодировании разностного блока, который был передан в битовом потоке. Модуль 301 анализа извлекает разностные коэффициенты из битового потока и выполняет последовательно обратное квантование (в модуле 211) и обратное преобразование (модуль 212) для получения разностного блока.
В частности, обратное квантование выполняется с использованием параметров квантования для первого и вторых цветовых компонентов, определенных, например, с использованием способа определения в соответствии с вариантами осуществления настоящего изобретения, как описано ниже со ссылкой на фигуру 4. В таком определении функции, которые должны использоваться для получения параметров квантования для вторых цветовых компонентов, могут быть указаны параметрами, включенными как синтаксические элементы в битовый поток во время кодирования.
Этот разностный блок добавляется к предсказанному блоку, полученному на выходе модуля интра или интеробработки.
В конце декодирования всех блоков текущего изображения используется модуль 219 обработки контурного фильтра для устранения эффектов блоков и улучшения качества сигнала для получения опорных изображений 215. Как делается в кодере, этот модуль обработки использует фильтр 213 удаления блочности, затем фильтр SAO 220.
Фильтр 213 удаления блочности может использовать удаляющие блочность параметры квантования, полученные путем применения той же самой функции(й), что и функция, примененная для определения параметра(ов) деквантования для второго цветового компонента(ов), используемая модулем 211 деквантования или обратного квантования.
Изображения, таким образом декодированные, составляют выходной видеосигнал 308 декодера, который затем может быть отображен и использован.
Фигура 4 показывает общие этапы способа определения значения параметра квантования по меньшей мере для одного второго цветового компонента изображения 102 или части изображения (например, слайса 103) в соответствии с вариантами осуществления изобретения.
Такой способ может быть реализован устройством кодирования или устройством декодирования, таким как описанные со ссылкой на фигуры 2 и 3, для получения параметров квантования для квантования коэффициентов, полученных из значений пикселей путем преобразования (например DCT или DST), вычисленных, например, модулем 207, или для деквантования символов, полученных энтропийным декодированием закодированных символов.
Как объяснялось выше, существует связь между параметрами квантования, примененными к первому цветовому компоненту QPY, и параметрами квантования, примененными к вторым цветовым компонентам QPC. Эта связь может состоять в промежуточном значении QPI, основанном на QPY, и которое вычисляется на этапе 410 с использованием, например, следующего уравнения:
QPI=MAX(-QPBdOffsetC, MIN(57, QPY+QPOffsetC)),
в котором:
- QPBdOffsetC является заранее заданным смещением в зависимости от глубины цвета, используемой для представления второго цветового компонента,
- QPY является значением параметра квантования первого цветового компонента изображения или части изображения, и
- QPOffsetC является смещением, которое позволяет частично управлять связью между QPC и QPY.
Когда способ реализован устройством кодирования, параметр QPY квантования для первого цветового компонента обычно обеспечивается пользователем.
Однако когда квантование выполняется на данных, принятых декодером, то есть когда способ реализован устройством для декодирования, параметр QPY квантования входит в состав битового потока.
Напомним, что Расширением диапазона HEVC поддерживаются несколько форматов цветов: формат цвета 4:4:4 YUV, формат цвета 4:2:2 YUV и формат цвета 4:2:0 YUV. Очевидно, существуют и другие форматы цветов.
Как правило, функция ассоциирована с форматом цвета. Такая функция может ассоциировать с каждым промежуточным значением QPI значение параметра квантования для второго цветового компонента QPC. Как правило, эти функции представлены в виде таблицы соответствия, как Таблицы 1 (соответствующая 4:2:0 YUV), 2 (соответствующая 4:2:2 YUV) и 3 (соответствующая 4:4:4 YUV), показанные выше.
Настоящее изобретение направлено на улучшение гибкости Расширения диапазона, позволяя переключаться между различными функциями. Другими словами, теперь возможно для текущего формата цвета (например, 4:2:2 YUV) использовать функцию, ассоциированную с форматом цвета (например, 4:2:0 YUV или 4:4:4 YUV), отличающимся от текущего формата цвета.
Чтобы сделать так, обеспечен этап 420 выбора, в котором выбираются одна или несколько функций для применения к промежуточному значению QPI и для определения параметра квантования для второго цветового компонента QPC.
Возвращаясь к примеру Таблиц 1, 2 и 3, показанных выше, можно заметить, что Таблица 3 (соответствующая 4:4:4 YUV) довольно проста, так как она соответствует урезанной версии QPI: QPC=MIN(QPI, 51). Однако Таблица 2 (соответствующая 4:2:2 YUV) содержит конкретные величины, которые не могут быть выведены из Таблицы 1 (соответствующей 4:2:0 YUV) или из Таблицы 3.
Одна или две из этих таблиц может быть выбрана во время этапа 420. Например, когда текущим форматом цвета является 4:2:2 YUV, вместо Таблицы 2 может быть выбрана Таблица 3, ассоциированная с 4:4:4 YUV, которая является более простой.
В одном иллюстративном примере, когда текущим форматом цвета является 4:2:2 YUV, вместо Таблицы 2 может быть выбрана Таблица 1, ассоциированная с 4:2:0 YUV, и Таблица 3, ассоциированная с 4:4:4 YUV.
Этот этап 420 выбора особенно интересен, если память ограничена, и если доступно только ограниченное количество функций. Например, можно не хранить значения Таблицы 2, а хранить только значения Таблицы 1 и Таблицы 3, чтобы сохранить память. В этом случае возможно, что текущий формат цвета не соответствует таковому доступной функции, но этап 420 выбора позволяет обработать этот случай, так как он обеспечивает своего рода систематическое переключение на доступные функции.
С этой целью доступная функция может быть назначена для использования по умолчанию, когда отсутствует доступная функция, ассоциированная с текущим форматом цвета.
В одном варианте функция(и) может быть выбрана в соответствии с параметром, заданным пользователем, или в наборе синтаксических элементов в случае, если способ определения выполняется декодером (см. фигуру 5 ниже).
Когда функции выбраны, они применяются к промежуточному значению QPI для определения на этапе 430 значения параметра QPC квантования для второго цветового компонента.
Например, если были выбраны две функции F1 и F3, QPC может быть определен следующим образом:
QPC=IntegerValueOf (F1(QPI)+F3(QPI)+R)/2,
где R является смещением округления, равным 0 или 1, и может быть фиксированным или зависящим от промежуточного значения QPI. Например, R=0, когда QPI<44, и R=1 в противном случае.
Определенные QPC и QPY затем используются в операции квантования или деквантования кодером или декодером.
Фигура 5 показывает общие этапы способа кодирования изображения 102 или части изображения (например, слайса 103) в соответствии с вариантами осуществления изобретения.
Такой способ может быть реализован устройством кодирования, таким как описанное со ссылкой на фигуру 2.
Следует отметить, что так как изображение 102 или часть 103 изображения представлена первым компонентом и по меньшей мере одним вторым цветовым компонентом, разделенным на единицы кодирования CU, настоящий способ кодирования состоит в кодировании всех единиц кодирования изображения 102 или части 103 изображения.
Такой способ кодирования содержит определение (на этапе 510) значения параметра QPC квантования по меньшей мере для одного второго цветового компонента, например, путем применения способа (этапы 410, 420 и 430), описанного выше со ссылкой на фигуру 4.
Определенные QPC затем используются с QPY для кодирования последовательных единиц кодирования в кодированные данные ENC(Data). Этот этап 520 содержит квантование первого и второго цветовых компонентов с использованием соответствующих параметров квантования. В частности, первый цветовой компонент квантуется с использованием параметра QPY квантования, и по меньшей мере один второй цветовой компонент квантуется с использованием определенных параметров QPC квантования.
На этапе 530 генерируется битовый поток 210 кодированных данных ENC(Data). Кодированные данные содержат параметр QPY квантования для первого цветового компонента.
В некоторых вариантах осуществления этап 530 генерации содержит вставку параметра как синтаксического элемента, который указывает функции, используемые на этапе 510 для получения параметров квантования.
Параметр может быть ассоциирован с конкретным изображением, таким образом входить в состав единицы NAL PPS.
В одном варианте параметр может быть ассоциирован с последовательностью изображений, таким образом входить в состав единицы NAL SPS.
Например, синтаксис для единицы NAL SPS seq_parameter_set_rbsp(), включающий в себя такой параметр, называемый chroma_tabIe_idc, может быть представлен следующим образом:
где:
chroma_format_idc указывает формат цвета входящего битового потока:
- 0 для монохромного содержания (то есть только один цветовой компонент),
- 1 для формата цвета 4:2:0 YUV,
- 2 для формата цвета 4:2:2 YUV,
- 3 для формата цвета 4:4:4 YUV.
separate_colour_plane_flag, когда равен 1, указывает, что каждый компонент кодирован независимо, как монохромный компонент.
chroma_table_idc указывает функцию (здесь таблицу), используемую для определения параметра(ов) QPC квантования для второго цветового компонента(ов) по параметру QPY квантования для первого цветового компонента:
- 0: используется таблица 4:2:0 YUV,
- 1: используется таблица 4:2:2 YUV,
- 2: используется таблица 4:4:4 YUV.
В одном варианте осуществления, когда имеется меньше доступных функций (таблиц), чем возможных форматов цвета, например, доступны только таблицы 4:2:0 YUV и 4:4:4 YUV, синтаксис для блока NAL SPS seq_parameter_set_rbsp(), включающий такой параметр, называемый chroma_420_table_not_used_flag, может быть представлен следующим образом:
где:
chroma_format_idc указывает формат цвета входящего битового потока:
- 0 для монохромного содержания (то есть только один цветовой компонент),
- 1 для формата цвета 4:2:0 YUV,
- 2 для формата цвета 4:2:2 YUV,
- 3 для формата цвета 4:4:4 YUV.
separate_colour_plane_flag, когда равен 1, указывает, что каждый компонент кодирован независимо, как монохромный компонент.
chroma_420_table_not_used_flag, когда равен 0, указывает, что таблица 4:2:0 YUV используется по умолчанию для определения параметра(ов) QPC квантования для второго цветового компонента(ов) по параметру QPY квантования для первого цветового компонента. Когда равен 1, этот параметр указывает, что другая таблица (то есть 4:4:4 YUV) используется по умолчанию для определения параметра(ов) QPC квантования для второго цветового компонента(ов) по параметру QPY квантования для первого цветового компонента. В одном варианте по умолчанию (то есть когда он не присутствует в битовом потоке) chroma_420_table_not_used_flag задан равным 0.
В другом варианте параметр может быть ассоциирован со слайсом, и таким образом входить в состав заголовка слайса.
Когда параметр вставлен, он принимается декодером в битовом потоке 210.
В варианте осуществления эти две таблицы указаны следующим образом:
table_not_
used_flag=0
Фигура 6 показывает общие этапы способа декодирования изображения 102 или части изображения (например, слайса 103) в соответствии с вариантами осуществления изобретения.
Такой способ может быть реализован устройством декодирования, таким как описанное со ссылкой на фигуру 3.
Декодер принимает кодированные данные, например, кодированные в соответствии со способом кодирования, таким как описанный выше со ссылкой на фигуру 5, содержащие параметр QPY квантования для первого цветового компонента, и декодирует кодированные данные на этапе 610.
На этапе 620 определяется значение параметров QPC квантования по меньшей мере для одного второго цветового компонента, например, путем применения способа (этапы 410, 420 и 430), описанного выше со ссылкой на фигуру 4, в котором функция(и) для определения параметров квантования для вторых цветовых компонентов выбираются (этап 420) на основании соответствующего параметра (соответственно chroma_table_idc и chroma_420_table_not_used_flag в предыдущих примерах), включенных в битовый поток 210 во время кодирования (см. фигуру 5).
В одном варианте декодер может быть сконфигурирован так, что функция, ассоциирующая QPI с QPC, назначается по умолчанию, когда отсутствует доступная функция, ассоциированная с текущим форматом цвета.
На этапе 630 декодируемое изображение или часть изображения реконструируется из декодируемых данных. Реконструкция содержит деквантование первого и второго цветовых компонентов изображения или части изображения с использованием параметров квантования первого и второго цветовых компонентов, определенных на этапе 620.
В частности, первый цветовой компонент деквантуется с использованием параметра QPY квантования, включенного в декодируемые данные, и по меньшей мере один второй цветовой компонент деквантуется с использованием упомянутых определенных параметров QPC квантования.
Выбранная функция дополнительно используется в фильтре удаления блочности для определения удаляющего блочность параметра квантования.
Наконец, в одном варианте осуществления обеспечена повышенная гибкость путем обеспечения выбора функции(й), используемой для определения параметров квантования для вторых цветовых компонентов. Кроме того, в зависимости от наконец выбранной функции, либо это улучшение не подразумевает уменьшение производительности кодирования, либо в случае, если есть заметное снижение в одном из компонентов, это снижение, как правило, компенсируется сопоставимым увеличением в других компонентах.
В частности, в качестве примера, когда целью является различный баланс качества между цветовыми компонентами (например, более слабый компонент яркости и более сильные компоненты цветности), и текущим форматом цвета является 4:4:4 YUV или 4:2:2 YUV, авторы изобретения обнаружили, что особый интерес представляет выбор функции, ассоциированной с форматом цвета 4:2:0 YUV вместо использования функции, ассоциированной с форматами цвета 4:4:4 YUV или 4:2:2 YUV.
Кроме того, эта повышенная гибкость позволяет хранить в памяти только некоторые функции, так как для определения QPC может быть выбрана другая функция, чем ассоциированная с текущим форматом цвета.
Предшествующие примеры являются лишь возможными вариантами осуществления изобретения, которое не ограничивается ими.
Изобретение относится к вычислительной технике. Технический результат заключается в улучшении гибкости квантования цветовых компонентов, в расширении диапазона стандарта видео HEVC. Способ кодирования изображения или части изображения, в котором определяют данные, указывающие формат цвета; определяют значение QPC параметра квантования по меньшей мере для одного компонента цветности изображения или части изображения путем использования следующей функции для получения значения QPC из значения QPI промежуточного параметра квантования, когда упомянутые данные не указывают формат цвета 4:2:0, QPC = MIN(QPI, 51), причем значение QPI промежуточного параметра квантования основано на значении параметра квантования для компонента яркости изображения или части изображения; и используют упомянутое определенное значение QPC для кодирования изображения или части изображения. 6 н. и 12 з.п. ф-лы, 6 ил., 3 табл.
1. Способ кодирования изображения или части изображения, содержащий этапы, на которых:
- определяют данные, указывающие формат цвета;
- определяют значение QPC параметра квантования по меньшей мере для одного компонента цветности изображения или части изображения путем использования следующей функции для получения значения QPC из значения QPI промежуточного параметра квантования, когда упомянутые данные не указывают формат цвета 4:2:0,
QPC = MIN(QPI, 51),
причем значение QPI промежуточного параметра квантования основано на значении параметра квантования для компонента яркости изображения или части изображения; и
- используют упомянутое определенное значение QPC для кодирования изображения или части изображения.
2. Способ по п.1, в котором упомянутая функция используется, когда данные указывают формат цвета либо 4:2:2, либо 4:4:4 без отдельного кодирования цветовых компонентов.
3. Способ по п.1 или 2, в котором:
когда данные указывают формат цвета 4:2:0, используют следующую функцию для получения значения QPC из значения QPI промежуточного параметра квантования
4. Способ по п.3, в котором значение QPI промежуточного параметра квантования вычисляется с использованием следующего уравнения:
QPI=MAX(-QPBdOffsetC, MIN(57, QPY+QPOffsetC)),
в котором:
- QPBdOffsetC является заранее заданным смещением, зависящим от глубины цвета, используемой для представления упомянутых компонентов цветности или одного компонента цветности,
- QPY является значением параметра квантования компонента яркости изображения или части изображения, и
- QPOffsetC является смещением, которое позволяет частично управлять связью между значением QPC и значением QPY.
5. Способ по п.1, в котором изображение или часть изображения, представленное компонентом яркости и по меньшей мере одним компонентом цветности, формирует часть последовательности изображений, причем упомянутые компоненты яркости и цветности делятся на единицы кодирования, причем способ дополнительно содержит этапы, на которых:
- кодируют последовательные единицы кодирования в кодированные данные, причем кодирование содержит квантование компонента яркости и упомянутых компонентов цветности или одного компонента цветности изображения или части изображения с использованием параметров квантования цветовых компонентов яркости и цветности, и
- генерируют битовый поток упомянутых кодированных данных.
6. Способ по п.5, в котором, когда изображение фильтруется с помощью фильтра удаления блочности с использованием по меньшей мере одного удаляющего блочность параметра квантования для упомянутых компонентов цветности или одного компонента цветности, удаляющий блочность параметр квантования определяется путем применения упомянутой функции к значению QPI’ другого промежуточного параметра квантования, также основанного на значении параметра квантования для компонента яркости изображения или части изображения.
7. Способ по п.6, в котором изображение или часть изображения делится на блоки, и в котором значение QPI’ другого промежуточного параметра квантования вычисляется с использованием следующего уравнения:
QPI’=QPYpred+cQpPicOffset,
в котором:
- cQpPicOffset является заранее заданным смещением, переданным в сгенерированном битовом потоке, используемом для представления параметра квантования для упомянутых компонентов цветности или одного компонента цветности; и
- QPYpred является средним значением удаляющего блочность параметра квантования, определяемым из параметров квантования соседних блоков, к которым применяется фильтр удаления блочности.
8. Способ декодирования изображения или части изображения, содержащий этапы, на которых:
- определяют данные, указывающие формат цвета;
- определяют значение QPC параметра квантования по меньшей мере для одного компонента цветности изображения или части изображения, подлежащего декодированию, путем использования следующей функции для получения значения QPC из значения QPI промежуточного параметра квантования, когда упомянутые данные не указывают формат цвета 4:2:0,
QPC = MIN(QPI, 51),
причем значение QPI промежуточного параметра квантования основано на значении параметра квантования для компонента яркости изображения или части изображения; и
- используют упомянутое определенное значение QPC для декодирования изображения или части изображения.
9. Способ по п.8, в котором упомянутая функция используется, когда данные указывают формат цвета либо 4:2:2, либо 4:4:4 без отдельного кодирования цветовых компонентов.
10. Способ по п.8 или 9, в котором:
когда данные указывают формат цвета 4:2:0, используют следующую функцию для получения значения QPC из значения QPI промежуточного параметра квантования
11. Способ по любому из пп.8-10, в котором изображение или часть изображения формирует часть последовательности изображений, причем способ дополнительно содержит этапы, на которых:
- принимают кодированные данные, относящиеся к изображению или части изображения, для декодирования,
- декодируют кодированные данные, чтобы определить данные, указывающие формат цвета на основании декодированных данных; и
- реконструируют декодированное изображение или часть изображения из декодированных данных, причем реконструкция содержит деквантование компонента яркости и упомянутых компонентов цветности или одного компонента цветности изображения или части изображения с использованием параметров квантования для компонентов яркости и цветности.
12. Способ по п.11, дополнительно содержащий этап, на котором фильтруют изображение или часть изображения с помощью фильтра удаления блочности с использованием по меньшей мере одного удаляющего блочность параметра квантования для упомянутых компонентов цветности или одного компонента цветности, причем упомянутый удаляющий блочность параметр квантования определяется путем применения упомянутой по меньшей мере одной функции к значению QPI’ другого промежуточного параметра квантования, также основанного на значении параметра квантования для компонента яркости изображения или части изображения.
13. Способ по п.12, в котором изображение или часть изображения делится на блоки, и в котором значение QPI’ другого промежуточного параметра квантования вычисляется с использованием следующего уравнения:
QPI’=QPYpred+cQpPicOffset,
в котором:
- cQpPicOffset является заранее заданным смещением, переданным в принятом битовом потоке, используемом для представления удаляющего блочность параметра квантования для упомянутых компонентов цветности или одного компонента цветности; и
- QPYpred является средним значением удаляющего блочность параметра квантования, определяемым из параметров квантования соседних блоков, к которым применяется фильтр удаления блочности.
14. Компьютерно-читаемый носитель данных, хранящий инструкции для реализации способа по п.1 при загрузке в программируемое устройство и при исполнении посредством него.
15. Компьютерно-читаемый носитель данных, хранящий инструкции для реализации способа по п.8 при загрузке в программируемое устройство и при исполнении посредством него.
16. Устройство для кодирования изображения или части изображения, содержащее:
- средство для определения данных, указывающих формат цвета;
- средство для определения значения QPC параметра квантования по меньшей мере для одного компонента цветности изображения или части изображения путем использования следующей функции для получения значения QPC из значения QPI промежуточного параметра квантования, когда упомянутые данные не указывают формат цвета 4:2:0,
QPC = MIN(QPI, 51),
причем значение QPI промежуточного параметра квантования основано на значении параметра квантования для компонента яркости изображения или части изображения; и
- средство для использования упомянутого определенного значения QPC для кодирования изображения или части изображения.
17. Устройство для декодирования изображения или части изображения, содержащее:
- средство для определения данных, указывающих формат цвета;
- средство для определения значения QPC параметра квантования по меньшей мере для одного компонента цветности изображения или части изображения, подлежащего декодированию, путем использования следующей функции для получения значения QPC из значения QPI промежуточного параметра квантования, когда упомянутые данные не указывают формат цвета 4:2:0,
QPC = MIN(QPI, 51),
причем значение QPI промежуточного параметра квантования основано на значении параметра квантования для компонента яркости изображения или части изображения; и
- средство для использования упомянутого определенного значения QPC для декодирования изображения или части изображения.
18. Устройство по п.17, в котором изображение или часть изображения формирует часть последовательности изображений, а устройство дополнительно содержит:
- средство для приема кодированных данных, относящихся к изображению или части изображения, для декодирования,
- средство для декодирования кодированных данных, чтобы определить данные, указывающие формат цвета на основании декодированных данных; и
- средство для реконструкции декодированного изображения или части изображения из декодированных данных, причем реконструкция содержит деквантование компонента яркости и упомянутых компонентов цветности или одного компонента цветности изображения или части изображения с использованием параметров квантования для компонентов яркости и цветности.
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
J | |||
XU et al | |||
"Chroma QP extension and signalling enhancement", JCTVC-I0265 (version 2), опубл | |||
Видоизменение прибора с двумя приемами для рассматривания проекционные увеличенных и удаленных от зрителя стереограмм | 1919 |
|
SU28A1 |
D | |||
FLYNN et al | |||
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Видоизменение пишущей машины для тюркско-арабского шрифта | 1923 |
|
SU25A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
ГИБКОЕ КВАНТОВАНИЕ | 2007 |
|
RU2476000C2 |
Авторы
Даты
2018-12-06—Публикация
2014-03-24—Подача