RU2819359C2 - Пространственно изменяющееся преобразование с типом адаптивного преобразования - Google Patents
Пространственно изменяющееся преобразование с типом адаптивного преобразования Download PDFInfo
- Publication number
- RU2819359C2 RU2819359C2 RU2023118134A RU2023118134A RU2819359C2 RU 2819359 C2 RU2819359 C2 RU 2819359C2 RU 2023118134 A RU2023118134 A RU 2023118134A RU 2023118134 A RU2023118134 A RU 2023118134A RU 2819359 C2 RU2819359 C2 RU 2819359C2
- Authority
- RU
- Russia
- Prior art keywords
- transform
- block
- svt
- type
- horizontal
- Prior art date
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 69
- 230000003044 adaptive effect Effects 0.000 title abstract description 8
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 157
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000006243 chemical reaction Methods 0.000 claims abstract description 47
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 21
- 238000000844 transformation Methods 0.000 description 6
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 5
- 230000004927 fusion Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Abstract
Изобретение относится к технологиям декодирования видео и в частности к способу декодирования видео и соответствующему устройству, использующему пространственно изменяющееся преобразование (SVT) с типом адаптивного преобразования. Техническим результатом является повышение эффективности и качества кодирования/декодирования. Настоящее изобретение раскрывает способ и устройство для декодирования видео, использующие SVT с типом адаптивного преобразования, где способ содержит определение использования SVT-V или SVT-H для остаточного блока; определение позиции блока преобразования блока преобразования остаточного блока; определение типа преобразования блока преобразования, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором по меньшей мере одно из: горизонтальное преобразование и вертикальное преобразование является DST-7; и восстановление остаточного блока на основании типа преобразования, позиции блока преобразования и коэффициентов преобразования блока преобразования. 4 н. и 16 з.п. ф-лы, 6 ил., 6 табл.
Description
Настоящее изобретение испрашивает приоритет предварительной заявки на патент США № 62/678 738, поданной 31 мая 2018 г., которая полностью включена в настоящее описание посредством ссылки.
Область техники, к которой относится изобретение
Настоящее изобретение относится к технологиям декодирования видео и, в частности, к способу декодирования видео и соответствующему устройству, использующему пространственно изменяющееся преобразование с типом адаптивного преобразования.
Уровень техники
Кодирование видео по H.265 основано на структуре «предсказание плюс преобразование». В кодере блок изображения (содержащий множество пикселей) может быть разложен на блок предсказания и остаточный блок, и информация предсказания (например, режим предсказания и информация вектора движения) и остаточная информация (например, режим преобразования, коэффициенты преобразования и параметр квантования) кодируются в битовый поток. В декодере анализируются информация предсказания и остаточная информация. Согласно информации предсказания, выполняется внутреннее или внешнее предсказание для генерирования выборок предсказания. Согласно остаточной информации, последовательно выполняются обратное квантование и обратное преобразование для генерирования остаточных выборок. Для получения восстановленных выборок добавляются выборки предсказания и остаточные выборки.
Для повышения эффективности кодирования видео было разработано пространственно изменяющееся преобразование (SVT). Для прямоугольного остаточного блока шириной w и высотой h (то есть, w × h) для преобразования части остаточного блока используется блок преобразования, меньший, чем остаточный блок и остальная часть остаточного блока не кодируется. Обоснование SVT состоит в том, что остаток не может равномерно распределяться в остаточном блоке. Использование меньшего блока преобразования с адаптивной позицией может захватить основной остаток в остаточном блоке и, таким образом, может обеспечить лучшую эффективность кодирования, чем преобразование всего остатка в остаточном блоке.
Когда SVT применяется для остаточного блока размером w × h, информация о размере и позиции блока преобразования кодируется в битовый поток видео и, таким образом, декодер может восстановить блок преобразования и составить его в нужном месте блока предсказания, ассоциированного с остаточным блоком.
В одном примере для остаточного блока могут использоваться три типа блока SVT, как показано на фиг. 1.
1) SVT-I: w_t = w/2, h_t = h/2, где w_t и h_t обозначают ширину и высоту блока преобразования, соответственно, и w и h обозначают ширину и высоту остаточного блока. Другими словами, ширина и высота блока преобразования равны их половине остаточного блока.
2) SVT -II: w_t = w/4, h_t = h;
3) SVT-III: w_t = w, h_t = h/4;
Информация о SVT типе блока кодируется в битовый поток.
Позиция блока преобразования представлено смещением (x, y) позиции в верхний левый угол остаточного блока, где x означает расстояние по горизонтали между верхним левым углом блока преобразования и того же остаточного блока в единицах пикселей, и y означает расстояние по вертикали между верхним левым углом блока преобразования и того же остаточного блока в единицах пикселей. Каждая позиция блока преобразования внутри остаточного блока, является кандидатом позиции. Для остаточного блока количество кандидатов позиций составляет (w-w_t + 1) × (h-h_t + 1) для SVT типа. Более конкретно, для остаточного блока 16 × 16, когда используется SVT-I, имеется 81 кандидатов позиций; когда используется SVT-II или SVT-III, существует 13 кандидатов позиций. Значения x и y кодируются в битовый поток. Для снижения сложности для SVT-I, выбирается подмножество 32 позиций из 81 кандидатов позиций в качестве разрешенных позиций кандидатов для SVT-I.
Одним из недостатков SVT схемы являются большие накладные расходы на сигнализацию информации местоположения. Дополнительно, сложность кодера может быть значительно увеличена за счет количества позиций, проверенных при выполнении способа оптимизации по скорости-искажению (RDO). Поскольку количество кандидатов позиций увеличивается с размером остаточного блока, накладные расходы могут быть еще больше для больших остаточных блоков, например 32 × 32 или 64 × 128.
Другой недостаток SVT схемы состоит в том, что размер блока преобразования составляет 1/4 остаточного блока. Блок преобразования, вероятно, недостаточно велик, чтобы охватить основной остаток в остаточном блоке.
Следовательно, разработана упрощенная SVT схема. Для остаточного кодирования используются два SVT типа блоков, обозначенных как SVT-H и SVT-V, как показано на фиг. 2.
1) SVT-V: w_t = w/2 и h_t = h.
2) SVT-H: w_t = w и h_t = h/2.
SVT-V аналогичен SVT-II и SVT-H аналогичен SVT-III. По сравнению с SVT-II и SVT-III, блок преобразования в SVT-V и SVT-H увеличивается до половины остаточного блока, который может охватывать больше остатка в остаточном блоке.
Кандидаты позиций определяются размером шага кандидата позиции (CPSS). Соответственно, кандидаты позиций разделяются на равные пространства, указанные CPSS. Количество кандидатов позиций сокращается до не более 5, что снижает накладные расходы на информацию местоположения и уменьшает сложность кодера для определения наилучшей позиции блока преобразования.
Сущность изобретения
Настоящее изобретение раскрывает способ декодирования видео и соответствующее устройство, использующее пространственно изменяющееся преобразование с типом адаптивного преобразования для повышения качества декодирования.
Вышеупомянутые и другие задачи решаются предметом изобретения независимых пунктов формулы изобретения. Дополнительные формы реализации очевидны из зависимых пунктов формулы изобретения, описания и чертежей.
Согласно первому аспекту, изобретение относится к способу декодирования видео. Способ выполняется устройством для декодирования видео. Способ включает в себя: определение использования пространственно изменяющегося преобразования (SVT) для остаточного блока; определение SVT типа для остаточного блока, когда SVT используется для остаточного блока, в котором SVT типом для остаточного блока является SVT-V или SVT-H; определение позиции блока преобразования блока преобразования остаточного блока; определение типа преобразования блока преобразования, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором, по меньшей мере, одно из горизонтальное преобразование и вертикальное преобразование является DST-7; и восстановление остаточного блока на основании типа преобразования, позиции блока преобразования и коэффициентов преобразования блока преобразования.
В возможной форме реализации способа согласно первому аспекту, когда SVT типом для остаточного блока является SVT-V, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, горизонтальное преобразование является DCT-8 и вертикальное преобразование является DST-7.
В возможной форме реализации способа согласно первому аспекту, когда SVT типом для остаточного блока является SVT-V, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
В возможной форме реализации способа согласно первому аспекту, когда SVT типом для остаточного блока является SVT-H, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, горизонтальное преобразование является DST-7 и вертикальное преобразование является DCT-8.
В возможной форме реализации способа согласно первому аспекту, когда SVT типом для остаточного блока является SVT-H, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
Согласно второму аспекту изобретение относится к устройству для декодирования видео, содержащему: блок, выполненный с возможностью определять использование пространственно изменяющегося преобразования (SVT) для остаточного блока; блок, выполненный с возможностью определять SVT тип для остаточного блока, когда SVT используется для остаточного блока, в котором SVT типом для остаточного блока является либо SVT-V, либо SVT-H; блок, выполненный с возможностью определять позицию блока преобразования блока преобразования остаточного блока; блок, выполненный с возможностью определять тип преобразования блока преобразования, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором, по меньшей мере, одно из горизонтальное преобразование и вертикальное преобразование является DST-7; и блок, выполненный с возможностью восстанавливать остаточный блок на основании типа преобразования, позиции блока преобразования и коэффициентов преобразования блока преобразования.
В возможной форме реализации способа согласно второму аспекту, когда SVT типом для остаточного блока является SVT-V, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, горизонтальное преобразование является DCT-8 и вертикальное преобразование является DST-7.
В возможной форме реализации способа согласно второму аспекту, когда SVT типом для остаточного блока является SVT-V, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
В возможной форме реализации способа согласно второму аспекту, когда SVT типом для остаточного блока является SVT-H, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, горизонтальное преобразование является DST-7 и вертикальное преобразование является DCT-8.
В возможной форме реализации способа согласно второму аспекту, когда SVT типом для остаточного блока является SVT-H, и позиция блока преобразования блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
Согласно третьему аспекту изобретение относится к устройству для декодирования видео, содержащему: один или несколько процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, в котором программы, когда выполняются процессорами, конфигурирует декодер для выполнения способа согласно первому аспекту.
Согласно четвертому аспекту, изобретение относится к постоянному машиночитаемому носителю данных, хранящему компьютерные инструкции, которые при выполнении одним или несколькими процессорами побуждают один или несколько процессоров выполнять этапы способа в соответствии с первым аспектом.
Очевидно, что настоящее изобретение адаптивно использует несколько типов преобразования для блока преобразования на основании SVT типа и информации позиции, таким образом, может повысить качество декодирования и эффективность декодирования; кроме того, количество алгоритмов преобразования ограничено в некоторых вариантах осуществления, таким образом, можно упростить реализацию устройства для декодирования.
Краткое описание чертежей
Фиг. 1 является иллюстрацией SVT-I, SVT-II и SVT-III;
фиг. 2 является иллюстрацией SVT-V и SVT-H;
фиг. 3 является иллюстрацией кандидатов позиций SVT-V и SVT-H блоков;
фиг. 4 является иллюстрацией SVT-V и SVT-H с 3 кандидатами позиций;
фиг. 5 является блок-схемой алгоритма способа декодирования видео согласно варианту осуществления настоящего изобретения;
фиг. 6 является схемой устройства для декодирования видео согласно варианту осуществления настоящего изобретения.
Описание вариантов осуществления
Настоящее изобретение представляет улучшенную SVT схему. Улучшение состоит в том, что тип горизонтального преобразования и тип вертикального преобразования SVT блока определяются на основании SVT типа и SVT позиции блока. Горизонтальное преобразование может отличаться от вертикального преобразования.
Первый вариант осуществления описывает процесс декодирования остаточного блока. Декодируется битовый поток, содержащий, по меньшей мере, одно изображение видеоданных. Изображение разделяется на множество прямоугольных областей изображения, и каждая область соответствует блоку кодового дерева (CTU). CTU разделен на множество блоков, таких как блоки кодирования в HEVC, в соответствии с информацией о разделении блоков, содержащейся в битовом потоке. Информация кодирования блоков анализируется из битового потока, и пиксели блоков восстанавливаются на основании информации кодирования.
В одном варианте осуществления SVT ограничен использованием для внешне- предсказанных блоков. В другом варианте осуществления SVT также может использоваться для внутренне-предсказанных блоков.
В одном примере SVT может применяться для блоков, использующих конкретный способ внешнего предсказания (например, компенсация движения на основании модели трансляции), но не для блоков, использующих некоторые другие способы внешнего предсказания (например, компенсация движения на основании аффинной модели). В другом примере SVT может быть применено для блоков предсказания с использованием режима объединения или режима AMVP (расширенное предсказание вектора движения) с точностью разности векторов движения 1/4 пикселя, но не разрешено для блоков предсказания с использованием режима аффинного объединения, режима аффинного взаимодействия или AMVP режима с точностью разности векторов движения 1 или 4 пикселя. В другом примере SVT может быть разрешено для блоков предсказания с использованием режима объединения с индексом объединения меньше 2, но не разрешено для блоков предсказания с использованием режима объединения с индексом объединения не менее 2. Можно ссылаться на режим объединения и режим AMVP в стандарте H.265/HEVC. Режим аффинного объединения и режим аффинного взаимодействия могут упоминаться в кодеке JEM (Joint Exploration Model) JVET (Joint Video Exploration Team).
В одном примере блок может относиться к блоку кодирования, где блок кодирования может содержать один блок предсказания и один остаточный блок. Блок предсказания может содержать все выборки предсказания блока кодирования, остаточный блок может содержать все остаточные выборки блока кодирования, и блок предсказания имеет тот же размер, что и остаточный блок. В другом примере блок может относиться к блоку кодирования, блок кодирования может содержать два блока предсказания и один остаточный блок, каждый блок предсказания может содержать часть выборок предсказания блока кодирования, и остаточный блок может содержать все остаточные выборки блока кодирования. В другом примере блок может относиться к блоку кодирования, блок кодирования может содержать два блока предсказания и четыре остаточных блока. Шаблон разделения остаточных блоков в блоке кодирования может сигнализироваться в битовом потоке, например, в остаточном дереве квадратов (RQT) в HEVC.
Блок может содержать только компонент Y (яркость) выборок изображения (или пикселей), или может содержать компоненты Y, U (цветность) и V (цветность) выборок изображения.
Остаточный блок Ro размера w × h может быть восстановлен с помощью следующих этапов.
Этап 1. Определить размер блока преобразования остаточного блока Ro.
Этап 1.1. Определить использование SVT в соответствии с элементом синтаксиса. Для остаточного блока, которому разрешено использовать SVT, если остаточный блок имеет ненулевые коэффициенты преобразования компонента Y (или имеет ненулевые коэффициенты преобразования любого цветового компонента), анализируется флаг (а именно, svt_flag) из битового потока. Флаг указывает, кодируется ли остаточный блок с использованием блока преобразования того же размера, что и остаточный блок (например, svt_flag = 0), или остаточный блок кодируется с блоком преобразования размера, меньшего, чем размер остаточного блока (например, svt_flag = 1). То, имеет ли блок ненулевые коэффициенты преобразования цветового компонента, может указываться флагом кодированного блока (cbf) цветового компонента, как используется в HEVC. То, имеет ли блок ненулевые коэффициенты преобразования любого цветового компонента, может быть указано с помощью флага корневого кодированного блока (root cbf), как используется в HEVC.
В одном примере блоку разрешено использовать SVT при удовлетворении следующих условий:
1) блок предсказывается с использованием внешнего предсказания;
2) ширина или высота блока находится в заранее определенном диапазоне [a1, a2], например, a1 = 16 и a2 = 64, или a1 = 8 и a2 = 64, или a1 = 16 и a2 = 128. Значения a1 и a2 могут быть фиксированными. Значение также может быть получено из набора параметров последовательности (SPS) или заголовка сегмента.
В другом примере блоку разрешено использовать SVT при удовлетворении следующих условий:
1) блок предсказывается с использованием режима объединения с индексом объединения меньше порогового значения (например, 1, 2 или 3) или с использованием режима AMVP с точностью разности вектора движения 1/4 пикселя;
2) одно измерение блока находится в заранее определенном диапазоне [a1, a2], и другое измерение блока не превышает пороговое значение a3, например, a1 = 8, a2 = 32 и a3 = 32. Параметр a1 может быть установлен как двойной минимальный размер преобразования, a2 и a3 оба могут быть установлены как максимальный размер преобразования. Значения a1, a2 и a3 могут быть фиксированными. Значение также может быть получено из набора параметров последовательности (SPS) или заголовка сегмента.
Если блок не использует SVT, размер блока преобразования устанавливается как w × h. В противном случае для определения размера преобразования применяется этап 1.2.
Этап 1.2. Определить SVT тип в соответствии с элементом синтаксиса и получить размер блока преобразования в соответствии с SVT типом. Допустимые SVT типы для остаточного блока определяются на основании ширины и высоты остаточного блока. SVT-V разрешен, если w находится в диапазоне [a1, a2] и h не больше, чем a3; SVT-H разрешен, если h находится в диапазоне [a1, a2], и w не превышает a3. SVT может использоваться только для компонента Y, или он может использоваться для всех трех компонентов, то есть, компонента Y, компонента U и компонента V. Когда SVT используется только для компонента Y, остаток компонента Y преобразуется с помощью SVT и компоненты U и V преобразуются в соответствии с размером остаточного блока.
Когда разрешены и SVT-V, и SVT-H, из битового потока анализируется один флаг (а именно, svt_type_flag), который указывает, используется ли SVT-V (например, svt_type_flag = 0) или используется SVT-H (например, , svt_type_flag = 1) для остаточного блока, и размер блока преобразования устанавливается в соответствии с сигнализируемым SVT типом (т. е. w_t = w/2 и h_t = h для SVT-V, и w_t = w и h_t = h/2 для SVT-H). Когда разрешен только SVT-V или разрешен только SVT-H, svt_type_flag не анализируется из битового потока, и размер блока преобразования устанавливается в соответствии с разрешенным SVT типом.
Этап 2. Определить позицию блока преобразования согласно элементу синтаксиса и определить тип преобразования для блока преобразования на основании SVT типа и информации о позиции блока преобразования.
Этап 2.1: Определить позицию блока преобразования в соответствии с элементом синтаксиса.
Индекс Р позиции анализируется из битового потока, и смещение Z позиции верхнего левого угла блока преобразования в верхний левый угол остаточного блока определяется как Z = s × P, где s является кандидатом размер шага позиции (CPSS). Значение P находится в диапазоне 0, 1,…, если используется SVT-V, или значение P среди 0, 1,…, если используется SVT-H. Более конкретно, допустим, что (0, 0) представляет координату верхнего левого угла остаточного блока, координата верхнего левого угла блока преобразования равна (Z, 0) для SVT-V или (0, Z) для SVT -Н.
В одном примере CPSS вычисляется как s = w/M1 для SVT-V или s = h/M2 для SVT-H, где w и h являются шириной и высотой остаточного блока, соответственно, и M1 и M2 являются заранее определенными целыми числами в диапазоне от 2 до 8. Допускается больше кандидатов позиций с большим значением M1 или M2. В этом примере M1 и M2 оба установлены как 8. Следовательно, значение P находится в диапазоне от 0 до 4. Возможные позиции показаны на фиг. 3.
В другом примере CPSS вычисляется как s = max (w/M1, Th1) для SVT-V или s = max (h/M2, Th2) для SVT-H, где Th1 и Th2 являются предварительно определенными целыми числами, определяющие минимальный размер шага. Th1 и Th2 являются целыми числами не меньше 2. В этом примере Th1 и Th2 установлены как 4, и M1 и M2 установлены как 8. В этом примере разные размеры блоков могут иметь разное количество кандидатов позиций. Например, когда w = 8, доступны для выбора 2 кандидата позиций (как показано на фиг. 5 (a) и фиг. 5 (e)); когда w = 16, доступны для выбора 3 кандидата позиций (как показано на фиг. 5 (a), фиг. 5 (c) и фиг. 5 (e)); если w> 16, можно выбрать 5 позиций.
В другом примере CPSS вычисляется как s = w / M1 для SVT-V или s = h / M2 для SVT-H, где M1 и M2 установлены как 4. Соответственно, разрешены 3 кандидата позиций.
В другом примере CPSS вычисляется как s = w / M1 для SVT-V или s = h / M2 для SVT-H, где M1 и M2 установлены как 2. Соответственно, разрешены 2 кандидата позиций.
В другом примере CPSS вычисляется как s = max (w / M1, Th1) для SVT-V или s = max (h / M2, Th2) для SVT-H, где T1 и T2 установлены как 2, M1 устанавливается как 8, если w ≥ h, или устанавливается как 4, если w <h, и M2 устанавливается как 8, если h ≥ w, или устанавливается как 4, если h <w. В этом случае количество кандидатов позиций для SVT-H или SVT-V может дополнительно зависеть от соотношения сторон остаточного блока.
В другом примере CPSS вычисляется как s = max (w / M1, Th1) для SVT-V или s = max (h / M2, Th2) для SVT-H, где значения M1, M2, Th1 и Th2 являются производными от высокоуровневой синтаксической структуры в битовом потоке (например, набора параметров последовательности). M1 и M2 могут совместно использовать одно и то же значение, полученное из синтаксического элемента, Th1 и Th2 могут совместно использовать одно и то же значение, проанализированное из другого синтаксического элемента.
Индекс Р позиции может быть преобразован в двоичную форму в один или несколько бинов с использованием усеченного унарного кода. Например, если значение P находится в диапазоне от 0 до 4, значения P 0, 4, 2, 3 и 1 преобразуются в двоичную форму как 0, 01, 001, 0001 и 0000 соответственно; если значение P находится в диапазоне от 0 до 1, значения P 0 и 1 преобразуются в двоичную форму как 0 и 1 соответственно.
Индекс P позиции может быть преобразован в двоичную форму в один или несколько бинов с использованием одной наиболее вероятной позиции и нескольких оставшихся позиций. Когда доступны левые и верхние соседние позиции, наиболее вероятная позиция может быть установлена как позиция, охватывающая нижний правый угол остаточного блока. В одном примере, если значение P находится в диапазоне от 0 до 4 и позиция 4 установлена как наиболее вероятная позиция, значения P 4, 0, 1, 2 и 3 преобразуются в двоичную форму как 1, 000, 001, 010 и 011. соответственно; если значение P находится в диапазоне от 0 до 2 и позиция 2 установлена как наиболее вероятная позиция, P значения 2, 0 и 1 преобразуются в двоичную форму как 1, 01 и 00 соответственно.
Этап 2.2: определить тип преобразования для блока преобразования на основании SVT типа и информации о позиции блока преобразования. Тип преобразования включает в себя горизонтальное преобразование и вертикальное преобразование двухмерного разделимого преобразования.
Рассмотрим случай, когда допустимы 3 кандидата позиции для примера, как показано на фиг. 4. Позиция 0 охватывает верхний левый угол и позиция 2 охватывает нижний правый угол. Позиция 1 находится в середине остаточного блока. Как для SVT-V, так и для SVT-H есть три позиции, как показано на фиг. 4.
В другом примере разрешены 2 кандидата позиций. Позиция 0 охватывает верхний левый угол, и позиция 1 охватывает нижний правый угол (то же, что и позиция 2 на фиг. 4). То есть, разрешены две позиции для SVT-V и SVT-H.
Двумерное преобразование может быть разделено на одномерное горизонтальное преобразование и вертикальное преобразование. Прямое двумерное преобразование, которое преобразовывает остаток в коэффициенты преобразования, может быть реализовано путем сначала применения горизонтального преобразования к остаточному блоку для генерирования блока TA, и затем применения вертикального преобразования к блоку TA для генерирования блока коэффициента преобразования, как реализовано в JEM кодеке. Соответственно, обратное двумерное преобразование, которое преобразовывает коэффициенты преобразования обратно в остаточные, может быть реализовано сначала путем применения обратного вертикального преобразования к блоку коэффициента преобразования для генерирования блока TB, и затем применения обратного горизонтального преобразования к блоку TB для генерирования остаточного блока, как реализовано в JEM кодеке.
В одном примере горизонтальное и вертикальное преобразования для позиции 0 SVT-V являются DCT-8 и DST-7; горизонтальное и вертикальное преобразования для позиции 1 SVT-V являются DST-1 и DST-7; горизонтальное и вертикальное преобразования для позиции 2 SVT-V являются DST-7 и DST-7; горизонтальное и вертикальное преобразования для позиции 0 SVT-H являются DST-7 и DCT-8; горизонтальное и вертикальное преобразования для позиции 1 SVT-H являются DST-7 и DST-1; горизонтальное и вертикальное преобразования для позиции 2 SVT-H являются DST-7 и DST-7, как указано в таблице I. В этом примере вертикальное преобразование для SVT-V и горизонтальное преобразование для SVT-H установлено как DST-7, и другое преобразование основано на SVT позиции.
Таблица I. Пример одномерных горизонтальных и вертикальных преобразований для различных SVT типов и позиций
SVT тип, позиция | Горизонтальное преобразование | Вертикальное преобразование |
SVT-V, позиция 0 | DCT-8 | DST-7 |
SVT-V, позиция 1 | DST-1 | DST-7 |
SVT-V, позиция 2 | DST-7 | DST-7 |
SVT-H, позиция 0 | DST-7 | DCT-8 |
SVT-H, позиция 1 | DST-7 | DST-1 |
SVT-H, позиция 2 | DST-7 | DST-7 |
В другом примере горизонтальное преобразование и вертикальное преобразование для различных SVT типов и позиций перечислены в таблице II. В этом примере вертикальное преобразование для SVT-V и горизонтальное преобразование для SVT-H установлено как DCT-2, и другое преобразование основано на SVT позиции.
Таблица II. Пример одномерных горизонтальных и вертикальных преобразований для различных SVT типов и позиций
SVT тип, позиция | Горизонтальное преобразование | Вертикальное преобразование |
SVT-V, позиция 0 | DCT-8 | DCT-2 |
SVT-V, позиция 1 | DST-1 | DCT-2 |
SVT-V позиция 2 | DST-7 | DCT-2 |
SVT-H, позиция 0 | DCT-2 | DCT-8 |
SVT-H, позиция 1 | DCT-2 | DST-1 |
SVT-H, позиция 2 | DCT-2 | DST-7 |
В другом примере горизонтальное преобразование и вертикальное преобразование для различных SVT типов и позиций перечислены в таблице III. В этом примере горизонтальное преобразование и вертикальное преобразование определяется только SVT позицией.
Таблица III. Пример одномерных горизонтальных и вертикальных преобразований для различных SVT типов и позиций
SVT тип, позиция | Горизонтальное преобразование | Вертикальное преобразование |
SVT-V, позиция 0 | DCT-8 | DCT-8 |
SVT-V, позиция 1 | DST-1 | DST-1 |
SVT-V, позиция 2 | DST-7 | DST-7 |
SVT-H, позиция 0 | DCT-8 | DCT-8 |
SVT-H, позиция 1 | DST-1 | DST-1 |
SVT-H, позиция 2 | DST-7 | DST-7 |
В другом примере горизонтальное преобразование и вертикальное преобразование для различных SVT типов и позиций перечислены в таблице IV.
Таблица IV. Пример одномерных горизонтальных и вертикальных преобразований для различных SVT типов и позиций
SVT тип, позиция | Горизонтальное преобразование | Вертикальное преобразование |
SVT-V, позиция 0 | DST-7 | DCT-8 |
SVT-V, позиция 1 | DST-7 | DST-1 |
SVT-V, позиция 2 | DST-7 | DST-7 |
SVT-H, позиция 0 | DCT-8 | DST-7 |
SVT-H, позиция 1 | DST-1 | DST-7 |
SVT-H, позиция 2 | DST-7 | DST-7 |
В другом примере горизонтальное преобразование и вертикальное преобразование для различных SVT типов и позиций перечислены в таблице V.
Таблица V. Пример одномерных горизонтальных и вертикальных преобразований для различных SVT типов и позиций
SVT тип, позиция | Горизонтальное преобразование | Вертикальное преобразование |
SVT-V, позиция 0 | DCT-8 | DST-7 |
SVT-V, позиция 1 | DCT-2 | DST-7 |
SVT-V, позиция 2 | DST-7 | DST-7 |
SVT-H, позиция 0 | DST-7 | DCT-8 |
SVT-H, позиция 1 | DST-7 | DCT-2 |
SVT-H, позиция 2 | DST-7 | DST-7 |
В другом примере горизонтальное преобразование и вертикальное преобразование для различных SVT типов и позиций перечислены в таблице VI.
Таблица VI. Пример одномерных горизонтальных и вертикальных преобразований для различных SVT типов и позиций
SVT тип, позиция | Горизонтальное преобразование | Вертикальное преобразование |
SVT-V, позиция 0 | DCT-8 | DCT-2 |
SVT-V, позиция 1 | DCT-2 | DCT-2 |
SVT-V, позиция 2 | DST-7 | DCT-2 |
SVT-H, позиция 0 | DCT-2 | DCT-8 |
SVT-H, позиция 1 | DCT-2 | DCT-2 |
SVT-H, позиция 2 | DCT-2 | DST-7 |
Зависящие от позиции множественные преобразования могут применяться только к блоку преобразования яркости, и соответствующие блоки преобразования цветности всегда используют обратный DCT-2 в процессе обратного преобразования.
Этап 3. Анализировать коэффициенты преобразования блока преобразования на основании размера блока преобразования.
Данный процесс является обычно используемым процессом при декодировании видео, такой как анализ коэффициентов преобразования в HEVC или H.264/AVC. Коэффициенты преобразования могут кодироваться с использованием кодирования длин последовательности или более сложным кодированием как набор групп коэффициентов преобразования (CG).
Этап 3 может быть выполнен перед этапом 2.
Этап 4. Восстановить остаточный блок Ro на основании коэффициентов преобразования, позиции блока преобразования и типа обратного преобразования.
Обратное квантование и обратное преобразование размера w_t × h_t применяются к коэффициентам преобразования для восстановления остаточных выборок. Размер остаточных выборок равен w_t × h_t, что совпадает с размером блока преобразования. Обратное преобразование представляет собой двухмерное разделимое преобразование. Блок коэффициентов деквантованного преобразования сначала преобразуется с помощью обратного вертикального преобразования для генерирования блока TC, и затем блок TC преобразуется с помощью обратного горизонтального преобразования, в котором решение об обратном горизонтальном преобразовании и обратном вертикальном преобразовании принимается на этапе 2.2 на основании позиции блока преобразования или на основании как позиции блока преобразования, так и SVT типа блока преобразования.
Остаточные выборки назначаются соответствующей области внутри остаточного блока Ro в соответствии с позицией блока преобразования, и остальные выборки внутри остаточного блока устанавливаются равными нулю. Например, если используется SVT-V и количество кандидатов позиций равно 5, и индекс позиции равен 4, восстановленные остаточные выборки назначаются области A на фиг. 3 (e) и области размера (w / 2) × h слева от области A имеет нулевую невязку.
После выполнения этапов с 1 по 4 восстановленный остаточный блок может быть скомпонован с блоком предсказания для генерирования восстановленных выборок в блоке кодирования. Процесс фильтрации может быть применен к восстановленным выборкам позже, такой как фильтр деблокинга и обработка адаптивного смещения выборки (SAO) в HEVC.
В отличие от существующих решений, настоящее изобретение адаптивно использует несколько типов преобразования для блока преобразования на основании SVT типа и информации позиции.
Фиг. 5 является блок-схемой алгоритма примерного способа декодирования видео, использующего пространственно изменяющееся преобразование с типом адаптивного преобразования. Способ может быть инициирован в декодере после приема битового потока. Способ использует битовый поток для определения блоков предсказания и преобразованных остаточных блоков. Способ также может определять блоки преобразования, которые используются для определения остаточных блоков. Остаточные блоки и блоки предсказания затем используются для восстановления блоков изображения. Следует отметить, что хотя способ описан с точки зрения декодера, аналогичный способ может использоваться (например, в обратном направлении) для кодирования видео с использованием SVT. Где способ включает в себя:
Этап 501, определить использование SVT для остаточного блока. Конкретный процесс определения аналогичен этапу 1.1.
Этап 502, определить SVT тип для остаточного блока, когда SVT используется для остаточного блока, в котором SVT тип для остаточного блока является либо SVT-V типом, либо SVT-H типом, где SVT-V тип указывает, что ширина блока преобразования остаточного блока равна половине ширины остаточного блока и высота блока преобразования равна высоте остаточного блока (как показано на фиг. 4); где SVT-H тип указывает, что ширина блока преобразования равна ширине остаточного блока и высота блока преобразования равна половине высоты остаточного блока (как показано на фиг. 4). Конкретный процесс определения аналогичен этапу 1.2.
Этап 503, получить размер блока преобразования блока преобразования согласно SVT типу. Конкретный процесс получения аналогичен этапу 1.2.
Этап 504, определить позицию блока преобразования блока преобразования. Конкретный процесс определения может быть аналогичен этапу 2.1.
В качестве альтернативы, когда кандидаты позиций для SVT типа равны двум, может использоваться однобитовый флаг для указания позиции блока преобразования блока преобразования остаточного блока. Например, когда для SVT-V используются только позиции 0 и 2 на фиг. 4, однобитового флага достаточно, чтобы указать, является ли позиция блока преобразования позицией 0 или позицией 2. Когда для SVT-H используются только позиции 0 и 2 на фиг. 4, однобитового флага достаточно, чтобы указать, является ли позиция блока преобразования позицией 0 или позицией 2.
Этап 505, определить тип преобразования блока преобразования согласно SVT типу и позиции блока преобразования блока преобразования, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором, по меньшей мере, одно горизонтальное преобразование и вертикальное преобразование является DST-7. Конкретный процесс определения может быть аналогичен этапу 2.2.
Конкретный тип преобразования может быть любым типом преобразования любой из таблиц I, IV и V, как описано выше, или может быть любым типом преобразования, который включает в себя DST-7 любой из таблиц II, III и VI, как описано выше.
Например, когда SVT типом для остаточного блока является SVT-V тип, и позиция блока преобразования блока преобразования является позицией, охватывающей верхний левый угол остаточного блока (то есть, позиция 0 на фиг. 4), горизонтальное преобразование является DCT-8 и вертикальное преобразование является DST-7.
Например, когда SVT типом для остаточного блока является SVT-V тип и позиция блока преобразования блока преобразования является позицией, охватывающей правый нижний угол остаточного блока (то есть, позиция 2 на фиг. 4), горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
Например, когда SVT типом для остаточного блока является SVT-H тип и позиция блока преобразования блока преобразования является позицией, охватывающей верхний левый угол остаточного блока (то есть, позиция 0 на фиг. 4), горизонтальное преобразование является DST-7 и вертикальное преобразование является DCT-8.
Например, когда SVT типом для остаточного блока является SVT-H тип и позиция блока преобразования блока преобразования является позицией, охватывающей правый нижний угол остаточного блока (то есть, позиция 2 на фиг. 4), горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
Этап 506, анализ коэффициентов преобразования блока преобразования согласно размеру блока преобразования. Конкретный процесс синтаксического анализа может быть аналогичен этапу 3.
Этап 507, восстановление остаточного блока на основании типа преобразования, позиции блока преобразования и коэффициентов преобразования блока преобразования. Конкретный процесс определения может быть аналогичен этапу 4.
Можно видеть, что настоящее изобретение адаптивно использует несколько типов преобразования для блока преобразования на основании SVT типа и информации позиции, таким образом, может повысить качество декодирования и эффективность декодирования; кроме того, количество алгоритмов преобразования ограничено в некоторых вариантах осуществления, таким образом, можно упростить реализацию устройства для декодирования.
Настоящее изобретение раскрывает устройство для декодирования видео, которое выполнено с возможностью реализации способов настоящего изобретения, при этом устройство для декодирования видео включает в себя:
блок, выполненный с возможностью определять использование пространственно изменяющегося преобразования (SVT) для остаточного блока. Конкретный процесс определения аналогичен этапу 1.1.
блок, выполненный с возможностью определять SVT тип для остаточного блока, когда SVT используется для остаточного блока, в котором SVT тип для остаточного блока является либо SVT-V типом, либо SVT-H типом, где SVT-V тип указывает, что ширина блока преобразования остаточного блока равна половине ширины остаточного блока и высота блока преобразования равна размеру высоты остаточного блока, в котором SVT-H тип указывает, что ширина блока преобразования равна ширине остаточного блока и высота блока преобразования равна половине высоты остаточного блока. Конкретный процесс определения аналогичен этапу 1.2.
блок, выполненный с возможностью получать размер блока преобразования блока преобразования в соответствии с SVT типом. Конкретный процесс получения аналогичен этапу 1.2.
блок, выполненный с возможностью определять позицию блока преобразования блока преобразования. Конкретный процесс определения может быть аналогичен этапу 2.1. В качестве альтернативы, когда кандидаты позиций для SVT типа равны двум, может использоваться однобитовый флаг для указания позиции блока преобразования блока преобразования остаточного блока. Например, когда для SVT-V используются только позиции 0 и 2 на фиг. 4, однобитового флага достаточно, чтобы указать, является ли позиция блока преобразования позицией 0 или позицией 2. Когда только позиции 0 и 2 на фиг. 4 используются для SVT-H, однобитового флага достаточно, чтобы указать, является ли позиция блока преобразования позицией 0 или позицией 2.
блок, выполненный с возможностью определять тип преобразования блока преобразования в соответствии с SVT типом и позицией блока преобразования блока преобразования, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором, по меньшей мере, одно из: горизонтальное преобразование и вертикальное преобразование является DST-7. Конкретный процесс определения может быть аналогичен этапу 2.2.
блок, выполненный с возможностью выполнять синтаксический анализ коэффициентов преобразования блока преобразования в соответствии с размером блока преобразования. Конкретный процесс синтаксического анализа может быть аналогичен этапу 3.
блок, выполненный с возможностью восстановления остаточного блока на основании типа преобразования, позиции блока преобразования и коэффициентов преобразования блока преобразования. Конкретный процесс определения может быть аналогичен этапу 4.
Конкретный тип преобразования может быть любым типом преобразования любой из таблиц I, IV и V, как описано выше, или может быть любым типом преобразования, который включает в себя DST-7 любой из таблиц II, III и VI, как описано выше.
Например, когда SVT тип для остаточного блока является SVT-V типом и позиция блока преобразования блока преобразования является позицией, охватывающей верхний левый угол остаточного блока (то есть, позиция 0 на фиг. 4), горизонтальное преобразование является DCT-8 и вертикальное преобразование является DST-7.
Например, когда SVT типом для остаточного блока является SVT-V тип и позиция блока преобразования блока преобразования является позицией, охватывающей правый нижний угол остаточного блока (то есть, позиция 2 на фиг. 4), горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
Например, когда SVT типом для остаточного блока является SVT-H тип и позиция блока преобразования блока преобразования является позицией, охватывающей верхний левый угол остаточного блока (то есть, позиция 0 на фиг. 4), горизонтальное преобразование является DST-7 и вертикальное преобразование является DCT-8.
Например, когда SVT типом для остаточного блока является SVT-H тип и позиция блока преобразования блока преобразования является позицией, охватывающей правый нижний угол остаточного блока (то есть, позиция 2 на фиг. 4), горизонтальное преобразование является DST-7 и вертикальное преобразование является DST-7.
Настоящее изобретение раскрывает другое устройство для декодирования видео, которое выполнено с возможностью реализации способов настоящего изобретения, в котором устройство для декодирования видео включает в себя: один или несколько процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, в котором программирование, когда выполняется процессорами, конфигурирует устройство декодирования видео для выполнения любого из способов, как указано выше.
Настоящее изобретение раскрывает постоянный машиночитаемый носитель данных, хранящий компьютерные инструкции, которые при выполнении одним или несколькими процессорами побуждают один или несколько процессоров выполнять этапы любого из способов, как указано выше.
Фиг. 9 является схемой устройства 900 для кодирования согласно варианту осуществления изобретения. Устройство 900 для кодирования выполнено с возможностью реализовывать раскрытые варианты осуществления, как описано в настоящем документе. Устройство 900 для кодирования содержит входные порты 910 и блоки (Rx) 920 приема для приема данных; процессор, логический блок или центральный процессор (CPU) 930 для обработки данных; блоки (Tx) 940 передачи и выходные порты 950 для передачи данных; и память 960 для хранения данных. Устройство 900 для кодирования может также содержать оптико-электрические (OE) компоненты и электрические-оптические (EO) компоненты, подключенные к входным портам 910, блокам 920 приема, блокам 940 передачи и выходным портам 950 для вывода или ввода оптических или электрических сигналов.
Процессор 930 реализован аппаратным и программным обеспечением. Процессор 930 может быть реализован как одна или несколько микросхем CPU, ядер (например, как многоядерный процессор), программируемых вентильных матриц (FPGA), специализированных интегральных схем (ASIC) и процессоров цифровых сигналов (DSP). Процессор 930 поддерживает связь с входными портами 910, блоков 920 приемника, блоков 940 передатчика, выходными портами 950 и памятью 960. Процессор 930 содержит модуль 970 кодирования. Модуль 970 кодирования выполняет раскрытые описанные выше варианты осуществления. Например, модуль 970 кодирования выполняет, обрабатывает, анализирует, подготавливает или предоставляет различные процессы обработки графических данных и вычислений. Использование модуля 970 кодирования предоставляет возможность, по сущности, улучшить функциональность устройства 900 и эффектов преобразования устройства 900 для различных состояний. Альтернативно, модуль 970 кодирования реализован как инструкции, сохраненные в памяти 960 и выполняемые процессором 930.
Память 960 содержит один или несколько дисков, ленточных накопителей и твердотельных накопителей и может использоваться в качестве запоминающего устройства для переполнения данных, для хранения программ, когда такие программы выбраны для выполнения, и для хранения инструкций и данных, которые читаются во время выполнения программы. Память 960 может быть энергозависимой и/или энергонезависимой и может быть постоянным запоминающим устройством (ROM), памятью с произвольным доступом (RAM), троичной памятью с адресацией по содержимому (TCAM) и/или статической памятью с произвольным доступом (SRAM).
Следующие ссылки включены в настоящий документ посредством ссылки, как если бы они были воспроизведены полностью:
Хотя в настоящем изобретении было предоставлено несколько вариантов осуществления, следует понимать, что раскрытые системы и способы могут быть воплощены во многих других конкретных формах без отступления от сущности или объема настоящего изобретения. Настоящие примеры следует рассматривать как иллюстративные, а не как ограничительные, и задача не ограничиваться приведенными здесь деталями. Например, различные элементы или компоненты могут быть объединены или интегрированы в другую систему, или определенные функции могут быть опущены или не реализованы.
Дополнительно, способы, системы, подсистемы и способы, описанные и проиллюстрированные в различных вариантах осуществления как отдельные или отдельные, могут быть объединены или интегрированы с другими системами, модулями, технологиями или способами без отклонения от объема настоящего изобретения. Другие элементы, показанные или обсуждаемые как связанные или непосредственно связанные или взаимодействующие друг с другом, могут быть косвенно связаны или взаимодействовать через некоторый интерфейс, устройство или промежуточный компонент, электрически, механически или иным образом. Другие примеры изменений, замен и модификаций могут быть установлены специалистом в данной области техники и могут быть сделаны без отступления от сущности и объема, раскрытых в данном документе.
Claims (51)
1. Способ декодирования видео, содержащий:
приём битового потока, включающего в себя первый флаг, второй флаг и элемент синтаксиса;
определение, в соответствии с первым флагом, использования пространственно изменяющегося преобразования (SVT) для остаточного блока;
определение, в соответствии со вторым флагом, SVT типа для остаточного блока, в котором SVT тип является либо SVT-вертикальным (V) типом, либо SVT-горизонтальным (H) типом, в котором SVT-V тип указывает, что первая ширина блока преобразования остаточного блока меньше второй ширины остаточного блока и что первая высота блока преобразования имеет тот же размер, что и вторая высота остаточного блока, и в котором SVT-H тип указывает, что первая ширина имеет тот же размер, что и вторая ширина, и что первая высота меньше второй высоты;
определение, в соответствии с элементом синтаксиса, позиции блока преобразования блока преобразования;
определение типа преобразования блока преобразования в соответствии с SVT типом и позицией блока преобразования из справочной таблицы;
синтаксический анализ коэффициентов преобразования блока преобразования; и
восстановление остаточного блока на основании типа преобразования и коэффициентов преобразования.
2. Способ декодирования видео по п. 1, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном косинусном преобразовании (DCT)-8, и в котором вертикальное преобразование основано на дискретном синусном преобразовании (DST)-7.
3. Способ декодирования видео по п. 1, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
4. Способ декодирования видео по п. 1, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на дискретном косинусном преобразовании (DCT)-8.
5. Способ декодирования видео по п. 1, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
6. Способ кодирования, содержащий:
получение блока преобразования;
получение первого значения первого флага, который указывает использование пространственно изменяющегося преобразования (SVT) для остаточного блока, соответствующего блоку преобразования;
получение второго значения второго флага, который указывает SVT тип для остаточного блока, в котором SVT тип является либо SVT-вертикальным (V) типом, либо SVT-горизонтальным (H) типом, в котором SVT-V тип указывает, что первая ширина блока преобразования меньше второй ширины остаточного блока и первая высота блока преобразования имеет тот же размер, что и вторая высота остаточного блока, и в котором SVT-H тип указывает, что первая ширина имеет тот же размер, что и вторая ширина, и первая высота меньше второй высоты;
получение элемента синтаксиса для указания позиции блока преобразования блока преобразования, в котором тип преобразования блока преобразования соответствует позиции блока преобразования и второму значению;
получение коэффициентов преобразования блока преобразования;
включение первого значения, второго значения, элемента синтаксиса и коэффициентов преобразования в битовый поток; и
сохранение или отправка битового потока.
7. Способ по п. 6, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном косинусном преобразовании (DCT)-8, и в котором вертикальное преобразование основано на дискретном синусном преобразовании (DST)-7.
8. Способ по п. 6, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
9. Способ по п. 6, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на дискретном косинусном преобразовании (DCT)-8.
10. Способ по п. 6, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
11. Устройство для декодирования видео, содержащее:
приёмник, выполненный с возможностью принимать битовый поток, включающий в себя первый флаг, второй флаг и элемент синтаксиса;
по меньшей мере один процессор, соединённый с приёмником и выполненный с возможностью:
определять, в соответствии с первым флагом, использование пространственно изменяющегося преобразования (SVT) для остаточного блока;
определять, в соответствии со вторым флагом, SVT тип для остаточного блока, в котором SVT тип является либо SVT-вертикальным (V) типом, либо SVT-горизонтальным (H) типом, в котором SVT-V тип указывает, что первая ширина блока преобразования остаточного блока меньше второй ширины остаточного блока и первая высота блока преобразования имеет тот же размер, что и вторая высота остаточного блока, и в котором SVT-H тип указывает, что первая ширина имеет тот же размер, что и вторая ширина, и первая высота меньше второй высоты;
определять, в соответствии с элементом синтаксиса, позицию блока преобразования блока преобразования;
определять тип преобразования блока преобразования в соответствии с SVT типом и позицией блока преобразования из справочной таблицы;
проводить синтаксический анализ коэффициентов преобразования блока преобразования; и
осуществлять восстановление остаточного блока на основании типа преобразования и коэффициентов преобразования.
12. Устройство для декодирования видео по п. 11, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном косинусном преобразовании (DCT)-8, и в котором вертикальное преобразование основано на дискретном синусном преобразовании (DST)-7.
13. Устройство для декодирования видео по п. 11, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
14. Устройство для декодирования видео по п. 11, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на дискретном косинусном преобразовании (DCT)-8.
15. Устройство для декодирования видео по п. 11, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
16. Устройство для кодирования, содержащее:
постоянный машиночитаемый носитель данных, выполненный с возможностью хранения команд; и
процессор, соединённый с постоянным машиночитаемым носителем данных и выполненный с возможностью выполнения инструкций, обеспечивающих выполнение устройства с возможностью:
получать блок преобразования;
получать первое значение первого флага, который указывает использование пространственно изменяющегося преобразования (SVT) для остаточного блока, соответствующего блоку преобразования;
получать второе значение второго флага, который указывает SVT тип для остаточного блока, в котором SVT тип является либо SVT-вертикальным (V) типом, либо SVT-горизонтальным (H) типом, в котором SVT-V тип указывает, что первая ширина блока преобразования меньше второй ширины остаточного блока и первая высота блока преобразования имеет тот же размер, что и вторая высота остаточного блока, и в котором SVT-H тип указывает, что первая ширина имеет тот же размер, что и вторая ширина, и первая высота меньше второй высоты;
получать элемент синтаксиса для указания позиции блока преобразования блока преобразования, в котором тип преобразования блока преобразования соответствует позиции блока преобразования и второму значению;
получать коэффициенты преобразования блока преобразования;
включать первое значение, второе значение, элемент синтаксиса и коэффициенты преобразования в битовый поток; и
сохранять или отправлять битовый поток.
17. Устройство по п. 16, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном косинусном преобразовании (DCT)-8, и в котором вертикальное преобразование основано на дискретном синусном преобразовании (DST)-7.
18. Устройство по п. 16, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-V типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
19. Устройство по п. 16, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую верхний левый угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на дискретном косинусном преобразовании (DCT)-8.
20. Устройство по п. 16, в котором тип преобразования указывает горизонтальное преобразование и вертикальное преобразование для блока преобразования, в котором SVT тип является SVT-H типом, в котором позиция блока преобразования представляет собой позицию, охватывающую правый нижний угол остаточного блока, в котором горизонтальное преобразование основано на дискретном синусном преобразовании (DST)-7, и в котором вертикальное преобразование основано на DST-7.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/678,738 | 2018-05-31 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020142951A Division RU2781213C2 (ru) | 2018-05-31 | 2019-05-28 | Пространственно изменяющееся преобразование с типом адаптивного преобразования |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2023118134A RU2023118134A (ru) | 2023-08-02 |
RU2819359C2 true RU2819359C2 (ru) | 2024-05-17 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2493669C1 (ru) * | 2009-10-28 | 2013-09-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для кодирования остаточного блока, способ и устройство для декодирования остаточного блока |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2493669C1 (ru) * | 2009-10-28 | 2013-09-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для кодирования остаточного блока, способ и устройство для декодирования остаточного блока |
Non-Patent Citations (1)
Title |
---|
ALSHIN A. et al. Description of SDR, HDR and 360 video coding technology proposal by Samsung, Huawei, GoPro, and HiSilicon - mobile application scenario, Joint Video Exploration Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-J0024, 10th Meeting: San Diego, 10-20 April 2018. CIXUN ZHANG et al. Video coding using Variable Block-Size Spatially Varying Transforms, ACOUSTICS, SPEECH AND SIGNAL PROCESSING, ICASSP, IEEE, Piscataway, 2009. V. LORCY et al. EE2: Adaptive Primary Transform improvement, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-D0065, 4th Meeting: Chengdu, 15-21 October 2016. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7233565B2 (ja) | ビデオ処理におけるマルチパラメータ適応ループフィルタリング | |
KR102656221B1 (ko) | 적응적 변환 타입의 공간 가변 변환 | |
EP3566454B1 (en) | Noise suppression filter | |
US20230007246A1 (en) | External attention in neural network-based video coding | |
KR20210107131A (ko) | 이미지 예측 방법, 장치 및 시스템, 디바이스 및 저장 매체 | |
CN114915782A (zh) | 一种编码方法、解码方法及设备 | |
RU2819359C2 (ru) | Пространственно изменяющееся преобразование с типом адаптивного преобразования | |
RU2799905C2 (ru) | Пространственно изменяющееся преобразование с типом адаптивного преобразования | |
RU2781213C2 (ru) | Пространственно изменяющееся преобразование с типом адаптивного преобразования | |
CN118044184A (zh) | 用于执行组合帧间预测和帧内预测的方法和系统 | |
WO2024078635A1 (en) | Down-sampling methods and ratios for super-resolution based video coding | |
US20240137517A1 (en) | Super Resolution Position and Network Structure | |
RU2815175C2 (ru) | Составление списка наиболее вероятных режимов для матричного внутрикадрового предсказания | |
RU2815738C2 (ru) | Определение режима кодирования цветности на основе внутрикадрового предсказания на основе матрицы | |
WO2022218280A1 (en) | Transforms and sign prediction | |
WO2023274406A1 (en) | Super resolution upsampling and downsampling | |
WO2024183007A1 (zh) | 视频编解码方法、装置、设备、系统、及存储介质 | |
WO2023274391A1 (en) | Super resolution downsampling | |
TW202404370A (zh) | 解碼方法、編碼方法、解碼器、編碼器、電子設備、電腦可讀儲存媒介、電腦程式產品以及碼流 |