RU2800680C1 - Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него - Google Patents
Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него Download PDFInfo
- Publication number
- RU2800680C1 RU2800680C1 RU2022118185A RU2022118185A RU2800680C1 RU 2800680 C1 RU2800680 C1 RU 2800680C1 RU 2022118185 A RU2022118185 A RU 2022118185A RU 2022118185 A RU2022118185 A RU 2022118185A RU 2800680 C1 RU2800680 C1 RU 2800680C1
- Authority
- RU
- Russia
- Prior art keywords
- transform
- target block
- block
- index
- transform coefficients
- Prior art date
Links
Images
Abstract
Изобретение относится к средствам для кодирования и декодирования изображений. Технический результат заключается в повышении эффективности кодирования. Получают остаточную информацию для целевого блока из битового потока. Получают коэффициенты преобразования целевого блока на основе остаточной информации. Сканируют коэффициенты преобразования с (R+1)-го по N-ый среди коэффициентов преобразования целевого блока. Получают индекс неразделимого преобразования для целевого блока на основе сканирования коэффициентов преобразования с (R+1)-го по N-ый. Получают остаточные дискретные отсчеты целевого блока на основе обратного преобразования для коэффициентов преобразования целевого блока, причем обратное преобразование основывается на индексе неразделимого преобразования. Формируют восстановленный кадр на основе остаточных дискретных отсчетов. Применяют фильтрацию устранения блочности к восстановленному кадру. В качестве значения индекса неразделимого преобразования получают 0, когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с (R+1)-го по N-ый. 3 н. и 10 з.п. ф-лы, 18 ил., 5 табл.
Description
Область техники
[0001] Настоящее изобретение относится к методике кодирования видео и, в частности, к способу декодирования видео и устройству для него в соответствии с неразделимым вторичным преобразованием в системе кодирования видео.
Предшествующий уровень техники
[0002] В различных областях растут потребности в высококачественных изображениях высокого разрешения, таких как изображения Высокой Четкости (HD) и изображения Сверхвысокой Четкости (UHD). Поскольку данные изображения обладают высоким разрешением и высоким качеством, то объем информации или количество битов, которые должны быть переданы, растет по отношению к унаследованным данным изображения. Вследствие этого, когда данные изображения передаются с использованием носителя информации, такого как обычная проводная/беспроводная широкополосная линия, или данные изображения сохраняются с использованием существующего запоминающего носителя информации, затраты на их передачу или затраты на их хранение увеличиваются.
[0003] Соответственно, существует потребность в высокоэффективной методике сжатия изображения эффективной передачи, хранения и воспроизведения информации изображения с высоким разрешением и высоким качеством.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Настоящее изобретение предоставляет способ и устройство для улучшения эффективности кодирования видео.
[0005] Настоящее изобретение также предоставляет способ декодирования видео и устройство для применения NSST для целевого блока.
[0006] Настоящее изобретение также предоставляет способ декодирования видео и устройство для извлечения диапазона индекса NSST на основе конкретного условия целевого блока.
[0007] Настоящее изобретение также предоставляет способ декодирования видео и устройство для определения, кодировать ли индекс NSST на основе коэффициента преобразования целевого блока.
[0008] В соответствии с вариантом осуществления настоящего изобретения, предоставляется способ декодирования видео, который выполняется устройством декодирования. Способ включает в себя этапы, на которых: извлекают коэффициенты преобразования целевого блока из битового потока; извлекают индекс Неразделимого Вторичного Преобразования (NSST) для целевого блока; извлекают остаточные дискретные отсчеты целевого блока посредством выполнения обратного преобразования для коэффициентов преобразования целевого блока на основе индекса NSST; и формируют восстановленный кадр (картинку) на основе остаточных дискретных отсчетов.
[0009] В соответствии с другим вариантом осуществления настоящего изобретения, предоставляется устройство декодирования, выполняющее декодирование видео. Устройство декодирования включает в себя энтропийный декодер для извлечения коэффициентов преобразования целевого блока из битового потока и извлечения индекса Неразделимого Вторичного Преобразования (NSST) для целевого блока; обратный преобразователь для извлечения остаточных дискретных отсчетов целевого блока посредством выполнения обратного преобразования для коэффициентов преобразования целевого блока на основе индекса NSST; и сумматор для формирования восстановленного кадра на основе остаточных дискретных отсчетов.
[0010] В соответствии с еще одним другим вариантом осуществления настоящего изобретения, предоставляется способ кодирования видео, который выполняется устройством кодирования. Способ включает в себя этапы, на которых: извлекают остаточные дискретные отсчеты целевого блока; извлекают коэффициенты преобразования целевого блока посредством выполнения преобразования для остаточных дискретных отсчетов; определяют, кодировать ли индекс Неразделимого Вторичного Преобразования (NSST) для коэффициентов преобразования; и кодируют информацию для коэффициентов преобразования, при этом этап, на котором определяют, кодировать ли индекс NSST, включает в себя этапы, на которых: сканируют коэффициенты преобразования с R+1-ого по N-ый среди коэффициентов преобразования целевого блока; и когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с R+1-ого по N-ый, определяют не кодировать индекс NSST, и при этом N является количеством дискретных отсчетов верхней левой целевой области, а R является приведенным коэффициентом, и при этом R меньше N.
[0011] В соответствии с еще одним другим вариантом осуществления настоящего изобретения, предоставляется устройство кодирования видео. Устройство кодирования включает в себя сумматор для извлечения остаточных дискретных отсчетов целевого блока; преобразователь для извлечения коэффициентов преобразования целевого блока посредством выполнения преобразования для остаточных дискретных отсчетов; определения, кодировать ли индекс Неразделимого Вторичного Преобразования (NSST) для коэффициентов преобразования; и энтропийный кодер для кодирования информации для коэффициентов преобразования, при этом энтропийный кодер сканирует коэффициенты преобразования с R+1-ого по N-ый среди коэффициентов преобразования целевого блока; и когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с R+1-ого по N-ый, определяет не кодировать индекс NSST, и при этом N является количеством дискретных отсчетов верхней левой целевой области, а R является приведенным коэффициентом, и при этом R меньше N.
[0012] В соответствии с настоящим изобретением, диапазон индексов NSST может быть извлечен на основе конкретного условия целевого блока, и посредством этого, количество битов для индекса NSST может быть уменьшено, и соответственно, может быть повышена общая скорость кодирования.
[0013] В соответствии с настоящим изобретением, передача синтаксического элемента для индекса NSST может быть определена на основе коэффициентов преобразования для целевого блока, и посредством этого, количество битов для индекса NSST может быть уменьшено, и соответственно, может быть повышена общая скорость кодирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] Фиг. 1 является принципиальной схемой, иллюстрирующей конфигурацию устройства кодирования видео, к которому применимо настоящее изобретение.
[0015] Фиг. 2 иллюстрирует пример способа кодирования видео, который выполняется устройством кодирования.
[0016] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию устройства декодирования видео, к которому применимо настоящее изобретение.
[0017] Фиг. 4 иллюстрирует пример способа декодирования видео, который выполняется устройством декодирования.
[0018] Фиг. 5 схематично иллюстрирует схему множественных преобразований в соответствии с настоящим изобретением.
[0019] Фиг. 6 иллюстрирует 65 режимов внутрикадрового направления у направления предсказания.
[0020] Фиг. 7a и Фиг. 7b являются блок-схемами, иллюстрирующими процесс кодирования коэффициентов преобразования в соответствии с вариантом осуществления.
[0021] Фиг. 8 является схемой для описания массива коэффициентов преобразования на основе целевого блока в соответствии с вариантом осуществления настоящего изобретения.
[0022] Фиг. 9 иллюстрирует пример сканирования коэффициентов преобразования с R+1 по N.
[0023] Фиг. 10a и Фиг. 10b являются блок-схемами, иллюстрирующими процесс кодирования индекса NSST в соответствии с вариантом осуществления.
[0024] Фиг. 11 иллюстрирует пример определения, кодируется ли индекс NSST.
[0025] Фиг. 12 иллюстрирует пример сканирования коэффициентов преобразования с R+1 по N для всех компонентов целевого блока.
[0026] Фиг. 13 схематично иллюстрирует способ кодирования видео посредством устройства кодирования в соответствии с настоящим изобретением.
[0027] Фиг. 14 схематично иллюстрирует устройство кодирования, выполняющее способ кодирования видео в соответствии с настоящим изобретением.
[0028] Фиг. 15 схематично иллюстрирует способ декодирования видео посредством устройства декодирования в соответствии с настоящим изобретением.
[0029] Фиг. 16 схематично иллюстрирует устройство декодирования, выполняющее способ декодирования в соответствии с настоящим изобретением.
ОПИСАНИЕ ПРИМЕРНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0030] Настоящее изобретение может быть изменено в различных формах, и его конкретные варианты осуществления будут описаны и проиллюстрированы на чертежах. Однако, варианты осуществления не предназначены для ограничения изобретения. Понятия, которые используются в нижеследующем описании, используются просто для описания конкретных вариантов осуществления, а не предназначены для ограничения изобретения. Выражение единственного числа включает в себя выражение множественного числа, при условии, что оно четко не читается по-другому. Понятия, такие как «включать в себя» и «обладать» предназначены для указания того, что присутствуют признаки, числа, этапы, операции, элементы, компоненты или их сочетания, которые используются в нижеследующем описании, и таким образом следует понимать, что не исключается возможность существования или добавления одного или нескольких отличных признаков, чисел, этапов, операций, элементов, компонентов или их сочетаний.
[0031] Между тем, элементы на чертежах, описанных в изобретении, независимо нарисованы для удобства объяснения разных конкретных функций, и это не означает, что элементы воплощаются посредством независимого аппаратного обеспечения или независимого программного обеспечения. Например, два или несколько элементов из элементов могут быть объединены, чтобы формировать единый элемент, или один элемент может быть разделен на множество элементов. Варианты осуществления, в которых элементы объединяются и/или разделяются принадлежат к изобретению, не отступая от концепции изобретения.
[0032] Далее, варианты осуществления настоящего изобретения будут описаны подробно при обращении к сопроводительным чертежам. В дополнение, аналогичные номера позиций используются для указания аналогичных элементов на всех чертежах, и одни и те же описания для аналогичных элементов будут опущены.
[0033] Между тем, настоящее изобретение относится к кодированию видео/изображения. Например, способ(ы)/вариант(ы) осуществления, раскрытый в настоящем изобретении, может быть применен к способу, который раскрывается в стандарте универсального кодирования видео (VVC) или стандарте кодирования видео/изображения следующего поколения.
[0034] В настоящем техническом описании в целом кадр означает единицу, представляющую собой изображение в конкретное время, слайс является единицей, которая составляет часть кадра. Одна кадр может быть составлена из множества слайсов, и понятия кадр и слайс могут быть смешаны друг с другом, как того требует случай.
[0035] Пиксель или элемент изображения означает минимальную единицу, составляющую один кадр (или изображение). Кроме того, «отсчет» может быть использован в качестве понятия, соответствующего пикселю. Дискретный отсчет может в целом представлять собой пиксель или значение пикселя, может представлять собой только пиксель (значение пикселя) компонента цветности, или может представлять собой только пиксель (значение пикселя) компонента цветности.
[0036] Единица указывает базовую единицу обработки изображения. Единица может включать в себя по меньшей мере одно из конкретной области и информации, связанной с областью. Необязательно, единица может быть смешана с понятиями, такими как блок, область или аналогичное. В типичном случае, M×N блок может представлять собой набор из дискретных отсчетов или коэффициентов преобразования, размещенных в M столбцах и N строках.
[0037] Фиг. 1 является принципиальной схемой, иллюстрирующей конфигурацию устройства кодирования видео, к которому применимо настоящее изобретение.
[0038] Обращаясь к Фиг. 1, устройство (100) кодирования видео может включать в себя средство (105) разбиения кадра, средство (110) предсказания, процессор (120) остатка, энтропийный кодер (130), сумматор (140), фильтр (150) и память (160). Процессор (120) остатка может включать в себя вычитатель (121), преобразователь (122), квантователь (123), средство (124) переупорядочивания, обратный квантователь (125), обратный преобразователь (126).
[0039] Средство (105) разбиения кадра может дробить входной кадр на по меньшей мере одну единицу обработки.
[0040] В примере, единица обработки может упоминаться как единица кодирования (CU). В данном случае, единица кодирования может быть рекурсивно раздроблена от наибольшей единицы кодирования (LCU) в соответствии со структурой квадродерева бинарного дерева (QTBT). Например, одна единица кодирования может быть раздроблена на множество единиц кодирования большей глубины на основе структуры квадродерева и/или структуры бинарного дерева. В данном случае, например, сначала может быть применена структура квадродерева, а позже может быть применена структура бинарного дерева. В качестве альтернативы, сначала может быть применена структура бинарного дерева. Процедура кодирования в соответствии с настоящим изобретением может быть выполнена на основе итоговой единицы кодирования, которая далее не дробится. В данном случае, наибольшая единица кодирования может быть использована в качестве итоговой единицы кодирования на основе эффективности кодирования, или аналогичного, в зависимости от характеристик изображения, или единица кодирования может быть рекурсивно раздроблена на единицы кодирования большей глубины при необходимости и единица кодирования оптимального размера может быть использована в качестве итоговой единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру, такую как предсказание, преобразование и восстановление, которые будут описаны позже.
[0041] В другом пример, единица обработки может включать в себя единицу кодирования (CU), единицу предсказания (PU) или единицу преобразования (TU). Единица кодирования может быть раздроблена от наибольшей единицы кодирования (LCU) на единицы кодирования большей глубины в соответствии со структурой квадродерева. В данном случае, наибольшая единица кодирования может быть непосредственно использована в качестве итоговой единицы кодирования на основе эффективности кодирования, или аналогичного, в зависимости от характеристик изображения, или единица кодирования может быть рекурсивно раздроблена на единицы кодирования большей глубины при необходимости и единица кодирования оптимального размера может быть использована в качестве итоговой единицы кодирования. Когда устанавливается наименьшая единица кодирования (SCU), единица кодирования может не дробиться на единицы кодирования меньше наименьшей единицы кодирования. Здесь, итоговая единица кодирования относится к единице кодирования, которая разбивается или дробится на единицу предсказания или единицу преобразования. Единица предсказания является единицей, которая разбивается из единицы кодирования, и может быть единицей предсказания отсчета. Здесь, единица предсказания может быть разделена на субблоки. Единица преобразования может быть разделена из единицы кодирования в соответствии со структурой квадродерева и может быть единицей для извлечения коэффициента преобразования и/или единицей для извлечения остаточного сигнала из коэффициента преобразования. Далее, единица кодирования может упоминаться как блок кодирования (CB), единица предсказания может упоминаться как блок предсказания (PB), а единица преобразования может упоминаться как блок преобразования (TB). Блок предсказания или единица предсказания могут относиться к конкретной области в форме блока в кадре и включать в себя массив дискретных отсчетов предсказания. Также, блок преобразования или единица преобразования могут относиться к конкретной области в форме блока в кадре и включать в себя коэффициент преобразования или массив остаточных дискретных отсчетов.
[0042] Средство (110) предсказания может выполнять предсказание над целевым блоком обработки (далее, текущим блоком) и может формировать предсказанный блок, включающий в себя дискретные отсчеты предсказания для текущего блока. Единицей предсказания, которое выполняется в средство (110) предсказания, может быть блок кодирования или может быть блок преобразования или может быть блок предсказания.
[0043] Средство (110) предсказания может определять, применяется ли внутрикадровое (интра) предсказание или применяется ли межкадровое (интер) предсказание к текущему блоку. Например, средство (110) предсказания может определять, применяется ли внутрикадровое предсказание или межкадровое предсказание в единице CU.
[0044] В случае внутрикадрового предсказания, средство 110 предсказания может извлекать дискретный отсчет предсказания для текущего блока на основе опорного отсчета за пределами текущего блока в кадре, к которой принадлежит текущий блок (далее, текущая кадр). В данном случае, средство (110) предсказания может извлекать дискретный отсчет предсказания на основе усреднения или интерполяции соседних опорных дискретных отсчетов текущего блока цветности (случай (i)), или может извлекать дискретный отсчет предсказания на основе опорного отсчета, существующего в конкретном направлении (предсказания), как отсчета предсказания из соседних опорных дискретных отсчетов текущего блока (случай (ii)). Случай (i) может называться ненаправленным режимом или не-угловым режимом, а случай (ii) может называться направленным режимом или угловым режимом. При внутрикадровом предсказании, режимы предсказания могут включать в себя, в качестве примера, 33 направленных режима и по меньшей мере два ненаправленных режима. Ненаправленные режимы могут включать в себя режим DC и плоский режим. Средство (110) предсказания может определять режим предсказания, который должен быть применен к текущему блоку, посредством использования режима предсказания, который применяется к соседнему блоку.
[0045] В случае межкадрового предсказания, средство (110) предсказания может извлекать дискретный отсчет предсказания для текущего блока на основе отсчета, указанного вектором движения в опорном кадре. Средство (110) предсказания может извлекать дискретный отсчет предсказания для текущего блока посредством применения любого из следующих режимов: режима пропуска, режима слияния или режима предсказания вектора движения (MVP). В случае режима пропуска и режима слияния, средство 110 предсказания может использовать информацию о движении соседнего блока в качестве информации о движении текущего блока. В случае режима пропуска, в отличие от режима слияния, разность (остаток) между отсчетом предсказания и исходным отсчетом не передается. В случае режима MVP, вектор движения соседнего блока используется в качестве предсказателя вектора движения и таким образом используется в качестве предсказателя вектора движения текущего блока для извлечения вектора движения текущего блока.
[0046] В случае межкадрового предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающая в себя временной соседний блок, также может называться совместно-размещенным кадром (colPic). Информация о движении может включать в себя вектор движения и индекс опорного кадра. Информация, такая как информация о режиме предсказания, и информация о движении может быть (энтропийно) кодирована и затем выведена как форма битового потока.
[0047] Когда информация о движении временного соседнего блока используется в режиме пропуска и режиме слияния, наивысшая кадр в списке опорных кадров может быть использована в качестве опорного кадра. Опорные картинки, включенные в список опорных кадров, могут быть выровнены на основе разницы счетчика очередности кадров (POC) между текущим кадром и соответствующим опорным кадром. POC соответствует очередности демонстрации и может отличаться от очередности кодирования.
[0048] Вычитатель (121) формирует остаточный отсчет, который является разностью между исходным отсчетом и отсчетом предсказания. Если применяется режим пропуска, то остаточный дискретный отсчет может не формироваться, как описано выше.
[0049] Преобразователь (122) преобразует остаточные дискретные отсчеты в единице блока преобразования, чтобы сформировать коэффициент преобразования. Преобразователь (122) может выполнять преобразование на основе размера соответствующего блока преобразования и режима предсказания, который применяется к блоку кодирования или блоку предсказания, который пространственно перекрывается с блоком преобразования. Например, остаточные дискретные отсчеты могут быть преобразованы с использованием ядра преобразования дискретного синусного преобразования (DST), если внутрикадровое предсказание применяется к блоку кодирования или блоку предсказания, который перекрывается с блоком преобразования, и блок преобразования является 4×4 остаточным массивом, и преобразуется с использованием ядра преобразования дискретного косинусного преобразования (DCT) в других случаях.
[0050] Квантователь (123) может квантовать коэффициенты преобразования, чтобы формировать квантованные коэффициенты преобразования.
[0051] Средство (124) переупорядочивания осуществляет переупорядочивание квантованных коэффициентов преобразования. Средство (124) переупорядочивания может осуществлять переупорядочивание квантованных коэффициентов преобразования в форме блока в одномерный вектор посредством способа сканирования коэффициентов. Несмотря на то, что средство (124) переупорядочивания описано в качестве отдельного компонента, средство (124) переупорядочивания может быть частью квантователя (123).
[0052] Энтропийный кодер (130) может выполнять энтропийное кодирование над квантованными коэффициентами преобразования. Энтропийное кодирование может включать в себя способ кодирования, например, экспоненциальное кодирование Голомба, контекстно-зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC), контекстно-зависимое адаптивное бинарное арифметическое кодирование (CABAC) и аналогичное. Энтропийный кодер (130) может выполнять кодирование вместе или раздельно над информацией (например, значением синтаксического элемента или аналогичным), которая требуется для восстановления видео, в дополнение к квантованным коэффициентам преобразования. Энтропийно кодированная информация может быть передана или сохранена в единицах слоя абстракции сети (NAL) в форме битового потока.
[0053] Обратный квантователь (125) обратно квантует значения (коэффициенты преобразования), квантованные квантователем (123), а обратный преобразователь (126) обратно преобразует значения, обратно квантованные обратным квантователем (125), чтобы сформировать остаточный отсчет.
[0054] Сумматор (140) складывает остаточный дискретный отсчет с отсчетом предсказания, чтобы восстановить кадр. Остаточный дискретный отсчет может быть сложен с отсчетом предсказания в единицах блока, чтобы сформировать восстановленный блок. Несмотря на то, что сумматор (140) описан в качестве отдельного компонента, сумматор (140) может быть частью средства (110) предсказания. Между тем, сумматор (140) может упоминаться как средство восстановления или генератор восстановленного блока.
[0055] Фильтр (150) может применять фильтрацию устранения блочности и/или адаптивное смещение отсчета. Адаптивное смещение отсчета может быть применено в единицах отсчета после того, как завершается фильтрация устранения блочности. Фильтр (150) может применять адаптивный контурный фильтр (ALF) к восстановленному кадру. ALF может быть применен к восстановленному кадру, к которой была применена фильтрация устранения блочности и/или адаптивное смещение отсчета.
[0056] Память (160) может хранить восстановленный кадр (декодированный кадр) или информацию, необходимую для кодирования/декодирования. Здесь, восстановленный кадр может быть восстановленным кадром отфильтрованной фильтром (150). Сохраненный восстановленный кадр может быть использован в качестве опорного кадра для (межкадрового) предсказания других кадров. Например, память (160) может хранить (опорные) кадры, используемые для межкадрового предсказания. Здесь, кадры, используемые для межкадрового предсказания, могут быть обозначены в соответствии с набором опорных кадров или списком опорных кадров.
[0057] Фиг. 2 иллюстрирует пример способа кодирования видео, который выполняется устройством кодирования видео. Обращаясь к Фиг. 2, способ кодирования видео может включать в себя процедуры внутрикадрового/межкадрового предсказания, преобразования, квантования и энтропийного кодирования. Например, блок предсказания текущего блока может быть сформирован посредством внутрикадрового/межкадрового предсказания и остаточный блок текущего блока может быть сформирован посредством вычитания между входным блоком текущего блока и блоком предсказания. Позже посредством преобразования для остаточного блока, может быть сформирован блок коэффициентов, т.е. коэффициенты преобразования для текущего блока. Коэффициенты преобразования могут быть квантованы или энтропийно кодированы и затем сохранены в битовом потоке.
[0058] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию устройства декодирования видео, к которому применимо настоящее изобретение.
[0059] Обращаясь к Фиг. 3, устройство 300 декодирования видео включает в себя энтропийный декодер 310, процессор 320 остатка, средство 330 предсказания, сумматор 340, фильтр 350 и память 360. Здесь, процессор 320 остатка может включать в себя средство 321 переупорядочивания, обратный квантователь 322 и обратный преобразователь 323.
[0060] Когда вводится битовый поток, включающий в себя видеоинформацию, устройство 300 декодирования видео может восстанавливать видео в соответствии с процессом, по которому видеоинформация обрабатывалась в устройстве кодирования видео.
[0061] Например, устройство 300 декодирования видео может выполнять декодирование видео с использованием единицы обработки, которая применяется в устройстве кодирования видео. Таким образом, единица обработки декодирования видео может быть единицей кодирования, например, или может быть единицей кодирования, единицей предсказания или единицей преобразования, в качестве другого примера. Единица кодирования может быть разбита в соответствии со структурой квадродерева и/или структурой бинарного дерева из наибольшей единицы кодирования.
[0062] Единица предсказания и единица преобразования могут быть дополнительно использованы в некоторых случаях, и в этом случае, блок предсказания является блоком, который извлекается или разбивается из единицы кодирования и может быть единицей предсказания отсчета. Здесь, единица предсказания может быть разделена на субблоки. Единица преобразования может быть разбита из единицы кодирования в соответствии со структурой квадродерева и может быть единицей, которая извлекает коэффициент преобразования, или единицей, которая извлекает остаточный сигнал из коэффициента преобразования.
[0063] Энтропийный декодер 310 может осуществлять разбор битового потока, чтобы выводить информацию, которая требуется для восстановления видео или восстановления кадра. Например, энтропийный декодер 310 может декодировать информацию в битовом потоке на основе способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC, CABAC или аналогичное, и может выводить значение синтаксического элемента, требуемое для восстановления видео, и квантованное значение коэффициента преобразования, касательно остатка.
[0064] В частности, способ энтропийного кодирования CABAC может принимать бин, соответствующий каждому синтаксическому элементу в битовом потоке, определять контекстную модель с использованием информации декодирования целевого синтаксического элемента и информации декодирования соседних и декодирования целевых блоков или информации символа / бинарного элемента (бина), декодированного на предыдущем этапе, предсказывать вероятность формирования бина в соответствии с определенной контекстной моделью и выполнять арифметическое декодирование бина, чтобы сформировать символ, соответствующий каждому значению синтаксического элемента. Здесь, способ энтропийного декодирования CABAC может обновлять контекстную модель с использованием информации символа/бина, декодированного для контекстной модели следующего символа/бина после определения контекстной модели.
[0065] Информация о предсказании из информации, декодированной в энтропийном декодере 310, может быть предоставлена средству 350 предсказания, а остаточные значения, т.е. квантованные коэффициенты преобразования, над которыми было выполнено энтропийное декодирование посредством энтропийного декодера 310, могут быть введены в средство 321 переупорядочивания.
[0066] Средство 321 переупорядочивания может переупорядочивать квантованные коэффициенты преобразования в форму двумерного блока. Средство 321 переупорядочивания может выполнять переупорядочивание, соответствующее сканированию коэффициентов, выполненному устройством кодирования. Несмотря на то, что средство 321 переупорядочивания описано в качестве отдельного компонента, средство 321 переупорядочивания может быть частью обратного квантователя 322.
[0067] Обратный квантователь 322 может осуществлять обратное квантование над квантованными коэффициентами преобразования на основе параметра (обратного) квантования, чтобы выводить коэффициент преобразования. В данном случае, информация для извлечения параметра квантования может быть просигнализирована от устройства кодирования.
[0068] Обратный преобразователь 323 может обратно преобразовывать коэффициенты преобразования, чтобы извлекать остаточные дискретные отсчеты.
[0069] Средство 330 предсказания может выполнять предсказание по текущему блоку и может формировать предсказанный блок, включающий в себя дискретные отсчеты предсказания для текущего блока. Единицей предсказания, которое выполняется в средстве 330 предсказания, может быть блок кодирования или может быть блок преобразования или может быть блок предсказания.
[0070] Средство 330 предсказания может определять, применять ли внутрикадровое предсказание или межкадровое предсказание на основе информации о предсказании. В данном случае, единица для определения того, какое одно из внутрикадрового предсказания и межкадрового предсказания будет использовано, может отличаться от единицы для формирования отсчета предсказания. В дополнение, единица для формирования отсчета предсказания может также быть разной при межкадровом предсказании и внутрикадровом предсказании. Например, какое одно из межкадрового предсказания и внутрикадрового предсказания будет применено, может быть определено в единице CU. Кроме того, например, при межкадровом предсказании, дискретный отсчет предсказания может быть сформирован посредством определения режима предсказания в единице PU, а при внутрикадровом предсказании, дискретный отсчет предсказания может быть сформирован в единице TU посредством определения режима предсказания в единице PU.
[0071] В случае внутрикадрового предсказания, средство 330 предсказания может извлекать дискретный отсчет предсказания для текущего блока на основе соседнего опорного отсчета в текущем кадре. Средство 330 предсказания может извлекать дискретный отсчет предсказания для текущего блока посредством применения направленного режима или ненаправленного режима на основе соседнего опорного отсчета текущего блока. В данном случае, режим предсказания, который должен быть применен к текущему блоку, может быть определен посредством использования режима внутрикадрового предсказания соседнего блока.
[0072] В случае межкадрового предсказания, средство 330 предсказания может извлекать дискретный отсчет предсказания для текущего блока на основе отсчета, указанного в опорном кадре, в соответствии с вектором движения. Средство 330 предсказания может извлекать дискретный отсчет предсказания для текущего блока с использованием одного из режимов: режима пропуска, режима слияния и режима MVP. Здесь, информация о движении, которая требуется для межкадрового предсказания текущего блока, предоставляется устройством кодирования видео, например, вектор движения и информация касательно индекса опорного кадра, могут быть получены или извлечены на основе информации о предсказании.
[0073] В режиме пропуска и режиме слияния, информация о движении соседнего блока может быть использована в качестве информации о движении текущего блока. Здесь, соседний блок может включать в себя пространственный соседний блок и временной соседний блок.
[0074] Средство 330 предсказания может создавать список кандидатов на слияние с использованием информации о движении доступных соседних блоков и использовать информацию, указанную индексом слияния в списке кандидатов на слияние в качестве вектора движения текущего блока. Индекс слияния может быть просигнализирован устройством кодирования. Информация о движении может включать в себя вектор движения и опорный кадр. Когда информация о движении временного соседнего блока используется в режиме пропуска и режиме слияния, наивысшая кадр в списке опорных кадров может быть использована в качестве опорного кадра.
[0075] В случае режима пропуска, разность (остаток) между отсчетом предсказания и исходным отсчетом не передается, в отличие от режима слияния.
[0076] В случае режима MVP, вектор движения текущего блока может быть извлечен с использованием вектора движения соседнего блока в качестве предсказателя вектора движения. Здесь, соседний блок может включать в себя пространственный соседний блок и временной соседний блок.
[0077] Когда применяется режим слияния, например, список кандидатов на слияние может быть сформирован с использованием вектора движения восстановленного пространственного соседнего блока и/или вектора движения, соответствующего Col блоку, который является временным соседним блоком. Вектор движения у блока-кандидата, выбранного из списка кандидатов на слияние, используется в качестве вектора движения текущего блока в режиме слияния. Вышеупомянутая информация о предсказании может включать в себя индекс слияния, указывающий блок-кандидат с наилучшим вектором движения, выбранным из блоков-кандидатов, включенных в список кандидатов на слияние. Здесь, средство 330 предсказания может извлекать вектор движения текущего блока с использованием индекса слияния.
[0078] Когда применяется режим MVP (Предсказание Вектора Движения), в качестве другого примера, список кандидатов на предсказателя вектора движения может быть сформирован с использованием вектора движения восстановленного пространственного соседнего блока и/или вектора движения, соответствующего Col блоку, который является временным соседним блоком. Т.е. вектор движения восстановленного пространственного соседнего блока и/или вектор движения, соответствующий Col блоку, который является временным соседним блоком, могут быть использованы в качестве кандидатов на вектор движения. Вышеупомянутая информация о предсказании может включать в себя индекс вектора движения предсказания, указывающий наилучший вектор движения, выбранный из кандидатов на вектор движения, включенных в список. Здесь, средство 330 предсказания может выбирать вектор движения предсказания текущего блока из кандидатов на вектор движения, включенных в список кандидатов на вектор движения, с использованием индекса вектора движения. Средство предсказания устройства кодирования может получать разность векторов движения (MVD) между вектором движения текущего блока и предсказателем вектора движения, кодировать MVD и выводить кодированную MVD в форме битового потока. Т.е. MVD может быть получена посредством вычитания предсказателя вектора движения из вектора движения текущего блока. Здесь, средство 330 предсказания может получать вектор движения, включенный в информацию о предсказании, и извлекать вектор движения текущего блока посредством сложения разности вектора движения с предсказателем вектора движения. В дополнение, средство предсказания может получать или извлекать индекс опорного кадра, указывающий опорный кадр, из вышеупомянутой информации о предсказании.
[0079] Сумматор 340 может складывать остаточный дискретный отсчет с отсчетом предсказания, чтобы восстановить текущей блок или текущий кадр. Сумматор 340 может восстанавливать текущий кадр посредством сложения остаточного отсчета с отсчетом предсказания в единицах блока. Когда применяется режим пропуска, остаток не передается и таким образом дискретный отсчет предсказания может становиться восстановленным отсчетом. Несмотря на то, что сумматор 340 описан в качестве отдельного компонента, сумматор 340 может быть частью средства 330 предсказания. Между тем, сумматор 340 может упоминаться как средство восстановления или генератор восстановленного блока.
[0080] Фильтр 350 применяет фильтрацию устранения блочности, адаптивное смещение отсчета и/или ALF к восстановленному кадру. Здесь, адаптивное смещение отсчета может быть применено в единицах отсчета после фильтрации устранения блочности. ALF может быть применен после фильтрации устранения блочности и/или применения адаптивного смещения отсчета.
[0081] Память 360 может хранить восстановленный кадр (декодированный кадр) или информацию, необходимую для декодирования. Здесь, восстановленный кадр может быть восстановленным кадром, отфильтрованной посредством фильтра 350. Например, память 360 может хранить кадры, используемые для межкадрового предсказания. Здесь, кадры, используемые для межкадрового предсказания, могут быть обозначены в соответствии с набором опорных кадров или списком опорных кадров. Восстановленный кадр может быть использована в качестве опорного кадра для других кадров. Память 360 может выводить восстановленные кадры в очередности вывода.
[0082] Фиг. 4 иллюстрирует пример способа декодирования видео, который выполняется устройством декодирования. Обращаясь к Фиг. 4, способ декодирования видео может включать в себя процедуры энтропийного декодирования, обратного квантования, обратного преобразования и внутрикадрового/межкадрового предсказания. Например, в устройстве декодирования могут быть выполнены обратные процедуры способа кодирования. В частности, посредством энтропийного декодирования для битового потока, могут быть получены квантованные коэффициенты преобразования, а посредством процедуры обратного квантования для квантованных коэффициентов преобразования может быть получен блок коэффициентов текущего блока, т.е. коэффициенты преобразования. Посредством обратного преобразования для коэффициентов преобразования, может быть извлечен остаточный блок текущего блока, а посредством суммирования блока предсказания текущего блока и остаточного блока, извлеченного посредством внутрикадрового/межкадрового предсказания, может быть извлечен восстановленный блок текущего блока.
[0083] Между тем, посредством преобразования, описанного выше, могут быть извлечены коэффициенты преобразования более низкой частоты для остаточного блока текущего блока, и в конце остаточного блока может быть извлечена нулевая задняя часть.
[0084] В частности, преобразование может включать в себя два типа основных процедур, и основные процедуры могут включать в себя базовое преобразование и вторичное преобразование. Преобразование, включающее в себя базовое преобразование и вторичное преобразование, может быть представлено в качестве схемы множественных преобразований.
[0085] Фиг. 5 схематично иллюстрирует схему множественных преобразований в соответствии с настоящим изобретением.
[0086] Обращаясь к Фиг. 5, преобразователь может соответствовать преобразователю устройства кодирования на Фиг. 1, а обратный преобразователь может соответствовать обратному преобразователю устройства кодирования на Фиг. 1 или обратному преобразователю устройства декодирования на Фиг. 3.
[0087] Преобразователь может извлекать (первичные) коэффициенты преобразования посредством выполнения первичного преобразования на основе остаточных дискретных отсчетов (массив остаточных дискретных отсчетов) в остаточном блоке (S510). В данном случае, первичное преобразование может включать в себя Адаптивные Множественные Базовые Преобразования (AMT). Адаптивные множественные базовые преобразования также могут быть представлены как Несколько Наборов Преобразований (MTS).
[0088] Адаптивные множественные базовые преобразования могут включать в себя способ выполнения преобразования, дополнительно использующего дискретное косинусное преобразование (DCT) Типа 2, дискретное синусное преобразование (DST) Типа 7, DCT Типа 8 и/или DST Типа 1. Т.е. адаптивные множественные базовые преобразования могут указывать способ преобразования в виде преобразования остаточного сигнала (или остаточного блока) пространственной области в коэффициенты преобразования (или первичные коэффициенты преобразования) частотной области на основе множества ядер преобразования, которые выбираются из DCT Типа 2, DST Типа 7, DCT Типа 8 и DST Типа 1. В данном случае, первичные коэффициенты преобразования могут называться временными коэффициентами преобразования с точки зрения преобразователя.
[0089] Другими словами, в случае, когда применяется существующий способ преобразования, коэффициенты преобразования могут быть сформированы посредством применения преобразования из пространственной области для остаточного сигнала (или остаточного блока) в частотную область на основе DCT Типа 2. С другой стороны, в случае, когда применяются адаптивные множественные базовые преобразования, коэффициенты преобразования (или первичные коэффициенты преобразования) могут быть сформированы посредством применения преобразования из пространственной области для остаточного сигнала (или остаточного блока) в частотную область на основе DCT Типа 2, DST Типа 7, DCT Типа 8 и/или DST Типа 1. В данном случае, DCT Типа 2, DST Типа 7, DCT Типа 8 и DST Типа 1 могут называться типом преобразования, ядром преобразования или базой преобразования.
[0090] Для справки, типы преобразования DCT/DST могут быть определены на основе базисных функций. Базисные функции могут быть представлены следующим образом
[0091] [Таблица 1]
[0092] В случае, когда выполняются адаптивные множественные базовые преобразования, ядро вертикального преобразования и ядро горизонтального преобразования для целевого блока могут быть выбраны из ядер преобразования. Вертикальное преобразование для целевого блока может быть выполнено на основе ядра вертикального преобразования. Горизонтальное преобразование для целевого блока может быть выполнено на основе ядра горизонтального преобразования. В данном случае, горизонтальное преобразование может представлять собой преобразование для горизонтальных компонентов целевого блока. Вертикальное преобразование может представлять собой преобразование для вертикальных компонентов целевого блока. Ядро вертикального преобразования/ядро горизонтального преобразования может быть адаптивно определено на основе режима предсказания целевого блока (CU или субблока), охватывающего остаточный блок, и/или индекса преобразования, указывающего подмножество преобразований.
[0093] Например, адаптивные множественные базовые преобразования могут быть применены в случае, когда как ширина, так и высота целевого блока равны или меньше 64, и может быть определено на основе флага уровня CU, применяются ли адаптивные множественные базовые преобразования. В частности, в случае, когда флаг уровня CU является 0, может быть применен существующий способ преобразования, описанный выше. Т.е. в случае, когда флаг уровня CU является 0, может быть применено преобразование из пространственной области для остаточного сигнала (или остаточного блока) в частотную область на основе DCT Типа 2 и могут быть сформированы коэффициенты преобразования, и коэффициенты преобразования могут быть кодированы. Между тем, здесь, целевым блоком может быть CU. В случае, когда флаг уровня CU является 0, к целевому блоку могут быть применены адаптивные множественные базовые преобразования.
[0094] В дополнение, в случае блока яркости целевого блока, к которому применяются адаптивные множественные базовые преобразования, может быть просигнализировано два дополнительных флага, и на основе флагов может быть выбрано ядро вертикального преобразования и ядро горизонтального преобразования. Флаг для ядра вертикального преобразования может быть представлен в качестве флага вертикальных AMT, и AMT_TU_vertical_flag (или EMT_TU_vertical_flag) может представлять собой синтаксический элемент флага вертикальных AMT. Флаг для ядра горизонтального преобразования может быть представлен как флаг горизонтальных AMT, и AMT_TU_horizontal_flag (или EMT_TU_horizontal_flag) может представлять собой синтаксический элемент флага горизонтальных AMT. Флаг вертикальных AMT может указывать одно ядро-кандидата преобразования из ядер-кандидатов преобразования, включенных в подмножество преобразований для ядра вертикального преобразования, и ядро-кандидат преобразования, указанное флагом вертикальных AMT, может быть извлечено в качестве ядра вертикального преобразования для целевого блока. Кроме того, флаг горизонтальных AMT может указывать одно ядро-кандидата преобразования из ядер-кандидатов преобразования, включенных в подмножество преобразований для ядра горизонтального преобразования, и ядро-кандидат преобразования, указанное флагом горизонтальных AMT, может быть извлечено в качестве ядра горизонтального преобразования для целевого блока. Между тем флаг вертикальных AMT может быть представлен в качестве флага вертикального MTS, а флаг горизонтальных AMT может быть представлен в качестве флага горизонтального MTS.
[0095] Между тем, может быть предварительно сконфигурировано три подмножества преобразований, и на основе режима внутрикадрового предсказания, который применяется к текущему блоку, одно из подмножеств преобразований может быть извлечено в качестве подмножества преобразований для ядра вертикального преобразования. В дополнение, одно из подмножеств преобразований может быть извлечено в качестве подмножества преобразований для ядра горизонтального преобразования на основе режима внутрикадрового предсказания, который применяется к текущему блоку. Например, предварительно сконфигурированные подмножества преобразований могут быть извлечены, как представлено в следующей Таблице.
[0096] [Таблица 2]
Набор преобразований | Преобразования-кандидаты |
0 | DST-VII, DCT-VIII |
1 | DST-VII, DST-I |
2 | DST-VII, DCT-VIII |
[0097] Обращаясь к Таблице 2, подмножество преобразований, значение индекса которого является 0, может представлять собой подмножество преобразований, включающее в себя DST типа 7 и DCT типа 8 в качестве ядер-кандидатов преобразования. Подмножество преобразований, значение индекса которого соответствует 1, может представлять собой подмножество преобразований, включающее в себя DST типа 7 и DST типа 1 в качестве ядер-кандидатов преобразования. Подмножество преобразований, значение индекса которого соответствует 2, может представлять собой подмножество преобразований, включающее в себя DST типа 7 и DCT типа 8 в качестве ядер-кандидатов преобразования.
[0098] Подмножество преобразований для ядра вертикального преобразования и подмножество преобразований для ядра горизонтального преобразования, которые извлекаются на основе режима внутрикадрового предсказания, который применяется в целевом блоке, могут быть извлечены, как представлено в следующей Таблице
[0099] [Таблица 3]
Внутрикадровый режим |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
V | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
H | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 2 | 2 | 2 | 2 |
Внутрикадровый режим |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | |
V | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |
H | 2 | 2 | 2 | 2 | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |
Внутрикадровый режим |
35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |
V | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
H | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Внутрикадровый режим |
53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | ||||
V | 2 | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | ||||
H | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
[0100] Здесь, V представляет собой подмножество преобразований для ядра вертикального преобразования, а H представляет собой подмножество преобразований для ядра горизонтального преобразования.
[0101] В случае, когда значение флага AMT (или EMT_CU_flag) соответствует 1, как представлено в Таблице 3, подмножество преобразований для ядра вертикального преобразования и подмножество преобразований для ядра горизонтального преобразования может быть извлечено на основе режима внутрикадрового предсказания целевого блока. Позже, из ядер-кандидатов преобразований, включенных в подмножество преобразований для ядра вертикального преобразования, ядро-кандидат преобразования, указанное флагом вертикальных AMT целевого блока, может быть извлечено в качестве ядра вертикального преобразования целевого блока, и из ядер-кандидатов преобразования, включенных в подмножество преобразований для ядра горизонтального преобразования, ядро-кандидат преобразования, указанное флагом горизонтальных AMT целевого блока, может быть извлечено в качестве ядра горизонтального преобразования целевого блока. Между тем флаг AMT также может быть представлен как флаг MTS.
[0102] Для справки, например, режим внутрикадрового предсказания может включать в себя два ненаправленных (или не-угловых) режима внутрикадрового предсказания и 65 направленных (или угловых) режимов внутрикадрового предсказания. Ненаправленный режим внутрикадрового предсказания может включать в себя режим внутрикадрового предсказания № 0 (плоский) и DC режим внутрикадрового предсказания № 1. Направленные режимы внутрикадрового предсказания могут включать в себя шестьдесят пять режимов внутрикадрового предсказания с №2 по № 66. Однако они являются примерами, и настоящее изобретение может быть применено к случаю, когда количество режимов внутрикадрового предсказания является другим. Между тем в некоторых случаях, дополнительно может быть использован режим внутрикадрового предсказания № 67. Режим внутрикадрового предсказания №67 может представлять собой режим линейной модели (LM).
[0103] Фиг. 6 иллюстрирует 65 режимов внутрикадрового направления у направления предсказания.
[0104] Обращаясь к Фиг. 6, режимы могут быть разделены на режимы внутрикадрового предсказания с горизонтальной направленностью и режимы внутрикадрового предсказания с вертикальной направленностью на основе режима внутрикадрового предсказания № 34 с левым верхним диагональным направлением предсказания. На Фиг. 6, H и V означают горизонтальную направленность и вертикальную направленность, соответственно, и числа -32 ~ 32 указывают перемещения в 1/32 единицы по позиции сетки дискретных отсчетов. Режимы внутрикадрового предсказания с № 2 по № 33 обладают горизонтальной направленностью, а режимы внутрикадрового предсказания с № 34 по № 66 обладают вертикальной направленностью. Режим внутрикадрового предсказания № 18 и режим внутрикадрового предсказания № 50 указывают горизонтальный режим внутрикадрового предсказания и вертикальный режим внутрикадрового предсказания, соответственно. Режим внутрикадрового предсказания № 2 может называться влево вниз диагональным режимом внутрикадрового предсказания, режим внутрикадрового предсказания № 34 может называться влево вверх диагональным режимом внутрикадрового предсказания, и режим внутрикадрового предсказания № 66 может называться вправо вверх диагональным режимом внутрикадрового предсказания.
[0105] Преобразователь может выполнять вторичное преобразование на основе (первичных) коэффициентов преобразования и извлекать (вторичные) коэффициенты преобразования (этап, S520). Тогда как первичное преобразование является преобразованием из пространственной области в частотную область, вторичное преобразование может рассматриваться как преобразование из частотной области в частотную область. Вторичное преобразование может включать в себя неразделимое преобразование. В данном случае, вторичное преобразование может называться неразделимым вторичным преобразованием (NSST) или зависимым от режима неразделимым вторичным преобразованием (MDNSST). Неразделимое вторичное преобразование может представлять собой преобразование для формирования коэффициентов преобразования (или вторичных коэффициентов преобразования) для остаточного сигнала посредством вторичного преобразования (первичных) коэффициентов преобразования, извлеченных посредством первичного преобразования на основе матрицы неразделимого преобразования. Здесь, вертикальное преобразование и горизонтальное преобразование не применяются отдельно (или независимо) для (первичных) коэффициентов преобразования на основе матрицы неразделимого преобразования, а вертикальное преобразование и горизонтальное преобразование могут быть применены сразу. Другими словами, неразделимое вторичное преобразование может представлять собой способ преобразования для формирования коэффициентов преобразования (или вторичных коэффициентов преобразования) посредством преобразования вертикального компонента и горизонтального компонента вместе на основе матрицы неразделимого преобразования, а не преобразуя вертикальный компонент и горизонтальный компонент отдельно. Неразделимое вторичное преобразование может быть применено к верхней левой области блока, включающего в себя (первичные) коэффициенты преобразования (далее он может называться блоком коэффициентов преобразования или целевым блоком). Например, в случае, когда как ширина (W), так и высота (H) блока коэффициентов преобразования равны 8 или больше, то 8×8 неразделимое вторичное преобразование может быть применено к верхней 8×8 области блока коэффициентов преобразования (далее, верхняя левая целевая область). В дополнение, в случае, когда любое одно из ширины (W) и высоты (H) блока коэффициентов преобразования равны 8 или меньше, при том, что как ширина (W), так и высота (H) блока коэффициентов преобразования равны 4 или больше, то 4×4 неразделимое вторичное преобразование может быть применено к левой верхней min(8,W)×min(8,H) области блока коэффициентов преобразования.
[0106] В частности, например, в случае, когда используется 4×4 входной блок, неразделимое вторичное преобразование может быть выполнено, как показано ниже.
[0107] 4×4 входной блок X может быть представлен, как показано ниже.
[0108] [Уравнение 1]
[0109] Когда X представляется в форме вектора, вектор может быть представлен, как показано ниже.
[0110] [Уравнение 2]
[0111] В данном случае, неразделимое вторичное преобразование может быть вычислено, как показано ниже.
[0112] [Уравнение 3]
[0113] Здесь, представляет собой вектор коэффициентов преобразования, а T представляет собой 16×16 матрицу (неразделимого) преобразования.
[0114] Посредством Уравнения 3 выше может быть извлечен 16×1 вектор коэффициентов преобразования, и может быть перегруппирован с помощью 4×4 блока посредством очередности сканирования (горизонтальной, вертикальной, диагональной, и т.д.). Однако вычисление является примером, и Преобразование Гиперкуба-Гивенса (HyGT) и аналогичное может быть использовано для вычисления неразделимого вторичного преобразования для того, чтобы уменьшить сложность вычислений неразделимого вторичного преобразования.
[0115] Между тем в неразделимом вторичном преобразовании, ядро преобразования (или база преобразования, тип преобразования) может быть выбрано зависимым от режима образом. Здесь, режим может включать в себя режим внутрикадрового предсказания и/или режим межкадрового предсказания.
[0116] Как описано выше, неразделимое вторичное преобразование может быть выполнено на основе 8×8 преобразования или 4×4 преобразования, которое определяется на основе ширины (W) и высоты (H) блока коэффициентов преобразования. Т.е. неразделимое вторичное преобразование может быть выполнено на основе 8×8 размера субблока или 4×4 размера субблока. Например, для выбора зависимого от режима ядра преобразования, три 35-набора ядер неразделимого вторичного преобразования могут быть сконфигурированы для неразделимого вторичного преобразования как для 8×8 размера субблока, так и 4×4 размера субблока. Т.е. 35 наборов преобразований конфигурируется для 8×8 размера субблока и 35 наборов преобразований конфигурируется для 4×4 размера субблока. В данном случае три 8×8 ядра преобразования может быть включено в каждый из 35 наборов преобразований для 8×8 размера субблока. В данном случае три 4×4 ядра преобразования может быть включено в каждый из 35 наборов преобразований для 4×4 размера субблока. Однако, размер субблока преобразования, количество наборов и количество ядер преобразования в наборе являются примерами, и может быть использован размер кроме 8×8 или 4×4, или может быть сконфигурировано n наборов и в каждый набор может быть включено k ядер преобразования.
[0117] Набор преобразований может называться набором NSST, а ядро преобразования в наборе NSST может называться ядром NSST. Выбор конкретного набора из наборов преобразований может быть выполнен на основе режима внутрикадрового предсказания целевого блока (CU или субблока), например.
[0118] В данном случае, отображение между 35 наборами преобразований и режимами внутрикадрового предсказания может быть представлено как в следующей Таблице, например. Для справки, в случае, когда режим LM применяется к целевому блоку, вторичное преобразование может не применяться к целевому блоку.
[0119] [Таблица 4]
[0120] Между тем, когда определяется, что используется конкретный набор, одно из k ядер преобразования в конкретном наборе может быть выбрано посредством индекса неразделимого вторичного преобразования. Устройство кодирования может извлекать индекс неразделимого вторичного преобразования, указывающий конкретное ядро преобразования на основе проверки искажения-к-скорости (RD) и сигнализировать индекс неразделимого вторичного преобразования устройству декодирования. Устройство декодирования может выбирать одно из k ядер преобразования в конкретном наборе на основе индекса неразделимого вторичного преобразования. Например, значение 0 индекса NSST может указывать первое ядро неразделимого вторичного преобразования, значение 1 индекса NSST может указывать второе ядро неразделимого вторичного преобразования, и значение 2 индекса NSST может указывать третье ядро неразделимого вторичного преобразования. В качестве альтернативы, значение 0 индекса NSST может указывать, что первое неразделимое вторичное преобразование не применяется к текущему блоку, а значения с 1 по 3 индекса NSST могут указывать три ядра преобразования.
[0121] Вновь обращаясь к Фиг. 5, преобразователь может выполнять неразделимое вторичное преобразование на основе выбранных ядер преобразования и получать (вторичные) коэффициенты преобразования. Как описано выше, коэффициенты преобразования могут быть извлечены в качестве квантованных коэффициентов преобразования посредством квантователя и могут быть кодированы и просигнализированы устройству декодирования и переадресованы обратному квантователю/обратному преобразователю в устройстве кодирования.
[0122] Между тем в случае, когда вторичное преобразование опускается, (первичные) коэффициенты преобразования, которые выводятся первичным (разделимым) преобразованием, могут быть извлечены в качестве квантованных коэффициентов преобразования посредством квантователя, как описано выше, и могут быть кодированы и просигнализированы устройству декодирования и переадресованы обратному квантователю/обратному преобразователю в устройстве кодирования.
[0123] Обратный преобразователь может выполнять ряд процедур в обратной очередности относительно процедур, которые выполняются в преобразователе. Обратный преобразователь может принимать коэффициенты преобразования (после обратного квантования) и извлекать (первичные) коэффициенты преобразования посредством выполнения вторичного (обратного) преобразования (этап, S550) и получать остаточный блок (остаточные дискретные отсчеты) посредством выполнения первичного (обратного) преобразования для (первичных) коэффициентов преобразования. Здесь, первичные коэффициенты преобразования могут называться измененными коэффициентами преобразования в аспекте обратного преобразователя. Устройство кодирования и устройство декодирования может формировать восстановленный блок на основе остаточного блока и предсказанного блока, и на его основании, формировать восстановленный кадр, как описано выше.
[0124] Между тем, как описано выше, в случае, когда вторичное преобразование опускается, принимаются коэффициенты преобразования (после обратного квантования), выполняется первичное (разделимое) преобразование и может быть получен остаточный блок (остаточные дискретные отсчеты). Устройство кодирования и устройство декодирования могут формировать восстановленный блок на основе остаточного блока и предсказанного блока, и на его основании формировать восстановленный кадр, как описано выше.
[0125] Между тем, неразделимое вторичное преобразование может не применяться к блоку, кодированному с помощью режима пропуска преобразования. Например, в случае, когда сигнализируется индекс NSST для целевой CU и значение индекса NSST не является 0, неразделимое вторичное преобразование может не применяться к блоку, кодированному с помощью режима пропуска преобразования в целевой CU. В дополнение, в случае, когда целевая CU, включающая в себя блоки всех компонентов (компонент яркости, компонент цветности и т.д.) кодируется с помощью режима пропуска преобразования, или в случае, когда количество коэффициентов преобразования, которые являются ненулевыми среди коэффициентов преобразования для текущей CU, меньше 2, индекс NSST может не сигнализироваться. Подробный процесс кодирования коэффициента преобразования является тем, который показан ниже.
[0126] Фиг. 7a и Фиг. 7b являются блок-схемами, иллюстрирующими процесс кодирования коэффициента преобразования в соответствии с вариантом осуществления.
[0127] Каждый этап, показанный на Фиг. 7a и Фиг. 7b может быть выполнен устройством 100 кодирования или устройством 300 декодирования, показанными на Фиг. 1 и Фиг. 3, соответственно, и более конкретно, выполнены энтропийным кодером 130, показанным на Фиг. 1, и энтропийным декодером 310, показанным на Фиг. 3, соответственно. Соответственно, подробное описание, которое перекрывается с содержимым, описанным на Фиг. 1 или Фиг. 2, опускается или описывается кратко.
[0128] В данном изобретении, понятие или предложение используется для определения конкретной информации или концепции. Например, в данном изобретении «флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока» указывает cbf. Однако, поскольку «cbf» может быть замещен другими различными понятиями, такими как coded_block_flag и аналогичное, то при интерпретации понятия или предложения, которое используется для определения конкретной информации или концепции на всем протяжении изобретения, понятие или предложение не следует интерпретировать ограниченным образом по отношению к названию, а следует интерпретировать понятие или предложение, концентрируясь на различных операциях, функциях и эффектах в соответствии со значением понятия.
[0129] Фиг. 7a иллюстрирует процесс кодирования коэффициента преобразования.
[0130] Устройство 100 кодирования в соответствии с вариантом осуществления может определять, указывает ли флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования, среди коэффициентов преобразования для целевого блока, значение 1 (этап, S700). В случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока, указывает 1, по меньшей мере один ненулевой коэффициент преобразования может присутствовать среди коэффициентов преобразования для текущего блока. С другой стороны, в случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока, указывает 0, все коэффициенты преобразования для текущего блока могут указывать 0.
[0131] Флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока, может быть представлен флагом cbf. Флаг cbf может включать в себя флаг cbf_luma[x0][y0][trafoDepth] для блока яркости и флаги cbf_cb[x0][y0][trafoDepth] и cbf_cr[x0][y0][trafoDepth] для блока цветности. Здесь, индексы x0 и y0 массива могут означать позиции верхних левых дискретных отсчетов яркости/цветности целевого блока для верхних левых дискретных отсчетов яркости/цветности текущего кадра, а индекс trafoDepth массива может означать уровень, на котором блок кодирования разбивается с целью кодирования преобразования. Блоки, у которых trafoDepth указывает 0, могут соответствовать блокам кодирования, и в случае, когда блок кодирования и блок преобразования определяются идентично, trafoDepth может рассматриваться как 0.
[0132] В случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для текущего блока, указывает 1 на этапе S700, устройство 100 кодирования в соответствии с вариантом осуществления может кодировать информацию для коэффициентов преобразования для целевого блока (этап, S710).
[0133] Информация для коэффициентов преобразования для целевого блока может включать в себя по меньшей мере одну информацию для позиции последнего коэффициента преобразования, который является ненулевым, информацию флага группы, указывающую, включается ли ненулевой коэффициент преобразования в подгруппу целевого блока, и информацию для приведенного коэффициента, например. Подробное описание для информации будет приведено ниже.
[0134] Устройство 100 кодирования в соответствии с вариантом осуществления может определять, соответствует ли оно условию для выполнения NSST (этап, S720). Более конкретно, устройство 100 кодирования может определять, соответствует ли оно условию для кодирования индекс NSST. В данном случае, индекс NSST может называться индексом преобразования, например.
[0135] В случае, когда устройство 100 кодирования в соответствии с вариантом осуществления определяет, что оно соответствует условию для выполнения NSST на этапе S720, устройство 100 кодирования может кодировать индекс NSST (этап, S730). Более конкретно, в случае, когда устройство 100 кодирования в соответствии с вариантом осуществления определяет, что оно соответствует условию для кодирования индекса NSST, устройство 100 кодирования может кодировать индекс NSST.
[0136] В случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для текущего блока, указывает 0 на этапе S700, устройство 100 кодирования в соответствии с вариантом осуществления может опускать операции в соответствии с этапами S710, S720 и S730.
[0137] В дополнение, в случае, когда устройство 100 кодирования в соответствии с вариантом осуществления может определять, что оно не соответствует условию для выполнения NSST на этапе S720, устройство 100 кодирования может опускать операцию в соответствии с этапом S730.
[0138] Фиг. 7b иллюстрирует процесс декодирования коэффициента преобразования.
[0139] Устройство 300 декодирования в соответствии с вариантом осуществления может определять, указывает ли флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока, значение 1 (этап, S740). В случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока, указывает 1, по меньшей мере один ненулевой коэффициент преобразования может присутствовать среди коэффициентов преобразования для целевого блока. С другой стороны, в случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока, указывает 0, все коэффициенты преобразования для целевого блока могут указывать 0.
[0140] В случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для целевого блока, указывает 1 на этапе S740, устройство 300 декодирования в соответствии с вариантом осуществления может кодировать информацию для коэффициентов преобразования для целевого блока (этап, S750).
[0141] Устройство 300 декодирования в соответствии с вариантом осуществления может определять, соответствует ли оно условию для выполнения NSST (этап, S760). Более конкретно, устройство 300 декодирования может определять, соответствует ли оно условию для декодирования индекса NSST из битового потока.
[0142] В случае, когда устройство 300 декодирования в соответствии с вариантом осуществления определяет, что оно соответствует условию для выполнения NSST на этапе S760, устройство 300 декодирования может декодировать индекс NSST (этап, S770).
[0143] В случае, когда флаг, указывающий, присутствует ли по меньшей мере один ненулевой коэффициент преобразования среди коэффициентов преобразования для текущего блока, указывает 0 на этапе S740, устройство 300 декодирования в соответствии с вариантом осуществления может опускать операции в соответствии с этапами S750, S760 и S770.
[0144] В дополнение, в случае, когда устройство 300 декодирования в соответствии с вариантом осуществления может определять, что оно не соответствует условию для выполнения NSST на этапе S760, устройство 300 декодирования может опускать операцию в соответствии с этапом S770.
[0145] Как описано выше, сигнализация индекса NSST, когда NSST не выполняется, может ухудшать эффективность кодирования, как описано выше. В дополнение, в зависимости от конкретного условия, способ для того, чтобы различать способ кодирования индекса NSST, может улучшить общую эффективность кодирования изображения. Соответственно, настоящее изобретение предлагает различные способы кодирования индекса NSST.
[0146] Например, на основе конкретного условия, может быть определен диапазон индексов NSST. Другими словами, на основе конкретного условия, может быть определен диапазон значений индекса NSST. В частности, на основе конкретного условия может быть определено максимальное значение индекса NSST.
[0147] Например, на основе размера блока может быть определен диапазон значений индекса NSST. Здесь, размер блока может быть определен как минимум (W, H). W может представлять собой ширину, а H может представлять собой высоту. В данном случае, посредством сравнения ширины целевого блока и W и сравнения высоты целевого блока и минимума H, может быть определен диапазон значений индекса NSST.
[0148] В качестве альтернативы, размер блока может быть определен как количество дискретных отсчетов в блоке (W*H). В данном случае, посредством сравнения количества дискретных отсчетов целевого блока W*H и конкретного значения может быть определен диапазон значения индекса NSST.
[0149] В качестве альтернативы, например, на основе формы блока, т.е. типа блока, может быть определен диапазон значений индекса NSST. Здесь, тип блока может быть определен как квадратный блок или неквадратный блок. В данном случае, диапазон значений индекса NSST может быть определен на основе того, является ли целевой блок квадратным блоком или неквадратным блоком.
[0150] В качестве альтернативы, тип блока может быть определен как отношение длинной стороны (длинной стороны из ширины и высоты) и короткой стороны блока. В данном случае, посредством сравнения отношения длинной стороны и стороны блока и предварительно сконфигурированного порогового значения (например, 2 или 3), может быть определен диапазон значений индекса NSST. Здесь, отношение может представлять собой значение короткой стороны, деленной на длинную сторону. Например, в случае, когда ширина целевого блока длиннее высоты, посредством сравнения значения ширины, деленной на высоту, и предварительно сконфигурированного порогового значения, может быть определен диапазон значений индекса NSST. В дополнение, в случае, когда высота целевого блока длиннее ширины, посредством сравнения значения высоты, деленной на ширину, и предварительно сконфигурированного порогового значения, может быть определен диапазон значений индекса NSST.
[0151] В качестве альтернативы, в качестве примера, на основе режима внутрикадрового предсказания, который применяется к блоку, может быть определен диапазон значений индекса NSST. Например, на основе того, является ли режим внутрикадрового предсказания, который применяется к целевому блоку, режимом ненаправленного внутрикадрового предсказания или режимом направленного внутрикадрового предсказания, может быть определен диапазон значений индекса NSST.
[0152] В качестве альтернативы, в качестве другого примера, на основе того, является ли режим внутрикадрового предсказания, который применяется к целевому блоку, режимом внутрикадрового предсказания, включенным в категорию A или категорию B, может быть определен диапазон значений индекса NSST. Здесь, в качестве примера, категория A может включать в себя режим внутрикадрового предсказания № 2, режим внутрикадрового предсказания № 10, режим внутрикадрового предсказания № 18, режим внутрикадрового предсказания № 26, режим внутрикадрового предсказания № 34, режим внутрикадрового предсказания № 42, режим внутрикадрового предсказания № 50, режим внутрикадрового предсказания № 58 и режим внутрикадрового предсказания № 66, а категория B может включать в себя режимы внутрикадрового предсказания, за исключением режимов внутрикадрового предсказания, включенных в категорию A. Режимы внутрикадрового предсказания, включенные в категорию A, могут быть предварительно сконфигурированы, и может быть предварительно сконфигурировано то, что категория A и категория B включают в себя режимы внутрикадрового предсказания, которые отличаются от примера, описанного выше.
[0153] В качестве альтернативы, в качестве другого примера, на основе показателя AMT блока, может быть определен диапазон значений индекса NSST. Показатель AMT также может быть представлен как показатель MTS.
[0154] Например, показатель AMT может быть определен как флаг AMT, описанный выше. В данном случае, на основе значения флага AMT целевого блока может быть определен диапазон значений индекса NSST.
[0155] В качестве альтернативы, показатель AMT может быть определен как флаг вертикальных AMT и/или флаг горизонтальных AMT, описанных выше. В данном случае, на основе значения флага вертикальных AMT и/или флага горизонтальных AMT целевого блока, может быть определен диапазон значений индекса NSST.
[0156] В качестве альтернативы, показатель AMT может быть определен как ядро преобразования, которое применяется в множественных базовых преобразованиях. В данном случае, на основе ядра преобразования, которое применяется в множественных базовых преобразованиях целевого блока, может быть определен диапазон значений индекса NSST.
[0157] В качестве альтернативы, в другом примере, на основе компонента блока, может быть определен диапазон значений индекса NSST. Например, диапазон значений индекса NSST для блока яркости целевого блока и диапазон значений индекса NSST для блока цветности целевого блока, могут быть применены по-разному.
[0158] Между тем, посредством сочетания конкретных условий, описанных выше, может быть определен диапазон значений индекса NSST.
[0159] Диапазон значений индекса NSST, который определяется на основе конкретного условия, т.е. максимальное значение индекса NSST, может быть сконфигурирован различными способами.
[0160] Например, на основе конкретного условия, максимальное значение индекса NSST может быть определено равным R1, R2 или R3. В частности, в случае, когда конкретное условие соответствует категории A, максимальное значение индекса NSST может быть извлечено как R1. В случае, когда конкретное условие соответствует категории B, максимальное значение индекса NSST может быть извлечено как R2. В случае, когда конкретное условие соответствует категории C, максимальное значение индекса NSST может быть извлечено как R3.
[0161] R1 для категории A, R2 для категории B и R3 для категории C могут быть извлечены как представлено в следующей Таблице.
[0162] [Таблица 5]
Максимальный Idx NSST | |
Категория A | R1 |
Категория B | R2 |
Категория C | R3 |
… | … |
[0163] R1, R2 и R3 могут быть предварительно сконфигурированы. Например, отношение между R1, R2 и R3 может быть извлечено, как представлено в следующем Уравнении.
[0164] [Уравнение 4]
0 <= R1 < R2 < R3 < …
[0165] Обращаясь к Уравнению 4, R1 может быть равно или больше 0, R2 может быть больше R1, и R3 может быть больше R2. Между тем, в случае, когда R2 равно 0, и в случае, когда максимальное значение индекса NSST определяется равным R1, индекс NSST может не сигнализироваться и значение индекса NSST может подразумеваться как 0.
[0166] В дополнение, в настоящем изобретении, предлагается способ неявного кодирования индекса NSST.
[0167] В целом, в случае, когда применяется NSST, может быть изменено распределение ненулевых коэффициентов преобразования среди коэффициентов преобразования. В частности, в случае, когда приведенное вторичное преобразование (RST) для вторичного преобразования используется в конкретном условии, индекс NSST может не кодироваться.
[0168] Здесь, RST может представлять собой вторичное преобразование, которое использует матрицу приведенного преобразования в качестве матрицы неразделимого преобразования, и матрица приведенного преобразования может быть определена таким образом, что N-мерный вектор отображается в R-мерном векторе, расположенном в другом пространстве. Здесь, R меньше N. M может означать квадрат длины стороны блока, к которому применяется преобразование, или суммарное количество коэффициентов преобразования, соответствующих блоку, к которому применяется преобразование. Приведенный показатель может означать значение R/N. Приведенный показатель может называться в соответствии с различными понятиями, такими как показатель упрощения, показатель сокращения, упрощенный показатель, простой показатель и аналогичное. Между тем R может называться приведенным коэффициентом, но в некоторых случаях, приведенный показатель может означать R. В дополнение, в некоторых случаях, приведенный показатель может означать значение N/R.
[0169] Размер матрицы приведенного преобразования в соответствии с вариантом осуществления может быть R×N, который меньше размера N×N матрицы общего преобразования и может быть определен, как представлено в Уравнении 5 ниже.
[0170] [Уравнение 5]
[0171] Когда матрица TR×N приведенного преобразования умножается на коэффициенты преобразования, к которым применяется первичное преобразование целевого блока, могут быть извлечены (вторичные) коэффициенты преобразования для целевого блока.
[0172] В случае, когда применяется RST, поскольку матрица приведенного преобразования R×N размера применяется для вторичного преобразования, коэффициенты преобразования с R+1 по N могут быть 0 неявно. Другими словами, в случае, когда применяется RST, и извлекается коэффициент преобразования целевого блока, коэффициенты преобразования с R+1 по N могут быть 0. Здесь, коэффициенты преобразования с R+1 по N могут представлять собой коэффициенты преобразования от R+1ого коэффициента преобразования по Nый коэффициент преобразования. В частности, массив коэффициентов преобразования целевого блока может быть описан как показано ниже.
[0173] Фиг. 8 является схемой для описания массива коэффициентов преобразования на основе целевого блока в соответствии с вариантом осуществления настоящего изобретения. Далее, описание для преобразования на Фиг. 8, которое приведено ниже, также может быть применено к обратному преобразованию тем же самым образом. Для целевого блока (или остаточного блока, 800), может быть выполнено NSST (пример вторичного преобразования) на основе первичного преобразования и приведенного преобразования. В примере, 16×16 блок, показанный на Фиг. 8, может представлять собой целевой блок 800, и 4×4 блоки, обозначенные с A по P, могут представлять собой подгруппы целевого блока 800. Первичное преобразование может быть выполнено во всем диапазоне целевого блока 800. После того, как выполняется первичное преобразование, NSST может быть применено к 8×8 блоку (далее, верхняя левая целевая область), созданному подгруппами A, B, E и F. В данном случае, когда применяется NSST, основанное на приведенном преобразовании, то поскольку извлекаются только R коэффициенты преобразования NSST (здесь, R означает приведенный коэффициент, и R меньше N), то каждый из коэффициентов преобразования NSST в диапазоне от R+1ого по Nый могут быть определены как 0. В случае, когда R равно 16, например, 16 коэффициентов преобразования, над которым выполняется NSST на основе приведенного преобразования, которые извлекаются, могут быть распределены каждому из блоков, включенных в подгруппу A, которая является верхним левым 4×4 блоком, включенным в верхнюю целевую область целевого блока 800, и коэффициент преобразования 0 может быть распределен каждому из N-R блоков, т.е. 64-16=48 группам, включенным в подгруппу B, E и F. Первичные коэффициенты преобразования, над которыми не выполняется NSST на основе приведенного преобразования, могут быть распределены каждому из блоков, включенных в подгруппы C, D, G, H, I, J, K, L, M, N, O и P.
[0174] Соответственно, в случае, когда коэффициенты преобразования с R+1 по N сканируются и извлекается любой ненулевой коэффициент преобразования, может быть определено, что RST не применялось, и значение индекса NSST может быть 0 неявным образом без какой-либо отдельной сигнализации. Т.е. в случае, когда коэффициенты преобразования с R+1 по N сканируются и извлекается любой ненулевой коэффициент преобразования, RST не могло применяться, и значение индекса NSST может быть извлечено как 0 без какой-либо отдельной сигнализации.
[0175] Фиг. 9 иллюстрирует пример сканирования коэффициентов преобразования с R+1 по N.
[0176] Обращаясь к Фиг. 9, размер целевого блока, к которому применяется преобразование, может быть 64×64 и R=16 (т.е. R/N=16/64=1/4). Т.е. Фиг. 9 показывает верхнюю целевую область целевого блока. Матрица приведенного преобразования 16×64 размера может быть применена для вторичного преобразования для 64 дискретных отсчетов верхней левой целевой области целевого блока. В данном случае, когда RST применяется к верхней левой целевой области, значение коэффициентов преобразования с 17 по 64 (N) должно быть 0. Другими словами, в случае, когда любой ненулевой коэффициент преобразования извлекается из с 17 по 64 коэффициенты преобразования целевого блока, RST не могло применяться, и значение индекса NSST может быть извлечено как 0 без какой-либо отдельной сигнализации. Соответственно, устройство декодирования может декодировать коэффициент преобразования целевого блока и сканировать коэффициенты преобразования с 17 по 64 среди декодированных коэффициентов преобразования. В случае, когда извлекается ненулевой коэффициент преобразования, устройство декодирования может извлекать значение индекса NSST как 0 без какой-либо отдельной сигнализации. Между тем, в случае, когда ненулевой коэффициент преобразования не присутствует среди коэффициентов преобразования с 17 по 64, устройство декодирования может принимать и декодировать индекс NSST.
[0177] Фиг. 10a и Фиг. 10b являются блок-схемами, иллюстрирующими процесс кодирования индекса NSST в соответствии с вариантом осуществления.
[0178] Фиг. 10a показывает процесс кодирования индекса NSST.
[0179] Устройство кодирования может кодировать коэффициент преобразования для целевого блока (этап, S1000). Устройство кодирования может выполнять энтропийное кодирование для квантованных коэффициентов преобразования. Энтропийное кодирование может включать в себя способ кодирования, такой как экспоненциальное кодирование Голомба, контекстно-зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC), контекстно-зависимое адаптивное бинарное арифметическое кодирование (CABAC) и аналогичное.
[0180] Устройство кодирования может определять, кодируется ли (явный) индекс NSST для целевого блока (этап, S1010). Здесь, (явный) индекс NSST может представлять собой индекс NSST, который переносится к устройству декодирования. Т.е. устройство кодирования может определять, формировать ли индекс NSST, который сигнализируется. Другими словами, устройство кодирования может определять, распределять ли бит для синтаксического элемента для индекса NSST. Как описано в варианте осуществления, в случае, когда устройство декодирования может извлекать значение индекса NSST без сигнализации индекса NSST, устройство кодирования может не кодировать индекс NSST. Подробный процесс определения того, кодируется ли индекс NSST, описывается ниже.
[0181] В случае, когда определяется, что кодируется (явный) индекс NSST, устройство кодирования может кодировать индекс NSST (этап, S1020).
[0182] Фиг. 10b показывает процесс декодирования индекса NSST.
[0183] Устройство декодирования может декодировать коэффициент преобразования для целевого блока (этап, S1030).
[0184] Устройство декодирования может определять, кодируется ли (явный) индекс NSST для целевого блока (этап, S1040). Здесь, (явный) индекс NSST может представлять собой индекс NSST, который сигнализируется от устройства кодирования. Как описано в варианте осуществления, в случае, когда устройство декодирования может извлечь значение индекса NSST без сигнализации индекса NSST, индекс NSST может не сигнализироваться от устройства кодирования. Подробный процесс определения, кодируется ли индекс NSST, является тем, что описан ниже.
[0185] В случае, когда определяется, что кодируется (явный) индекс NSST, устройство декодирования может декодировать индекс NSST (этап, S1040).
[0186] Фиг. 11 иллюстрирует пример определения, кодируется ли индекс NSST.
[0187] Устройство кодирования/устройство декодирования может определять, соответствует ли оно условию кодирования индекса NSST для целевого блока (этап, S1100). Например, в случае, когда флаг cbf для целевого блока указывает 0, устройство кодирования/устройство декодирования может определять не кодировать индекс NSST для целевого блока. В качестве альтернативы, в случае, когда целевой блок кодируется с помощью режима пропуска преобразования или количество ненулевых коэффициентов преобразования среди коэффициентов преобразования для целевого блока меньше предварительно сконфигурированного порогового значения, устройство кодирования/устройство декодирования может определять не кодировать индекс NSST для целевого блока. Например, предварительно сконфигурированное пороговое значение может быть 2.
[0188] В случае, когда оно соответствуют условию кодирования индекса NSST для целевого блока, устройство кодирования/устройство декодирования может сканировать коэффициенты преобразования с R+1 по N (этап, S1110). Коэффициенты преобразования с R+1 по N могут представлять собой коэффициенты преобразования с R+1ого по Nый в очередности сканирования среди коэффициентов преобразования.
[0189] Устройство кодирования/устройство декодирования может определять, извлекается ли ненулевой коэффициент преобразования среди коэффициентов преобразования с R+1 по N (этап, S1120). В случае, когда извлекается ненулевой коэффициент преобразования среди коэффициентов преобразования с R+1 по N, устройство кодирования/устройство декодирования может определять не кодировать индекс NSST для целевого блока. В данном случае, устройство кодирования/устройство декодирования может извлекать индекс NSST для целевого блока как 0. Другими словами, например, в случае, когда индекс NSST, значение которого является 0, указывает, что NSST не применяется, устройство кодирования/устройство декодирования может не выполнять NSST для верхней левой целевой области целевого блока.
[0190] Между тем, в случае, когда ненулевой коэффициент преобразования не извлекается среди коэффициентов преобразования с R+1 по N, устройство кодирования может кодировать индекс NSST для целевого блока, и устройство декодирования может декодировать индекс NSST для целевого блока.
[0191] Между тем может быть предложен способ для компонентов (компонента яркости, компонента Cb цветности и компонента Cr цветности) по использованию общего индекса NSST.
[0192] Например, один и тот же индекс NSST может быть использован для компонента Cb цветности целевого блока и компонента Cr цветности целевого блока. В дополнение, в качестве другого примера, один и тот же индекс NSST может быть использован для компонента яркости целевого блока, компонента Cb цветности целевого блока и компонента Cr цветности целевого блока.
[0193] В случае, когда два или три компонента целевого блока используют один и тот же индекс NSST, устройство кодирования может сканировать коэффициенты преобразования с R+1 по N всех компонентов (блок яркости, блок Cb цветности и блок Cr цветности целевого блока), и в случае, когда извлекается по меньшей мере один ненулевой коэффициент, устройство кодирования может не кодировать индекс NSST, а извлекать значение индекса NSST как 0. В дополнение, устройство декодирования может сканировать коэффициенты преобразования с R+1 по N всех компонентов (блок яркости, блок Cb цветности и блок Cr цветности целевого блока) и в случае, когда извлекается по меньшей мере один ненулевой коэффициент, устройство декодирования может не декодировать индекс NSST, а извлекать значение индекса NSST как 0.
[0194] Фиг. 12 иллюстрирует пример сканирования коэффициентов преобразования с R+1 по N для всех компонентов целевого блока.
[0195] Обращаясь к Фиг. 12, размер блока яркости, блока Cb цветности и блока Cr цветности целевого блока, к которому применяется преобразование, может быть 64×64, и R=16 (т.е. R/N=16/64=1/4). Т.е. Фиг. 12 показывает верхнюю левую целевую область блока яркости, верхнюю левую целевую область блока Cb цветности и верхнюю левую целевую область блока Cr цветности. Соответственно, матрица приведенного преобразования 16×64 размера может быть применена для вторичного преобразования каждого из 64 дискретных отсчетов верхней левой целевой области блока яркости, верхней левой целевой области блока Cb цветности и верхней левой целевой области блока Cr цветности. В данном случае, когда применяется RST к верхней левой целевой области блока яркости, верхней левой целевой области блока Cb цветности и верхней левой целевой области блока Cr цветности, значение коэффициентов преобразования с 17 по 64 (N) должно быть 0. Другими словами, в случае, когда любой ненулевой коэффициент преобразования извлекается из коэффициентов преобразования с 17 по 64 целевого блока, RST может не применяться, и значение индекса NSST может быть извлечено как 0 без какой-либо отдельной сигнализации. Соответственно, устройство декодирования может декодировать коэффициенты преобразования всех компонентов целевого блока и сканировать коэффициенты преобразования с 17 по 64 блока яркости, блока Cb цветности и блока Cr цветности среди декодированных коэффициентов преобразования. В случае, когда извлекается ненулевой коэффициент преобразования, устройство декодирования может извлекать значение индекса NSST как 0 без какой-либо отдельной сигнализации. Между тем, в случае, когда ненулевой коэффициент преобразования не присутствует среди коэффициентов преобразования с 17 по 64, устройство декодирования может принимать и декодировать индекс NSST. Индекс NSST может быть использован для индекса для блока яркости, блока Cb цветности и блока Cr цветности.
[0196] В дополнение, в настоящем изобретении, может быть предложен способ для сигнализации указателя индекса NSST на более высоком уровне. NSST_Idx_indicator может представлять собой синтаксический элемент для указателя индекса NSST. Например, указатель индекса NSST может быть кодирован с помощью уровня Единицы Дерева Кодирования (CTU) и указатель индекса NSST может представлять собой, применяется ли NSST к целевой CTU. Т.е. указатель индекса NSST может представлять собой, является ли NSST доступным для целевого CTU. В частности, в случае, когда указатель индекса NSST задействован для целевой CTU (в случае, когда NSST является доступным для целевого CTU), т.е. в случае, когда значение указателя индекса NSST соответствует 1, может быть кодирован индекс NSST для CU или TU, включенных в целевую CTU. В случае, когда указатель индекса NSST не задействован для целевой CTU (в случае, когда NSST является недоступным для целевой CTU), т.е. в случае, когда значение указатель индекса NSST является 0, индекс NSST для CU или TU, включенных в целевую CTU, может не кодироваться. Между тем указатель индекса NSST может быть кодирован с помощью уровня CTU, как описано выше, или кодирован с помощью уровня группы дискретных отсчетов другого произвольного размера. Например, указатель индекса NSST может быть кодирован с помощью уровня Единицы Кодирования (CU).
[0197] Фиг. 13 схематично иллюстрирует способ кодирования видео посредством устройства кодирования в соответствии с настоящим изобретением. Способ, показанный на Фиг. 13, может быть выполнен посредством устройства кодирования, показанного на Фиг. 1. В частности, например, этап S1300 на Фиг. 13 может быть выполнен вычитателем устройства кодирования, этап S1310 может быть выполнен преобразователем устройства кодирования, а этапы с S1320 по S1330 могут быть выполнены энтропийным кодером устройства кодирования. В дополнение, несмотря на то, что не показано, процесс извлечения отсчета предсказания может быть выполнен средством предсказания устройства кодирования.
[0198] Устройство кодирования извлекает остаточные дискретные отсчеты целевого блока (этап, S1300). Например, устройство кодирования может определять, выполнять ли межкадровое предсказание или внутрикадровое предсказание для целевого блока, и определять конкретный режим межкадрового предсказания или конкретный режим внутрикадрового предсказания на основе цены RD. Соответственно устройство кодирования может извлекать дискретные отсчеты предсказания для целевого блока и извлекать остаточные дискретные отсчеты посредством суммирования исходных дискретных отсчетов для целевого блока и дискретных отсчетов предсказания.
[0199] Устройство кодирования извлекает коэффициенты преобразования целевого блока посредством выполнения преобразования для остаточных дискретных отсчетов (этап, S1310). Устройство кодирования может определять, применять ли NSST для целевого блока.
[0200] В случае, когда NSST применяется к текущему блоку, устройство кодирования может извлекать измененные коэффициенты преобразования посредством выполнения базового преобразования для остаточных дискретных отсчетов и извлечения коэффициентов преобразования целевого блока посредством выполнения NSST для измененных коэффициентов преобразования, расположенных в верхней левой целевой области целевого блока на основе матрицы приведенного преобразования. Измененные коэффициенты преобразования, за исключением измененных коэффициентов преобразования, расположенных в верхней левой целевой области, могут быть извлечены в качестве коэффициентов преобразования целевого блока без какого-либо изменения. Размер матрицы приведенного преобразования может быть R×N. Здесь, N может быть количеством дискретных отсчетов в верхней левой целевой области, а R может быть приведенным коэффициентом. R может быть меньше N.
[0201] В частности, базовое преобразование для остаточных дискретных отсчетов может быть выполнено, как показано ниже. Устройство кодирования может определять, применять ли Адаптивные Множественные Базовые Преобразования (AMT) для целевого блока. В данном случае, может быть сформирован флаг AMT, который представляет собой, применяются ли Адаптивные Множественные Базовые Преобразования к целевому блоку. В случае, когда AMT не применяется к целевому блоку, устройство кодирования может извлекать DCT типа 2 в качестве ядра преобразования для целевого блока и извлекать измененные коэффициенты преобразования посредством выполнения преобразования для остаточных дискретных отсчетов на основе DCT типа 2.
[0202] В случае, когда AMT применяется к целевому блоку, устройство кодирования может конфигурировать подмножества преобразования для ядра горизонтального преобразования и подмножество преобразований для ядра вертикального преобразования, извлекать ядро горизонтального преобразования и ядро вертикального преобразования на основе подмножеств преобразований, и извлекать измененные коэффициенты преобразования посредством выполнения преобразования для остаточных дискретных отсчетов на основе ядра горизонтального преобразования и ядра вертикального преобразования. Здесь, подмножество преобразований для ядра горизонтального преобразования и подмножество преобразований для ядра вертикального преобразования может включать в себя DCT типа 2, DST типа 7, DCT типа 8 и/или DST типа 1, в качестве кандидатов. В дополнение, может быть сформирована информация об индексе преобразования, и информация об индексе преобразования может включать в себя флаг горизонтальных AMT, указывающий ядро горизонтального преобразования, и флаг вертикальных AMT, указывающий ядро вертикального преобразования. Между тем ядро преобразования может называться типом преобразования или базой преобразования.
[0203] Между тем, в случае, когда NSST не применяется к целевому блоку, устройство кодирования может извлекать коэффициенты преобразования целевого блока посредством выполнения базового преобразования для остаточных дискретных отсчетов.
[0204] В частности, базовое преобразование для остаточных дискретных отсчетов может быть выполнено, как показано ниже. Устройство кодирования может определять, применять ли Адаптивные Множественные Базовые Преобразования (AMT) для целевого блока. В данном случае, может быть сформирован флаг AMT, который представляет собой, применяются ли Адаптивные Множественные Базовые Преобразования к текущему блоку. В случае, когда AMT не применяются к целевому блоку, устройство кодирования может извлекать DCT типа 2 в качестве ядра преобразования для текущего блока и извлекать измененные коэффициенты преобразования посредством выполнения преобразования для остаточных дискретных отсчетов на основе DCT типа 2.
[0205] В случае, когда AMT применяется к целевому блоку, устройство кодирования может конфигурировать подмножество преобразований для ядра горизонтального преобразования и подмножество преобразований для ядра вертикального преобразования, извлекать ядро горизонтального преобразования и ядро вертикального преобразования на основе подмножеств преобразований, и извлекать измененные коэффициенты преобразования посредством выполнения преобразования для остаточных дискретных отсчетов на основе ядра горизонтального преобразования и ядра вертикального преобразования. Здесь, подмножество преобразований для ядра горизонтального преобразования и подмножество преобразований для ядра вертикального преобразования может включать в себя DCT типа 2, DST типа 7, DCT типа 8 и/или DCT типа 1, в качестве кандидатов. В дополнение, может быть сформирована информация об индексе преобразования, и информация об индексе преобразования может включать в себя флаг горизонтальных AMT, указывающий ядро горизонтального преобразования, и флаг вертикальных AMT, указывающий ядро вертикального преобразования. Между тем, ядро преобразования может называться типом преобразования или базой преобразования.
[0206] Устройство кодирования определяет, кодировать ли индекс NSST (этап, S1320).
[0207] В качестве примера, устройство кодирования может сканировать коэффициенты преобразования с R+1ого по Nый среди коэффициентов преобразования целевого блока. В случае, когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с R+1ого по Nый, устройство кодирования может определять не кодировать индекс NSST. Здесь, N может быть количеством дискретных отсчетов в верхней левой целевой области, а R может быть приведенным коэффициентом. R может быть меньше N. N может быть извлечен в качестве произведения ширины и высоты верхней левой целевой области.
[0208] В дополнение, в случае, когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с R+1ого по Nый, устройство кодирования может определять кодировать индекс NSST. В данном случае, информация для коэффициентов преобразования может включать в себя синтаксический элемент для индекса NSST. Т.е. может быть кодирован синтаксический элемент для индекса NSST. Другими словами, может быть распределен бит для синтаксического элемента для индекса NSST.
[0209] Между тем устройство кодирования может определять, соответствует ли оно условию, что NSST доступно для выполнения. В случае, когда NSST доступно для выполнения, устройство кодирования может определять кодировать индекс NSST для целевого блока. Например, из битового потока, может быть сформирован указатель индекса NSST для целевой CTU, включающей в себя целевой блок, и указатель индекса NSST может представлять собой, применяется ли NSST к целевой CTU. В случае, когда значение указателя индекса NSST соответствует 1, устройство кодирования может определять кодировать индекс NSST для целевого блока, а в случае, когда значение указателя индекса NSST является 0, устройство кодирования может определять не кодировать индекс NSST для текущего блока. Как описано в примере выше, указатель индекса NSST может быть просигнализирован с помощью уровня CTU, или указатель индекса NSST может быть просигнализирован с помощью уровня CU или другого более высокого уровня.
[0210] В дополнение, индекс NSST может быть использован для множества компонентов целевого блока.
[0211] Например, индекс NSST может быть использован для обратного преобразования для коэффициентов преобразования блока яркости целевого блока, коэффициентов преобразования блока Cb цветности целевого блока и коэффициентов преобразования блока Cr цветности целевого блока. В данном случае, коэффициенты преобразования с R+1ого по Nый блока яркости, коэффициенты преобразования с R+1ого по Nый блока Cb цветности и коэффициенты преобразования с R+1ого по Nый блока Cr цветности могут быть просканированы. В случае, когда ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, может быть определено, что индекс NSST не кодируется. В случае, когда ненулевой коэффициент преобразования не включен в просканированные коэффициенты преобразования, может быть определено, что индекс NSST кодируется. В данном случае, информация для коэффициентов преобразования может включать в себя синтаксический элемент для индекса NSST. Т.е. может быть кодирован синтаксический элемент для индекса NSST. Другими словами, может быть распределен бит для синтаксического элемента для индекса NSST.
[0212] В качестве другого примера, индекс NSST может быть использован для обратного преобразования для коэффициентов преобразования блока яркости целевого блока и коэффициентов преобразования блока Cb цветности целевого блока. В данном случае могут быть просканированы коэффициенты преобразования с R+1ого по Nый блока яркости и коэффициенты преобразования с R+1ого по Nый блока Cb цветности. В случае, когда ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, может быть определено, что индекс NSST не кодируется. В случае, когда ненулевой коэффициент преобразования не включен в просканированные коэффициенты преобразования, может быть определено, что индекс NSST кодируется. В данном случае, информация для коэффициентов преобразования может включать в себя синтаксический элемент для индекса NSST. Т.е. может быть кодирован синтаксический элемент для индекса NSST. Другими словами, может быть распределен бит для синтаксического элемента для индекса NSST.
[0213] В качестве другого примера, индекс NSST может быть использован для обратного преобразования коэффициентов преобразования блока яркости целевого блока и коэффициентов преобразования блока Cr цветности целевого блок. В данном случае могут быть просканированы коэффициенты преобразования с R+1ого по Nый блока яркости и коэффициенты преобразования с R+1ого по Nый блока Cr цветности. В случае, когда ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, может быть определено, что индекс NSST не кодируется. В случае, когда ненулевой коэффициент преобразования не включен в просканированные коэффициенты преобразования, может быть определено, что индекс NSST кодируется. В данном случае, информация для коэффициентов преобразования может включать в себя синтаксический элемент для индекса NSST. Т.е. может быть кодирован синтаксический элемент для индекса NSST. Другими словами, может быть распределен бит для синтаксического элемента для индекса NSST.
[0214] Между тем на основе конкретного условия может быть извлечен диапазон индекса NSST. Например, на основе конкретного условия, может быть извлечено максимальное значение индекса NSST, и диапазон может быть извлечен от 0 до извлеченного максимального значения. Значение извлеченного индекса NSST может быть включено в диапазон.
[0215] Например, на основе размера целевого блока, может быть извлечен диапазон индекса NSST. В частности, могут быть предварительно сконфигурированы минимальная ширина и минимальная высота. На основе минимальной ширины и ширины целевого блока, минимальной высоты и высоты целевого блока, может быть извлечен диапазон индекса NSST. В дополнение, на основе конкретного значения или количества дискретных отсчетов целевого блока, может быть извлечен диапазон индекса NSST. Количество дискретных отсчетов может быть значением произведения ширины и высоты целевого блока, и может быть предварительно сконфигурировано конкретное значение.
[0216] В дополнение, в качестве другого примера, на основе типа целевого блока, может быть извлечен диапазон индекса NSST. В частности, диапазон индекса NSST может быть извлечен на основе того, является ли целевой блок неквадратным блоком. В дополнение, диапазон индекса NSST может быть извлечен на основе отношения между шириной и выстой целевого блока и конкретного значения. Отношение между шириной и высотой целевого блока может быть значением длинной стороны из ширины и высоты целевого блока, деленным на короткую сторону, и может быть предварительно сконфигурировано конкретное значение.
[0217] В дополнение, в качестве другого примера, на основе режима внутрикадрового предсказания целевого блока, может быть извлечен диапазон индекса NSST. В частности, диапазон индекса NSST может быть извлечен на основе того, является ли режим внутрикадрового предсказания целевого блока режимом ненаправленного внутрикадрового предсказания или режимом направленного внутрикадрового предсказания. В дополнение, на основе того, является ли режим внутрикадрового предсказания целевого блока режимом внутрикадрового предсказания, включенным в категорию A или категорию B, может быть определен диапазон значений индекса NSST. Здесь, режим внутрикадрового предсказания, включенный в категорию A, и режим внутрикадрового предсказания, включенный в категорию B, могут быть предварительно сконфигурированными. В качестве примера, категория A может включать в себя режим внутрикадрового предсказания № 2, режим внутрикадрового предсказания № 10, режим внутрикадрового предсказания № 18, режим внутрикадрового предсказания № 26, режим внутрикадрового предсказания № 34, режим внутрикадрового предсказания № 42, режим внутрикадрового предсказания № 50, режим внутрикадрового предсказания № 58 и режим внутрикадрового предсказания № 66, а категория B может включать в себя режимы внутрикадрового предсказания, за исключением режимов внутрикадрового предсказания, включенных в категорию A.
[0218] В дополнение, в качестве другого примера, на основе информации для базового преобразования целевого блока, может быть извлечен диапазон индекса NSST. Например, диапазон индекса NSST может быть извлечен на основе флага AMT, который представляет собой, применяются ли Адаптивные Множественные Базовые Преобразования (AMT). В дополнение, диапазон индекса NSST может быть извлечен на основе флага горизонтальных AMT, указывающего ядро горизонтального преобразования, и флага вертикальных AMT, указывающего ядро вертикального преобразования.
[0219] Между тем в случае, когда значение индекса NSST является 0, индекс NSST может указывать, что NSST не применяется к текущему блоку.
[0220] Устройство кодирования кодирует информацию для коэффициентов преобразования (этап, S1330). Информация для коэффициентов преобразования может включать в себя информацию для размера, позиции и аналогичного коэффициентов преобразования. В дополнение, как описано выше, информация для коэффициентов преобразования может дополнительно включать в себя индекс NSST, информацию об индексе преобразования и/или флаг AMT. Информация изображения, включающая в себя информацию для коэффициентов преобразования, может быть выведена в формате битового потока. В дополнение, информация изображения может дополнительно включать в себя указатель индекса NSST и/или информацию предсказания. Информация предсказания является информацией, связанной с процессом предсказания и может включать в себя информацию о режиме предсказания и информацию для информации о движении (например, для случая, когда применяется межкадровое предсказание).
[0221] Выходной битовый поток может быть переадресован устройству декодирования посредством запоминающего носителя или сети.
[0222] Фиг. 14 схематично иллюстрирует устройство кодирования, выполняющее способ кодирования видео в соответствии с настоящим изобретением. Способ, показанный на Фиг. 13, может быть выполнен устройством кодирования, показанным на Фиг. 14. В частности, например, сумматор устройства кодирования может выполнять этап S1300 на Фиг. 13, преобразователь устройства кодирования может выполнять этап S1310, а энтропийный кодер устройства кодирования может выполнять этапы с S1320 по S1330. В дополнение, несмотря на то, что не показано, процесс извлечения отсчета предсказания может быть выполнен средством предсказания устройства кодирования.
[0223] Фиг. 15 схематично иллюстрирует способ декодирования видео посредством устройства декодирования в соответствии с настоящим изобретением. Способ, показанный на Фиг. 15, может быть выполнен устройством декодирования, показанным на Фиг. 3. В частности, например, этапы с S1500 по S1510 Фиг. 15 могут быть выполнены энтропийным декодером устройства декодирования, этап S1520 может быть выполнен обратным преобразователем устройства декодирования, и этап S1530 может быть выполнен сумматором устройства декодирования. В дополнение, несмотря на то, что не показано, процесс извлечения отсчета предсказания может быть выполнен средством предсказания устройства декодирования.
[0224] Устройство декодирования извлекает коэффициенты преобразования целевого блока из битового потока (этап, S1500). Устройство декодирования может декодировать информацию для коэффициентов преобразования целевого блока, принятую из битового потока, и извлекать коэффициенты преобразования целевого блока. Принятая информация для коэффициентов преобразования целевого блока может быть представлена в качестве остаточной информации.
[0225] Между тем коэффициенты преобразования целевого блока могут включать в себя коэффициенты преобразования блока яркости целевого блока, коэффициенты преобразования блока Cb цветности целевого блока и коэффициенты преобразования блока Cr цветности целевого блока.
[0226] Устройство декодирования извлекает индекс Неразделимого Вторичного преобразования (NSST) для целевого блока (этап, S1510).
[0227] В качестве примера, устройство декодирования может сканировать коэффициенты преобразования с R+1ого по Nый среди коэффициентов преобразования целевого блока. В случае, когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с R+1ого по Nый, устройство декодирования может извлекать значение индекса NSST как 0. Здесь, N является количеством дискретных отсчетов верхней левой целевой области целевого блока, а R является приведенным коэффициентом, и R может быть меньше N. N может быть извлечено как произведение ширины и высоты верхней левой целевой области.
[0228] В дополнение, в случае, когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с R+1ого по Nый, устройство декодирования может осуществлять разбор синтаксического элемента для индекса NSST и извлекать значение индекса NSST. Т.е. в случае, когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с R+1ого по Nый, битовый поток может включать в себя синтаксический элемент для индекса NSST, и устройство декодирования может осуществлять разбор синтаксического элемента для индекса NSST и извлекать значение индекса NSST.
[0229] Между тем устройство декодирования может определять, соответствует ли оно условию, что NSST доступно для выполнения. В случае, когда NSST доступно для выполнения, устройство декодирования может извлекать индекс NSST для целевого блока. Например, из битового потока, может быть просигнализирован указатель индекса NSST для целевой CTU, включающей в себя целевой блок, и указатель индекса NSST может представлять собой, задействовано ли NSST в целевой CTU. В случае, когда значение указатель индекса NSST соответствует 1, устройство декодирования может извлекать индекс NSST для целевого блока, а в случае, когда значение указателя индекса NSST является 0, устройство декодирования может не извлекать индекс NSST для целевого блока. Как описано в примере выше, указатель индекса NSST может быть просигнализирован с помощью уровня CTU, или указатель индекса NSST может быть просигнализирован с помощью уровня CU или другого более высокого уровня.
[0230] В дополнение, индекс NSST может быть использован для множества компонентов целевого блока.
[0231] Например, индекс NSST может быть использован для обратного преобразования для коэффициентов преобразования блока яркости целевого блока, коэффициентов преобразования блока Cb цветности целевого блока и коэффициентов преобразования блока Cr цветности целевого блока. В данном случае, могут быть просканированы коэффициенты преобразования с R+1ого по Nый блока яркости, коэффициенты преобразования с R+1ого по Nый блока Cb цветности и коэффициенты преобразования с R+1ого по Nый блока Cr. В случае, когда ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, значение индекса NSST может быть извлечено как 0. В случае, когда ненулевой коэффициент преобразования не включен в просканированные коэффициенты преобразования, битовый поток может включать в себя синтаксический элемент для индекса NSST, и значение индекса NSST может быть извлечено посредством разбора синтаксического элемента для индекса NSST, принятого через битовый поток.
[0232] В качестве другого примера, индекс NSST может быть использован для обратного преобразования для коэффициентов преобразования блока яркости целевого блока и коэффициентов преобразования блока Cb цветности целевого блока. В данном случае, могут быть просканированы коэффициенты преобразования с R+1ого по Nый блока яркости и коэффициенты преобразования с R+1ого по Nый блока Cb цветности. В случае, когда ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, значение индекса NSST может быть извлечено как 0. В случае, когда ненулевой коэффициент преобразования не включен в просканированные коэффициенты преобразования, битовый поток может включать в себя синтаксический элемент для индекса NSST, и значение индекса NSST может быть извлечено посредством разбора синтаксического элемента для индекса NSST, принятого через битовый поток.
[0233] В качестве другого примера, индекс NSST может быть использован для обратного преобразования для коэффициентов преобразования блока яркости целевого блока и коэффициентов преобразования блока Cr цветности целевого блока. В данном случае, могут быть просканированы коэффициенты преобразования с R+1ого по Nый блока яркости и коэффициенты преобразования с R+1ого по Nый блока Cr цветности. В случае, когда ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, значение индекса NSST может быть извлечено как 0. В случае, когда ненулевой коэффициент преобразования не включен в просканированные коэффициенты преобразования, битовый поток может включать в себя синтаксический элемент для индекса NSST, и значение индекса NSST может быть извлечено посредством разбора синтаксического элемента для индекса NSST, принятого через битовый поток.
[0234] Между тем на основе конкретного условия может быть извлечен диапазон индекса NSST. Например, на основе конкретного условия, может быть извлечено максимальное значение индекса NSST, и диапазон может быть извлечен от 0 до извлеченного максимального значения. Значение извлеченного индекса NSST может быть включено в диапазон.
[0235] Например, на основе размера целевого блока, может быть извлечен диапазон индекса NSST. В частности, могут быть предварительно сконфигурированы минимальная ширина и минимальная высота. На основе минимальной ширины и ширины целевого блока, минимальной высоты и высоты целевого блока, может быть извлечен диапазон индекса NSST. В дополнение, на основе конкретного значения или количества дискретных отсчетов целевого блока, может быть извлечен диапазон индекса NSST. Количество дискретных отсчетов может быть значением произведения ширины и высоты целевого блока, и может быть предварительно сконфигурировано конкретное значение.
[0236] В дополнение, в качестве другого примера, на основе типа целевого блока, может быть извлечен диапазон индекса NSST. В частности, диапазон индекса NSST может быть извлечен на основе того, является ли целевой блок неквадратным блоком. В дополнение, диапазон индекса NSST может быть извлечен на основе отношения между шириной и выстой целевого блока и конкретного значения. Отношение между шириной и высотой целевого блока может быть значением длинной стороны из ширины и высоты целевого блока, деленным на короткую сторону, и может быть предварительно сконфигурировано конкретное значение.
[0237] В дополнение, в качестве другого примера, на основе режима внутрикадрового предсказания целевого блока, может быть извлечен диапазон индекса NSST. В частности, диапазон индекса NSST может быть извлечен на основе того, является ли режим внутрикадрового предсказания целевого блока режимом ненаправленного внутрикадрового предсказания или режимом направленного внутрикадрового предсказания. В дополнение, на основе того, является ли режим внутрикадрового предсказания целевого блока режимом внутрикадрового предсказания, включенным в категорию A или категорию B, может быть определен диапазон значений индекса NSST. Здесь, режим внутрикадрового предсказания, включенный в категорию A, и режим внутрикадрового предсказания, включенный в категорию B, могут быть предварительно сконфигурированными. В качестве примера, категория A может включать в себя режим внутрикадрового предсказания № 2, режим внутрикадрового предсказания № 10, режим внутрикадрового предсказания № 18, режим внутрикадрового предсказания № 26, режим внутрикадрового предсказания № 34, режим внутрикадрового предсказания № 42, режим внутрикадрового предсказания № 50, режим внутрикадрового предсказания № 58 и режим внутрикадрового предсказания № 66, а категория B может включать в себя режимы внутрикадрового предсказания, за исключением режимов внутрикадрового предсказания, включенных в категорию A.
[0238] В дополнение, в качестве другого примера, на основе информации для базового преобразования целевого блока, может быть извлечен диапазон индекса NSST. Например, диапазон индекса NSST может быть извлечен на основе флага AMT, который представляет собой, применяются ли Адаптивные Множественные Базовые Преобразования (AMT). В дополнение, диапазон индекса NSST может быть извлечен на основе флага горизонтальных AMT, указывающего ядро горизонтального преобразования, и флага вертикальных AMT, указывающего ядро вертикального преобразования.
[0239] Между тем, в случае, когда значение индекса NSST является 0, индекс NSST может указывать, что NSST не применяется к текущему блоку.
[0240] Устройство декодирования выполняет обратное преобразование для коэффициентов преобразования целевого блока на основе индекса NSST и извлекает остаточные дискретные отсчеты целевого блока (этап S1520).
[0241] Например, в случае, когда значение индекса NSST является 0, устройство декодирования может выполнять базовое преобразование для коэффициентов преобразования целевого блока и извлекать остаточные дискретные отсчеты.
[0242] В частности, устройство декодирования может получать флаг AMT, который представляет собой, применяются ли Адаптивные Множественные Базовые Преобразования (AMT), из битового потока.
[0243] В случае, когда значение флага AMT является 0, устройство декодирования может извлекать DCT типа 2 в качестве ядра преобразования для целевого блока и извлекать остаточные дискретные отсчеты посредством выполнения обратного преобразования для коэффициентов преобразования на основе DCT типа 2.
[0244] В случае, когда значение флага AMT соответствует 1, устройство декодирования может конфигурировать подмножество преобразований для ядра горизонтального преобразования и подмножество преобразований для ядра вертикального преобразования, извлекать ядро горизонтального преобразования и ядро вертикального преобразования на основе информации об индексе преобразования, полученной из битового потока, и подмножеств преобразований, и извлекать остаточные дискретные отсчеты посредством выполнения обратного преобразования для коэффициентов преобразования на основе ядра горизонтального преобразования и ядра вертикального преобразования. Здесь, подмножество преобразований для ядра горизонтального преобразования и подмножество преобразований для ядра вертикальных преобразований могут включать в себя DCT типа 2, DST типа 7, DCT типа 8 и/или DST типа 1, в качестве кандидатов. В дополнение, может быть сформирована информация об индексе преобразования, и информация об индексе преобразования может включать в себя флаг горизонтальных AMT, указывающий ядро горизонтального преобразования, и флаг вертикальных AMT, указывающий ядро вертикального преобразования. Между тем, ядро преобразования может называться типом преобразования или базой преобразования.
[0245] В случае, когда значение индекса NSST не является 0, устройство декодирования может извлекать измененные коэффициенты преобразования посредством выполнения NSST для коэффициентов преобразования, расположенных в верхней левой целевой области целевого блока на основе матрицы приведенного преобразования, указанной индексом NSST, и извлекать остаточные дискретные отсчеты посредством выполнения базового преобразования для целевого блока, включающего в себя измененные коэффициенты преобразования. Размер матрицы приведенного преобразования может быть R×N. N может быть количеством дискретных отсчетов в верхней левой целевой области, а R может быть приведенным коэффициентом. R может быть меньше N.
[0246] Базовое преобразование для целевого блока может быть выполнено, как показано ниже. Устройство декодирования может получать флаг AMT, который представляет собой, применяются ли Адаптивные Множественные Базовые Преобразования (AMT), из битового потока. В случае, когда значение флага AMT является 0, устройство декодирования может извлекать DCT типа 2 в качестве ядра преобразования для целевого блока и извлекать остаточные дискретные отсчеты посредством выполнения обратного преобразования для коэффициентов преобразования на основе DCT типа 2.
[0247] В случае, когда значение флага AMT соответствует 1, устройство декодирования может конфигурировать подмножество преобразований для ядра горизонтального преобразования и подмножество преобразований для ядра вертикального преобразования, извлекать ядро горизонтального преобразования и ядро вертикального преобразования на основе информации об индексе преобразования, полученной из битового потока, и подмножеств преобразований, и извлекать остаточные дискретные отсчеты посредством выполнения обратного преобразования для целевого блока, включающего в себя измененные коэффициенты преобразования, на основе ядра горизонтального преобразования и ядра вертикального преобразования. Здесь, подмножество преобразований для ядра горизонтального преобразования и подмножество преобразований для ядра вертикального преобразования могут включать в себя DCT типа 2, DST типа 7, DCT типа 8 и/или DST типа 1, в качестве кандидатов. В дополнение, может быть сформирована информация об индексе преобразования, и информация об индексе преобразования может включать в себя флаг горизонтальных AMT, указывающий ядро горизонтального преобразования, и флаг вертикальных AMT, указывающий ядро вертикального преобразования. Между тем, ядро преобразования может называться типом преобразования или базой преобразования.
[0248] Устройство декодирования формирует восстановленный кадр на основе остаточных дискретных отсчетов (этап, S1530). Устройство декодирования может формировать восстановленный кадр на основе остаточных дискретных отсчетов. Например, устройство декодирования может выполнять межкадровое предсказание и внутрикадровое предсказание для целевого блока на основе информации предсказания, принятой через битовый поток, и извлекать дискретные отсчеты предсказания и формировать восстановленный кадр посредством суммирования дискретных отсчетов предсказания и остаточных дискретных отсчетов. Позже, как требует случай, для того чтобы улучшить субъективное/объективное качество изображения, устройство декодирования может применять процесс встроенной фильтрации, такой как фильтрация устранения блочности и/или процесс SAO к восстановленному кадру, как описано выше.
[0249] Фиг. 16 схематично иллюстрирует устройство декодирования, выполняющее способ декодирования видео в соответствии с настоящим изобретением. Способ, показанный на Фиг. 15, может быть выполнен устройством декодирования, показанным на Фиг. 16. В частности, например, энтропийный декодер устройства декодирования, показанный на Фиг. 16, может выполнять этапы с S1500 по S1510 на Фиг. 15, обратный преобразователь устройства декодирования, показанный на Фиг. 16, может выполнять этап S1520 на Фиг. 15, и сумматор устройства декодирования на Фиг. 16 может выполнять этап S1530 на Фиг. 15. В дополнение, несмотря на то, что не показано, процесс получения отсчета предсказания может быть выполнен средством предсказания устройства декодирования.
[0250] В соответствии с настоящим изобретением, описанным выше, диапазон индекса NSST может быть извлечен на основе конкретного условия целевого блока, и посредством этого, может быть уменьшен объем битов для индекса NSST, и, соответственно, может быть улучшена общая скорость кодирования.
[0251] В дополнение, в соответствии с настоящим изобретением, передача синтаксического элемента для индекса NSST может быть определена на основе коэффициента преобразования целевого блока, и посредством этого, может быть уменьшен объем битов для индекса NSST, и, соответственно, может быть улучшена общая скорость кодирования.
[0252] В описанном выше варианте осуществления, способы описаны на основе блок-схемы с рядами этапов и блоков, но настоящее изобретение не ограничивается очередностью вышеупомянутых этапов или блоков. Некоторые этапы или блоки могут происходить в другой очередности или одновременно с другими этапами или блоками, как описано выше. Кроме того, специалисты в соответствующей области техники будут понимать, что этапы, показанные в вышеупомянутой блок-схеме, не являются исключительными, и что могут быть включены дополнительные этапы, и что один или несколько этапов в блок-схеме могут быть удалены, не оказывая влияния на объем настоящего изобретения.
[0253] Способ в соответствии с настоящим изобретением, описанный выше, может быть реализован в форме программного обеспечения, и устройство кодирования и/или устройство декодирования в соответствии с настоящим изобретением могут быть включены в устройство, которое выполняет обработку изображения, такое как ТВ, компьютер, интеллектуальный телефон, телевизионная абонентская приставка, дисплейное устройство и аналогичное.
[0254] Когда варианты осуществления настоящего изобретения реализуются с помощью программного обеспечения, способ, описанный выше, может быть реализован с помощью модуля (процесса, функции и т.д.), который выполняет функцию, описанную выше. Модуль может быть сохранен в памяти и исполнен процессором. Память может быть размещена в процессоре внутренним или внешним образом и соединена с процессором с использованием многообразия известных средств. Процессор может включать в себя Проблемно-Ориентированные Интегральные Микросхемы (ASIC), другие наборы микросхем, логические схемы и/или процессоры данных. Память может включать в себя Постоянную Память (ROM), Память с Произвольным Доступом (RAM), флэш-память, карты памяти, запоминающие носители информации и/или запоминающие устройства. Т.е. варианты осуществления, описанные в настоящем изобретении, могут быть выполнены посредством реализации в процессоре, микропроцессоре, контроллере или чипе. Например, функциональные блоки, показанные на каждом чертеже, могут быть реализованы и выполнены компьютером, процессором, микропроцессором, контроллером или чипом.
[0255] В дополнение, устройство декодирования и устройство кодирования, к которым применяются варианты осуществления настоящего изобретения, могут быть включены в устройство передачи/приема мультимедийного вещания, терминал мобильной связи, видеоустройство домашнего кинотеатра, видеоустройство цифрового кино, камеру слежения, устройство для видеочата, устройство связи в режиме реального времени, такое как видеосвязи, мобильное устройство потоковой передачи, запоминающий носитель информации, видеокамеру, устройство предоставления услуги VoD, видеоустройство технологии «Поверх Сети» (OTT), устройство предоставления услуги потоковой передачи через Интернет, устройство трехмерного (3D) видео, видеоустройство для телеконференции и медицинское видеоустройство, и могут быть использованы, чтобы обрабатывать видеосигналы и сигналы данных. Например, видеоустройство OTT может включать в себя игровую консоль, проигрыватель Blu-ray, ТВ доступа в Интернет, систему домашнего кинотеатра, интеллектуальный телефон, планшетный ПК, Цифровой Видеомагнитофон (DVR) и аналогичное.
[0256] Кроме того, способ обработки, к которому применяется настоящее изобретение, может быть создан в форме исполняемой компьютером программы и может быть сохранен на машиночитаемом носителе записей. Мультимедийные данные со структурой данных в соответствии с настоящим изобретением также могут быть сохранены на машиночитаемом носителе записей. Машиночитаемый носитель записей включают в себя все виды запоминающих устройств и распределенных запоминающих устройств, в которых хранятся машиночитаемые данные. Машиночитаемый носитель записей может быть, например, Диском Blu-ray (BD), Универсальной Последовательной Шиной (USB), ROM, PROM, EPROM, EEPROM, RAM, запоминающими устройствами CD-Данных. В дополнение, машиночитаемый носитель записей включает в себя носители информации, реализованные в форме несущей волны (например, передача через Интернет). В дополнение, битовый поток, сформированный способом кодирования, может быть сохранен на машиночитаемом носителе записей или может быть передан через проводные/беспроводные сети связи. В дополнение, вариант осуществления настоящего изобретения может быть реализован как компьютерный программный продукт посредством программных кодов, и программные коды могут быть выполнены компьютером посредством вариантов осуществления настоящего изобретения. Программные коды могут быть сохранены на носителе, который может быть считан компьютером.
[0257] Кроме того, система потоковой передачи контента, к которой применяется настоящее изобретение, может включать в себя сервер кодирования, сервер потоковой передачи, веб-сервер, хранилище мультимедиа, устройство пользователя и мультимедийное устройство ввода.
[0258] Сервер кодирования сжимает контент, который вводится от мультимедийных устройств ввода, таких как интеллектуальные телефоны, камеры, видеокамеры и т.д. в цифровые данные, чтобы сформировать битовый поток, и передает битовый поток серверу потоковой передачи. В качестве другого пример, когда мультимедийные устройства ввода, такие как интеллектуальные телефоны, камеры, видеокамеры и т.д. непосредственно формируют битовый поток, сервер кодирования может быть опущен. Битовый поток может быть сформирован посредством способа кодирования или способа формирования битового потока, к которому применяется настоящее изобретение, и сервер потоковой передачи может временно сохранять битовый поток в процессе передачи или приема битового потока.
[0259] Сервер потоковой передачи передает мультимедийные данные устройству пользователя на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве посредника для информирования пользователя о том, какие услуги предоставляются. Когда пользователь запрашивает требуемую услугу у веб-сервера, веб-сервер доставляет запрос серверу потоковой передачи и сервер потоковой передачи передает мультимедийные данные пользователю. Здесь, система потоковой передачи контента может включать в себя отдельный сервер управления, и в данном случае, сервер управления управляет командой/ответом между устройствами в системе потоковой передачи контента.
[0260] Сервер потоковой передачи может принимать контент от хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается от сервера кодирования, контент может быть принят в режиме реального времени. В данном случае для того, чтобы обеспечить непрерывную услугу потоковой передачи, сервер потоковой передачи может хранить битовый поток в течение предварительно определенного времени.
[0261] Примеры устройства пользователя включают в себя мобильный телефон, интеллектуальный телефон, компьютер класса лэптоп, терминал цифрового вещания, персональный цифровой помощник (PDA), портативный мультимедийный проигрыватель (PMP), устройство навигации, и тонкий ПК, планшетный ПК, ультрабук, носимое устройство (например, интеллектуальные наручные часы, интеллектуальные очки, шлем-дисплеи), цифровой ТВ, настольный компьютер, цифровую вывеску и аналогичное. Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае данные, принятые от каждого сервера, могут быть обработаны распределенным образом.
Положение 1. Способ декодирования видео, который выполняется устройством декодирования, содержащий этапы, на которых:
извлекают коэффициенты преобразования целевого блока из битового потока;
получают индекс Неразделимого Вторичного Преобразования (NSST) для целевого блока;
получают остаточные дискретные отсчеты целевого блока посредством выполнения обратного преобразования для коэффициентов преобразования целевого блока на основе индекса NSST; и
формируют восстановленный кадр на основе остаточных дискретных отсчетов.
Положение 2. Способ согласно Положению 1, в котором этап получения остаточных дискретных отсчетов целевого блока посредством выполнения обратного преобразования для коэффициентов преобразования целевого блока на основе индекса NSST включает в себя этапы, на которых:
когда значение индекса NSST является 0, выполняют базовое преобразование для коэффициентов преобразования целевого блока и получают остаточные дискретные отсчеты; и
когда значение индекса NSST не является 0, получают измененные коэффициенты преобразования посредством выполнения NSST для коэффициентов преобразования, расположенных в верхней левой целевой области целевого блока, на основе матрицы приведенного преобразования, указанной индексом NSST, и получают остаточные дискретные отсчеты посредством выполнения базового преобразования для целевого блока, включающего в себя измененные коэффициенты преобразования.
Положение 3. Способ согласно Положению 2, в котором размер матрицы приведенного преобразования составляет R×N, при этом N является количеством дискретных отсчетов верхней левой целевой области, а R является приведенным коэффициентом, причем R меньше N.
Положение 4. Способ согласно Положению 3, в котором этап получения индекса NSST для целевого блока включает в себя этапы, на которых:
сканируют коэффициенты преобразования с R+1-ого по N-ый среди коэффициентов преобразования целевого блока; и
когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с R+1-ого по N-ый, получают значение индекса NSST как 0.
Положение 5. Способ согласно Положению 3, в котором этап получения индекса NSST для целевого блока включает в себя этап, на котором когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с R+1-ого по N-ый, получают значение индекса NSST посредством разбора синтаксического элемента для индекса NSST, включенного в битовый поток.
Положение 6. Способ согласно Положению 1, в котором диапазон индекса NSST получается на основе минимальной ширины и ширины целевого блока, минимальной высоты и высоты целевого блока, при этом минимальная ширина и минимальная высота являются предварительно сконфигурированными.
Положение 7. Способ согласно Положению 1, в котором диапазон индекса NSST получается на основе конкретного значения и количества дискретных отсчетов целевого блока, при этом количество дискретных отсчетов является значением произведения ширины и высоты целевого блока, и это конкретное значение является предварительно сконфигурированным.
Положение 8. Способ согласно Положению 1, в котором диапазон индекса NSST получается на основе того, является ли целевой блок неквадратным блоком.
Положение 9. Способ согласно Положению 3, в котором
когда индекс NSST используется для обратного преобразования для коэффициентов преобразования блока яркости целевого блока, коэффициентов преобразования блока Cb цветности и коэффициентов преобразования блока Cr цветности, сканируют коэффициенты преобразования с R+1ого по Nый блока яркости, коэффициенты преобразования с R+1ого по Nый блока Cb цветности и коэффициенты преобразования с R+1ого по Nый блока Cr цветности, и
когда ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, значение индекса NSST получают как 0.
Положение 10. Способ согласно Положению 1, в котором указатель индекса NSST для целевой CTU, включающей в себя целевой блок, формируется из битового потока, при этом указатель индекса NSST представляет то, задействовано ли NSST в целевой CTU.
Положение 11. Устройство декодирования видео, содержащее:
энтропийный декодер, выполненный с возможностью извлекать коэффициенты преобразования целевого блока из битового потока и получать индекс Неразделимого Вторичного Преобразования (NSST) для целевого блока;
обратный преобразователь, выполненный с возможностью получать остаточные дискретные отсчеты целевого блока посредством выполнения обратного преобразования для коэффициентов преобразования целевого блока на основе индекса NSST; и
сумматор, выполненный с возможностью формировать восстановленный кадр на основе остаточных дискретных отсчетов.
Положение 12. Способ кодирования видео, который выполняется устройством кодирования, содержащий этапы, на которых:
получают остаточные дискретные отсчеты целевого блока;
получают коэффициенты преобразования целевого блока посредством выполнения преобразования для остаточных дискретных отсчетов;
определяют, кодировать ли индекс Неразделимого Вторичного Преобразования (NSST) для коэффициентов преобразования; и
кодируют информацию для коэффициентов преобразования,
при этом этап определения того, кодировать ли индекс NSST, включает в себя этапы, на которых:
сканируют коэффициенты преобразования с R+1-ого по N-ый среди коэффициентов преобразования целевого блока; и
когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с R+1-ого по N-ый, определяют не кодировать индекс NSST,
при этом N является количеством дискретных отсчетов верхней левой целевой области, а R является приведенным коэффициентом, и при этом R меньше N.
Положение 13. Способ согласно Положению 12, в котором этап определения того, кодировать ли индекс NSST, дополнительно включает в себя этапы, на которых:
когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с R+1-ого по N-ый, определяют кодировать индекс NSST,
когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с R+1-ого по N-ый, информация для коэффициента преобразования включает в себя синтаксический элемент для индекса NSST.
Положение 14. Способ согласно Положению 12, в котором этап получения коэффициентов преобразования целевого блока посредством выполнения преобразования для остаточных дискретных отсчетов включает в себя этапы, на которых:
определяют, применять ли NSST для текущего блока;
когда NSST применяется к текущему блоку, получают измененные коэффициенты преобразования посредством выполнения базового преобразования для остаточных дискретных отсчетов и получают коэффициенты преобразования целевого блока посредством выполнения NSST для измененных коэффициентов преобразования, расположенных в верхней левой целевой области целевого блока, на основе матрицы приведенного преобразования; и
когда NSST не применяется к целевому блоку, получают коэффициенты преобразования целевого блока посредством выполнения базового преобразования для остаточных дискретных отсчетов.
Положение 15. Способ согласно Положению 12, в котором диапазон индекса NSST получается на основе минимальной ширины и ширины целевого блока, минимальной высоты и высоты целевого блока, при этом минимальная ширина и минимальная высота являются предварительно сконфигурированными.
Claims (51)
1. Способ декодирования видео, который выполняется устройством декодирования, содержащий этапы, на которых:
получают остаточную информацию для целевого блока из битового потока;
получают коэффициенты преобразования целевого блока на основе остаточной информации;
сканируют коэффициенты преобразования с (R+1)-го по N-ый среди коэффициентов преобразования целевого блока;
получают индекс неразделимого преобразования для целевого блока на основе сканирования коэффициентов преобразования с (R+1)-го по N-ый;
получают остаточные дискретные отсчеты целевого блока на основе обратного преобразования для коэффициентов преобразования целевого блока, причем обратное преобразование основывается на индексе неразделимого преобразования;
формируют восстановленный кадр на основе остаточных дискретных отсчетов; и
применяют фильтрацию устранения блочности к восстановленному кадру,
при этом, основываясь на случае, когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с (R+1)-го по N-ый, в качестве значения индекса неразделимого преобразования получают 0,
при этом, основываясь на случае, когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с (R+1)-го по N-ый, обратное преобразование на основе неразделимого преобразования выполняют для коэффициентов в верхней левой целевой области целевого блока на основе матрицы преобразования, связанной с индексом неразделимого преобразования,
при этом размер матрицы преобразования составляет R×N,
при этом N является количеством дискретных отсчетов верхней левой целевой области, и
при этом R меньше N.
2. Способ по п.1, в котором упомянутое получение остаточных дискретных отсчетов целевого блока включает в себя этапы, на которых:
основываясь на том, что значение индекса неразделимого преобразования равно 0, выполняют базовое преобразование для коэффициентов преобразования целевого блока и получают остаточные дискретные отсчеты; и
основываясь на том, что значение индекса неразделимого преобразования не 0, получают измененные коэффициенты преобразования посредством выполнения неразделимого преобразования для коэффициентов в верхней левой целевой области целевого блока на основе матрицы преобразования, связанной с индексом неразделимого преобразования, и получают остаточные дискретные отсчеты посредством выполнения базового преобразования для целевого блока, включающего в себя измененные коэффициенты преобразования.
3. Способ по п.1, в котором упомянутое получение индекса неразделимого преобразования для целевого блока включает в себя этап, на котором: основываясь на том, что ненулевой коэффициент преобразования не включен в коэффициенты преобразования с (R+1)-го по N-ый, получают значение индекса неразделимого преобразования посредством разбора синтаксического элемента для индекса неразделимого преобразования, включенного в битовый поток.
4. Способ по п.1, в котором диапазон индекса неразделимого преобразования получается на основе минимальной ширины и ширины целевого блока, минимальной высоты и высоты целевого блока, при этом минимальная ширина и минимальная высота являются предварительно сконфигурированными.
5. Способ по п.1, в котором диапазон индекса неразделимого преобразования получается на основе конкретного значения и количества дискретных отсчетов в целевом блоке, при этом количество дискретных отсчетов является значением произведения ширины и высоты целевого блока, и это конкретное значение является предварительно сконфигурированным.
6. Способ по п.1, в котором диапазон индекса неразделимого преобразования получается на основе того, является ли целевой блок неквадратным блоком.
7. Способ по п.1, в котором,
основываясь на том, что индекс неразделимого преобразования используется для обратного преобразования для коэффициентов преобразования блока яркости целевого блока, коэффициентов преобразования блока Cb цветности и коэффициентов преобразования блока Cr цветности, сканируют коэффициенты преобразования с (R+1)-го по N-ый блока яркости, коэффициенты преобразования с (R+1)-го по N-ый блока Cb цветности и коэффициенты преобразования с (R+1)-го по N-ый блока Cr цветности, и
основываясь на том, что ненулевой коэффициент преобразования включен в просканированные коэффициенты преобразования, в качестве значения индекса неразделимого преобразования получают 0.
8. Способ по п.1, в котором указатель индекса неразделимого преобразования для целевой CTU, включающей в себя целевой блок, формируется из битового потока, при этом указатель индекса неразделимого преобразования относится к тому, задействовано ли неразделимое преобразование в целевой CTU.
9. Способ кодирования видео, который выполняется устройством кодирования, содержащий этапы, на которых:
получают остаточные дискретные отсчеты целевого блока;
получают коэффициенты преобразования целевого блока посредством выполнения преобразования на основе остаточных дискретных отсчетов;
сканируют коэффициенты преобразования с (R+1)-го по N-ый среди коэффициентов преобразования целевого блока;
определяют, кодировать ли индекс неразделимого преобразования для коэффициентов преобразования, на основе сканирования коэффициентов преобразования с (R+1)-го по N-ый; и
кодируют остаточную информацию, включая информацию, относящуюся к коэффициентам преобразования, и информацию, относящуюся к индексу неразделимого преобразования,
при этом, основываясь на случае, когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с (R+1)-го по N-ый, определяют не кодировать индекс неразделимого преобразования,
при этом, основываясь на случае, когда ненулевой коэффициент преобразования не включен в коэффициенты преобразования с (R+1)-го по N-ый, определяют кодировать индекс неразделимого преобразования,
при этом, основываясь на том, что значение индекса неразделимого преобразования не равно 0, преобразование на основе неразделимого преобразования выполняют для коэффициентов в верхней левой целевой области целевого блока на основе матрицы преобразования, связанной с индексом неразделимого преобразования,
при этом размер матрицы преобразования составляет R×N,
при этом N является количеством дискретных отсчетов верхней левой целевой области, и
при этом R меньше N.
10. Способ по п.9, в котором упомянутое получение коэффициентов преобразования целевого блока посредством выполнения преобразования на основе остаточных дискретных отсчетов включает в себя этапы, на которых:
определяют, нужно ли применять неразделимое преобразование для целевого блока;
основываясь на том, что неразделимое преобразование применяется к целевому блоку, получают измененные коэффициенты преобразования посредством выполнения базового преобразования для остаточных дискретных отсчетов и получают коэффициенты преобразования целевого блока посредством выполнения неразделимого преобразования для измененных коэффициентов преобразования в верхней левой целевой области целевого блока на основе матрицы преобразования; и
основываясь на том, что неразделимое преобразование не применяется к целевому блоку, получают коэффициенты преобразования целевого блока посредством выполнения базового преобразования для остаточных дискретных отсчетов.
11. Способ по п.9, в котором диапазон индекса неразделимого преобразования получается на основе минимальной ширины и ширины целевого блока, минимальной высоты и высоты целевого блока, при этом минимальная ширина и минимальная высота являются предварительно сконфигурированными.
12. Способ по п.9, в котором диапазон индекса неразделимого преобразования получается на основе конкретного значения и количества дискретных отсчетов в целевом блоке, при этом количество дискретных отсчетов является значением произведения ширины и высоты целевого блока, и это конкретное значение является предварительно сконфигурированным.
13. Способ передачи данных для видео, содержащий этапы, на которых:
получают битовый поток для видео, причем битовый поток формируется на основе: получения остаточных дискретных отсчетов целевого блока; получения коэффициентов преобразования целевого блока посредством выполнения преобразования на основе остаточных дискретных отсчетов; сканирования коэффициентов преобразования с (R+1)-го по N-ый среди коэффициентов преобразования целевого блока; определения того, кодировать ли индекс неразделимого преобразования для коэффициентов преобразования, на основе сканирования коэффициентов преобразования с (R+1)-го по N-ый; и кодирования остаточной информации, включая информацию, относящуюся к коэффициентам преобразования, и информацию, относящуюся к индексу неразделимого преобразования, для вывода битового потока; и
передают данные, содержащие битовый поток,
при этом, основываясь на случае, когда ненулевой коэффициент преобразования включен в коэффициенты преобразования с (R+1)-го по N-ый, определяют не кодировать индекс неразделимого преобразования,
при этом, основываясь на том, что ненулевой коэффициент преобразования не включен в коэффициенты преобразования с (R+1)-го по N-ый, определяют кодировать индекс неразделимого преобразования,
при этом, основываясь на том, что значение индекса неразделимого преобразования не равно 0, преобразование на основе неразделимого преобразования выполняется для коэффициентов в верхней левой целевой области целевого блока на основе матрицы преобразования, связанной с индексом неразделимого преобразования,
при этом размер матрицы преобразования составляет R×N,
при этом N является количеством дискретных отсчетов верхней левой целевой области, и
при этом R меньше N.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/599,021 | 2017-12-15 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2021133048A Division RU2776032C1 (ru) | 2017-12-15 | 2021-11-15 | Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2800680C1 true RU2800680C1 (ru) | 2023-07-26 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2580088C2 (ru) * | 2010-07-15 | 2016-04-10 | Кабусики Кайся Тосиба | Способ кодирования изображения и способ декодирования изображения |
US20170094313A1 (en) * | 2015-09-29 | 2017-03-30 | Qualcomm Incorporated | Non-separable secondary transform for video coding |
WO2017138791A1 (ko) * | 2016-02-12 | 2017-08-17 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
US20170324643A1 (en) * | 2016-05-03 | 2017-11-09 | Qualcomm Incorporated | Binarizing secondary transform index |
WO2017196127A1 (ko) * | 2016-05-12 | 2017-11-16 | 엘지전자 주식회사 | 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2580088C2 (ru) * | 2010-07-15 | 2016-04-10 | Кабусики Кайся Тосиба | Способ кодирования изображения и способ декодирования изображения |
US20170094313A1 (en) * | 2015-09-29 | 2017-03-30 | Qualcomm Incorporated | Non-separable secondary transform for video coding |
WO2017138791A1 (ko) * | 2016-02-12 | 2017-08-17 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
US20170324643A1 (en) * | 2016-05-03 | 2017-11-09 | Qualcomm Incorporated | Binarizing secondary transform index |
WO2017196127A1 (ko) * | 2016-05-12 | 2017-11-16 | 엘지전자 주식회사 | 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2760566C2 (ru) | Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него | |
US11303929B2 (en) | Image coding method using lookup table for intra prediction mode and apparatus therefor | |
US12034933B2 (en) | Method for coding image on basis of selective transform and device therefor | |
KR20210019108A (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
KR20210133299A (ko) | Bdpcm에 기반한 영상 코딩 방법 및 그 장치 | |
CN113597770B (zh) | 基于变换的图像编译方法及其装置 | |
RU2800680C1 (ru) | Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него | |
RU2776032C1 (ru) | Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него | |
RU2820843C1 (ru) | Способ кодирования изображений на основе bdpcm и устройство для этого | |
RU2806813C2 (ru) | Способ кодирования изображений на основе bdpcm и устройство для этого | |
CN113273210B (zh) | 用于编译关于合并数据的信息的方法和装置 |