КОДИРОВАНИЕ ИНФОРМАЦИИ ОТНОСИТЕЛЬНО НАБОРА ЯДЕР ПРЕОБРАЗОВАНИЯ
INFORMATION CODING REGARDING A SET OF TRANSFORMATION KERNELS

Уровень техники
Область техники, к которой относится изобретение
[1] Настоящее раскрытие относится к технологии кодирования изображений, а более конкретно, к кодированию информации относительно набора ядер преобразования.
Описание предшествующего уровня техники
[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, 4K, 8K либо изображения/видео еще более сверхвысокой четкости (UHD), растет в различных областях техники. По мере того, как разрешение или качество изображений/видео становится более высоким, относительно больший объем информации или число битов передается, чем для традиционных данных изображений/видео. Следовательно, если данные изображений/видео передаются через такую среду, как существующая проводная/беспроводная широкополосная линия, либо сохраняются на унаследованном от прошлого носителе хранения данных, затраты на передачу и хранение серьезно увеличиваются.
[3] Кроме того, растет интерес и спрос в отношении контента виртуальной реальности (VR) и искусственной реальности (AR) и иммерсивного мультимедиа, к примеру, голограммы; а также растет широковещательная передача изображений/видео, демонстрирующих характеристики изображений/видео, отличающиеся от характеристик фактического изображения/видео, к примеру, игровых изображений/видео.
[4] Следовательно, требуется высокоэффективная технология сжатия изображений/видео для того, чтобы эффективно сжимать и передавать, сохранять или воспроизводить высококачественные изображения/видео высокого разрешения, демонстрирующие различные характеристики, как описано выше.
Сущность изобретения
[5] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для повышения эффективности кодирования изображений/видео.
[6] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для кодирования MTS-индекса при кодировании видео.
[7] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для передачи в служебных сигналах информации MTS-индекса.
[8] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для передачи в служебных сигналах информации, представляющей набор ядер преобразования, который должен применяться к текущему блоку, из множества наборов ядер преобразования.
[9] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для контекстного кодирования или обходного кодирования относительно элементов разрешения для MTS-индекса.
[10] Согласно варианту осуществления настоящего документа, предоставляется способ декодирования видео/изображений, осуществляемый посредством оборудования декодирования.
[11] Согласно варианту осуществления настоящего документа, предоставляется оборудование декодирования для выполнения декодирования видео/изображений.
[12] Согласно варианту осуществления настоящего документа, предоставляется способ кодирования видео/изображений, осуществляемый посредством оборудования кодирования.
[13] Согласно варианту осуществления настоящего документа, предоставляется оборудование кодирования для выполнения кодирования видео/изображений.
[14] Согласно варианту осуществления настоящего документа, предоставляется компьютерно-читаемый цифровой носитель хранения данных, сохраняющий кодированную информацию видео/изображений, сформированную согласно способу кодирования видео/изображений, раскрытому по меньшей мере в одном из вариантов осуществления этого документа.
[15] Согласно варианту осуществления настоящего документа, предоставляется компьютерно-читаемый цифровой носитель хранения данных, сохраняющий кодированную информацию или кодированную информацию видео/изображений, инструктирующую оборудованию декодирования осуществлять способ декодирования видео/изображений, раскрытый по меньшей мере в одном из вариантов осуществления этого документа.
[16] Согласно настоящему документу, общая эффективность сжатия изображений/видео может повышаться.
[17] Согласно настоящему документу, информация MTS-индекса может эффективно передаваться в служебных сигналах.
[18] Согласно настоящему документу, сложность системы кодирования может понижаться посредством эффективного кодирования информации MTS-индекса.
[19] Преимущества, которые могут получаться через подробный пример настоящего документа, не ограничены преимуществами, перечисленными выше. Например, могут быть предусмотрены различные технические эффекты, которые могут пониматься или логически выводиться специалистами в данной области техники из настоящего документа. Соответственно, подробные преимущества настоящего документа не ограничены преимуществами, явно указанными в настоящем документе, и могут включать в себя различные преимущества, которые могут пониматься или логически выводиться из технических признаков настоящего документа.
Краткое описание чертежей
[20] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящий документ.
[21] Фиг. 2 является схемой, схематично поясняющей конфигурацию оборудования кодирования видео/изображений, к которому является применимым настоящий документ.
[22] Фиг. 3 является схемой, схематично поясняющей конфигурацию оборудования декодирования видео/изображений, к которому является применимым настоящий документ.
[23] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего документа.
[24] Фиг. 5 примерно иллюстрирует внутренние направленные режимы в 65 направлениях прогнозирования.
[25] Фиг. 6 и 7 являются схемами, поясняющими RST согласно варианту осуществления настоящего документа.
[26] Фиг. 8 примерно иллюстрирует контекстно-адаптивное двоичное арифметическое кодирование (CABAC) для кодирования синтаксических элементов.
[27] Фиг. 9 и 10 схематично иллюстрируют способ кодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.
[28] Фиг. 11 и 12 схематично иллюстрируют способ декодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.
[29] Фиг. 13 иллюстрирует пример системы потоковой передачи контента, к которой являются применимыми варианты осуществления, раскрытые в настоящем документе.
Подробное описание вариантов осуществления
[30] Настоящее раскрытие может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и иллюстрируются на чертежах. Тем не менее, эти варианты осуществления не предназначены для ограничения раскрытия. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать раскрытие. Выражение единственного числа включает в себя выражение множественного числа, до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[31] Помимо этого, каждая конфигурация чертежей, описанных в этом документе, является независимой иллюстрацией для пояснения функций в качестве признаков, которые отличаются друг от друга, и не означает то, что каждая конфигурация реализуется посредством взаимно различных аппаратных средств или различного программного обеспечения. Например, две или более конфигураций могут комбинироваться, чтобы формировать одну конфигурацию, и одна конфигурация также может разделяться на несколько конфигураций. Без отступления от сущности этого документа, варианты осуществления, в которых конфигурации комбинируются и/или разделяются, включаются в объем формулы изобретения.
[32] В дальнейшем в этом документе подробно описываются примеры настоящего варианта осуществления со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов опускаются.
[33] Этот документ относится к кодированию видео/изображений. Например, способы/варианты осуществления, раскрытые в этом документе, могут относиться к стандарту универсального кодирования видео (VVC) (ITU-T (Rec. (H.266), к стандарту кодирования видео/изображений следующего поколения после VVC либо к другим связанным с кодированием видео стандартам (например, к стандарту высокоэффективного кодирования видео (HEVC) (ITU-T (Rec. (H.265), к стандарту фундаментального кодирования видео (EVC), к AVS2-стандарту и т.п.).
[34] Этот документ предлагает различные варианты осуществления кодирования видео/изображений, и вышеуказанные варианты осуществления также могут выполняться в комбинации между собой, если не указано иное.
[35] В этом документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретном временном кинокадре, и срез/плитка означает единицу, составляющую часть кадра с точки зрения кодирования. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток.
[36] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.
[37] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать пиксельное значение в пространственной области и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.
[38] В этом документе, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере одно из A, B и/или C".
[39] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в этом документе должен интерпретироваться как указывающий "дополнительно или альтернативно".
[40] В настоящем описании изобретения, "по меньшей мере одно из A и B" может означать "только A", "только B" или "как A, так и B". Кроме того, в настоящем описании изобретения, выражение "по меньшей мере одно из A или B" или "по меньшей мере одно из A и/или B" может интерпретироваться идентично "по меньшей мере одно из A и B".
[41] Дополнительно, в настоящем описании изобретения, "по меньшей мере одно из A, B и C" может означать "только A", "только B", "только C" либо "любая комбинация A, B и C". Кроме того, "по меньшей мере одно из A, B или C" или "по меньшей мере одно из A, B и/или C" может означать "по меньшей мере одно из A, B и C".
[42] Дополнительно, круглые скобки, используемые в настоящем описании изобретения, могут означать "например". В частности, в случае если "прогнозирование (внутреннее прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Другими словами, термин "прогнозирование" в настоящем описании изобретения не ограничен "внутренним прогнозированием", и может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Дополнительно, даже в случае, если "прогнозирование (т.е. внутреннее прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования".
[43] В настоящем описании изобретения, технические признаки, отдельно поясненные на одном чертеже, могут реализовываться отдельно либо могут реализовываться одновременно.
[44] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой может применяться раскрытие настоящего документа.
[45] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя исходное устройство и приемное устройство. Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.
[46] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[47] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[48] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[49] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.
[50] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.
[51] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[52] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому может применяться раскрытие настоящего документа. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.
[53] Ссылаясь на фиг. 2, оборудование 200 кодирования может включать в себя и конфигурироваться с помощью модуля 210 сегментации изображений, модуля 220 прогнозирования, остаточного процессора 230, энтропийного кодера 240, сумматора 250, фильтра 260 и запоминающего устройства 270. Модуль 220 прогнозирования может включать в себя модуль 221 взаимного прогнозирования и модуль 222 внутреннего прогнозирования. Остаточный процессор 230 может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Остаточный процессор 230 дополнительно может включать в себя вычитатель 231. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описываются выше, могут конфигурироваться посредством одного или более аппаратных компонентов (например, наборов микросхем или процессоров кодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 270 может включать в себя буфер декодированных кадров (DPB) и также может конфигурироваться посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 270 в качестве внутреннего/внешнего компонента.
[54] Модуль 210 сегментации изображений может разбивать входное изображение (или кадр, кинокадр), вводимое в оборудование 200 кодирования, на одну или более единиц обработки. В качестве примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно разбиваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева. В этом случае, например, сначала применяется структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или структура в виде троичного дерева. Альтернативно, также сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию может выполняться на основе конечной единицы кодирования, которая более не разбивается. В этом случае, на основе эффективности кодирования согласно характеристикам изображений и т.п., максимальная единица кодирования может непосредственно использоваться в качестве конечной единицы кодирования, или при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования большей глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такую процедуру, как прогнозирование, преобразование и восстановление, которая описывается ниже. В качестве другого примера, единица обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, каждая из единицы прогнозирования и единицы преобразования может разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для логического вывода коэффициента преобразования и/или единицу для логического вывода остаточного сигнала из коэффициента преобразования.
[55] Единица может взаимозаменяемо использоваться с таким термином, как блок или зона, в некоторых случаях. Обычно, блок MxN может представлять выборки, состоящие из M столбцов и N строк или группы коэффициентов преобразования. Выборка, в общем, может представлять пиксел или значение пиксела и также может представлять только пиксел/пиксельное значение компонента сигнала яркости, а также представлять только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или пелу, конфигурирующему один кадр (или изображение).
[56] Вычитатель 231 может формировать остаточный сигнал (остаточный блок, остаточные выборки или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированный блок, прогнозные выборки или массив прогнозных выборок), вывод из модуля 220 прогнозирования из сигнала входного изображения (исходный блок, исходные выборки или массив исходных выборок) и сформированный остаточный сигнал передается в преобразователь 232. Модуль 220 прогнозирования может выполнять прогнозирование для целевого блока обработки (далее называемого "текущим блоком") и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль 220 прогнозирования может определять то, применяется либо нет внутреннее прогнозирование или взаимное прогнозирование, для текущего блока или в единицах CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различные виды информации, связанной с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[57] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок со ссылкой на выборки в пределах текущего кадра. Выборки, на которые ссылаются, могут быть расположены как граничащие с текущим блоком либо также могут быть расположены на большом расстоянии от текущего блока согласно режиму прогнозирования. Режимы прогнозирования при внутреннем прогнозировании могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим или планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно точной степени направления прогнозирования. Тем не менее, это является иллюстративным, и режимы направленного прогнозирования, которые больше или меньше вышеуказанного числа, могут использоваться согласно настройке. Модуль 222 внутреннего прогнозирования также может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[58] Модуль 221 взаимного прогнозирования может логически выводить прогнозированный блок текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы снижать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может упоминаться под таким названием, как "совместно размещенный опорный блок", "совместно размещенная CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, также может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и, например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. Режим прогнозирования векторов движения (MVP) может указывать вектор движения текущего блока посредством использования вектора движения соседнего блока в качестве предиктора вектора движения и передачи в служебных сигналах разности векторов движения.
[59] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования блока. Внутриблочное копирование может использоваться для кодирования изображений контента/движущихся изображений игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но оно может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем документе.
[60] Прогнозный сигнал, сформированный через модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[61] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений вместе с или отдельно из квантованных коэффициентов преобразования (например, значения синтаксических элементов и т.п.). Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоя абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем документе, передаваемые в служебных сигналах/передаваемые информация и/или синтаксические элементы, которые описываются ниже, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться через сеть или может сохраняться на цифровом носителе хранения данных. Здесь, сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не проиллюстрирован), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не проиллюстрирован), сохраняющий сигнал, могут быть сконфигурированы в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.
[62] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 220 прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленные выборки или массив восстановленных выборок). Если отсутствует остаток для целевого блока для обработки, к примеру, в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока для обработки в текущем кадре и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[63] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в ходе процесса кодирования и/или восстановления кадров.
[64] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение (SAO), адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различные виды информации, связанной с фильтрацией, и передавать сформированную информацию в энтропийный кодер 290, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 290 и выводиться в форме потока битов.
[65] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием декодирования может исключаться, и эффективность кодирования может повышаться.
[66] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.
[67] Фиг. 3 является схемой для схематичного пояснения конфигурации оборудования декодирования видео/изображений, к которому может применяться раскрытие настоящего документа.
[68] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя и конфигурироваться с помощью энтропийного декодера 310, остаточного процессора 320, модуля 330 прогнозирования, сумматора 340, фильтра 350 и запоминающего устройства 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 322. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350, которые описываются выше, могут конфигурироваться посредством одного или более аппаратных компонентов (например, наборов микросхем или процессоров декодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) и может конфигурироваться посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[69] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображений обрабатывается в оборудовании кодирования, проиллюстрированном на фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с разбиением на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой для оборудования кодирования. Следовательно, единица обработки для декодирования, например, может представлять собой единицу кодирования, и единица кодирования может разбиваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или максимальной единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Помимо этого, восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[70] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в этом документе, могут декодироваться, может декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель посредством использования информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль 330 прогнозирования, и информация относительно остатка, для которого энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 321. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемник (не проиллюстрирован) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, или приемник может представлять собой составляющий элемент энтропийного декодера 310. Между тем, оборудование декодирования согласно настоящему документу может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя по меньшей мере одно из деквантователя 321, обратного преобразователя 322, модуля 330 прогнозирования, сумматора 340, фильтра 350 и запоминающего устройства 360.
[71] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, с тем чтобы выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в двумерной блочной форме. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого посредством оборудования кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[72] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[73] Модуль 330 прогнозирования может выполнять прогнозирование текущего блока и формировать прогнозированный блок, включающий в себя прогнозные выборки текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование, или применяется взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и определять конкретный режим внутреннего/взаимного прогнозирования.
[74] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования блока. Внутриблочное копирование может использоваться для кодирования изображений контента/движущихся изображений игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но оно может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем документе.
[75] Модуль 332 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением относительно текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 332 внутреннего прогнозирования может определять режим прогнозирования, который должен применяться к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[76] Модуль 331 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию относительно направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Например, модуль 331 взаимного прогнозирования может конструировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[77] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок или массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком или массивом прогнозированных выборок), выводимым из модуля 330 прогнозирования. Если отсутствует остаток для целевого блока обработки, к примеру, в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[78] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и, как описано ниже, также может выводиться посредством фильтрации либо также может использоваться для взаимного прогнозирования следующего кадра.
[79] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) также может применяться в процессе декодирования кадров.
[80] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[81] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 331 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 331 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 332 внутреннего прогнозирования.
[82] В настоящем описании изобретения, варианты осуществления, описанные в модуле 330 прогнозирования, деквантователе 321, обратном преобразователе 322 и фильтре 350 оборудования 300 декодирования, также могут применяться идентичным способом или соответственно модулю 220 прогнозирования, деквантователю 234, обратному преобразователю 235 и фильтру 260 оборудования 200 кодирования.
[83] Между тем, как описано выше, при выполнении кодирования видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Через это, может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, в качестве блока, который должен кодироваться (т.е. целевого блока кодирования). Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок извлекается идентично в оборудовании кодирования и оборудовании декодирования, и оборудование кодирования может передавать в служебных сигналах информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не значение исходной выборки исходного блока, в оборудование декодирования, за счет этого повышая эффективность кодирования изображений. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, суммировать остаточный блок и прогнозированный блок, чтобы формировать восстановленные блоки, включающие в себя восстановленные выборки, и формировать восстановленный кадр, включающий в себя восстановленные блоки.
[84] Остаточная информация может формироваться через процедуру преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, выполнять процедуру преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, выполнять процедуру квантования для коэффициентов преобразования, чтобы извлекать квантованные коэффициенты преобразования и связанную с сигналами остаточную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений квантованных коэффициентов преобразования, информацию местоположения, технологию преобразования, ядро преобразования, параметр квантования и т.п. Оборудование декодирования может выполнять процедуру деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Оборудование декодирования может формировать восстановленный кадр на основе прогнозированного блока и остаточного блока. Кроме того, для ссылки для взаимного прогнозирования изображения позднее, оборудование кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, чтобы извлекать остаточный блок и формировать восстановленный кадр на его основе.
[85] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно настоящему документу.
[86] Ссылаясь на фиг. 4, преобразователь может соответствовать преобразователю в оборудовании кодирования по фиг. 2, как описано выше, и обратный преобразователь может соответствовать обратному преобразователю в оборудовании кодирования по фиг. 2 или обратному преобразователю в оборудовании декодирования по фиг. 3, как описано выше.
[87] Преобразователь может извлекать коэффициенты (первичного) преобразования посредством выполнения первичного преобразования на основе остаточной выборки (массива остаточных выборок) в остаточном блоке (S410). Такое первичное преобразование может называться "базовым преобразованием". Здесь, первичное преобразование может быть основано на множественном выборе преобразования (MTS), и в случае, если множественное преобразование применяется в качестве первичного преобразования, оно может называться "множественным базовым преобразованием".
[88] Например, множественное базовое преобразование может представлять способ преобразования посредством дополнительного использования дискретного косинусного преобразования (DCT) тип 2 (DCT-II), дискретного синусного преобразования (DST) тип 7 (DST-VII), DCT-типа 8 (DCT-VIII) и/или DST-типа 1 (DST-I). Таким образом, множественное базовое преобразование может представлять способ преобразования для преобразования остаточного сигнала (или остаточного блока) пространственной области в коэффициенты преобразования (или коэффициенты первичного преобразования) частотной области на основе множества ядер преобразования, выбранных из DCT-типа 2, DST-типа 7, DCT-типа 8 и DST-типа 1. Здесь, коэффициенты первичного преобразования могут называться "временными коэффициентами преобразования на стороне преобразователя".
[89] Другими словами, в случае если существующий способ преобразования применяется, преобразование пространственной области для остаточного сигнала (или остаточного блока) в частотную область может применяться на основе DCT-типа 2, и коэффициенты преобразования могут формироваться. Тем не менее, в отличие от этого, в случае если множественное базовое преобразование применяется, преобразование пространственной области для остаточного сигнала (или остаточного блока) в частотную область может применяться на основе DCT-типа 2, DST-типа 7, DCT-типа 8 и/или DST-типа 1, и коэффициенты преобразования (или коэффициенты первичного преобразования) могут формироваться. Здесь, DCT-тип 2, DST-тип 7, DCT-тип 8 и DST-тип 1 могут называться "типом преобразования", "ядром преобразования" или "базой преобразования". Типы DCT/DST-преобразования могут задаваться на основе базисных функций.
[90] В случае, если множественное базовое преобразование выполняется, ядро вертикального преобразования и/или ядро горизонтального преобразования для целевого блока могут выбираться из числа ядер преобразования, вертикальное преобразование для целевого блока может выполняться на основе ядра вертикального преобразования, и горизонтальное преобразование для целевого блока может выполняться на основе ядра горизонтального преобразования. Здесь, горизонтальное преобразование может представлять преобразование для горизонтальных компонентов целевого блока, и вертикальное преобразование может представлять преобразование для вертикальных компонентов целевого блока. Ядро вертикального преобразования/ядро горизонтального преобразования может адаптивно определяться на основе режима прогнозирования и/или индекса преобразования целевого блока (CU или субблока), включающего в себя остаточный блок.
[91] Дополнительно, например, в случае выполнения первичного преобразования посредством применения MTS, конкретные базисные функции могут быть сконфигурированы как указанные значения, и в случае вертикального преобразования или горизонтального преобразования, взаимосвязь преобразования для ядра преобразования может быть сконфигурирована посредством комбинирования того, какие базисные функции применяются. Например, в случае если ядро преобразования горизонтального направления представляется посредством trTypeHor, и ядро преобразования вертикального направления представляется посредством trTypeVer, trTypeHor или trTypeVer, имеющее значение 0, может быть сконфигурировано как DCT2, и trTypeHor или trTypeVer, имеющее значение 1, может быть сконфигурировано как DCT7; trTypeHor или trTypeVer, имеющее значение 2, может быть сконфигурировано как DCT8.
[92] Альтернативно, например, чтобы указывать любой из множества наборов ядер преобразования, MTS-индекс может кодироваться, и информация MTS-индекса может передаваться в служебных сигналах в оборудование декодирования. Здесь, MTS-индекс может представляться как синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx. Например, если MTS-индекс равен 0, может представляться то, что значения trTypeHor и trTypeVer равны 0, и (trTypeHor, trTypeVer)=(DCT2, DCT2). Если MTS-индекс равен 1, может представляться то, что значения trTypeHor и trTypeVer равны 1, и (trTypeHor, trTypeVer)=(DST7, DST7). Если MTS-индекс равен 2, может представляться то, что значение trTypeHor равно 2, и значение trTypeVer равно 1, и (trTypeHor, trTypeVer)=(DCT8, DST7). Если MTS-индекс равен 3, может представляться то, что значение trTypeHor равно 1, и значение trTypeVer равно 2, и (trTypeHor, trTypeVer)=(DST7, DCT8). Если MTS-индекс равен 4, может представляться то, что значения trTypeHor и trTypeVer равны 2, и (trTypeHor, trTypeVer)=(DCT8, DCT8). Например, набор ядер преобразования согласно MTS-индексу может представляться так, как указано в следующей таблице.
[93] Табл. 1
[94] Преобразователь может извлекать модифицированные коэффициенты (вторичного) преобразования посредством выполнения вторичного преобразования на основе коэффициентов (первичного) преобразования (S420). Первичное преобразование может представлять собой преобразование пространственной области в частотную область, и вторичное преобразование может представлять преобразование в более сжимающее выражение посредством использования корреляции, существующей между коэффициентами (первичного) преобразования.
[95] Например, вторичное преобразование может включать в себя неразделимое преобразование. В этом случае, вторичное преобразование может называться "неразделимым вторичным преобразованием (NSST)" или "зависимым от режима неразделимым вторичным преобразованием (MDNSST)". Неразделимое вторичное преобразование может представлять преобразование для формирования модифицированных коэффициентов преобразования (или коэффициентов вторичного преобразования) для остаточного сигнала посредством вторичного преобразования коэффициентов (первичного) преобразования, извлекаемых через первичное преобразование на основе матрицы неразделимого преобразования. Здесь, вертикальное преобразование и горизонтальное преобразование могут не применяться отдельно (или независимо) относительно коэффициентов (первичного) преобразования на основе матрицы неразделимого преобразования, но могут применяться одновременно.
[96] Другими словами, неразделимое вторичное преобразование может представлять способ преобразования для перекомпоновки, например, двумерных сигналов (коэффициентов преобразования) в одномерный сигнал через конкретно определенное направление (например, направление сначала по строкам или направление сначала по столбцам), без разделения коэффициентов (первичного) преобразования на вертикальные компоненты и горизонтальные компоненты, и последующего формирования модифицированных коэффициентов преобразования (или коэффициентов вторичного преобразования) на основе матрицы неразделимого преобразования.
[97] Например, направление (или порядок) сначала по строкам может представлять компоновку блока MxN в линии в порядке "первая строка - N-ая строка", и направление (или порядок) сначала по столбцам может представлять компоновку блока MxN в линии в порядке "первый столбец - M-ый столбец". Здесь, M и N могут представлять ширину (W) и высоту (H) блока и могут быть положительными целыми числами.
[98] Например, неразделимое вторичное преобразование может применяться к левой верхней области блока, состоящего из коэффициентов (первичного) преобразования (далее блока коэффициентов преобразования). Например, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 8, неразделимое вторичное преобразование 8×8 может применяться к левой верхней зоне 8×8 блока коэффициентов преобразования. Дополнительно, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 4 и меньше 8, неразделимое вторичное преобразование 4×4 может применяться к левой верхней зоне min(8, W) x min(8, H) блока коэффициентов преобразования. Тем не менее, варианты осуществления не ограничены этим, и, например, даже если такое условие, что ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 4, удовлетворяется, неразделимое вторичное преобразование 4×4 может применяться к левой верхней зоне min(8, W) x min(8, H) блока коэффициентов преобразования.
[99] В частности, например, в случае, когда входной блок 4×4 используется, неразделимое вторичное преобразование может выполняться следующим образом.
[100] Входной блок X 4×4 может представляться следующим образом.
[101] уравнение 1
[102] Например, векторная форма X может представляться следующим образом.
[103] уравнение 2
[104] Ссылаясь на уравнение 2,  может представлять вектор X, и двумерный блок X в уравнении 1 может перекомпоновываться и представляться в качестве одномерного вектора в соответствии с порядком сначала по строкам.
[105] В этом случае, вторичное неразделимое преобразование может вычисляться следующим образом.
[106] уравнение 3
[107] Здесь,  может представлять вектор коэффициентов преобразования, и T может представлять матрицу (неразделимого) преобразования 16×16.
[108] На основе уравнения 3,  , имеющий размер 16×1, может извлекаться, и  может реорганизовываться в качестве блока 4×4 через порядок сканирования (горизонтальный, вертикальный или диагональный). Тем не менее, вышеописанное вычисление является примерным, и чтобы уменьшать вычислительную сложность неразделимого вторичного преобразования, гиперкубическое преобразование Гивенса (HyGT) и т.п. может использоваться для того, чтобы вычислять неразделимое вторичное преобразование.
[109] Между тем, при неразделимом вторичном преобразовании, ядро преобразования (либо база преобразования или тип преобразования) может выбираться зависимым от режима способом. Здесь, режим может включать в себя режим внутреннего прогнозирования и/или режим взаимного прогнозирования.
[110] Например, как описано выше, NSST может выполняться на основе преобразования 8×8 или преобразования 4×4, определенного на основе ширины (W) и высоты (H) блока коэффициентов преобразования. Например, если W и H равны или больше 8, преобразование 8×8 может представлять преобразование, которое может применяться к зоне 8×8, включенной в соответствующий блок коэффициентов преобразования, и зона 8×8 может представлять собой левую верхнюю зону 8×8 в соответствующем блоке коэффициентов преобразования. Дополнительно, аналогично, если W и H равны или больше 4, преобразование 4×4 может представлять преобразование, которое может применяться к зоне 4×4, включенной в соответствующий блок коэффициентов преобразования, и зона 4×4 может представлять собой левую верхнюю зону 4×4 в соответствующем блоке коэффициентов преобразования. Например, матрица ядра преобразования 8×8 может представлять собой матрицу 64×64/16×64, и матрица ядра преобразования 4×4 может представлять собой матрицу 16×16/8×16.
[111] В этом случае, для выбора ядра преобразования на основе режима, два ядра неразделимого вторичного преобразования в расчете на набор для преобразования для неразделимого вторичного преобразования могут быть сконфигурированы относительно всех из преобразования 8×8 и преобразования 4×4, и могут предоставляться четыре набора для преобразования. Таким образом, четыре набора для преобразования могут быть сконфигурированы относительно преобразования 8×8, и четыре набора для преобразования могут быть сконфигурированы относительно преобразования 4×4. В этом случае, каждый из четырех наборов для преобразования для преобразования 8×8 может включать в себя два ядра преобразования 8×8, и каждый из четырех наборов для преобразования для преобразования 4×4 может включать в себя два ядра преобразования 4×4.
[112] Тем не менее, размер субблока преобразования, число наборов и число ядер преобразования в наборе являются примерными, и может использоваться размер, отличный от 8×8 или 4×4, либо n наборов могут быть сконфигурированы, и k ядер преобразования могут быть включены в каждый набор. Здесь, n и k могут быть положительными целыми числами.
[113] Например, набор для преобразования может называться "NSST-набором", и ядро преобразования в NSST-наборе может называться "NSSAT-ядром". Например, выбор конкретного набора из наборов для преобразования может выполняться на основе режима внутреннего прогнозирования целевого блока (CU или субблока).
[114] Например, режим внутреннего прогнозирования может включать в себя два режима ненаправленного или неуглового внутреннего прогнозирования и 65 режимов направленного или углового внутреннего прогнозирования. Режимы ненаправленного внутреннего прогнозирования могут включать в себя режим планарного внутреннего прогнозирования номер 0 и режим внутреннего DC-прогнозирования номер 1, и режимы направленного внутреннего прогнозирования могут включать в себя 65 режимов внутреннего прогнозирования (номер 2-66). Тем не менее, это является примерным, и вариант осуществления согласно настоящему документу может применяться даже к случаю, в котором предоставляется другое число режимов внутреннего прогнозирования. Между тем, в некоторых случаях, режим внутреннего прогнозирования номер 67 дополнительно может использоваться, и режим внутреннего прогнозирования номер 67 может представлять режим на основе линейной модели (LM).
[115] Фиг. 5 примерно иллюстрирует внутренние направленные режимы в 65 направлениях прогнозирования.
[116] Ссылаясь на фиг. 5, режимы могут разделяться на режимы внутреннего прогнозирования, имеющие горизонтальную направленность, и режимы внутреннего прогнозирования, имеющие вертикальную направленность относительно режима внутреннего прогнозирования номер 34, имеющего левое верхнее диагональное направление прогнозирования. На фиг. 5, H и V могут означать горизонтальную направленность и вертикальную направленность, соответственно, и номера от -32 до 32 могут представлять смещения в единицах 1/32 для позиции на сетке выборок. Оно может представлять смещение для значения индекса режима.
[117] Например, режимы внутреннего прогнозирования номер 2-33 могут иметь горизонтальную направленность, и режимы внутреннего прогнозирования номер 34-66 имеют вертикальную направленность. Между тем, с технической точки зрения, режим внутреннего прогнозирования номер 34 может считаться не имеющим ни горизонтальной направленности, ни вертикальной направленности, но может классифицироваться как принадлежащий горизонтальной направленности с точки зрения определения набора для преобразования для вторичного преобразования. Это обусловлено тем, что входные данные транспонируются и используются относительно вертикальных направленных режимов, симметричных относительно режима внутреннего прогнозирования номер 34, и способ компоновки входных данных для горизонтального направленного режима используется относительно режима внутреннего прогнозирования номер 34. Здесь, транспозиция входных данных может означать конфигурацию данных NxM таким способом, что строки становятся столбцами, и столбцы становятся строками относительно двумерных блочных данных MxN.
[118] Дополнительно, режим внутреннего прогнозирования номер 18 и режим внутреннего прогнозирования номер 50 могут представлять режим горизонтального внутреннего прогнозирования и режим вертикального внутреннего прогнозирования, соответственно, и режим внутреннего прогнозирования номер 2 может называться "режимом правого верхнего диагонального внутреннего прогнозирования", поскольку прогнозирование выполняется в направлении вверх и вправо с левым опорным пикселом. В идентичном контексте, режим внутреннего прогнозирования номер 34 может называться "режимом правого нижнего диагонального внутреннего прогнозирования", и режим внутреннего прогнозирования номер 66 может называться "режимом левого нижнего диагонального внутреннего прогнозирования".
[119] Между тем, если определяется то, что конкретный набор используется для неразделимого преобразования, одно из k ядер преобразования в конкретном наборе может выбираться через индекс неразделимого вторичного преобразования. Например, оборудование кодирования может извлекать индекс неразделимого вторичного преобразования, представляющий конкретное ядро преобразования, на основе проверки искажения в зависимости от скорости передачи (RD) и может передавать в служебных сигналах индекс неразделимого вторичного преобразования в оборудование декодирования. Например, оборудование декодирования может выбирать одно из k ядер преобразования в конкретном наборе на основе индекса неразделимого вторичного преобразования. Например, NSST-индекс, имеющий значение 0, может представлять первое ядро неразделимого вторичного преобразования, NSST-индекс, имеющий значение 1, может представлять второе ядро неразделимого вторичного преобразования, и NSST-индекс, имеющий значение 2, может представлять третье ядро неразделимого вторичного преобразования. Альтернативно, NSST-индекс, имеющий значение 0, может представлять то, что первое неразделимое вторичное преобразование не применяется к целевому блоку, и NSST-индекс, имеющий значение 1-3, может указывать три ядра преобразования, как описано выше.
[120] Преобразователь может выполнять неразделимое вторичное преобразование на основе выбранных ядер преобразования и может получать модифицированные коэффициенты (вторичного) преобразования. Модифицированные коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через вышеописанный квантователь и могут кодироваться с возможностью передаваться в служебных сигналах в оборудование декодирования, и могут передаваться в деквантователь/обратный преобразователь в оборудовании кодирования.
[121] Между тем, если вторичное преобразование опускается, как описано выше, коэффициенты (первичного) преобразования, которые представляют собой выводы первичного (разделимого) преобразования, могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь, как описано выше, и могут кодироваться с возможностью передаваться в служебных сигналах в оборудование декодирования и могут передаваться в деквантователь/обратный преобразователь в оборудовании кодирования.
[122] Снова ссылаясь в фиг. 4, обратный преобразователь может выполнять последовательность процедур в обратном порядке по отношению к процедурам, выполняемым посредством вышеописанного преобразователя. Обратный преобразователь может принимать (деквантованные) коэффициенты преобразования, извлекать коэффициенты (первичного) преобразования посредством выполнения вторичного (обратного) преобразования (S450) и получать остаточный блок (остаточные выборки) посредством выполнения первичного (обратного) преобразования относительно коэффициентов (первичного) преобразования (S460). Здесь, коэффициенты первичного преобразования могут называться "модифицированными коэффициентами преобразования на стороне обратного преобразователя". Как описано выше, оборудование кодирования и/или оборудование декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленный кадр на его основе.
[123] Между тем, оборудование декодирования дополнительно может включать в себя модуль определения применения/неприменения вторичного обратного преобразования (или элемент для определения того, следует или нет применять вторичное обратное преобразование), и модуль определения вторичного обратного преобразования (или элемент для определения вторичного обратного преобразования). Например, модуль определения применения/неприменения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование. Например, вторичное обратное преобразование может представлять собой NSST или RST, и модуль определения применения/неприменения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе флага вторичного преобразования, синтаксически проанализированного или полученного из потока битов. Альтернативно, например, модуль определения применения/неприменения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе коэффициента преобразования остаточного блока.
[124] Модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование. В этом случае, модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование, применяемое к текущему блоку, на основе набора для NSST-(или RST-)преобразования, указываемого в соответствии с режимом внутреннего прогнозирования. Альтернативно, способ определения вторичного преобразования может определяться в зависимости от способа определения первичного преобразования. Альтернативно, различные комбинации первичного преобразования и вторичного преобразования могут определяться в соответствии с режимом внутреннего прогнозирования. Например, модуль определения вторичного обратного преобразования может определять зону, к которой вторичное обратное преобразование применяется, на основе размера текущего блока.
[125] Между тем, если вторичное (обратное) преобразование опускается, как описано выше, остаточный блок (остаточные выборки) может получаться посредством приема (деквантованных) коэффициентов преобразования и выполнения первичного (разделимого) обратного преобразования. Как описано выше, оборудование кодирования и/или оборудование декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленный кадр на его основе.
[126] Между тем, в настоящем документе, чтобы уменьшать объем вычислений и требуемый объем запоминающего устройства, вызываемые посредством неразделимого вторичного преобразования, сокращенное вторичное преобразование (RST), имеющее уменьшенный размер матрицы (ядра) преобразования, может применяться к понятию NSST.
[127] В настоящем документе, RST может означать (упрощенное) преобразование, выполняемое относительно остаточных выборок для целевого блока, на основе матрицы преобразования, размер которой уменьшается в соответствии с коэффициентом упрощения. В случае выполнения этого объем вычислений, требуемый во время преобразования, может уменьшаться вследствие уменьшения размера матрицы преобразования. Таким образом, RST может использоваться для того, чтобы разрешать проблему сложности вычислений, возникающую во время преобразования блока, имеющего большой размер, или неразделимого преобразования.
[128] Например, RST может называться с помощью различных терминов, таких как "сокращенное преобразование", "сокращенное вторичное преобразование", "преобразование с сокращением", "упрощенное преобразование" или "простое преобразование", и названия, с помощью которых называется RST, не ограничены перечисленными примерами. Дополнительно, RST главным образом выполняется в низкочастотной области, включающей в себя коэффициенты, которые не равны 0 в блоке преобразования, и в силу этого может называться "низкочастотным неразделимым преобразованием (LFNST)".
[129] Между тем, в случае если вторичное обратное преобразование выполняется на основе RST, обратный преобразователь 235 оборудования 200 кодирования и обратный преобразователь 322 оборудования 300 декодирования могут включать в себя обратный RST-модуль, извлекающий модифицированные коэффициенты преобразования на основе обратного RST для коэффициентов преобразования, и обратный первичный преобразователь, извлекающий остаточные выборки для целевого блока на основе обратного первичного преобразования для модифицированных коэффициентов преобразования. Обратное первичное преобразование означает обратное преобразование относительно первичного преобразования, применяемого к остатку. В настоящем документе, извлечение коэффициентов преобразования на основе преобразования может означать извлечение коэффициентов преобразования посредством применения соответствующего преобразования.
[130] Фиг. 6 и 7 являются схемами, поясняющими RST согласно варианту осуществления настоящего документа.
[131] Например, фиг. 6 может представлять собой чертеж, поясняющий то, что прямое сокращенное преобразование применяется, и фиг. 7 может представлять собой чертеж, поясняющий то, что обратное сокращенное преобразование применяется. В настоящем документе, целевой блок может представлять текущий блок, остаточный блок или блок преобразования в зависимости от того, кодирование чего выполняется.
[132] Например, в RST, N-мерный вектор может преобразовываться в R-мерный вектор, расположенный в другом пространстве, и матрица сокращенного преобразования может определяться. Здесь, N и R могут быть положительными целыми числами, и R может быть меньше N. N может означать квадрат длины одной стороны блока, к которому применяется преобразование, или общее число коэффициентов преобразования, соответствующих блоку, к которому применяется преобразование, и коэффициент упрощения может означать значение R/N. Коэффициент упрощения может называться с помощью различных терминов, таких как "сокращенный коэффициент", "коэффициент сокращения", "упрощенный коэффициент" или "простой коэффициент". Между тем, R может называться "уменьшенным коэффициентом", и в некоторых случаях, коэффициент упрощения может означать R. Дополнительно, в некоторых случаях, коэффициент упрощения может означать N/R-значение.
[133] Например, коэффициент упрощения или уменьшенный коэффициент может передаваться в служебных сигналах через поток битов, но не ограничен этим. Например, предварительно заданные значения для коэффициента упрощения или уменьшенного коэффициента могут сохраняться в оборудовании 200 кодирования и оборудовании 300 декодирования, и в этом случае, коэффициент упрощения или уменьшенный коэффициент может не передаваться в служебных сигналах отдельно.
[134] Например, размер (RxN) матрицы упрощенного преобразования может быть меньше размера (NxN) матрицы регулярного преобразования и может задаваться в следующем уравнении.
[135] уравнение 4
[136] Например, матрица T в блоке сокращенного преобразования, проиллюстрированном на фиг. 6, может представлять матрицу TRxN уравнения 4. Как показано на фиг. 6, в случае если остаточные выборки для целевого блока умножаются на матрицу TRxN упрощенного преобразования, коэффициенты преобразования для целевого блока могут извлекаться.
[137] Например, в случае если размер блока, к которому применяется преобразование, составляет 8×8, и R равен 16 (т.е. R/N=16/64=1/4), RST согласно фиг. 6 может выражаться посредством матричной операции, как указано в нижеприведенном уравнении 5. В этом случае, запоминающее устройство и операция умножения могут уменьшаться приблизительно до 1/4 посредством коэффициента упрощения.
[138] В настоящем документе, матричная операция может пониматься как операция получения вектора-столбца посредством размещения матрицы слева от вектора-столбца и умножения матрицы и вектора-столбца.
[139] уравнение 5
[140] В уравнении 5, r1-r64 могут представлять остаточные выборки для целевого блока. Альтернативно, например, они могут представлять собой коэффициенты преобразования, сформированные посредством применения первичного преобразования. На основе результата операции уравнения 5, коэффициенты ci преобразованиядля целевого блока могут извлекаться.
[141] Например, в случае если R равен 16, коэффициенты c1-c16 преобразования для целевого блока могут извлекаться. Если матрица преобразования, имеющая размер 64×64 (NxN), через применение регулярного преобразования, а не RST, умножается на остаточные выборки, имеющие размер 64×1 (Nx1), 64 (N) коэффициента преобразования для целевого блока могут извлекаться, но поскольку RST применяется, только 16 (N) коэффициентов преобразования для целевого блока могут извлекаться. Поскольку общее число коэффициентов преобразования для целевого блока уменьшается с N до R, объем данных, которые оборудование 200 кодирования передает в оборудование 300 декодирования, может уменьшаться, и в силу этого эффективность передачи между оборудованием 200 кодирования и оборудованием 300 декодирования может повышаться.
[142] С учетом размера матрицы преобразования, поскольку размер матрицы регулярного преобразования составляет 64×64 (NxN), и размер матрицы упрощенного преобразования уменьшается до 16×64 (RxN), использование запоминающего устройства при выполнении RST может уменьшаться в отношении R/N по сравнению со случаем, в котором регулярное преобразование выполняется. Дополнительно, по сравнению с числом (NxN) операций умножения, при использовании матрицы регулярного преобразования, использование матрицы упрощенного преобразования может сокращать число операций умножения (RxN) в отношении R/N.
[143] В варианте осуществления, преобразователь 232 оборудования 200 кодирования может извлекать коэффициенты преобразования для целевого блока посредством выполнения первичного преобразования и вторичного преобразования на основе RST для остаточных выборок для целевого блока. Коэффициенты преобразования могут передаваться в обратный преобразователь оборудования 300 декодирования, и обратный преобразователь 322 оборудования 300 декодирования может извлекать модифицированные коэффициенты преобразования на основе обратного сокращенного вторичного преобразования (RST) для коэффициентов преобразования и может извлекать остаточные выборки для целевого блока на основе обратного первичного преобразования модифицированных коэффициентов преобразования.
[144] Размер обратной RST-матрицы TNxR согласно варианту осуществления может составлять NxR, что меньше размера NxN матрицы регулярного обратного преобразования, и может иметь транспонированную взаимосвязь с матрицей TRxN упрощенного преобразования, проиллюстрированной в уравнении 4.
[145] Матрица Tt в блоке сокращенного обратного преобразования, проиллюстрированном на фиг. 7, может представлять обратную RST-матрицу TRxNT. Здесь, надстрочный индекс T может представлять транспонирование. Как показано на фиг. 7, в случае если коэффициенты преобразования для целевого блока умножаются на обратную RST-матрицу TRxNT, модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока могут извлекаться. Обратная RST-матрица TRxNT может выражаться как (TRxN)TNxR.
[146] Более конкретно, в случае если обратное RST применяется в качестве вторичного обратного преобразования, модифицированные коэффициенты преобразования для целевого блока могут извлекаться посредством умножения коэффициентов преобразования для целевого блока на обратную RST-матрицу TRxNT. Между тем, обратное RST может применяться в качестве обратного первичного преобразования, и в этом случае, остаточные выборки для целевого блока могут извлекаться, когда обратная RST-матрица TRxNT умножается на коэффициенты преобразования для целевого блока.
[147] В варианте осуществления, в случае если размер блока, к которому применяется обратное преобразование, составляет 8×8, и R равен 16 (т.е. R/N=16/64=1/4), RST согласно фиг. 7 может выражаться посредством матричной операции, как указано в нижеприведенном уравнении 6.
[148] уравнение 6
[149] В уравнении 6, c1-c16 могут представлять коэффициенты преобразования для целевого блока; rj, представляющий модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока, может извлекаться на основе результата операции уравнения 6. Таким образом, r1-rN, представляющие модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока, могут извлекаться.
[150] С учетом размера матрицы обратного преобразования, поскольку размер матрицы регулярного обратного преобразования составляет 64×64 (NxN), и размер матрицы упрощенного обратного преобразования уменьшается до 64×16 (NxR), использование запоминающего устройства при выполнении обратного RST может уменьшаться в отношении R/N по сравнению со случаем, в котором регулярное обратное преобразование выполняется. Дополнительно, по сравнению с числом (NxN) операций умножения, при использовании матрицы регулярного обратного преобразования, использование матрицы упрощенного обратного преобразования может уменьшать число (NxR) операций умножения в отношении R/N.
[151] Между тем, наборы для преобразования могут конфигурироваться и применяться даже относительно RST 8×8. Таким образом, соответствующее RST 8×8 может применяться в соответствии с набором для преобразования. Поскольку один набор для преобразования состоит из двух или трех ядер преобразования в соответствии с режимом внутреннего прогнозирования, он может быть выполнен с возможностью выбирать одно из четырех преобразований, что как максимум включает в себя даже случай, в котором вторичное преобразование не применяется. При преобразовании, когда вторичное преобразование не применяется, можно считать, что единичная матрица применяется. Если предполагается, что индекс 0, 1, 2 или 3 задается для четырех преобразований (например, индекс номер 0 может выделяться случаю, в котором единичная матрица, т.е. вторичное преобразование, не применяется), преобразование, которое должно применяться, может быть обозначено посредством передачи в служебных сигналах синтаксического элемента, которая представляет собой NSST-индекс, в каждый блок коэффициентов преобразования. Таким образом, через NSST-индекс NSST 8×8 может быть обозначено для левого верхнего блока 8×8, и в RST-конфигурации, RST 8×8 может быть обозначено. NSST 8×8 и RST 8×8 могут представлять преобразования, допускающие применение к зоне 8×8, включенной в соответствующий блок коэффициентов преобразования в случае, если W и H целевого блока, который становится целью преобразования, равны или больше 8, и зона 8×8 может представлять собой левую верхнюю зону 8×8 в соответствующем блоке коэффициентов преобразования. Аналогично, NSST 4×4 и RST 4×4 могут представлять преобразования, допускающие применение к зоне 4×4, включенной в соответствующий блок коэффициентов преобразования в случае, если W и H целевого блока равны или больше 4, и зона 4×4 может представлять собой левую верхнюю зону 4×4 в соответствующем блоке коэффициентов преобразования.
[152] Между тем, например, оборудование кодирования может извлекать поток битов посредством кодирования значения синтаксического элемента или квантованных значений коэффициента преобразования для остатка на основе различных способов кодирования, таких как экспоненциальный код Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Дополнительно, оборудование декодирования может извлекать значение синтаксического элемента или квантованных значений коэффициента преобразования для остатка на основе различных способов кодирования, таких как кодирование экспоненциальным кодом Голомба, CAVLC, CABAC и т.п.
[153] Например, вышеописанные способы кодирования могут выполняться в качестве контента, который описывается ниже.
[154] Фиг. 8 примерно иллюстрирует контекстно-адаптивное двоичное арифметическое кодирование (CABAC) для кодирования синтаксического элемента.
[155] Например, в процессе CABAC-кодирования, если входной сигнал представляет собой синтаксический элемент, который не представляет собой двоичное значение, значение входного сигнала может преобразовываться в двоичное значение через преобразование в двоичную форму. Дополнительно, если входной сигнал уже представляет собой двоичное значение (т.е. если значение входного сигнала представляет собой двоичное значение), преобразование в двоичную форму может не выполняться, и входной сигнал может использоваться как есть. Здесь, каждое двоичное число 0 или 1, составляющее двоичное значение, может называться "элементом разрешения". Например, если двоичная строка после преобразования в двоичную форму представляет собой 110, каждое из 1, 1 и 0 может представляться как один элемент разрешения. Элемент(ы) разрешения для одного синтаксического элемента может представлять значение синтаксического элемента. Преобразование в двоичную форму может быть основано на различном способе преобразования в двоичную форму, таком как процесс преобразования в двоичную форму усеченным кодом Райса или процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Процедура преобразования в двоичную форму может выполняться посредством модуля преобразования в двоичную форму в энтропийном кодере.
[156] После этого, преобразованные в двоичную форму элементы выборки синтаксического элемента могут вводиться в механизм регулярного кодирования или механизм обходного кодирования. Механизм регулярного кодирования оборудования кодирования может выделять контекстную модель, которая отражает значение вероятности относительно соответствующего элемента разрешения, и кодировать соответствующий элемент разрешения на основе выделяемой контекстной модели. Механизм регулярного кодирования оборудования кодирования может обновлять контекстную модель для соответствующего элемента разрешения после выполнения кодирования относительно соответствующих элементов разрешения. Элементы разрешения, кодируемые в качестве вышеописанного контента, могут представляться как контекстно-кодированные элементы разрешения.
[157] Между тем, в случае если преобразованные в двоичную форму элементы выборки синтаксического элемента вводятся в механизм обходного кодирования, они могут кодироваться следующим образом. Например, механизм обходного кодирования оборудования кодирования может опускать процедуру для оценки вероятности относительно входного элемента выборки и процедуру для обновления вероятностной модели, применяемые к элементу разрешения после кодирования. В случае если обходное кодирование применяется, оборудование кодирования может кодировать входной элемент выборки посредством применения регулярного распределения вероятностей вместо выделения контекстной модели, и за счет этого может повышаться скорость кодирования. Элемент разрешения, кодируемый в качестве вышеописанного контента, может представляться как обходной элемент разрешения.
[158] Энтропийное декодирование может представлять процесс для выполнения процесса, идентичного вышеописанному энтропийному кодированию, в обратном порядке.
[159] Оборудование декодирования (энтропийный декодер) может декодировать кодированную информацию изображений/видео. Информация изображений/видео может включать в себя связанную с сегментацией информацию, связанную с прогнозированием информацию (например, информацию разделения взаимного/внутреннего прогнозирования, информацию режима внутреннего прогнозирования, информацию режима взаимного прогнозирования и т.п.), остаточную информацию или связанную с внутриконтурной фильтрацией информацию либо может включать в себя различные синтаксические элементы из нее. Энтропийное кодирование может выполняться в единицах синтаксического элемента.
[160] Оборудование декодирования может выполнять преобразование в двоичную форму целевых синтаксических элементов. Здесь, преобразование в двоичную форму может быть основано на различных способах преобразования в двоичную форму, таких как процесс преобразования в двоичную форму усеченным кодом Райса или процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Оборудование декодирования может извлекать доступные строки элементов разрешения (возможные варианты строк элементов разрешения) для доступных значений целевых синтаксических элементов через процедуру преобразования в двоичную форму. Процедура преобразования в двоичную форму может выполняться посредством модуля преобразования в двоичную форму в энтропийном декодере.
[161] Оборудование декодирования может сравнивать извлеченную строку элементов разрешения с доступными строками элементов разрешения для соответствующих синтаксических элементов при последовательном декодировании или синтаксическом анализе соответствующих элементов разрешения на предмет целевых синтаксических элементов из входного бита(ов) в потоке битов. Если извлеченная строка элементов разрешения равна одной из доступных строк элементов разрешения, значение, соответствующее соответствующей строке элементов разрешения, извлекается в качестве значения соответствующего синтаксического элемента. Если нет, оборудование декодирования может повторно выполнять вышеописанную процедуру после дополнительного синтаксического анализа следующего бита в потоке битов. Посредством такого процесса, можно выполнять передачу в служебных сигналах конкретной информации (или конкретного синтаксического элемента) в потоке битов с использованием бита переменной длины даже без использования начального бита или конечного бита соответствующей информации. Через это, относительно меньший бит может выделяться относительно меньшего значения, и в силу этого может повышаться общая эффективность кодирования.
[162] Оборудование декодирования может выполнять декодирование на основе контекстных моделей или обходное декодирование соответствующих элементов разрешения в строке элементов разрешения из потока битов на основе технологии энтропийного кодирования, такой как CABAC или CAVLC.
[163] В случае если синтаксический элемент декодируется на основе контекстной модели, оборудование декодирования может принимать элемент разрешения, соответствующий синтаксическому элементу, через поток битов, может определять контекстную модель за счет использования синтаксического элемента и декодирования информации целевого блока декодирования или соседнего блока либо информации символов/элементов разрешения, декодированной на предыдущей стадии, и может извлекать значение синтаксического элемента посредством выполнения арифметического декодирования элемента разрешения через прогнозирование вероятности появления принимаемого элемента разрешения в соответствии с определенной контекстной моделью. После этого, контекстная модель следующего декодируемого элемента разрешения может обновляться на основе определенной контекстной модели.
[164] Контекстная модель может выделяться и обновляться посредством контекстно-кодированных (регулярно кодированных) элементов разрешения, и контекстная модель могут указываться на основе индекса контекста (ctxIdx) или приращения индекса контекста (ctxInc). CtxIdx может извлекаться на основе ctxInc. В частности, например, ctxIdx, представляющий контекстную модель для каждого из регулярно кодированных элементов разрешения, может извлекаться посредством суммы ctxInc и смещения индекса контекста (ctxIdxOffset). Например, ctxInc может извлекаться по-иному посредством элементов разрешения. ctxIdxOffset может представляться как наименьшее значение ctxIdx. Обычно, ctxIdxOffset может представлять собой значение, используемое для того, чтобы отличать ее от контекстных моделей для других синтаксических элементов, и контекстная модель для одного синтаксического элемента может разделяться или извлекаться на основе ctxInc.
[165] В процедуре энтропийного кодирования, может определяться то, следует выполнять кодирование через механизм регулярного кодирования или выполнять кодирование через механизм обходного кодирования, и, соответственно, тракт кодирования может переключаться. Энтропийное декодирование может выполнять процесс, идентичный энтропийному кодированию, в обратном порядке.
[166] Между тем, например, в случае если выполняется обходное декодирование синтаксического элемента, оборудование декодирования может принимать элемент разрешения, соответствующий синтаксическому элементу, через поток битов, и может декодировать входной элемент выборки посредством применения регулярного распределения вероятностей. В этом случае, оборудование декодирования может опускать процедуру извлечения контекстной модели синтаксического элемента и процедуру обновления контекстной модели, применяемые к элементу разрешения после декодирования.
[167] Между тем, вариант осуществления настоящего документа может предлагать схему для передачи в служебных сигналах MTS-индекса. Здесь, MTS-индекс, как описано выше, может представлять любой из множества наборов ядер преобразования, и MTS-индекс может кодироваться, и информация MTS-индекса может передаваться в служебных сигналах в оборудование декодирования. Оборудование декодирования может получать MTS-индекс посредством декодирования информации MTS-индекса и может определять набор ядер преобразования, который должен применяться, на основе MTS-индекса. MTS-индекс может представляться как синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx. Например, MTS-индекс может преобразовываться в двоичную форму с использованием нулевого порядка параметров Райса-Голомба, но может преобразовываться в двоичную форму на основе усеченного кода Райса. В случае преобразования в двоичную форму на основе усеченного кода Райса, входной параметр cMax может иметь значение 4, и cRiceParam может иметь значение 0. Например, оборудование кодирования может извлекать элемент(ы) разрешения для MTS-индекса посредством преобразования в двоичную форму MTS-индекса, извлекать информацию MTS-индекса (бит(ы) для MTS-индекса) посредством кодирования извлеченного элемента(ов) разрешения и передавать в служебных сигналах информацию MTS-индекса в оборудование декодирования. Оборудование декодирования может извлекать элемент(ы) разрешения для MTS-индекса посредством декодирования информации MTS-индекса и извлекать MTS-индекс посредством сравнения извлеченного элемента(ов) разрешения для MTS-индекса с возможными вариантами элементов разрешения для MTS-индекса.
[168] Например, MTS-индекс (например, синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx) может контекстно кодироваться на основе контекстной модели или индекса контекста относительно всех элементов разрешения. В этом случае, приращение индекса контекста (ctxInc) для контекстного кодирования MTS-индекса или ctxInc согласно местоположению элемента разрешения может выделяться или определяться так, как указано в таблице 2. Дополнительно, контекстная модель может выбираться согласно местоположению элемента разрешения так, как указано в таблице 2.
[169] Табл. 2
[170] Ссылаясь на таблицу 2, ctxInc для элемента разрешения номер 0 (первого элемента разрешения) может выделяться на основе cqtDepth. Здесь, cqtDepth может представлять глубину дерева квадрантов для текущего блока и может извлекаться в качестве одного значения в 0-5. Таким образом, ctxInc для нулевого элемента разрешения может выделяться одно значение в 0-5 согласно cqtDepth. Дополнительно, ctxInc для элемента разрешения номер 1 (второго элемента разрешения) может выделяться 6, ctxInc для элемента разрешения номер 2 (третьего элемента разрешения) может выделяться 7, и ctxInc для элемента разрешения номер 3 (четвертого элемента разрешения) может выделяться 8. Таким образом, элементу разрешения номер 0 - элементу разрешения номер 3 может выделяться ctxInc, имеющий различные значения. Здесь, различное значение ctxInc может представлять различные контекстные модели, и в этом случае, 9 контекстных моделей для кодирования MTS-индекса могут предоставляться.
[171] Дополнительно, например, MTS-индекс (например, синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx) может подвергаться обходному кодированию относительно всех элементов разрешения так, как указано в таблице 3. В этом случае, 0 контекстных моделей для кодирования MTS-индекса могут предоставляться.
[172] Табл. 3
[173] Дополнительно, например, MTS-индекс (например, синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx) может контекстно кодироваться на основе контекстной модели или индекса контекста относительно элемента разрешения номер 0 (первого элемента разрешения), как указано в таблице 4, и может подвергаться обходному кодированию относительно оставшихся элементов разрешения. Таким образом, ctxInc для элемента разрешения номер 0 (первого элемента разрешения) может выделяться 0. В этом случае, одна контекстная модель для кодирования MTS-индекса может предоставляться.
[174] Табл. 4
[175] Дополнительно, например, MTS-индекс (например, синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx) может контекстно кодироваться на основе контекстной модели или индекса контекста относительно элемента разрешения номер 0 (первого элемента разрешения) и элемента разрешения номер 1 (второго элемента разрешения), как указано в таблице 5, и может подвергаться обходному кодированию относительно оставшихся элементов разрешения. Таким образом, ctxInc для элемента разрешения номер 0 (первого элемента разрешения) может выделяться 0, и ctxInc для элемента разрешения номер 1 (второго элемента разрешения) может выделяться 1. В этом случае, 2 контекстных модели для кодирования MTS-индекса могут предоставляться.
[176] Табл. 5
[177] Дополнительно, например, MTS-индекс (например, синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx) может контекстно кодироваться на основе контекстной модели или индекса контекста относительно всех элементов разрешения так, как указано в таблице 6, и может выделять один ctxInc относительно каждого элемента разрешения. Таким образом, ctxInc для элемента разрешения номер 0 (первого элемента разрешения) может выделяться 0, и ctxInc для элемента разрешения номер 1 (второго элемента разрешения) может выделяться 1; ctxInc для элемента разрешения номер 2 (третьего элемента разрешения) может выделяться 2, и ctxInc для элемента разрешения номер 3 (четвертого элемента разрешения) может выделяться 2. В этом случае, 4 контекстных модели для кодирования MTS-индекса могут предоставляться.
[178] Табл. 6
[179] Как описано выше, согласно варианту осуществления, поскольку число контекстных моделей уменьшается посредством применения обходного кодирования ко всем или некоторым элементам разрешения MTS-индекса или применения конкретного значения к ctxInc, хотя контекстное кодирование применяется, сложность может понижаться, и объем вывода декодера может увеличиваться. Дополнительно, в варианте осуществления, в случае использования контекстных моделей, как описано выше, начальное значение и/или многооконный размер могут быть переменными на основе статистики возникновения для позиции каждого элемента разрешения.
[180] Фиг. 9 и 10 схематично иллюстрируют способ кодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.
[181] Способ, раскрытый на фиг. 9, может осуществляться посредством оборудования кодирования, раскрытого на фиг. 2 или фиг. 10. В частности, например, S900-S920 по фиг. 9 могут выполняться посредством остаточного процессора 230 оборудования кодирования по фиг. 10, и S930 по фиг. 9 может выполняться посредством энтропийного кодера 240 оборудования кодирования по фиг. 10. Дополнительно, хотя не проиллюстрировано на фиг. 9, прогнозные выборки или связанная с прогнозированием информация могут извлекаться посредством модуля 220 прогнозирования оборудования кодирования по фиг. 10, остаточная информация может извлекаться из исходных выборок или прогнозных выборок посредством остаточного процессора 230 оборудования кодирования, и поток битов может формироваться из остаточной информации или связанной с прогнозированием информации посредством энтропийного кодера 240 оборудования кодирования. Способ, раскрытый на фиг. 9, может включать в себя варианты осуществления, описанные выше в настоящем документе.
[182] Ссылаясь на фиг. 9, оборудование кодирования извлекает остаточные выборки для текущего блока (S900). Например, оборудование кодирования может извлекать остаточные выборки на основе прогнозных выборок и исходных выборок. Хотя не проиллюстрировано на фиг. 9, чтобы формировать прогнозные выборки для текущего блока, оборудование кодирования может выполнять внутреннее прогнозирование или взаимное прогнозирование относительно текущего блока с учетом функции RD затрат на искажение в зависимости от скорости передачи и может формировать связанную с прогнозированием информацию, включающую в себя информацию режима/типа прогнозирования.
[183] Оборудование кодирования извлекает коэффициенты преобразования для текущего блока на основе остаточных выборок (S910). Например, оборудование кодирования может извлекать коэффициенты преобразования посредством выполнения преобразования относительно остаточных выборок. Здесь, преобразование может выполняться на основе ядра преобразования или набора ядер преобразования. Например, набор ядер преобразования может включать в себя ядро преобразования в горизонтальном направлении и ядро преобразования в вертикальном направлении. Например, оборудование кодирования может извлекать коэффициенты преобразования посредством выполнения первичного преобразования относительно остаточных выборок. Дополнительно, например, оборудование кодирования может извлекать временные коэффициенты преобразования посредством выполнения первичного преобразования относительно остаточных выборок и может извлекать коэффициенты преобразования посредством выполнения вторичного преобразования относительно временных коэффициентов преобразования. Например, преобразование, которое выполняется на основе набора ядер преобразования, может представляться как первичное преобразование.
[184] Оборудование кодирования формирует MTS-индекс и остаточную информацию на основе коэффициентов преобразования (S920). Другими словами, оборудование кодирования может формировать MTS-индекс и/или остаточную информацию на основе коэффициентов преобразования.
[185] MTS-индекс может представлять набор ядер преобразования, применяемый к (коэффициентам преобразования) текущего блока, из возможных вариантов наборов ядер преобразования. Здесь, MTS-индекс может представляться как синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx. Как описано выше, набор ядер преобразования может включать в себя ядро преобразования в горизонтальном направлении и ядро преобразования в вертикальном направлении, и ядро преобразования в горизонтальном направлении может представляться как trTypeHor, и ядро преобразования в вертикальном направлении может представляться как trTypeVer.
[186] Например, значения trTypeHor и trTypeVer могут представляться посредством ядра преобразования в горизонтальном направлении и ядра преобразования в вертикальном направлении, применяемых к (коэффициентам преобразования) текущего блока, и MTS-индекс может представляться как один из возможных вариантов, включающих в себя 0-4, посредством значений trTypeHor и trTypeVer.
[187] Например, если MTS-индекс равен 0, может представляться то, что trTypeHor и trTypeVer равны 0. Дополнительно, если MTS-индекс равен 1, он может представлять то, что trTypeHor и trTypeVer равны 1. Дополнительно, если MTS-индекс равен 2, он может представлять то, что trTypeHor равен 2, и trTypeVer равен 1. Если MTS-индекс равен 3, он может представлять то, что trTypeHor равен 1, и trTypeVer равен 1. Дополнительно, если MTS-индекс равен 4, он может представлять то, что trTypeHor и trTypeVer равны 2. Например, если значение trTypeHor или trTypeVer равно 0, оно может представлять то, что DCT2 применяется к (коэффициентам преобразования) текущего блока в горизонтальном направлении или в вертикальном направлении, если 1, оно может представлять то, что DST7 применяется, и если 2, оно может представлять то, что DCT8 применяется. Таким образом, каждое из ядра преобразования, которое должно применяться в горизонтальном направлении, и ядра преобразования, которое должно применяться в вертикальном направлении, может представляться как один из возможных вариантов, включающих в себя DCT2, DST7 и DCT8, на основе MTS-индекса.
[188] MTS-индекс может представляться на основе элементов разрешения из строки элементов разрешения MTS-индекса. Другими словами, MTS-индекс может преобразовываться в двоичную форму и представляться в качестве (элементов разрешения) из строки элементов разрешения MTS-индекса, и (элементы разрешения) из строки элементов разрешения MTS-индекса могут энтропийно кодироваться.
[189] Другими словами по меньшей мере один из элементов разрешения из строки элементов разрешения MTS-индекса может представляться на основе контекстного кодирования. Здесь, контекстное кодирование может выполняться на основе значения приращения индекса контекста (ctxInc). Дополнительно, контекстное кодирование может выполняться на основе индекса контекста (ctxIdx) или контекстной модели. Здесь, индекс контекста может представляться на основе значения приращения индекса контекста. Дополнительно, индекс контекста может представляться на основе значения приращения индекса контекста и смещения индекса контекста (ctxIdxOffset).
[190] Например, все элементы разрешения из строки элементов разрешения MTS-индекса могут представляться на основе контекстного кодирования. Например, ctxInc для первого элемента разрешения или нулевого элемента разрешения (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может представляться на основе cqtDepth. Здесь, cqtDepth может представлять глубину дерева квадрантов для текущего блока и может представляться как одно значение из 0-5. Дополнительно, ctxInc для второго элемента разрешения или элемента разрешения номер 1 (элемента 1 разрешения) может представляться как 6, ctxInc для третьего элемента разрешения или элемента разрешения номер 2 (элемента 2 разрешения) может представляться как 7, и ctxInc для четвертого элемента разрешения или элемента разрешения номер 3 (элемента 3 разрешения) может представляться как 8. Дополнительно, например, ctxInc для первого элемента разрешения или нулевого элемента разрешения (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может представляться как 0, ctxInc для второго элемента разрешения или элемента разрешения номер 1 (элемента 1 разрешения) может представляться как 1, ctxInc для третьего элемента разрешения или элемента разрешения номер 2 (элемента 2 разрешения) может представляться как 2, и ctxInc для четвертого элемента разрешения или элемента разрешения номер 3 (элемента 3 разрешения) может представляться как 3. Таким образом, число значений приращения индекса контекста, которые могут использоваться для контекстного кодирования первого элемента разрешения из элементов разрешения из строки элементов разрешения, может быть равно единице.
[191] Дополнительно, например, некоторые элементы разрешения из строки элементов разрешения MTS-индекса могут представляться на основе контекстного кодирования, и оставшиеся могут представляться на основе обходного кодирования. Например, ctxInc для первого элемента разрешения или элемента разрешения номер 0 (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может представляться как 0, и оставшиеся элементы разрешения могут представляться на основе обходного кодирования. Дополнительно, например, ctxInc для первого элемента разрешения или элемента разрешения номер 0 (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может представляться как 0, ctxInc для второго элемента разрешения или элемента разрешения номер 1 (элемента 1 разрешения) может представляться как 1, и оставшиеся элементы разрешения могут представляться на основе обходного кодирования. Таким образом, число значений приращения индекса контекста, которые могут использоваться для контекстного кодирования первого элемента разрешения из элементов разрешения из строки элементов разрешения, может быть равно единице.
[192] Дополнительно, все элементы разрешения из строки элементов разрешения MTS-индекса могут представляться на основе обходного кодирования. Здесь, обходное кодирование может представлять выполнение контекстного кодирования на основе равномерного распределения вероятностей, и поскольку процедура обновления контекстного кодирования опускается, эффективность кодирования может повышаться.
[193] Остаточная информация может представлять информацию, которая используется для того, чтобы извлекать остаточные выборки. Дополнительно, например, оборудование кодирования может выполнять квантование для коэффициентов преобразования, и остаточная информация может включать в себя информацию относительно остаточных выборок, связанную с преобразованием информацию и/или связанную с квантованием информацию. Например, остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.
[194] Оборудование кодирования кодирует информацию изображений, включающую в себя MTS-индекс и остаточную информацию (S930). Например, информация изображений дополнительно может включать в себя связанную с прогнозированием информацию. Например, оборудование кодирования может формировать поток битов посредством кодирования информации изображений. Здесь, поток битов может называться "кодированной информацией (изображений)".
[195] Дополнительно, хотя не проиллюстрировано на фиг. 9, например, оборудование кодирования может формировать восстановленные выборки на основе остаточных выборок и прогнозных выборок. Дополнительно, восстановленный блок и восстановленный кадр могут извлекаться на основе восстановленных выборок.
[196] Например, оборудование кодирования может формировать информацию потока битов или кодированную информацию посредством кодирования информации изображений, включающей в себя все или части вышеописанных фрагментов информации (или синтаксических элементов). Дополнительно, информация может выводиться в форме потока битов. Дополнительно, поток битов или кодированная информация может передаваться в оборудование декодирования через сеть или носитель хранения данных. Дополнительно, поток битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных, и поток битов или кодированная информация может формироваться посредством вышеописанного способа кодирования изображений.
[197] Фиг. 11 и 12 схематично иллюстрируют способ декодирования видео/изображений и пример связанных компонентов согласно варианту(ам) осуществления настоящего документа.
[198] Способ, раскрытый на фиг. 11, может осуществляться посредством оборудования декодирования, раскрытого на фиг. 3 или фиг. 12. В частности, например, S1100 по фиг. 11 может выполняться посредством энтропийного декодера 310 оборудования декодирования по фиг. 12, и S1110 и S1120 по фиг. 11 могут выполняться посредством остаточного процессора 320 оборудования декодирования по фиг. 12. Дополнительно, хотя не проиллюстрировано на фиг. 11, связанная с прогнозированием информация или остаточная информация может извлекаться из потока битов посредством энтропийного декодера 310 оборудования декодирования по фиг. 12, и остаточные выборки могут извлекаться из остаточной информации посредством остаточного процессора 320 оборудования декодирования. Прогнозные выборки могут извлекаться из связанной с прогнозированием информации посредством модуля 330 прогнозирования оборудования декодирования, и восстановленный блок или восстановленный кадр может извлекаться из остаточных выборок или прогнозных выборок посредством сумматора 340 оборудования декодирования. Способ, раскрытый на фиг. 11, может включать в себя варианты осуществления, описанные выше в настоящем документе.
[199] Ссылаясь на фиг. 11, оборудование декодирования получает MTS-индекс и остаточную информацию из потока битов (S1100). Например, оборудование декодирования может получать MTS-индекс и/или остаточную информацию посредством синтаксического анализа или декодирования потока битов. Здесь, поток битов может называться "кодированной информацией (изображений)".
[200] MTS-индекс может представлять набор ядер преобразования, который должен применяться к текущему блоку, из возможных вариантов наборов ядер преобразования. Здесь, MTS-индекс может представляться как синтаксический элемент tu_mts_idx или синтаксический элемент mts_idx. Дополнительно, набор ядер преобразования может включать в себя ядро преобразования, которое должно применяться к текущему блоку в горизонтальном направлении, и ядро преобразования, которое должно применяться к текущему блоку в вертикальном направлении. Здесь, ядро преобразования, которое должно применяться в горизонтальном направлении, может представляться как trTypeHor, и ядро преобразования, которое должно применяться в вертикальном направлении, может представляться как trTypeVer.
[201] Например, MTS-индекс может извлекаться в качестве одного из возможных вариантов, включающих в себя 0-4, и в соответствии с MTS-индексом, каждый из trTypeHor и trTypeVer может извлекаться в качестве одного из 0-2. Например, если MTS-индекс равен 0, trTypeHor и trTypeVer могут быть равны 0. Дополнительно, если MTS-индекс равен 1, trTypeHor и trTypeVer могут быть равны 1. Дополнительно, если MTS-индекс равен 2, trTypeHor может быть равно 2, и trTypeVer может быть равно 1. Если MTS-индекс равен 3, trTypeHor может быть равно 1, и trTypeVer может быть равно 1. Дополнительно, если MTS-индекс равен 4, trTypeHor и trTypeVer могут быть равны 2. Например, значение trTypeHor или trTypeVer может представлять ядро преобразования, и если 0, оно может представлять DCT2, если 1, оно может представлять DST7, и если 2, оно может представлять DCT8. Таким образом, каждое из ядра преобразования, которое должно применяться в горизонтальном направлении, и ядра преобразования, которое должно применяться в вертикальном направлении, может извлекаться в качестве одного из возможных вариантов, включающих в себя DCT2, DST7 и DCT8, на основе MTS-индекса.
[202] MTS-индекс может извлекаться на основе элементов разрешения из строки элементов разрешения MTS-индекса. Другими словами, информация MTS-индекса может энтропийно декодироваться и может извлекаться в качестве преобразованного в двоичную форму MTS-индекса, и преобразованный в двоичную форму MTS-индекс может представляться как (элементы разрешения) из строки элементов разрешения MTS-индекса.
[203] Другими словами по меньшей мере один из элементов разрешения из строки элементов разрешения MTS-индекса может извлекаться на основе контекстного кодирования. Здесь, контекстное кодирование может выполняться на основе значения приращения индекса контекста (ctxInc). Дополнительно, контекстное кодирование может выполняться на основе индекса контекста (ctxIdx) или контекстной модели. Здесь, индекс контекста может извлекаться на основе значения приращения индекса контекста. Дополнительно, индекс контекста может извлекаться на основе значения приращения индекса контекста и смещения индекса контекста (ctxIdxOffset).
[204] Например, все элементы разрешения из строки элементов разрешения MTS-индекса могут извлекаться на основе контекста кодирования. Например, ctxInc для первого элемента разрешения или нулевого элемента разрешения (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может выделяться на основе cqtDepth. Здесь, cqtDepth может представлять глубину дерева квадрантов для текущего блока и может извлекаться в качестве одного значения из 0-5. Дополнительно, ctxInc для второго элемента разрешения или элемента разрешения номер 1 (элемента 1 разрешения) может выделяться 6, ctxInc для третьего элемента разрешения или элемента разрешения номер 2 (элемента 2 разрешения) может выделяться 7, и ctxInc для четвертого элемента разрешения или элемента разрешения номер 3 (элемента 3 разрешения) может выделяться 8. Дополнительно, например, ctxInc для первого элемента разрешения или нулевого элемента разрешения (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может выделяться 0, ctxInc для второго элемента разрешения или элемента разрешения номер 1 (элемента 1 разрешения) может выделяться 1, ctxInc для третьего элемента разрешения или элемента разрешения номер 2 (элемента 2 разрешения) может выделяться 2, и ctxInc для четвертого элемента разрешения или элемента разрешения номер 3 (элемента 3 разрешения) может выделяться 3. Таким образом, число значений приращения индекса контекста, которые могут использоваться для контекстного кодирования первого элемента разрешения из элементов разрешения из строки элементов разрешения, может быть равно единице.
[205] Дополнительно, например, некоторые элементы разрешения из строки элементов разрешения MTS-индекса могут извлекаться на основе контекстного кодирования, и оставшиеся могут извлекаться на основе обходного кодирования. Например, ctxInc для первого элемента разрешения или элемента разрешения номер 0 (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может выделяться 0, и оставшиеся элементы разрешения могут извлекаться на основе обходного кодирования. Дополнительно, например, ctxInc для первого элемента разрешения или элемента разрешения номер 0 (элемента 0 разрешения) из элементов разрешения из строки элементов разрешения MTS-индекса может выделяться 0, ctxInc для второго элемента разрешения или элемента разрешения номер 1 (элемента 1 разрешения) может выделяться 1, и оставшиеся элементы разрешения могут извлекаться на основе обходного кодирования. Таким образом, число значений приращения индекса контекста, которые могут использоваться для контекстного кодирования первого элемента разрешения из элементов разрешения из строки элементов разрешения, может быть равно единице.
[206] Дополнительно, все элементы разрешения из строки элементов разрешения MTS-индекса могут извлекаться на основе обходного кодирования. Здесь, обходное кодирование может представлять выполнение контекстного кодирования на основе равномерного распределения вероятностей, и поскольку процедура обновления контекстного кодирования опускается, эффективность кодирования может повышаться.
[207] Остаточная информация может представлять информацию, которая используется для того, чтобы извлекать остаточные выборки, и может включать в себя информацию относительно остаточных выборок, связанную с обратным преобразованием информацию и/или связанную с деквантованием информацию. Например, остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.
[208] Оборудование декодирования извлекает коэффициенты преобразования для текущего блока на основе остаточной информации (S1110). Например, оборудование декодирования может извлекать квантованные коэффициенты преобразования для текущего блока на основе информации относительно квантованных коэффициентов преобразования, включенную в остаточную информацию. Например, оборудование декодирования может извлекать коэффициенты преобразования для текущего блока посредством выполнения деквантования относительно квантованных коэффициентов преобразования.
[209] Оборудование декодирования формирует остаточные выборки текущего блока на основе MTS-индекса и коэффициентов преобразования (S1120). Например, остаточные выборки могут формироваться на основе набора ядер преобразования, представляемого посредством коэффициентов преобразования и MTS-индекса. Таким образом, оборудование декодирования может формировать остаточные выборки из коэффициентов преобразования через обратное преобразование с использованием набора ядер преобразования, представляемого посредством MTS-индекса. Здесь, обратное преобразование с использованием набора ядер преобразования, представляемого посредством MTS-индекса, может включаться в первичное обратное преобразование. Дополнительно, оборудование декодирования может использовать не только первичное обратное преобразование, но также и вторичное обратное преобразование при формировании остаточных выборок из коэффициентов преобразования. В этом случае, оборудование декодирования может извлекать модифицированные коэффициенты преобразования посредством выполнения вторичного обратного преобразования относительно коэффициентов преобразования и может формировать остаточные выборки посредством выполнения первичного обратного преобразования относительно модифицированных коэффициентов преобразования.
[210] Хотя не проиллюстрировано на фиг. 11, например, оборудование декодирования может получать связанную с прогнозированием информацию, включающую в себя режим/тип прогнозирования, из потока битов и может формировать прогнозные выборки для текущего блока посредством выполнения внутреннего прогнозирования или взаимного прогнозирования на основе информации режима/типа прогнозирования. Дополнительно, например, оборудование декодирования может формировать восстановленные выборки на основе прогнозных выборок и остаточных выборок. Дополнительно, например, восстановленный блок или восстановленный кадр может извлекаться на основе восстановленных выборок.
[211] Например, оборудование декодирования может получать информацию изображений, включающую в себя все или части вышеописанных фрагментов информации (или синтаксических элементов), посредством декодирования потока битов или кодированной информации. Дополнительно, поток битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных и может инструктировать осуществление вышеописанного способа декодирования.
[212] Хотя способы описываются на основе блок-схемы последовательности операций способа, на которой этапы или блоки перечисляются в последовательности в вышеописанных вариантах осуществления, этапы настоящего документа не ограничены определенным порядком, и определенный этап может выполняться на другом этапе или в другом порядке либо одновременно относительно того, что описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы блок-схем последовательности операций способа не являются единственно возможными, и другой этап может включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия.
[213] Вышеуказанный способ согласно настоящему раскрытию может осуществляться в форме программного обеспечения, и оборудования кодирование и/или оборудование декодирования согласно настоящему раскрытию могут включаться в устройство для выполнения обработки изображений, например, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения и т.п.
[214] Когда варианты осуществления настоящего раскрытия реализуются посредством программного обеспечения, вышеуказанный способ может реализовываться посредством модуля (процесса или функции), который выполняет вышеуказанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может устанавливаться внутри или снаружи процессора и может соединяться с процессором через различные известные средства. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Другими словами, варианты осуществления согласно настоящему раскрытию могут реализовываться и выполняться на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, проиллюстрированные на соответствующих чертежах, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно реализации (например, информация относительно инструкций) или алгоритмы могут сохраняться на цифровом носителе хранения данных.
[215] Помимо этого, оборудование декодирования и оборудование кодирования, к которым применяется вариант(ы) осуществления настоящего документа, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов и устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, поставщик услуг на основе технологии "видео по запросу (VoD)", видеоустройство поверх сетей (OTT), поставщик услуг потоковой передачи по Интернету, трехмерное видеоустройство, устройство в стиле виртуальной реальности (VR), устройство в стиле дополненной реальности (AR), телефонное видеоустройство, терминал в транспортном средстве (например, терминал в транспортном средстве (в том числе в автономном транспортном средстве), терминал в воздушном судне или терминал в морском судне) и медицинское видеоустройство; и могут использоваться для того, чтобы обрабатывать сигнал изображения или данные. Например, OTT-видеоустройство может включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC и цифровое записывающее видеоустройство (DVR).
[216] Помимо этого, способ обработки, к которому применяется вариант(ы) осуществления настоящего документа, может формироваться в форме программы, выполняемой посредством компьютера, и может сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно варианту(ам) осуществления настоящего документа, также могут сохраняться на компьютерно-читаемом носителе записи. Компьютерно-читаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются компьютерно-читаемые данные. Компьютерно-читаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Компьютерно-читаемый носитель записи также включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или передаваться через сеть проводной или беспроводной связи.
[217] Помимо этого, вариант(ы) осуществления настоящего документа может осуществляться в качестве компьютерного программного продукта на основе программного кода, и программный код может выполняться на компьютере согласно варианту(ам) осуществления настоящего документа. Программный код может сохраняться на компьютерно-читаемом носителе.
[218] Фиг. 13 иллюстрирует пример системы потоковой передачи контента, к которой являются применимыми варианты осуществления, раскрытые в настоящем документе.
[219] Ссылаясь на фиг. 13, система потоковой передачи контента, к которой являются применимыми варианты осуществления, раскрытые в настоящем документе, в общем, может включать в себя сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[220] Сервер кодирования функционирует для того, чтобы сжимать в цифровые данные контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.п., чтобы формировать поток битов и передавать его на потоковый сервер. В качестве другого примера, в случае если устройство ввода мультимедиа, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно формирует поток битов, сервер кодирования может опускаться.
[221] Поток битов может формироваться посредством способа кодирования или способа формирования потоков битов, к которому применяются варианты осуществления настоящего документа. Кроме того, потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[222] Потоковый сервер передает мультимедийные данные в абонентское устройство на основе запроса пользователя через веб-сервер, который функционирует в качестве инструментария, который информирует пользователя в отношении того, какая услуга предусмотрена. Когда пользователь запрашивает услугу, которую пользователь хочет, веб-сервер передает запрос на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом отношении, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует для того, чтобы управлять командами/ответами между соответствующим оборудованием в системе потоковой передачи контента.
[223] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, в случае если контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, потоковый сервер может сохранять поток битов в течение предварительно определенного периода времени, чтобы плавно предоставлять услугу потоковой передачи.
[224] Например, абонентское устройство может включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, терминал в виде часов (интеллектуальные часы), терминал в виде очков (интеллектуальные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, систему цифровых информационных табло и т.п.
[225] Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут обрабатываться распределенным способом.
[226] Пункты формулы изобретения в настоящем описании могут комбинироваться различными способами. Например, технические признаки в пунктах формулы изобретения на способ настоящего описания могут комбинироваться с возможностью реализовываться или выполняться в оборудовании, и технические признаки в пунктах формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе. Дополнительно, технические признаки в пункте(ах) формулы изобретения на способ и пункте(ах) формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в оборудовании. Дополнительно, технические признаки в пункте(ах) формулы изобретения на способ и пункте(ах) формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе.