RU2806813C2 - Способ кодирования изображений на основе bdpcm и устройство для этого - Google Patents
Способ кодирования изображений на основе bdpcm и устройство для этого Download PDFInfo
- Publication number
- RU2806813C2 RU2806813C2 RU2022127998A RU2022127998A RU2806813C2 RU 2806813 C2 RU2806813 C2 RU 2806813C2 RU 2022127998 A RU2022127998 A RU 2022127998A RU 2022127998 A RU2022127998 A RU 2022127998A RU 2806813 C2 RU2806813 C2 RU 2806813C2
- Authority
- RU
- Russia
- Prior art keywords
- bdpcm
- transform
- block
- current block
- prediction
- Prior art date
Links
Images
Abstract
Изобретение относится к средствам для кодирования и декодирования изображений. Технический результат заключается в повышении эффективности кодирования изображений. Извлекают прогнозные выборки для текущего блока на основе BDPCM. Извлекают остаточные выборки для текущего блока на основе прогнозных выборок. Выполняют квантование для остаточных выборок. Извлекают квантованную остаточную информацию на основе BDPCM и кодируют квантованную остаточную информацию и информацию флага, относящуюся к BDPCM для текущего блока. При этом на основании того, что ширина текущего блока меньше или равна первому пороговому значению, а высота текущего блока меньше или равна второму пороговому значению, информация флага кодируется. При этом на основании того, что BDPCM применяется к текущему блоку, неразделимое преобразование не применяется к текущему блоку. На основании того, что BDPCM применяется к текущему блоку, индекс преобразования для неразделимого преобразования не кодируется. 4 н. и 10 з.п. ф-лы, 11 ил.
Description
Область техники, к которой относится изобретение
[1] Настоящее раскрытие сущности, в общем, относится к технологии кодирования изображений, а более конкретно, к способу кодирования изображений на основе BDPCM (блочно-дифференциальной импульсно-кодовой модуляции) в системе кодирования изображений и к оборудованию для этого.
Описание предшествующего уровня техники
[2] В наше время, спрос на высококачественные изображения/видео высокого разрешения, к примеру, 4K, 8K или изображения/видео еще более сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как данные изображений/видео приобретают все более высокое разрешение и более высокое качество, передаваемый объем информации или объем в битах увеличивается по сравнению с традиционными данными изображений. Следовательно, когда данные изображений передаются с использованием такой среды, как традиционная проводная/беспроводная широкополосная линия, или данные изображений/видео сохраняются с использованием существующего носителя хранения данных, затраты на передачу и затраты на хранение для них увеличиваются.
[3] Дополнительно, в наше время, интерес и спрос на иммерсивное мультимедиа, такое как контент виртуальной реальности (VR), искусственной реальности (AR) или голограмма и т.п., растет, и широковещательная передача для изображений/видео, имеющих признаки изображений, отличающиеся от признаков действительных изображений, таких как игровое изображение, увеличивается.
[4] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений/видео для эффективного сжатия и передачи либо сохранения и воспроизведения информации высококачественных изображений/видео высокого разрешения, имеющих различные признаки, как описано выше.
Сущность изобретения
[5] Технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и оборудование для повышения эффективности кодирования изображений.
[6] Другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и оборудование для повышения эффективности при индексном кодировании с преобразованием при кодировании изображений на основе BDPCM.
[7] Другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и оборудование для повышения эффективности при кодировании на основе флагов пропуска преобразования при кодировании изображений на основе BDPCM.
[8] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ, и оборудование для выполнения BDPCM-кодирования для каждого компонента сигнала яркости или компонента сигнала цветности предоставляется.
[9] Согласно варианту осуществления настоящего раскрытия сущности, предоставляется способ декодирования изображений, осуществляемый посредством оборудования декодирования. Способ может включать в себя извлечение квантованных коэффициентов преобразования для текущего блока на основе BDPCM; извлечение коэффициентов преобразования посредством выполнения деквантования для квантованных коэффициентов преобразования; и извлечение остаточных выборок на основе коэффициентов преобразования; в котором когда BDPCM применяется к текущему блоку, обратное неразделимое преобразование не применяется к коэффициентам преобразования.
[10] Когда BDPCM применяется к текущему блоку, значение индекса преобразования для обратного неразделимого преобразования, которое применяется к текущему блоку, логически выводится равным 0.
[11] Когда BDPCM применяется к текущему блоку, значению флага пропуска преобразования, указывающего то, пропускается или нет преобразование в текущем блоке, логически выводится равным 0.
[12] BDPCM отдельно применяется к блоку сигналов яркости текущего блока или к блоку сигналов цветности текущего блока, при этом, когда BDPCM применяется к блоку сигналов яркости, индекс преобразования для блока сигналов яркости не принимается, и при этом, когда BDPCM применяется к блоку сигналов цветности, индекс преобразования для блока сигналов цветности не принимается.
[13] Когда ширина текущего блока меньше или равна первому пороговому значению, и высота текущего блока меньше или равна второму пороговому значению, BDPCM применяется к текущему блоку.
[14] Квантованные коэффициенты преобразования извлекаются на основе информации направления относительно направления, в котором выполняется BDPCM.
[15] Способ декодирования изображений дополнительно содержит выполнение внутреннего прогнозирования для текущего блока на основе направления, в котором выполняется BDPCM.
[16] Информация направления указывает горизонтальное направление или вертикальное направление
[17] Согласно другому варианту осуществления настоящего раскрытия сущности, предоставляется способ кодирования изображений, осуществляемый посредством оборудования кодирования. Способ может включать в себя: извлечение прогнозных выборок для текущего блока на основе BDPCM; извлечение остаточных выборок для текущего блока на основе прогнозных выборок; выполнение квантования для остаточных выборок; извлечение квантованной остаточной информации на основе BDPCM; и кодирование квантованной остаточной информации и информации кодирования для текущего блока; в котором когда BDPCM применяется к текущему блоку, неразделимое преобразование не применяется к текущему блоку.
[18] Согласно еще одному другому варианту осуществления настоящего раскрытия сущности, может предоставляться цифровой носитель хранения данных, который сохраняет данные изображений, включающие в себя кодированную информацию изображений и поток битов, сформированный согласно способу кодирования изображений, осуществляемому посредством оборудования кодирования.
[19] Согласно еще одному другому варианту осуществления настоящего раскрытия сущности, может предоставляться цифровой носитель хранения данных, который сохраняет данные изображений, включающие в себя кодированную информацию изображений и поток битов, чтобы инструктировать оборудованию декодирования осуществлять способ декодирования изображений.
[20] Согласно настоящему раскрытию сущности, можно повышать общую эффективность сжатия изображений/видео.
[21] Согласно настоящему раскрытию сущности, можно повышать общую эффективность сжатия изображений/видео при индексном кодировании с преобразованием.
[22] Согласно настоящему раскрытию сущности, можно повышать эффективность при индексном кодировании с преобразованием при кодировании изображений на основе BDPCM.
[23] Согласно настоящему раскрытию сущности, можно повышать эффективность при кодировании на основе флагов пропуска преобразования при кодировании изображения на основе BDPCM.
[24] Согласно настоящему раскрытию сущности, предоставляются способ и оборудование для выполнения BDPCM-кодирования для каждого компонента сигнала яркости или компонента сигнала цветности.
[25] Преимущества, которые могут получаться за счет конкретных примеров настоящего раскрытия сущности, не ограничены упомянутыми выше преимуществами. Например, могут быть предусмотрены различные технические эффекты, которые специалисты в данной области техники могут понимать или извлекать из настоящего раскрытия сущности. Соответственно, конкретные преимущества настоящего раскрытия сущности не ограничены преимуществами, явно описанными в настоящем раскрытии сущности, и могут включать в себя различные преимущества, которые могут пониматься или извлекаться из технических признаков настоящего раскрытия сущности.
Краткое описание чертежей
[26] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.
[27] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому является применимым настоящее раскрытие сущности.
[28] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому является применимым настоящее раскрытие сущности.
[29] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего раскрытия сущности.
[30] Фиг. 5 иллюстрирует направленные внутренние режимы 65 направлений прогнозирования.
[31] Фиг. 6 является схемой, иллюстрирующей RST согласно варианту осуществления настоящего раскрытия сущности.
[32] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу оборудования декодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[33] Фиг. 8 является управляющей блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[34] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей работу оборудования кодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[35] Фиг. 10 является управляющей блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[36] Фиг. 11 иллюстрирует структуру системы потоковой передачи контента, к которой применяется настоящее раскрытие сущности.
Подробное описание вариантов осуществления
[37] Хотя настоящее раскрытие сущности может подвергаться различным модификациям и включает в себя различные варианты осуществления, его конкретные варианты осуществления показаны на чертежах в качестве примера и подробно описываются ниже. Тем не менее, это не имеет намерение ограничивать настоящее раскрытие сущности конкретными вариантами осуществления, раскрытыми в данном документе. Термины, используемые в данном документе, служат только для цели описания конкретных вариантов осуществления и не имеют намерение ограничивать техническую идею настоящего раскрытия сущности. Формы единственного числа могут включать в себя формы множественного числа, если контекст явно не указывает иное. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого не следует понимать, что заранее исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[38] Между тем, каждый компонент на чертежах, описанных в данном документе, проиллюстрирован независимо для удобства описания в отношении характеристических функций, отличающихся друг от друга, и, тем не менее, не подразумевается то, что каждый компонент реализуется посредством отдельных аппаратных средств или программного обеспечения. Например, любые два или более из этих компонентов могут комбинироваться, чтобы формировать один компонент, и любой один компонент может разделяться на несколько компонентов. Варианты осуществления, в которых компоненты комбинируются и/или разделяются, должны принадлежать объему патентного права настоящего раскрытия сущности при условии, что они не отступают от сущности настоящего раскрытия сущности.
[39] В дальнейшем в этом документе, подробнее поясняются предпочтительные варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи. Помимо этого, идентичные ссылки с номерами используются для идентичных компонентов на чертежах, и повторные описания для идентичных компонентов опускаются.
[40] Этот документ относится к кодированию видео/изображений. Например, способ/пример, раскрытый в этом документе, может относится к стандарту VVC (универсального кодирования видео) (ITU-T-(рекомендация H.266), к стандарту кодирования видео/изображений следующего поколения после VVC либо к другим связанным с кодированием видео стандартам (например, к стандарту HEVC (высокоэффективного кодирования видео) (ITU-T-(рекомендация H.265), к стандарту EVC (фундаментального кодирования видео), к AVS2-стандарту и т.д.).
[41] В этом документе, могут предоставляться множество вариантов осуществления, связанных с кодированием видео/изображений, и если не указано обратное, варианты осуществления могут комбинироваться между собой и выполняться.
[42] В этом документе, видео может означать набор последовательности изображений со временем. В общем, кадр означает единицу, представляющую изображение в конкретной временной зоне, и срез/плитка представляет собой единицу, составляющую часть кадра. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток.
[43] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности. Альтернативно, выборка может означать пиксельное значение в пространственной области, либо когда это пиксельное значение преобразуется в частотную область, она может означать коэффициент преобразования в частотной области.
[44] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). "Единица" и такой термин, как "блок", "зона" и т.п., могут использоваться вместо друг друга согласно обстоятельствам. В общем случае, блок MxN может включать в себя набор (или массив) выборок (или массивы выборок) или коэффициентов преобразования, состоящий из M столбцов и N строк.
[45] В этом документе, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".
[46] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может включать в себя 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в этом документе должен интерпретироваться как указывающий "дополнительно или альтернативно".
[47] В настоящем раскрытии сущности, "по меньшей мере, одно из A и B" может означать "только A", "только B" или "как A, так и B". Помимо этого, в раскрытии сущности, выражение "по меньшей мере, одно из A или B" или "по меньшей мере, одно из A и/или B" может интерпретироваться как "по меньшей мере, одно из A и B".
[48] Помимо этого, в настоящем раскрытии сущности, "по меньшей мере, одно из A, B и C" может означать "только A", "только B", "только C" либо "любая комбинация A, B и C". Помимо этого, "по меньшей мере, одно из A, B или C" или "по меньшей мере, одно из A, B и/или C" может означать "по меньшей мере, одно из A, B и C".
[49] Помимо этого, круглая скобка, используемая в настоящем раскрытии сущности, может означать "например". В частности, при указании в качестве "прогнозирования (внутреннего прогнозирования)" она может означать то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Другими словами, "прогнозирование" по настоящему раскрытию сущности не ограничено "внутренним прогнозированием", и "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Помимо этого, при указании в качестве "прогнозирования (т.е. внутреннего прогнозирования)", она также может означать то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования".
[50] Технические признаки, отдельно описанные на одном чертеже в настоящем раскрытии сущности, могут реализовываться отдельно либо могут реализовываться одновременно.
[51] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.
[52] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может доставлять кодированную информацию или данные видео/изображений в форме файла или потоковой передачи в приемное устройство через цифровой носитель хранения данных или сеть.
[53] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[54] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютер, планшетный компьютер и смартфон и может (электронно) формировать видео/изображение. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[55] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[56] Передатчик может передавать информацию или данные кодированного видео/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый/извлеченный поток битов в оборудование декодирования.
[57] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование, прогнозирование и т.п., соответствующих работе оборудования кодирования.
[58] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[59] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому является применимым настоящее раскрытие сущности. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.
[60] Ссылаясь на фиг. 2, оборудование 200 кодирования может включать в себя модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250, фильтр 260 и запоминающее устройство 270. Модуль 220 прогнозирования может включать в себя модуль 221 взаимного прогнозирования и модуль 222 внутреннего прогнозирования. Остаточный процессор 230 может включать в себя преобразователь 232, квантователь 233, деквантователь 234, обратный преобразователь 235. Остаточный процессор 230 дополнительно может включать в себя вычитатель 231. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описываются выше, может состоять из одного или более аппаратных компонентов (например, наборов микросхем или процессоров кодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 270 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 270 в качестве внутреннего/внешнего компонента.
[61] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 200 кодирования, на одну более единиц обработки. В качестве одного примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, начиная с единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU), единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT). Например, одна единица кодирования может разделяться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая далее не сегментируется. В этом случае, максимальная единица кодирования может использоваться непосредственно в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристике изображения. Альтернативно, единица кодирования может рекурсивно сегментироваться на единицы кодирования дополнительной большей глубины по мере необходимости, так что единица кодирования оптимального размера может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такие процедуры, как прогнозирование, преобразование и восстановление, которые описываются ниже. В качестве другого примера, единица обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеописанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[62] "Единица" и такой термин, как "блок", "зона" и т.п., могут использоваться вместо друг друга согласно обстоятельствам. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящий из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или пелу одного кадра (или изображения).
[63] Вычитатель 223 вычитает прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как показано, модуль, который вычитает прогнозный сигнал (прогнозированный блок, массив прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200, может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование для целевого блока обработки (в дальнейшем в этом документе, называемого "текущим блоком") и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как пояснено ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[64] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в соседнем узле или с разнесением от текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленные режимы могут включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, и большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[65] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться на основе блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования информации векторов движения (прогнозирования векторов движения, MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.
[66] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования относительно одного блока и, также, может применять внутреннее прогнозирование и взаимное прогнозирование одновременно. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Дополнительно, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме, чтобы выполнять прогнозирование относительно блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., к примеру, для кодирования экранного контента (SCC). Хотя IBC по существу выполняет прогнозирование в текущем блоке, оно может выполняться аналогично взаимному прогнозированию в том, что оно извлекает опорный блок в текущем блоке. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[67] Прогнозный сигнал, сформированный через модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[68] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить кодированный сигнал в потоке битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться на основе единиц слоя абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) и т.п. Дополнительно, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем раскрытии сущности, информация и/или синтаксические элементы, которые передаются/передаются в служебных сигналах в оборудование декодирования из оборудования кодирования, могут включаться в информацию видео/изображений. Информация видео/изображений может кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться через сеть или сохраняться на цифровом носителе хранения данных. Здесь, сеть может включать в себя широковещательную сеть, сеть связи и т.п., и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), который передает сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), который сохраняет его, могут быть сконфигурированы как внутренний/внешний элемент оборудования 200 кодирования, либо передатчик может включаться в энтропийный кодер 240.
[69] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться. Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, так что может формироваться восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Когда отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в текущем блоке и, как описано ниже, может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации.
[70] Между тем, в процессе кодирования и/или восстановления кадров, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться.
[71] Фильтр 260 может повышать субъективное/объективное качество видео посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и может сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, в частности, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Как пояснено ниже в описании каждого способа фильтрации, фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно фильтрации может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[72] Модифицированный восстановленный кадр, который передан в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Через это, оборудование кодирования может не допускать рассогласования прогнозирования в оборудовании 100 кодирования и оборудовании декодирования, когда взаимное прогнозирование применяется, и также может повышать эффективность кодирования.
[73] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр, чтобы использовать его в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока в текущем кадре, из которой извлекается (или кодируется) информация движения, и/или информацию движения блоков в уже восстановленном кадре. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования для использования в качестве информации движения соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать их в модуль 222 внутреннего прогнозирования.
[74] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому является применимым настоящее раскрытие сущности.
[75] Ссылаясь на фиг. 3, оборудование 300 декодирования изображений может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350 и запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350, которые описываются выше, может состоять из одного или более аппаратных компонентов (например, наборов микросхем или процессоров декодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[76] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение, соответствующее процессу, посредством которого информация видео/изображений обработана в оборудовании кодирования по фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе информации, связанной с сегментацией на блоки, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование посредством использования единицы обработки, применяемой в оборудовании кодирования. Следовательно, единица обработки декодирования, например, может представлять собой единицу кодирования, которая может сегментироваться вдоль структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Так же, восстановленный сигнал изображения, декодированный и выводимый через оборудование 300 декодирования может воспроизводиться через модуль воспроизведения.
[77] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), требуемую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) и т.п. Дополнительно, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. В настоящем раскрытии сущности, передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, которые описываются ниже, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 310 может декодировать информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC, CABAC и т.п., и может выводить значение синтаксического элемента, необходимого для восстановления изображений, и квантованные значения коэффициента преобразования относительно остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием декодирования информации целевых синтаксических элементов и декодирования информации соседних и декодируемых целевых блоков либо информации символа/элемента разрешения, декодированного на предыдущем этапе, прогнозировать вероятность формирования элемента разрешения согласно определенной контекстной модели и выполнять арифметическое декодирование элемента разрешения, чтобы формировать символ, соответствующий каждому значению синтаксического элемента. Здесь, способ энтропийного CABAC-декодирования может обновлять контекстную модель с использованием информации символа/элемента разрешения, декодированного для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация относительно прогнозирования из информации, декодированной в энтропийном декодере 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточные значения, т.е. квантованные коэффициенты преобразования, для которых энтропийное декодирование выполнено в энтропийном декодере 310, и ассоциированная информация параметров могут вводиться в остаточный процессор 320. Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Дополнительно, информация относительно фильтрации из информации, декодированной в энтропийном декодере 310, может предоставляться в фильтр 350. Между тем, приемник (не показан), который принимает сигнал, выводимый из оборудования кодирования, дополнительно может составлять оборудование 300 декодирования в качестве внутреннего/внешнего элемента, и приемник может представлять собой компонент энтропийного декодера 310. Между тем, оборудование декодирования согласно настоящему раскрытию сущности может называться "оборудованием кодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.
[78] Деквантователь 321 может выводить коэффициенты преобразования посредством деквантования квантованных коэффициентов преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполнять перекомпоновку на основе порядка сканирования коэффициентов, которое выполнено в оборудовании кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[79] Деквантователь 322 получает остаточный сигнал (остаточный блок, массив остаточных выборок) посредством обратного преобразования коэффициентов преобразования.
[80] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и, в частности, может определять режим внутреннего/взаимного прогнозирования.
[81] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования относительно одного блока и, также, может применять внутреннее прогнозирование и взаимное прогнозирование одновременно. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования для блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., к примеру, для кодирования экранного контента (SCC). Хотя IBC по существу выполняет прогнозирование в текущем блоке, оно может выполняться аналогично взаимному прогнозированию в том, что оно извлекает опорный блок в текущем блоке. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[82] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окрестности или с разнесением от текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[83] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться на основе блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения и/или индекс опорного кадра текущего блока на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[84] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозных выборок), выводимым из модуля 330 прогнозирования. Когда отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[85] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в текущем блоке и, как описано ниже, может выводиться посредством фильтрации или использоваться для взаимного прогнозирования следующего кадра.
[86] Между тем, в процессе декодирования кадров, может применяться преобразование сигнала яркости с масштабированием сигнала цветности (LMCS).
[87] Фильтр 350 может повышать субъективное/объективное качество видео посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и может передавать модифицированный восстановленный кадр в запоминающем устройстве 360, в частности, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[88] (Модифицированный) восстановленный кадр, который сохранен в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока в текущем кадре, из которой информация движения извлечена (или декодирована), и/или информацию движения блоков в уже восстановленном кадре. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования для использования в качестве информации движения соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать их в модуль 331 внутреннего прогнозирования.
[89] В этом подробном описании, примеры, описанные в модуле 330 прогнозирования, деквантователе 321, обратном преобразователе 322 и фильтре 350 оборудования 300 декодирования, могут аналогично или, соответственно, применяться к модулю 220 прогнозирования, деквантователю 234, обратному преобразователю 235 и фильтру 260 оборудования 200 кодирования, соответственно.
[90] Как описано выше, прогнозирование выполняется для того, чтобы повышать эффективность сжатия при выполнении кодирования изображений. За счет этого, может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой целевой блок кодирования. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок может идентично извлекаться в оборудовании кодирования и оборудовании декодирования, и оборудование кодирования может повышать эффективность кодирования изображений посредством передачи в служебных сигналах в оборудование декодирования не исходного выборочного значения самого исходного блока, а информации относительно остатка (остаточной информации) между исходным блоком и прогнозированным блоком. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком, и формировать восстановленный кадр, включающий в себя восстановленные блоки.
[91] Остаточная информация может формироваться через процедуры преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, извлекать коэффициенты преобразования посредством выполнения процедуры преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, и извлекать квантованные коэффициенты преобразования посредством выполнения процедуры квантования для коэффициентов преобразования, так что оно может передавать в служебных сигналах ассоциированную остаточную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений, информацию позиции, технологию преобразования, ядро преобразования, параметр квантования и т.п. квантованных коэффициентов преобразования. Оборудование декодирования может выполнять процедуру квантования/деквантования и извлекать остаточные выборки (или блок остаточных выборок), на основе остаточной информации. Оборудование декодирования может формировать восстановленный блок на основе прогнозированного блока и остаточного блока. Оборудование кодирования может извлекать остаточный блок посредством деквантования/обратного преобразования квантованных коэффициентов преобразования для ссылки для взаимного прогнозирования следующего кадра и может формировать восстановленный кадр на его основе.
[92] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего раскрытия сущности.
[93] Ссылаясь на фиг. 4, преобразователь может соответствовать преобразователю в оборудовании кодирования вышеприведенного фиг. 2, и обратный преобразователь может соответствовать обратному преобразователю в оборудовании кодирования вышеприведенного фиг. 2 либо обратному преобразователю в оборудовании декодирования по фиг. 3.
[94] Преобразователь может извлекать коэффициенты (первичного) преобразования посредством выполнения первичного преобразования на основе остаточных выборок (массива остаточных выборок) в остаточном блоке (S410). Это первичное преобразование может называться "базовым преобразованием". В данном документе, первичное преобразование может быть основано на множественном выборе преобразования (MTS), и когда множественное преобразование применяется в качестве первичного преобразования, оно может называться "многоядерным преобразованием".
[95] Многоядерное преобразование может представлять способ преобразования дополнительно с использованием дискретного косинусного преобразования (DCT) тип 2 и дискретного синусного преобразования (DST) тип 7, DCT-типа 8 и/или DST-типа 1. Таким образом, многоядерное преобразование может представлять способ преобразования для преобразования остаточного сигнала (или остаточного блока) пространственной области в коэффициенты преобразования (или коэффициенты первичного преобразования) частотной области на основе множества ядер преобразования, выбранных из числа DCT-типа 2, DST-типа 7, DCT-типа 8 и DST-типа 1. В данном документе, коэффициенты первичного преобразования могут называться "временными коэффициентами преобразования" с точки зрения преобразователя.
[96] Другими словами, когда традиционный способ преобразования применяется, коэффициенты преобразования могут формироваться посредством применения преобразования из пространственной области в частотную область для остаточного сигнала (или остаточного блока) на основе DCT-типа 2. В отличие от этого, в это, когда многоядерное преобразование применяется, коэффициенты преобразования (или коэффициенты первичного преобразования) могут формироваться посредством применения преобразования из пространственной области в частотную область для остаточного сигнала (или остаточного блока) на основе DCT-типа 2, DST-типа 7, DCT-типа 8 и/или DST-типа 1. В данном документе, DCT-тип 2, DST-тип 7, DCT-тип 8 и DST-тип 1 могут называться "типом преобразования", "ядром преобразования (transform kernel)" или "ядром преобразования (transform core)". Эти типы DCT/DST-преобразования могут задаваться на основе базисных функций.
[97] Если множественное базовое преобразование выполняется, то ядро вертикального преобразования и ядро горизонтального преобразования для целевого блока могут выбираться из числа ядер преобразования, вертикальное преобразование для целевого блока может выполняться на основе ядра вертикального преобразования, и горизонтальное преобразование для целевого блока может выполняться на основе ядра горизонтального преобразования. Здесь, горизонтальное преобразование может представлять преобразование для горизонтальных компонентов целевого блока, и вертикальное преобразование может представлять преобразование для вертикальных компонентов целевого блока. Ядро вертикального преобразования/ядро горизонтального преобразования может адаптивно определяться на основе режима прогнозирования и/или индекса преобразования целевого блока (CU или субблока), включающего в себя остаточный блок.
[98] Дополнительно, согласно примеру, если первичное преобразование выполняется посредством применения MTS, взаимосвязь преобразования для ядер преобразования может задаваться посредством задания конкретных базисных функций равными предварительно определенным значениям и комбинирования базисных функций, которые должны применяться при вертикальном преобразовании или горизонтальном преобразовании. Например, когда ядро горизонтального преобразования выражается как trTypeHor, и ядро преобразования вертикального направления выражается как trTypeVer, значение trTypeHor или trTypeVer в 0 может задаваться для DCT2, значение trTypeHor или trTypeVer в 1 может задаваться для DST7, и значение trTypeHor или trTypeVer в 2 может задаваться для DCT8.
[99] В этом случае, информация MTS-индекса может кодироваться и передаваться в служебных сигналах в оборудование декодирования, чтобы указывать любой из множества наборов ядер преобразования. Например, MTS-индекс 0 может указывать то, что, значения trTypeHor и trTypeVer равны 0, MTS-индекс 1 может указывать то, что, значения trTypeHor и trTypeVer равны 1, MTS-индекс 2 может указывать то, что, значение trTypeHor равно 2 и значение trTypeVer. Равен 1, MTS-индекс 3 может указывать то, что, значение trTypeHor равно 1, и значение trTypeVer равно 2, и MTS-индекс 4 может указывать то, что, оба значения trTypeHor и trTypeVer равны 2.
[100] В одном примере, наборы ядер преобразования согласно информации MTS-индекса проиллюстрированы в следующей таблице.
[101] Табл. 1
[102] Преобразователь может извлекать модифицированные коэффициенты (вторичного) преобразования посредством выполнения вторичного преобразования на основе коэффициентов (первичного) преобразования (S420). Первичное преобразование представляет собой преобразование из пространственной области в частотную область, и вторичное преобразование означает преобразование в более сжимающее выражение посредством использования корреляции, существующей между коэффициентами (первичного) преобразования. Вторичное преобразование может включать в себя неразделимое преобразование. В этом случае, вторичное преобразование может называться "неразделимым вторичным преобразованием (NSST)" или "зависимым от режима неразделимым вторичным преобразованием (MDNSST)". Неразделимое вторичное преобразование может представлять преобразование, которое формирует модифицированные коэффициенты преобразования (или коэффициенты вторичного преобразования) для остаточного сигнала посредством вторичного преобразования, на основе матрицы неразделимого преобразования, коэффициентов (первичного) преобразования, извлекаемых через первичное преобразование. В это время, вертикальное преобразование и горизонтальное преобразование могут не применяться отдельно (либо горизонтальное и вертикальное преобразования могут не применяться независимо) к коэффициентам (первичного) преобразования, но преобразования могут применяться сразу на основе матрицы неразделимого преобразования. Другими словами, неразделимое вторичное преобразование может представлять способ преобразования, в котором вертикальный и горизонтальный компоненты коэффициентов (первичного) преобразования не разделяются, и, например, двумерные сигналы (коэффициенты преобразования) перекомпонуются в одномерный сигнал через конкретное определенное направление (например, направление сначала по строкам или направление сначала по столбцам), и затем модифицированные коэффициенты преобразования (или коэффициенты вторичного преобразования) формируются на основе матрицы неразделимого преобразования. Например, согласно порядку сначала по строкам, блоки MxN располагаются в линию в порядке "первая строка, вторая строка, ..., и N-ая строка". Согласно порядку сначала по столбцам, блоки MxN располагаются в линию в порядке "первый столбец, второй столбец, ..., и N-ый столбец". Неразделимое вторичное преобразование может применяться к левой верхней области блока, сконфигурированного с коэффициентами (первичного) преобразования (в дальнейшем в этом документе, может называться "блоком коэффициентов преобразования"). Например, если ширина (W) и высота (H) блока коэффициентов преобразования равны или более 8, неразделимое вторичное преобразование 8×8 может применяться к левой верхней области 8×8 блока коэффициентов преобразования. Дополнительно, если ширина (W) и высота (H) блока коэффициентов преобразования равны или более 4, и ширина (W) или высота (H) блока коэффициентов преобразования меньше 8, то неразделимое вторичное преобразование 4×4 может применяться к левой верхней области min(8, W)xmin(8, H) блока коэффициентов преобразования. Тем не менее, вариант осуществления не ограничен, этим и, например, даже если только такое условие, что ширина (W) или высота (H) блока коэффициентов преобразования равна или выше 4, удовлетворяется, неразделимое вторичное преобразование 4×4 может применяться к левой верхней области min(8, W)xmin(8, H) блока коэффициентов преобразования.
[103] В частности, например, если входной блок 4×4 используется, неразделимое вторичное преобразование может выполняться следующим образом.
[104] Входной блок X 4×4 может представляться следующим образом.
[105] уравнение 1
[106] Если X представляется в форме вектора, вектор может представляться так, как указано ниже.
[107] уравнение 2
[108] В уравнении 2, вектор представляет собой одномерный вектор, полученный посредством перекомпоновки двумерного блока X уравнения 1 согласно порядку сначала по строкам.
[109] В этом случае, вторичное неразделимое преобразование может вычисляться так, как указано ниже.
[110] уравнение 3
[111] В этом уравнении, представляет вектор коэффициентов преобразования, и T представляет матрицу (неразделимого) преобразования 16×16.
[112] Через вышеприведенное уравнение 3, вектор коэффициентов преобразования 16×1 может извлекаться, и может быть реорганизован в блок 4×4 через порядок сканирования (горизонтальный, вертикальный, диагональный и т.п.). Тем не менее, вышеописанное вычисление представляет собой пример, и гиперкубическое преобразование Гивенса (HyGT) и т.п. может использоваться для вычисления неразделимого вторичного преобразования, чтобы уменьшать вычислительную сложность неразделимого вторичного преобразования.
[113] Между тем, в неразделимом вторичном преобразовании, ядро преобразования (или база преобразования, тип преобразования) может выбираться зависимо от режима. В этом случае, режим может включать в себя режим внутреннего прогнозирования и/или режим взаимного прогнозирования.
[114] Как описано выше, NSST может выполняться на основе преобразования 8×8 или преобразования 4×4, определенного на основе ширины (W) и высоты (H) блока коэффициентов преобразования. Преобразование 8×8 означает преобразование, которое является применимым к области 8×8, включенной в блок коэффициентов преобразования, когда как W, так и H равны или выше 8, и область 8×8 может представлять собой левую верхнюю область 8×8 в блоке коэффициентов преобразования. Аналогично, преобразование 4×4 означает преобразование, которое является применимым к области 4×4, включенной в блок коэффициентов преобразования, когда как W, так H равны или выше 4, и область 4×4 может представлять собой левую верхнюю область 4×4 в блоке коэффициентов преобразования. Например, матрица ядра преобразования 8×8 может представлять собой матрицу 64×64/16×64, и матрица ядра преобразования 4×4 может представлять собой матрицу 16×16/8×16.
[115] Здесь, чтобы выбирать зависимое от режима ядро преобразования, два ядра неразделимого вторичного преобразования в расчете на набор для преобразования для неразделимого вторичного преобразования могут быть сконфигурированы как для преобразования 8×8, так и для преобразования 4×4, и может быть предусмотрено четыре набора для преобразования. Таким образом, четыре набора для преобразования могут быть сконфигурированы для преобразования 8×8, и четыре набора для преобразования могут быть сконфигурированы для преобразования 4×4. В этом случае, каждый из четырех наборов для преобразования для преобразования 8×8 может включать в себя два ядра преобразования 8×8, и каждый из четырех наборов для преобразования для преобразования 4×4 может включать в себя два ядра преобразования 4×4.
[116] Размеры преобразований, числа наборов и числа ядер преобразования в каждом наборе, упомянутом выше, служат просто для иллюстрации. Вместо этого, может использоваться размер, отличный от 8×8 или 4×4, n наборов могут быть сконфигурированы, и k ядер преобразования могут включаться в каждый набор.
[117] Набор для преобразования может называться "NSST-набором", и ядро преобразования в NSST-наборе может называться "NSST-ядром". Выбор конкретного набора из числа наборов для преобразования может выполняться, например, на основе режима внутреннего прогнозирования целевого блока (CU или субблока).
[118] Для ссылки, в качестве примера, режим внутреннего прогнозирования может включать в себя два режима ненаправленного (или неуглового) внутреннего прогнозирования и 65 режимов направленного (или углового) внутреннего прогнозирования. Режимы ненаправленного внутреннего прогнозирования могут включать в себя режим планарного внутреннего прогнозирования номер 0 и режим внутреннего DC-прогнозирования номер 1, и режимы направленного внутреннего прогнозирования могут включать в себя 65 режимов внутреннего прогнозирования между режимом внутреннего прогнозирования номер 2 и режимом внутреннего прогнозирования номер 66. Тем не менее, это представляет собой пример, и настоящее раскрытие сущности может применяться к случаю, в котором предусмотрено другое число режимов внутреннего прогнозирования. Между тем, согласно обстоятельствам, режим внутреннего прогнозирования номер 67 дополнительно может использоваться, и режим внутреннего прогнозирования номер 67 может представлять режим на основе линейной модели (LM).
[119] Фиг. 5 иллюстрирует направленные внутренние режимы 65 направлений прогнозирования.
[120] Ссылаясь на фиг. 5, на основе режима внутреннего прогнозирования номер 34, имеющего направление прогнозирования влево вверх по диагонали, режим внутреннего прогнозирования, имеющий горизонтальную направленность, и режим внутреннего прогнозирования, имеющий вертикальную направленность, могут классифицироваться. H и V по фиг. 5 означают горизонтальную направленность и вертикальную направленность, соответственно, и номера от -32 до 32 указывают смещения в 1/32 единицы для позиции на сетке выборок. Оно может представлять смещение для значения индекса режима. Режимы внутреннего прогнозирования номера 2-33 имеют горизонтальную направленность, и режимы внутреннего прогнозирования номера 34-66 имеют вертикальную направленность. Между тем, строго говоря, режим внутреннего прогнозирования номер 34 может рассматриваться как ни горизонтальный, ни вертикальный, но он может классифицироваться как принадлежащий горизонтальной направленности с точки зрения определения набора для преобразования вторичного преобразования. Это обусловлено тем, что входные данные транспонируются для использования для режима вертикального направления, симметричного на основе режима внутреннего прогнозирования номер 34, и способ совмещения входных данных для горизонтального режима используется для режима внутреннего прогнозирования номер 34. Транспозиция входных данных означает, что строки и столбцы двумерных блочных данных MxN переключаются на данные NxM. Режим внутреннего прогнозирования номер 18 и режим внутреннего прогнозирования номер 50 могут представлять режим горизонтального внутреннего прогнозирования и режим вертикального внутреннего прогнозирования, соответственно, и режим внутреннего прогнозирования номер 2 может называться "режимом внутреннего прогнозирования вправо вверх по диагонали", поскольку он имеет левый опорный пиксел и прогнозирует в направлении вправо вверх. Идентичным способом, режим внутреннего прогнозирования номер 34 может называться "режимом внутреннего прогнозирования вправо вниз по диагонали", и режим внутреннего прогнозирования номер 66 может называться "режимом внутреннего прогнозирования влево вниз по диагонали".
[121] В одном примере, четыре набора для преобразования могут преобразовываться согласно режиму внутреннего прогнозирования, как указано в следующей таблице.
[122] Табл. 2
[123] Как показано в таблице 2, один из четырех наборов для преобразования, т.е. stTrSetIdx, может преобразовываться в одно из четырех значений, т.е. 0-3, согласно режиму внутреннего прогнозирования.
[124] Когда определяется, что конкретный набор используется для неразделимого преобразования, одно из k ядер преобразования в конкретном наборе может выбираться через индекс неразделимого вторичного преобразования. Оборудование кодирования может извлекать индекс неразделимого вторичного преобразования, указывающий конкретное ядро преобразования, на основе проверки искажения в зависимости от скорости передачи (RD) и может передавать в служебных сигналах индекс неразделимого вторичного преобразования в оборудование декодирования. Оборудование декодирования может выбирать одно из числа k ядер преобразования в конкретном наборе на основе индекса неразделимого вторичного преобразования. Например, значение 0 NSST-индекса может указывать первое ядро неразделимого вторичного преобразования, значение 1 NSST-индекса может указывать второе ядро неразделимого вторичного преобразования, и значение 2 NSST-индекса может указывать третье ядро неразделимого вторичного преобразования. Альтернативно, значение 0 NSST-индекса может указывать то, что первое неразделимое вторичное преобразование не применяется к целевому блоку, и значения 1-3 NSST-индекса могут указывать три ядра преобразования.
[125] Преобразователь может выполнять неразделимое вторичное преобразование на основе выбранных ядер преобразования и может получать модифицированные коэффициенты (вторичного) преобразования. Как описано выше, модифицированные коэффициенты преобразования могут извлекаться в качестве коэффициентов преобразования, квантованных через квантователь, и могут кодироваться и передаваться в служебных сигналах в оборудование декодирования и передаваться в деквантователь/обратный преобразователь в оборудовании кодирования.
[126] Между тем, как описано выше, если вторичное преобразование опускается, коэффициенты (первичного) преобразования, которые представляют собой вывод первичного (разделимого) преобразования, могут извлекаться в качестве коэффициентов преобразования, квантованных через квантователь, как описано выше, и могут кодироваться и передаваться в служебных сигналах в оборудование декодирования и передаваться в деквантователь/обратный преобразователь в оборудовании кодирования.
[127] Обратный преобразователь может выполнять последовательность процедур в обратном порядке по отношению к порядку, в котором они выполнены в вышеописанном преобразователе. Обратный преобразователь может принимать (деквантованные) коэффициенты преобразования и извлекать коэффициенты (первичного) преобразования посредством выполнения вторичного (обратного) преобразования (S450) и может получать остаточный блок (остаточные выборки) посредством выполнения первичного (обратного) преобразования для коэффициентов (первичного) преобразования (S460). В этой связи, коэффициенты первичного преобразования могут называться "модифицированными коэффициентами преобразования" с точки зрения обратного преобразователя. Как описано выше, оборудование кодирования и оборудование декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленное изображение на основе восстановленного блока.
[128] Оборудование декодирования дополнительно может включать в себя модуль определения применения вторичного обратного преобразования (либо элемент для того, чтобы определять то, следует или нет применять вторичное обратное преобразование) и модуль определения вторичного обратного преобразования (либо элемент для того, чтобы определять вторичное обратное преобразование). Модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование. Например, вторичное обратное преобразование может представлять собой NSST или RST, и модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе флага вторичного преобразования, полученного посредством синтаксического анализа потока битов. В другом примере, модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе коэффициента преобразования остаточного блока.
[129] Модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование. В этом случае, модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование, применяемое к текущему блоку, на основе набора для NSST-(или RST-)преобразования, указываемого согласно режиму внутреннего прогнозирования. В варианте осуществления, способ определения вторичного преобразования может определяться в зависимости от способа определения первичного преобразования. Различные комбинации первичных преобразований и вторичных преобразований могут определяться согласно режиму внутреннего прогнозирования. Дополнительно, в примере, модуль определения вторичного обратного преобразования может определять область, к которой применяется вторичное обратное преобразование, на основе размера текущего блока.
[130] Между тем, как описано выше, если вторичное (обратное) преобразование опускается, (деквантованные) коэффициенты преобразования могут приниматься, первичное (разделимое) обратное преобразование может выполняться, и остаточный блок (остаточные выборки) может получаться. Как описано выше, оборудование кодирования и оборудование декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленное изображение на основе восстановленного блока.
[131] Между тем, в настоящем раскрытии сущности, сокращенное вторичное преобразование (RST), при котором размер матрицы (ядра) преобразования сокращается, может применяться в понятии NSST, чтобы уменьшать объем вычислений и запоминающее устройство, требуемое для неразделимого вторичного преобразования.
[132] Между тем, ядро преобразования, матрица преобразования и коэффициент, составляющий матрицу ядер преобразования, т.е. коэффициент ядра или коэффициент матрицы, описанный в настоящем раскрытии сущности, могут выражаться в 8 битах. Это может представлять собой условие для реализации в оборудовании декодирования и оборудовании кодирования и позволяет уменьшать объем запоминающего устройства, требуемый для того, чтобы сохранять ядро преобразования, с ухудшением производительности, которое может приспосабливаться в достаточной степени по сравнению с существующими 9 битами или 10 битами. Помимо этого, выражение матрицы ядер в 8 битах может обеспечивать возможность использования небольшого умножителя и может быть более подходящим для инструкций с одним потоком инструкций и несколькими потоками данных (SIMD), используемых для оптимальной программной реализации.
[133] В настоящем описании изобретения, термин "RST" может означать преобразование, которое выполняется для остаточных выборок для целевого блока на основе матрицы преобразования, размер которой сокращается согласно сокращенному коэффициенту. В случае выполнения сокращенного преобразования, объем вычислений, требуемый для преобразования, может уменьшаться вследствие уменьшения размера матрицы преобразования. Таким образом, RST может использоваться для того, чтобы разрешать проблему вычислительной сложности, возникающую при неразделимом преобразовании или преобразовании блока большого размера.
[134] RST может называться с помощью различных терминов, таких как "сокращенное преобразование", "сокращенное вторичное преобразование", "преобразование с сокращением", "упрощенное преобразование", "простое преобразование" и т.п., и название, с помощью которого может называться RST, не ограничено перечисленными примерами. Альтернативно, поскольку RST главным образом выполняется в низкочастотной области, включающей в себя ненулевой коэффициент в блоке преобразования, оно может называться "низкочастотным неразделимым преобразованием (LFNST)". Индекс преобразования может называться "LFNST-индексом".
[135] Между тем, когда вторичное обратное преобразование выполняется на основе RST, обратный преобразователь 235 оборудования 200 кодирования и обратный преобразователь 322 оборудования 300 декодирования могут включать в себя обратный сокращенный вторичный преобразователь, который извлекает модифицированные коэффициенты преобразования на основе обратного RST коэффициентов преобразования, и обратный первичный преобразователь, который извлекает остаточные выборки для целевого блока на основе обратного первичного преобразования модифицированных коэффициентов преобразования. Обратное первичное преобразование означает обратное преобразование первичного преобразования, применяемого к остатку. В настоящем раскрытии сущности, извлечение коэффициента преобразования на основе преобразования может означать извлечение коэффициента преобразования посредством применения преобразования.
[136] Фиг. 6 является схемой, иллюстрирующей RST согласно варианту осуществления настоящего раскрытия сущности.
[137] В настоящем раскрытии сущности, "целевой блок" может означать текущий блок, который должен кодироваться, остаточный блок или блок преобразования.
[138] В RST согласно примеру, N-мерный вектор может преобразовываться в R-мерный вектор, расположенный в другом пространстве, так что матрица сокращенного преобразования может определяться, где R меньше N. N может означать квадрат длины стороны блока, к которому применяется преобразование, или общее число коэффициентов преобразования, соответствующих блоку, к которому применяется преобразование, и сокращенный коэффициент может означать значение R/N. Сокращенный коэффициент может называться "сокращенным коэффициентом", "коэффициентом сокращения", "упрощенным коэффициентом", "простым коэффициентом" или с помощью других различных терминов. Между тем, R может называться "сокращенным коэффициентом", но согласно обстоятельствам, сокращенный коэффициент может означать R. Дополнительно, согласно обстоятельствам, сокращенный коэффициент может означать N/R-значение.
[139] В примере, сокращенный коэффициент (reduced factor) или сокращенный коэффициент (reduced coefficient) может передаваться в служебных сигналах через поток битов, но пример не ограничен этим. Например, предварительно заданное значение для сокращенного коэффициента (reduced factor) или сокращенного коэффициента (reduced coefficient) может сохраняться в каждом из оборудования 200 кодирования и оборудования 300 декодирования, и в этом случае сокращенный коэффициент (reduced factor) или сокращенный коэффициент (reduced coefficient) может не передаваться в служебных сигналах отдельно.
[140] Размер матрицы сокращенного преобразования согласно примеру может составлять RxN, что меньше NxN, размера традиционной матрицы преобразования, и может задаваться в нижеприведенном уравнении 4.
[141] уравнение 4
[142] Матрица T в блоке сокращенного преобразования, показанном на фиг. 6A, может означать матрицу TRxN уравнения 4. Как показано на фиг. 6A, когда матрица TRxN сокращенного преобразования умножается на остаточные выборки для целевого блока, коэффициенты преобразования для целевого блока могут извлекаться.
[143] В примере, если размер блока, к которому применяется преобразование, составляет 8×8, и R=16 (т.е. R/N=16/64=1/4), то RST согласно фиг. 6A может выражаться как матричная операция, как показано в нижеприведенном уравнении 5. В этом случае, запоминающее устройство и вычисление в виде умножения могут уменьшаться приблизительно до 1/4 на сокращенный коэффициент.
[144] В настоящем раскрытии сущности, матричная операция может пониматься как операция умножения вектора-столбца на матрицу, расположенную слева от вектора-столбца, чтобы получать вектор-столбец.
[145] уравнение 5
[146] В уравнении 5, r1-r64 могут представлять остаточные выборки для целевого блока и конкретно могут представлять собой коэффициенты преобразования, сформированные посредством применения первичного преобразования. В качестве результата вычисления уравнения 5, коэффициенты ci преобразования для целевого блока могут извлекаться, и процесс извлечения ci может быть таким, как указано в уравнении 6.
[147] уравнение 6
[148] В результате вычисления уравнения 6, коэффициенты (c1-cR) преобразования для целевого блока могут извлекаться. Таким образом, когда R=16, коэффициенты c1-c16 преобразования для целевого блока могут извлекаться. Если вместо RST, применяется регулярное преобразование, и матрица преобразования размера 64×64 (NxN) умножается на остаточные выборки размера 64×1 (Nx1), то только 16 (R) коэффициентов преобразования извлекаются для целевого блока, поскольку RST применено, хотя 64 (N) коэффициента преобразования извлекаются для целевого блока. Поскольку общее число коэффициентов преобразования для целевого блока уменьшается с N до R, объем данных, передаваемых посредством оборудования 200 кодирования в оборудование 300 декодирования, снижается, так что эффективность передачи между оборудованием 200 кодирования и оборудованием 300 декодирования может повышаться.
[149] При рассмотрении с точки зрения размера матрицы преобразования, размер матрицы регулярного преобразования составляет 64×64 (NxN), но размер матрицы сокращенного преобразования уменьшается до 16×64 (RxN), так что использование запоминающего устройства в случае выполнения RST может уменьшаться на отношение R/N по сравнению со случаем выполнения регулярного преобразования. Помимо этого, по сравнению с числом NxN вычислений в виде умножения в случае использования матрицы регулярного преобразования, использование матрицы сокращенного преобразования может сокращать число вычислений в виде умножения на отношение R/N (RxN).
[150] В примере, преобразователь 232 оборудования 200 кодирования может извлекать коэффициенты преобразования для целевого блока посредством выполнения первичного преобразования и вторичного преобразования на основе RST для остаточных выборок для целевого блока. Эти коэффициенты преобразования могут передаваться в обратный преобразователь оборудования 300 декодирования, и обратный преобразователь 322 оборудования 300 декодирования может извлекать модифицированные коэффициенты преобразования на основе обратного сокращенного вторичного преобразования (RST) для коэффициентов преобразования и может извлекать остаточные выборки для целевого блока на основе обратного первичного преобразования для модифицированных коэффициентов преобразования.
[151] Размер обратной RST-матрицы TNxR согласно примеру составляет NxR, что меньше размера NxN матрицы регулярного обратного преобразования, и находится в транспонированной взаимосвязи с матрицей TRxN сокращенного преобразования, показанной в уравнении 4.
[152] Матрица Tt в блоке сокращенного обратного преобразования, показанном на фиг. 6B, может означать обратную RST-матрицу TRxNT (надстрочный индекс T означает транспонирование). Когда обратная RST-матрица TRxNT умножается на коэффициенты преобразования для целевого блока, как показано на фиг. 6B, модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока могут извлекаться. Обратная RST-матрица TRxNT может выражаться как (TRxNT)NxR.
[153] Более конкретно, когда обратное RST применяется в качестве вторичного обратного преобразования, модифицированные коэффициенты преобразования для целевого блока могут извлекаться, когда обратная RST-матрица TRxNT умножается на коэффициенты преобразования для целевого блока. Между тем, обратное RST может применяться в качестве обратного первичного преобразования, и в этом случае, остаточные выборки для целевого блока могут извлекаться, когда обратная RST-матрица TRxNT умножается на коэффициенты преобразования для целевого блока.
[154] В примере, если размер блока, к которому применяется обратное преобразование, составляет 8×8, и R=16 (т.е. R/N=16/64=1/4), то RST согласно фиг. 6B может выражаться как матричная операция, как показано в нижеприведенном уравнении 7.
[155] уравнение 7
[156] В уравнении 7, c1-c16 могут представлять коэффициенты преобразования для целевого блока. В качестве результата вычисления уравнения 7, rj, представляющий модифицированный коэффициенты преобразования для целевого блока или остаточных выборок для целевого блока, может извлекаться, и процесс извлечения rj может быть таким, как указано в уравнении 8.
[157] уравнение 8
[158] В результате вычисления уравнения 8, могут извлекаться r1-rN, представляющие модифицированные коэффициенты преобразования для целевого блока или остаточные выборки для целевого блока. При рассмотрении с точки зрения размера матрицы обратного преобразования, размер матрицы регулярного обратного преобразования составляет 64×64 (NxN), но размер матрицы сокращенного обратного преобразования уменьшается до 64×16 (RxN), так что использование запоминающего устройства в случае выполнения обратного RST может уменьшаться на отношение R/N по сравнению со случаем выполнения регулярного обратного преобразования. Помимо этого, по сравнению с числом NxN вычислений в виде умножения в случае использования матрицы регулярного обратного преобразования, использование матрицы сокращенного обратного преобразования может сокращать число вычислений в виде умножения на отношение R/N (NxR).
[159] Между тем, конфигурация наборов для преобразования, показанная в таблице 2, также может применяться к RST 8×8. Таким образом, RST 8×8 может применяться согласно набору для преобразования в таблице 2. Поскольку один набор для преобразования включает в себя два или три преобразования (ядра) согласно режиму внутреннего прогнозирования, может конфигурироваться возможность выбирать одно из вплоть до четырех преобразований, в том числе и случай, если вторичное преобразование не применяется. В преобразовании, в котором вторичное преобразование не применяется, может рассматриваться возможность применять единичную матрицу. При условии, что индексы 0, 1, 2 и 3, соответственно, назначаются четырем преобразованиям (например, индекс 0 может выделяться случаю, в котором единичная матрица применяется, т.е. случаю, в котором вторичное преобразование не применяется), NSST-индекс в качестве синтаксического элемента может передаваться в служебных сигналах для каждого блока коэффициентов преобразования, за счет этого обозначая преобразование, которое должно применяться. Таким образом, через NSST-индекс, можно обозначать NSST 8×8 для левого верхнего блока 8×8 и обозначать RST 8×8 в RST-конфигурации. NSST 8×8 и RST 8×8 означают преобразования, применимые к области 8×8, включенной в блок коэффициентов преобразования, когда как W, так и H целевого блока, который должен преобразовываться, равны или выше 8, и область 8×8 может представлять собой левую верхнюю область 8×8 в блоке коэффициентов преобразования. Аналогично, NSST 4×4 и RST 4×4 означают преобразования, применимые к области 4×4, включенной в блок коэффициентов преобразования, когда как W, так и H целевого блока в равны или выше 4, и область 4×4 может представлять собой левую верхнюю область 4×4 в блоке коэффициентов преобразования.
[160] Согласно варианту осуществления настоящего раскрытия сущности, для преобразования в процессе кодирования, только 48 фрагментов данных могут выбираться, и максимальная матрица ядер преобразования 16×48 может применяться к этому, вместо применения матрицы ядер преобразования 16×64 к 64 фрагментам данных, формирующим область 8×8. Здесь, "максимум" означает, что m имеет максимальное значение 16 в матрице ядер преобразования mx48 для формирования m коэффициентов. Таким образом, когда RST выполняется посредством применения матрицы ядер преобразования mx48 (m≤16) к области 8×8, 48 фрагментов данных вводятся, и m коэффициентов формируются. Когда m равен 16, 48 фрагментов данных вводятся, и 16 коэффициентов формируются. Таким образом, при условии, что 48 фрагментов данных формируют вектор 48×1, матрица 16×48 и вектор 48×1 последовательно умножаются, за счет этого формируя вектор 16×1. Здесь, 48 фрагментов данных, формирующих область 8×8, могут надлежащим образом размещаться, за счет этого формируя вектор 48×1. Здесь, когда матричная операция выполняется посредством применения максимальной матрицы ядер преобразования 16×48, 16 модифицированных коэффициентов преобразования формируются, и 16 модифицированных коэффициентов преобразования могут размещаться в левой верхней области 4×4 согласно порядку сканирования, и правая верхняя область 4×4 и левая нижняя область 4×4 могут заполняться нулями.
[161] Для обратного преобразования в процессе декодирования, может использоваться транспонированная матрица вышеприведенной матрицы ядер преобразования. Таким образом, когда обратное RST или LFNST выполняется в процессе обратного преобразования, выполняемом посредством оборудования декодирования, входные данные коэффициентов, к которым применяется обратное RST, сконфигурированы в одномерном векторе согласно предварительно определенному порядку компоновки, и модифицированный вектор коэффициентов, полученный посредством умножения одномерного вектора и соответствующей обратной RST-матрицы слева от одномерного вектора, может размещаться в двумерном блоке согласно предварительно определенному порядку компоновки.
[162] В общих словах, в процессе преобразования, когда RST или LFNST применяются к области 8×8, матричная операция 48 коэффициентов преобразования в левой верхней, правой верхней и левой нижней областях для области 8×8, за исключением правой нижней области из коэффициентов преобразования в области 8×8 и матрице ядер преобразования 16×48. Для матричной операции, 48 коэффициентов преобразования вводятся в одномерном массиве. Когда матричная операция выполняется, 16 модифицированных коэффициентов преобразования извлекаются, и модифицированные коэффициенты преобразования могут размещаться в левой верхней области для области 8×8.
[163] Наоборот, в процессе обратного преобразования, когда обратное RST или LFNST применяется к области 8×8, 16 коэффициентов преобразования, соответствующих левой верхней области для области 8×8 из коэффициентов преобразования в области 8×8, могут вводиться в одномерном массиве согласно порядку сканирования и могут подвергаться матричной операции с матрицей ядер преобразования 48×16. Таким образом, матричная операция может выражаться как (матрица 48×16) * (вектор коэффициентов преобразования 16×1)=(вектор модифицированных коэффициентов преобразования 48×1). Здесь, вектор nx1 может интерпретироваться как имеющий идентичный смысл с матрицей nx1 и в силу этого может выражаться как вектор-столбец nx1. Дополнительно, * обозначает матричное умножение. Когда матричная операция выполняется, 48 модифицированных коэффициентов преобразования могут извлекаться, и 48 модифицированных коэффициентов преобразования могут размещаться в левой верхней, правой верхней и левой нижней областях области 8×8, за исключением правой нижней области.
[164] Когда вторичное обратное преобразование основано на RST, обратный преобразователь 235 оборудования 200 кодирования и обратный преобразователь 322 оборудования 300 декодирования могут включать в себя обратный сокращенный вторичный преобразователь, чтобы извлекать модифицированные коэффициенты преобразования на основе обратного RST для коэффициентов преобразования, и обратный первичный преобразователь, чтобы извлекать остаточные выборки для целевого блока на основе обратного первичного преобразования для модифицированных коэффициентов преобразования. Обратное первичное преобразование означает обратное преобразование первичного преобразования, применяемого к остатку. В настоящем раскрытии сущности, извлечение коэффициента преобразования на основе преобразования может означать извлечение коэффициента преобразования посредством применения преобразования.
[165] Между тем, согласно варианту осуществления, может использоваться технология блочно-дифференциальной импульсно-кодовой модуляции (BDPCM). BDPCM также может называться "RDPCM (дельта-импульсно-кодовой модуляцией на основе блоков квантованного остатка)".
[166] При прогнозировании блока посредством применения BDPCM, восстановленные выборки используются для того, чтобы прогнозировать строку или столбец блока линию за линией. В этом случае, используемые опорные пикселы могут представлять собой нефильтрованные выборки. BDPCM-направление может указывать то, используется прогнозирование в вертикальном направлении или в горизонтальном направлении. Ошибка прогнозирования квантуется в пространственной области, и пиксел восстанавливается посредством суммирования деквантованной ошибки прогнозирования с прогнозными выборками. В качестве альтернативы этой BDPCM, BDPCM в квантованной остаточной области может предлагаться, и направление прогнозирования или передача служебных сигналов могут быть идентичными BDPCM, применяемой к пространственной области. Таким образом, непосредственно коэффициент квантования может накапливаться, к примеру, как в DPCM (дельта-импульсно-кодовой модуляции) через BDPCM в квантованной остаточной области, и затем остаток может восстанавливаться через деквантование. Следовательно, BDPCM в квантованной остаточной области может использоваться в смысле применения DPCM при остаточном кодировании. Квантованная остаточная область, используемая ниже, представляет собой квантованные остатки без преобразования, при котором остатки, извлекаемые на основе прогнозирования, квантуются, и означает область для квантованных остаточных выборок.
[167] Для блока размера M (строка) x N (столбец) допустим, что остатки прогнозирования, полученные посредством выполнения внутреннего прогнозирования в горизонтальном направлении (копирования левой соседней пиксельной линии в блок прогнозирования линию за линией) или внутреннего прогнозирования в вертикальном направлении (копирования верхней соседней линии в блок прогнозирования линию за линией) с использованием нефильтрованных выборок из левой или верхней граничных выборок, представляют собой r(i, j) (0≤i≤M-1, 0≤j≤N-1). Так же, предположим, что квантованная версия остатка r(i, j) составляет Q(r(i, j)) (0≤i≤M-1, 0≤j≤N-1). Здесь, остаток означает разностное значение между значением исходного блока и значением блока прогнозирования.
[168] После этого, когда BDPCM применяется к квантованным остаточным выборкам, модифицированный массив MxN, сконфигурированных с , извлекается.
[169] Когда вертикальная BDPCM передается в служебных сигналах, заключается в следующем.
[170] уравнение 9
[171] При аналогичном применении к горизонтальному прогнозированию, остаточные квантованные выборки заключаются в следующем.
[172] уравнение 10
[173] Квантованная остаточная выборка ( ) передается в устройство декодирования.
[174] В оборудовании декодирования, чтобы извлекать Q (r(i, j)) (0≤i≤M-1, 0≤j≤N-1), вышеуказанная операция выполняется в обратном порядке.
[175] Для вертикального прогнозирования, может применяться следующее уравнение.
[176] уравнение 11
[177] Помимо этого, следующее уравнение может применяться к горизонтальному прогнозированию.
[178] уравнение 12
[179] Деквантованный квантованный остаток Q-1(Q(r(i, j))) суммируется с прогнозным значением внутреннего блока, чтобы извлекать восстановленное выборочное значение.
[180] Основное преимущество этой технологии состоит в том, что обратная BDPCM может немедленно выполняться посредством простого добавления предикторов во время синтаксического анализа коэффициентов или после синтаксического анализа во время синтаксического анализа коэффициентов.
[181] Как описано выше, BDPCM может применяться к квантованной остаточной области, и квантованная остаточная область может включать в себя квантованные остатки (или квантованные остаточные коэффициенты) в это время, пропуск преобразования может применяться к остаткам. Таким образом, для остаточной выборки, преобразование пропускается, и квантование может применяться. Альтернативно, квантованная остаточная область может включать в себя квантованные коэффициенты преобразования. Флаг для того, является или нет BDPCM применимой, может передаваться в служебных сигналах на уровне последовательности (SPS), и этот флаг может передаваться в служебных сигналах только тогда, когда передается в служебных сигналах то, что режим пропуска преобразования активируется в SPS.
[182] Когда BDPCM применяется, внутреннее прогнозирование для квантованной остаточной области выполняется для всего блока посредством выборочного копирования согласно направлению прогнозирования, аналогичному направлению внутреннего прогнозирования (например, вертикальному прогнозированию или горизонтальному прогнозированию). Остатки квантуются, и дельта-значения, т.е. разностные значения ( ), кодируются между квантованными остатками и предикторами в горизонтальном или вертикальном направлении (т.е. квантованным остатком в горизонтальном или вертикальном направлении).
[183] Если BDPCM является применимой, когда CU-размер меньше или равен MaxTsSize (максимального размера пропуска преобразования) для выборок сигнала яркости, и CU кодируется с помощью внутреннего прогнозирования, информация флага может передаваться на уровне CU. Здесь, MaxTsSize означает максимальный размер блока для разрешения режима пропуска преобразования. Эта информация флага указывает то, применяется традиционное внутреннее кодирование или BDPCM. Когда BDPCM применяется, флаг направления BDPCM-прогнозирования, указывающий то, представляет направление прогнозирования собой горизонтальное направление или вертикальное направление, может передаваться. Затем блок прогнозируется через традиционный процесс горизонтального или вертикального внутреннего прогнозирования с использованием нефильтрованных опорных выборок. Остатки квантуются, и разностное значение между каждым квантованным остатком и его предиктором, например, уже квантованным остатком соседней позиции в горизонтальном или вертикальном направлении согласно направлению BDPCM-прогнозирования, кодируется.
[184] Синтаксические элементы для вышеописанного контента и их семантика показаны в таблице следующим образом.
[185] Табл. 3
7.3.2.3. RBSP-синтаксис наборов параметров последовательности
7.4.3.3. RBSP-семантика наборов параметров последовательности
- sps_bdpcm_enabled_flag, равный 1, указывает то, что intra_bdpcm_luma_flag и intra_bdpcm_chroma_flag могут присутствовать в синтаксисе единицы кодирования для единиц внутреннего кодирования; sps_bdpcm_enabled_flag, равный 0, указывает то, что intra_bdpcm_luma_flag и intra_bdpcm_chroma_flag не присутствуют в синтаксисе единицы кодирования для единиц внутреннего кодирования. Когда не присутствует, значение sps_bdpcm_enabled_flag логически выводится равным 0.
[186] Таблица 3 показывает "sps_bdpcm_enabled_flag", передаваемый в служебных сигналах в наборе параметров последовательности (SPS), и когда синтаксический элемент "sps_bdpcm_enabled_flag" равен 1, информация флага, указывающая то, применяется или нет BDPCM к единице кодирования, в которой внутреннее прогнозирование выполняется, т.е. "intra_bdpcm_luma_flag", и "intra_bdpcm_chroma_flag", присутствует в единице кодирования.
[187] Если синтаксический элемент "sps_bdpcm_enabled_flag" не существует, его значение логически выводится равным 0.
[188] Табл. 4
7.3.10.5. Синтаксис единицы кодирования
7.4.11.5. Семантика intra_bdpcm_luma_flag единицы кодирования, равная 1, указывает то, что BDPCM применяется к текущему блоку кодирования сигналов яркости в местоположении (x0, y0), т.е. преобразование пропускается, режим внутреннего прогнозирования сигналов яркости указывается посредством intra_bdpcm_luma_dir_flag; intra_bdpcm_luma_flag, равный 0, указывает то, что BDPCM не применяется к текущему блоку кодирования сигналов яркости в местоположении (x0, y0).
Когда intra_bdpcm_luma_flag не присутствует, он логически выводится равным 0.
Переменная BdpcmFlag[x][y][cIdx] задается равной intra_bdpcm_luma_flag для x=x0...x0+cbWidth-1, y=y0...y0+cbHeight-1 и cIdx=0.
[189] - intra_bdpcm_luma_dir_flag, равный 0, указывает то, что направление BDPCM-прогнозирования является горизонтальным; intra_bdpcm_luma_dir_flag, равный 1, указывает то, что направление BDPCM-прогнозирования является вертикальным. Переменная BdpcmDir[x][y][cIdx] задается равной intra_bdpcm_luma_dir_flag для x=x0...x0+cbWidth-1, y=y0...y0+cbHeight-1 и cIdx=0.
- intra_bdpcm_chroma_flag, равный 1, указывает то, что BDPCM применяется к текущим блокам кодирования сигналов цветности в местоположении (x0, y0), т.е. преобразование пропускается, режим внутреннего прогнозирования сигналов цветности указывается посредством intra_bdpcm_chroma_dir_flag; intra_bdpcm_chroma_flag, равный 0, указывает то, что BDPCM не применяется к текущим блокам кодирования сигналов цветности в местоположении (x0, y0).
Когда intra_bdpcm_chroma_flag не присутствует, он логически выводится равным 0.
Переменная BdpcmFlag[x][y][cIdx] задается равной intra_bdpcm_chroma_flag для x=x0...x0+cbWidth-1, y=y0...y0+cbHeight-1 и cIdx=1...2.
- intra_bdpcm_chroma_dir_flag, равный 0, указывает то, что направление BDPCM-прогнозирования является горизонтальным; intra_bdpcm_chroma_dir_flag, равный 1, указывает то, что направление BDPCM-прогнозирования является вертикальным. Переменная BdpcmDir[x][y][cIdx] задается равной intra_bdpcm_chroma_dir_flag для x=x0...x0+cbWidth-1, y=y0...y0+cbHeight-1 и cIdx=1...2.
[190] Как описано в таблице 3, синтаксические элементы "intra_bdpcm_luma_flag" и "intra_bdpcm_chroma_flag" таблицы 4 указывают то, применяется либо нет BDPCM к текущему блоку кодирования сигналов яркости или к текущему блоку кодирования сигналов цветности. Если значение "intra_bdpcm_luma_flag" или "intra_bdpcm_chroma_flag" равно 1, преобразование для соответствующего блока кодирования пропускается, и режим прогнозирования для блока кодирования может задаваться равным горизонтальному или вертикальному направлению согласно "intra_bdpcm_luma_dir_flag" или "intra_bdpcm_chroma_dir_flag", указывающему направление прогнозирования. Если "intra_bdpcm_luma_flag" или "intra_bdpcm_chroma_flag" не присутствует, это значение логически выводится в качестве 0.
[191] Если intra_bdpcm_luma_dir_flag" или "intra_bdpcm_chroma_dir_flag", указывающий направление прогнозирования, равен 0, это указывает то, что направление BDPCM-прогнозирования представляет собой горизонтальное направление, и если значение равно 1, это указывает то, что направление BDPCM-прогнозирования представляет собой вертикальное направление.
[192] Процесс внутреннего прогнозирования на основе информации флага показывается в таблице следующим образом.
[193] Табл. 5
3.4.3. Процесс извлечения для режима внутреннего прогнозирования сигналов яркости
Вводы в этот процесс представляют собой следующее:
- местоположение (xCb, yCb) сигнала яркости, указывающее левую верхнюю выборку текущего блока кодирования сигналов яркости относительно левой верхней выборки сигнала яркости текущего кадра,
- переменная cbWidth, указывающая ширину текущего блока кодирования в выборках сигнала яркости,
- переменная cbHeight, указывающая высоту текущего блока кодирования в выборках сигнала яркости. В этом процессе, режим IntraPredModeY[xCb][yCb] внутреннего прогнозирования сигналов яркости извлекается.
Таблица 19 указывает значение для режима внутреннего прогнозирования IntraPredModeY[xCb][yCb] и ассоциированных названий.
Таблица 19. Спецификация режима внутреннего прогнозирования и ассоциированных названий
Режим внутреннего прогнозирования | Ассоциированное название |
0 | INTRA_PLANAR |
1 | INTRA_DC |
2...66 | INTRA_ANGULAR2...INTRA_ANGULAR66 |
81...33 | INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM |
Примечание. Режимы INTRA_LT_CCLM, INTRA_L_CCLM и INTRA_T_CCLM внутреннего прогнозирования являются применимыми только к компоненту сигнала цветности.
- IntraPredModeY[xCb][yCb] извлекается следующим образом:
- Если intra_luma_not_planar_flag[xCb][yCb] равен 0, IntraPredModeY[xCb][yCb] задается равным INTRA_PLANAR.
- В противном случае, если BdpcmFlag[xCb][yCb][0] равен 1, IntraPredModeY[xCb][yCb] задается равным BdpcmDir[xCb][yCb][0]? INTRA_ANGULAR50:INTRA_ANGULAR18.
[194] Таблица 5 показывает процесс извлечения режима внутреннего прогнозирования, и режим внутреннего прогнозирования (IntraPredModeY[xCb][yCb]) задается равным INTRA_PLANAR согласно "таблице 19", когда intra_luma_not_planar_flag[xCb][yCb] равен 0, и когда intra_luma_not_planar_flag. Если [xCb][yCb] равен 1, он может задаваться равным вертикальному режиму (INTRA_ANGULAR50) или горизонтальному режиму (INTRA_ANGULAR18) согласно переменной BdpcmDir[xCb][yCb][0].
[195] Переменная BdpcmDir[xCb][yCb][0] задается равной значению intra_bdpcm_luma_dir_flag или intra_bdpcm_chroma_dir_flag, как показано в таблице 4. Соответственно, режим внутреннего прогнозирования может задаваться равным горизонтальному режиму, если переменная BdpcmDir[xCb][yCb][0] равна 0, и вертикальному режиму, если она равна 1.
[196] Помимо этого, когда BDPCM применяется, процесс деквантования может представляться так, как показано в таблице 6.
[197] Табл. 6
8.4.3. Процесс масштабирования для коэффициентов преобразования
Вводы в этот процесс представляют собой следующее:
- местоположение (xTbY, yTbY) сигнала яркости, указывающее левую верхнюю выборку текущего блока преобразования сигналов яркости относительно левой верхней выборки сигнала яркости текущего кадра,
- переменная nTbW, указывающая ширину блока преобразования,
- переменная nTbH, указывающая высоту блока преобразования,
- переменная predMode, указывающая режим прогнозирования единицы кодирования,
- переменная cIdx, указывающая цветовой компонент текущего блока.
Вывод этого процесса представляет собой массив d (nTbW)x(nTbH) масштабированных коэффициентов преобразования с элементами d[x][y].
Для извлечения масштабированных коэффициентов d[x][y] преобразования с x=0...nTbW-1, y=0...nTbH-1, применимо следующее:
- Когда BdpcmFlag[xTbY][yYbY][cIdx] равен 1, dz[x][y] модифицируется следующим образом:
- Если BdpcmDir[xTbY][yYbY][cIdx] равен 0, и x превышает 0, применимо следующее:
- dz[x][y]=Clip3(CoeffMin, CoeffMas, dz[x-1][y]+dz[x][y]) (1174)
- В противном случае, если BdpcmDir [xTbY][yTbY][cIdx] равен 1, и y превышает 0, применимо следующее:
- dz[x][y]=Clip3(Coeff, CoeffMax, dz[x][y-1]+dz[s][y]) (1175)
- Значение dnc[x][y] извлекается следующим образом:
- dnc[x][y]=(dz[x][y] *ls[x][y]+bdOffeet)>>bdShift (1176)
- Масштабированный коэффициент d[x][y] преобразования извлекается следующим образом:
- d[x][y]=Clip3(CoeffMin, CoeffMax, dnc[x][y]) (1177)
[198] Таблица 6 показывает процесс деквантования для коэффициентов преобразования ("8.4.3. Процесс масштабирования для коэффициентов преобразования"). Если значение BdpcmFlag[xTbY][yYbY][cIdx] равно 1, деквантованное остаточное значение (d[x][y]) может извлекаться на основе промежуточной переменной dz[x][y]. Если BdpcmDir[xTbY][yYbY][cIdx] равен 0, т.е. когда внутреннее прогнозирование выполняется посредством горизонтального режима, переменная dz[x][y] представляет собой "dz[x-1][y]+dz[x][y]". Кроме того, если BdpcmDir[xTbY][yYbY][cIdx] равен 1, т.е. когда внутреннее прогнозирование выполняется посредством вертикального режима, переменная dz[x][y] представляет собой "dz[x][y-1]+dz[x][y]". Таким образом, остаток в конкретном местоположении может извлекаться на основе суммы остатка в предыдущем местоположении в горизонтальном или вертикальном направлении и значения, принимаемого в качестве остаточной информации в конкретном местоположении. Это обусловлено тем, что, когда BDPCM применяется, разность между остаточным выборочным значением в конкретной позиции (x, y) (x увеличивается слева направо в качестве горизонтальной координаты, y увеличивается сверху вниз в качестве вертикальной координаты, и позиция в двумерном блоке выражается как (x, y). Кроме того, конкретная позиция представляет позицию (x, y), когда левая верхняя позиция соответствующего блока преобразования задается (0, 0)), и остаточное выборочное значение в предыдущей позиции ((x-1, y) или (x, y-1)) в горизонтальном или вертикальном направлении передается в служебных сигналах в качестве остаточной информации.
[199] Между тем, согласно примеру, когда BDPCM применяется, обратное вторичное преобразование, которое представляет собой неразделимое преобразование, например, LFNST может не применяться. Следовательно, когда BDPCM применяется, LFNST-индекс (индекс преобразования), передача служебных сигналов может опускаться. Как описано выше, можно указывать то, следует или нет применять LFNST, и то, какая матрица ядер преобразования для LFNST должна применяться, через LFNST-индекс. Например, если значение LFNST-индекса равно 0, это указывает то, что LFNST не применяется, и если значение LFNST-индекса равно 1 или 2, одна из двух матриц ядра преобразования, составляющих набор для преобразования LFNST, выбранный на основе режима внутреннего прогнозирования, может указываться. Более конкретные варианты осуществления, связанные с BDPCM и LFNST, могут применяться следующим образом.
[200] Первый вариант осуществления
[201] BDPCM может применяться только либо к компоненту сигнала яркости, либо к компоненту сигнала цветности. В случае отдельного кодирования дерева разбиения CTU для компонента сигнала яркости и дерева разбиения CTU для компонента сигнала цветности (например, структуры в виде сдвоенного дерева в VVC-стандарте), при условии, что BDPCM применяется только к компоненту сигнала яркости, LFNST-индекс может передаваться только тогда, когда BDPCM не применяется к компоненту сигнала яркости, и LFNST-индекс может передаваться во все блоки, в которые LFNST может применяться к компоненту сигнала цветности. С другой стороны, в структуре в виде сдвоенного дерева, при условии, что BDPCM применяется только к компоненту сигнала цветности, LFNST-индекс может передаваться только тогда, когда BDPCM не применяется к компоненту сигнала цветности, и LFNST-индексы могут передаваться для всех блоков, к которым LFNST может применяться для компонента сигнала яркости.
[202] Второй вариант осуществления
[203] Когда компонент сигнала яркости и компонент сигнала цветности кодируются с идентичным деревом разбиения CTU, т.е. когда они совместно используют тип разбиения (например, структуру в виде одиночного дерева в VVC-стандарте), в блоке, к которому применяется BDPCM, LFNST может не применяться как к компоненту сигнала яркости, так и к компоненту сигнала цветности. Альтернативно, может конфигурироваться возможность применять LFNST только к одному компоненту (например, к компоненту сигнала яркости или к компоненту сигнала цветности) для блока, к которому применяется BDPCM. В этом случае, только LFNST-индекс для соответствующего компонента может кодироваться и передаваться в служебных сигналах.
[204] Третий вариант осуществления
[205] Когда BDPCM применяется только к конкретному типу изображения или частичного изображения (например, к внутреннему прогнозному изображению, внутреннему срезу и т.д.), может конфигурироваться возможность применять BDPCM только к изображению или частичному изображению соответствующего типа. Для изображения или частичного изображения, к которому применяется BDPCM, LFNST-индекс может передаваться для каждого блока, к которому BDPCM не применяется, и для типа или частичного изображения, к которому не применяется BDPCM, LFNST-индекс для всех блоков, к которым может применяться LFNST, может передаваться. Здесь, блок может представлять собой блок кодирования или блок преобразования.
[206] Четвертый вариант осуществления
[207] BDPCM может применяться только к блокам с конкретным размером или меньше. Например, может конфигурироваться возможность применять BDPCM только тогда, когда блок имеет ширину W или меньше и высоту H или меньше. Здесь, W и H могут задаваться равными 32, соответственно. Если ширина блока составляет W или меньше, и высота составляет H или меньше, так что BDPCM может применяться, LFNST-индекс может передаваться только тогда, когда флаг, указывающий то, применяется или нет BDPCM, кодируется в качестве 0 (когда BDPCM не применяется).
[208] С другой стороны, когда ширина блока превышает W, или высота превышает H, поскольку BDPCM не применяется, передача в служебных сигналах флага, указывающего то, применяется или нет BDPCM, является необязательной, и LFNST-индекс может передаваться для всех блоков, к которым может применяться LFNST.
[209] Пятый вариант осуществления
[210] Комбинации вышеуказанных первого-четвертого вариантов осуществления могут применяться. Например, 1) BDPCM применяется только к компоненту сигнала яркости, 2) BDPCM применяется только к внутренним срезам, 3) BDPCM выполнена с возможностью применяться только тогда, когда как ширина, так и высота равны 32, или меньше и LFNST-индекс может кодироваться и передаваться в служебных сигналах для блоков, к которым применяется BDPCM.
[211] Нижеприведенные чертежи предоставляются для того, чтобы описывать конкретные примеры настоящего раскрытия сущности. Поскольку конкретные обозначения устройств или обозначения конкретных сигналов/сообщений/полей, проиллюстрированных на чертежах, предоставляются для иллюстрации, технические признаки настоящего раскрытия сущности не ограничены конкретными обозначениями, используемыми на нижеприведенных чертежах.
[212] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу оборудования декодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[213] Каждая операция, проиллюстрированная на фиг. 7, может выполняться посредством оборудования 300 декодирования, проиллюстрированного на фиг. 3. В частности, S710 может выполняться посредством энтропийного декодера 310, проиллюстрированного на фиг. 3, S720 может выполняться посредством деквантователя 321, проиллюстрированного на фиг. 3, S730 и S740 могут выполняться посредством обратного преобразователя 322, проиллюстрированного на фиг. 3, и S750 может выполняться посредством сумматора 340, проиллюстрированного на фиг. 3. Операции согласно S710-S750 основаны на некоторых вышеприведенных подробностях, поясненных со ссылкой на фиг. 4 фиг. 6. Следовательно, описание конкретных подробностей, перекрывающихся с подробностями, поясненными выше со ссылкой на фиг. 4-6, опускается или приводится вкратце.
[214] Оборудование 300 декодирования согласно варианту осуществления может извлекать квантованные коэффициенты преобразования для целевого блока из потока битов (S710). В частности, оборудование 300 декодирования может декодировать информацию относительно квантованных коэффициентов преобразования для целевого блока из потока битов и может извлекать квантованные коэффициенты преобразования для целевого блока на основе информации относительно квантованных коэффициентов преобразования для целевого блока. Информация относительно квантованных коэффициентов преобразования для целевого блока может включаться в набор параметров последовательности (SPS) или заголовок среза и может включать в себя, по меньшей мере, одно из информации относительно того, применяется или нет сокращенное преобразование (RST), информации относительно сокращенного коэффициента, информации относительно минимального размера преобразования, к которому RST применяется, информации относительно максимального размера преобразования, к которому RST применяется, информации относительно размера сокращенного обратного преобразования и информации относительно индекса преобразования, указывающей любую из матриц ядра преобразования, включенных в набор для преобразования.
[215] Оборудование 300 декодирования согласно варианту осуществления может извлекать коэффициенты преобразования посредством деквантования квантованных коэффициентов преобразования для целевого блока (S720).
[216] Оборудование 300 декодирования согласно варианту осуществления может извлекать модифицированные коэффициенты преобразования на основе обратного неразделимого преобразования или обратного сокращенного вторичного преобразования (RST) коэффициентов преобразования (S730).
[217] В примере, обратное неразделимое преобразование или обратное RST может выполняться на основе матрицы преобразования обратного RST, и матрица преобразования обратного RST может представлять собой неквадратную матрицу, в которой число столбцов меньше числа строк.
[218] В варианте осуществления, S730 может включать в себя декодирование индекса преобразования, определение того, удовлетворяется или нет условие для применения обратного RST, на основе индекса преобразования, выбор матрицы ядер преобразования и применение обратного RST к коэффициентам преобразования на основе матрицы выбранного ядра преобразования и/или сокращенного коэффициента, когда условие для применения обратного RST удовлетворяется. В этом случае, размер обратной RST-матрицы может определяться на основе сокращенного коэффициента.
[219] Оборудование 300 декодирования согласно варианту осуществления может извлекать остаточные выборки для целевого блока на основе обратного преобразования модифицированных коэффициентов преобразования (S740).
[220] Оборудование 300 декодирования может выполнять обратное первичное преобразование для модифицированных коэффициентов преобразования для целевого блока, причем в этом случае сокращенное обратное преобразование может применяться, или традиционное разделимое преобразование может использоваться в качестве обратного первичного преобразования.
[221] Оборудование 300 декодирования согласно варианту осуществления может формировать восстановленные выборки на основе остаточных выборок для целевого блока и прогнозных выборок для целевого блока (S750).
[222] Что касается S730, можно идентифицировать то, что остаточные выборки для целевого блока извлекаются на основе обратного RST коэффициентов преобразования для целевого блока. С точки зрения размера матрицы обратного преобразования, поскольку размер матрицы регулярного обратного преобразования составляет NxN, но размер обратной RST-матрицы уменьшается до NxR, можно уменьшать использование запоминающего устройства в случае выполнения обратного RST на отношение R/N по сравнению с использованием запоминающего устройства в случае выполнения регулярного преобразования. Дополнительно, использование обратной RST-матрицы позволяет уменьшать число (NxR) умножений на отношение R/N, по сравнению с числом NxN умножений в случае использования матрицы регулярного обратного преобразования. Помимо этого, поскольку только R коэффициентов преобразования должны декодироваться, когда обратное RST применяется, общее число коэффициентов преобразования для целевого блока может уменьшаться с N до R, по сравнению с числом коэффициентов преобразования в случае, если N коэффициентов преобразования должен декодироваться, когда регулярное обратное преобразование применяется, за счет этого повышая эффективность декодирования. Таким образом, согласно S730, эффективность (обратного) преобразования и эффективность декодирования оборудования 300 декодирования могут повышаться через обратное RST.
[223] Фиг. 8 является управляющей блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего документа.
[224] Устройство декодирования 300 принимает информацию кодирования, такую как BDPCM-информация, из потока битов (S810). Помимо этого, оборудование 300 декодирования дополнительно может принимать информацию флага пропуска преобразования, указывающую то, применяется или нет пропуск преобразования к текущему блоку, информацию индекса преобразования для обратного вторичного преобразования, т.е. обратного неразделимого преобразования, т.е. информацию LFNST-индекса или MTS-индекса, указывающую ядро преобразования обратного первичного преобразования.
[225] BDPCM-информация может включать в себя информацию BDPCM-флага, указывающую то, применяется или нет BDPCM к текущему блоку, и информацию направления относительно направления, в котором выполняется BDPCM.
[226] Если BDPCM применяется к текущему блоку, значение BDPCM-флага может быть равным 1, и если BDPCM не применяется к текущему блоку, значение BDPCM-флага может быть равным 0.
[227] Когда BDPCM применяется к текущему блоку, значение флага пропуска преобразования может логически выводиться в качестве 1, и когда значение флага пропуска преобразования равно 1, значение LFNST-индекса может логически выводиться в качестве 0 или не приниматься. Таким образом, когда BDPCM применяется к текущему блоку, преобразование может не применяться к текущему блоку.
[228] Между тем, тип дерева текущего блока может разделяться на одиночное дерево (SINGLE_TREE) или сдвоенное дерево (DUAL_TREE) в зависимости от того, имеют или нет блок сигналов яркости и соответствующий блок сигналов яркости отдельную структуру сегментации. Когда блок сигналов цветности имеет структуру сегментации, идентичную структуре сегментации блока сигналов яркости, он может представляться как одиночное дерево, а когда блок компонентов сигнала цветности имеет структуру сегментации, отличающуюся от структуры сегментации блока сигналов яркости, он может представляться как сдвоенное дерево. Согласно примеру, BDPCM может отдельно применяться к блоку сигналов яркости или блоку сигналов цветности текущего блока. Если BDPCM применяется к блоку сигналов яркости, индекс преобразования для блока сигналов яркости может не приниматься, и если BDPCM применяется к блоку сигналов цветности, индекс преобразования для блока сигналов цветности может не приниматься.
[229] Когда древовидная структура текущего блока представляет собой сдвоенное дерево, BDPCM может применяться только к одному компонентному блоку, и даже когда текущий блок имеет структуру в виде одиночного дерева, BDPCM может применяться только к одному компонентному блоку. В этом случае, LFNST-индекс может приниматься только для компонентных блоков, к которым не применяется BDPCM.
[230] Альтернативно, согласно примеру, BDPCM может применяться только тогда, когда ширина текущего блока меньше или равна первому пороговому значению, и высота текущего блока меньше или равна второму пороговому значению. Первое пороговое значение и второе пороговое значение могут быть равными 32 и могут задаваться равными максимальной высоте или максимальной ширине блока преобразования, в котором выполняется преобразование.
[231] Между тем, информация направления для BDPCM может указывать горизонтальное направление или вертикальное направление, и информация квантования может извлекаться согласно информации направления, и прогнозная выборка может извлекаться согласно информации направления.
[232] Оборудование 300 декодирования может извлекать квантованные коэффициенты преобразования для текущего блока на основе BDPCM (S820). Здесь, коэффициенты преобразования могут представлять собой непреобразованные остаточные выборочные значения.
[233] Когда BDPCM применяется к текущему блоку, остаточная информация, принимаемая посредством оборудования 300 декодирования, может представлять собой разностное значение квантованного остатка. В зависимости от BDPCM-направления, может приниматься разностное значение между квантованным остатком в предыдущей вертикальной линии или предыдущей линии горизонтального направления и квантованным остатком конкретной линии, и оборудование 300 декодирования может извлекать квантованный остаток конкретной линии посредством суммирования квантованного остаточного значения предыдущей вертикальной или горизонтальной линии с разностным значением принимаемого квантованного остатка. Квантованный остаток может извлекаться на основе уравнения 11 или уравнения 12.
[234] Оборудование 300 декодирования может извлекать коэффициенты преобразования посредством выполнения деквантования для квантованных коэффициентов преобразования (S830) и может извлекать остаточные выборки на основе коэффициентов преобразования (S840).
[235] Как описано выше, когда BDPCM применяется к текущему блоку, деквантованный коэффициент преобразования может извлекаться в качестве остаточной выборки без процесса преобразования.
[236] Модуль 331 внутреннего прогнозирования может выполнять внутреннее прогнозирование для текущего блока на основе направления, в котором BDPCM выполняется (S850).
[237] Если BDPCM применяется к текущему блоку, внутреннее прогнозирование с его использованием может выполняться, что может означать то, что BDPCM может применяться только к внутреннему срезу или блоку внутреннего кодирования, прогнозированному во внутреннем режиме.
[238] Внутреннее прогнозирование выполняется на основе информации направления для BDPCM, и режим внутреннего прогнозирования текущего блока может представлять собой либо режим горизонтального направления, либо режим вертикального направления.
[239] Оборудование 300 декодирования может формировать восстановленный кадр на основе извлеченных остаточных выборок и прогнозированных выборок, как указано на S750 по фиг. 7 (S860).
[240] Нижеприведенные чертежи предоставляются для того, чтобы описывать конкретные примеры настоящего раскрытия сущности. Поскольку конкретные обозначения устройств или обозначения конкретных сигналов/сообщений/полей, проиллюстрированных на чертежах, предоставляются для иллюстрации, технические признаки настоящего раскрытия сущности не ограничены конкретными обозначениями, используемыми на нижеприведенных чертежах.
[241] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей работу оборудования кодирования видео согласно варианту осуществления настоящего раскрытия сущности.
[242] Каждая операция, проиллюстрированная на фиг. 9, может выполняться посредством оборудования 200 кодирования, проиллюстрированного на фиг. 2. В частности, S910 может выполняться посредством модуля 220 прогнозирования, проиллюстрированного на фиг. 2, S820 может выполняться посредством вычитателя 231, проиллюстрированного на фиг. 2, S930 и S940 могут выполняться посредством преобразователя 232, проиллюстрированного на фиг. 2, и S950 может выполняться посредством квантователя 233 и энтропийного кодера 240, проиллюстрированных на фиг. 2. Операции согласно S910-S950 основаны на части контента, описанного на фиг. 4-6. Следовательно, описание конкретных подробностей, перекрывающихся с подробностями, поясненными выше со ссылкой на фиг. 4-6, опускается или приводится вкратце.
[243] Оборудование 200 кодирования согласно варианту осуществления может извлекать прогнозные выборки на основе режима внутреннего прогнозирования, применяемого к целевому блоку (S910).
[244] Оборудование 200 кодирования согласно варианту осуществления может извлекать остаточные выборки для целевого блока (S920).
[245] Оборудование 200 кодирования согласно варианту осуществления может извлекать коэффициенты преобразования для целевого блока на основе первичного преобразования остаточной выборки (S930). Первичное преобразование может выполняться через множество ядер преобразования, и ядра преобразования могут выбираться на основе режима внутреннего прогнозирования.
[246] Оборудование 300 декодирования может выполнять вторичное преобразование или неразделимое преобразование, конкретно NSST, для коэффициентов преобразования для целевого блока, причем в этом случае NSST может выполняться на основе сокращенного преобразования (RST) или без базирования на RST. Когда NSST выполняется на основе сокращенного преобразования, операция согласно S940 может выполняться.
[247] Оборудование 200 кодирования согласно варианту осуществления может извлекать модифицированные коэффициенты преобразования для целевого блока на основе RST коэффициентов преобразования (S940). В примере, RST может выполняться на основе матрицы сокращенного преобразования или матрицы ядер преобразования, и матрица сокращенного преобразования может представлять собой неквадратную матрицу, в которой число строк меньше числа столбцов.
[248] В варианте осуществления, S940 может включать в себя определение того, удовлетворяется или нет условие для применения RST, формирование и кодирование индекса преобразования на основе определения, выбор ядра преобразования и применение RST к остаточным выборкам на основе матрицы выбранного ядра преобразования и/или сокращенного коэффициента, когда условие для применения RST удовлетворяется. В это время, размер матрицы сокращенного преобразования может определяться на основе сокращенного коэффициента.
[249] Оборудование 200 кодирования согласно варианту осуществления может извлекать квантованные коэффициенты преобразования посредством выполнения квантования на основе модифицированных коэффициентов преобразования для целевого блока и может кодировать информацию относительно квантованных коэффициентов преобразования (S950).
[250] В частности, оборудование 200 кодирования может формировать информацию относительно квантованных коэффициентов преобразования и может кодировать сформированную информацию относительно квантованных коэффициентов преобразования.
[251] В примере, информация относительно квантованных коэффициентов преобразования может включать в себя, по меньшей мере, одно из информации относительно того, применяется или нет RST, информации относительно сокращенного коэффициента, информации относительно минимального размера преобразования, к которому RST применяется, и информации относительно максимального размера преобразования, к которому применяется RST.
[252] Что касается S940, можно идентифицировать то, что коэффициенты преобразования для целевого блока извлекаются на основе RST остаточных выборок. С точки зрения размера матрицы ядер преобразования, поскольку размер матрицы ядер регулярного преобразования составляет NxN, но размер матрицы сокращенного преобразования уменьшается до RxN, можно уменьшать использование запоминающего устройства в случае выполнения RST на отношение R/N по сравнению с использованием запоминающего устройства в случае выполнения регулярного преобразования. Дополнительно, использование матрицы ядер сокращенного преобразования позволяет сокращать число (RxN) умножений на отношение R/N, по сравнению с числом NxN умножений в случае использования матрицы ядер регулярного преобразования. Помимо этого, поскольку только R коэффициентов преобразования извлекаются, когда RST применяется, общее число коэффициентов преобразования для целевого блока может уменьшаться с N до R, по сравнению числом коэффициентов преобразования в случае, если N коэффициентов преобразования извлекаются, когда регулярное преобразование применяется, за счет этого сокращая объем данных, передаваемых в оборудование 200 кодирования в оборудование 300 декодирования. Таким образом, согласно S940, эффективность преобразования и эффективность кодирования оборудования 320 кодирования могут повышаться через RST.
[253] Фиг. 10 является управляющей блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления этого документа.
[254] Оборудование 200 кодирования может извлекать прогнозные выборки для текущего блока на основе BDPCM (S1010).
[255] Оборудование 200 кодирования может извлекать внутренние прогнозные выборки для текущего блока на основе конкретного направления, в котором выполняется BDPCM. Конкретное направление может представлять собой вертикальное направление или горизонтальное направление, и прогнозные выборки для текущего блока могут формироваться согласно режиму внутреннего прогнозирования.
[256] Между тем, тип дерева текущего блока может разделяться на одиночное дерево (SINGLE_TREE) или сдвоенное дерево (DUAL_TREE) в зависимости от того, имеют или нет блок сигналов яркости и соответствующий блок сигналов яркости отдельную структуру сегментации. Когда блок сигналов цветности имеет структуру сегментации, идентичную структуре сегментации блока сигналов яркости, он может представляться как одиночное дерево, а когда блок компонентов сигнала цветности имеет структуру сегментации, отличающуюся от структуры сегментации блока сигналов яркости, он может представляться как сдвоенное дерево. Согласно примеру, BDPCM может отдельно применяться к блоку сигналов яркости или блоку сигналов цветности текущего блока.
[257] Когда древовидная структура текущего блока представляет собой сдвоенное дерево, BDPCM может применяться только к одному компонентному блоку, и даже когда текущий блок имеет структуру в виде одиночного дерева, BDPCM может применяться только к одному компонентному блоку.
[258] Альтернативно, согласно примеру, BDPCM может применяться только тогда, когда ширина текущего блока меньше или равна первому пороговому значению, и высота текущего блока меньше или равна второму пороговому значению. Первое пороговое значение и второе пороговое значение могут быть равными 32 и могут задаваться равными максимальной высоте или максимальной ширине блока преобразования, в котором выполняется преобразование.
[259] Оборудование 200 кодирования может извлекать остаточные выборки для текущего блока на основе прогнозных выборок (S1020) и выполнять квантование для остаточных выборок (S1030).
[260] Затем оборудование 200 кодирования может извлекать квантованную остаточную информацию на основе BDPCM (S1040).
[261] Оборудование 200 кодирования может извлекать квантованную остаточную выборку конкретной линии и разностное значение между квантованной остаточной выборкой предыдущей вертикальной или горизонтальной линии и квантованной остаточной выборкой конкретной линии в качестве квантованной остаточной информации. Таким образом, разностное значение квантованного остатка, а не нормальный остаток, формируется в качестве остаточной информации и может извлекаться на основе уравнения 9 или уравнения 10.
[262] Оборудование 200 кодирования может кодировать квантованную остаточную информацию и информацию кодирования для текущего блока (S1050).
[263] Устройство 200 кодирования может кодировать BDPCM-информацию, информацию флага пропуска преобразования, указывающую то, применяется или нет пропуск преобразования к текущему блоку, информацию индекса преобразования для обратного вторичного преобразования, т.е. обратного неразделимого преобразования, т.е. информацию LFNST-индекса или MTS-индекса, указывающую ядро преобразования обратного первичного преобразования.
[264] BDPCM-информация может включать в себя информацию BDPCM-флага, указывающую то, применяется или нет BDPCM к текущему блоку, и информацию направления относительно направления, в котором выполняется BDPCM.
[265] Когда BDPCM применяется к текущему блоку, значение BDPCM-флага может кодироваться как 1, а когда BDPCM не применяется к текущему блоку, значение BDPCM-флага может кодироваться как 0.
[266] Если BDPCM применяется к текущему блоку, значение флага пропуска преобразования может логически выводиться как 1 или кодироваться как 1. Помимо этого, если значение флага пропуска преобразования равно 1, значение LFNST-индекса может логически выводиться как 0 или может не кодироваться. Таким образом, когда BDPCM применяется к текущему блоку, преобразование может не применяться к текущему блоку.
[267] Кроме того, как описано выше, когда древовидная структура текущего блока представляет собой сдвоенное дерево, BDPCM может применяться только к одному компонентному блоку, и даже когда текущий блок имеет структуру в виде одиночного дерева, BDPCM может применяться только к одному компонентному блоку. В этом случае, LFNST-индекс может кодироваться только для компонентных блоков, к которым не применяется BDPCM.
[268] Информация направления для BDPCM может указывать горизонтальное направление или вертикальное направление.
[269] В настоящем раскрытии сущности, по меньшей мере, одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициент преобразования может называться "коэффициентом" или "остаточным коэффициентом" либо по-прежнему может называться "коэффициентом преобразования" для согласованности выражения.
[270] Помимо этого, в настоящем раскрытии сущности, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Эти подробности также могут применяться/выражаться в других частях настоящего раскрытия сущности.
[271] В вышеописанных вариантах осуществления, способы поясняются на основе блок-схем последовательности операций способа посредством последовательности этапов или блоков, но настоящее раскрытие сущности не ограничено порядком этапов, и определенный этап может выполняться в порядке или этапе, отличающемся от порядка или этапа, описанного выше, либо одновременно с другим этапом. Дополнительно, специалистам в данной области техники очевидно, что этапы, показанные на блок-схеме последовательности операций способа, не являются единственно возможными, и что другой этап может быть включен, либо один или более этапов блок-схемы последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия сущности.
[272] Вышеописанные способы согласно настоящему раскрытию сущности могут реализовываться как программная форма, и оборудование кодирования, и/или оборудование декодирования согласно раскрытию сущности может включаться в устройство для обработки изображений, к примеру, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения и т.п.
[273] Когда варианты осуществления в настоящем раскрытии сущности осуществляются посредством программного обеспечения, вышеописанные способы могут осуществляться в качестве модулей (процессов, функций и т.п.), чтобы выполнять вышеописанные функции. Модули могут сохраняться в запоминающем устройстве и могут выполняться посредством процессора. Запоминающее устройство может находиться внутри или снаружи процессора и может соединяться с процессором различными известными способами. Процессор может включать в себя специализированную интегральную схему (ASIC), другой набор микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Таким образом, варианты осуществления, описанные в настоящем раскрытии сущности, могут осуществляться и выполняться в процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут осуществляться и выполняться на компьютере, в процессоре, микропроцессоре, контроллере или микросхеме.
[274] Дополнительно, оборудование декодирования и оборудование кодирования, к которым применяется настоящее раскрытие сущности, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), видеоустройство поверх сетей (OTT), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии и медицинское видеоустройство, и могут использоваться для того, чтобы обрабатывать видеосигнал или сигнал данных. Например, видеоустройство поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[275] Помимо этого, способ обработки, к которому применяется настоящее раскрытие сущности, может формироваться в форме программы, выполняемой посредством компьютера, и сохраняться на машиночитаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию сущности, также могут сохраняться на машиночитаемом носителе записи. Машиночитаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются машиночитаемые данные. Машиночитаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Дополнительно, машиночитаемый носитель записи включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на машиночитаемом носителе записи или передаваться через сеть проводной или беспроводной связи. Дополнительно, варианты осуществления настоящего раскрытия сущности могут осуществляться в качестве компьютерного программного продукта посредством программных кодов, и программные коды могут выполняться на компьютере посредством вариантов осуществления настоящего раскрытия сущности. Программные коды могут сохраняться на машиночитаемом носителе.
[276] Фиг. 11 иллюстрирует структуру системы потоковой передачи контента, к которой применяется настоящее раскрытие сущности.
[277] Дополнительно, система потоковой передачи контента, к которой применяется настоящее раскрытие сущности, может включать в себя главным образом сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, абонентское устройство и устройство ввода мультимедиа.
[278] Сервер кодирования функционирует для того, чтобы сжимать в цифровые данные контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.п., чтобы формировать поток битов и передавать его на потоковый сервер. В качестве другого примера, в случае если устройство ввода мультимедиа, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно формирует поток битов, сервер кодирования может опускаться. Поток битов может формироваться посредством способа кодирования или способа формирования потоков битов, к которому применяется настоящее раскрытие сущности. Кроме того, потоковый сервер может сохранять поток битов временно во время процесса, чтобы передавать или принимать поток битов.
[279] Потоковый сервер передает мультимедийные данные в абонентское устройство на основе запроса пользователя через веб-сервер, который функционирует в качестве инструментария, который информирует пользователя в отношении того, какая услуга предусмотрена. Когда пользователь запрашивает услугу, которую пользователь хочет, веб-сервер передает запрос на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом отношении, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует для того, чтобы управлять командами/ответами между соответствующим оборудованием в системе потоковой передачи контента.
[280] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, в случае если контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, потоковый сервер может сохранять поток битов в течение предварительно определенного периода времени, чтобы плавно предоставлять услугу потоковой передачи.
[281] Например, абонентское устройство может включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, терминал в виде часов (интеллектуальные часы), терминал в виде очков (интеллектуальные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, систему цифровых информационных табло и т.п. Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут обрабатываться распределенным способом.
[282] Формула изобретения, раскрытая в данном документе, может комбинироваться различным способом. Например, технические признаки пунктов формулы изобретения на способ настоящего раскрытия сущности могут комбинироваться с возможностью реализовываться или выполняться в оборудовании, и технические признаки пунктов формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе. Дополнительно, технические признаки пунктов формулы изобретения на способ и пунктов формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в оборудовании, и технические признаки пунктов формулы изобретения на способ и пунктов формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе.
Claims (40)
1. Способ декодирования изображений, осуществляемый посредством оборудования декодирования, при этом способ содержит этапы, на которых:
определяют, применяется ли BDPCM (дельта-импульсно-кодовая модуляция на основе блоков) к текущему блоку;
извлекают квантованные коэффициенты преобразования для текущего блока на основе BDPCM;
извлекают коэффициенты преобразования посредством выполнения деквантования для квантованных коэффициентов преобразования; и
извлекают остаточные выборки на основе коэффициентов преобразования;
при этом определение применяется ли BDPCM к текущему блоку содержит определение того, что ширина текущего блока меньше или равна первому пороговому значению, а высота текущего блока меньше или равна второму пороговому значению,
при этом на основании того, что ширина текущего блока меньше или равна первому пороговому значению, а высота текущего блока меньше или равна второму пороговому значению, BDPCM применяется к текущему блоку,
при этом на основании того, что BDPCM применяется к текущему блоку, обратное неразделимое преобразование не применяется к коэффициентам преобразования, и
при этом на основании того, что BDPCM применяется к текущему блоку, значение индекса преобразования для обратного неразделимого преобразования логически выводится равным 0.
2. Способ декодирования изображений по п. 1, в котором BDPCM отдельно применяется к блоку сигналов яркости текущего блока или к блоку сигналов цветности текущего блока,
при этом на основании того, что BDPCM применяется к блоку сигналов яркости, индекс преобразования для блока сигналов яркости не принимается, и
при этом на основании того, что BDPCM применяется к блоку сигналов цветности, индекс преобразования для блока сигналов цветности не принимается.
3. Способ декодирования изображений по п. 1, в котором, когда BDPCM применяется к текущему блоку, значение флага пропуска преобразования, указывающего, пропущено ли преобразование в текущем блоке, логически выводится равным 1.
4. Способ декодирования изображений по п. 1, в котором первое пороговое значение и второе пороговое значение равны 32.
5. Способ декодирования изображений по п. 1, в котором квантованные коэффициенты преобразования извлекаются на основе информации направления относительно направления, в котором выполняется BDPCM.
6. Способ декодирования изображений по п. 5, содержащий также этап, на котором выполняют внутреннее прогнозирование для текущего блока на основе направления, в котором выполняется BDPCM.
7. Способ декодирования изображений по п. 6, в котором информация направления указывает горизонтальное направление или вертикальное направление.
8. Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений, при этом способ содержит этапы, на которых:
извлекают прогнозные выборки для текущего блока на основе BDPCM (дельта-импульсно-кодовой модуляции на основе блоков);
извлекают остаточные выборки для текущего блока на основе прогнозных выборок;
выполняют квантование для остаточных выборок;
извлекают квантованную остаточную информацию на основе BDPCM; и
кодируют квантованную остаточную информацию и информацию флага, относящуюся к BDPCM для текущего блока;
при этом на основании того, что ширина текущего блока меньше или равна первому пороговому значению, а высота текущего блока меньше или равна второму пороговому значению, информация флага кодируется,
при этом на основании того, что BDPCM применяется к текущему блоку, неразделимое преобразование не применяется к текущему блоку, и
при этом на основании того, что BDPCM применяется к текущему блоку, индекс преобразования для неразделимого преобразования не кодируется.
9. Способ кодирования изображений по п. 8, в котором BDPCM отдельно применяется к блоку сигналов яркости текущего блока или к блоку сигналов цветности текущего блока,
при этом на основании того, что BDPCM применяется к блоку сигналов яркости, индекс преобразования для блока сигналов яркости не кодируется, и
при этом на основании того, что BDPCM применяется к блоку сигналов цветности, индекс преобразования для блока сигналов цветности не кодируется.
10. Способ кодирования изображений по п. 8, в котором первое пороговое значение и второе пороговое значение равны 32.
11. Способ кодирования изображений по п. 8, в котором внутренние прогнозные выборки для текущего блока извлекаются на основе конкретного направления, в котором выполняется BDPCM, и
при этом квантование для остаточных выборок выполняется на основе конкретного направления.
12. Способ кодирования изображений по п. 11, в котором конкретное направление включает в себя горизонтальное направление или вертикальное направление.
13. Постоянный машиночитаемый цифровой носитель хранения данных, в котором инструкции на постоянном машиночитаемом цифровом носителе хранения данных при выполнении по меньшей мере одним процессором побуждают по меньшей мере один процессор выполнять способ кодирования изображений по п. 8.
14. Способ передачи данных для изображения, содержащий этапы, на которых:
получают поток битов для изображения, причем поток битов генерируется на основе извлечения прогнозных выборок для текущего блока на основе BDPCM (дельта-импульсно-кодовой модуляции на основе блоков) извлекают остаточные выборки для текущего блока на основе прогнозных выборок, выполняют квантование для остаточных выборок, извлекают квантованную остаточную информацию на основе BDPCM, и кодируют квантованную остаточную информацию и информацию флага, относящуюся к BDPCM для текущего блока; и
передают данные, содержащие поток битов,
при этом на основании того, что ширина текущего блока меньше или равна первому пороговому значению, а высота текущего блока меньше или равна второму пороговому значению, информация флага кодируется,
при этом на основании того, что BDPCM применяется к текущему блоку, неразделимое преобразование не применяется к текущему блоку, и
при этом на основании того, что BDPCM применяется к текущему блоку, индекс преобразования для неразделимого преобразования не кодируется.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/836,656 | 2019-04-20 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2021130836A Division RU2783336C1 (ru) | 2019-04-20 | 2020-04-20 | Способ кодирования изображений на основе bdpcm и устройство для этого |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023128213A Division RU2820843C1 (ru) | 2019-04-20 | 2023-11-01 | Способ кодирования изображений на основе bdpcm и устройство для этого |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2022127998A RU2022127998A (ru) | 2022-11-24 |
RU2806813C2 true RU2806813C2 (ru) | 2023-11-07 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150264364A1 (en) * | 2014-03-14 | 2015-09-17 | Qualcomm Incorporated | Universal color-space inverse transform coding |
US9826230B2 (en) * | 2011-02-22 | 2017-11-21 | Tagivan Ii Llc | Encoding method and encoding apparatus |
US9877035B2 (en) * | 2014-03-17 | 2018-01-23 | Qualcomm Incorporated | Quantization processes for residue differential pulse code modulation |
KR101845622B1 (ko) * | 2016-08-31 | 2018-04-05 | 이화여자대학교 산학협력단 | 영상에 대한 적응적 rdpcm 방법, 적응적 rdpcm에 기반한 인코딩 방법 및 적응적 rdpcm에 기반한 디코딩 방법 |
RU2016147170A (ru) * | 2014-06-04 | 2018-07-16 | Квэлкомм Инкорпорейтед | Блочное адаптивное кодирование с преобразованием цветового пространства |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9826230B2 (en) * | 2011-02-22 | 2017-11-21 | Tagivan Ii Llc | Encoding method and encoding apparatus |
US20150264364A1 (en) * | 2014-03-14 | 2015-09-17 | Qualcomm Incorporated | Universal color-space inverse transform coding |
US20150264354A1 (en) * | 2014-03-14 | 2015-09-17 | Qualcomm Incorporated | Quantization parameters for color-space conversion coding |
US9877035B2 (en) * | 2014-03-17 | 2018-01-23 | Qualcomm Incorporated | Quantization processes for residue differential pulse code modulation |
RU2016147170A (ru) * | 2014-06-04 | 2018-07-16 | Квэлкомм Инкорпорейтед | Блочное адаптивное кодирование с преобразованием цветового пространства |
KR101845622B1 (ko) * | 2016-08-31 | 2018-04-05 | 이화여자대학교 산학협력단 | 영상에 대한 적응적 rdpcm 방법, 적응적 rdpcm에 기반한 인코딩 방법 및 적응적 rdpcm에 기반한 디코딩 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7482345B2 (ja) | Bdpcmに基づく映像コーディング方法、及びその装置 | |
US11831912B2 (en) | Transform for matrix-based intra-prediction in image coding | |
US11936911B2 (en) | Image coding method based on secondary transform, and device therefor | |
KR20210133301A (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
US11330261B2 (en) | Transform-based image coding method and device therefor | |
AU2020297214B2 (en) | Coding of information about transform kernel set | |
JP2022513203A (ja) | 2次変換に基づく映像コーディング方法及びその装置 | |
US20230412843A1 (en) | Method for coding image on basis of secondary transform and device therefor | |
US12003774B2 (en) | Image coding method based on secondary transform, and device therefor | |
US20230209061A1 (en) | Context coding for information on transform kernel set in image coding system | |
US20210377568A1 (en) | Image coding method based on quadratic transform, and apparatus therefor | |
RU2820843C1 (ru) | Способ кодирования изображений на основе bdpcm и устройство для этого | |
RU2806813C2 (ru) | Способ кодирования изображений на основе bdpcm и устройство для этого | |
EP4277278A1 (en) | Transform-based image coding | |
RU2783336C1 (ru) | Способ кодирования изображений на основе bdpcm и устройство для этого | |
RU2815810C2 (ru) | Кодирование информации относительно набора ядер преобразования | |
RU2792223C1 (ru) | Кодирование информации относительно набора ядер преобразования | |
RU2805218C2 (ru) | Способ кодирования изображений на основе преобразования и устройство для этого | |
RU2808004C2 (ru) | Способ и устройство внутреннего прогнозирования на основе внутренних субсегментов в системе кодирования изображений | |
RU2780814C1 (ru) | Способ кодирования изображений на основе преобразования и устройство для этого | |
RU2795696C2 (ru) | Преобразование при кодировании изображений на основе внутреннего прогнозирования | |
RU2781079C1 (ru) | Преобразование при кодировании изображений на основе внутреннего прогнозирования | |
RU2795799C2 (ru) | Преобразование для матричного внутреннего прогнозирования при кодировании изображений | |
RU2781175C1 (ru) | Преобразование для матричного внутреннего прогнозирования при кодировании изображений | |
RU2793777C1 (ru) | Способ и устройство внутреннего прогнозирования на основе внутренних субсегментов в системе кодирования изображений |