Способ для кодирования коэффициента преобразования на основе высокочастотного обнуления и оборудование для этого
Изобретение относится к средствам для кодирования изображений. Технический результат заключается в повышении эффективности кодирования. Получают остаточные дискретные отсчеты для текущего блока. Получают коэффициенты преобразования для текущего блока на основе остаточных дискретных отсчетов для текущего блока. Кодируют остаточную информацию, связанную с коэффициентами преобразования. При этом текущий блок включает в себя область низкочастотных коэффициентов преобразования, включающую в себя по меньшей мере один значимый коэффициент преобразования, и область, отличную от области низкочастотных коэффициентов преобразования, включающую в себя нулевой коэффициент преобразования. Остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока. Позиция последнего ненулевого коэффициента преобразования основывается на префиксном кодовом слове и информации суффикса последнего значимого коэффициента. 4 н. и 12 з.п. ф-лы, 13 ил., 13 табл.
Уровень техники
Область техники, к которой относится изобретение
[1] Настоящее раскрытие относится к технологии кодирования изображений, а более конкретно, к способу кодирования коэффициента преобразования на основе высокочастотного обнуления в системе кодирования изображений и к оборудованию для этого.
Описание предшествующего уровня техники
[2] В наше время спрос на высококачественные изображения/видео высокого разрешения, к примеру, 4K, 8K или изображения/видео еще более сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как данные изображений/видео приобретают все более высокое разрешение и более высокое качество, передаваемый объем информации или объем в битах увеличивается по сравнению с традиционными данными изображений. Следовательно, когда данные изображений передаются с использованием такой среды, как традиционная проводная/беспроводная широкополосная линия, или данные изображений/видео сохраняются с использованием существующего носителя хранения данных, затраты на передачу и затраты на хранение для них увеличиваются.
[3] Дополнительно, в наше время интерес и спрос на иммерсивное мультимедиа, такое как контент виртуальной реальности (VR), искусственной реальности (AR) или голограмма и т.п., растет, и широковещательная передача для изображений/видео, имеющих признаки изображений, отличающиеся от признаков действительных изображений, таких как игровое изображение, увеличивается.
[4] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений/видео для эффективного сжатия и передачи либо сохранения и воспроизведения информации высококачественных изображений/видео высокого разрешения, имеющих различные признаки, как описано выше.
Сущность изобретения
[5] Техническая проблема, которая должна разрешаться посредством настоящего раскрытия, заключается в предоставлении способа и оборудования, которые повышают эффективность кодирования изображений.
[6] Другая техническая проблема, которая должна разрешаться посредством настоящего раскрытия, заключается в предоставлении способа и оборудования, которые повышают эффективность остаточного кодирования.
[7] Еще одна другая техническая проблема, которая должна разрешаться посредством настоящего раскрытия, заключается в предоставлении способа и оборудования, которые повышают эффективность кодирования на уровне коэффициентов преобразования.
[8] Еще одна другая техническая проблема, которая должна разрешаться посредством настоящего раскрытия, заключается в предоставлении способа и оборудования, которые повышают эффективность остаточного кодирования посредством кодирования коэффициента преобразования на основе высокочастотного обнуления.
[9] Еще одна другая проблема, которая должна разрешаться посредством настоящего раскрытия, заключается в предоставлении способа и оборудования, которые кодируют информацию позиции последнего значимого коэффициента в текущем блоке (или текущем блоке преобразования) на основе высокочастотного обнуления.
[10] Еще одна другая техническая проблема, которая должна разрешаться посредством настоящего раскрытия, заключается в предоставлении способа и оборудования, которые извлекают максимальную длину кодового слова, представляющего последний значимый коэффициент преобразования, на основе размера области в текущем блоке, к которому не применяется высокочастотное обнуление, когда коэффициенты преобразования для текущего блока (или текущего блока преобразования) кодируются на основе высокочастотного обнуления.
[11] Еще одна другая техническая проблема, которая должна разрешаться посредством настоящего раскрытия, заключается в предоставлении способа и оборудования, которые преобразуют в двоичную форму информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, когда выполняется высокочастотное обнуление.
[12] Согласно примеру настоящего раскрытия, предусмотрен способ декодирования изображений, который осуществляется посредством оборудования декодирования. Способ включает в себя прием потока битов, включающего в себя остаточную информацию; извлечение квантованных коэффициентов преобразования для текущего блока на основе остаточной информации, включенной в поток битов; извлечение коэффициентов преобразования для текущего блока из квантованных коэффициентов преобразования на основе процесса обратного квантования; извлечение остаточных выборок для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования; и формирование восстановленного кадра на основе остаточных выборок для текущего блока, при этом каждый из коэффициентов преобразования для текущего блока связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования определяется на основе префиксного кодового слова, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
[13] Согласно другому примеру настоящего раскрытия, предусмотрено оборудование декодирования для выполнения декодирования изображений. Оборудование декодирования включает в себя энтропийный декодер, который принимает поток битов, включающий в себя остаточную информацию, и извлекает квантованные коэффициенты преобразования для текущего блока на основе остаточной информации, включенной в поток битов; деквантователь, который извлекает коэффициенты преобразования для текущего блока из квантованных коэффициентов преобразования на основе процесса обратного квантования; обратный преобразователь, который извлекает остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования; и сумматор, который формирует восстановленный кадр на основе остаточных выборок для текущего блока, при этом каждый из коэффициентов преобразования для текущего блока связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования определяется на основе префиксного кодового слова, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
[14] Согласно еще одному другому примеру раскрытия, предусмотрен способ кодирования изображений, который осуществляется посредством оборудования кодирования. Способ включает в себя извлечение остаточных выборок для текущего блока; извлечение коэффициентов преобразования для текущего блока посредством преобразования остаточных выборок для текущего блока; извлечение квантованных коэффициентов преобразования из коэффициентов преобразования на основе процесса квантования; и кодирование остаточной информации, включающей в себя информацию относительно квантованных коэффициентов преобразования, при этом каждый из коэффициентов преобразования для текущего блока связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования основана на префиксном кодовом слове, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
[15] Согласно еще одному другому примеру настоящего раскрытия, предусмотрено оборудование кодирования для выполнения кодирования изображений. Оборудование кодирования включает в себя вычитатель, который извлекает остаточные выборки для текущего блока; преобразователь, который извлекает коэффициенты преобразования для текущего блока посредством преобразования остаточных выборок для текущего блока; квантователь, который извлекает квантованные коэффициенты преобразования из коэффициентов преобразования на основе процесса квантования; и энтропийный кодер, который кодирует остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования, при этом каждый из коэффициентов преобразования для текущего блока связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования основана на префиксном кодовом слове, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
[16] Согласно еще одному другому примеру настоящего раскрытия, предусмотрен декодерочитаемый носитель данных, который хранит информацию относительно инструкций, которые инструктируют оборудованию декодирования видео осуществлять способы декодирования согласно некоторым примерам.
[17] Согласно еще одному другому примеру настоящего раскрытия, предусмотрен декодерочитаемый носитель данных, который хранит информацию относительно инструкций, которые инструктируют оборудованию декодирования видео осуществлять способ декодирования согласно примеру. Способ декодирования согласно примеру включает в себя прием потока битов, включающего в себя остаточную информацию; извлечение квантованных коэффициентов преобразования для текущего блока на основе остаточной информации, включенной в поток битов; извлечение коэффициентов преобразования для текущего блока из квантованных коэффициентов преобразования на основе процесса обратного квантования; извлечение остаточных выборок для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования; и формирование восстановленного кадра на основе остаточных выборок для текущего блока, при этом каждый из коэффициентов преобразования для текущего блока связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования определяется на основе префиксного кодового слова, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
[18] Согласно настоящему раскрытию, можно повысить общую эффективность сжатия изображений/видео.
[19] Согласно настоящему раскрытию, можно повысить эффективность остаточного кодирования.
[20] Согласно настоящему раскрытию, можно повысить эффективность кодирования на уровне коэффициентов преобразования.
[21] Согласно настоящему раскрытию, можно повысить эффективность остаточного кодирования посредством кодирования коэффициента преобразования на основе высокочастотного обнуления (или высокочастотного сведения к нулю).
[22] Согласно настоящему раскрытию, можно повысить эффективность кодирования изображений посредством кодирования информацию позиции последнего значимого коэффициента преобразования в текущем блоке (или текущем блоке преобразования) на основе высокочастотного обнуления.
[23] Согласно настоящему раскрытию, можно повысить эффективность кодирования изображений посредством извлечения максимальной длины кодового слова, представляющего последний значимый коэффициент преобразования, на основе размера области в текущем блоке, к которому не применяется высокочастотное обнуление, когда коэффициенты преобразования для текущего блока (или текущего блока преобразования) кодируются на основе высокочастотного обнуления.
[24] Согласно настоящему раскрытию, когда высокочастотное обнуление применяется посредством выполнения преобразования в двоичную форму для синтаксического элемента на основе размера области низкочастотного обнуления (или области, к которой высокочастотное обнуление не применяется), можно выполнять кодирование более эффективно и повысить пропускную способность CABAC посредством уменьшения числа контекстно-кодированных элементов разрешения.
Краткое описание чертежей
[25] Фиг. 1 схематично представляет пример системы кодирования видео/изображений, к которой может применяться настоящее раскрытие.
[26] Фиг. 2 является схемой, схематично описывающей конфигурацию оборудования кодирования видео/изображений, к которому может применяться настоящее раскрытие.
[27] Фиг. 3 является схемой, схематично описывающей конфигурацию оборудования декодирования видео/изображений, к которому может применяться настоящее раскрытие.
[28] Фиг. 4A и 4B являются чертежом для пояснения конфигурации и работы энтропийного кодера согласно примеру.
[29] Фиг. 5A и 5B являются чертежом для пояснения конфигурации и способа работы энтропийного декодера согласно примеру.
[30] Фиг. 6 является чертежом для пояснения высокочастотного обнуления согласно примеру.
[31] Фиг. 7 является блок-схемой последовательности операций способа, показывающей работу оборудования кодирования согласно примеру.
[32] Фиг. 8 является блок-схемой, показывающей конфигурацию оборудования кодирования согласно примеру.
[33] Фиг. 9 является блок-схемой последовательности операций способа, показывающей работу оборудования декодирования согласно примеру.
[34] Фиг. 10 является блок-схемой, показывающей конфигурацию оборудования декодирования согласно примеру.
[35] Фиг. 11 представляет пример системы потоковой передачи контента, к которой может применяться раскрытие настоящего документа.
Подробное описание вариантов осуществления
[36] Согласно примеру настоящего раскрытия, предусмотрен способ декодирования изображений, который осуществляется посредством оборудования декодирования. Способ включает в себя прием потока битов, включающего в себя остаточную информацию; извлечение квантованных коэффициентов преобразования для текущего блока на основе остаточной информации, включенной в поток битов; извлечение коэффициентов преобразования для текущего блока из квантованных коэффициентов преобразования на основе процесса обратного квантования; извлечение остаточных выборок для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования; и формирование восстановленного кадра на основе остаточных выборок для текущего блока, при этом каждый из коэффициентов преобразования для текущего блока связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования определяется на основе префиксного кодового слова, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
[37] Хотя настоящее раскрытие может подвергаться различным модификациям и включает в себя различные варианты осуществления, его конкретные варианты осуществления показаны на чертежах в качестве примера и подробно описываются ниже. Тем не менее, это не имеет намерение ограничивать настоящее раскрытие конкретными вариантами осуществления, раскрытыми в данном документе. Термины, используемые в данном документе, служат только для цели описания конкретных вариантов осуществления и не имеют намерение ограничивать техническую идею настоящего раскрытия. Формы единственного числа могут включать в себя формы множественного числа, если контекст явно не указывает иное. Такие термины, как "содержать", "включать в себя" и т.п., предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого не следует понимать, что заранее исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[38] Между тем, каждый компонент на чертежах, описанных в данном документе, проиллюстрирован независимо для удобства описания в отношении характеристических функций, отличающихся друг от друга, и тем не менее, не подразумевается то, что каждый компонент осуществляется посредством отдельных аппаратных средств или программного обеспечения. Например, любые два или более из этих компонентов могут комбинироваться, чтобы формировать один компонент, и любой один компонент может разделяться на несколько компонентов. Варианты осуществления, в которых компоненты комбинируются и/или разделяются, должны попадать в пределы объема патентного права настоящего раскрытия при условии, что они не отступают от сущности настоящего раскрытия.
[39] В дальнейшем в этом документе, подробнее поясняются предпочтительные варианты осуществления настоящего раскрытия со ссылкой на прилагаемые чертежи. В дальнейшем в этом документе, идентичные ссылки с номерами используются для идентичных компонентов на чертежах, и повторные описания для идентичных компонентов могут опускаться.
[40] Фиг. 1 схематично представляет пример системы кодирования видео/изображений, к которой может применяться настоящее раскрытие.
[41] Этот документ относится к кодированию видео/изображений. Например, способы/варианты осуществления, раскрытые в этом документе, могут применяться к способу, раскрытому в стандарте универсального кодирования видео (VVC), стандарте EVC (фундаментального кодирования видео), стандарте AOMedia Video 1 (AV1), стандарте второго поколения кодирования аудио/видео (AVS2) или стандарте кодирования видео/изображений следующего поколения (например, H.267 или H.268 и т.д.).
[42] Этот документ представляет различные варианты осуществления кодирования видео/изображений, и варианты осуществления могут выполняться в комбинации между собой, если не указано иное.
[43] В этом документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретной временной зоне, и срез/плитка (slice/tile) представляет собой единицу, составляющую часть кадра при кодировании. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток. Кирпич (brick) может представлять прямоугольную область строк CTU в плитке в кадре. Плитка может сегментироваться на несколько кирпичей, каждый из которых состоит из одной или более строк CTU в плитке. Плитка, которая не сегментируется на несколько кирпичей, также может называться "кирпичом". Кирпичное сканирование представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно в растровом сканировании CTU в кирпиче, кирпичи внутри плитки упорядочиваются последовательно в растровом сканировании кирпичей плитки, и плитки в кадре упорядочиваются последовательно в растровом сканировании плиток кадра. Плитка представляет собой прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Столбец плиток представляет собой прямоугольную область CTU, имеющих высоту, равную высоте кадра, и ширину, указываемую посредством синтаксических элементов в наборе параметров кадра. Строка плиток представляет собой прямоугольную область CTU, имеющих высоту, указываемую посредством синтаксических элементов в наборе параметров кадра, и ширину, равную ширине кадра. Сканирование плиток представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно в растровом сканировании CTU в плитке, тогда как плитки в кадре упорядочиваются последовательно в растровом сканировании плиток кадра. Срез включает в себя собой целое число кирпичей кадра, которые могут содержаться исключительно в одной NAL-единице. Срез может состоять либо из определенного числа полных плиток, либо только из жесткой последовательности полных кирпичей одной плитки. Группы плиток и срезы могут использоваться взаимозаменяемо в этом документе. Например, в этом документе, группа плиток/заголовок группы плиток может называться "срезом/заголовком среза".
[44] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, “дискретны отсчет” ("выборка") может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.
[45] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, cb, cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.
[46] В этом документе, термин "/" и "" должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".
[47] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в этом документе должен интерпретироваться как указывающий "дополнительно или альтернативно".
[48] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может доставлять кодированную информацию или данные видео/изображений в форме файла или потоковой передачи в приемное устройство через цифровой носитель хранения данных или сеть.
[49] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[50] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[51] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование (предсказание), преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[52] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.
[53] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.
[54] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[55] Фиг. 2 является схемой, схематично описывающей конфигурацию оборудования кодирования видео/изображений, к которому может применяться настоящее раскрытие. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.
[56] Ссылаясь на фиг. 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 в качестве внутреннего/внешнего компонента.
[57] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или картинку), вводимое в оборудование 200 кодирования, на один более блоков обработки. Например, блок обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно этому документу может выполняться на основе конечной единицы кодирования, которая более не сегментируется. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристикам изображений, или при необходимости, единица кодирования может рекурсивно сегментироваться на единицы кодирования большей глубины, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, блок обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[58] Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящих из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела, может представлять только пиксел/пиксельное значение компонента сигнала яркости либо представлять только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего одному кадру (или изображению) для пиксела или пела.
[59] В оборудовании 200 кодирования, прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, вычитается из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как показано, модуль для вычитания прогнозного сигнала (прогнозированного блока, массива прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200 может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование в отношении блока, который должен обрабатываться (в дальнейшем в этом документе, называемого "текущим блоком"), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[60] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством обращения к выборкам в текущем кадре. Выборки для обращения могут быть расположены в окружении текущего блока или могут быть расположены независимо согласно режиму прогнозирования. При внутреннем прогнозировании режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[61] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем изображении, и временной соседний блок, присутствующий в опорном изображении. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.
[62] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в этом документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.
[63] Прогнозный сигнал, сформированный посредством модуля прогнозирования (включающего в себя модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования), может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, сформированное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не к квадратным.
[64] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Информация относительно коэффициентов преобразования может формироваться. Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, экспоненциальный код Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для видео/восстановления изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений), может передаваться или сохраняться в единицах NAL (слоя абстрагирования от сети) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В этом документе, информация и/или синтаксические элементы, передаваемые/передаваемые в служебных сигналах из оборудования кодирования в оборудование декодирования, могут включаться в информацию видео/кадров. Информация видео/изображений может кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.
[65] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[66] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться во время кодирования и/или восстановления кадров.
[67] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.
[68] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием декодирования может исключаться, и эффективность кодирования может повышаться.
[69] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.
[70] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому может применяться вариант(ы) осуществления настоящего документа.
[71] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350, запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350 могут быть сконфигурированы посредством аппаратного компонента (например, набора микросхем или процессора декодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[72] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение, соответствующее процессу, в котором информация видео/изображений обрабатывается в оборудовании кодирования по фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с сегментацией на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием блока обработки, применяемого в оборудовании кодирования. Таким образом, блок обработки декодирования, например, может представлять собой единицу кодирования, и единица кодирования может сегментироваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[73] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в этом документе, могут декодироваться, может декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения (bin), соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного в предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в остаточный процессор 320. Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, либо приемник может представлять собой компонент энтропийного декодера 310. Между тем, оборудование декодирования согласно этому документу может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.
[74] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерной блочной формы. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[75] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[76] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[77] Модуль 320 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в этом документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.
[78] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены независимо согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[79] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем изображении, и временной соседний блок, присутствующий в опорном изображении. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[80] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 332 взаимного прогнозирования и/или модуль 331 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[81] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, может выводиться посредством фильтрации, как описано ниже, или может использоваться для взаимного прогнозирования следующего кадра.
[82] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в процессе декодирования кадров.
[83] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[84] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.
[85] В настоящем раскрытии варианты осуществления, описанные в фильтре 260, модуле 221 взаимного прогнозирования и модуле 222 внутреннего прогнозирования оборудования 200 кодирования могут быть идентичными надлежащим образом применяться, так что они соответствуют фильтру 350, модулю 332 взаимного прогнозирования и модулю 331 внутреннего прогнозирования оборудования 300 декодирования. То же также может применяться к модулю 332 и модулю 331 внутреннего прогнозирования.
[86] Как описано выше, прогнозирование выполняется для того, чтобы повышать эффективность сжатия при выполнении кодирования видео. За счет этого, может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой целевой блок кодирования. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок может идентично извлекаться в оборудовании кодирования и оборудовании декодирования, и оборудование кодирования может повышать эффективность кодирования изображений посредством передачи в служебных сигналах в оборудование декодирования не исходного выборочного значения самого исходного блока, а информации относительно остатка (остаточной информации) между исходным блоком и прогнозированным блоком. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, формировать восстановленный блок, включающий в себя восстановительные выборки, посредством суммирования остаточного блока с прогнозированным блоком и формировать восстановленный кадр, включающий в себя восстановленные блоки.
[87] Остаточная информация может формироваться через процедуры преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, извлекать коэффициенты преобразования посредством выполнения процедуры преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, и извлекать квантованные коэффициенты преобразования посредством выполнения процедуры квантования для коэффициентов преобразования, так что оно может передавать в служебных сигналах ассоциированную остаточную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений, информацию позиции, технологию преобразования, ядро преобразования, параметр квантования и т.п. квантованных коэффициентов преобразования. Оборудование декодирования может выполнять процедуру квантования/деквантования и извлекать остаточные выборки (или блок остаточных выборок), на основе остаточной информации. Оборудование декодирования может формировать восстановленный блок на основе прогнозированного блока и остаточного блока. Оборудование кодирования может извлекать остаточный блок посредством деквантования/обратного преобразования квантованных коэффициентов преобразования для ссылки для взаимного прогнозирования следующего кадра и может формировать восстановленный кадр на его основе.
[88] Фиг. 4A и 4B являются чертежом для пояснения конфигурации и работы энтропийного кодера согласно варианту осуществления.
[89] Ссылаясь на фиг. 4A и 4B, оборудование кодирования (энтропийный кодер) может выполнять процедуру остаточного кодирования для (квантованных) коэффициентов преобразования. Оборудование кодирования может выполнять остаточное кодирование для (квантованных) коэффициентов преобразования в текущем блоке (в текущем блоке кодирования (CB) или в текущем блоке преобразования (TB)) согласно порядку сканирования, как описано ниже на фиг. 6. Оборудование кодирования, например, может формировать и кодировать различные синтаксические элементы, связанные с остаточной информацией, как описано в нижеприведенной таблице 1. S400 и S410 могут быть включены в процедуру кодирования остаточной информации по фиг. 2.
[90] Табл. 1
[91] Оборудование кодирования может выполнять преобразование в двоичную форму для синтаксических элементов, связанных с остатком, включающих в себя last_sig_coeff_x_prefix и last_sig_coeff_y_prefix (S400); last_sig_coeff_x_prefix и last_sig_coeff_y_prefix могут извлекаться на основе позиции последнего значимого коэффициента в текущем блоке.
[92] last_sig_coeff_x_prefix и last_sig_coeff_y_prefix могут представлять пример информации префикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока. Более конкретно, last_sig_coeff_x_prefix может представлять пример информации префикса по оси X, которая представляет собой одно из информации префикса последнего значимого коэффициента, и last_sig_coeff_y_prefix может представлять пример информации префикса по оси Y, которая представляет собой одно из информации префикса последнего значимого коэффициента.
[93] В этом случае, нуль может использоваться в качестве значения cRiceParam. Оборудование кодирования может извлекать строку элементов разрешения для каждого из last_sig_coeff_x_prefix и last_sig_coeff_y_prefix через процедуру преобразования в двоичную форму. Процедура преобразования в двоичную форму может выполняться посредством модуля 242 преобразования в двоичную форму в энтропийном кодере 240.
[94] Согласно варианту осуществления, значение cMax для каждого из last_sig_coeff_x_prefix и last_sig_coeff_y_prefix может извлекаться на основе того, применяется или нет высокочастотное обнуление. Ниже на фиг. 6 описывается конкретное уравнение для извлечения cMax; cMax может представлять максимальную длину кодового слова (строки элементов разрешения), извлекаемого в процедуре преобразования в двоичную форму для last_sig_coeff_x_prefix или last_sig_coeff_y_prefix. При снижении значения cMax, может эффективно сокращаться длина кодового слова для last_sig_coeff_x_prefix или last_sig_coeff_y_prefix. Кроме того, поскольку кодированный элемент разрешения, уменьшенный посредством сокращения кодового слова, представляет собой контекстно-кодированный элемент разрешения, может обеспечиваться преимущество с точки зрения пропускной способности кодирования изображений.
[95] Между тем, преобразование в двоичную форму может продолжаться для остальных синтаксических элементов таблицы 1 согласно предварительно определенному способу. Например, преобразование в двоичную форму может выполняться для transform_skip_flag, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, coded_sub_block_flag, sig_coeff_flag, par_level_flag, rem_abs_gt1_flag, rem_abs_gt2_flag, coeff_sign_flag, mts_idx и т.п. согласно процессу преобразования в двоичную форму кодом фиксированной длины, и для abs_remainder может выполняться преобразование в двоичную форму, соответствующее ему.
[96] Оборудование кодирования может выполнять энтропийное кодирование в отношении синтаксических элементов, связанных с остаточным кодированием, включающих в себя last_sig_coeff_x_prefix и last_sig_coeff_y_prefix (S410). Оборудование кодирования может выполнять энтропийное кодирование на основе строки элементов разрешения для каждого из last_sig_coeff_x_prefix и last_sig_coeff_y_prefix. Оборудование кодирования может выполнять контекстное или обходное кодирование строки элементов разрешения на основе технологии энтропийного кодирования, такой как контекстно-адаптивное арифметическое кодирование (CABAC) или контекстно-адаптивное кодирование переменной длины (CAVLC), и его вывод может быть включен в поток битов. Процедура энтропийного кодирования может выполняться посредством процессора 244 энтропийного кодирования в энтропийном кодере 240. Поток битов может включать в себя различную информацию для декодирования изображений/видео, к примеру, информацию прогнозирования и т.п., за исключением остаточной информации, включающей в себя информацию относительно last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, как описано выше. Поток битов может передаваться в оборудование декодирования через (цифровой) носитель хранения данных или сеть.
[97] Фиг. 5A и 5B являются чертежом для пояснения конфигурации и способа работы энтропийного декодера согласно варианту осуществления.
[98] Ссылаясь на фиг. 5A и 5B, оборудование декодирования (энтропийный декодер) может извлекать (квантованные) коэффициенты преобразования посредством декодирования кодированной остаточной информации. Оборудование декодирования может извлекать (квантованные) коэффициенты преобразования посредством декодирования кодированной остаточной информации для текущего блока (текущего CB или текущего TB), как описано ниже на фиг. 6. Например, оборудование декодирования может декодировать различные синтаксические элементы, связанные с такой остаточной информацией, записанной в таблице 1, анализировать значения ассоциированных синтаксических элементов и извлекать (квантованные) коэффициенты преобразования на основе значения проанализированных синтаксических элементов. S500-S510 могут быть включены в процедуру, которая извлекает вышеописанные (квантованные) коэффициенты преобразования по фиг. 3.
[99] Оборудование декодирования может выполнять преобразование в двоичную форму в отношении синтаксических элементов, связанных с остатком, включающих в себя last_sig_coeff_x_prefix и last_sig_coeff_y_prefix (S500). В этом случае, нуль может использоваться в качестве значения cRiceParam. Оборудование кодирования может извлекать доступную строку элементов разрешения для каждого доступного значения last_sig_coeff_x_prefix и last_sig_coeff_y_prefix через процедуру преобразования в двоичную форму. Процедура преобразования в двоичную форму может выполняться посредством модуля 312 преобразования в двоичную форму в энтропийном декодере 310. Согласно варианту осуществления, значение cMax для каждого из last_sig_coeff_x_prefix и last_sig_coeff_y_prefix может извлекаться на основе того, применяется или нет высокочастотное обнуление. Ниже на фиг. 6 описывается конкретное уравнение для извлечения cMax.
[100] cMax может представлять максимальную длину кодового слова (строки элементов разрешения), извлекаемого в процедуре преобразования в двоичную форму для last_sig_coeff_x_prefix или last_sig_coeff_y_prefix. При снижении значения cMax, может эффективно сокращаться длина кодового слова для last_sig_coeff_x_prefix или last_sig_coeff_y_prefix. Кроме того, поскольку кодированный элемент разрешения, уменьшенный посредством сокращения кодового слова, представляет собой контекстно-кодированный элемент разрешения, может обеспечиваться преимущество с точки зрения пропускной способности кодирования изображений.
[101] Между тем, преобразование в двоичную форму может продолжаться для остальных синтаксических элементов таблицы 1 согласно предварительно определенному способу. Например, преобразование в двоичную форму может выполняться для transform_skip_flag, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, coded_sub_block_flag, sig_coeff_flag, par_level_flag, rem_abs_gt1_flag, rem_abs_gt2_flag, coeff_sign_flag, mts_idx и т.п. согласно процессу преобразования в двоичную форму кодом фиксированной длины, и для abs_remainder может выполняться преобразование в двоичную форму, соответствующее ему.
[102] Оборудование декодирования может выполнять энтропийное декодирование в отношении синтаксических элементов, связанных с остаточным кодированием, включающих в себя last_sig_coeff_x_prefix и last_sig_coeff_y_prefix (S510). Оборудование декодирования может сравнивать извлекаемую строку элементов разрешения с доступными строками элементов разрешения при синтаксическом анализе и декодировании последовательно каждого из элементов разрешения для last_sig_coeff_x_prefix. Когда извлеченная строка элементов разрешения является идентичной одной из доступных строк элементов разрешения, значение, соответствующее строке элементов разрешения, может извлекаться в качестве значения last_sig_coeff_x_prefix. Когда извлеченная строка элементов разрешения не является идентичной ни одной из доступных строк элементов разрешения, процедура сравнения может выполняться после дополнительного синтаксического анализа и декодирования следующего бита в потоке битов. Дополнительно, оборудование декодирования может сравнивать извлекаемую строку элементов разрешения с доступными строками элементов разрешения при синтаксическом анализе и декодировании последовательно каждого из элементов разрешения для last_sig_coeff_y_prefix. Когда извлеченная строка элементов разрешения является идентичной одной из доступных строк элементов разрешения, значение, соответствующее строке элементов разрешения, может извлекаться в качестве значения last_sig_coeff_y_prefix. Когда извлеченная строка элементов разрешения не является идентичной ни одной из доступных строк элементов разрешения, процедура сравнения может выполняться после дополнительного синтаксического анализа и декодирования следующего бита в потоке битов. Посредством этих процессов, без использования начального бита или конечного бита для конкретной информации (конкретного синтаксического элемента) в потоке битов, информация может передаваться в служебных сигналах с использованием бита переменной длины, в силу чего относительно меньший бит может назначаться низкому значению, за счет этого повышая общую эффективность кодирования.
[103] Оборудование декодирования может выполнять контекстное или обходное декодирование в отношении каждого из элементов разрешения в строке элементов разрешения из потока битов на основе технологии энтропийного кодирования, такой как CABAC, CAVLC и т.п. Процедура энтропийного декодирования может выполняться посредством процессора 314 энтропийного декодирования в энтропийном декодере 310. Оборудование декодирования может извлекать позицию последнего значимого коэффициента на основе значения last_sig_coeff_x_prefix и значения last_sig_coeff_y_prefix. Конкретное вычисление, например, может выполняться на основе нижеприведенной таблицы 2.
[104] Табл. 2
Позиция столбца последнего значимого коэффициента в порядке сканирования в блоке LastSignificantCoeffX преобразования извлекается следующим образом: //Если last_sig_coeff_x_suffix не присутствует, следующее применимо: LastSignificantCoeffX=last_sig_coeff_x_prefix // Иначе (last_sig_coeff_x_suffix присутствует), следующее применимо: LastSignificantCoeffX=(1<<((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefixand1))+last_sig_coeff_x_suffix // Позиция строки последнего значимого коэффициента в порядке сканирования в блоке преобразования LastSignificantCoeffY извлекается h следующим образом: // Если last_sig_coeff_y_suffix не присутствует, следующее применимо: LastSignificantCoeffY=last_sigcoeff_y_prefix // Иначе (last_sig_coeff_y_suffix присутствует), следующее применимо: LastSignificantCoeffY=(1<<((last_sig_coeff_y_prefix>>1)-))*(2+(last_sig_c-oeff_y_prefixand1))+last_sig_coeff_y_suffix |
[105] В таблице 2, LastSignificantCoeffX может представлять позицию по оси X последнего ненулевого значимого коэффициента в текущем блоке (преобразования), и LastSignificantCoeffY может представлять позицию по оси Y последнего ненулевого значимого коэффициента в текущем блоке (преобразования).
[106] Поток битов может включать в себя различную информацию для декодирования изображений/видео, к примеру, информацию прогнозирования и т.п., за исключением остаточной информации, включающей в себя информацию относительно last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, как описано выше. Как описано выше, поток битов может передаваться в оборудование декодирования через (цифровой) носитель хранения данных или сеть.
[107] Оборудование декодирования может извлекать остаточные выборки для текущего блока посредством выполнения процедуры деквантования и/или процедуры обратного преобразования на основе (квантованных) коэффициентов преобразования. Восстановленные выборки могут формироваться на основе остаточных выборок и прогнозных выборок, извлекаемых через взаимное/внутреннее прогнозирование, и может формироваться восстановленный кадр, включающий в себя восстановленные выборки.
[108] Фиг. 6 является чертежом для пояснения высокочастотного обнуления согласно примеру.
[109] В настоящем описании изобретения, "высокочастотное обнуление" означает процесс, посредством которого коэффициенты преобразования, связанные с частотой, равной или превышающей определенное значение в блоке (преобразования), имеющем первый размер W1 по ширине (или длину) и первый размер H1 по высоте (или длину), обнуляются (т.е. определяются в качестве нуля). Когда высокочастотное обнуление применяется, значения коэффициентов преобразования коэффициентов преобразования за пределами области низкочастотных коэффициентов преобразования, сконфигурированной на основе второго размера W2 по ширине и второго размера H2 по высоте из числа коэффициентов преобразования в блоке (преобразования), могут определяться (задаваться) в качестве нуля. Наружная часть по отношению к области низкочастотных коэффициентов преобразования может называться "областью высокочастотных коэффициентов преобразования". В примере, область низкочастотных коэффициентов преобразования может представлять собой область прямоугольной формы, расположенную с левого верхнего конца блока (преобразования).
[110] В настоящем описании изобретения конкретный термин или предложение используется для задания конкретной информации или понятия. Например, в настоящем описании изобретения, как описано выше, процесс, посредством которого обнуляются коэффициенты преобразования, связанные с частотой, равной или превышающей определенное значение в блоке (преобразования), имеющем первый размер W1 по ширине (или длину) и первый размер H1 по высоте (или длину), задается как "высокочастотное обнуление"; область, в которой обнуление выполнено через высокочастотное обнуление, задается как "область высокочастотных коэффициентов преобразования"; и область, для которой обнуление не выполняется, задается как "область низкочастотных коэффициентов преобразования". Чтобы представлять размер области низкочастотных коэффициентов преобразования, второй размер W2 по ширине (или длина) и второй размер H2 по высоте (или длина) используются.
[111] Тем не менее, термин "высокочастотное обнуление" может заменяться различными терминами, такими как высокочастотное обнуление, высокочастотное сведение к нулю, сведение к нулю и т.п.; термин "область высокочастотных коэффициентов преобразования" - различными терминами, такими как область применения высокочастотного обнуления, область высокочастотного обнуления, высокочастотная область, область высокочастотных коэффициентов, область высокочастотного сведения к нулю, область сведения к нулю и т.п.; и термин "область низкочастотных коэффициентов преобразования" - различными терминами, такими как область без применения высокочастотного обнуления, низкочастотная область, область низкочастотных коэффициентов, ограниченная область и т.п. Таким образом, в настоящем описании изобретения при интерпретации во всем подробном описании конкретного термина или предложения, используемого для определения конкретной информации или понятия, необходимо обращать внимание на различные операции, функции и преимущества согласно контенту, который должен представлять термин, и не ограничиваться его названием.
[112] В примере, может предлагаться способ для выполнения преобразования в двоичную форму синтаксических элементов, last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, для блока (преобразования) (TB, TU или CB), к которому применяется высокочастотное обнуление; last_sig_coeff_x_prefix и last_sig_coeff_y_prefix могут преобразовываться в двоичную форму с усеченным кодом Райса, и в это время, значение cRiceParam может использовать 0. Значение cMax, используемого в преобразовании в двоичную форму для усеченного кода Райса, может определяться на основе уравнения 1 при выполнении преобразования в двоичную форму last_sig_coeff_x_prefix и определяться на основе уравнения 2 при выполнении преобразования в двоичную форму last_sig_coeff_y_prefix.
[113] уравнение 1
[114] cMax=(log2W1<<1)-1
[115] уравнение 2
[116] cMax=(log2H1<<1)-1,
[117] где W1 может представлять длину по ширине (или ширину) блока (преобразования) и H1 может представлять длину по высоте (или высоту) блока (преобразования). Например, в случае блока преобразования 64×32, как показано на фиг. 6, W1 равно 64, и H1 равно 32. Следовательно, значение cMax для преобразования в двоичную форму last_sig_coeff_x_prefix может быть равно 11, и значение cMax для преобразования в двоичную форму last_sig_coeff_y_prefix может быть равно 9.
[118] Нижеприведенная таблица 3 представляет преобразование в двоичную форму, когда W1 или H1 равно 32, и нижеприведенная таблица 4 представляет кодовое слово преобразования в двоичную форму, когда W1 или H1 равно 64. В примере, преобразование в двоичную форму усеченным кодом Райса может выполняться на основе размера блока преобразования, и в силу этого, как указано в нижеприведенной таблице 4, кодовое слово last_sig_coeff_x_prefix или last_sig_coeff_y_prefix для кодирования для значения LastSignificantCoeffX или LastSignificantCoeffY, равного 32-47, может представлять собой "11111111110", и кодовое слово last_sig_coeff_x_prefix или last_sig_coeff_y_prefix для кодирования для значения LastSignificantCoeffX или LastSignificantCoeffY, равного 48-63, может представлять собой "11111111111". В обоих случаях, преобразование в двоичную форму может выполняться на основе 11 элементов разрешения. Кодовое слово может называться "строкой элементов разрешения".
[119] Табл. 3
[120] Табл. 4
[121] Как показано в вышеприведенной таблице 1, когда значение last_sig_coeff_x_prefix превышает 3, last_sig_coeff_x_suffix дополнительно может передаваться в служебных сигналах, и LastSignificantCoeffX может извлекаться на основе значения last_sig_coeff_x_suffix. Например, кодовое слово last_sig_coeff_x_prefix для кодирования для значения LastSignificantCoeffX, равного 32-47, может представлять собой "11111111110", и то, какое значение из 32-47 используется, может определяться на основе значения last_sig_coeff_x_suffix. Как показано в вышеприведенной таблице 1, когда значение last_sig_coeff_y_prefix превышает 3, last_sig_coeff_y_suffix дополнительно может передаваться в служебных сигналах, и LastSignificantCoeffY может извлекаться на основе значения last_sig_coeff_y_suffix. Например, кодовое слово last_sig_coeff_x_prefix для кодирования для значения LastSignificantCoeffY, равного 32-47, может представлять собой "11111111110", и то, какое значение из 32-47 используется, может определяться на основе значения last_sig_coeff_y_suffix.
[122] Конкретное вычисление для извлечения LastSignificantCoeffX или LastSignificantCoeffY может выполняться, например, следующим образом.
[123] Табл. 5
Позиция столбца последнего значимого коэффициента в порядке сканирования в блоке LastSignificantCoeffX преобразования извлекается следующим образом: // Если last_sig_coeff_x_suffix не присутствует, следующее применимо: LastSignificantCoeffX=last_sig_coeff_x_prefix//Иначе (last_sig_coeff_x_suffix присутствует), следующее применимо: LastSignificantCoeffX=(1<<((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefix&1))+last_sig_coeff_x_suffix // Позиция строки последнего значимого коэффициента в порядке сканирования в блоке преобразования LastSignificantCoeffY извлекается следующим образом: // Если last_sig_coeff_y_suffix не присутствует, следующее применимо: LastSignificantCoeffY=last_sigcoeff_y_prefix // Иначе (last_sig_coeff_y_suffix присутствует), следующее применимо: LastSignificantCoeffY=(1<<((last_sig_coeff_y_prefix>>1)-))*(2+(last_sig_c-oeff_y_prefix&1))+last_sig_coeff_y_suffix |
[124] Высокочастотное обнуление означает обнуление коэффициентов с частотой, превышающей определенное значение в блоке преобразования, имеющем первый размер W1 по ширине или первый размер H1 по высоте (т.е. определенном в качестве нуля), и ограничение остаточных коэффициентов преобразования вторым размером W2 по ширине или вторым размером H2 по высоте. В это время, в примере, может рассматриваться способ, в котором преобразование в двоичную форму выполняется на основе усеченного кода Райса на основе размера (второго размера по ширине или второго размера по высоте) ограниченной области, извлекаемой через высокочастотное обнуление, а не способ, в котором преобразование в двоичную форму выполняется на основе усеченного кода Райса на основе размера (первого размера по ширине или первого размера по высоте) блока преобразования. После задания cMax для last_sig_coeff_x_prefix и cMax для last_sig_coeff_y_prefix в качестве уравнений 3 и 4, соответственно, с использованием второго размера по ширине и второго размера по высоте, может формироваться усеченный код Райса.
[125] уравнение 3
[126] cMax=(log2(min(W1, W2))<<1)-1
[127] уравнение 4
[128] cMax=(log2(min(H1, H2))<<1)-1
[129] В примере, когда первый размер по ширине или первый размер по высоте равен 64, и второй размер по ширине или второй размер по высоте равен 32, усеченный код Райса, извлекаемый на основе уравнений 3 и 4, может быть таким, как указано в нижеприведенной таблице 6. Через высокочастотное обнуление, остаточный коэффициент преобразования исчезает из высокочастотных коэффициентов в области высокочастотных коэффициентов преобразования, сформированной за пределами второго размера по ширине или второго размера по высоте, так что можно проектировать кодовое слово преобразования в двоичную форму так, как указано в нижеприведенной таблице 6.
[130] В примере, W2 и H2 могут задаваться в качестве фиксированного значения. Альтернативно, W2 и H2 могут определяться на основе W1 и H1. Альтернативно, информация, указывающая W2 и H2, может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. В примере, W2 и H2 могут задаваться в качестве 32 или 16, соответственно. В другом примере, W2 и H2 могут извлекаться в качестве половины W1 и половины H1, соответственно. В еще одном другом примере, W2 и H2 могут извлекаться в качестве половины max(W1, H1). Тем не менее, они представляют собой примеры, и W2 и H2 могут определяться согласно различным другим способам, заданным в оборудовании кодирования и оборудовании декодирования. Через предложенный способ, можно эффективно уменьшать длину кодового слова для некоторых значений LastSignificantCoeffX или LastSignificantCoeffY. Дополнительно, поскольку кодированный элемент разрешения, уменьшенный за счет этого, представляет собой контекстно-кодированный элемент разрешения, может обеспечиваться преимущество с точки зрения пропускной способности.
[131] Табл. 6
[132] В примере, способ остаточного кодирования, описанный выше на фиг. 4A-5B, может осуществляться на основе примеров, описанных на фиг. 6. В другом примере, способ кодирования, который описывается ниже на фиг. 7, либо способ декодирования, который описывается ниже на фиг. 9, может осуществляться на основе примеров, описанных на фиг. 6.
[133] Фиг. 7 является блок-схемой последовательности операций способа, показывающей работу оборудования кодирования согласно примеру, и фиг. 8 является блок-схемой, показывающей конфигурацию оборудования кодирования согласно примеру.
[134] Оборудование кодирования согласно фиг. 7 и 8 может выполнять работу, соответствующую работе оборудования декодирования согласно фиг. 9 и 10. Следовательно, операции оборудования декодирования, которые описываются ниже на фиг. 9 и 10, вероятно, могут применяться к оборудованию кодирования согласно фиг. 7 и 8.
[135] Каждый из этапов, раскрытых на фиг. 7, может выполняться посредством оборудования 200 кодирования, раскрытого на фиг. 2. Более конкретно, S700 может выполняться посредством вычитателя 231, раскрытого на фиг. 2; S710 посредством преобразователя 232, раскрытого на фиг. 2; S720 посредством квантователя 233, раскрытого на фиг. 2; и S730 посредством энтропийного кодера 240, раскрытого на фиг. 2. Дополнительно, операции согласно S700-S730 основаны на части контента, описанного выше на фиг. 4-6. Следовательно, пояснение для конкретного контента, дублированного с контентом, описанным выше на фиг. 2 и 4-6, опускается или приводится кратко.
[136] Как показано на фиг. 8, оборудование кодирования согласно примеру может включать в себя вычитатель 231, преобразователь 232, квантователь 233 и энтропийный кодер 240. Тем не менее, согласно обстоятельствам, все компоненты, показанные на фиг. 8, могут не представлять собой существенные компоненты оборудования кодирования, и оборудование кодирования может осуществляться посредством большего или меньшего числа компонентов относительно числа компонентов, показанных на фиг. 8.
[137] В оборудовании кодирования согласно примеру, каждый из вычитателя 231, преобразователя 232, квантователя 233 и энтропийного кодера 240 может осуществляться посредством отдельной микросхемы, либо, по меньшей мере, два или более компонентов могут осуществляться через одну микросхему.
[138] Оборудование кодирования согласно примеру может извлекать остаточные выборки для текущего блока (S700). Более конкретно, вычитатель 231 оборудования кодирования может извлекать остаточные выборки для текущего блока.
[139] Оборудование кодирования согласно примеру может извлекать коэффициенты преобразования для текущего блока посредством преобразования остаточных выборок для текущего блока (S710). Более конкретно, преобразователь 232 оборудования кодирования может извлекать коэффициенты преобразования для текущего блока посредством преобразования остаточных выборок для текущего блока.
[140] Оборудование кодирования согласно примеру может извлекать квантованные коэффициенты преобразования из коэффициентов преобразования на основе процесса квантования (S720). Более конкретно, квантователь 233 оборудования кодирования может извлекать квантованные коэффициенты преобразования из коэффициентов преобразования на основе процесса квантования.
[141] Оборудование кодирования согласно примеру может кодировать остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования (S730). Более конкретно, кодер 240 оборудования кодирования может кодировать остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования.
[142] В примере, каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования.
[143] В примере, остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока.
[144] В примере, позиция последнего ненулевого коэффициента преобразования может быть основана на префиксном кодовом слове, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента.
[145] В примере, максимальная длина префиксного кодового слова может определяться на основе размера области низкочастотных коэффициентов преобразования.
[146] Согласно оборудованию кодирования и способу работы оборудования кодирования по фиг. 7 и 8, оборудование кодирования может извлекать остаточные выборки для текущего блока (S700), извлекать коэффициенты преобразования для текущего блока посредством преобразования остаточных выборок для текущего блока (S710), извлекать квантованные коэффициенты преобразования из коэффициентов преобразования на основе процесса квантования (S720) и кодировать остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования (S730), при этом каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования может быть основана на префиксном кодовом слове, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова может определяться на основе размера области низкочастотных коэффициентов преобразования. Таким образом, согласно настоящему раскрытию, когда высокочастотное обнуление применяется посредством выполнения преобразования в двоичную форму для синтаксического элемента на основе размера области высокочастотного обнуления (более корректно, области, к которой высокочастотное обнуление не применяется), можно выполнять кодирование более эффективно и повышать пропускную способность CABAC посредством уменьшения числа контекстно-кодированных элементов разрешения.
[147] Фиг. 9 является блок-схемой последовательности операций способа, показывающей работу оборудования декодирования согласно примеру, и фиг. 10 является блок-схемой, показывающей конфигурацию оборудования декодирования согласно примеру.
[148] Каждый из этапов, раскрытых на фиг. 9, может выполняться посредством оборудования 300 декодирования, раскрытого на фиг. 3. Более конкретно, S900 и S910 могут выполняться посредством энтропийного декодера 310, раскрытого на фиг. 3; S920 посредством деквантователя 321, раскрытого на фиг. 3; S930 посредством обратного преобразователя 322, раскрытого на фиг. 3; и S940 посредством сумматора 340, раскрытого на фиг. 3. Дополнительно, операции согласно S900-S940 основаны на части контента, описанного выше на фиг. 4-6. Следовательно, пояснение для конкретного контента, дублированного с контентом, описанным выше на фиг. 3-6, опускается или приводится кратко.
[149] Как показано на фиг. 10, оборудование декодирования согласно примеру может включать в себя энтропийный декодер 310, деквантователь 321, обратный преобразователь 322 и сумматор 340. Тем не менее, согласно обстоятельствам, все компоненты, показанные на фиг. 10, могут не представлять собой существенные компоненты оборудования декодирования, и оборудование декодирования может осуществляться посредством большего или меньшего числа компонентов относительно числа компонентов, показанных на фиг. 10.
[150] В оборудовании декодирования согласно примеру, каждый из энтропийного декодера 310, деквантователя 321, обратного преобразователя 322 и сумматора 340 может осуществляться посредством отдельной микросхемы, либо, по меньшей мере, два или более компонентов могут осуществляться через одну микросхему.
[151] Оборудование декодирования согласно примеру может принимать поток битов, включающий в себя остаточную информацию (S900). Более конкретно, энтропийный декодер 310 оборудования декодирования может принимать поток битов, включающий в себя остаточную информацию.
[152] Оборудование декодирования согласно примеру может извлекать квантованные коэффициенты преобразования для текущего блока на основе остаточной информации, включенной в поток битов (S910). Более конкретно, энтропийный декодер 310 оборудования декодирования может извлекать квантованный коэффициент преобразования для текущего блока на основе остаточной информации, включенной в поток битов.
[153] Оборудование декодирования согласно примеру может извлекать коэффициенты преобразования из квантованных коэффициентов преобразования на основе процесса деквантования (S920). Более конкретно, деквантователь 321 оборудования декодирования может извлекать коэффициенты преобразования из квантованных коэффициентов преобразования на основе процесса деквантования.
[154] Оборудование декодирования согласно примеру может извлекать остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования (S920). Более конкретно, обратный преобразователь 322 оборудования декодирования может извлекать остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования.
[155] Оборудование декодирования согласно примеру может формировать восстановленный кадр на основе остаточной выборки для текущего блока (S940). Более конкретно, сумматор 340 оборудования декодирования может формировать восстановленный кадр на основе остаточной выборки для текущего блока.
[156] В примере, единица текущего блока может представлять собой блок TB преобразования.
[157] В примере, каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования.
[158] В примере, остаточная информация может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока.
[159] В примере, позиция последнего ненулевого коэффициента преобразования может определяться на основе префиксного кодового слова, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента.
[160] В примере, максимальная длина префиксного кодового слова может определяться на основе размера области низкочастотных коэффициентов преобразования. Максимальная длина префиксного кодового слова может выражаться как cMax.
[161] В примере, размер области низкочастотных коэффициентов преобразования может определяться на основе ширины и высоты области низкочастотных коэффициентов преобразования.
[162] В примере, информация префикса последнего значимого коэффициента может включать в себя информацию префикса по оси X и информацию префикса по оси Y, и префиксное кодовое слово может представлять собой кодовое слово для информации префикса по оси X либо кодовое слово для информации префикса по оси Y.
[163] В примере, информация префикса по оси X может выражаться как last_sig_coeff_x_prefix; информация префикса по оси Y может выражаться как last_sig_coeff_y_prefix; и позиция последнего ненулевого коэффициента преобразования может выражаться как (LastSignificantCoeffX, LastSignificantCoeffY).
[164] В примере, максимальная длина кодового слова, которое указывает информацию префикса по оси X, может определяться как равная 9 на основе определения того, что ширина области низкочастотных коэффициентов преобразования равна 32.
[165] В примере, максимальная длина кодового слова, которое указывает информацию префикса по оси Y, может определяться как равная 9 на основе определения того, что высота области низкочастотных коэффициентов преобразования равна 32.
[166] В примере, максимальное преобразованное в двоичную форму значение кодового слова для информации префикса по оси X может определяться как составляющее 111111111 на основе определения того, что ширина текущего блока превышает 32, и того, что ширина области низкочастотных коэффициентов преобразования равна 32.
[167] В примере, максимальное преобразованное в двоичную форму значение кодового слова для информации префикса по оси Y может определяться как составляющее 111111111 на основе определения того, что высота текущего блока превышает 32, и того, что высота области низкочастотных коэффициентов преобразования равна 32.
[168] В примере, максимальная длина кодового слова для информации префикса по оси X может определяться на основе нижеприведенного уравнения 5.
[169] уравнение 5
[170] cMaxx=(log2(min(W1, W2))<<1)-1
[171] В уравнении 5, cMaxx может быть максимальной длиной кодового слова для информации префикса по оси X; W1 может быть шириной текущего блока; и W2 может быть шириной области низкочастотных коэффициентов преобразования.
[172] В примере, ширина области низкочастотных коэффициентов преобразования может быть равна 32, и максимальная длина кодового слова для информации префикса по оси X может определяться на основе нижеприведенного уравнения 6.
[173] уравнение 6
[174] cMaxx=(min(log2W1, 5))<<1)-1
[175] В уравнении 6, cMaxx может быть максимальной длиной кодового слова для информации префикса по оси X, и W1 может быть шириной текущего блока.
[176] В примере, максимальная длина кодового слова для информации префикса по оси Y может определяться на основе нижеприведенного уравнения 7.
[177] уравнение 7
[178] cMaxy=(log2(min(H1, H2))<<1)-1
[179] В уравнении 7, cMaxy может быть максимальной длиной кодового слова для информации префикса по оси Y; H1 может быть высотой текущего блока; и H2 может быть высотой области низкочастотных коэффициентов преобразования.
[180] В примере, высота области низкочастотных коэффициентов преобразования может быть равна 32, и максимальная длина кодового слова для информации префикса по оси Y может определяться на основе нижеприведенного уравнения 8.
[181] уравнение 8
[182] cMaxy=(min(log2H1, 5))<<1)-1
[183] В уравнении 8, cMaxy может быть максимальной длиной кодового слова для информации префикса по оси X, и H1 может быть высотой текущего блока.
[184] В примере, префиксное кодовое слово может представлять собой усеченный код Райса на основе процесса преобразования в двоичную форму усеченным кодом Райса.
[185] В примере, текущий блок может представлять собой квадратный блок или неквадратный блок. Ширина области низкочастотных коэффициентов преобразования может определяться как равная 32 на основе определения того, что ширина текущего блока равна 64, и высота области низкочастотных коэффициентов преобразования может определяться как равная 32 на основе определения того, что высота текущего блока равна 64.
[186] В примере, размер области низкочастотных коэффициентов преобразования может представлять собой одно из 32×16, 16×32, 16×16 или 32×32.
[187] В примере, размер области низкочастотных коэффициентов преобразования может определяться на основе размера текущего блока.
[188] В примере, остаточная информация может включать в себя информацию относительно размера области низкочастотных коэффициентов преобразования.
[189] В примере, размер текущего блока может составлять 64×64; размер области низкочастотных коэффициентов преобразования может составлять 32×32; и максимальная длина префиксного кодового слова может составлять 9.
[190] Согласно оборудованию декодирования и способу работы оборудования декодирования по фиг. 9 и 10, оборудование декодирования может принимать поток битов, включающий в себя остаточную информацию (S900), извлекать квантованные коэффициенты преобразования для текущего блока на основе остаточной информации, включенной в поток битов (S910), извлекать коэффициенты преобразования из квантованных коэффициентов преобразования на основе процесса деквантования (S920) и извлекать остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования (S930), и формировать восстановленный кадр на основе остаточных выборок для текущего блока (S940), при этом каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, состоящей из коэффициента преобразования 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, остаточная информация может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока, позиция последнего ненулевого коэффициента преобразования может определяться на основе префиксного кодового слова, которое представляет информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова может определяться на основе размера области низкочастотных коэффициентов преобразования. Таким образом, согласно настоящему раскрытию, когда высокочастотное обнуление применяется посредством выполнения преобразования в двоичную форму для синтаксического элемента на основе размера области высокочастотного обнуления (более корректно, области, к которой высокочастотное обнуление не применяется), можно выполнять кодирование более эффективно и повышать пропускную способность CABAC посредством уменьшения числа контекстно-кодированных элементов разрешения.
[191] В примере, процесс остаточного кодирования, описанный выше на фиг. 4-10, может быть основан на содержании нижеприведенного подробного описания на английском языке.
[192] РЕФЕРАТ
[193] В этом предложении, преобразование в двоичную форму позиции последнего значимого коэффициента модифицируется, чтобы сокращать максимальное число контекстно-кодированных элементов разрешения. В частности, число контекстно-кодированных элементов разрешения для большого блока (т.е. 64×64, 64xN, Nx64) в сценарии по принципу наихудшего случая уменьшается с 11 до 9. Экспериментальные результаты показывают 0,01%-е, 0%-е и -0,02%-е уменьшения BD-коэффициента для компонентов Y, Cb и Cr, соответственно, по сравнению с VTM3.0 в полностью внутренней конфигурации, и 0,01%-е, -0,01%- и -0,01%-е уменьшения BD-коэффициента в конфигурации произвольного доступа.
[194] 1. Введение
[195] Известно, что большая сегментация на блоки, типично представляет меньше остатков, и энергия является более сконцентрированной в низкочастотных коэффициентах в области преобразования. В VTM3.0 [1], высокочастотные коэффициенты преобразования сводятся к нулю для блоков преобразования с размером (шириной или высотой либо как шириной, так и высотой), равным 64. Таким образом, для блока WxH преобразования, где W указывает ширину блока, а H указывает высоту блока, только левые верхние (W==64?32:W)x(H==64?32:H) коэффициентов преобразования сохраняются.
[196] В [1], префикс last_sig_coeff_x_prefix и last_sig_coeff_y_prefix контекстно кодируется с использованием преобразования в двоичную форму усеченным кодом Райса с cMax=(log2TbSize<<1)-1. Здесь, если синтаксический элемент, который должен синтаксически анализироваться, представляет собой last_sig_coeff_x_prefix, log2TbSize задается равным log2TbWidth и иначе, log2TbSize задается равным log2TbHeight. Таким образом, максимальная возможная абсолютная величина определяется посредством ширины или высоты блока преобразования. В сценарии по принципу наихудшего случая, число элементов разрешения, которые используют контекстное моделирование, равно 11. Таблица 7 показывает преобразование в двоичную форму для W=64 или H=64 в VTM3.0, при этом X означает 0 или 1.
[197] Табл. 7
[198] 2. Предлагаемый способ
[199] Эта работа предлагается в дополнение к JVET-M0250 [2]. В предложенном способе, проверяется то, принадлежит или нет текущая группа коэффициентов области высокочастотного обнуления. При использовании этой информации, может пропускаться необязательное кодирование на основе coded_sub_block_flag (CSBF) для области высокочастотного обнуления.
[200] В одном варианте осуществления, может предлагаться способ CSBF-кодирования с учетом области высокочастотного обнуления. Если первое условие для последней или первой группы коэффициентов удовлетворяется, значение CSBF может логически выводиться как равное 1. Если первое условие для последней или первой группы коэффициентов не удовлетворяется, второе условие для области высокочастотного обнуления проверяется. Если второе условие для области высокочастотного обнуления удовлетворяется, CSBF-кодирование не выполняется. Если второе условие для высокочастотного обнуления не удовлетворяется, индекс контекста извлекается, и CSBF-кодирование выполняется.
[201] Схема кодирования по последней позиции предлагается для преобразования с большими размерами блоков. По сравнению с VTM3.0, предложенная схема кодирования использует меньшее число контекстно-кодированных элементов разрешения в сценарии по принципу наихудшего случая. Кодовое слово в предложенной схеме по-прежнему начинается с усеченного кода Райса, и далее следует код фиксированной длины. После высокочастотного обнуления, для блока преобразования WxH, сохраняются только левые верхние min(W, 32)xmin(H, 32) коэффициентов преобразования. Таким образом, максимальная возможная длина кодовых слов префикса last_sig_coeff_x_prefix или last_sig_coeff_y_prefix извлекается в качестве:
[202] cMax=(min(log2TbSize, 5)<<1)-1.
[203] Таблица 8 показывает преобразование в двоичную форму для W=64 или H=64, при этом X означает 0 или 1. Здесь, различные части подчеркиваются.
[204] Табл. 8
[205] Табл. 9
[206] Таблица 9 показывает сравнение длины кодовых слов для префикса (контекстно-кодированных элементов разрешения), когда W=64 или H=64 и VTM3.0. Контекстно-кодированные элементы разрешения могут присутствовать в числе до 9 в предложенном способе, тогда как предусмотрено вплоть до 11 элементов разрешения в VTM3.0. Следует отметить, что когда абсолютная величина компонента последней позиции составляет в диапазоне 24-31, число контекстно-кодированных элементов разрешения уменьшается с 10 до 9.
[207] 3. Экспериментальные результаты
[208] Предложенный способ реализован в программном обеспечении VTM3.0. Моделирования выполнены согласно общим тестовым условиям, заданным в JVET-L1010 [3]. В каждом случае, привязка представляет собой программное обеспечение VTM3.0. Время кодирования и время декодирования исходят из результатов перекрестной проверки [4]. Таблица 10 показывает экспериментальные результаты для тестового условия для полностью внутреннего (AI) режима; привязка представляет собой VTM3.0.
[209] Табл. 10
Полностью внутренний режим, профиль Main10 | |||||
На базе VTM3.0 | |||||
Y | U | V | EncT | DecT | |
Класс A1 | 0,03% | -0,07% | 0,03% | 100% | 101% |
Класс A2 | 0,02% | 0,00% | -0,03% | 100% | 100% |
Класс B | 0,01% | 0,05% | -0,02% | 100% | 102% |
Класс C | 0,00% | 0,01% | -0,03% | 100% | 101% |
Класс E | 0,02% | -0,02% | -0,03% | 100% | 99% |
Всего | 0,01% | 0,00% | -0,02% | 100% | 101% |
Класс D | 0,00% | 0,01% | -0,01% | 100% | 100% |
Класс F | -0,01% | 0,03% | 0,02% | 100% | 99% |
[210] Таблица 11 показывает экспериментальные результаты для тестового условия для режима произвольного доступа (RA); привязка представляет собой VTM3.0.
[211] Табл. 11
Режим произвольного доступа, профиль Main10 | |||||
На базе VTM3.0 | |||||
Y | U | V | EncT | DecT | |
Класс A1 | 0,05% | -0,09% | 0,00% | ||
Класс A2 | 0,01% | 0,07% | 0,03% | ||
Класс B | -0,01% | -0,02% | -0,04% | 100% | 100% |
Класс C | 0,00% | 0,02% | -0,01% | 99% | 100% |
Класс E | |||||
Всего | 0,01% | -0,01% | -0,01% | ||
Класс D | 0,00% | 0,03% | 0,06% | 100% | 100% |
Класс F | -0,01% | -0,03% | -0,07% | 100% | 99% |
[212] 4. Ссылочные материалы
[213] [1] B. Bross и др. "Versatile Video Coding (Draft 3)", Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11 JVET-L1001, 12-я конференция, Макао, Китай, 3-12 октября 2018 года.
[214] [2] J. Choi и др. "Non-CE7: Simplified CSBF coding for large block-size transforms", Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11 JVET-M0250, 13-я конференция, Марракеш, Марокко, 9-18 января 2019 года.
[215] [3] F. Bossen и др. "JVET common test conditions and software reference configurations for SDR video" Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11 JVET-L1010, 12-я конференция, Макао, Китай, 3-12 октября 2018 года.
[216] [4] H. Schwarz "Crosscheck of JVET-M0251 (Non-CE7: Last position coding for large block-size transforms)", Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11 JVET-M0646, 13-я конференция, Марракеш, Марокко, 9-18 января 2019 года.
[217] 5. Заявление о патентных правах
[218] Компания LG Electronics Inc. может иметь текущие или находящиеся на рассмотрении патентные права, связанные с технологией, описанной в этой работе, и в соответствии с принципом взаимности, готова к выдаче лицензий согласно обоснованным и недискриминационным условиям при необходимости для реализации результирующей рекомендации ITU-T/Международного стандарта ISO/IEC (согласно разделу 2 заявления на патент ITU-T/ITU-R/ISO/IEC и форме лицензионной декларации).
[219] 6. Спецификация
[220] Табл. 12
[221] last_sig_coeff_x_prefix указывает префикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_x_prefix должны составлять в диапазоне от 0 до (Min(log2TbWidth, 5)<<1)-1, включительно.
[222] last_sig_coeff_y_prefix указывает префикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_y_prefix должны составлять в диапазоне от 0 до (Min(log2TbHeight, 5)<<1)-1, включительно.
[223] Нижеприведенная таблица 13 показывает синтаксические элементы и ассоциированные преобразования в двоичную форму.
[224] Табл. 13
[225]
[226]
[227]
[228]
[229] В вышеописанном примере, способы поясняются на основе блок-схемы последовательности операций способа посредством последовательности этапов или блоков, но настоящее раскрытие не ограничено порядком этапов, и определенный этап может возникать в другом порядке или одновременно с этапами, отличающимися от этапов, описанных выше. Дополнительно, специалистам в данной области техники очевидно, что этапы, показанные на блок-схеме последовательности операций способа, не являются единственно возможными, и что другой этап может быть включен, либо один или более этапов блок-схемы последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия.
[230] Вышеприведенные способы согласно раскрытию могут реализовываться как программная форма, и оборудование кодирования и/или оборудование декодирования согласно раскрытию могут включаться в оборудование для выполнения обработки изображений, например, телевизора, компьютера, смартфона, абонентской приставки и устройства отображения.
[231] В раскрытии, когда примеры осуществляются посредством программного обеспечения, вышеприведенные способы могут осуществляться с помощью модулей (процесса, функция и т.п.) для выполнения вышеописанных функций. Модули могут сохраняться в запоминающем устройстве и могут выполняться посредством процессора. Запоминающее устройство может находиться внутри или снаружи процессора и может соединяться с процессором через известные различные средства. Процессор может включать в себя специализированную интегральную схему (ASIC), различный набор микросхем, логическую схему и/или процессор данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Таким образом, примеры, описанные в настоящем раскрытии, могут осуществляться и выполняться в процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут осуществляться и выполняться в процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация или алгоритм для осуществления (например, информация относительно инструкции) могут сохраняться на цифровом носителе хранения данных.
[232] Дополнительно, оборудование декодирования и оборудование кодирования, к которым применяется настоящее раскрытие, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), видеоустройство поверх сетей (OTT), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, устройство в стиле виртуальной реальности, устройство в стиле дополненной реальности (расширенной реальности), видеоустройство системы видеотелефонии, терминал в средстве транспортировки (например, терминал в транспортном средстве (в том числе в автономном транспортном средстве), терминал в воздушном судне, терминал в морском судне и т.д.) и медицинское видеоустройство и могут использоваться для того, чтобы обрабатывать видеосигнал или сигнал данных. Например, видеоустройство поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[233] Помимо этого, способ обработки, к которому применяется настоящее раскрытие, может формироваться в форме программы, выполняемой посредством компьютера, и сохраняться на машиночитаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию, также могут сохраняться на машиночитаемом носителе записи. Машиночитаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются машиночитаемые данные. Машиночитаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Дополнительно, машиночитаемый носитель записи также включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на машиночитаемом носителе записи или передаваться через сеть проводной или беспроводной связи.
[234] Дополнительно, примеры настоящего раскрытия могут осуществляться в качестве компьютерного программного продукта посредством программных кодов, и программные коды могут выполняться в компьютере посредством примеров настоящего раскрытия. Программные коды могут сохраняться на машиночитаемом носителе; этапы, отличающиеся от этапов, описанных выше. Дополнительно, специалистам в данной области техники очевидно, что этапы, показанные на блок-схеме последовательности операций способа, не являются единственно возможными, и что:
[235] Фиг. 11 представляет пример системы потоковой передачи контента, к которой может применяться раскрытие настоящего документа.
[236] Ссылаясь на фиг. 11, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[237] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов и передавать поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[238] Поток битов может формироваться посредством способа кодирования или способа формирования потока битов, к которому применяется вариант(ы) осуществления настоящего документа, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[239] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер доставляет ее на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[240] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[241] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п. Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут быть распределены.
[242] Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут распределенно обрабатываться.
1. Способ декодирования изображений, выполняемый посредством оборудования декодирования, при этом способ содержит этапы, на которых:
принимают поток битов, включающий в себя остаточную информацию;
получают коэффициенты преобразования для текущего блока на основе остаточной информации;
получают остаточные дискретные отсчеты для текущего блока посредством применения обратного преобразования к полученным коэффициентам преобразования; и
формируют восстановленный кадр на основе остаточных дискретных отсчетов для текущего блока, при этом
текущий блок включает в себя область низкочастотных коэффициентов преобразования, включающую в себя по меньшей мере один значимый коэффициент преобразования, и область, отличную от области низкочастотных коэффициентов преобразования, включающую в себя нулевой коэффициент преобразования,
остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока,
позиция последнего ненулевого коэффициента преобразования определяется на основе префиксного кодового слова и информации суффикса последнего значимого коэффициента, причем префиксное кодовое слово связано с информацией префикса последнего значимого коэффициента, и
максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
2. Способ декодирования изображений по п.1, в котором размер области низкочастотных коэффициентов преобразования определяется на основе ширины и высоты области низкочастотных коэффициентов преобразования, и информация префикса последнего значимого коэффициента включает в себя информацию префикса по оси X и информацию префикса по оси Y, и префиксное кодовое слово представляет собой кодовое слово для информации префикса по оси X либо кодовое слово для информации префикса по оси Y.
3. Способ декодирования изображений по п.2, в котором максимальная длина кодового слова, которое указывает информацию префикса по оси X, определяется как равная 9 на основе ширины области низкочастотных коэффициентов преобразования, равной 32, и максимальная длина кодового слова, которое указывает информацию префикса по оси Y, определяется как равная 9 на основе высоты области низкочастотных коэффициентов преобразования, равной 32.
4. Способ декодирования изображений по п.3, в котором максимальное преобразованное в двоичную форму значение кодового слова для информации префикса по оси X определяется как составляющее 111111111 на основе ширины текущего блока, превышающей 32, и ширины области низкочастотных коэффициентов преобразования, равной 32, и максимальное преобразованное в двоичную форму значение кодового слова для информации префикса по оси Y определяется как составляющее 111111111 на основе высоты текущего блока, превышающей 32, и высоты области низкочастотных коэффициентов преобразования, равной 32.
5. Способ декодирования изображений по п.2, в котором максимальная длина кодового слова для информации префикса по оси X определяется на основе cMaxx, при этом cMaxx вычисляется на основе следующего уравнения:
cMaxx=(log2(min(W1, W2))<<1)-1,
где cMaxx равно максимальной длине кодового слова для информации префикса по оси X, W1 является шириной текущего блока, и W2 является шириной области низкочастотных коэффициентов преобразования.
6. Способ декодирования изображений по п.5, в котором ширина области низкочастотных коэффициентов преобразования равна 32, и максимальная длина кодового слова для информации префикса по оси X определяется на основе cMaxx, при этом cMaxx вычисляется на основе следующего уравнения:
cMaxx=(min(log2W1, 5))<<1)-1,
где cMaxx равно максимальной длине кодового слова для информации префикса по оси X, и W1 является шириной текущего блока.
7. Способ декодирования изображений по п.2, в котором максимальная длина кодового слова для информации префикса по оси Y определяется на основе cMaxy, при этом cMaxy вычисляется на основе следующего уравнения:
cMaxy=(log2(min(H1, H2))<<1)-1,
где cMaxy равно максимальной длине кодового слова для информации префикса по оси Y, H1 является высотой текущего блока, и H2 является высотой области низкочастотных коэффициентов преобразования.
8. Способ декодирования изображений по п.7, в котором высота области низкочастотных коэффициентов преобразования равна 32, и максимальная длина кодового слова для информации префикса по оси Y определяется на основе Maxy, при этом cMaxy вычисляется на основе следующего уравнения:
cMaxy=(min(log2H1, 5))<<1)-1,
где cMaxy равно максимальной длине кодового слова для информации префикса по оси Y, и H1 является высотой текущего блока.
9. Способ декодирования изображений по п.1, в котором
текущий блок представляет собой квадратный блок или неквадратный блок,
ширина области низкочастотных коэффициентов преобразования определяется как равная 32 на основе ширины текущего блока, равной 64, и
высота области низкочастотных коэффициентов преобразования определяется как равная 32 на основе высоты текущего блока, равной 64.
10. Способ декодирования изображений по п.1, в котором размер области низкочастотных коэффициентов преобразования представляет собой одно из 32˟16, 16˟32, 16˟16 и 32˟32.
11. Способ декодирования изображений по п.1, в котором размер области низкочастотных коэффициентов преобразования определяется на основе размера текущего блока.
12. Способ декодирования изображений по п.1, в котором остаточная информация включает в себя информацию касаемо размера области низкочастотных коэффициентов преобразования.
13. Способ декодирования изображений по п.1, в котором размер текущего блока составляет 64˟64, размер области низкочастотных коэффициентов преобразования составляет 32˟32, и максимальная длина префиксного кодового слова составляет 9.
14. Способ кодирования изображений, выполняемый посредством оборудования кодирования, при этом способ содержит этапы, на которых:
получают остаточные дискретные отсчеты для текущего блока;
получают коэффициенты преобразования для текущего блока на основе остаточных дискретных отсчетов для текущего блока; и
кодируют остаточную информацию, связанную с коэффициентами преобразования, при этом
текущий блок включает в себя область низкочастотных коэффициентов преобразования, включающую в себя по меньшей мере один значимый коэффициент преобразования, и область, отличную от области низкочастотных коэффициентов преобразования, включающую в себя нулевой коэффициент преобразования,
остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока,
позиция последнего ненулевого коэффициента преобразования основывается на префиксном кодовом слове и информации суффикса последнего значимого коэффициента, причем префиксное кодовое слово связано с информацией префикса последнего значимого коэффициента, и
максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
15. Энергонезависимый машиночитаемый носитель данных, на котором сохранены инструкции, которые при их исполнении вычислительным устройством предписывают вычислительному устройству осуществлять способ формирования потока битов, при этом способ содержит:
получение остаточных дискретных отсчетов для текущего блока;
получение коэффициентов преобразования для текущего блока на основе остаточных дискретных отсчетов для текущего блока;
кодирование остаточной информации, связанной с коэффициентами преобразования, чтобы сформировать поток битов, при этом
текущий блок включает в себя область низкочастотных коэффициентов преобразования, включающую в себя по меньшей мере один значимый коэффициент преобразования, и область, отличную от области низкочастотных коэффициентов преобразования, включающую в себя нулевой коэффициент преобразования,
остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока,
позиция последнего ненулевого коэффициента преобразования основывается на префиксном кодовом слове и информации суффикса последнего значимого коэффициента, причем префиксное кодовое слово связано с информацией префикса последнего значимого коэффициента, и
максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.
16. Способ передачи данных для информации изображения, содержащий этапы, на которых:
получают поток битов информации изображения, включающий в себя остаточную информацию, при этом остаточная информация сформирована посредством получения остаточных дискретных отсчетов для текущего блока, получения коэффициентов преобразования для текущего блока на основе остаточных дискретных отсчетов для текущего блока и кодирования остаточной информации, связанной с коэффициентами преобразования, чтобы сформировать поток битов; и
передают данные, содержащие поток битов информации изображения, включающий в себя остаточную информацию, при этом
текущий блок включает в себя область низкочастотных коэффициентов преобразования, включающую в себя по меньшей мере один значимый коэффициент преобразования, и область, отличную от области низкочастотных коэффициентов преобразования, включающую в себя нулевой коэффициент преобразования,
остаточная информация включает в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента касаемо позиции последнего ненулевого коэффициента преобразования из числа коэффициентов преобразования для текущего блока,
позиция последнего ненулевого коэффициента преобразования основывается на префиксном кодовом слове и информации суффикса последнего значимого коэффициента, причем префиксное кодовое слово связано с информацией префикса последнего значимого коэффициента, и
максимальная длина префиксного кодового слова определяется на основе размера области низкочастотных коэффициентов преобразования.