СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ПРЕОБРАЗОВАНИЯ И УСТРОЙСТВО ДЛЯ ЭТОГО
METHOD OF ENCODING IMAGES BASED ON THE TRANSFORMATION AND DEVICE FOR IT

Уровень техники
Область техники, к которой относится изобретение
[1] Настоящее раскрытие сущности относится к технологии кодирования изображений, а более конкретно, к способу и устройству кодирования изображений на основе преобразования системы кодирования изображений.
Описание предшествующего уровня техники
[2] Потребности в высококачественных изображениях высокого разрешения, к примеру, в изображениях HD (высокой четкости) и изображениях UHD (сверхвысокой четкости), растут в различных областях техники. Поскольку данные изображений имеют высокое разрешение и высокое качество, объем информации или битов, которые должны передаваться, увеличивается относительно унаследованных данных изображений. Соответственно, когда данные изображений передаются с использованием такой среды, как традиционная проводная/беспроводная широкополосная линия, или данные изображений сохраняются с использованием существующего носителя данных, затраты на передачу и затраты на хранение для них увеличиваются.
[3] Соответственно, существует потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации высококачественных изображений высокого разрешения.
Сущность изобретения
[4] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и устройство для повышения эффективности кодирования изображений.
[5] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и устройство для повышения эффективности преобразования.
[6] Еще одна другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и устройство для повышения эффективности остаточного кодирования через преобразование.
[7] Еще одна другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и устройство кодирования изображений на основе сокращенного преобразования.
[8] Примерный вариант осуществления настоящего раскрытия сущности предоставляет способ декодирования изображений, осуществляемый посредством устройства декодирования. Способ включает в себя: извлечение квантованных коэффициентов преобразования для целевого блока из потока битов, извлечение коэффициентов преобразования посредством выполнения деквантования для квантованных коэффициентов преобразования для целевого блока, извлечение остаточных выборок для целевого блока на основе сокращенного обратного преобразования для коэффициентов преобразования и формирование восстановленного изображения на основе остаточных выборок для целевого блока и прогнозных выборок для целевого блока, и сокращенное обратное преобразование выполняется на основе матрицы сокращенного обратного преобразования, и матрица сокращенного обратного преобразования представляет собой неквадратную матрицу, причем число столбцов неквадратной матрицы меньше числа строк неквадратной матрицы.
[9] Другой примерный вариант осуществления настоящего раскрытия сущности предоставляет способ кодирования изображений, осуществляемый посредством устройства кодирования. Способ включает в себя: извлечение остаточных выборок для целевого блока, извлечение коэффициентов преобразования для целевого блока на основе сокращенного преобразования для остаточных выборок, извлечение квантованных коэффициентов преобразования посредством выполнения квантования на основе коэффициентов преобразования для целевого блока и кодирование информации относительно квантованных коэффициентов преобразования, и сокращенное преобразование выполняется на основе матрицы сокращенного преобразования, и матрица сокращенного преобразования представляет собой неквадратную матрицу, причем число строк неквадратной матрицы меньше числа столбцов неквадратной матрицы.
[10] Еще один другой примерный вариант осуществления настоящего раскрытия сущности предоставляет устройство декодирования для выполнения декодирования изображений. Устройство декодирования включает в себя: энтропийный декодер, который извлекает квантованные коэффициенты преобразования для целевого блока из потока битов, деквантователь, который извлекает коэффициенты преобразования посредством выполнения деквантования для квантованных коэффициентов преобразования для целевого блока, обратный преобразователь, который извлекает остаточные выборки для целевого блока на основе сокращенного обратного преобразования для коэффициентов преобразования, и сумматор, который формирует восстановленное изображение на основе остаточных выборок для целевого блока и прогнозных выборок для целевого блока, и сокращенное обратное преобразование выполняется на основе матрицы сокращенного обратного преобразования, и матрица сокращенного обратного преобразования представляет собой неквадратную матрицу, причем число строк неквадратной матрицы меньше числа столбцов неквадратной матрицы.
[11] Еще один другой примерный вариант осуществления настоящего раскрытия сущности предоставляет устройство кодирования для выполнения кодирования изображений. Устройство кодирования включает в себя: вычитатель, который извлекает остаточные выборки для целевого блока, преобразователь, который извлекает коэффициенты преобразования для целевого блока на основе сокращенного преобразования для остаточных выборок, квантователь, который извлекает квантованные коэффициенты преобразования посредством выполнения квантования на основе коэффициентов преобразования для целевого блока, и энтропийный кодер, который кодирует информацию относительно квантованных коэффициентов преобразования, и сокращенное преобразование выполняется посредством матрицы сокращенного преобразования, и матрица сокращенного преобразования представляет собой неквадратную матрицу, причем число строк неквадратной матрицы меньше числа столбцов неквадратной матрицы.
[12] Согласно настоящему раскрытию сущности, можно повышать полную эффективность сжатия изображений/видео.
[13] Согласно настоящему раскрытию сущности, можно снижать объем данных, которые должны передаваться для остаточной обработки через эффективное преобразование, и повышать эффективность остаточного кодирования.
[14] Согласно настоящему раскрытию сущности, можно концентрировать ненулевые коэффициенты преобразования на низкочастотном компоненте через вторичное преобразование в частотной области.
[15] Согласно настоящему раскрытию сущности, можно выполнять кодирование изображений на основе сокращенного преобразования, за счет этого повышая эффективность кодирования изображений.
Краткое описание чертежей
[16] Фиг. 1 является принципиальной схемой, иллюстрирующей конфигурацию устройства кодирования видео/изображений, к которому является применимым настоящее раскрытие сущности.
[17] Фиг. 2 является принципиальной схемой, иллюстрирующей конфигурацию устройства декодирования видео/изображений, к которому является применимым настоящее раскрытие сущности.
[18] Фиг. 3 является принципиальной схемой, иллюстрирующей технологию множественного преобразования согласно примерному варианту осуществления.
[19] Фиг. 4 является схемой, примерно иллюстрирующей 65 внутренних направленных режимов направлений прогнозирования.
[20] Фиг. 5A-5C являются блок-схемами последовательности операций способа, иллюстрирующими процесс неразделимого вторичного преобразования согласно примерному варианту осуществления.
[21] Фиг. 6 является схемой для пояснения сокращенного преобразования согласно примерному варианту осуществления настоящего раскрытия сущности.
[22] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей процесс сокращенного преобразования согласно примерному варианту осуществления настоящего раскрытия сущности.
[23] Фиг. 8 является блок-схемой последовательности операций способа, иллюстрирующей процесс сокращенного преобразования согласно другому примерному варианту осуществления настоящего раскрытия сущности.
[24] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей процесс сокращенного преобразования на основе неразделимого вторичного преобразования согласно примерному варианту осуществления настоящего раскрытия сущности.
[25] Фиг. 10 является схемой, иллюстрирующей блок, к которому применяется сокращенное преобразование согласно примерному варианту осуществления настоящего раскрытия сущности.
[26] Фиг. 11 является блок-схемой последовательности операций способа, иллюстрирующей работу устройства кодирования видео согласно примерному варианту осуществления настоящего раскрытия сущности.
[27] Фиг. 12 является блок-схемой последовательности операций способа, иллюстрирующей работу устройства декодирования видео согласно примерному варианту осуществления настоящего раскрытия сущности.
Подробное описание примерных вариантов осуществления
[28] Настоящее раскрытие сущности может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и иллюстрируются на чертежах. Тем не менее, эти варианты осуществления не предназначены для ограничения раскрытия сущности. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать раскрытие сущности. Выражение единственного числа включает в себя выражение множественного числа до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[29] Между тем, элементы на чертежах, описанных в раскрытии сущности, нарисованы независимо для удобства для пояснения различных конкретных функций и не означают то, что элементы осуществляются посредством независимых аппаратных средств или независимого программного обеспечения. Например, два или более элементов из элементов могут комбинироваться, чтобы формировать один элемент, либо один элемент может разделяться на несколько элементов. Варианты осуществления, в которых элементы комбинируются и/или разделяются, принадлежат раскрытию сущности без отступления от понятия раскрытия сущности.
[30] Нижеприведенное описание может применяться в области техники, которая решает проблемы, связанные с видео, изображениями или изображениями. Например, способ или примерный вариант осуществления, раскрытый в нижеприведенном описании, может быть ассоциирован с раскрытым контентом стандарта универсального кодирования видео (VVC) (ITU-T Rec. H.266), стандарта кодирования видео/изображений следующего поколения после VVC или стандартов до VVC (например, стандарта высокоэффективного кодирования видео (HEVC) (ITU-T Rec. H.265) и т.п.).
[31] В дальнейшем в этом документе подробно описываются примеры настоящего варианта осуществления со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов опускаются.
[32] В настоящем раскрытии сущности, видео может означать набор последовательности изображений согласно прохождению времени. В общем, изображение означает единицу, представляющую изображение в конкретное время, серия последовательных макроблоков представляет собой единицу, составляющую часть изображения. Одно изображение может состоять из нескольких серий последовательных макроблоков, и термины "изображение" и "серия последовательных макроблоков" могут смешиваться друг с другом при необходимости.
[33] Пиксел или пел может означать минимальную единицу, составляющую одно изображение (или изображение). Дополнительно, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела, может представлять только пиксел (пиксельное значение) компонента сигнала яркости и может представлять только пиксел (пиксельное значение) компонента сигнала цветности.
[34] Единица указывает базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области и информации относительно области. Необязательно, единица может смешиваться с такими терминами, как блок, область и т.п. В типичном случае, блок MxN может представлять набор выборок или коэффициентов преобразования, размещаемых в M столбцов и N строк.
[35] Фиг. 1 кратко иллюстрирует структуру устройства кодирования видео/изображений, к которому является применимым настоящее раскрытие сущности. В дальнейшем в этом документе, устройство кодирования может включать в себя устройство кодирования видео и/или устройство кодирования изображений, и устройство кодирования видео может использоваться в качестве понятия, содержащего устройство кодирования изображений.
[36] Ссылаясь на фиг. 1, устройство 100 кодирования видео может включать в себя модуль 105 сегментации изображений, модуль 110 прогнозирования, остаточный процессор 120, энтропийный кодер 130, сумматор 140, фильтр 150 и запоминающее устройство 160. Остаточный процессор 120 может включать в себя вычитатель 121, преобразователь 122, квантователь 123, модуль 124 перекомпоновки, деквантователь 125, обратный преобразователь 126.
[37] Модуль 105 сегментации изображений может разбивать входное изображение, по меньшей мере, на одну единицу обработки.
[38] В примере, единица обработки может упоминаться как единица кодирования (CU). В этом случае, единица кодирования может рекурсивно разбиваться из наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов и двоичного дерева (QTBT). Например, одна единица кодирования может разбиваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и структура в виде троичного дерева. Альтернативно, сначала может применяться структура в виде двоичного дерева/структура в виде троичного дерева. Процедура кодирования согласно настоящему варианту осуществления может выполняться на основе конечной единицы кодирования, которая не разбивается дальше. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования и т.п., в зависимости от характеристик изображений, или единица кодирования может рекурсивно разбиваться на единицы кодирования меньшей глубины по мере необходимости, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такую процедуру, как прогнозирование, преобразование и восстановление, которая описывается ниже.
[39] В другом примере, единица обработки может включать в себя единицу кодирования (CU), единицу прогнозирования (PU) или преобразователь (TU). Единица кодирования может разбиваться из наибольшей единицы кодирования (LCU) на единицы кодирования большей глубины согласно структуре в виде дерева квадрантов. В этом случае, наибольшая единица кодирования может непосредственно использоваться в качестве конечной единицы кодирования на основе эффективности кодирования и т.п., в зависимости от характеристик изображений, или единица кодирования может рекурсивно разбиваться на единицы кодирования большей глубины по мере необходимости, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Когда наименьшая единица кодирования (SCU) задается, единица кодирования может не разбиваться на единицы кодирования, меньшие наименьшей единицы кодирования. Здесь, конечная единица кодирования означает единицу кодирования, которая сегментируется или разбивается на единицу прогнозирования или преобразователь. Единица прогнозирования представляет собой единицу, которая сегментируется из единицы кодирования, и может представлять собой единицу выборочного прогнозирования. Здесь, единица прогнозирования может разделяться на субблоки. Преобразователь может разделяться из единицы кодирования согласно структуре в виде дерева квадрантов и может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования. В дальнейшем в этом документе, единица кодирования может упоминаться как блок кодирования (CB), единица прогнозирования может упоминаться как прогнозный блок (PB), и преобразователь может упоминаться как блок преобразования (TB). Прогнозный блок или единица прогнозирования может означать конкретную область в форме блока в изображении и включать в себя массив прогнозных выборок. Кроме того, блок преобразования или преобразователь может означать конкретную область в форме блока в изображении и включать в себя коэффициент преобразования или массив остаточных выборок.
[40] Модуль 110 прогнозирования может выполнять прогнозирование относительно целевого блока обработки (в дальнейшем в этом документе, он может представлять текущий блок или остаточный блок) и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Единица прогнозирования, выполняемого в модуле 110 прогнозирования, может представлять собой блок кодирования либо может представлять собой блок преобразования, либо может представлять собой прогнозный блок.
[41] Модуль 110 прогнозирования может определять то, применяется внутреннее прогнозирование или применяется взаимное прогнозирование к текущему блоку. Например, модуль 110 прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование в единице CU.
[42] В случае внутреннего прогнозирования, модуль 110 прогнозирования может извлекать прогнозную выборку для текущего блока на основе опорной выборки за пределами текущего блока в изображении, которому принадлежит текущий блок (в дальнейшем в этом документе, в текущем изображении). В этом случае, модуль 110 прогнозирования может извлекать прогнозную выборку на основе среднего или интерполяции соседних опорных выборок текущего блока (случай (i)) или может извлекать прогнозную выборку на основе опорной выборки, существующей в конкретном направлении (прогнозирования) в отношении прогнозной выборки из соседних опорных выборок текущего блока (случай (ii)). Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом". При внутреннем прогнозировании, режимы прогнозирования могут включать в себя в качестве примера 33 направленных режима и, по меньшей мере, два ненаправленных режима. Ненаправленные режимы могут включать в себя DC-режим и планарный режим. Модуль 110 прогнозирования может определять режим прогнозирования, который должен применяться к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[43] В случае взаимного прогнозирования, модуль 110 прогнозирования может извлекать прогнозную выборку для текущего блока на основе выборки, указываемой посредством вектора движения в опорном изображении. Модуль 110 прогнозирования может извлекать прогнозную выборку для текущего блока посредством применения любого из режима пропуска, режима объединения и режима прогнозирования векторов движения (MVP). В случае режима пропуска и режима объединения, модуль 110 прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, разность (остаток) между прогнозной выборкой и исходной выборкой не передается. В случае MVP-режима, вектор движения соседнего блока используется в качестве предиктора вектора движения, чтобы извлекать вектор движения текущего блока.
[44] В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем изображении, и временной соседний блок, существующий в опорном изображении. Опорное изображение, включающее в себя временной соседний блок, также может называться "совместно размещенным изображением (colPic)". Информация движения может включать в себя вектор движения и индекс опорного изображения. Такая информация, как информация режима прогнозирования и информация движения, может (энтропийно) кодироваться и затем выводиться в качестве формы потока битов.
[45] Когда информация движения временного соседнего блока используется в режиме пропуска и режиме объединения, наибольшее изображение в списке опорных изображений может использоваться в качестве опорного изображения. Опорные изображения, включенные в список опорных изображений, могут совмещаться на основе разности номеров в последовательности изображений (POC) между текущим изображением и соответствующим опорным изображением. POC соответствует порядку отображения и может отличаться от порядка кодирования.
[46] Модуль 121 вычитания формирует остаточную выборку, которая представляет собой разность между исходной выборкой и прогнозной выборкой. Если применяется режим пропуска, остаточная выборка может не формироваться, как описано выше.
[47] Преобразователь 122 преобразует остаточные выборки в единицы блока преобразования, чтобы формировать коэффициент преобразования. Преобразователь 122 может выполнять преобразование на основе размера соответствующего блока преобразования и режима прогнозирования, применяемого к блоку кодирования или прогнозному блоку, пространственно перекрывающемуся с блоком преобразования. Например, остаточные выборки могут преобразовываться с использованием ядра дискретного синусного преобразования (DST), если внутреннее прогнозирование применяется к блоку кодирования или прогнозному блоку, перекрывающемуся с блоком преобразования, и блок преобразования представляет собой остаточный массив 4×4 и преобразуется с использованием ядра дискретного косинусного преобразования (DCT) в других случаях.
[48] Квантователь 123 может квантовать коэффициенты преобразования, чтобы формировать квантованные коэффициенты преобразования.
[49] Модуль 124 перекомпоновки перекомпонует квантованные коэффициенты преобразования. Модуль 124 перекомпоновки может перекомпоновывать квантованные коэффициенты преобразования в форме блока в одномерный вектор через способ сканирования коэффициентов. Хотя модуль 124 перекомпоновки описывается как отдельный компонент, модуль 124 перекомпоновки может составлять часть квантователя 123.
[50] Энтропийный кодер 130 может выполнять энтропийное кодирование для квантованных коэффициентов преобразования. Энтропийное кодирование может включать в себя способ кодирования, например, экспоненциальный код Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 130 может выполнять кодирование, согласно энтропийному кодированию или согласно предварительно сконфигурированному способу, вместе или отдельно для информации (например, значения синтаксического элемента и т.п.), требуемой для восстановления видео, в дополнение к квантованным коэффициентам преобразования. Энтропийно кодированная информация может передаваться или сохраняться в единице слоя абстрагирования от сети (NAL) в форме потока битов. Поток битов может передаваться через сеть или сохраняться на цифровом носителе данных. Здесь, сеть может включать в себя широковещательную сеть или сеть связи, цифровой носитель данных может включать в себя различный носитель данных, такой как USB, SD, CD, DVD, Blu-Ray, HDD, SDD и т.д.
[51] Деквантователь 125 деквантует значения (коэффициенты преобразования), квантованные посредством квантователя 123, и обратный преобразователь 126 обратно преобразует значения, деквантованные посредством деквантователя 125, чтобы формировать остаточную выборку.
[52] Сумматор 140 суммирует остаточную выборку с прогнозной выборкой, чтобы восстанавливать изображение. Остаточная выборка может суммироваться с прогнозной выборкой в единицах блока, чтобы формировать восстановленный блок. Хотя сумматор 140 описывается как отдельный компонент, сумматор 140 может составлять часть модуля 110 прогнозирования. Между тем, сумматор 140 может упоминаться как модуль восстановления или формирователь восстановленных блоков.
[53] Фильтр 150 может применять фильтрацию для удаления блочности и/или дискретизированное адаптивное смещение к восстановленному изображению. Артефакты на границе блоков в восстановленном изображении либо искажение в квантовании может корректироваться через фильтрацию для удаления блочности и/или дискретизированное адаптивное смещение. Дискретизированное адаптивное смещение может применяться в единицах выборки после того, как завершается фильтрация для удаления блочности. Фильтр 150 может применять адаптивный контурный фильтр (ALF) к восстановленному изображению. ALF может применяться к восстановленному изображению, к которому применяются фильтрация для удаления блочности и/или дискретизированное адаптивное смещение.
[54] Запоминающее устройство 160 может сохранять восстановленное изображение (декодированное изображение) или информацию, необходимую для кодирования/декодирования. Здесь, восстановленное изображение может представлять собой восстановленное изображение, фильтрованное посредством фильтра 150. Сохраненное восстановленное изображение может использоваться в качестве опорного изображения для (взаимного) прогнозирования других изображений. Например, запоминающее устройство 160 может сохранять (опорные) изображения, используемые для взаимного прогнозирования. Здесь, изображения, используемые для взаимного прогнозирования, могут быть обозначены согласно набору опорных изображений или списку опорных изображений.
[55] Фиг. 2 кратко иллюстрирует структуру устройства декодирования видео/изображений, к которому является применимым настоящее раскрытие сущности. В дальнейшем в этом документе, устройство декодирования видео может включать в себя устройство декодирования изображений.
[56] Ссылаясь на фиг. 2, устройство 200 декодирования видео может включать в себя энтропийный декодер 210, остаточный процессор 220, модуль 230 прогнозирования, сумматор 240, фильтр 250 и запоминающее устройство 260. Остаточный процессор 220 может включать в себя модуль 221 перекомпоновки, деквантователь 222, обратный преобразователь 223.
[57] Дополнительно, хотя это не иллюстрируется, устройство 200 декодирования видео может включать в себя приемное устройство для приема потока битов, включающего в себя видеоинформацию. Приемное устройство может быть сконфигурировано как отдельный модуль или может быть включено в энтропийный декодер 210.
[58] Когда поток битов, включающий в себя информацию видео/изображений, вводится, устройство 200 декодирования видео может восстанавливать видео/изображение/изображение в ассоциации с процессом, посредством которого видеоинформация обрабатывается в устройстве кодирования видео.
[59] Например, устройство 200 декодирования видео может выполнять декодирование видео с использованием единицы обработки, применяемой в устройстве кодирования видео. Таким образом, единичный блок обработки декодирования видео, например, может представлять собой единицу кодирования и, в другом примере, единицу кодирования, единицу прогнозирования или преобразователь. Единица кодирования может разбиваться из наибольшей единицы кодирования согласно структуре в виде дерева квадрантов и/или структуре в виде двоичного дерева и/или структуре в виде троичного дерева.
[60] Единица прогнозирования и преобразователь дополнительно могут использоваться в некоторых случаях, и в этом случае, прогнозный блок представляет собой блок, извлекаемый или сегментированный из единицы кодирования, и может представлять собой единицу выборочного прогнозирования. Здесь, единица прогнозирования может разделяться на субблоки. Преобразователь может разбиваться из единицы кодирования согласно структуре в виде дерева квадрантов и может представлять собой единицу, которая извлекает коэффициент преобразования, или единицу, которая извлекает остаточный сигнал из коэффициента преобразования.
[61] Энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы выводить информацию, требуемую для восстановления видео или восстановления изображений. Например, энтропийный декодер 210 может декодировать информацию в потоке битов на основе способа кодирования, такого как экспоненциальное кодирование кодом Голомба, CAVLC, CABAC и т.п., и может выводить значение синтаксического элемента, требуемого для восстановления видео, и квантованное значение коэффициента преобразования относительно остатка.
[62] Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием декодирования информации целевых синтаксических элементов и декодирования информации соседних и декодируемых целевых блоков либо информации символа/элемента разрешения, декодированного на предыдущем этапе, прогнозировать вероятность формирования элемента разрешения согласно определенной контекстной модели и выполнять арифметическое декодирование элемента разрешения, чтобы формировать символ, соответствующий каждому значению синтаксического элемента. Здесь, способ энтропийного CABAC-декодирования может обновлять контекстную модель с использованием информации символа/элемента разрешения, декодированного для контекстной модели следующего символа/элемента разрешения после определения контекстной модели.
[63] Информация относительно прогнозирования из информации, декодированной в энтропийном декодере 210, может предоставляться в модуль 250 прогнозирования, и остаточные значения, т.е. квантованные коэффициенты преобразования, для которых энтропийное декодирование выполнено посредством энтропийного декодера 210, могут вводиться в модуль 221 перекомпоновки.
[64] Модуль 221 перекомпоновки может перекомпоновывать квантованные коэффициенты преобразования в двумерную блочную форму. Модуль 221 перекомпоновки может выполнять перекомпоновку, соответствующую сканированию коэффициентов, выполняемому посредством устройства кодирования. Хотя модуль 221 перекомпоновки описывается как отдельный компонент, модуль 221 перекомпоновки может составлять часть деквантователя 222.
[65] Деквантователь 222 может деквантовать квантованные коэффициенты преобразования на основе параметра (де)квантования, чтобы выводить коэффициент преобразования. В этом случае, информация для извлечения параметра квантования может передаваться в служебных сигналах из устройства кодирования.
[66] Обратный преобразователь 223 может обратно преобразовывать коэффициенты преобразования, чтобы извлекать остаточные выборки.
[67] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Единица прогнозирования, выполняемого в модуле 230 прогнозирования, может представлять собой блок кодирования либо может представлять собой блок преобразования, либо может представлять собой прогнозный блок.
[68] Модуль 230 прогнозирования может определять то, следует применять внутреннее прогнозирование или взаимное прогнозирование, на основе информации относительно прогнозирования. В этом случае, единица для определения того, какое из них используется между внутренним прогнозированием и взаимным прогнозированием, может отличаться от единицы для формирования прогнозной выборки. Помимо этого, единица для формирования прогнозной выборки также может отличаться при взаимном прогнозировании и внутреннем прогнозировании. Например, то, какое из них должно применяться между взаимным прогнозированием и внутренним прогнозированием, может определяться в единице CU. Дополнительно, например, при взаимном прогнозировании, прогнозная выборка может формироваться посредством определения режима прогнозирования в единице PU, и при внутреннем прогнозировании, прогнозная выборка может формироваться в единице TU посредством определения режима прогнозирования в единице PU.
[69] В случае внутреннего прогнозирования, модуль 230 прогнозирования может извлекать прогнозную выборку для текущего блока на основе соседней опорной выборки в текущем изображении. Модуль 230 прогнозирования может извлекать прогнозную выборку для текущего блока посредством применения направленного режима или ненаправленного режима на основе соседней опорной выборки текущего блока. В этом случае, режим прогнозирования, который должен применяться к текущему блоку, может определяться посредством использования режима внутреннего прогнозирования соседнего блока.
[70] В случае взаимного прогнозирования, модуль 230 прогнозирования может извлекать прогнозную выборку для текущего блока на основе выборки, указываемой в опорном изображении согласно вектору движения. Модуль 230 прогнозирования может извлекать прогнозную выборку для текущего блока с использованием любого из режима пропуска, режима объединения и MVP-режима. Здесь, информация движения, требуемая для взаимного прогнозирования текущего блока, предоставленного посредством устройства кодирования видео, например, вектора движения, и информация относительно индекса опорного изображения может получаться или извлекаться на основе информации относительно прогнозирования.
[71] В режиме пропуска и в режиме объединения, информация движения соседнего блока может использоваться в качестве информации движения текущего блока. Здесь, соседний блок может включать в себя пространственный соседний блок и временной соседний блок.
[72] Модуль 230 прогнозирования может конструировать список возможных вариантов объединения с использованием информации движения доступных соседних блоков и использовать информацию, указываемую посредством индекса объединения в списке возможных вариантов объединения, в качестве вектора движения текущего блока. Индекс объединения может передаваться в служебных сигналах посредством устройства кодирования. Информация движения может включать в себя вектор движения и опорное изображение. В режиме пропуска и в режиме объединения, первое упорядоченное изображение в списке опорных изображений может использоваться в качестве опорного изображения, когда используется информация движения временного соседнего блока.
[73] В случае режима пропуска, разность (остаток) между прогнозной выборкой и исходной выборкой не передается, в отличие от режима объединения.
[74] В случае MVP-режима, вектор движения текущего блока может извлекаться с использованием вектора движения соседнего блока в качестве предиктора вектора движения. Здесь, соседний блок может включать в себя пространственный соседний блок и временной соседний блок.
[75] Когда режим объединения применяется, например, список возможных вариантов объединения может формироваться с использованием вектора движения восстановленного пространственного соседнего блока и/или вектора движения, соответствующего Col-блоку, который представляет собой временный соседний блок. Вектор движения возможного варианта блока, выбранного из списка возможных вариантов объединения, используется в качестве вектора движения текущего блока в режиме объединения. Вышеуказанная информация относительно прогнозирования может включать в себя индекс объединения, указывающий возможный вариант блока, имеющий наилучший вектор движения, выбранный из возможных вариантов блоков, включенных в список возможных вариантов объединения. Здесь, модуль 230 прогнозирования может извлекать вектор движения текущего блока с использованием индекса объединения.
[76] Когда режим MVP (прогнозирования векторов движения) применяется в качестве другого примера, список возможных вариантов предикторов векторов движения может формироваться с использованием вектора движения восстановленного пространственного соседнего блока и/или вектора движения, соответствующего Col-блоку, который представляет собой временный соседний блок. Таким образом, вектор движения восстановленного пространственного соседнего блока и/или вектор движения, соответствующий Col-блоку, который представляет собой временный соседний блок, могут использоваться в качестве возможных вариантов векторов движения. Вышеуказанная информация относительно прогнозирования может включать в себя индекс прогнозного вектора движения, указывающий наилучший вектор движения, выбранный из возможных вариантов векторов движения, включенных в список. Здесь, модуль 230 прогнозирования может выбирать прогнозный вектор движения текущего блока из возможных вариантов векторов движения, включенных в список возможных вариантов векторов движения, с использованием индекса вектора движения. Модуль прогнозирования устройства кодирования может получать разность векторов движения (MVD) между вектором движения текущего блока и предиктором вектора движения, кодировать MVD и выводить кодированную MVD в форме потока битов. Таким образом, MVD может получаться посредством вычитания предиктора вектора движения из вектора движения текущего блока. Здесь, модуль 230 прогнозирования может получать вектор движения, включенный в информацию относительно прогнозирования, и извлекать вектор движения текущего блока посредством суммирования разности векторов движения с предиктором вектора движения. Помимо этого, модуль прогнозирования может получать или извлекать индекс опорного изображения, указывающий опорное изображение, из вышеуказанной информации относительно прогнозирования.
[77] Сумматор 240 может суммировать остаточную выборку с прогнозной выборкой, чтобы восстанавливать текущий блок или текущее изображение. Сумматор 240 может восстанавливать текущее изображение посредством суммирования остаточной выборки с прогнозной выборкой в единицах блока. Когда применяется режим пропуска, остаток не передается, и в силу этого прогнозная выборка может становиться восстановленной выборкой. Хотя сумматор 240 описывается как отдельный компонент, сумматор 240 может составлять часть модуля 230 прогнозирования. Между тем, сумматор 240 может упоминаться как модуль восстановления или формирователь восстановленных блоков.
[78] Фильтр 250 может применять фильтрацию для удаления блочности, дискретизированное адаптивное смещение и/или ALF к восстановленному изображению. Здесь, дискретизированное адаптивное смещение может применяться в единицах выборки после фильтрации для удаления блочности. ALF может применяться после фильтрации для удаления блочности и/или применения дискретизированного адаптивного смещения.
[79] Запоминающее устройство 260 может сохранять восстановленное изображение (декодированное изображение) или информацию, необходимую для декодирования. Здесь, восстановленное изображение может представлять собой восстановленное изображение, фильтрованное посредством фильтра 250. Например, запоминающее устройство 260 может сохранять изображения, используемые для взаимного прогнозирования. Здесь, изображения, используемые для взаимного прогнозирования, могут быть обозначены согласно набору опорных изображений или списку опорных изображений. Восстановленное изображение может использоваться в качестве опорного изображения для других изображений. Запоминающее устройство 260 может выводить восстановленные изображения в порядке вывода.
[80] Между тем, как описано выше, при выполнении кодирования видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Через это, может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока в качестве блока, который должен кодироваться (т.е. целевого блока кодирования). Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок извлекается идентично в устройстве кодирования и устройстве декодирования, и устройство кодирования может передавать в служебных сигналах информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не значение исходной выборки исходного блока, в устройство декодирования, за счет этого повышая эффективность кодирования изображений. Устройство декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, суммировать остаточный блок и прогнозированный блок, чтобы формировать восстановленные блоки, включающие в себя восстановленные выборки, и формировать восстановленное изображение, включающее в себя восстановленные блоки.
[81] Остаточная информация может формироваться через процедуру преобразования и квантования. Например, устройство кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, выполнять процедуру преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, выполнять процедуру квантования для коэффициентов преобразования, чтобы извлекать квантованные коэффициенты преобразования и связанную с сигналами остаточную информацию в устройство декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений квантованных коэффициентов преобразования, информацию местоположения, технологию преобразования, ядро преобразования, параметр квантования и т.п. Устройство декодирования может выполнять процедуру деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Устройство декодирования может формировать восстановленное изображение на основе прогнозированного блока и остаточного блока. Кроме того, для ссылки для взаимного прогнозирования изображения позднее, устройство кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, чтобы извлекать остаточный блок и формировать восстановленное изображение на его основе.
[82] Фиг. 3 схематично иллюстрирует технологию множественного преобразования согласно настоящему раскрытию сущности.
[83] Ссылаясь на фиг. 3, преобразователь может соответствовать преобразователю в вышеуказанном устройстве кодирования по фиг. 1, и обратный преобразователь может соответствовать вышеуказанному обратному преобразователю в устройстве кодирования по фиг. 1 либо вышеуказанному обратному преобразователю в устройстве декодирования по фиг. 2.
[84] Преобразователь может извлекать коэффициенты (первичного) преобразования посредством выполнения первичного преобразования на основе остаточных выборок (массива остаточных выборок) в остаточном блоке (S310). Здесь, первичное преобразование может включать в себя набор множественного преобразования (MTS). Набор множественного преобразования также может упоминаться как адаптивное множественное базовое преобразование в некоторых случаях.
[85] Адаптивное множественное базовое преобразование может представлять способ для выполнения преобразования дополнительно с использованием дискретного косинусного преобразования (DCT) тип 2, дискретного синусного преобразования (DST) тип 7, DCT-типа 8 и/или DST-типа 1. Таким образом, множественное базовое преобразование может представлять способ преобразования для преобразования остаточного сигнала (или остаточного блока) в пространственной области в коэффициенты преобразования (или коэффициенты первичного преобразования) в частотной области на основе множества ядер преобразования, которые выбираются из DCT-типа 2, DST-типа 7, DCT-типа 8 и DST-типа 1. Здесь, коэффициенты первичного преобразования могут упоминаться как временные коэффициенты преобразования с точки зрения преобразователя.
[86] Таким образом, если существующий способ преобразования применяется, преобразование из пространственной области в частотную область для остаточного сигнала (или остаточного блока) может применяться на основе DCT-типа 2, чтобы формировать коэффициенты преобразования. С другой стороны, если адаптивное множественное базовое преобразование применяется, преобразование из пространственной области в частотную область для остаточного сигнала (или остаточного блока) может применяться на основе DCT-типа 2, DST-типа 7, DCT-типа 8 и/или DST-типа 1 и т.п., чтобы формировать коэффициенты преобразования (или коэффициенты первичного преобразования). Здесь, DCT-тип 2, DST-тип 7, DCT-тип 8, DST-тип 1 и т.п. может упоминаться как тип преобразования, ядро преобразования или база преобразования.
[87] Для сравнения, типы DCT/DST-преобразования могут задаваться на основе базисных функций, и базисные функции могут представляться так, как показано в следующей таблице.
[88] Табл. 1
[89]
[90] Если адаптивное множественное базовое преобразование выполняется, ядро вертикального преобразования и ядро горизонтального преобразования для целевого блока из числа ядер преобразования могут выбираться, и вертикальное преобразование для целевого блока может выполняться на основе ядра вертикального преобразования, и горизонтальное преобразование для целевого блока может выполняться на основе ядра горизонтального преобразования. Здесь, горизонтальное преобразование может представлять преобразование для горизонтальных компонентов целевого блока, и вертикальное преобразование может представлять преобразование для вертикальных компонентов целевого блока. Ядро вертикального преобразования/ядро горизонтального преобразования может адаптивно определяться на основе режима прогнозирования целевого блока (CU или субблока), который охватывает остаточный блок, и/или индекса преобразования, указывающего поднабор для преобразования.
[91] Преобразователь может извлекать коэффициенты (вторичного) преобразования посредством выполнения вторичного преобразования на основе коэффициентов (первичного) преобразования (S320). Если первичное преобразование представляет собой преобразование из пространственной области в частотную область, вторичное преобразование может рассматриваться в качестве преобразования из частотной области в частотную область. Вторичное преобразование может включать в себя неразделимое преобразование. В этом случае, вторичное преобразование может упоминаться как неразделимое вторичное преобразование (NSST) или зависимое от режима неразделимое вторичное преобразование (MDNSST). Неразделимое вторичное преобразование может представлять преобразование, которое формирует коэффициенты преобразования (или коэффициенты вторичного преобразования) для остаточного сигнала посредством вторичного преобразования коэффициентов (первичного) преобразования, извлекаемых через первичное преобразование на основе матрицы неразделимого преобразования. Здесь, преобразование может применяться сразу на основе матрицы неразделимого преобразования без отдельного применения вертикального преобразования и горизонтального преобразования (или без независимого применения горизонтального и вертикального преобразования) к коэффициентам (первичного) преобразования. Таким образом, неразделимое вторичное преобразование может представлять способ преобразования, который формирует коэффициенты преобразования (или коэффициенты вторичного преобразования) посредством преобразования вертикального компонента и горизонтального компонента коэффициентов (первичного) преобразования вместе, без их разделения на основе матрицы неразделимого преобразования. Неразделимое вторичное преобразование может применяться к левой верхней области блока, состоящего из коэффициентов (первичного) преобразования (в дальнейшем в этом документе называемого "блоком коэффициентов преобразования"). Например, если как ширина (W), так и высота (H) блока коэффициентов преобразования равны 8 или больше, неразделимое вторичное преобразование 8×8 может применяться к левой верхней области 8×8 блока коэффициентов преобразования. Помимо этого, если как ширина (W), так и высота (H) блока коэффициентов преобразования равны 4 или более, и ширина (W) или высота (H) блока коэффициентов преобразования меньше 8, неразделимое вторичное преобразование 4×4 может применяться к левой верхней области min(8, W) x min(8, H) блока коэффициентов преобразования. Тем не менее, примерный вариант осуществления не ограничен этим, и, например, если удовлетворяется только условие, в котором ширина (W) или высота (H) блока коэффициентов преобразования меньше 8, неразделимое вторичное преобразование 4×4 также может применяться к левой верхней области min(8, W) x min(8, H) блока коэффициентов преобразования.
[92] В частности, например, когда входной блок 4×4 используется, NSST может выполняться следующим образом.
[93] Входной блок X 4×4 может представляться следующим образом.
[94] уравнение 1
[95]
[96] Когда X выражается в векторной форме, вектор  может представляться следующим образом.
[97] уравнение 2
[98]
[99] В этом случае, NSST может вычисляться следующим образом.
[100] уравнение 3
[101]
[102] Здесь,  обозначает вектор коэффициентов преобразования, и T обозначает матрицу (неразделимого) преобразования 16×16.
[103] Вектор  коэффициентов преобразования 16×1 может извлекаться через уравнение 3, и  может реорганизовываться в качестве блоков 4×4 через порядок сканирования (горизонтальный, вертикальный, диагональный и т.д.). Тем не менее, вышеописанное вычисление представляет собой пример, и гиперкубическое преобразование Гивенса (HyGT) и т.п. может использоваться для вычисления вторичного преобразования, чтобы уменьшать вычислительную сложность NSST.
[104] Между тем, в NSST, ядро преобразования (или база преобразования, тип преобразования) может выбираться зависимо от режима. Здесь, режим может включать в себя режим внутреннего прогнозирования и/или режим взаимного прогнозирования.
[105] Как описано выше, NSST может выполняться на основе преобразования 8×8 или преобразования 4×4, определенного на основе ширины (W) и высоты (H) блока коэффициентов преобразования. Таким образом, NSST может выполняться на основе размера субблока 8×8 или размера субблока 4×4. Например, чтобы выбирать ядро преобразования на основе режима, 35 наборов из трех NSST-ядер могут быть сконфигурированы для NSST как для размера субблока 8×8, так и для размера субблока 4×4. Таким образом, 35 наборов для преобразования могут быть сконфигурированы для размера субблока 8×8, и 35 наборов для преобразования могут быть сконфигурированы для размера субблока 4×4. В этом случае, эти 35 наборов для преобразования для размера субблока 8×8 могут включать в себя 3 ядра преобразования 8×8, соответственно, и в этом случае, 35 наборов для преобразования для размера субблока 4×4 могут включать в себя 3 ядра преобразования 4×4. Тем не менее, размер субблока преобразования, число наборов и число ядер преобразования в наборе представляют собой пример, и может использоваться размер, отличный от 8×8 или 4×4, либо n наборов могут быть сконфигурированы, и k ядер преобразования могут быть включены в каждый набор.
[106] Набор для преобразования также может упоминаться как NSST-набор, и ядро преобразования в NSST-наборе может упоминаться как NSST-ядро. Выбор конкретного одного из наборов для преобразования может выполняться, например, на основе режима внутреннего прогнозирования целевого блока (CU или субблока).
[107] Для ссылки, например, режим внутреннего прогнозирования может включать в себя два режима ненаправленного или неуглового внутреннего прогнозирования и 65 режимов направленного или углового внутреннего прогнозирования. Режимы ненаправленного внутреннего прогнозирования могут включать в себя режим #0 планарного внутреннего прогнозирования и режим #1 внутреннего DC-прогнозирования, и режимы направленного внутреннего прогнозирования могут включать в себя 65 режимов #2-#66 внутреннего прогнозирования. Тем не менее, это представляет собой пример, и настоящее раскрытие сущности также может применяться, даже когда число режимов внутреннего прогнозирования отличается. Между тем, режим #67 внутреннего прогнозирования дополнительно может использоваться в некоторых случаях, и режим #67 внутреннего прогнозирования может представлять режим на основе линейной модели (LM).
[108] Фиг. 4 примерно показывает внутренние направленные режимы 65 направлений прогнозирования.
[109] Ссылаясь на фиг. 4, режимы внутреннего прогнозирования, имеющие горизонтальную направленность, и режимы внутреннего прогнозирования, имеющие вертикальную направленность, могут разделяться на основе режима #34 внутреннего прогнозирования, имеющего левое верхнее диагональное направление прогнозирования. H и V на фиг. 3 означают горизонтальную направленность и вертикальную направленность, соответственно, и числа от -32 до 32 указывают сдвиг в 1/32 единицы для позиции сетки выборок. Режимы #2-#33 внутреннего прогнозирования имеют горизонтальную направленность, и режимы #34-#66 внутреннего прогнозирования имеют вертикальную направленность. Режим #18 внутреннего прогнозирования и режим #50 внутреннего прогнозирования представляют режим горизонтального внутреннего прогнозирования и режим вертикального внутреннего прогнозирования, соответственно. Режим #2 внутреннего прогнозирования может упоминаться как режим левого нижнего диагонального внутреннего прогнозирования, режим #34 внутреннего прогнозирования может упоминаться как режим левого верхнего диагонального внутреннего прогнозирования, и режим #66 внутреннего прогнозирования может упоминаться как режим правого верхнего диагонального внутреннего прогнозирования.
[110] В этом случае, преобразование между этими 35 наборами для преобразования и режимами внутреннего прогнозирования может представляться, например, так, как показано в следующей таблице. Для сравнения, когда LM-режим применяется к целевому блоку, вторичное преобразование может не применяться к целевому блоку.
[111] Табл. 2
[112]
[113] Между тем, когда определяется то, что конкретный набор используется, одно из k ядер преобразования в конкретном наборе может выбираться через NSST-индекс. Устройство кодирования может извлекать NSST-индекс, указывающий конкретное ядро преобразования, на основе проверки искажения в зависимости от скорости передачи (RD), и может передавать в служебных сигналах NSST-индекс в устройство декодирования. Устройство декодирования может выбирать одно из k ядер преобразования в конкретном наборе на основе NSST-индекса. Например, значение 0 NSST-индекса может указывать первое NSST-ядро, значение 1 NSST-индекса может указывать второе NSST-ядро, и значение 2 NSST-индекса может указывать третье NSST-ядро. Альтернативно, значение 0 NSST-индекса может указывать то, что первое NSST не применяется к целевому блоку, и значения 1-3 NSST-индекса могут указывать три ядра преобразования.
[114] Снова ссылаясь на фиг. 3, преобразователь может выполнять NSST на основе выбранных ядер преобразования и получать коэффициенты (вторичного) преобразования. Коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь, как описано выше, и кодироваться и передаваться в служебных сигналах в устройство декодирования и доставляться в деквантователь/обратный преобразователь в устройстве кодирования.
[115] Между тем, когда вторичное преобразование опускается, как описано выше, коэффициенты (первичного) преобразования, которые представляют собой выводы первичного (разделимого) преобразования, могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь, как описано выше, и могут кодироваться и передаваться в служебных сигналах в устройство декодирования и доставляться в деквантователь/обратный преобразователь в устройстве кодирования.
[116] Обратный преобразователь может выполнять последовательность процедур в обратном порядке относительно процедуры, выполняемой посредством преобразователя, описанного выше. Обратный преобразователь может принимать (обратно квантованные) коэффициенты преобразования, выполнять вторичное (обратное) преобразование, чтобы извлекать коэффициенты (первичного) преобразования (S350), и выполнять первичное (обратное) преобразование для коэффициентов (первичного) преобразования, чтобы получать остаточный блок (остаточные выборки). Здесь, коэффициенты первичного преобразования могут упоминаться как модифицированные коэффициенты преобразования с точки зрения обратного преобразователя. Как описано выше, устройство кодирования и устройство декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и формировать восстановленное изображение на основе восстановленного блока.
[117] Между тем, как описано выше, когда вторичное (обратное) преобразование опускается, (деквантованные) коэффициенты преобразования могут приниматься, и первичное (разделимое) преобразование может выполняться для них, чтобы получать остаточный блок (остаточные выборки). Как описано выше, устройство кодирования и устройство декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и формировать восстановленное изображение на основе восстановленного блока.
[118] Фиг. 5A-5C являются схемами для пояснения сокращенного преобразования согласно примерному варианту осуществления настоящего раскрытия сущности.
2
2
[119] Как описано выше на фиг. 3, при неразделимом вторичном преобразовании (в дальнейшем называемым "NSST"), блочные данные коэффициентов преобразования, полученных посредством применения первичного преобразования, разделяются на блоки MxM, и затем NSST MxM может выполняться для каждого блока MxM. M, например, может составлять 4 или 8, но не ограничено этим.
2
2
i,j
j
[120] NSST MxM также может применяться в форме матричного произведения, но гиперкубическое преобразование Гивенса (HyGT), описанное выше на фиг. 3, может использоваться для того, чтобы вычислять NSST, чтобы снижать вычислительную величину и требуемую емкость запоминающего устройства. HyGT представляет собой ортогональное преобразование, и HyGT может включать в себя вращение G(m, n) Гивенса, заданное посредством ортогональной матрицы G(m, n, θ) в качестве базового компонента. Вращение Gi, j(m, n) Гивенса может выражаться посредством нижеприведенного уравнения 4.
[121] уравнение 4
[122]
[123] Вращение Гивенса на основе уравнения 4 может быть проиллюстрировано на фиг. 5A. Ссылаясь на уравнение 4 и фиг. 5A, может подтверждаться то, что одно вращение Гивенса описывается посредством только одного угла (θ).
[124] Фиг. 5B иллюстрирует пример одного раунда, составляющего NSST 16×16. Более конкретно, HyGT может выполняться посредством комбинирования вращений Гивенса в гиперкубическую компоновку, и последовательность операций HyGT для 16 элементов может быть проиллюстрирована в форме бабочки, как проиллюстрировано на фиг. 5B. Как проиллюстрировано на фиг. 5B, один раунд состоит из 4 слоев вращений Гивенса, каждый слой вращений Гивенса состоит из 8 вращений Гивенса, и каждое вращение Гивенса может формироваться в структуре, которая выбирает 2 входных данных, аналогично конфигурация соединения, проиллюстрированной на фиг. 5B, чтобы применять преобразование с вращением, и затем выводит преобразованные с вращением два входных данных в соответствующих местоположениях выбора как есть. NSST 16×16 может применять два раунда и одноразовый перестановочный слой последовательно, и 16 данных могут произвольно смешиваться через соответствующий перестановочный слой. Все два раунда могут соединяться, как проиллюстрировано на фиг. 5B, но все слои вращений Гивенса для двух раундов могут отличаться.
[125] NSST 64×64 состоит из слоев вращений Гивенса с 64 вводами и выводами, и аналогично NSST 16×16 по меньшей мере один раунд может применяться, и один раунд может состоять из 6 слоев вращений Гивенса, которые соединяются способом, аналогичному способу по фиг. 5B. В качестве примера, четыре раунда могут применяться к NSST 64×64, и затем может применяться перестановочный слой для случайного смешения 64 данных. Слои вращений Гивенса для каждого из четырех раундов могут отличаться друг от друга.
[126] Фиг. 5B иллюстрирует раунд, применяемый к прямому преобразованию. Когда обратное преобразование применяется, обратный перестановочный слой сначала применяется, и затем соответствующие вращения Гивенса могут применяться вдоль направления снизу вверх на фиг. 5B в порядке от последнего раунда к первому раунду. Угол, соответствующий каждому вращению Гивенса обратного NSST, может составлять значение, полученные посредством применения знака "-" к соответствующему прямому углу.
[127] Чтобы повышать эффективность кодирования, могут использоваться один или более HyGT-раундов. Как проиллюстрировано на фиг. 5C, NSST может состоять из R HyGT-раундов и дополнительно может включать в себя проход сортировки. Проход сортировки также может интерпретироваться в качестве необязательного прохода перестановки и может сортировать коэффициенты преобразования на основе дисперсии. В качестве примера, двухраундовое HyGT может применяться к NSST 16×16, и четырехраундовое HyGT может применяться к NSST 64×64.
[128] Фиг. 6 является схемой для пояснения сокращенного преобразования согласно примерному варианту осуществления настоящего раскрытия сущности.
[129] В настоящем описании изобретения, "целевой блок" может означать текущий блок или остаточный блок, который должен кодироваться.
[130] В настоящем описании изобретения, "сокращенное преобразование" может означать преобразование, которое выполняется для остаточных выборок для целевого блока на основе матрицы преобразования, размер которой сокращается согласно сокращенному коэффициенту. Если сокращенное преобразование выполняется, объем вычислений, требуемый для преобразования, может снижаться вследствие снижения размера матрицы преобразования. Таким образом, сокращенное преобразование может использоваться для того, чтобы исключать проблему вычислительной сложности, которая возникает, когда большой блок преобразуется или неразделимо преобразуется. Сокращенное преобразование может упоминаться как первичное преобразование (или базовое преобразование). Сокращенное преобразование также может использоваться для любого типа преобразования, такого как первичное преобразование (например, DCT, DST и т.п.) и вторичное преобразование (например, NSST).
[131] Сокращенное преобразование может упоминаться с помощью различных терминов, к примеру, как сокращенное преобразование, преобразование с сокращением, сокращенное преобразование, сокращенное вторичное преобразование, преобразование с сокращением, упрощенное преобразование, простое преобразование, RTS, RST и т.п., и названия, которые могут означать сокращенное преобразование, не ограничены перечисленными примерами.
[132] При сокращенном преобразовании согласно примерному варианту осуществления, матрица сокращенного преобразования может определяться посредством преобразования N-мерного вектора в R-мерный вектор, расположенный в другом пространстве, где R меньше N. N может означать квадрат длины одной стороны блока, который должен преобразовываться, или общее число коэффициентов преобразования, соответствующих блоку, который должен преобразовываться, и сокращенный коэффициент может означать значение R/N. Сокращенный коэффициент может упоминаться с помощью различных терминов, к примеру, как сокращенный коэффициент, коэффициент сокращения, сокращенный коэффициент, коэффициент сокращения, упрощенный коэффициент, простой коэффициент и т.п. Между тем, R может упоминаться как сокращенный коэффициент (reduced coefficient), но в некоторых случаях, сокращенный коэффициент (reduced factor) также может означать R. Помимо этого, в некоторых случаях, сокращенный коэффициент (reduced factor) также может означать значение N/R.
[133] В примерном варианте осуществления, сокращенный коэффициент (reduced factor) или сокращенный коэффициент (reduced coefficient) может передаваться в служебных сигналах через поток битов, но примерный вариант осуществления не ограничен этим. Например, предварительно определенное значение для сокращенного коэффициента (reduced factor) или сокращенного коэффициента (reduced coefficient) может сохраняться в каждом из устройства 100 кодирования и устройства 200 декодирования, причем в этом случае сокращенный коэффициент (reduced factor) или сокращенный коэффициент (reduced coefficient) может не передаваться в служебных сигналах отдельно.
[134] Размер матрицы сокращенного преобразования согласно примерному варианту осуществления составляет RxN, что меньше размера NxN матрицы нормального преобразования, и может задаваться так, как выражается в нижеприведенном уравнении 5.
[135] уравнение 5
[136]
RxN
RxN
[137] Матрица (T) в блоке сокращенного преобразования, проиллюстрированном в (a) по фиг. 6, может означать матрицу (T) по уравнению 5. Если матрица (T) сокращенного преобразования умножается на остаточные выборки для целевого блока, как проиллюстрировано в (a) по фиг. 6, могут извлекаться коэффициенты преобразования для целевого блока.
[138] В примерном варианте осуществления, если размер блока, который должен преобразовываться, составляет 8×8, R=16 (т.е. R/N=16/64=1/4), и размер целевого блока составляет 64×64, сокращенное преобразование согласно (a) по фиг. 6 может выражаться посредством матричной операции, как указано в нижеприведенном уравнении 6.
[139] уравнение 6
[140]
1
64
i
i
[141] В уравнении 6, r-r могут представлять остаточные выборки для целевого блока. В результате операции уравнения 6, могут извлекаться коэффициенты (c) преобразования для целевого блока, и процесс извлечения c может быть показан в уравнении 7.
[142] уравнение 7
[143]
1
R
1
16
[144] В результате операции уравнения 7, могут извлекаться коэффициенты (c-c) преобразования для целевого блока. Таким образом, если R=16, могут извлекаться коэффициенты (c-c) преобразования для целевого блока. Если регулярное преобразование применяется вместо сокращенного преобразования, и матрица преобразования с размером 64×64 (NxN) умножается на матрицу, включающую в себя остаточные выборки, с размером 64×1 (Nx1), извлекаются 64 (N) коэффициента преобразования для целевого блока, но поскольку сокращенное преобразование применяется, извлекаются только 16 (R) коэффициентов преобразования для целевого блока. Общее число коэффициентов преобразования для целевого блока снижается с N до R, и в силу этого объем данных, передаваемых посредством устройства 100 кодирования в устройство 200 декодирования, может снижаться, за счет этого повышая эффективность передачи между устройством 100 кодирования и устройством 200 декодирования.
[145] При анализе размера матрицы преобразования, размер матрицы регулярного преобразования составляет 64×64 (NxN), но размер матрицы сокращенного преобразования снижается до 16×64 (RxN) таким образом, что использование запоминающего устройства может снижаться с отношением R/N, когда выполняется сокращенное преобразование, по сравнению со случаем, когда выполняется регулярное преобразование. Помимо этого, число операций умножения может снижаться с отношением R/N, когда используется матрица сокращенного преобразования, по сравнению с числом операций умножения, NxN, когда используется матрица регулярного преобразования.
[146] В примерном варианте осуществления, коэффициенты преобразования для целевого блока могут извлекаться посредством преобразования остаточных выборок для целевого блока посредством преобразователя 122 устройства 100 кодирования; коэффициенты преобразования для целевого блока могут передаваться в обратный преобразователь устройства 200 декодирования; и обратный преобразователь 223 устройства 200 декодирования может обратно преобразовывать коэффициенты преобразования для целевого блока. Остаточные выборки для целевого блока могут извлекаться на основе обратного преобразования, которое выполняется для коэффициентов преобразования для целевого блока. Таким образом, подробные операции согласно (сокращенному) обратному преобразованию выполняются только в противоположном порядке относительно подробных операций согласно (сокращенному) преобразованию, и подробные операции согласно (сокращенному) обратному преобразованию и подробные операции согласно (сокращенному) преобразованию являются практически аналогичными.
NxR
NxR
RxN
[147] Размер матрицы T сокращенного обратного преобразования согласно примерному варианту осуществления составляет NxR, что меньше размера матрицы NxN регулярного обратного преобразования, и матрица T сокращенного обратного преобразования имеет транспонированную взаимосвязь с матрицей T сокращенного преобразования, выражаемой в уравнении 5.
t
NxR
NxR
[148] Матрица T в блоке сокращенного обратного преобразования, проиллюстрированном в (b) по фиг. 6, может означать матрицу T сокращенного обратного преобразования. Если коэффициенты преобразования для целевого блока умножаются на матрицу T сокращенного обратного преобразования, как проиллюстрировано в (b) по фиг. 6, могут извлекаться коэффициенты первичного преобразования для целевого блока или остаточные выборки для целевого блока.
NxR
NxR
[149] Более конкретно, если сокращенное обратное преобразование применяется на основе вторичного обратного преобразования, коэффициенты первичного преобразования для целевого блока могут извлекаться, когда коэффициенты преобразования умножаются на матрицу T сокращенного обратного преобразования. С другой стороны, если сокращенное обратное преобразование применяется на основе первичного обратного преобразования, остаточные выборки для целевого блока могут извлекаться, когда коэффициенты преобразования для целевого блока умножаются на матрицу T сокращенного обратного преобразования.
[150] В примерном варианте осуществления, если размер блока, который должен обратно преобразовываться, составляет 8×8, R=16 (т.е. R/N=16/64=1/4), и размер целевого блока составляет 64×64, сокращенное обратное преобразование согласно (b) по фиг. 6 может выражаться посредством матричной операции, как указано в нижеприведенном уравнении 8.
[151] уравнение 8
[152]
1
16
j
j
[153] В уравнении 8, c-c могут представлять коэффициенты преобразования для целевого блока. В результате операции уравнения 8, может извлекаться r, представляющий коэффициенты первичного преобразования для целевого блока или остаточные выборки для целевого блока, и процесс извлечения r может быть показан в уравнении 9.
[154] уравнение 9
[155]
1
N
[156] В результате операции уравнения 9, могут извлекаться r-r, представляющие коэффициенты первичного преобразования для целевого блока или остаточные выборки для целевого блока. При анализе размера матрицы обратного преобразования, размер матрицы регулярного обратного преобразования составляет 64×64 (NxN), но размер матрицы сокращенного обратного преобразования снижается до 64×16 (NxR) таким образом, что использование запоминающего устройства может снижаться с отношением R/N, когда выполняется сокращенное обратное преобразование, по сравнению со случаем, когда выполняется регулярное обратное преобразование. Помимо этого, число операций умножения может снижаться (NxR) до отношения R/N, когда используется матрица сокращенного обратного преобразования, по сравнению с числом операций умножения, NxN, когда используется матрица регулярного обратного преобразования.
[157] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей процесс сокращенного преобразования согласно примерному варианту осуществления настоящего раскрытия сущности.
[158] Каждый этап, проиллюстрированный на фиг. 7, может выполняться посредством устройства 200 декодирования, проиллюстрированного на фиг. 2. Более конкретно, S700 может выполняться посредством деквантователя 222, проиллюстрированного на фиг. 2, и S710 и S720 могут выполняться посредством обратного преобразователя 223, проиллюстрированного на фиг. 2. Соответственно, подробные описания, перекрывающиеся с вышеуказанным контентом на фиг. 2, должны опускаться или упрощаться.
[159] В примерном варианте осуществления, как описано выше со ссылкой на фиг. 6, подробные операции согласно (сокращенному) преобразованию выполняются только в противоположном порядке относительно подробных операций согласно (сокращенному) обратному преобразованию, и подробные операции согласно (сокращенному) преобразованию и подробные операции согласно (сокращенному) обратному преобразованию могут быть практически аналогичными. Соответственно, специалисты в данной области техники должны легко понимать, что описания S700-S720 для сокращенного обратного преобразования, описанного ниже, также могут применяться к сокращенному преобразованию идентичным или аналогичным способом.
[160] Устройство 200 декодирования согласно примерному варианту осуществления может извлекать коэффициенты преобразования посредством выполнения деквантования для квантованных коэффициентов преобразования для целевого блока (S700).
[161] Устройство 200 декодирования согласно примерному варианту осуществления может выбирать ядро преобразования (S710). Более конкретно, устройство 200 декодирования может выбирать ядро преобразования на основе по меньшей мере одного из индекса преобразования, ширины и высоты области, которая должна преобразовываться, режима внутреннего прогнозирования, используемого при декодировании изображений, и информации относительно цветового компонента целевого блока. Тем не менее, примерный вариант осуществления не ограничен этим, и, например, ядро преобразования предварительно задается, и отдельная информация для выбора ядра преобразования может не передаваться в служебных сигналах.
[162] В примере, информация относительно цветового компонента целевого блока может передаваться в служебных сигналах через CIdx. CIdx может указывать 0, если целевой блок представляет собой блок сигналов яркости, и CIdx может указывать ненулевое значение (например, 1), если целевой блок представляет собой блок сигналов цветности, например, Cb-блок или Cr-блок.
[163] Устройство 200 декодирования согласно примерному варианту осуществления может применять сокращенное обратное преобразование к коэффициентам преобразования на основе выбранного ядра преобразования и сокращенного коэффициента (S720).
[164] Фиг. 8 является блок-схемой последовательности операций способа, иллюстрирующей процесс сокращенного преобразования согласно другому примерному варианту осуществления настоящего раскрытия сущности.
[165] Каждый этап, проиллюстрированный на фиг. 8, может выполняться посредством устройства 200 декодирования, проиллюстрированного на фиг. 2. Более конкретно, S800 может выполняться посредством деквантователя 222, проиллюстрированного на фиг. 2, и S810-S860 могут выполняться посредством обратного преобразователя 223, проиллюстрированного на фиг. 2. Соответственно, подробные описания, перекрывающиеся с вышеуказанным контентом на фиг. 2, должны опускаться или упрощаться.
[166] В примерном варианте осуществления, как описано выше со ссылкой на фиг. 6, подробные операции согласно (сокращенному) преобразованию выполняются только в противоположном порядке относительно подробных операций согласно (сокращенному) обратному преобразованию, и подробные операции согласно (сокращенному) преобразованию и подробные операции согласно (сокращенному) обратному преобразованию могут быть практически аналогичными. Соответственно, специалисты в данной области техники должны легко понимать, что описания S800-S860 для сокращенного обратного преобразования, описанного ниже, также могут применяться к сокращенному преобразованию идентичным или аналогичным способом.
[167] Устройство 200 декодирования согласно примерному варианту осуществления может выполнять деквантование для квантованных коэффициентов для целевого блока (S800). Если преобразование выполняется в устройстве 100 кодирования, устройство 200 декодирования может извлекать коэффициенты преобразования для целевого блока посредством деквантования квантованных коэффициентов преобразования для целевого блока на S800. С другой стороны, если преобразование не выполняется в устройстве 100 кодирования, устройство 200 декодирования может извлекать остаточные выборки для целевого блока посредством выполнения деквантования для квантованных остаточных выборок для целевого блока на S800.
[168] Устройство 200 декодирования согласно примерному варианту осуществления может определять то, выполнено или нет преобразование для остаточных выборок для целевого блока в устройстве 100 кодирования (S810), и когда определяется то, что преобразование выполнено, устройство 200 декодирования может синтаксически анализировать индекс преобразования (либо декодировать из потока битов) (S820). Индекс преобразования может включать в себя индекс горизонтального преобразования для горизонтального преобразования и индекс вертикального преобразования для вертикального преобразования.
[169] В примере, индекс преобразования может включать в себя индекс первичного преобразования, индекс базового преобразования, NSST-индекс и т.п. Индекс преобразования может выражаться, например, как Transform_idx, и NSST-индекс может выражаться, например, как NSST_idx. Помимо этого, индекс горизонтального преобразования может выражаться как Transform_idx_h, и индекс вертикального преобразования может выражаться как Transform_idx_v.
[170] Устройство 200 декодирования согласно примерному варианту осуществления может опускать операции согласно S820-S860, когда на S810 определяется то, что преобразование не выполнено для остаточных выборок для целевого блока в устройстве 100 кодирования.
[171] Устройство 200 декодирования согласно примерному варианту осуществления может выбирать ядро преобразования на основе по меньшей мере одного из индекса преобразования, ширины и высоты области, к которой применяется преобразование, режима внутреннего прогнозирования, используемого при декодировании изображений, и информации относительно цветового компонента целевого блока (S830).
[172] Устройство 200 декодирования согласно примерному варианту осуществления может определять то, удовлетворяется или нет условие для выполнения сокращенного обратного преобразования для коэффициентов преобразования для целевого блока (S840).
[173] В примере, если ширина и высота области, к которой применяется сокращенное обратное преобразование, превышают первый коэффициент, устройство 200 декодирования может определять то, что условие для выполнения сокращенного обратного преобразования для коэффициентов преобразования для целевого блока удовлетворяется.
[174] В другом примере, если произведение ширины и высоты области, к которой применяется сокращенное обратное преобразование, превышает второй коэффициент, и меньшее из ширины и высоты области, к которой применяется сокращенное обратное преобразование, превышает третий коэффициент, устройство 200 декодирования может определять то, что условие для выполнения сокращенного обратного преобразования для коэффициентов преобразования для целевого блока удовлетворяется.
[175] В еще одном другом примере, если ширина и высота области, к которой применяется сокращенное обратное преобразование, меньше или равны четвертому коэффициенту, устройство 200 декодирования может определять то, что условие для выполнения сокращенного обратного преобразования для коэффициентов преобразования для целевого блока удовлетворяется.
[176] В еще одном другом примере, если произведение ширины и высоты области, к которой применяется сокращенное обратное преобразование, меньше или равно пятому коэффициенту, и меньшее из ширины и высоты области, к которой применяется сокращенное обратное преобразование, меньше или равно шестому коэффициенту, устройство 200 декодирования может определять то, что условие для выполнения сокращенного обратного преобразования для коэффициентов преобразования для целевого блока удовлетворяется.
[177] В еще одном другом примере, если по меньшей мере одно из условия, в котором ширина и высота области, к которой применяется сокращенное обратное преобразование, превышают первый коэффициент, условия, в котором произведение ширины и высоты области, к которой применяется сокращенное обратное преобразование, превышает второй коэффициент, и меньшее из ширины и высоты области, к которой применяется сокращенное обратное преобразование, превышает третий коэффициент, условия, в котором ширина и высота области, к которой применяется сокращенное обратное преобразование, меньше или равны четвертому коэффициенту, и условия, в котором произведение ширины и высоты области, к которой применяется сокращенное обратное преобразование, меньше или равно пятому коэффициенту, и меньшее из ширины и высоты области, к которой применяется сокращенное обратное преобразование, меньше или равно шестому коэффициенту, удовлетворяется, устройство 200 декодирования может определять то, что условие, в котором сокращенное обратное преобразование выполняется для коэффициентов преобразования для целевого блока, удовлетворяется.
[178] В вышеприведенных примерах, первый-шестой коэффициенты могут составлять любое предварительно определенное положительное целое число. Например, первый-шестой коэффициенты могут быть равны 4, 8, 16 или 32.
[179] Сокращенное обратное преобразование согласно примерному варианту осуществления может применяться к квадратной области, которая включается в целевой блок (т.е. если ширина и высота области, к которой применяется сокращенное обратное преобразование, являются идентичными), и в некоторых случаях, ширина и высота области, к которой применяется сокращенное обратное преобразование, могут задаваться фиксированно равными значениям предварительно определенных коэффициентов (например, 4, 8, 16, 32 и т.п.). Между тем, область, к которой применяется сокращенное обратное преобразование, не ограничена квадратной областью, и сокращенное обратное преобразование может применяться к прямоугольной области или непрямоугольной области. Ниже приводится более подробное описание области, к которой применяется сокращенное обратное преобразование, со ссылкой на фиг. 10.
[180] В примере, то, удовлетворяется или нет условие для выполнения сокращенного обратного преобразования, может определяться на основе индекса преобразования. Таким образом, индекс преобразования может указывать то, какое преобразование выполнено для целевого блока.
[181] Устройство 200 декодирования согласно примерному варианту осуществления может выполнять (регулярное) обратное преобразование для коэффициентов преобразования для целевого блока, когда на S840 определяется то, что условие для выполнения упрощенного обратного преобразования не удовлетворяется. Как описано выше со ссылкой на фиг. 3, (обратное) преобразование может включать в себя, например, DCT2, DCT4, DCT5, DCT7, DCT8, DST1, DST4, DST7, NSST, JEM-NSST (HyGT) и т.п., но не ограничено этим.
[182] Устройство 200 декодирования согласно примерному варианту осуществления может выполнять сокращенное обратное преобразование для коэффициентов преобразования для целевого блока, когда на S840 определяется то, что условие для выполнения сокращенного обратного преобразования удовлетворяется (S860).
[183] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей процесс сокращенного преобразования на основе неразделимого вторичного преобразования согласно примерному варианту осуществления настоящего раскрытия сущности.
[184] Каждый этап, проиллюстрированный на фиг. 9, может выполняться посредством устройства 200 декодирования, проиллюстрированного на фиг. 2, и более конкретно, S900 может выполняться посредством деквантователя 222, проиллюстрированного на фиг. 2, и S910-S980 могут выполняться посредством обратного преобразователя 223, проиллюстрированного на фиг. 2. Помимо этого, S900 по фиг. 9 может соответствовать S800 по фиг. 8, S940 по фиг. 9 может соответствовать S830 по фиг. 8, и S950 по фиг. 9 может соответствовать S840 по фиг. 8. Соответственно, подробные описания, перекрывающиеся с контентом, описанным выше со ссылкой на фиг. 2 и 8, должны опускаться или упрощаться.
[185] В примерном варианте осуществления, как описано выше со ссылкой на фиг. 6, подробные операции согласно (сокращенному) преобразованию выполняются только в противоположном порядке относительно подробных операций согласно (сокращенному) обратному преобразованию, и подробные операции согласно (сокращенному) преобразованию и подробные операции согласно (сокращенному) обратному преобразованию могут быть практически аналогичными. Соответственно, специалисты в данной области техники должны легко понимать, что описания S900-S980 для сокращенного обратного преобразования, описанного ниже, также могут применяться к сокращенному преобразованию идентичным или аналогичным способом.
[186] Устройство 200 декодирования согласно примерному варианту осуществления может выполнять деквантование для квантованных коэффициентов для целевого блока (S900).
[187] Устройство 200 декодирования согласно примерному варианту осуществления может определять то, выполнено или нет NSST для остаточных выборок для целевого блока в устройстве 100 кодирования (S910), и когда определяется то, что NSST выполнено, устройство 200 декодирования может синтаксически анализировать NSST-индекс (либо декодировать из потока битов) (S920).
[188] Устройство 200 декодирования согласно примерному варианту осуществления может определять то, превышает NSST-индекс или нет 0 (S930), и когда определяется то, что NSST-индекс превышает 0, устройство 200 декодирования может выбирать ядро преобразования на основе по меньшей мере одного из NSST-индекса, ширины и высоты области, к которой применяется NSST-индекс, режима внутреннего прогнозирования и информации относительно цветового компонента целевого блока (S940).
[189] Устройство 200 декодирования согласно примерному варианту осуществления может определять то, удовлетворяется или нет условие для выполнения сокращенного обратного преобразования для коэффициентов преобразования для целевого блока (S950).
[190] Устройство 200 декодирования согласно примерному варианту осуществления может выполнять (регулярное) обратное преобразование не на основе сокращенного обратного преобразования для коэффициентов преобразования для целевого блока, если на S950 определяется то, что условие для выполнения сокращенного обратного преобразования не удовлетворяется.
[191] Устройство 200 декодирования согласно примерному варианту осуществления может выполнять обратное NSST на основе сокращенного обратного преобразования для коэффициентов преобразования для целевого блока, если на S950 определяется то, что условие для выполнения сокращенного обратного преобразования удовлетворяется.
[192] Устройство 200 декодирования согласно примерному варианту осуществления может опускать операции согласно S920-S970, если на S910 определяется то, что NSST не выполнено для остаточных выборок для целевого блока в устройстве 100 кодирования.
[193] Устройство 200 декодирования согласно примерному варианту осуществления может опускать операции согласно S940-S970, если на S930 определяется то, что NSST-индекс не превышает 0.
[194] Устройство 200 декодирования согласно примерному варианту осуществления может выполнять первичное обратное преобразование для коэффициентов первичного преобразования для целевого блока, извлекаемого посредством применения обратного NSST. Когда первичное обратное преобразование выполняется для коэффициентов первичного преобразования, могут извлекаться остаточные выборки для целевого блока.
[195] Фиг. 10 является блок-схемой, иллюстрирующей блок, к которому применяется сокращенное преобразование согласно примерному варианту осуществления настоящего раскрытия сущности.
[196] Как описано выше со ссылкой на фиг. 8, область, к которой применяется сокращенное (обратное) преобразование в целевом блоке, не ограничена квадратной областью, и сокращенное преобразование может применяться к прямоугольной области или непрямоугольной области.
[197] Фиг. 10 иллюстрирует пример, в котором сокращенное преобразование применяется к непрямоугольной области в целевом блоке 1000, имеющем размер 16×16. Десять блоков 1010, затененных на фиг. 10, представляют области, в которых сокращенное преобразование применяется в целевом блоке 1000. Поскольку размеры соответствующих минимальных единичных блоков составляют 4×4, сокращенное преобразование применяется к 10 пикселам 4×4 (т.е. сокращенное преобразование применяется к 160 пикселам) согласно примеру по фиг. 10. Когда R=16, размер матрицы сокращенного преобразования может составлять 16×160.
[198] Между тем, специалисты в данной области техники могут легко понимать, что компоновка минимальных единичных блоков 1010, включенных в область, к которой применяется сокращенное преобразование, проиллюстрированное на фиг. 10, представляет собой только один из большого числа примеров. Например, минимальные единичные блоки, включенные в область, к которой применяется сокращенное преобразование, могут не быть смежными друг с другом либо могут иметь взаимосвязь, совместно использующую только одну вершину между ними.
[199] Фиг. 11 является блок-схемой последовательности операций способа, иллюстрирующей работу устройства кодирования видео согласно примерному варианту осуществления настоящего раскрытия сущности.
[200] Каждый этап, проиллюстрированный на фиг. 11, может выполняться посредством устройства 100 кодирования, проиллюстрированного на фиг. 1. Более конкретно, S1100 может выполняться посредством вычитателя 121, проиллюстрированного на фиг. 1, S1110 может выполняться посредством преобразователя 122, проиллюстрированного на фиг. 1, S1120 может выполняться посредством квантователя 123, проиллюстрированного на фиг. 1, и S1130 может выполняться посредством энтропийного кодера 130, проиллюстрированного на фиг. 1. Помимо этого, операции согласно S1100-S1130 основаны на части контента, описанного выше со ссылкой на фиг. 6-10. Соответственно, подробные описания, перекрывающиеся с контентом, описанным выше со ссылкой на фиг. 1 и 6-10, должны опускаться или упрощаться.
[201] Устройство 100 кодирования согласно примерному варианту осуществления может извлекать остаточные выборки для целевого блока (S1100).
[202] Устройство 100 кодирования согласно примерному варианту осуществления может извлекать коэффициенты преобразования для целевого блока на основе сокращенного преобразования для остаточных выборок (S1110). В примере, сокращенное преобразование может выполняться на основе матрицы сокращенного преобразования, и матрица сокращенного преобразования может представлять собой неквадратную матрицу, в которой число строк меньше числа столбцов.
[203] В примерном варианте осуществления, S1110 может включать в себя определение того, удовлетворяется или нет условие для применения сокращенного преобразования, формирование и кодирование индекса преобразования на основе определения, выбор ядра преобразования и применение сокращенного преобразования к остаточным выборкам на основе выбранного ядра преобразования и сокращенного коэффициента, когда условие для применения сокращенного преобразования удовлетворяется. В это время, размер матрицы сокращенного преобразования может определяться на основе сокращенного коэффициента.
[204] Если сокращенное преобразование согласно S1110 основано на первичном преобразовании, коэффициенты первичного преобразования для целевого блока могут извлекаться, когда сокращенное преобразование выполняется для остаточных выборок для целевого блока. Устройство 200 декодирования может выполнять NSST для коэффициентов первичного преобразования для целевого блока, и в это время, NSST может выполняться на основе сокращенного преобразования или выполняться не на основе сокращенного преобразования. Когда NSST выполняется на основе сокращенного преобразования, это может соответствовать операции согласно S1110.
[205] Устройство 100 кодирования согласно примерному варианту осуществления может извлекать квантованные коэффициенты преобразования посредством выполнения квантования на основе коэффициентов преобразования для целевого блока (S1120).
[206] Устройство 100 кодирования согласно примерному варианту осуществления может кодировать информацию относительно квантованных коэффициентов преобразования (S1130). Более конкретно, устройство 100 кодирования может формировать информацию относительно квантованных коэффициентов преобразования и кодировать информацию относительно сформированных квантованных коэффициентов преобразования. Информация относительно квантованных коэффициентов преобразования может включать в себя остаточную информацию.
[207] В примере, информация относительно квантованных коэффициентов преобразования может включать в себя по меньшей мере одно из информации относительно того, применяется или нет сокращенное преобразование, информации относительно сокращенного коэффициента, информации относительно минимального размера преобразования, к которому применяется сокращенное преобразование, и информации относительно максимального размера преобразования, к которому применяется сокращенное преобразование. Ниже приводится более подробное описание информации относительно квантованных коэффициентов преобразования на фиг. 12.
[208] Что касается S1110, может подтверждаться то, что коэффициенты преобразования для целевого блока извлекаются на основе сокращенного преобразования для остаточных выборок. При анализе размера матрицы преобразования, размер матрицы регулярного преобразования составляет NxN, но размер матрицы сокращенного преобразования снижается до RxN таким образом, что использование запоминающего устройства может снижаться с отношением R/N, когда выполняется сокращенное преобразование, по сравнению со случаем, когда выполняется регулярное преобразование. Помимо этого, число операций умножения может снижаться (RxN) до отношения R/N, когда используется матрица сокращенного преобразования, по сравнению с числом операций умножения, NxN, когда используется матрица регулярного преобразования. Помимо этого, поскольку только R коэффициентов преобразования извлекаются, когда сокращенное преобразование применяется, общее число коэффициентов преобразования для целевого блока снижается с N до R по сравнению со случаем, в котором N коэффициентов преобразования извлекаются, когда регулярное преобразование применяется таким образом, что может снижаться объем данных, передаваемых посредством устройства 100 кодирования в устройство 200 декодирования. В общих словах, можно повышать эффективность преобразования и эффективность кодирования устройства 100 кодирования через сокращенное преобразование согласно S1110.
[209] Фиг. 12 является блок-схемой последовательности операций способа, иллюстрирующей работу устройства декодирования видео согласно примерному варианту осуществления настоящего раскрытия сущности.
[210] Каждый этап, проиллюстрированный на фиг. 12, может выполняться посредством устройства 200 декодирования, проиллюстрированного на фиг. 2. Более конкретно, S1200 может выполняться посредством энтропийного декодера 210, проиллюстрированного на фиг. 2, S1210 может выполняться посредством деквантователя 222, проиллюстрированного на фиг. 2, S1220 может выполняться посредством обратного преобразователя 223, проиллюстрированного на фиг. 2, и S1230 может выполняться посредством сумматора 240, проиллюстрированного на фиг. 2. Помимо этого, операции согласно S1200-S1230 основаны на части контента, описанного выше со ссылкой на фиг. 6-10. Соответственно, подробные описания, перекрывающиеся с контентом, описанным выше со ссылкой на фиг. 2 и 6-10, должны опускаться или упрощаться.
[211] Устройство 200 декодирования согласно примерному варианту осуществления может извлекать квантованные коэффициенты преобразования для целевого блока из потока битов (S1200). Более конкретно, устройство 200 декодирования может декодировать информацию относительно квантованных коэффициентов преобразования для целевого блока из потока битов и извлекать квантованные коэффициенты преобразования для целевого блока на основе информации относительно квантованных коэффициентов преобразования для целевого блока. Информация относительно квантованных коэффициентов преобразования для целевого блока может быть включена в набор параметров последовательности (SPS) или в заголовок серии последовательных макроблоков и может включать в себя по меньшей мере одно из информации относительно того, применяется или нет сокращенное преобразование, информации относительно сокращенного коэффициента, информации относительно минимального размера преобразования, к которому применяется сокращенное преобразование, информации относительно максимального размера преобразования, к которому применяется сокращенное преобразование, и информации относительно размера сокращенного обратного преобразования.
[212] Более конкретно, информация относительно того, применяется или нет сокращенное преобразование, может представляться посредством флага активации, информация относительно сокращенного коэффициента может представляться посредством значения сокращенного коэффициента, информация относительно минимального размера преобразования, к которому применяется сокращенное обратное преобразование, представляется посредством минимального значения размера преобразования, информация относительно максимального размера преобразования, к которому применяется сокращенное обратное преобразование, может представляться посредством максимального значения размера преобразования, и информация относительно размера сокращенного обратного преобразования может представляться посредством значения размера сокращенного обратного преобразования. В это время, флаг активации может передаваться в служебных сигналах через первый синтаксический элемент, значение сокращенного коэффициента может передаваться в служебных сигналах через второй синтаксический элемент, минимальное значение размера преобразования может передаваться в служебных сигналах через третий синтаксический элемент, и максимальное значение размера преобразования может передаваться в служебных сигналах через четвертый синтаксический элемент, и значение размера сокращенного обратного преобразования может передаваться в служебных сигналах через пятый синтаксический элемент.
[213] В примере, первый синтаксический элемент может выражаться как синтаксический элемент Reduced_transform_enabled_flag. Синтаксический элемент Reduced_transform_enabled_flag может указывать 1, если сокращенное преобразование применяется, и синтаксический элемент Reduced_transform_enabled_flag может указывать 0, если сокращенное преобразование не применяется. Если синтаксический элемент Reduced_transform_enabled_flag не передается в служебных сигналах, значение синтаксического элемента Reduced_transform_enabled_flag может оцениваться как равное 0.
[214] Помимо этого, второй синтаксический элемент может выражаться как синтаксический элемент Reduced_transform_factor. Синтаксический элемент Reduced_transform_factor может указывать значение R/N, где N может означать квадрат длины одной стороны блока, к которому применяется преобразование, или общее число коэффициентов преобразования, соответствующих блоку, к которому применяется преобразование. R может означать сокращенный коэффициент (reduced coefficient), меньший N. Тем не менее, пример не ограничен этим, и, например, Reduced_transform_factor также может указывать R, а не R/N. При анализе с учетом матрицы сокращенного обратного преобразования, R означает число столбцов матрицы сокращенного обратного преобразования, и N означает число строк матрицы сокращенного обратного преобразования, и в это время, число столбцов матрицы сокращенного обратного преобразования должно быть меньше числа строк. R, например, может составлять 8, 16, 32 и т.п., но не ограничено этим. Если синтаксический элемент Reduced_transform_factor не передается в служебных сигналах, значение Reduced_transform_factor может оцениваться как R/N (или R).
[215] Помимо этого, третий синтаксический элемент может выражаться как синтаксический элемент min_reduced_transform_size. Если синтаксический элемент min_reduced_transform_size не передается в служебных сигналах, значение min_reduced_transform_size может оцениваться как 0.
[216] Помимо этого, четвертый синтаксический элемент может выражаться как синтаксический элемент max_reduced_transform_size. Если синтаксический элемент max_reduced_transform_size не передается в служебных сигналах, значение max_reduced_transform_size может оцениваться как 0.
[217] Помимо этого, пятый синтаксический элемент может выражаться как синтаксический элемент reduced_transform_size. Значение размера сокращенного обратного преобразования, включенное и передаваемое в служебных сигналах в синтаксическом элементе reduced_transform_size, может указывать размер области, к которой применяется сокращенное обратное преобразование, или размер матрицы сокращенного преобразования, но не ограничено этим. Если синтаксический элемент reduced_transform_size не передается в служебных сигналах, значение reduced_transform_size может оцениваться как 0.
[218] Нижеприведенная таблица 3 показывает пример, в котором информация относительно квантованных коэффициентов преобразования для целевого блока включается и передается в служебных сигналах в SPS.
[219] Табл. 3
[220]
[221] Устройство 200 декодирования согласно примерному варианту осуществления может извлекать коэффициенты преобразования посредством выполнения деквантования для квантованных коэффициентов преобразования для целевого блока (S1210).
[222] Устройство 200 декодирования согласно примерному варианту осуществления может извлекать остаточные выборки для целевого блока на основе сокращенного обратного преобразования для коэффициентов преобразования (S1220). В примере, сокращенное обратное преобразование может выполняться на основе матрицы сокращенного обратного преобразования, и матрица сокращенного обратного преобразования может представлять собой неквадратную матрицу, в которой число столбцов меньше числа строк.
[223] В примерном варианте осуществления, S1220 может включать в себя декодирование индекса преобразования, определение того, удовлетворяется или нет условие для применения сокращенного обратного преобразования, на основе индекса преобразования, выбор ядра преобразования и применение сокращенного обратного преобразования для коэффициента преобразования на основе выбранного ядра преобразования и сокращенного коэффициента, когда условие для применения сокращенного обратного преобразования удовлетворяется. В это время, размер матрицы сокращенного обратного преобразования может определяться на основе сокращенного коэффициента.
[224] Если сокращенное обратное преобразование согласно S1220 основано на обратном NSST, коэффициенты первичного преобразования для целевого блока могут извлекаться, когда сокращенное обратное преобразование выполняется для коэффициентов преобразования для целевого блока. Устройство 200 декодирования может выполнять первичное обратное преобразование для коэффициентов первичного преобразования для целевого блока, и в это время, первичное обратное преобразование может выполняться на основе сокращенного обратного преобразования или выполняться не на основе сокращенного обратного преобразования.
[225] Альтернативно, когда сокращенное обратное преобразование согласно S1220 основано на первичном обратном преобразовании, остаточные выборки для целевого блока могут непосредственно извлекаться посредством выполнения сокращенного обратного преобразования для коэффициентов преобразования для целевого блока.
[226] Устройство 200 декодирования согласно примерному варианту осуществления может формировать восстановленное изображение на основе остаточных выборок для целевого блока и прогнозных выборок для целевого блока (S1230).
[227] Что касается S1220, может подтверждаться то, что остаточные выборки для целевого блока извлекаются на основе сокращенного обратного преобразования для коэффициентов преобразования для целевого блока. При анализе размера матрицы обратного преобразования, размер матрицы регулярного обратного преобразования составляет NxN, но размер матрицы сокращенного обратного преобразования сокращается до NxR таким образом, что использование запоминающего устройства может снижаться с отношением R/N, когда выполняется сокращенное преобразование, по сравнению со случаем, когда выполняется регулярное преобразование. Помимо этого, число операций умножения может снижаться (NxR) до отношения R/N, когда используется матрица сокращенного обратного преобразования, по сравнению с числом операций умножения, NxN, когда используется матрица регулярного обратного преобразования. Помимо этого, поскольку только R коэффициентов преобразования должны декодироваться, когда сокращенное обратное преобразование применяется, общее число коэффициентов преобразования для целевого блока может составлять N к R, по сравнению со случаем, в котором N коэффициентов преобразования должны декодироваться, когда регулярное обратное преобразование применяется, за счет этого повышая эффективность декодирования. В общих словах, можно повышать эффективность (обратного) преобразования и эффективность кодирования устройства 200 декодирования через сокращенное обратное преобразование согласно S1220.
[228] Внутренние компоненты вышеуказанного устройства могут представлять собой процессоры, которые выполняют последовательные процессы, сохраненные в запоминающем устройстве, либо могут представлять собой аппаратные компоненты, состоящие из других аппаратных средств. Они могут быть расположены внутри/за пределами устройства.
[229] Вышеуказанные модули могут опускаться или заменяться другими модулями, которые выполняют аналогичные/идентичные операции согласно примерным вариантам осуществления.
[230] Вышеуказанный способ согласно настоящему раскрытию сущности может реализовываться в форме программного обеспечения, и устройство кодирования и/или устройство декодирования согласно настоящему раскрытию сущности могут быть включены в устройство, которое выполняет обработку изображений, такое как телевизор, компьютер, смартфон, абонентская приставка, устройство отображения и т.п.
[231] В вышеуказанных примерных вариантах осуществления, хотя способы описываются на основе блок-схем последовательности операций способа, показанных как последовательность этапов или блоков, настоящее раскрытие сущности не ограничено порядком этапов, и определенный этап может возникать в отличающемся порядке или одновременно с этапом, отличающимся от этапа, описанного выше. Помимо этого, специалисты в данной области техники должны понимать, что этапы, показанные на блок-схеме последовательности операций способа, не являются исчерпывающими, и другие этапы могут включаться, либо один или более этапов на блок-схемы последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия сущности.
[232] Когда варианты осуществления настоящего раскрытия сущности реализуются в программном обеспечении, вышеописанный способ может реализовываться посредством модулей (процессов, функций и т.д.), которые выполняют функции, описанные выше. Такие модули могут сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может быть внутренним или внешним по отношению к процессору, и запоминающее устройство может соединяться с процессором с использованием различных известных средств. Процессор может содержать специализированную интегральную схему (ASIC), другие наборы микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя ROM (постоянное запоминающее устройство), RAM (оперативное запоминающее устройство), флэш-память, карту памяти, носитель данных и/или другое устройство хранения данных.